2026-02-20T18:36:26.348161+0000 | INFO | __main__:main:8 - Starting OpenAI proxy at 0.0.0.0:8084 2026-02-20T18:36:26.357806+0000 | INFO | uvicorn.server:_serve:84 - Started server process [1] 2026-02-20T18:36:26.357988+0000 | INFO | uvicorn.lifespan.on:startup:48 - Waiting for application startup. 2026-02-20T18:36:26.358197+0000 | INFO | uvicorn.lifespan.on:startup:62 - Application startup complete. 2026-02-20T18:36:26.358487+0000 | INFO | uvicorn.server:_log_started_message:216 - Uvicorn running on http://0.0.0.0:8084 (Press CTRL+C to quit) 2026-02-20T18:36:33.612138+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:33.612450+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:34.056083+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40576 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:35.307553+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:35.307889+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:35.307988+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:35.938072+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40578 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:36.759513+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:36.759827+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:36.759930+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:37.267680+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40584 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:40.685833+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:40.686146+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:40.686236+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=11 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:41.133500+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40590 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:42.293190+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:42.293605+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:42.293699+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:42.746398+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40602 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:43.690200+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:43.690584+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:43.690693+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=16 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:44.127702+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54584 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:45.484992+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:45.485291+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:45.485386+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=18 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:45.973036+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54596 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:47.000122+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:47.000501+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:47.000617+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=20 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:47.432379+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54612 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:48.392614+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:48.393081+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:48.393207+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=22 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:48.804528+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54622 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:49.983756+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:49.984040+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:49.984173+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=24 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:50.404758+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54624 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:51.286929+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:51.287322+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:51.287432+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=26 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:51.732090+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:54638 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:52.685410+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:52.685950+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:52.686116+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=28 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:53.117015+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49270 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:36:54.090476+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:36:54.090933+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:36:54.091074+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=30 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:36:54.536925+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49274 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:37:15.594715+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:37:15.595465+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:37:15.595602+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=34 after=31 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=message,role=user,content=list)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:37:16.182535+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:39150 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:37:17.900379+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:37:17.900921+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:37:17.901070+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=36 after=33 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=message,role=user,content=list)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:37:18.417862+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:39160 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:25.190472+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:25.190916+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:25.705647+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:47686 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:26.989143+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:26.989419+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:26.989515+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:27.485179+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:47698 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:28.235587+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:28.235852+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:28.235935+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:28.621538+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:47712 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:29.789321+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:29.789625+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:29.789729+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=12 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:30.204559+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:47718 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:30.989163+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:30.989490+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:30.989597+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:31.443835+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:47732 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:33.345332+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:33.345674+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:33.345780+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=17 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:33.817145+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59496 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:34.696007+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:34.696472+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:34.696610+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=19 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:36.644838+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59500 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:37.390686+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:37.390998+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:37.391096+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=21 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:38.264143+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59512 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:39.102057+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:39.102353+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:39.102449+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=23 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:39.835098+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59518 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:40.732808+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:40.733111+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:40.733206+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=25 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:41.191094+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59522 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:42.299256+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:42.299610+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:42.299733+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=27 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:42.771907+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:59530 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:43.901410+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:43.901866+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:43.902014+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=29 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:44.436077+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:46854 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:49:45.598760+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:49:45.599095+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:49:45.599199+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=31 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:49:46.039306+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:46870 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:51:31.811452+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:51:31.812167+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:51:31.812346+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=34 after=30 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:51:32.266450+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37398 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:51:33.288995+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:51:33.289405+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:51:33.289519+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=36 after=32 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:51:33.766338+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:42282 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:25.576043+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:25.576383+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:26.027406+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:39670 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:27.274274+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:27.274577+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:27.274666+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:27.831011+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:39674 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:29.122901+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:29.123174+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:29.123260+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:29.583377+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:39690 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:32.394048+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:32.394315+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:32.394413+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=12 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:32.830683+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38732 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:33.672682+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:33.673045+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:33.673179+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:34.093235+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38738 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:34.876221+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:34.876676+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:34.876790+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=16 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:35.312605+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38744 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:36.086508+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:36.086794+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:36.086887+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=18 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:36.609623+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38748 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:37.779667+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:37.780142+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:37.780308+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=20 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:38.200874+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38762 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:39.791732+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:39.792122+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:39.792237+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=22 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:40.201851+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38772 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:41.075447+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:41.075852+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:41.075972+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=24 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:41.530460+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:38778 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:42.429631+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:42.429977+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:42.430078+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=26 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:42.969869+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:50316 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:43.770277+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:43.770644+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:43.770751+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=28 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:44.267923+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:50320 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:45.094111+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:45.094572+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:45.094703+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=30 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:45.548445+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:50334 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:46.578541+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:46.578973+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:46.579120+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=32 after=30 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:47.135737+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:50338 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:55:48.594205+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:55:48.594577+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:55:48.594687+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=35 after=32 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:55:49.100393+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:50352 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:56:02.993735+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:56:02.994204+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:56:02.994341+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=38 after=34 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:56:03.455102+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40080 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T18:56:05.576735+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T18:56:05.577275+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T18:56:05.577442+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=40 after=36 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T18:56:06.114989+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:40096 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:48.116940+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:48.117255+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:48.649429+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51242 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:50.129368+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:50.129728+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:50.129835+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:50.805039+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51252 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:51.614819+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:51.615077+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:51.615175+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:52.006394+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51254 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:52.917784+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:52.918161+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:52.918296+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=12 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:53.306108+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51002 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:54.179290+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:54.179588+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:54.179698+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:54.568517+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51016 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:55.835212+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:55.835600+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:55.835721+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=16 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:56.205775+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51032 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:57.215886+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:57.216214+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:57.216328+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=18 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:57.925657+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51034 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:01:58.922198+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:01:58.922552+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:01:58.922644+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=20 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:01:59.412878+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51036 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:02:00.317002+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:02:00.317321+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:02:00.317421+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=22 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:02:00.733127+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51046 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:02:01.916524+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:02:01.916998+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:02:01.917119+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=24 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:02:02.483269+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:51054 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:02:03.342145+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:02:03.342511+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:02:03.342625+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=26 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:02:03.805722+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:60266 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:02:04.715013+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:02:04.715394+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:02:04.715498+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=28 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:02:05.345470+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:60280 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:02:06.715575+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:02:06.716353+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:02:06.716534+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=30 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:02:07.152788+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:60288 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:00.374175+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:00.374565+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:00.374668+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=33 after=30 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:00.808668+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:56792 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:02.715960+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:02.716422+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:02.716572+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=35 after=32 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:03.187764+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:41764 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:51.211384+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:51.211746+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:51.617552+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:48996 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:53.099860+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:53.100145+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:53.100232+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:53.888541+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37744 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:54.615636+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:54.615895+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:54.615988+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:55.231174+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37752 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:56.310636+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:56.310935+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:56.311038+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=12 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:56.715178+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37756 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:57.617865+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:57.618134+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:57.618223+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:58.020598+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37762 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:03:58.910577+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:03:58.910856+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:03:58.910958+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=16 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:03:59.362276+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37778 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:00.231529+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:00.231871+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:00.231979+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=18 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:00.689918+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:37792 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:02.414940+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:02.415539+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:02.415669+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=20 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:02.871245+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49410 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:03.721158+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:03.721683+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:03.721819+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=22 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:04.147514+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49416 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:04.933104+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:04.933428+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:04.933529+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=24 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:05.494755+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49420 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:06.341192+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:06.341537+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:06.341637+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=26 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:06.797766+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49426 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:07.912296+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:07.912642+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:07.912770+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=28 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:08.394204+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49432 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:04:09.233720+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:04:09.234201+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:04:09.234309+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=30 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:04:09.670335+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:49438 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:05:15.408978+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:05:15.409425+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:05:15.409537+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=33 after=30 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:05:15.847431+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:53632 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:06:33.226517+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:06:33.227066+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:06:33.227207+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=36 after=32 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:06:33.755915+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:33094 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:06:35.605794+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:06:35.606332+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:06:35.606494+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=4 before=38 after=34 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:06:36.077197+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:33110 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:08.963193+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:08.963612+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:09.418956+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:34396 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:10.543665+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:10.543936+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:10.544041+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=7 after=6 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:10.971270+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:34398 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:11.852427+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:11.852685+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:11.852783+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=1 before=9 after=8 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:12.558461+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:34408 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:13.754658+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:13.754917+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:13.755016+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=12 after=10 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:14.126023+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44488 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:14.851313+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:14.851578+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:14.851669+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=14 after=12 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:15.217426+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44494 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:16.043715+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:16.044385+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:16.044527+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=16 after=14 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:16.522731+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44506 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:17.343792+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:17.344094+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:17.344200+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=18 after=16 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:17.783284+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44512 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:18.643728+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:18.644052+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:18.644158+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=20 after=18 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:19.102481+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44516 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:20.262664+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:20.262967+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:20.263062+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=22 after=20 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:20.723872+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44522 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:21.750554+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:21.750957+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:21.751083+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=24 after=22 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:22.198621+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:44524 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:23.043706+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:23.044040+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:23.044161+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=26 after=24 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:23.462695+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:57556 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:24.353185+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:24.353637+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:24.353822+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=28 after=26 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:25.272790+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:57562 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:11:26.589358+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:11:26.589712+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:11:26.589817+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=2 before=30 after=28 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:11:27.148124+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:57574 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:12:23.457928+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:12:23.458552+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:12:23.458730+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=33 after=30 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:12:23.947872+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:34464 - "POST /v1/responses HTTP/1.1" 200 2026-02-20T19:12:25.446872+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:267 - responses.tools filtered dropped_types=['web_search'] kept_count=5 allowed_types=['function'] 2026-02-20T19:12:25.447344+0000 | INFO | oai_proxy.routers.catch_all:_proxy_request:294 - responses.tools diagnostics count=5 types=['function', 'function', 'function', 'function', 'function'] names=['exec_command', 'write_stdin', 'update_plan', 'request_user_input', 'view_image'] shapes=[['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type'], ['description', 'name', 'parameters', 'strict', 'type']] 2026-02-20T19:12:25.447506+0000 | INFO | oai_proxy.routers.catch_all:_normalize_responses_input:202 - responses.input normalized dropped=3 before=35 after=32 before_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=reasoning,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] after_shapes=['dict(type=message,role=developer,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=message,role=user,content=list)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)', 'dict(type=function_call,role=,content=NoneType)', 'dict(type=function_call_output,role=,content=NoneType)'] 2026-02-20T19:12:25.877345+0000 | INFO | uvicorn.protocols.http.h11_impl:send:480 - 172.24.0.5:34472 - "POST /v1/responses HTTP/1.1" 200