A lightweight, powerful framework for multi-agent workflows
This report presents the forensic synthetic code analysis of openai/openai-agents-python, a Python project with 27,895 GitHub stars. SynthScan v2.0 examined 331,631 lines of code across 1337 source files, recording 8567 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 27.8 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 8567 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_run_error_details.py | 12 | async def test_run_error_includes_data(): | CODE |
| LOW | tests/test_run_error_details.py | 31 | async def test_streamed_run_error_includes_data(): | CODE |
| LOW | tests/test_tool_use_tracker.py | 20 | def test_tool_use_tracker_as_serializable_uses_agent_map_or_runtime_snapshot() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 31 | def test_tool_use_tracker_from_and_serialize_snapshots() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 42 | def test_serialize_and_hydrate_tool_use_tracker_preserves_duplicate_agent_identity() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 54 | def get_tool_use_tracker_snapshot(self) -> dict[str, list[str]]: | CODE |
| LOW | tests/test_tool_use_tracker.py | 67 | def test_tool_use_tracker_handles_literal_suffix_names_without_collision() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 82 | def get_tool_use_tracker_snapshot(self) -> dict[str, list[str]]: | CODE |
| LOW | tests/test_tool_use_tracker.py | 95 | def test_record_used_tools_uses_trace_names_for_namespaced_and_deferred_functions() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 133 | def test_record_processed_response_ignores_hosted_tool_search_for_resets(): | CODE |
| LOW | tests/test_tool_use_tracker.py | 161 | def test_record_processed_response_keeps_function_named_tool_search(): | CODE |
| LOW | tests/test_tool_use_tracker.py | 189 | def test_record_processed_response_counts_output_only_tools_without_shifting_names() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 224 | def test_hydrate_tool_use_tracker_skips_unknown_agents() -> None: | CODE |
| LOW | tests/test_tool_use_tracker.py | 226 | def get_tool_use_tracker_snapshot(self) -> dict[str, list[str]]: | CODE |
| LOW | tests/test_handoff_prompt.py | 7 | def test_prompt_with_handoff_instructions_includes_prefix() -> None: | CODE |
| LOW | tests/test_tool_metadata.py | 36 | def test_tool_name_properties() -> None: | CODE |
| LOW | tests/test_tool_metadata.py | 56 | def test_shell_command_output_status_property() -> None: | CODE |
| LOW | tests/test_tool_metadata.py | 61 | def test_tool_context_from_agent_context() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 12 | async def test_function_tool_task_progress_deadline_detects_timer_backed_sleep() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 37 | async def test_function_tool_task_progress_deadline_returns_none_for_external_wait() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 61 | async def test_function_tool_task_progress_deadline_can_follow_tracked_invoke_task() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 95 | async def test_function_tool_task_progress_deadline_can_follow_awaited_child_task() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 121 | async def test_function_tool_task_progress_deadline_can_follow_shielded_child_task() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 147 | async def test_function_tool_task_progress_deadline_can_follow_gathered_child_tasks() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 172 | async def test_function_tool_task_progress_deadline_can_follow_timer_backed_future() -> None: | CODE |
| LOW | tests/test_asyncio_progress.py | 177 | async def _timer_backed_future_task() -> None: | CODE |
| LOW | tests/test_run_config.py | 28 | async def test_model_provider_on_run_config_is_used_for_agent_model_name() -> None: | CODE |
| LOW | tests/test_run_config.py | 45 | async def test_run_config_model_name_override_takes_precedence() -> None: | CODE |
| LOW | tests/test_run_config.py | 65 | async def test_run_config_model_name_override_uses_model_specific_default_settings( | CODE |
| LOW | tests/test_run_config.py | 88 | async def test_run_config_model_settings_override_implicit_model_specific_defaults( | CODE |
| LOW | tests/test_run_config.py | 113 | async def test_run_config_model_override_object_takes_precedence() -> None: | CODE |
| LOW | tests/test_run_config.py | 127 | async def test_agent_model_object_is_used_when_present() -> None: | CODE |
| LOW | tests/test_run_config.py | 144 | def test_trace_include_sensitive_data_defaults_to_true_when_env_not_set(monkeypatch): | CODE |
| LOW | tests/test_run_config.py | 178 | def test_trace_include_sensitive_data_follows_env_value(env_value, expected, monkeypatch): | CODE |
| LOW | tests/test_run_config.py | 185 | def test_trace_include_sensitive_data_explicit_override_takes_precedence(monkeypatch): | CODE |
| LOW⚡ | tests/test_run_config.py | 196 | def test_tool_execution_config_rejects_invalid_function_tool_concurrency() -> None: | CODE |
| LOW⚡ | tests/test_run_config.py | 204 | def test_tool_execution_config_is_public_from_agents_package() -> None: | CODE |
| LOW⚡ | tests/test_run_config.py | 211 | def test_tool_not_found_behavior_defaults_to_raise_error() -> None: | CODE |
| LOW⚡ | tests/test_run_config.py | 217 | def test_tool_not_found_behavior_is_public_from_agents_package() -> None: | CODE |
| LOW | tests/test_oaiconv_resume_response_id.py | 18 | def test_hydrate_from_state_uses_latest_non_none_response_id() -> None: | CODE |
| LOW | tests/test_shell_call_serialization.py | 13 | def test_coerce_shell_call_reads_max_output_length() -> None: | CODE |
| LOW⚡ | tests/test_shell_call_serialization.py | 26 | def test_coerce_shell_call_requires_commands() -> None: | CODE |
| LOW⚡ | tests/test_shell_call_serialization.py | 33 | def test_coerce_shell_call_rejects_string_like_commands(commands: object) -> None: | CODE |
| LOW⚡ | tests/test_shell_call_serialization.py | 42 | def test_normalize_shell_output_handles_timeout() -> None: | CODE |
| LOW | tests/test_shell_call_serialization.py | 54 | def test_normalize_shell_output_converts_string_outcome() -> None: | CODE |
| LOW | tests/test_shell_call_serialization.py | 67 | def test_serialize_shell_output_emits_canonical_outcome() -> None: | CODE |
| LOW | tests/test_shell_call_serialization.py | 79 | def test_shell_rejection_payload_preserves_missing_exit_code() -> None: | CODE |
| LOW | tests/test_shell_call_serialization.py | 105 | def test_shell_output_preserves_zero_exit_code() -> None: | CODE |
| LOW | tests/test_tracing_errors.py | 34 | async def test_single_turn_model_error(): | CODE |
| LOW | tests/test_tracing_errors.py | 75 | async def test_multi_turn_no_handoffs(): | CODE |
| LOW | tests/test_tracing_errors.py | 208 | async def test_multiple_handoff_doesnt_error(): | CODE |
| LOW | tests/test_tracing_errors.py | 298 | async def test_multiple_final_output_doesnt_error(): | CODE |
| LOW | tests/test_tracing_errors.py | 334 | async def test_handoffs_lead_to_correct_agent_spans(): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 17 | async def test_valid_async_signature_passes(self, mock_run_context): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 28 | async def test_valid_sync_signature_passes(self, mock_run_context): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 39 | async def test_one_parameter_raises_error(self, mock_run_context): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 54 | async def test_three_parameters_raises_error(self, mock_run_context): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 69 | async def test_zero_parameters_raises_error(self, mock_run_context): | CODE |
| LOW | tests/test_agent_instructions_signature.py | 84 | async def test_function_with_args_kwargs_fails(self, mock_run_context): | CODE |
| LOW⚡ | tests/test_agent_instructions_signature.py | 99 | async def test_string_instructions_still_work(self, mock_run_context): | CODE |
| 5540 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_tool_use_tracker.py | 1 | CODE | |
| LOW | tests/test_tool_metadata.py | 1 | CODE | |
| LOW | tests/test_asyncio_progress.py | 1 | CODE | |
| LOW | tests/test_run_config.py | 1 | CODE | |
| LOW | tests/test_shell_call_serialization.py | 1 | CODE | |
| LOW | tests/test_tracing_errors.py | 1 | CODE | |
| LOW | tests/testing_processor.py | 1 | CODE | |
| LOW | tests/conftest.py | 1 | CODE | |
| LOW | tests/test_tool_use_behavior.py | 3 | CODE | |
| LOW | tests/test_usaspending_setup_db.py | 1 | CODE | |
| LOW | tests/test_agent_tool_state.py | 1 | CODE | |
| LOW | tests/test_tool_origin.py | 1 | CODE | |
| LOW | tests/test_prompt_cache_key.py | 1 | CODE | |
| LOW | tests/test_tracing.py | 1 | CODE | |
| LOW | tests/test_agent_memory_leak.py | 1 | CODE | |
| LOW | tests/test_call_model_input_filter.py | 1 | CODE | |
| LOW | tests/test_source_compat_constructors.py | 1 | CODE | |
| LOW | tests/test_output_guardrail_cancellation.py | 1 | CODE | |
| LOW | tests/test_guardrails.py | 1 | CODE | |
| LOW | tests/test_hitl_session_scenario.py | 1 | CODE | |
| LOW | tests/test_tracing_errors_streamed.py | 1 | CODE | |
| LOW | tests/test_run.py | 1 | CODE | |
| LOW | tests/test_items_helpers.py | 1 | CODE | |
| LOW | tests/test_agent_runner_streamed.py | 1 | CODE | |
| LOW | tests/test_streaming_logging.py | 1 | CODE | |
| LOW | tests/test_agent_prompt.py | 1 | CODE | |
| LOW | tests/test_agent_tracing.py | 1 | CODE | |
| LOW | tests/test_hitl_error_scenarios.py | 3 | CODE | |
| LOW | tests/test_run_step_processing.py | 1 | CODE | |
| LOW | tests/test_apply_diff.py | 3 | CODE | |
| LOW | tests/test_usage.py | 1 | CODE | |
| LOW | tests/test_agent_tool_input.py | 1 | CODE | |
| LOW | tests/test_shell_tool.py | 1 | CODE | |
| LOW | tests/test_agents_logging.py | 1 | CODE | |
| LOW | tests/test_run_internal_error_handlers.py | 1 | CODE | |
| LOW | tests/test_agent_runner.py | 1 | CODE | |
| LOW | tests/test_agent_as_tool.py | 1 | CODE | |
| LOW | tests/test_call_model_input_filter_unit.py | 1 | CODE | |
| LOW | tests/test_computer_tool_lifecycle.py | 1 | CODE | |
| LOW | tests/test_invalid_final_output_handler.py | 1 | CODE | |
| LOW | tests/test_apply_diff_helpers.py | 3 | CODE | |
| LOW | tests/test_run_state.py | 3 | CODE | |
| LOW | tests/test_extension_filters.py | 1 | CODE | |
| LOW | tests/test_tool_guardrails.py | 1 | CODE | |
| LOW | tests/test_tool_output_conversion.py | 1 | CODE | |
| LOW | tests/test_tracing_provider_safe_debug.py | 1 | CODE | |
| LOW | tests/test_responses.py | 1 | CODE | |
| LOW | tests/test_daytona_usaspending_example.py | 1 | CODE | |
| LOW | tests/test_max_turns.py | 1 | CODE | |
| LOW | tests/test_result_cast.py | 1 | CODE | |
| LOW | tests/test_global_hooks.py | 1 | CODE | |
| LOW | tests/test_apply_patch_tool.py | 1 | CODE | |
| LOW | tests/test_run_examples_script.py | 1 | CODE | |
| LOW | tests/test_tool_identity.py | 9 | CODE | |
| LOW | tests/test_tool_custom_data.py | 1 | CODE | |
| LOW | tests/test_run_step_execution.py | 1 | CODE | |
| LOW | tests/test_example_workflows.py | 1 | CODE | |
| LOW | tests/test_streamed_terminal_output_backfill.py | 1 | CODE | |
| LOW | tests/fake_model.py | 1 | CODE | |
| LOW | tests/test_run_internal_approvals.py | 1 | CODE | |
| 1258 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/memory/test_session.py | 665 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/memory/test_session.py | 667 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/memory/test_openai_conversations_session.py | 528 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/memory/test_openai_conversations_session.py | 530 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 113 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 115 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 160 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 162 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 571 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/test_tool_output_trimmer.py | 573 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 513 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/test_tool_output_trimmer.py | 515 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_encrypt_session.py | 432 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_encrypt_session.py | 434 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_dapr_session.py | 878 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_dapr_session.py | 880 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_advanced_sqlite_session.py | 1604 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_advanced_sqlite_session.py | 1606 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 226 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 372 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 374 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 433 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 435 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 468 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 470 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 587 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 589 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 771 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_mongodb_session.py | 773 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 30 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 256 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 258 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 283 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 285 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 649 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 651 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 697 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/memory/test_mongodb_session.py | 699 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_redis_session.py | 824 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/extensions/memory/test_redis_session.py | 826 | # ============================================================================ | COMMENT |
| MEDIUM | tests/extensions/sandbox/test_daytona.py | 1620 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/extensions/sandbox/test_daytona.py | 1622 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 752 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 754 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 850 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 852 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 1014 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/extensions/sandbox/test_blaxel.py | 1016 | # --------------------------------------------------------------------------- | COMMENT |
| 176 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_function_tool_decorator.py | 0 | get the temperature for a given city. args: city: the city to get temperature for. returns: temperature information for | STRING |
| HIGH | examples/agent_patterns/human_in_the_loop.py | 0 | get the temperature for a given city. args: city: the city to get temperature for. returns: temperature information for | STRING |
| HIGH | examples/agent_patterns/human_in_the_loop_stream.py | 0 | get the temperature for a given city. args: city: the city to get temperature for. returns: temperature information for | STRING |
| HIGH | tests/memory/test_session.py | 0 | pop_item skips corrupt newest rows and returns the next valid item. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | pop_item skips corrupt newest rows and returns the next valid item. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | pop_item skips corrupt newest rows and returns the next valid item. | STRING |
| HIGH | tests/memory/test_session.py | 0 | pop_item removes corrupt rows and returns none when no valid items remain. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | pop_item removes corrupt rows and returns none when no valid items remain. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | pop_item removes corrupt rows and returns none when no valid items remain. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test that session correctly stores and retrieves unicode/non-ascii content. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that session correctly stores and retrieves unicode/non-ascii content. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that session correctly stores and retrieves unicode/non-ascii content. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test concurrent access to the same session to verify data integrity. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test concurrent access to the same session to verify data integrity. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test concurrent access to the same session to verify data integrity. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/memory/test_openai_conversations_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/extensions/memory/test_advanced_sqlite_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that session_settings defaults to empty sessionsettings. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/extensions/memory/test_advanced_sqlite_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that get_items uses session_settings.limit as default. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_encrypt_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_advanced_sqlite_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that explicit limit parameter overrides session_settings. | STRING |
| HIGH | tests/memory/test_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_encrypt_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_advanced_sqlite_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that runconfig can override session's default settings. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that different session ids result in isolated conversation histories. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that different session ids result in isolated conversation histories. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that different session ids result in isolated conversation histories. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that different session ids result in isolated conversation histories. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that pop_item returns none on an empty session. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that pop_item returns none on an empty session. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that pop_item returns none on an empty session. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that pop_item returns none on an empty session. | STRING |
| HIGH | tests/extensions/memory/test_dapr_session.py | 0 | test that adding an empty list of items is a no-op. | STRING |
| HIGH | tests/extensions/memory/test_async_sqlite_session.py | 0 | test that adding an empty list of items is a no-op. | STRING |
| HIGH | tests/extensions/memory/test_sqlalchemy_session.py | 0 | test that adding an empty list of items is a no-op. | STRING |
| HIGH | tests/extensions/memory/test_redis_session.py | 0 | test that adding an empty list of items is a no-op. | STRING |
| HIGH | docs/context.md | 0 | fetch the age of the user. call this function to get user's age information. | STRING |
| HIGH | docs/ja/context.md | 0 | fetch the age of the user. call this function to get user's age information. | STRING |
| HIGH | docs/zh/context.md | 0 | fetch the age of the user. call this function to get user's age information. | STRING |
| HIGH | docs/ko/context.md | 0 | fetch the age of the user. call this function to get user's age information. | STRING |
| HIGH | docs/handoffs.md | 0 | {recommended_prompt_prefix} <fill in the rest of your prompt here>. | STRING |
| HIGH | docs/ja/handoffs.md | 0 | {recommended_prompt_prefix} <fill in the rest of your prompt here>. | STRING |
| HIGH | docs/zh/handoffs.md | 0 | {recommended_prompt_prefix} <fill in the rest of your prompt here>. | STRING |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/memory/test_session.py | 44 | except Exception: | CODE |
| LOW | tests/mcp/test_mcp_util.py | 911 | except Exception: | CODE |
| LOW⚡ | tests/extensions/memory/test_dapr_session.py | 678 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_dapr_session.py | 296 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_dapr_session.py | 613 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_dapr_redis_integration.py | 86 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_dapr_redis_integration.py | 109 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_sqlalchemy_session.py | 458 | except Exception as exc: | CODE |
| LOW | tests/extensions/memory/test_sqlalchemy_session.py | 506 | except Exception as exc: | CODE |
| LOW | tests/extensions/memory/test_advanced_sqlite_session.py | 1210 | except Exception: | CODE |
| LOW⚡ | tests/extensions/memory/test_redis_session.py | 467 | except Exception: | CODE |
| LOW⚡ | tests/extensions/memory/test_redis_session.py | 591 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_redis_session.py | 187 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_redis_session.py | 414 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_redis_session.py | 513 | except Exception: | CODE |
| LOW | tests/extensions/memory/test_redis_session.py | 640 | except Exception: | CODE |
| LOW⚡ | tests/extensions/sandbox/test_blaxel.py | 1558 | except Exception: | CODE |
| MEDIUM | tests/realtime/test_openai_realtime.py | 2001 | def handler(websocket): | CODE |
| LOW | tests/realtime/test_openai_realtime.py | 2030 | except Exception: | CODE |
| LOW | tests/realtime/test_session.py | 665 | except Exception: # noqa: S110 | CODE |
| MEDIUM | docs/ja/realtime/quickstart.md | 96 | print(f"Error: {event.error}") | CODE |
| MEDIUM | docs/realtime/quickstart.md | 92 | print(f"Error: {event.error}") | CODE |
| MEDIUM | docs/zh/realtime/quickstart.md | 96 | print(f"Error: {event.error}") | CODE |
| LOW | docs/scripts/translate_docs.py | 389 | except Exception: | STRING |
| MEDIUM | docs/scripts/translate_docs.py | 498 | print("Error: No valid files found to translate") | STRING |
| MEDIUM | docs/ko/realtime/quickstart.md | 96 | print(f"Error: {event.error}") | CODE |
| LOW⚡ | examples/memory/dapr_session_example.py | 223 | except Exception as e: | CODE |
| MEDIUM⚡ | examples/memory/dapr_session_example.py | 224 | print(f"Error: {e}") | CODE |
| LOW | examples/memory/dapr_session_example.py | 295 | except Exception as e: | CODE |
| LOW⚡ | examples/memory/dapr_session_example.py | 426 | except Exception as e: | CODE |
| LOW | examples/memory/dapr_session_example.py | 458 | except Exception: | CODE |
| LOW | examples/memory/file_hitl_example.py | 83 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | examples/memory/file_hitl_example.py | 143 | except Exception: | CODE |
| LOW⚡ | examples/memory/redis_session_example.py | 148 | except Exception as e: | CODE |
| MEDIUM⚡ | examples/memory/redis_session_example.py | 149 | print(f"Error: {e}") | CODE |
| LOW | examples/memory/redis_session_example.py | 175 | except Exception as e: | CODE |
| LOW | examples/memory/mongodb_session_example.py | 31 | except Exception: | CODE |
| LOW | examples/financial_research_agent/manager.py | 176 | except Exception: | CODE |
| LOW | examples/basic/tool_guardrails.py | 140 | except Exception as e: | CODE |
| MEDIUM | examples/basic/tool_guardrails.py | 141 | print(f"Error: {e}\n") | CODE |
| LOW | examples/basic/tool_guardrails.py | 157 | except Exception as e: | CODE |
| MEDIUM | examples/basic/tool_guardrails.py | 158 | print(f"Error: {e}\n") | CODE |
| LOW | examples/basic/non_strict_output_type.py | 64 | except Exception as e: | CODE |
| MEDIUM | examples/basic/non_strict_output_type.py | 65 | print(f"Error (expected): {e}") | CODE |
| LOW | examples/research_bot/manager.py | 102 | except Exception: | CODE |
| LOW | …mples/mcp/streamablehttp_custom_client_example/main.py | 129 | except Exception as e: | CODE |
| MEDIUM | …mples/mcp/streamablehttp_custom_client_example/main.py | 130 | print(f"Error starting Streamable HTTP server: {e}") | CODE |
| LOW | examples/mcp/streamablehttp_example/server.py | 36 | except Exception: | CODE |
| LOW | examples/mcp/streamablehttp_example/main.py | 96 | except Exception as e: | CODE |
| MEDIUM | examples/mcp/streamablehttp_example/main.py | 97 | print(f"Error starting Streamable HTTP server: {e}") | CODE |
| LOW | examples/mcp/prompt_server/main.py | 44 | except Exception as e: | CODE |
| LOW | examples/mcp/prompt_server/main.py | 122 | except Exception as e: | CODE |
| MEDIUM | examples/mcp/prompt_server/main.py | 123 | print(f"Error starting server: {e}") | CODE |
| LOW | examples/mcp/sse_example/main.py | 96 | except Exception as e: | CODE |
| MEDIUM | examples/mcp/sse_example/main.py | 97 | print(f"Error starting SSE server: {e}") | CODE |
| LOW | examples/realtime/app/server.py | 147 | except Exception as e: | CODE |
| LOW | examples/realtime/app/server.py | 385 | except Exception: | CODE |
| LOW | examples/realtime/cli/demo.py | 135 | except Exception: | CODE |
| LOW | examples/realtime/cli/demo.py | 200 | except Exception: | CODE |
| LOW | examples/realtime/cli/demo.py | 316 | except Exception as e: | CODE |
| 521 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_responses_tracing.py | 232 | # Create an instance of the model | COMMENT |
| MEDIUM⚡ | tests/test_responses_tracing.py | 235 | # Define a dummy fetch function that returns an async stream with a dummy response | COMMENT |
| MEDIUM⚡ | tests/test_responses_tracing.py | 374 | # Create an instance of the model | COMMENT |
| MEDIUM⚡ | tests/test_responses_tracing.py | 377 | # Define a dummy fetch function that returns an async stream with a dummy response | COMMENT |
| MEDIUM⚡ | tests/test_responses_tracing.py | 450 | # Create an instance of the model | COMMENT |
| MEDIUM⚡ | tests/test_responses_tracing.py | 453 | # Define a dummy fetch function that returns an async stream with a dummy response | COMMENT |
| MEDIUM | tests/test_responses_tracing.py | 61 | # Create an instance of the model | COMMENT |
| MEDIUM | tests/test_responses_tracing.py | 125 | # Create an instance of the model | COMMENT |
| MEDIUM | tests/test_responses_tracing.py | 191 | # Create an instance of the model | COMMENT |
| MEDIUM⚡ | tests/test_items_helpers.py | 201 | # Create a non-message run item of a different type, e.g., a reasoning trace. | COMMENT |
| MEDIUM | tests/test_agent_runner_streamed.py | 1696 | # Create a tool that requires approval | COMMENT |
| MEDIUM | tests/test_hitl_error_scenarios.py | 575 | # Create the tool with needs_approval directly | COMMENT |
| MEDIUM | tests/test_usage.py | 254 | # Create a usage with request_usage_entries | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4595 | # Define a tool that will be called by the orchestrator agent | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4683 | # Create a computer tool (not a FunctionTool) | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4725 | # Create an approved tool call for the computer tool | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4757 | # Create a rejected tool call | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4901 | # Create a tool call with unclear status (neither approved nor rejected) | COMMENT |
| MEDIUM | tests/test_agent_runner.py | 4924 | # Create an approved tool call for a tool that doesn't exist | COMMENT |
| MEDIUM | tests/test_agent_as_tool.py | 61 | # Create a simple agent | COMMENT |
| MEDIUM | tests/test_agent_as_tool.py | 109 | # Create a simple agent | COMMENT |
| MEDIUM | tests/test_agent_as_tool.py | 157 | # Create a simple agent | COMMENT |
| MEDIUM | tests/test_agent_as_tool.py | 220 | # Create a simple agent | COMMENT |
| MEDIUM | tests/test_computer_action.py | 542 | # Create a dummy click action to trigger a click and screenshot. | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 3374 | # Create a tool call item | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 3384 | # Create a ProcessedResponse with the tool call item in new_items | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 3467 | # Create a tool call item | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 3477 | # Create a ProcessedResponse with the tool call item | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5100 | # Create a tool call item | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5110 | # Create a ProcessedResponse | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5130 | # Create a tool call item | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5140 | # Create a ProcessedResponse | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5229 | # Create a mock MCP tool that will be recognized as HostedMCPTool | COMMENT |
| MEDIUM⚡ | tests/test_run_state.py | 5234 | # Create a minimal Mcp config | COMMENT |
| MEDIUM | tests/test_run_state.py | 1472 | # Create a mock item that has id and type directly on the item (not in raw_item) | COMMENT |
| MEDIUM | tests/test_run_state.py | 1698 | # Create a cycle A -> B -> A | COMMENT |
| MEDIUM | tests/test_run_state.py | 2551 | # Create a handoff output item | COMMENT |
| MEDIUM | tests/test_run_state.py | 3294 | # Create a RunState with context | COMMENT |
| MEDIUM | tests/test_run_state.py | 3314 | # Create a RunState with context | COMMENT |
| MEDIUM | tests/test_run_state.py | 3338 | # Create a run that will have interruptions | COMMENT |
| MEDIUM | tests/test_run_state.py | 3406 | # Create a message with nested content | COMMENT |
| MEDIUM | tests/test_run_state.py | 3683 | # Create a handoff with a name attribute but no tool_name | COMMENT |
| MEDIUM | tests/test_run_state.py | 3828 | # Create a shell tool with description | COMMENT |
| MEDIUM | tests/test_run_state.py | 3866 | # Create an apply patch tool with description | COMMENT |
| MEDIUM | tests/test_run_state.py | 3912 | # Create a mock MCP tool - HostedMCPTool doesn't have a simple constructor | COMMENT |
| MEDIUM | tests/test_run_state.py | 3951 | # Create a message item | COMMENT |
| MEDIUM | tests/test_run_state.py | 4184 | # Create a mock item with a raw_item that is neither dict nor has model_dump | COMMENT |
| MEDIUM | tests/test_run_state.py | 4204 | # Create an agent without get_all_tools method | COMMENT |
| MEDIUM | tests/test_run_state.py | 4233 | # Create a handoff with tool_name | COMMENT |
| MEDIUM | tests/test_run_state.py | 4845 | # Create a mock MCP tool | COMMENT |
| MEDIUM | tests/test_run_state.py | 5190 | # Create a handoff with name attribute but no tool_name | COMMENT |
| MEDIUM | tests/test_run_state.py | 5280 | # Create an agent without get_all_tools method | COMMENT |
| MEDIUM | tests/test_run_state.py | 5343 | # Create an item with missing type field to trigger the union adapter fallback | COMMENT |
| MEDIUM⚡ | tests/test_extension_filters.py | 729 | # Create a nested summary that will be parsed | COMMENT |
| MEDIUM⚡ | tests/test_extension_filters.py | 737 | # Create a second nested summary that includes the first | COMMENT |
| MEDIUM⚡ | tests/test_extension_filters.py | 836 | # Create an item with a circular reference or other unserializable content | COMMENT |
| MEDIUM⚡ | tests/test_extension_filters.py | 841 | # Create an item that will trigger TypeError in json.dumps | COMMENT |
| MEDIUM | tests/test_extension_filters.py | 571 | # Create an item that doesn't have a role (e.g., a function call) | COMMENT |
| MEDIUM | tests/test_extension_filters.py | 708 | # Create a summary message with non-string content (array) | COMMENT |
| MEDIUM | tests/test_extension_filters.py | 756 | # Create a summary that includes a role with name | COMMENT |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_agent_tool_input.py | 93 | assert "- count (integer | null, optional) - Optional count." in info.summary | CODE |
| HIGH | tests/extensions/sandbox/test_modal.py | 2149 | "modal-snapshot-directory-ephemeral.tar -T - 2>/dev/null && test -f " | CODE |
| HIGH | tests/extensions/sandbox/test_modal.py | 2375 | "cd -- /workspace && (tar cf - -- tmp.txt 2>/dev/null || true)", | CODE |
| HIGH | tests/extensions/sandbox/test_modal.py | 2406 | ["sh", "-lc", "cd -- /workspace && (tar cf - -- tmp.txt 2>/dev/null || true)"], | CODE |
| HIGH | tests/extensions/sandbox/test_modal.py | 2458 | "cd -- /workspace && (tar cf - -- tmp.txt 2>/dev/null || true)", | CODE |
| HIGH | tests/extensions/sandbox/test_modal.py | 2486 | ["sh", "-lc", "cd -- /workspace && (tar cf - -- tmp.txt 2>/dev/null || true)"], | CODE |
| HIGH | tests/extensions/sandbox/test_e2b.py | 131 | "sh -lc test -c /dev/fuse && grep -qw fuse /proc/filesystems && " | CODE |
| HIGH | tests/extensions/sandbox/test_e2b.py | 132 | "(command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1)" | CODE |
| HIGH | tests/extensions/sandbox/test_e2b.py | 159 | "sh -lc command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone", | CODE |
| HIGH | tests/extensions/sandbox/test_e2b.py | 176 | "sh -lc command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone" | CODE |
| HIGH | tests/extensions/sandbox/test_runloop_mounts.py | 153 | "sh -lc command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone", | CODE |
| HIGH | tests/extensions/sandbox/test_runloop_mounts.py | 170 | "sh -lc command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone" | CODE |
| HIGH | tests/extensions/sandbox/test_runloop_mounts.py | 196 | "sh -lc command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1", | CODE |
| HIGH | tests/extensions/sandbox/test_runloop_mounts.py | 206 | "sh -lc command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1", | CODE |
| HIGH | tests/extensions/sandbox/test_runloop.py | 2280 | await session.exec("pwd && echo hello", shell=True) | CODE |
| HIGH | tests/extensions/sandbox/test_runloop.py | 2496 | await session.exec("pwd && echo hello", shell=True) | CODE |
| HIGH | tests/realtime/test_session.py | 3165 | complex_args = '{"nested": {"data": [1, 2, 3]}, "bool": true, "null": null}' | CODE |
| HIGH | tests/sandbox/test_session_sinks.py | 495 | slow_result = await session.exec("sleep 1 && echo slow span") | CODE |
| HIGH | tests/sandbox/test_runtime.py | 3751 | result = await session.exec("echo hi > note.txt && cat note.txt") | CODE |
| HIGH⚡ | tests/sandbox/test_session_utils.py | 189 | await session.exec("echo hello && echo goodbye", shell=True) | CODE |
| HIGH⚡ | tests/sandbox/test_session_utils.py | 191 | assert session.last_command == ("sh", "-lc", "echo hello && echo goodbye") | CODE |
| HIGH | tests/sandbox/test_mounts.py | 1149 | ["sh", "-lc", "command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone"], | CODE |
| HIGH⚡ | tests/sandbox/test_docker.py | 2471 | 'pid="$(cat "$1" 2>/dev/null || true)"; ' | CODE |
| HIGH⚡ | tests/sandbox/test_docker.py | 2472 | 'if [ -n "$pid" ]; then kill -KILL "$pid" >/dev/null 2>&1 || true; fi; ' | CODE |
| HIGH⚡ | tests/sandbox/test_docker.py | 2514 | "cmd": ["sh", "-lc", "pkill -f -- 'sleep 10' >/dev/null 2>&1 || true"], | CODE |
| HIGH⚡ | tests/sandbox/test_docker.py | 2519 | "cmd": ["sh", "-lc", "pkill -f -- 'sleep 20' >/dev/null 2>&1 || true"], | CODE |
| HIGH | tests/sandbox/test_docker.py | 2456 | 'mkdir -p "$1" && printf "%s" "$$" > "$2" && shift 2 && exec "$@"', | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 503 | ("cd /workspace/src/project && pwd", 10.0, ["/bin/bash", "-c"]) | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 510 | "stdout: cd /workspace/src/project && pwd\n" | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 511 | "stderr: cd /workspace/src/project && pwd" | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 545 | assert session.exec_calls == [("cd /tmp && pwd", 10.0, ["/bin/bash", "-c"])] | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 551 | "stdout: cd /tmp && pwd\n" | CODE |
| HIGH⚡ | tests/sandbox/capabilities/test_shell_capability.py | 552 | "stderr: cd /tmp && pwd" | CODE |
| HIGH | examples/sandbox/extensions/blaxel_runner.py | 307 | f"cat {mount_path}/{marker}.txt && ls {mount_path}" | CODE |
| HIGH | …ples/sandbox/tutorials/dataroom_metric_extract/main.py | 61 | Optional field: `segment` (segment/geography if explicitly stated, else null). | STRING |
| HIGH | src/agents/extensions/sandbox/_rclone.py | 8 | _RCLONE_CHECK = "command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone" | CODE |
| HIGH | src/agents/extensions/sandbox/runloop/mounts.py | 49 | "command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1", | CODE |
| HIGH | src/agents/extensions/sandbox/runloop/mounts.py | 77 | "command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1", | CODE |
| HIGH | src/agents/extensions/sandbox/blaxel/mounts.py | 222 | "cd /tmp && ar x gcsfuse.deb && " | CODE |
| HIGH | src/agents/extensions/sandbox/blaxel/mounts.py | 246 | detect = await _exec(session, "which apk >/dev/null 2>&1 && echo apk || echo apt") | CODE |
| HIGH | src/agents/extensions/sandbox/blaxel/mounts.py | 246 | detect = await _exec(session, "which apk >/dev/null 2>&1 && echo apk || echo apt") | CODE |
| HIGH⚡ | src/agents/extensions/sandbox/daytona/mounts.py | 37 | f"command -v {cmd} >/dev/null 2>&1 || test -x /usr/local/bin/{cmd}", | CODE |
| HIGH | src/agents/extensions/sandbox/daytona/mounts.py | 57 | f"apt-get update -qq && DEBIAN_FRONTEND=noninteractive apt-get install -y -qq {package}" | CODE |
| HIGH | src/agents/extensions/sandbox/modal/sandbox.py | 1318 | f"(tar cf - -- {rel_args} 2>/dev/null || true)" | CODE |
| HIGH | src/agents/extensions/sandbox/e2b/mounts.py | 30 | "test -c /dev/fuse && grep -qw fuse /proc/filesystems && " | CODE |
| HIGH | src/agents/extensions/sandbox/e2b/mounts.py | 31 | "(command -v fusermount3 >/dev/null 2>&1 || command -v fusermount >/dev/null 2>&1)", | CODE |
| HIGH⚡ | src/agents/sandbox/sandboxes/docker.py | 525 | f"pkill -f -- '{pattern}' >/dev/null 2>&1 || true", | CODE |
| HIGH⚡ | src/agents/sandbox/sandboxes/docker.py | 1281 | 'pid="$(cat "$1" 2>/dev/null || true)"; ' | CODE |
| HIGH⚡ | src/agents/sandbox/sandboxes/docker.py | 1283 | 'kill -KILL "$pid" >/dev/null 2>&1 || true; ' | CODE |
| HIGH | src/agents/sandbox/sandboxes/docker.py | 151 | 'n=$1; shift; [ "$(printf ab | head -c 1 2>/dev/null)" = a ] || exit 98; head -c "$n" | "$@"' | CODE |
| HIGH | src/agents/sandbox/sandboxes/docker.py | 942 | 'mkdir -p "$1" && printf "%s" "$$" > "$2" && shift 2 && exec "$@"', | CODE |
| HIGH | src/agents/sandbox/entries/mounts/patterns.py | 881 | "command -v rclone >/dev/null 2>&1 || test -x /usr/local/bin/rclone", | CODE |
| HIGH | src/agents/sandbox/entries/mounts/patterns.py | 964 | f"umount {shlex.quote(sandbox_path_str(path))} >/dev/null 2>&1 || true", | CODE |
| HIGH | src/agents/sandbox/entries/mounts/patterns.py | 973 | f"'rclone (mount|serve nfs) {rclone_config.remote_name}:' >/dev/null 2>&1 || true" | CODE |
| HIGH | src/agents/sandbox/session/runtime_helpers.py | 288 | if [ -x "$dest" ] && command -v cmp >/dev/null 2>&1 && cmp -s "$dest" "$tmp"; then | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_tracing.py | 288 | CODE | |
| LOW | tests/test_agent_llm_hooks.py | 104 | CODE | |
| LOW | tests/test_hitl_session_scenario.py | 361 | CODE | |
| LOW | tests/test_hitl_session_scenario.py | 382 | CODE | |
| LOW | tests/test_run_hooks.py | 126 | CODE | |
| LOW | tests/fake_model.py | 147 | CODE | |
| LOW | tests/memory/test_session.py | 26 | CODE | |
| LOW | …xtensions/experimental/hosted_multi_agent/test_live.py | 37 | CODE | |
| LOW | tests/extensions/memory/test_dapr_redis_integration.py | 65 | CODE | |
| LOW | tests/extensions/memory/test_dapr_redis_integration.py | 95 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 306 | CODE | |
| LOW | tests/extensions/sandbox/test_vercel.py | 244 | CODE | |
| LOW | tests/extensions/sandbox/test_runloop.py | 266 | CODE | |
| LOW | tests/realtime/test_session.py | 1000 | CODE | |
| LOW | tests/sandbox/test_runtime.py | 4464 | CODE | |
| LOW | tests/sandbox/test_runtime.py | 4487 | CODE | |
| LOW | docs/scripts/translate_docs.py | 459 | CODE | |
| LOW | examples/web_search_utils.py | 20 | CODE | |
| LOW | examples/run_examples.py | 612 | CODE | |
| LOW | examples/run_examples.py | 666 | CODE | |
| LOW | examples/tools/tool_search.py | 121 | CODE | |
| LOW | examples/tools/code_interpreter.py | 14 | CODE | |
| LOW | examples/tools/container_shell_inline_skill.py | 18 | CODE | |
| LOW | examples/tools/shell_human_in_the_loop.py | 104 | CODE | |
| LOW | examples/customer_service/main.py | 151 | CODE | |
| LOW | examples/memory/file_hitl_example.py | 22 | CODE | |
| LOW | examples/memory/memory_session_hitl_example.py | 56 | CODE | |
| LOW | examples/memory/openai_session_hitl_example.py | 56 | CODE | |
| LOW | examples/basic/stream_function_call_args.py | 25 | CODE | |
| LOW | examples/basic/stream_ws.py | 90 | CODE | |
| LOW | examples/basic/stream_items.py | 13 | CODE | |
| LOW | examples/realtime/app/server.py | 417 | CODE | |
| LOW | examples/realtime/app/server.py | 151 | CODE | |
| LOW | examples/realtime/app/server.py | 334 | CODE | |
| LOW | examples/realtime/app/server.py | 351 | CODE | |
| LOW | examples/realtime/cli/demo.py | 84 | CODE | |
| LOW | examples/realtime/cli/demo.py | 272 | CODE | |
| LOW | examples/realtime/cli/demo.py | 324 | CODE | |
| LOW | examples/realtime/twilio_sip/server.py | 99 | CODE | |
| LOW | examples/realtime/twilio/twilio_handler.py | 149 | CODE | |
| LOW | examples/realtime/twilio/twilio_handler.py | 194 | CODE | |
| LOW | examples/reasoning_content/runner_example.py | 23 | CODE | |
| LOW | examples/reasoning_content/main.py | 70 | CODE | |
| LOW | examples/agent_patterns/agents_as_tools_conditional.py | 87 | CODE | |
| LOW | examples/agent_patterns/agents_as_tools.py | 59 | CODE | |
| LOW | examples/agent_patterns/routing.py | 37 | CODE | |
| LOW | examples/agent_patterns/llm_as_a_judge.py | 42 | CODE | |
| LOW | examples/voice/static/util.py | 9 | CODE | |
| LOW | examples/sandbox/memory.py | 138 | CODE | |
| LOW | examples/sandbox/memory_s3.py | 233 | CODE | |
| LOW | examples/sandbox/memory_multi_agent_multiturn.py | 145 | CODE | |
| LOW | examples/sandbox/unix_local_pty.py | 83 | CODE | |
| LOW | examples/sandbox/sandbox_agent_capabilities.py | 287 | CODE | |
| LOW | examples/sandbox/docker/docker_runner.py | 65 | CODE | |
| LOW | examples/sandbox/extensions/blaxel_runner.py | 138 | CODE | |
| LOW | examples/sandbox/extensions/cloudflare_runner.py | 216 | CODE | |
| LOW | …/sandbox/extensions/temporal/temporal_sandbox_agent.py | 241 | CODE | |
| LOW | …/sandbox/extensions/temporal/temporal_sandbox_agent.py | 284 | CODE | |
| LOW | …es/sandbox/extensions/temporal/temporal_sandbox_tui.py | 809 | CODE | |
| LOW | …es/sandbox/extensions/temporal/temporal_sandbox_tui.py | 992 | CODE | |
| 153 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_agent_runner_sync.py | 14 | def set_event_loop(self, loop: asyncio.AbstractEventLoop | None) -> None: ... | CODE |
| LOW⚡ | tests/test_trace_processor.py | 336 | def set_processors(self, processors: list[TracingProcessor]) -> None: | CODE |
| LOW⚡ | tests/test_trace_processor.py | 345 | def set_disabled(self, disabled: bool) -> None: | CODE |
| LOW | tests/extensions/memory/test_encrypt_session.py | 46 | def _set_time(value: int) -> None: | CODE |
| LOW | tests/extensions/sandbox/test_modal.py | 58 | def _set_aio_attr(obj: object, name: str, fn: Callable[..., object]) -> None: | CODE |
| LOW | tests/realtime/test_session_exceptions.py | 30 | def set_next_events(self, events: list[RealtimeModelEvent]) -> None: | CODE |
| LOW | tests/sandbox/test_runtime.py | 121 | def _set_concurrency_limits(self, limits: SandboxConcurrencyLimits) -> None: | CODE |
| LOW | tests/sandbox/test_runtime.py | 125 | def _set_archive_limits(self, limits: SandboxArchiveLimits | None) -> None: | CODE |
| LOW | examples/realtime/app/server.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | examples/realtime/cli/demo.py | 369 | def _update_playback_rms(self, samples: np.ndarray[Any, np.dtype[Any]]) -> None: | CODE |
| LOW | …andbox/extensions/temporal/temporal_session_manager.py | 395 | async def update_snapshot_id(self, request: RenameRequest) -> None: | CODE |
| LOW⚡ | …es/sandbox/extensions/temporal/temporal_sandbox_tui.py | 328 | def _set_activity(self, text: str | Text = "") -> None: | CODE |
| LOW | …es/sandbox/extensions/temporal/temporal_sandbox_tui.py | 722 | def _set_session_title(self, title: str) -> None: | CODE |
| LOW⚡ | …es/sandbox/extensions/temporal/temporal_sandbox_tui.py | 324 | def _set_liveness(self, text: str | Text) -> None: | STRING |
| LOW | src/agents/run.py | 131 | __all__ = [ | CODE |
| LOW | src/agents/run.py | 152 | def set_default_agent_runner(runner: AgentRunner | None) -> None: | CODE |
| LOW⚡ | src/agents/run_state.py | 994 | def set_trace(self, trace: Trace | None) -> None: | CODE |
| LOW⚡ | src/agents/run_state.py | 1003 | def set_tool_use_tracker_snapshot(self, snapshot: Mapping[str, Sequence[str]] | None) -> None: | CODE |
| LOW⚡ | src/agents/run_state.py | 1016 | def set_reasoning_item_id_policy(self, policy: Literal["preserve", "omit"] | None) -> None: | CODE |
| LOW | src/agents/run_error_handlers.py | 58 | __all__ = [ | CODE |
| LOW | src/agents/responses_websocket_session.py | 133 | __all__ = ["ResponsesWebSocketSession", "responses_websocket_session"] | CODE |
| LOW⚡ | src/agents/__init__.py | 298 | def set_default_openai_api(api: Literal["chat_completions", "responses"]) -> None: | CODE |
| LOW⚡ | src/agents/__init__.py | 305 | def set_default_openai_responses_transport(transport: Literal["http", "websocket"]) -> None: | CODE |
| LOW⚡ | src/agents/__init__.py | 325 | def set_default_openai_harness(harness_id: str | None) -> None: | CODE |
| LOW⚡ | src/agents/__init__.py | 340 | __all__ = [ | CODE |
| LOW | src/agents/__init__.py | 270 | def set_default_openai_key(key: str, use_for_tracing: bool = True) -> None: | CODE |
| LOW | src/agents/__init__.py | 285 | def set_default_openai_client(client: AsyncOpenAI, use_for_tracing: bool = True) -> None: | CODE |
| LOW | src/agents/apply_diff.py | 347 | __all__ = ["apply_diff"] | CODE |
| LOW⚡ | src/agents/_config.py | 13 | def set_default_openai_key(key: str, use_for_tracing: bool) -> None: | CODE |
| LOW⚡ | src/agents/_config.py | 20 | def set_default_openai_client(client: AsyncOpenAI, use_for_tracing: bool) -> None: | CODE |
| LOW⚡ | src/agents/_config.py | 27 | def set_default_openai_api(api: Literal["chat_completions", "responses"]) -> None: | CODE |
| LOW⚡ | src/agents/_config.py | 34 | def set_default_openai_responses_transport(transport: Literal["http", "websocket"]) -> None: | CODE |
| LOW⚡ | src/agents/_config.py | 48 | def set_default_openai_harness(harness_id: str | None) -> None: | CODE |
| LOW | src/agents/run_config.py | 372 | __all__ = [ | CODE |
| LOW⚡ | src/agents/agent_tool_state.py | 36 | def set_agent_tool_state_scope(context: Any, scope_id: str | None) -> None: | CODE |
| LOW | src/agents/tracing/provider.py | 182 | def set_processors(self, processors: list[TracingProcessor]) -> None: | CODE |
| LOW | src/agents/tracing/provider.py | 194 | def set_disabled(self, disabled: bool) -> None: | CODE |
| LOW | src/agents/tracing/provider.py | 284 | def set_disabled(self, disabled: bool) -> None: | CODE |
| LOW⚡ | src/agents/tracing/__init__.py | 101 | def set_trace_processors(processors: list[TracingProcessor]) -> None: | CODE |
| LOW⚡ | src/agents/tracing/__init__.py | 108 | def set_tracing_disabled(disabled: bool) -> None: | CODE |
| LOW⚡ | src/agents/tracing/__init__.py | 115 | def set_tracing_export_api_key(api_key: str) -> None: | CODE |
| LOW | src/agents/tracing/__init__.py | 45 | __all__ = [ | CODE |
| LOW | src/agents/tracing/spans.py | 139 | def set_error(self, error: SpanError) -> None: | CODE |
| LOW | src/agents/tracing/spans.py | 240 | def set_error(self, error: SpanError) -> None: | CODE |
| LOW | src/agents/tracing/spans.py | 349 | def set_error(self, error: SpanError) -> None: | CODE |
| LOW | src/agents/tracing/setup.py | 27 | def set_trace_provider(provider: TraceProvider) -> None: | CODE |
| LOW | src/agents/memory/__init__.py | 20 | __all__ = [ | CODE |
| LOW | src/agents/mcp/__init__.py | 44 | __all__ = [ | CODE |
| LOW | src/agents/models/reasoning_content_replay.py | 54 | __all__ = [ | CODE |
| LOW | src/agents/models/__init__.py | 9 | __all__ = [ | CODE |
| LOW⚡ | src/agents/models/_openai_shared.py | 18 | def set_default_openai_key(key: str) -> None: | CODE |
| LOW⚡ | src/agents/models/_openai_shared.py | 27 | def set_default_openai_client(client: AsyncOpenAI) -> None: | CODE |
| LOW⚡ | src/agents/models/_openai_shared.py | 36 | def set_use_responses_by_default(use_responses: bool) -> None: | CODE |
| LOW⚡ | src/agents/models/_openai_shared.py | 45 | def set_use_responses_websocket_by_default(use_responses_websocket: bool) -> None: | CODE |
| LOW⚡ | src/agents/models/_openai_shared.py | 53 | def set_default_openai_responses_transport(transport: OpenAIResponsesTransport) -> None: | CODE |
| LOW | src/agents/extensions/tool_output_trimmer.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agents/extensions/__init__.py | 3 | __all__ = ["ToolOutputTrimmer"] | CODE |
| LOW | src/agents/extensions/handoff_filters.py | 26 | __all__ = [ | CODE |
| LOW | src/agents/extensions/experimental/__init__.py | 4 | __all__ = [ | CODE |
| LOW | src/agents/extensions/experimental/codex/__init__.py | 48 | __all__ = [ | CODE |
| 81 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 12 | 1. [**Agents**](https://openai.github.io/openai-agents-python/agents): LLMs configured with instructions, tools, guardra | CODE |
| MEDIUM | README.md | 16 | 1. [**Guardrails**](https://openai.github.io/openai-agents-python/guardrails/): Configurable safety checks for input and | CODE |
| MEDIUM⚡ | tests/test_items_helpers.py | 201 | # Create a non-message run item of a different type, e.g., a reasoning trace. | COMMENT |
| MEDIUM | tests/realtime/test_session.py | 3536 | # Neither should trigger guardrails yet | COMMENT |
| MEDIUM | tests/realtime/test_session.py | 3679 | # Use a minimal agent (guardrails from run_config) | COMMENT |
| MEDIUM⚡ | docs/llms.txt | 8 | - [Overview](https://openai.github.io/openai-agents-python/): Learn the core primitives—agents, handoffs, guardrails, se | CODE |
| MEDIUM⚡ | docs/llms.txt | 10 | - [Example Gallery](https://openai.github.io/openai-agents-python/examples/): Task-oriented examples that demonstrate ag | CODE |
| MEDIUM⚡ | docs/llms.txt | 13 | - [Agents](https://openai.github.io/openai-agents-python/agents/): Configure agent instructions, tools, guardrails, memo | CODE |
| MEDIUM | docs/llms.txt | 24 | - [Guardrails](https://openai.github.io/openai-agents-python/guardrails/): Define validators that run alongside the agen | CODE |
| MEDIUM | docs/guardrails.md | 20 | ## Input guardrails | COMMENT |
| MEDIUM | docs/guardrails.md | 40 | ## Output guardrails | COMMENT |
| MEDIUM | docs/guardrails.md | 54 | ## Tool guardrails | COMMENT |
| MEDIUM | docs/quickstart.md | 180 | ## Run the agent orchestration | COMMENT |
| MEDIUM | docs/llms-full.txt | 10 | - [Example Gallery](https://openai.github.io/openai-agents-python/examples/): Realistic Python samples that demonstrate | CODE |
| MEDIUM | docs/llms-full.txt | 28 | - [Guardrails](https://openai.github.io/openai-agents-python/guardrails/): Create synchronous or asynchronous checks, sh | CODE |
| MEDIUM | docs/llms-full.txt | 59 | - [guardrail APIs](https://openai.github.io/openai-agents-python/ref/guardrail/): Build custom guardrails, interpret val | CODE |
| MEDIUM | docs/index.md | 3 | The [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) enables you to build agentic AI apps in a lightw | CODE |
| MEDIUM | docs/multi_agent.md | 1 | # Agent orchestration | COMMENT |
| MEDIUM | docs/multi_agent.md | 57 | - [Tools](tools.md#agents-as-tools) for `Agent.as_tool()` and manager-style orchestration. | CODE |
| MEDIUM | docs/ja/models/index.md | 20 | | OpenAIがホストするサブエージェントを使用する | 試験的なホスト型マルチエージェントモデルを使用する | [ホスト型マルチエージェント](#hosted-multi-agent-experimental) | | CODE |
| MEDIUM | docs/models/index.md | 16 | | Use OpenAI-hosted subagents | Use the experimental hosted multi-agent model | [Hosted multi-agent](#hosted-multi-agent | CODE |
| MEDIUM | docs/models/index.md | 235 | ### Hosted multi-agent (experimental) | COMMENT |
| MEDIUM | docs/models/index.md | 287 | #### Relationship to SDK orchestration | COMMENT |
| MEDIUM | docs/realtime/guide.md | 182 | ## Tools, approvals, handoffs, and guardrails | COMMENT |
| MEDIUM | docs/zh/models/index.md | 20 | | 使用OpenAI托管的子智能体 | 使用实验性的托管式多智能体模型 | [托管式多智能体](#hosted-multi-agent-experimental) | | CODE |
| MEDIUM | docs/ko/models/index.md | 20 | | OpenAI에서 호스팅되는 서브에이전트 사용 | 실험적 호스티드 멀티 에이전트 모델 사용 | [호스티드 멀티 에이전트](#hosted-multi-agent-experimental) | | CODE |
| MEDIUM | examples/basic/tool_guardrails.py | 103 | # Apply guardrails to tools | COMMENT |
| MEDIUM | examples/realtime/twilio_sip/server.py | 44 | # Build the multi-agent graph (triage + specialist agents) from agents.py. | COMMENT |
| MEDIUM | examples/agent_patterns/input_guardrails.py | 32 | ### 1. An agent-based guardrail that is triggered if the user is asking to do math homework | COMMENT |
| MEDIUM | examples/agent_patterns/agents_as_tools.py | 65 | # Run the entire orchestration in a single trace | COMMENT |
| MEDIUM | examples/agent_patterns/README.md | 1 | # Common agentic patterns | COMMENT |
| MEDIUM | examples/agent_patterns/README.md | 5 | ## Hosted multi-agent (experimental) | COMMENT |
| MEDIUM | examples/agent_patterns/streaming_guardrails.py | 70 | # alternate implementation is to have N guardrails running, or cancel the previous | COMMENT |
| MEDIUM | examples/sandbox/README.md | 27 | ## Tutorial scaffold | COMMENT |
| MEDIUM | …dbox/extensions/daytona/usaspending_text2sql/README.md | 65 | ### SQL guardrails (defense in depth) | COMMENT |
| MEDIUM | src/agents/run.py | 782 | # Blocking first-turn guardrails must run before sandbox prep so a tripwire | COMMENT |
| MEDIUM | src/agents/result.py | 736 | # Await input guardrails if they are still running, so late | COMMENT |
| MEDIUM | src/agents/tool.py | 419 | # Tool-specific guardrails. | COMMENT |
| MEDIUM | src/agents/run_internal/guardrails.py | 94 | # Early first-turn streamed guardrails can run before the agent span exists. | COMMENT |
| MEDIUM | src/agents/realtime/session.py | 421 | # Check if we should run guardrails based on debounce threshold | COMMENT |
| MEDIUM | src/agents/realtime/session.py | 1362 | # Runs the guardrails in a separate task to avoid blocking the main loop | COMMENT |
| MEDIUM | src/agents/sandbox/entries/mounts/patterns.py | 678 | # host process that is orchestrating the session. | COMMENT |
| MEDIUM | src/agents/sandbox/memory/phase_one.py | 69 | # context window once model metadata is available in the SDK. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/tracing.md | 161 | api_key="your-api-key", | CODE |
| HIGH | docs/ja/tracing.md | 165 | api_key="your-api-key", | CODE |
| HIGH | docs/ja/realtime/quickstart.md | 134 | export OPENAI_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/ja/realtime/quickstart.md | 140 | session = await runner.run(model_config={"api_key": "your-api-key"}) | CODE |
| HIGH | docs/realtime/quickstart.md | 130 | export OPENAI_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/realtime/quickstart.md | 136 | session = await runner.run(model_config={"api_key": "your-api-key"}) | CODE |
| HIGH | docs/zh/tracing.md | 165 | api_key="your-api-key", | CODE |
| HIGH | docs/zh/realtime/quickstart.md | 134 | export OPENAI_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/zh/realtime/quickstart.md | 140 | session = await runner.run(model_config={"api_key": "your-api-key"}) | CODE |
| HIGH | docs/ko/tracing.md | 165 | api_key="your-api-key", | CODE |
| HIGH | docs/ko/realtime/quickstart.md | 134 | export OPENAI_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/ko/realtime/quickstart.md | 140 | session = await runner.run(model_config={"api_key": "your-api-key"}) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_run_state.py | 195 | CODE | |
| LOW | tests/test_run_step_execution.py | 2908 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 306 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 1034 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 1101 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 1153 | CODE | |
| LOW | tests/extensions/sandbox/test_e2b.py | 1367 | CODE | |
| LOW | tests/sandbox/capabilities/test_apply_patch_tool.py | 241 | CODE | |
| LOW | …ndbox/extensions/daytona/usaspending_text2sql/agent.py | 203 | CODE | |
| LOW | src/agents/run.py | 200 | CODE | |
| LOW | src/agents/run.py | 284 | CODE | |
| LOW | src/agents/run.py | 366 | CODE | |
| LOW | src/agents/responses_websocket_session.py | 81 | CODE | |
| LOW | src/agents/tool_context.py | 60 | CODE | |
| LOW | src/agents/retry.py | 62 | CODE | |
| LOW | src/agents/agent.py | 508 | CODE | |
| LOW | src/agents/tool.py | 599 | CODE | |
| LOW | src/agents/tool.py | 1851 | CODE | |
| LOW | src/agents/tool.py | 1876 | CODE | |
| LOW | src/agents/tool.py | 1899 | CODE | |
| LOW | src/agents/tracing/create.py | 188 | CODE | |
| LOW | src/agents/tracing/create.py | 353 | CODE | |
| LOW | src/agents/tracing/create.py | 397 | CODE | |
| LOW | src/agents/mcp/server.py | 541 | CODE | |
| LOW | src/agents/mcp/server.py | 1116 | CODE | |
| LOW | src/agents/mcp/server.py | 1241 | CODE | |
| LOW | src/agents/mcp/server.py | 1381 | CODE | |
| LOW | src/agents/models/multi_provider.py | 75 | CODE | |
| LOW | src/agents/models/openai_provider.py | 45 | CODE | |
| LOW | src/agents/extensions/experimental/codex/codex_tool.py | 236 | CODE | |
| LOW | src/agents/extensions/sandbox/vercel/sandbox.py | 199 | CODE | |
| LOW | src/agents/extensions/sandbox/runloop/sandbox.py | 479 | CODE | |
| LOW | src/agents/extensions/sandbox/blaxel/mounts.py | 206 | CODE | |
| LOW | src/agents/extensions/sandbox/blaxel/sandbox.py | 1187 | CODE | |
| LOW | src/agents/extensions/sandbox/daytona/sandbox.py | 327 | CODE | |
| LOW | src/agents/extensions/sandbox/modal/sandbox.py | 289 | CODE | |
| LOW | src/agents/extensions/sandbox/e2b/sandbox.py | 443 | CODE | |
| LOW | src/agents/extensions/sandbox/e2b/sandbox.py | 210 | CODE | |
| LOW | src/agents/extensions/sandbox/e2b/sandbox.py | 271 | CODE | |
| LOW | src/agents/extensions/sandbox/e2b/sandbox.py | 625 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/agents/run_state.py | 667 | Serializes the run state to a JSON-compatible dictionary. This method is used to serialize the run state to a d | STRING |
| HIGH | src/agents/run_state.py | 1036 | Deserializes a run state from a JSON string. This method is used to deserialize a run state from a string that | STRING |
| HIGH | src/agents/run_state.py | 1077 | Deserializes a run state from a JSON dictionary. This method is used to deserialize a run state from a dict tha | STRING |
| HIGH | src/agents/extensions/memory/advanced_sqlite_session.py | 808 | Create a new branch starting from a specific user message turn. Args: turn_number: The branch turn | STRING |
| HIGH | src/agents/extensions/memory/advanced_sqlite_session.py | 885 | Create branch from the first user turn matching the search term. Args: search_term: Text to search | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/realtime/test_session_exceptions.py | 121 | # Set events to send | COMMENT |
| LOW | tests/voice/test_input.py | 130 | # Add audio to the queue | COMMENT |
| LOW | examples/memory/memory_session_hitl_example.py | 36 | # Check if any city name is in the provided location string | COMMENT |
| LOW | examples/memory/openai_session_hitl_example.py | 36 | # Check if any city name is in the provided location string | COMMENT |
| LOW | examples/realtime/cli/demo.py | 282 | # Check if there's enough data to read | COMMENT |
| LOW | examples/agent_patterns/agents_as_tools_structured.py | 41 | # Set include_input_schema to true to include the full JSON Schema: | COMMENT |
| LOW | examples/agent_patterns/streaming_guardrails.py | 68 | # Check if it's time to run the guardrail check | COMMENT |
| LOW | src/agents/models/chatcmpl_converter.py | 134 | # Check if message is agents.extensions.models.litellm_model.InternalChatCompletionMessage | COMMENT |
| LOW | src/agents/extensions/memory/advanced_sqlite_session.py | 964 | # Check if trying to delete current branch | COMMENT |
| LOW | src/agents/extensions/models/litellm_model.py | 640 | # Check if this is an assistant message with tool calls | COMMENT |
| LOW | src/agents/realtime/session.py | 276 | # Check if there's a stored exception to raise | COMMENT |
| LOW | src/agents/realtime/session.py | 421 | # Check if we should run guardrails based on debounce threshold | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_cancel_streaming.py | 259 | CODE | |
| MEDIUM | tests/test_run_step_execution.py | 2599 | CODE | |
| MEDIUM | tests/models/test_model_retry.py | 1566 | CODE | |
| MEDIUM | tests/models/test_model_retry.py | 1696 | CODE | |
| MEDIUM | tests/models/test_model_retry.py | 1740 | CODE | |
| MEDIUM | tests/models/test_model_retry.py | 2062 | CODE | |
| MEDIUM | tests/models/test_model_retry.py | 2106 | CODE | |
| MEDIUM | src/agents/voice/workflow.py | 41 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_responses_tracing.py | 45 | self.id = "dummy-id" | CODE |
| LOW | tests/test_responses_tracing.py | 101 | "response_id": "dummy-id", | CODE |
| LOW | tests/test_responses_tracing.py | 252 | response=fake_model.get_response_obj([], "dummy-id-123"), | CODE |
| LOW | tests/test_responses_tracing.py | 281 | "response_id": "dummy-id-123", | CODE |
| LOW | tests/test_responses_tracing.py | 325 | self.response = fake_model.get_response_obj([], "dummy-id-terminal") | CODE |
| LOW | tests/test_responses_tracing.py | 394 | response=fake_model.get_response_obj([], "dummy-id-123"), | CODE |
| LOW | tests/test_responses_tracing.py | 470 | response=fake_model.get_response_obj([], "dummy-id-123"), | CODE |
| LOW | tests/test_run_state.py | 2210 | state = make_state(agent, context=context, original_input="placeholder", max_turns=5) | CODE |
| LOW | tests/models/test_model_payload_iterators.py | 87 | id="dummy-id", | CODE |
| LOW | tests/extensions/sandbox/test_blaxel.py | 157 | def __init__(self, value: str = "fake-token-abc123") -> None: | CODE |
| LOW | examples/basic/tool_guardrails.py | 29 | "name": "John Doe", | CODE |
| LOW | examples/basic/tool_guardrails.py | 32 | "phone": "555-1234", | CODE |
| LOW | examples/basic/tool_guardrails.py | 43 | "phone": "555-1234", | CODE |
| LOW | examples/basic/tool_guardrails.py | 95 | if "555-1234" in output_str: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/agents/voice/models/openai_tts.py | 42 | response = self._client.audio.speech.with_streaming_response.create( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/models/test_anthropic_thinking_blocks.py | 144 | # Step 1: Convert message to output items | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 177 | # Step 2: Convert output items back to messages | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 330 | # Step 1: Convert message to output items | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 366 | # Step 2: Convert output items back to messages with preserve_thinking_blocks=True | COMMENT |
| LOW | tests/models/test_gemini_thought_signatures.py | 38 | # Step 1: Convert to items | COMMENT |
| LOW | tests/models/test_gemini_thought_signatures.py | 53 | # Step 2: Convert back to messages | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/models/test_anthropic_thinking_blocks.py | 144 | # Step 1: Convert message to output items | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 177 | # Step 2: Convert output items back to messages | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 330 | # Step 1: Convert message to output items | COMMENT |
| LOW | tests/models/test_anthropic_thinking_blocks.py | 366 | # Step 2: Convert output items back to messages with preserve_thinking_blocks=True | COMMENT |
| LOW | tests/models/test_gemini_thought_signatures.py | 38 | # Step 1: Convert to items | COMMENT |
| LOW | tests/models/test_gemini_thought_signatures.py | 53 | # Step 2: Convert back to messages | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_run_state.py | 5296 | # This should not raise an error, just return empty tools | COMMENT |
| MEDIUM | tests/mcp/test_tool_filtering.py | 206 | # Role-based filter for comprehensive testing | COMMENT |
| LOW | examples/customer_service/main.py | 158 | # Here, we'll just use a random UUID for the conversation ID | COMMENT |
| MEDIUM | examples/mcp/prompt_server/server.py | 20 | return f"""You are a senior {language} code review specialist. Your role is to provide comprehensive code analysis w | CODE |
| LOW | src/agents/result.py | 691 | # Soft cancel - just set the flag | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/basic/tool_guardrails.py | 173 | ❌ Guardrail rejected function tool call: I'm unable to send the email as mentioning ACME Corp. is restricted. | STRING |
| MEDIUM | examples/basic/tool_guardrails.py | 180 | ❌ Guardrail rejected function tool output: I'm unable to retrieve the contact info for user456 because it contains restr | STRING |
| MEDIUM | examples/handoffs/message_filter_streaming.py | 37 | # or, you can use the HandoffInputData.clone(kwargs) method | COMMENT |
| MEDIUM | examples/handoffs/message_filter.py | 37 | # or, you can use the HandoffInputData.clone(kwargs) method | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/__init__.py | 1 | # Make the examples directory into a package to avoid top-level module name collisions. | COMMENT |
| LOW | examples/basic/lifecycle_example.py | 181 | ### 11: LLM ended. Usage: 3 requests, 472 input tokens, 45 output tokens, 517 total tokens | COMMENT |
| LOW | examples/basic/stream_items.py | 61 | # 3. **Why did the scarecrow win an award?** | COMMENT |
| LOW | examples/sandbox/memory.py | 81 | ), | COMMENT |
| LOW | examples/sandbox/memory.py | 101 | # | COMMENT |
| LOW | src/agents/models/chatcmpl_stream_handler.py | 961 | # Content-filter refusal with no emitted output: synthesize a refusal so | COMMENT |
| LOW | src/agents/extensions/memory/mongodb_session.py | 81 | atomically incrementing a counter on the session metadata document. This | COMMENT |
| LOW | src/agents/sandbox/sandboxes/docker.py | 641 | # Frame the payload by length so the in-container reader terminates on a | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/realtime/test_realtime_model_settings.py | 65 | def helper() -> str: | CODE |