Skip to content

Commit dd0b65c

Browse files
authored
Fix a bug where the default behavior of loading the debug flag differs from the documentation (#1682)
DONT_LOG_MODEL_DATA and DONT_LOG_TOOL_DATA constants' default values differ from the behaviors clearly stated in the documentation (code comments).
1 parent 83bb4d8 commit dd0b65c

File tree

2 files changed

+69
-4
lines changed

2 files changed

+69
-4
lines changed

src/agents/_debug.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
import os
22

33

4-
def _debug_flag_enabled(flag: str) -> bool:
4+
def _debug_flag_enabled(flag: str, default: bool = False) -> bool:
55
flag_value = os.getenv(flag)
6-
return flag_value is not None and (flag_value == "1" or flag_value.lower() == "true")
6+
if flag_value is None:
7+
return default
8+
else:
9+
return flag_value == "1" or flag_value.lower() == "true"
710

811

9-
DONT_LOG_MODEL_DATA = _debug_flag_enabled("OPENAI_AGENTS_DONT_LOG_MODEL_DATA")
12+
def _load_dont_log_model_data() -> bool:
13+
return _debug_flag_enabled("OPENAI_AGENTS_DONT_LOG_MODEL_DATA", default=True)
14+
15+
16+
def _load_dont_log_tool_data() -> bool:
17+
return _debug_flag_enabled("OPENAI_AGENTS_DONT_LOG_TOOL_DATA", default=True)
18+
19+
20+
DONT_LOG_MODEL_DATA = _load_dont_log_model_data()
1021
"""By default we don't log LLM inputs/outputs, to prevent exposing sensitive information. Set this
1122
flag to enable logging them.
1223
"""
1324

14-
DONT_LOG_TOOL_DATA = _debug_flag_enabled("OPENAI_AGENTS_DONT_LOG_TOOL_DATA")
25+
DONT_LOG_TOOL_DATA = _load_dont_log_tool_data()
1526
"""By default we don't log tool call inputs/outputs, to prevent exposing sensitive information. Set
1627
this flag to enable logging them.
1728
"""

tests/test_debug.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import os
2+
from unittest.mock import patch
3+
4+
from agents._debug import _load_dont_log_model_data, _load_dont_log_tool_data
5+
6+
7+
@patch.dict(os.environ, {})
8+
def test_dont_log_model_data():
9+
assert _load_dont_log_model_data() is True
10+
11+
12+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_MODEL_DATA": "0"})
13+
def test_dont_log_model_data_0():
14+
assert _load_dont_log_model_data() is False
15+
16+
17+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_MODEL_DATA": "1"})
18+
def test_dont_log_model_data_1():
19+
assert _load_dont_log_model_data() is True
20+
21+
22+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_MODEL_DATA": "true"})
23+
def test_dont_log_model_data_true():
24+
assert _load_dont_log_model_data() is True
25+
26+
27+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_MODEL_DATA": "false"})
28+
def test_dont_log_model_data_false():
29+
assert _load_dont_log_model_data() is False
30+
31+
32+
@patch.dict(os.environ, {})
33+
def test_dont_log_tool_data():
34+
assert _load_dont_log_tool_data() is True
35+
36+
37+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_TOOL_DATA": "0"})
38+
def test_dont_log_tool_data_0():
39+
assert _load_dont_log_tool_data() is False
40+
41+
42+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_TOOL_DATA": "1"})
43+
def test_dont_log_tool_data_1():
44+
assert _load_dont_log_tool_data() is True
45+
46+
47+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_TOOL_DATA": "true"})
48+
def test_dont_log_tool_data_true():
49+
assert _load_dont_log_tool_data() is True
50+
51+
52+
@patch.dict(os.environ, {"OPENAI_AGENTS_DONT_LOG_TOOL_DATA": "false"})
53+
def test_dont_log_tool_data_false():
54+
assert _load_dont_log_tool_data() is False

0 commit comments

Comments
 (0)