AI Agent Framework, the Pydantic way
7431 matches across 19 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 108 | def _isinstance_maybe_generic(value: Any, type_: type[Any]) -> bool: |
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 133 | async def run_output_validate_hooks( |
| LOW | pydantic_ai_slim/pydantic_ai/_thinking_part.py | 6 | def split_content_into_text_and_thinking(content: str, thinking_tags: tuple[str, str]) -> list[ThinkingPart | TextPart]: |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 155 | def get_parallel_execution_mode(self, calls: list[ToolCallPart]) -> ParallelExecutionMode: |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 505 | async def validate_output_tool_call( |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 830 | async def resolve_deferred_tool_calls( |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 68 | def get_agent_run_baggage_attributes() -> dict[str, Any]: |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 113 | def model_request_parameters_attributes( |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 129 | def annotate_tool_call_otel_metadata(response: ModelResponse, parameters: ModelRequestParameters) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 446 | def get_output_tool_span_name(self, tool_name: str) -> str: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 371 | def _narrow_native_tool_search_call(part: NativeToolCallPart) -> NativeToolSearchCallPart: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 378 | def _narrow_native_tool_search_return(part: NativeToolReturnPart) -> NativeToolSearchReturnPart: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 392 | def _narrow_tool_search_return(part: ToolReturnPart) -> ToolSearchReturnPart: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 440 | def synthesize_local_from_native_call(part: NativeToolSearchCallPart) -> ToolSearchCallPart: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 452 | def synthesize_local_from_native_return(part: NativeToolSearchReturnPart) -> ToolSearchReturnPart: |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 469 | def synthesize_local_tool_search_messages(messages: list[ModelMessage]) -> list[ModelMessage]: |
| LOW | pydantic_ai_slim/pydantic_ai/_mcp.py | 129 | def map_from_sampling_content( |
| LOW | pydantic_ai_slim/pydantic_ai/tools.py | 351 | def _deferred_tool_call_result_discriminator(x: Any) -> str | None: |
| LOW | pydantic_ai_slim/pydantic_ai/tools.py | 428 | def _named_required_fields_schema(self, named_required_fields: Sequence[tuple[str, bool, Any]]) -> JsonSchemaValue: |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 345 | def get_conflicting_type_names(signatures: list[FunctionSignature]) -> frozenset[str]: |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 381 | def collect_unique_referenced_types(signatures: list[FunctionSignature]) -> list[TypeSignature]: |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 494 | def _build_params_from_schema( |
| LOW | pydantic_ai_slim/pydantic_ai/_warnings.py | 18 | def warn_on_prepare_callback_returned_none(prepare_func: Callable[..., object]) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/_function_schema.py | 384 | def _extract_return_schema_type(return_annotation: Any, function: Callable[..., Any]) -> Any: |
| LOW | pydantic_ai_slim/pydantic_ai/_spec.py | 36 | def serializes_as_string_keyed_dict(value: Any) -> bool: |
| LOW | pydantic_ai_slim/pydantic_ai/_template.py | 90 | def __get_pydantic_core_schema__( |
| LOW | pydantic_ai_slim/pydantic_ai/_template.py | 168 | def _hint_contains_template_str(hint: Any) -> bool: |
| LOW | pydantic_ai_slim/pydantic_ai/_template.py | 178 | def _import_pydantic_handlebars() -> Any: |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 332 | async def _stream_text_deltas_ungrouped() -> AsyncIterator[tuple[str, int]]: |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 723 | async def validate_structured_output( |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 1064 | def _get_usage_checking_stream_response( |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 1081 | def _get_deferred_tool_requests( |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 1543 | def __get_pydantic_core_schema__(cls, _: Any, __: Any) -> CoreSchema: |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 1770 | def __get_pydantic_core_schema__(cls, _: Any, __: Any) -> CoreSchema: |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 1883 | def __get_pydantic_core_schema__(cls, _: Any, __: Any) -> CoreSchema: |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2378 | def _invalidate_resources_cache(self) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2381 | def _invalidate_prompts_cache(self) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2765 | def _make_httpx_client_factory( |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2893 | def _mcp_server_discriminator(value: dict[str, Any]) -> str | None: |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 185 | def _multi_modal_content_identifier(identifier: str | bytes) -> str: |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 958 | def _infer_modality_from_media_type(media_type: str) -> Literal['image', 'audio', 'video'] | None: |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 969 | def _convert_binary_to_otel_part( |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 1265 | def model_response_str_and_user_content(self) -> tuple[str, list[UserContent]]: |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 1996 | def _model_request_part_discriminator(v: Any) -> str | None: |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 2034 | def _model_response_part_discriminator(v: Any) -> str | None: |
| LOW | pydantic_ai_slim/pydantic_ai/exceptions.py | 62 | def __get_pydantic_core_schema__(cls, _: Any, __: Any) -> core_schema.CoreSchema: |
| LOW | pydantic_ai_slim/pydantic_ai/direct.py | 38 | def _ensure_instruction_parts( |
| LOW | pydantic_ai_slim/pydantic_ai/direct.py | 231 | def model_request_stream_sync( |
| LOW | pydantic_ai_slim/pydantic_ai/direct.py | 358 | def _check_context_manager_usage(self) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 495 | def _handle_embedded_thinking_start( |
| LOW | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 504 | def _handle_embedded_thinking_content( |
| LOW | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 521 | def _handle_embedded_thinking_end(self, vendor_part_id: VendorId) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 142 | def check_incomplete_tool_call(self) -> None: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 355 | async def _handle_deferred_tool_results( |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 402 | async def _reevaluate_dynamic_prompts( |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 470 | async def _prepare_request_parameters( |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1292 | def _recover_text_from_message_history(message_history: list[_messages.ModelMessage]) -> str | None: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1427 | def _build_output_run_context( |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1475 | def _emit_legacy_output_tool_function_events( |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 2062 | def get_captured_run_messages() -> _RunMessages: |
| 4993 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | README.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | …ai/.agents/skills/building-pydantic-ai-agents/SKILL.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/index.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/gateway.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/gateway.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/gateway.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/gateway.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/gateway.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | docs/logfire.md | 0 | the first known use of "hello, world" was in a 1974 textbook about the c programming language. |
| HIGH | README.md | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | docs/index.md | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | examples/pydantic_ai_examples/bank_support.py | 0 | support_advice='hello john, your current account balance, including pending transactions, is $123.45.' block_card=false |
| HIGH | README.md | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | …ttes/test_anthropic/test_anthropic_web_fetch_tool.yaml | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | docs/index.md | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | examples/pydantic_ai_examples/bank_support.py | 0 | support_advice="i'm sorry to hear that, john. we are temporarily blocking your card to prevent unauthorized transactions |
| HIGH | pydantic_ai_slim/pydantic_ai/run.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/run.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/_run_context.py | 0 | metadata associated with this agent run, if configured. |
| HIGH | pydantic_ai_slim/pydantic_ai/run.py | 0 | the unique identifier for the conversation this run belongs to. |
| HIGH | pydantic_ai_slim/pydantic_ai/run.py | 0 | the unique identifier for the conversation this run belongs to. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | the unique identifier for the conversation this run belongs to. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | the unique identifier for the conversation this run belongs to. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | the unique identifier for the conversation this run belongs to. |
| HIGH | pydantic_ai_slim/pydantic_ai/run.py | 0 | return the messages produced during this run. messages provided via `message_history` and messages from older runs are e |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | return the messages produced during this run. messages provided via `message_history` and messages from older runs are e |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | return the messages produced during this run. messages provided via `message_history` and messages from older runs are e |
| HIGH | pydantic_ai_slim/pydantic_ai/_tool_search.py | 0 | default tool name for the typed subclass. discrimination drives off `tool_kind`. |
| HIGH | pydantic_ai_slim/pydantic_ai/_tool_search.py | 0 | default tool name for the typed subclass. discrimination drives off `tool_kind`. |
| HIGH | pydantic_ai_slim/pydantic_ai/_tool_search.py | 0 | default tool name for the typed subclass. discrimination drives off `tool_kind`. |
| HIGH | pydantic_ai_slim/pydantic_ai/_tool_search.py | 0 | default tool name for the typed subclass. discrimination drives off `tool_kind`. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | whether the stream has been cancelled via `cancel()`. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | whether the stream has been cancelled via `cancel()`. |
| HIGH | pydantic_ai_slim/pydantic_ai/models/__init__.py | 0 | whether the stream has been cancelled via `cancel()`. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | return the usage of the whole run. !!! note this won't return the full usage until the stream is finished. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | return the usage of the whole run. !!! note this won't return the full usage until the stream is finished. |
| HIGH | pydantic_ai_slim/pydantic_ai/result.py | 0 | return the usage of the whole run. !!! note this won't return the full usage until the stream is finished. |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 0 | see [mcp specification](https://modelcontextprotocol.io/specification/2025-11-25/basic#_meta) for notes on _meta usage. |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 0 | see [mcp specification](https://modelcontextprotocol.io/specification/2025-11-25/basic#_meta) for notes on _meta usage. |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 0 | see [mcp specification](https://modelcontextprotocol.io/specification/2025-11-25/basic#_meta) for notes on _meta usage. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 0 | part type identifier, this is available on all parts as a discriminator. |
| 142 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | pydantic_ai_slim/pydantic_ai/_json_schema.py | 195 | # they are both null, so just return one of them |
| HIGH | pydantic_ai_slim/pydantic_ai/models/openai.py | 2053 | # Some OpenAI-compatible gateways (e.g. Bifrost) return text=null; |
| HIGH | tests/test_temporal.py | 476 | content='{"index": 0, "part": {"tool_name": "get_country", "args": " |
| HIGH | tests/test_temporal.py | 479 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 482 | content='{"index": 0, "part": {"tool_name": "get_country", "args": " |
| HIGH | tests/test_temporal.py | 485 | content='{"index": 1, "part": {"tool_name": "get_product_name", "arg |
| HIGH | tests/test_temporal.py | 488 | content='{"index": 1, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 491 | content='{"index": 1, "part": {"tool_name": "get_product_name", "arg |
| HIGH | tests/test_temporal.py | 580 | content='{"index": 0, "part": {"tool_name": "get_weather", "args": " |
| HIGH | tests/test_temporal.py | 583 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 586 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 589 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 592 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 595 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 598 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 601 | content='{"index": 0, "part": {"tool_name": "get_weather", "args": " |
| HIGH | tests/test_temporal.py | 661 | content='{"index": 0, "part": {"tool_name": "final_result", "args": |
| HIGH | tests/test_temporal.py | 664 | content='{"tool_name": "final_result", "tool_call_id": null, "event_ |
| HIGH | tests/test_temporal.py | 667 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 670 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 673 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 676 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 679 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 682 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 685 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 688 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 691 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 694 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 697 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 700 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 703 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 706 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 709 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 712 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 715 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 718 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 721 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 724 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 727 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 730 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 733 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 736 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 739 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 742 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 745 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 748 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 751 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 754 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 757 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 760 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 763 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 766 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 769 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 772 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 775 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 778 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 781 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 784 | content='{"index": 0, "delta": {"tool_name_delta": null, "args_delta |
| HIGH | tests/test_temporal.py | 787 | content='{"index": 0, "part": {"tool_name": "final_result", "args": |
| HIGH | tests/test_temporal.py | 507 | content='{"part": {"tool_name": "get_country", "args": "{}", "tool_call_id": |
| 145 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 14 | |
| LOW | pydantic_ai_slim/pydantic_ai/_thinking_part.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/_uuid.py | 9 | |
| LOW | pydantic_ai_slim/pydantic_ai/_enqueue.py | 7 | |
| LOW | pydantic_ai_slim/pydantic_ai/run.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/format_prompt.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 23 | |
| LOW | pydantic_ai_slim/pydantic_ai/_mcp.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/tools.py | 1 | |
| LOW | pydantic_ai_slim/pydantic_ai/_ssrf.py | 8 | |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 8 | |
| LOW | pydantic_ai_slim/pydantic_ai/concurrency.py | 3 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 4 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 5 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 16 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 17 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 17 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 18 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 18 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 18 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 18 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 24 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 24 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 24 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 24 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 30 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 48 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| LOW | pydantic_ai_slim/pydantic_ai/__init__.py | 49 | |
| 819 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 33 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 35 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 90 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 92 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 432 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 434 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 757 | # ============================================================================= |
| MEDIUM | pydantic_ai_slim/pydantic_ai/function_signature.py | 759 | # ============================================================================= |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 123 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 125 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 244 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 246 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 280 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 282 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 410 | # ------------------------------------------------------------------ |
| MEDIUM | …ic_ai_slim/pydantic_ai/capabilities/instrumentation.py | 412 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_temporal.py | 3233 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 3235 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 2744 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 2747 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 2790 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 2793 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 3144 | # ============================================================================ |
| MEDIUM | tests/test_temporal.py | 3146 | # ============================================================================ |
| MEDIUM | tests/test_function_signature.py | 577 | # ============================================================================= |
| MEDIUM | tests/test_function_signature.py | 579 | # ============================================================================= |
| MEDIUM | tests/test_function_signature.py | 679 | # ============================================================================= |
| MEDIUM | tests/test_function_signature.py | 681 | # ============================================================================= |
| MEDIUM | tests/test_function_signature.py | 1006 | # ============================================================================= |
| MEDIUM | tests/test_function_signature.py | 1008 | # ============================================================================= |
| MEDIUM | tests/test_streaming_errors.py | 211 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 213 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 330 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 332 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 439 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 441 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 527 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 529 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 625 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 627 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 721 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 723 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 931 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 933 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 166 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 168 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 757 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 759 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 846 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_streaming_errors.py | 848 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 110 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 112 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 160 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 162 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 893 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 895 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 958 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 960 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 74 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/test_thinking.py | 76 | # --------------------------------------------------------------------------- |
| 96 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | pydantic_ai_slim/pydantic_ai/common_tools/exa.py | 417 | toolset = ExaToolset(api_key='your-api-key') |
| HIGH | clai/README.md | 22 | export OPENAI_API_KEY='your-api-key-here' |
| HIGH | tests/providers/test_ovhcloud.py | 32 | provider = OVHcloudProvider(api_key='your-api-key') |
| HIGH | tests/providers/test_ovhcloud.py | 36 | assert provider.client.api_key == 'your-api-key' |
| HIGH | tests/providers/test_ovhcloud.py | 52 | openai_client = openai.AsyncOpenAI(api_key='your-api-key') |
| HIGH | tests/providers/test_ovhcloud.py | 59 | provider = OVHcloudProvider(api_key='your-api-key', http_client=http_client) |
| HIGH | tests/providers/test_ovhcloud.py | 61 | assert provider.client.api_key == 'your-api-key' |
| HIGH | tests/providers/test_ovhcloud.py | 65 | provider = OVHcloudProvider(api_key='your-api-key') |
| HIGH | docs/cli.md | 38 | export OPENAI_API_KEY='your-api-key-here' |
| HIGH | docs/embeddings.md | 115 | export OPENAI_API_KEY='your-api-key' |
| HIGH | docs/embeddings.md | 187 | api_key='your-api-key', |
| HIGH | docs/embeddings.md | 221 | export GOOGLE_API_KEY='your-api-key' |
| HIGH | docs/embeddings.md | 322 | export CO_API_KEY='your-api-key' |
| HIGH | docs/embeddings.md | 378 | export VOYAGE_API_KEY='your-api-key' |
| HIGH | docs/retries.md | 297 | api_key='your-api-key', # Replace with actual API key |
| HIGH | docs/models/xai.md | 22 | export XAI_API_KEY='your-api-key' |
| HIGH | docs/models/xai.md | 54 | provider = XaiProvider(api_key='your-api-key') |
| HIGH | docs/models/xai.md | 69 | xai_client = AsyncClient(api_key='your-api-key') |
| HIGH | docs/models/anthropic.md | 22 | export ANTHROPIC_API_KEY='your-api-key' |
| HIGH | docs/models/anthropic.md | 60 | 'claude-sonnet-4-5', provider=AnthropicProvider(api_key='your-api-key') |
| HIGH | docs/models/anthropic.md | 80 | provider=AnthropicProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/models/anthropic.md | 261 | api_key='your-api-key', |
| HIGH | docs/models/groq.md | 22 | export GROQ_API_KEY='your-api-key' |
| HIGH | docs/models/groq.md | 55 | 'llama-3.3-70b-versatile', provider=GroqProvider(api_key='your-api-key') |
| HIGH | docs/models/groq.md | 73 | provider=GroqProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/models/openai.md | 20 | export OPENAI_API_KEY='your-api-key' |
| HIGH | docs/models/openai.md | 55 | model = OpenAIChatModel('gpt-5.2', provider=OpenAIProvider(api_key='your-api-key')) |
| HIGH | docs/models/openai.md | 90 | api_key='your-api-key', |
| HIGH | docs/models/openai.md | 341 | base_url='https://<openai-compatible-api-endpoint>', api_key='your-api-key' |
| HIGH | docs/models/openai.md | 367 | base_url='https://<openai-compatible-api-endpoint>.com', api_key='your-api-key' |
| HIGH | docs/models/openai.md | 446 | provider=AlibabaProvider(api_key='your-api-key'), |
| HIGH | docs/models/openai.md | 462 | api_key='your-api-key', |
| HIGH | docs/models/openai.md | 496 | api_key='your-api-key', |
| HIGH | docs/models/openai.md | 521 | api_key='your-api-key', |
| HIGH | docs/models/openai.md | 544 | api_key='your-api-key', |
| HIGH | docs/models/openai.md | 831 | provider=OVHcloudProvider(api_key='your-api-key'), |
| HIGH | docs/models/openai.md | 865 | provider=SambaNovaProvider(api_key='your-api-key'), |
| HIGH | docs/models/openai.md | 885 | api_key='your-api-key', |
| HIGH | docs/models/bedrock.md | 22 | export AWS_BEARER_TOKEN_BEDROCK='your-api-key' |
| HIGH | docs/models/ollama.md | 25 | export OLLAMA_API_KEY='your-api-key' # required for Ollama Cloud |
| HIGH | docs/models/cohere.md | 22 | export CO_API_KEY='your-api-key' |
| HIGH | docs/models/cohere.md | 54 | model = CohereModel('command-r7b-12-2024', provider=CohereProvider(api_key='your-api-key')) |
| HIGH | docs/models/cohere.md | 71 | provider=CohereProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/models/mistral.md | 22 | export MISTRAL_API_KEY='your-api-key' |
| HIGH | docs/models/mistral.md | 55 | 'mistral-large-latest', provider=MistralProvider(api_key='your-api-key', base_url='https://<mistral-provider-endpoin |
| HIGH | docs/models/mistral.md | 73 | provider=MistralProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/models/cerebras.md | 22 | export CEREBRAS_API_KEY='your-api-key' |
| HIGH | docs/models/cerebras.md | 55 | 'llama-3.3-70b', provider=CerebrasProvider(api_key='your-api-key') |
| HIGH | docs/models/cerebras.md | 73 | provider=CerebrasProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/models/google.md | 34 | export GOOGLE_API_KEY=your-api-key |
| HIGH | docs/models/google.md | 53 | provider = GoogleProvider(api_key='your-api-key') |
| HIGH | docs/models/google.md | 124 | export GOOGLE_API_KEY=your-api-key |
| HIGH | docs/models/google.md | 143 | provider = GoogleCloudProvider(api_key='your-api-key') |
| HIGH | docs/models/google.md | 258 | provider=GoogleProvider(api_key='your-api-key', http_client=custom_http_client), |
| HIGH | docs/examples/setup.md | 30 | export OPENAI_API_KEY=your-api-key |
| HIGH | docs/examples/setup.md | 36 | export GEMINI_API_KEY=your-api-key |
| HIGH | docs/examples/setup.md | 56 | OPENAI_API_KEY='your-api-key' \ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | pydantic_ai_slim/pydantic_ai/_output.py | 374 | Execute an output function with error handling, converting `ModelRetry` to `ToolRetryError`. Tracing for output-fun |
| HIGH | pydantic_ai_slim/pydantic_ai/retries.py | 169 | Handle an HTTP request with retry logic. Args: request: The HTTP request to handle. Return |
| HIGH | pydantic_ai_slim/pydantic_ai/retries.py | 266 | Handle an async HTTP request with retry logic. Args: request: The HTTP request to handle. |
| HIGH | pydantic_ai_slim/pydantic_ai/tool_manager.py | 473 | Execute a validated tool call via capability hooks. The Instrumentation capability (if present) creates trace s |
| HIGH | pydantic_ai_slim/pydantic_ai/tool_manager.py | 779 | Handle a tool call by validating the arguments, calling the tool, and handling retries. This is a convenience m |
| HIGH | pydantic_ai_slim/pydantic_ai/_ssrf.py | 250 | Validate that the URL uses an allowed protocol (http or https). Args: url: The URL to validate. Return |
| HIGH | pydantic_ai_slim/pydantic_ai/_ssrf.py | 333 | Validate URL and resolve hostname to IP addresses. Performs protocol validation, DNS resolution, and IP validation. |
| HIGH | pydantic_ai_slim/pydantic_ai/_ssrf.py | 443 | Download content from a URL with SSRF protection. This function: 1. Validates the URL protocol (only http/https |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 978 | Retrieve a specific prompt by name. Args: name: The name of the prompt to retrieve. arg |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 1034 | Call a tool on the server. Args: name: The name of the tool to call. args: The argument |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 1184 | Read the contents of a specific resource by URI. Args: uri: The URI of the resource to read, or a R |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 2657 | Read the contents of a specific resource by URI. Args: uri: The URI of the resource to read, or a [ |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 2922 | Recursively expand environment variables in a JSON structure. Environment variables can be referenced using `${VAR_ |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 2973 | Load MCP servers from a configuration file. Environment variables can be referenced in the configuration file using |
| HIGH | pydantic_ai_slim/pydantic_ai/mcp.py | 3013 | Load `MCPToolset`s from a configuration file. The configuration file uses the same `mcpServers` JSON shape as Claud |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 2396 | Apply this text delta to an existing `TextPart`. Args: part: The existing model response part, whic |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 2459 | Apply this thinking delta to an existing `ThinkingPart`. Args: part: The existing model response pa |
| HIGH | pydantic_ai_slim/pydantic_ai/messages.py | 2593 | Apply this delta to a part or delta, returning a new part or delta with the changes applied. Args: |
| HIGH | pydantic_ai_slim/pydantic_ai/direct.py | 67 | Make a non-streamed request to a model. ```py title="model_request_example.py" from pydantic_ai import ModelReq |
| HIGH | pydantic_ai_slim/pydantic_ai/direct.py | 120 | Make a Synchronous, non-streamed request to a model. This is a convenience method that wraps [`model_request`][pyda |
| HIGH | pydantic_ai_slim/pydantic_ai/direct.py | 176 | Make a streamed async request to a model. ```py {title="model_request_stream_example.py"} from pydantic_ai imp |
| HIGH | pydantic_ai_slim/pydantic_ai/direct.py | 239 | Make a streamed synchronous request to a model. This is the synchronous version of [`model_request_stream`][pydanti |
| HIGH | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 132 | Handle incoming text content, creating or updating a TextPart in the manager as appropriate. When `vendor_part_ |
| HIGH | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 219 | Handle incoming thinking content, creating or updating a ThinkingPart in the manager as appropriate. When `vend |
| HIGH | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 302 | Handle or update a tool call, creating or updating a `ToolCallPart`, `NativeToolCallPart`, or `ToolCallPartDelta`. |
| HIGH | pydantic_ai_slim/pydantic_ai/ui/vercel_ai/_utils.py | 85 | Dump provider metadata from keyword arguments. Args: wrapper_key: The key to wrap the metadata in. Defaults |
| HIGH | pydantic_ai_slim/pydantic_ai/embeddings/__init__.py | 329 | Count the number of tokens in the given text. Args: text: The text to tokenize and count. |
| HIGH | pydantic_ai_slim/pydantic_ai/embeddings/result.py | 86 | Get the embedding for an input by index or by the original input text. Args: item: Either an intege |
| HIGH | pydantic_ai_slim/pydantic_ai/embeddings/base.py | 104 | Count the number of tokens in the given text. Args: text: The text to tokenize and count. |
| HIGH | pydantic_ai_slim/pydantic_ai/models/cerebras.py | 119 | Transforms a 'CerebrasModelSettings' object into an 'OpenAIChatModelSettings' object. Args: model_settings: |
| HIGH | pydantic_ai_slim/pydantic_ai/models/instrumented.py | 182 | Convert a list of model messages to OpenTelemetry events. Args: messages: The messages to convert. |
| HIGH | pydantic_ai_slim/pydantic_ai/models/openrouter.py | 551 | Transforms a 'OpenRouterModelSettings' object into an 'OpenAIChatModelSettings' object. Args: model_setting |
| HIGH | pydantic_ai_slim/pydantic_ai/models/bedrock.py | 250 | Insert a cache point before trailing document/video content. AWS rejects cache points that directly follow document |
| HIGH | pydantic_ai_slim/pydantic_ai/models/_tool_choice.py | 17 | Resolve user-facing tool_choice into a canonical form for providers. Pydantic AI distinguishes between function too |
| HIGH | pydantic_ai_slim/pydantic_ai/toolsets/fastmcp.py | 251 | Call a tool on the server. Args: name: The name of the tool to call. args: The argument |
| HIGH | pydantic_evals/pydantic_evals/generation.py | 42 | Use an LLM to generate a dataset of test cases, each consisting of input, expected output, and metadata. This funct |
| HIGH | pydantic_evals/pydantic_evals/dataset.py | 626 | Load a dataset from a file. Args: path: Path to the file to load. fmt: Format of the fi |
| HIGH | pydantic_evals/pydantic_evals/dataset.py | 669 | Load a dataset from a string. Args: contents: The string content to parse. fmt: Format |
| HIGH | pydantic_evals/pydantic_evals/dataset.py | 707 | Load a dataset from a dictionary. Args: data: Dictionary representation of the dataset. |
| HIGH | pydantic_evals/pydantic_evals/dataset.py | 940 | Infer the format to use for a file based on its extension. Args: path: The path to infer the format |
| HIGH | pydantic_evals/pydantic_evals/dataset.py | 1012 | Run a task on a case and return the context for evaluators. Args: task: The task to run. case: The |
| HIGH | pydantic_evals/pydantic_evals/_utils.py | 50 | Get the name of a function, unwrapping partials and decorators. Args: func: The function to get the name of |
| HIGH | …ntic_evals/pydantic_evals/evaluators/_run_evaluator.py | 39 | Run an evaluator and return the results. This function runs an evaluator on the given context and processes the res |
| HIGH | pydantic_graph/pydantic_graph/mermaid.py | 53 | Generate [Mermaid state diagram](https://mermaid.js.org/syntax/stateDiagram.html) code for a graph. Args: g |
| HIGH | pydantic_graph/pydantic_graph/graph.py | 348 | Generate a diagram representing the graph as [mermaid](https://mermaid.js.org/) diagram. This method calls [`py |
| HIGH | pydantic_graph/pydantic_graph/join.py | 236 | Attempt to run the join node. Args: ctx: The graph execution context Returns: |
| HIGH | pydantic_graph/pydantic_graph/step.py | 185 | Attempt to run the step node. Args: ctx: The graph execution context Returns: |
| HIGH | pydantic_graph/pydantic_graph/step.py | 238 | Execute the wrapped node with the step context. Args: ctx: The step context containing the node ins |
| HIGH | pydantic_graph/pydantic_graph/node.py | 82 | Force type variance for proper generic typing. This method exists solely for type checking purposes and should |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 214 | Get the parent fork information for a join node. Args: join_id: The ID of the join node Re |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 494 | Get the trace parent for instrumentation. Args: required: Whether to raise an error if no tracepare |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 1544 | Create an edge path from a BaseNode class. This method integrates v1-style BaseNode classes into the v2 graph |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 1598 | Create edges from a return type hint. This method analyzes return type hints from step functions or node method |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 1666 | Build the final executable graph from the accumulated nodes and edges. This method performs validation, normali |
| HIGH | pydantic_graph/pydantic_graph/graph_builder.py | 1899 | Find the dominating fork for each join node in the graph. This function analyzes the graph structure to find the pa |
| HIGH | pydantic_graph/pydantic_graph/persistence/__init__.py | 154 | Record the run of the node, or error if the node is already running. Args: snapshot_id: The ID of t |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pydantic_ai_slim/pydantic_ai/concurrency.py | 203 | # Create a span for observability while waiting |
| MEDIUM | pydantic_ai_slim/pydantic_ai/_json_schema.py | 188 | # Create a new schema based on the non-null part, mark as nullable |
| MEDIUM | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 1 | """This module provides functionality to manage and update parts of a model's streamed response. |
| MEDIUM | pydantic_ai_slim/pydantic_ai/providers/gateway.py | 1 | """This module implements the Pydantic AI Gateway provider.""" |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/mistral.py | 140 | # This class is a placeholder for any future mistral-specific settings |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/__init__.py | 750 | # This method is not required, but you need to implement it if you want to support `UsageLimits.count_tokens_bef |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/__init__.py | 776 | # This method is not required, but you need to implement it if you want to support streamed responses |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/huggingface.py | 132 | # This class is a placeholder for any future huggingface-specific settings |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/cohere.py | 98 | # This class is a placeholder for any future cohere-specific settings |
| MEDIUM | …tic_ai_slim/pydantic_ai/durable_exec/prefect/_agent.py | 155 | # Create a task to handle each event |
| MEDIUM | tests/test_toolsets.py | 730 | # Create a toolset with tools that can fail |
| MEDIUM | tests/test_ui_web.py | 532 | # Create a test HTML file |
| MEDIUM | tests/test_ui_web.py | 545 | # Create a test HTML file |
| MEDIUM | tests/test_a2a.py | 52 | # Define a test Pydantic model |
| MEDIUM | tests/test_a2a.py | 674 | # Create a response with thinking part and text part |
| MEDIUM | tests/test_temporal.py | 3245 | # Create a graph with parallel execution using the beta API |
| MEDIUM | tests/test_temporal.py | 3935 | # Create a minimal config without data_converter |
| MEDIUM | tests/test_temporal.py | 3278 | # Create a join to collect results |
| MEDIUM | tests/test_tenacity.py | 355 | # Create a retry state with no exception |
| MEDIUM | tests/test_tenacity.py | 369 | # Create a retry state with a non-HTTP exception |
| MEDIUM | tests/test_tenacity.py | 448 | # Create a future date (30 seconds from now) |
| MEDIUM | tests/test_tenacity.py | 474 | # Create a past date |
| MEDIUM | tests/test_tenacity.py | 499 | # Create a future date (120 seconds from now, > max_wait) |
| MEDIUM | tests/test_tenacity.py | 544 | # Create a retry state with no exception to trigger fallback |
| MEDIUM | tests/test_prefect.py | 1131 | # Create a tuple with timestamps |
| MEDIUM | tests/test_prefect.py | 1230 | # Create an agent with a simple tool |
| MEDIUM | tests/test_prefect.py | 1249 | # Create an agent with a tool |
| MEDIUM | tests/test_function_signature.py | 1030 | # Create a function with bare generic annotation (typing.List, not list) |
| MEDIUM | tests/test_usage_limits.py | 430 | # Create a usage with None in details (simulating model response with missing detail) |
| MEDIUM | tests/test_json_schema.py | 60 | # Create a schema with $defs that should not be modified |
| MEDIUM | tests/test_mcp.py | 2511 | # Create a config with environment variables and extra fields containing primitives |
| MEDIUM | tests/evals/test_evaluator_common.py | 258 | # Create a mock GradingOutput |
| MEDIUM | tests/evals/test_evaluator_common.py | 462 | # Create a span tree with a known structure |
| MEDIUM | tests/evals/test_evaluator_context.py | 19 | # Create a mock span tree |
| MEDIUM | tests/evals/test_evaluator_context.py | 22 | # Create a context with all fields populated |
| MEDIUM | tests/evals/test_evaluators.py | 562 | # Create a span tree with a known structure |
| MEDIUM | tests/evals/test_evaluators.py | 568 | # Create a context with this span tree |
| MEDIUM | tests/evals/test_evaluators.py | 102 | # Create a spec |
| MEDIUM | tests/evals/test_evaluators.py | 181 | # Create a context with the correct object typing for IsInstance |
| MEDIUM | tests/evals/test_evaluators.py | 204 | # Create a context with DifferentOutput |
| MEDIUM | tests/evals/test_reports.py | 111 | # Create a new case |
| MEDIUM | tests/evals/test_reports.py | 139 | # Create a case aggregate |
| MEDIUM | tests/evals/test_reports.py | 175 | # Create an evaluator output |
| MEDIUM | tests/evals/test_reports.py | 183 | # Create a case |
| MEDIUM | tests/evals/test_reports.py | 201 | # Create a report with the error case |
| MEDIUM | tests/evals/test_dataset.py | 1580 | # This function is tough to test in an interesting way outside an example... |
| MEDIUM | tests/evals/test_otel.py | 567 | # Create a simple tree for testing negation |
| MEDIUM | tests/evals/test_otel.py | 764 | # Create a test span tree |
| MEDIUM | tests/evals/test_otel.py | 799 | # Create a tree with varying numbers of children |
| MEDIUM | tests/providers/test_litellm.py | 41 | # Create a proper mock profile object that can be updated |
| MEDIUM | tests/providers/test_litellm.py | 139 | # Create a real AsyncClient for the mock |
| MEDIUM | tests/graph/test_graph.py | 457 | # Create a mock span context manager |
| MEDIUM | tests/graph/beta/test_graph_builder.py | 397 | # Create a cycle that doesn't reach the end node |
| MEDIUM | tests/models/test_anthropic.py | 548 | # Create a mock model instance |
| MEDIUM | tests/models/test_anthropic.py | 554 | # Create a list with an unsupported param type (thinking) |
| MEDIUM | tests/models/test_anthropic.py | 528 | # Create a UserPromptPart with CachePoint |
| MEDIUM | tests/models/test_anthropic.py | 808 | # Create a mock client that looks like standard AsyncAnthropic |
| MEDIUM | tests/models/test_anthropic.py | 6707 | # Create a model instance |
| MEDIUM | tests/models/test_anthropic.py | 6778 | # Create a model instance |
| MEDIUM | tests/models/test_anthropic.py | 6818 | # Create a model instance |
| 34 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 133 | |
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 1560 | |
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 459 | |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 312 | |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 356 | |
| LOW | pydantic_ai_slim/pydantic_ai/format_prompt.py | 135 | |
| LOW | pydantic_ai_slim/pydantic_ai/format_prompt.py | 187 | |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 129 | |
| LOW | pydantic_ai_slim/pydantic_ai/_tool_search.py | 469 | |
| LOW | pydantic_ai_slim/pydantic_ai/_mcp.py | 20 | |
| LOW | pydantic_ai_slim/pydantic_ai/_mcp.py | 69 | |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 494 | |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 345 | |
| LOW | pydantic_ai_slim/pydantic_ai/_function_schema.py | 103 | |
| LOW | pydantic_ai_slim/pydantic_ai/_spec.py | 95 | |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 1081 | |
| LOW | pydantic_ai_slim/pydantic_ai/result.py | 243 | |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2696 | |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2818 | |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2864 | |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 1370 | |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2702 | |
| LOW | pydantic_ai_slim/pydantic_ai/_json_schema.py | 58 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 642 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 837 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 1020 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 1152 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 1204 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 2237 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 2288 | |
| LOW | pydantic_ai_slim/pydantic_ai/messages.py | 2458 | |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 134 | |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 219 | |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 261 | |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 286 | |
| LOW | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 121 | |
| LOW | pydantic_ai_slim/pydantic_ai/_parts_manager.py | 292 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 438 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 470 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1493 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1818 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1940 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 2176 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 256 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 355 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 402 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 602 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1084 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1292 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 1092 | |
| LOW | pydantic_ai_slim/pydantic_ai/_utils.py | 271 | |
| LOW | pydantic_ai_slim/pydantic_ai/_utils.py | 687 | |
| LOW | pydantic_ai_slim/pydantic_ai/_utils.py | 310 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 155 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/_adapter.py | 293 | |
| LOW | …ntic_ai_slim/pydantic_ai/ui/vercel_ai/_event_stream.py | 358 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/vercel_ai/_adapter.py | 876 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/vercel_ai/_adapter.py | 919 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/vercel_ai/_adapter.py | 258 | |
| LOW | pydantic_ai_slim/pydantic_ai/ui/vercel_ai/_adapter.py | 514 | |
| 218 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/output.py | 361 | #> {'name': 'John Doe', 'age': 30} |
| LOW | tests/test_agent.py | 240 | {'name': 'John Doe'}, |
| LOW | tests/test_agent.py | 253 | Person(name='John Doe'), |
| LOW | tests/test_agent.py | 2251 | args_json = '{"name": "John Doe", "age": 30}' |
| LOW | tests/test_agent.py | 2261 | assert result.output == snapshot({'name': 'John Doe', 'age': 30}) |
| LOW | tests/test_a2a.py | 61 | args_json = '{"name": "John Doe", "age": 30, "email": "john@example.com"}' |
| LOW | tests/test_a2a.py | 107 | 'result': {'name': 'John Doe', 'age': 30, 'email': 'john@example.com'} |
| LOW | tests/test_examples.py | 578 | args={'name': 'John Doe', 'age': 30}, |
| LOW | tests/test_examples.py | 882 | tool_name='get_user_by_name', args={'name': 'John Doe'}, tool_call_id='pyd_ai_tool_call_id' |
| LOW | tests/models/test_anthropic.py | 2779 | 2. The use of "John Doe" as a reference to a typical male in various contexts |
| LOW | tests/models/test_anthropic.py | 2780 | 3. The use of variations like "Baby Doe" and numbered "John Doe"s in specific cases |
| LOW | tests/models/test_anthropic.py | 2762 | 'This document appears to be a sample PDF file that mainly contains Lorem ipsum text, which is placeholder text |
| LOW | tests/models/test_bedrock.py | 989 | An example text describing the use of "John Doe" as a placeholder name in legal cases, hospitals, and other contexts whe |
| LOW | tests/models/test_bedrock.py | 989 | An example text describing the use of "John Doe" as a placeholder name in legal cases, hospitals, and other contexts whe |
| LOW | tests/models/test_google.py | 832 | 'The main content of the TXT file is an explanation of the placeholder name "John Doe" (and related variations) |
| LOW | tests/models/test_openai_responses.py | 662 | 'The main content of this document is an example of a TXT file type, with an explanation of the use of placehold |
| LOW | tests/models/test_openai_responses.py | 662 | 'The main content of this document is an example of a TXT file type, with an explanation of the use of placehold |
| LOW | …_google/test_google_model_text_document_url_input.yaml | 25 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for childr |
| LOW | …_google/test_google_model_text_document_url_input.yaml | 25 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for childr |
| LOW | …_google/test_google_model_text_document_url_input.yaml | 29 | Similarly, a child or baby whose identity is unknown may be referred to as Baby Doe. A notorious murder case in |
| LOW | …_google/test_google_model_text_document_url_input.yaml | 115 | The main content of the TXT file is an explanation of the placeholder name "John Doe" (and related variati |
| LOW | …/cassettes/test_anthropic/test_document_url_input.yaml | 45 | - text: This document appears to be a sample PDF file that mainly contains Lorem ipsum text, which is placeholder |
| LOW | …/cassettes/test_anthropic/test_document_url_input.yaml | 47 | "This is a simple PDF file. Fun fun fun." The rest of the content consists of several paragraphs of Lorem ipsu |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 25 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for childr |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 25 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for childr |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 29 | Similarly, a child or baby whose identity is unknown may be referred to as Baby Doe. A notorious murder case in |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 92 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 92 | The names "John Doe" for males, "Jane Doe" or "Jane Roe" for females, or "Jonnie Doe" and "Janie Doe" for |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 96 | Similarly, a child or baby whose identity is unknown may be referred to as Baby Doe. A notorious murder ca |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 131 | 2. The use of "John Doe" as a reference to a typical male in various contexts |
| LOW | …ettes/test_anthropic/test_text_document_url_input.yaml | 132 | 3. The use of variations like "Baby Doe" and numbered "John Doe"s in specific cases |
| LOW | …direct-url_force_download-document-google_vertex].yaml | 701 | The content of the document consists of several paragraphs of **Lorem Ipsum** placeholder text. The layout |
| LOW | …_matrix[tool_return_content-url-document-mistral].yaml | 164 | 3. **Placeholder Text**: The majority of the document consists of **Lorem Ipsum** text, which is commonly us |
| LOW | …_matrix[tool_return_content-url-document-mistral].yaml | 343 | - The rest of the document consists of **Lorem Ipsum** text, which is commonly used as placeholder text i |
| LOW | …ix[tool_return_content-url-document-bedrock_nova].yaml | 461 | of **multiple paragraphs** filled with **Lorem Ipsum placeholder text**. Lorem Ipsum is commonly used as d |
| LOW | …ix[tool_return_content-url-document-bedrock_nova].yaml | 463 | appears to be **standard Lorem Ipsum**, which is typically a scrambled version of sections from \"De Finib |
| LOW | …ix[tool_return_content-url-document-bedrock_nova].yaml | 475 | PDF\"**. It contains **Lorem Ipsum placeholder text** organized into multiple paragraphs. The document is |
| LOW | …ool_return_content-url-document-openai_responses].yaml | 226 | I retrieved a PDF file (labelled in the text as "Sample PDF"). Its extracted text contains a short header li |
| LOW | …ect-url_force_download-document-openai_responses].yaml | 600 | - Content: about a dozen paragraphs of placeholder-style text (a mix of typical "Lorem ipsum" filler and Eng |
| LOW | …ix[direct-url_force_download-document-google_2_5].yaml | 521 | simple PDF file. Fun fun fun." The content of the document is placeholder "Lorem Ipsum" text, divided into |
| LOW | …x[tool_return_content-url-document-google_vertex].yaml | 341 | * **Body Text:** The document contains four paragraphs of "Lorem ipsum" text, which is standard Latin pl |
| LOW | …ool_return_matrix[direct-url-document-google_2_5].yaml | 521 | document contains several paragraphs of "Lorem ipsum" placeholder text. |
| LOW | …_matrix[tool_return_content-url-document-xai].xai.yaml | 121 | followed by several paragraphs of standard Lorem Ipsum placeholder text |
| LOW | …atrix[tool_return_content-url-document-anthropic].yaml | 157 | The PDF contains several paragraphs of **Lorem Ipsum** placeholder text - the classic dummy text commonly used |
| LOW | …atrix[tool_return_content-url-document-anthropic].yaml | 159 | The document appears to be a simple test or sample PDF, likely used for demonstration purposes, testing PDF re |
| LOW | …tool_return_matrix[direct-url-document-anthropic].yaml | 154 | **Content:** The document is a single-page sample PDF that contains Lorem Ipsum placeholder text - the classic |
| LOW | …tool_return_matrix[direct-url-document-anthropic].yaml | 154 | **Content:** The document is a single-page sample PDF that contains Lorem Ipsum placeholder text - the classic |
| LOW | …tool_return_matrix[direct-url-document-anthropic].yaml | 156 | **Purpose:** This appears to be a test or sample PDF document, likely used for demonstration purposes, testing |
| LOW | …rix[tool_return_content-url-document-openai_chat].yaml | 552 | - Title/first lines (from page 1): "Sample PDF" followed by "This is a simple PDF file. Fun fun fun." and th |
| LOW | …rix[tool_return_content-url-document-openai_chat].yaml | 553 | - Content summary: the page is a sample/placeholder document made up of multiple paragraphs of lorem ipsum a |
| LOW | …rn_content-url_force_download-document-anthropic].yaml | 528 | This is a simple sample PDF document with the subtitle "This is a simple PDF file. Fun fun fun." The document |
| LOW | …rn_content-url_force_download-document-anthropic].yaml | 532 | - The main body consists of multiple paragraphs of Latin placeholder text (Lorem Ipsum) |
| LOW | …rn_content-url_force_download-document-anthropic].yaml | 533 | - The text discusses various topics in the traditional Lorem Ipsum style, mentioning things like "dolor sit am |
| LOW | …rn_content-url_force_download-document-anthropic].yaml | 533 | - The text discusses various topics in the traditional Lorem Ipsum style, mentioning things like "dolor sit am |
| LOW | …irect-url_force_download-document-google_gemini3].yaml | 652 | of **\"Lorem ipsum\"** placeholder text, commonly used in publishing and graphic design to demonstrate the |
| LOW | …irect-url_force_download-document-google_gemini3].yaml | 655 | *\"Lorem ipsum dolor sit amet...\"*\n* **Format:** A standard text document layout with clean margins an |
| LOW | …irect-url_force_download-document-google_gemini3].yaml | 655 | *\"Lorem ipsum dolor sit amet...\"*\n* **Format:** A standard text document layout with clean margins an |
| LOW | …ent-url_force_download-document-openai_responses].yaml | 599 | I retrieved a PDF file titled "Sample PDF." It contains only plain text (no images or special formatting) -- |
| LOW | …return_matrix[direct-url-document-google_gemini3].yaml | 662 | * **Body Text:** The document contains four paragraphs of "Lorem Ipsum" placeholder text. This is standa |
| LOW | …l_tool_return_matrix[direct-url-document-xai].xai.yaml | 159 | \ PDF file. Fun fun fun.\" followed by extensive Lorem ipsum dummy text\ |
| 56 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pyproject.toml | 281 | # uvicorn (mcp server) |
| LOW | pyproject.toml | 301 | # happens only for python < 3.12 because of vllms pins |
| LOW | pydantic_ai_slim/pyproject.toml | 121 | # FastMCP — full server-side stack. Pull this in when you need `FastMCP(...)` to serve an |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 621 | |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 921 | # Hand off to the model class for any history shapes the active provider can't |
| LOW | …antic_ai_slim/pydantic_ai/capabilities/_tool_search.py | 161 | # the request must error rather than silently substitute a different algorithm. |
| LOW | pydantic_ai_slim/pydantic_ai/providers/bedrock.py | 41 | # JSON Schema keys that Bedrock structured output rejects with a 400 under `strict=True`. |
| LOW | pydantic_ai_slim/pydantic_ai/models/google.py | 1321 | |
| LOW | pydantic_ai_slim/pydantic_ai/models/groq.py | 781 | code: Literal['tool_use_failed'] |
| LOW | pydantic_ai_slim/pydantic_ai/models/openai.py | 3601 | ) |
| LOW | pydantic_ai_slim/pydantic_ai/toolsets/_tool_search.py | 261 | # `_resolve_native_tool_swap`). |
| LOW | tests/test_tool_search.py | 4121 | _normalize_tool_search_args(None) |
| LOW | docs/evals/evaluators/report-evaluators.md | 741 | #> confusion_matrix: Animal Classification |
| LOW | docs/models/outlines.md | 221 | print(result.output) |
| LOW | pydantic_evals/pydantic_evals/_online.py | 281 | # The original signature was |
| LOW | scripts/gather-pydantic-ai-review-context.sh | 1 | #!/usr/bin/env bash |
| LOW | .github/zizmor.yml | 41 | # org-internal repo under the same maintenance group. SHA-pinning the cross-repo reference |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"18d18811c742c3bc1c672f4b8929061a0ec4ee670c1889f253c9152beb5 |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 41 | # - GH_AW_GITHUB_MCP_SERVER_TOKEN |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 61 | # - ghcr.io/github/gh-aw-firewall/agent:0.25.49 |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 821 | bash "${RUNNER_TEMP}/gh-aw/actions/start_cli_proxy.sh" |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 841 | # - TodoWrite |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 861 | # - mcp__github__get_pull_request_reviews |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 881 | # - mcp__github__list_releases |
| LOW | .github/workflows/pydantic-ai-pr-review.lock.yml | 1361 | continue-on-error: true |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"3c32da83b559aee23abaf3d3ccbec6cfe1f782564c822f327859628e570 |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 41 | # - GH_AW_GITHUB_TOKEN |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 761 | # - Bash |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 781 | # - mcp__github__get_code_scanning_alert |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 801 | # - mcp__github__get_tag |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 821 | # - mcp__github__list_workflow_jobs |
| LOW | …kflows/pydantic-ai-streaming-resilience-sweep.lock.yml | 1301 | # - BashOutput |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"ed19369d11818d7c004f0562b1398f2f5b0aac08a604f7c309197ebf4dc |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 41 | # - GH_AW_GITHUB_TOKEN |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 761 | # - Bash |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 781 | # - mcp__github__get_code_scanning_alert |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 801 | # - mcp__github__get_tag |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 821 | # - mcp__github__list_workflow_jobs |
| LOW | …/workflows/pydantic-ai-provider-mapping-sweep.lock.yml | 1301 | # - BashOutput |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"8e0720db9ff8fada79a26bf880647b3f5321130e51da296b80d97c951c2 |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 41 | # - GH_AW_GITHUB_TOKEN |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 761 | # - Bash |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 781 | # - mcp__github__get_code_scanning_alert |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 801 | # - mcp__github__get_tag |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 821 | # - mcp__github__list_workflow_jobs |
| LOW | .github/workflows/pydantic-ai-docs-drift.lock.yml | 1301 | # - BashOutput |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"6a21aac9714bc66c7e94d3cca6f5e9966efd1c9701f9ba4a3147f6a9858 |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 21 | # Not all edits will cause changes to this file. |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 41 | # - GH_AW_GITHUB_TOKEN |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 761 | # - Bash |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 781 | # - mcp__github__get_code_scanning_alert |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 801 | # - mcp__github__get_tag |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 821 | # - mcp__github__list_workflow_jobs |
| LOW | .github/workflows/pydantic-ai-bug-hunter.lock.yml | 1301 | # - BashOutput |
| LOW | .github/workflows/harness-compat.yml | 1 | name: Harness Compat |
| LOW | …hub/workflows/pydantic-ai-regression-detector.lock.yml | 1 | # gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"2e6cd4b68a8809cb540df8fd69b6770506ed194330dbb97b1fb3b444b86 |
| 50 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 212 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 192 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 289 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/run.py | 297 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 334 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 86 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 89 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 102 | except Exception: # pragma: no cover |
| LOW | pydantic_ai_slim/pydantic_ai/_instrumentation.py | 264 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_spec.py | 248 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_template.py | 141 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 173 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/direct.py | 391 | except Exception as e: |
| MEDIUM | pydantic_ai_slim/pydantic_ai/direct.py | 383 | def _consume_async_stream(): |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 153 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 695 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 738 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 820 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 2035 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/usage.py | 176 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 231 | except Exception as exc: # `exc` to avoid shadowing by `async for e in` below |
| LOW | pydantic_ai_slim/pydantic_ai/ui/ag_ui/_utils.py | 74 | except Exception: |
| LOW | pydantic_ai_slim/pydantic_ai/embeddings/instrumented.py | 149 | except Exception as e: # pragma: no cover |
| LOW | pydantic_ai_slim/pydantic_ai/embeddings/instrumented.py | 191 | except Exception: # pragma: no cover |
| LOW | pydantic_ai_slim/pydantic_ai/embeddings/instrumented.py | 205 | except Exception: # pragma: no cover |
| LOW | pydantic_ai_slim/pydantic_ai/embeddings/instrumented.py | 208 | except Exception as e: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/hooks.py | 931 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/hooks.py | 991 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/hooks.py | 1113 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/hooks.py | 1232 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/combined.py | 254 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/combined.py | 315 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/combined.py | 434 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/combined.py | 490 | except Exception: # pragma: no cover — defensive |
| LOW | pydantic_ai_slim/pydantic_ai/capabilities/combined.py | 544 | except Exception as new_error: |
| LOW | pydantic_ai_slim/pydantic_ai/models/fallback.py | 232 | except Exception as exc: |
| LOW | pydantic_ai_slim/pydantic_ai/models/fallback.py | 266 | except Exception as exc: |
| LOW | pydantic_ai_slim/pydantic_ai/_cli/web.py | 89 | except Exception as e: # pragma: no cover |
| MEDIUM | pydantic_ai_slim/pydantic_ai/_cli/__init__.py | 298 | console.print(f'Error initializing [magenta]{args.model}[/magenta]:\n[red]{e}[/red]') |
| LOW | pydantic_ai_slim/pydantic_ai/_cli/__init__.py | 375 | except Exception as e: # pragma: no cover |
| LOW | tests/conftest.py | 754 | except Exception: # pragma: no cover |
| LOW | tests/test_agent.py | 5972 | except Exception as e: |
| LOW | tests/test_capabilities.py | 3472 | except Exception as e: |
| LOW | tests/_inline_snapshot.py | 119 | except Exception as e: |
| MEDIUM | docs/agent.md | 1227 | print('An error occurred:', e) |
| LOW | docs/toolsets.md | 616 | except Exception as e: |
| LOW | docs/evals/evaluators/overview.md | 95 | except Exception: |
| LOW | docs/evals/evaluators/custom.md | 119 | except Exception: |
| LOW | docs/evals/evaluators/custom.md | 291 | except Exception as e: |
| LOW | docs/evals/evaluators/custom.md | 521 | except Exception as e: |
| LOW | docs/evals/evaluators/custom.md | 616 | except Exception: |
| LOW | pydantic_evals/pydantic_evals/online.py | 687 | except Exception: # pragma: no cover - defensive |
| LOW | pydantic_evals/pydantic_evals/online.py | 689 | except Exception as e: |
| LOW | pydantic_evals/pydantic_evals/online.py | 761 | except Exception: # pragma: no cover - defensive |
| LOW | pydantic_evals/pydantic_evals/online.py | 763 | except Exception as e: |
| LOW | pydantic_evals/pydantic_evals/online.py | 815 | except Exception: # pragma: no cover |
| LOW | pydantic_evals/pydantic_evals/dataset.py | 1086 | except Exception as e: |
| LOW | pydantic_evals/pydantic_evals/dataset.py | 1243 | except Exception as exc: |
| LOW | pydantic_evals/pydantic_evals/_online.py | 184 | except Exception: # pragma: no cover |
| LOW | pydantic_evals/pydantic_evals/_online.py | 248 | except Exception as exc: |
| 24 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pydantic_ai_slim/pydantic_ai/mcp.py | 864 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/_agent_graph.py | 569 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 454 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 463 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 472 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 480 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 488 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 496 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 504 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 514 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 523 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 533 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 543 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 552 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 564 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 573 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 582 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 591 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 600 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 609 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 618 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 627 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 636 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 645 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 654 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 663 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 672 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 681 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/_event_stream.py | 690 | |
| MEDIUM | …ntic_ai_slim/pydantic_ai/ui/vercel_ai/_event_stream.py | 169 | |
| MEDIUM | …ntic_ai_slim/pydantic_ai/ui/vercel_ai/_event_stream.py | 281 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/ui/ag_ui/_event_stream.py | 118 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/agent/abstract.py | 1484 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/agent/abstract.py | 1524 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/wrapper.py | 36 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/__init__.py | 780 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/__init__.py | 1329 | |
| MEDIUM | pydantic_ai_slim/pydantic_ai/models/mcp_sampling.py | 86 | |
| MEDIUM | tests/test_ag_ui.py | 339 | |
| MEDIUM | tests/models/test_fallback.py | 508 | |
| MEDIUM | pydantic_graph/pydantic_graph/step.py | 112 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/_output.py | 352 | # Text output: no real validation, just pass through the text |
| LOW | pydantic_ai_slim/pydantic_ai/_json_schema.py | 195 | # they are both null, so just return one of them |
| LOW | pydantic_ai_slim/pydantic_ai/_utils.py | 454 | # If we already have a buffered item, just return it. |
| MEDIUM | …_slim/pydantic_ai/capabilities/process_event_stream.py | 70 | # the observer form returns an awaitable. Introspecting the return is robust for |
| LOW | pydantic_ai_slim/pydantic_ai/models/mistral.py | 747 | # It seems that mistral just sends full tool calls, so we just use them directly, rather than buildi |
| LOW | …ntic_ai_slim/pydantic_ai/durable_exec/temporal/_mcp.py | 61 | # so we just return the ToolDefinitions and wrap them in ToolsetTool outside of the activity. |
| LOW | pydantic_ai_slim/pydantic_ai/durable_exec/dbos/_mcp.py | 47 | # so we just return the ToolDefinitions and wrap them in ToolsetTool outside of the activity. |
| LOW | …dantic_ai_slim/pydantic_ai/durable_exec/dbos/_model.py | 94 | # If not in a workflow (could be in a step), just call the wrapped request_stream method. |
| LOW | …tic_ai_slim/pydantic_ai/durable_exec/prefect/_model.py | 100 | # If not in a flow, just call the wrapped request_stream method |
| LOW | tests/test_dbos.py | 253 | # DBOSAgent already wraps the `run` function as a DBOS workflow, so we can just call it directly. |
| LOW | tests/test_dbos.py | 673 | # DBOSAgent already wraps the `run` function as a DBOS workflow, so we can just call it directly. |
| MEDIUM | tests/cassettes/test_dbos/test_fastmcp_toolset.yaml | 595 | data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"This repository, `pydantic/pydantic-ai |
| MEDIUM | …est_temporal/test_mcp_dynamic_toolset_in_workflow.yaml | 663 | data: {"jsonrpc":"2.0","id":2,"result":{"content":[{"type":"text","text":"The `pydantic-ai` repository is a Pyth |
| MEDIUM | tests/cassettes/test_temporal/test_fastmcp_toolset.yaml | 598 | data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"This repository, `pydantic/pydantic-ai |
| MEDIUM | tests/cassettes/test_temporal/test_fastmcp_toolset.yaml | 598 | data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"This repository, `pydantic/pydantic-ai |
| MEDIUM | …/test_anthropic/test_anthropic_mcp_servers_stream.yaml | 129 | data: {"type":"content_block_start","index":2,"content_block":{"type":"mcp_tool_result","tool_use_id":"mcptoolu_ |
| MEDIUM | …est_openai_responses_model_mcp_server_tool_stream.yaml | 79 | data: {"type":"response.output_item.done","sequence_number":13,"output_index":2,"item":{"id":"mcp_00b9cc7a23d047 |
| MEDIUM | …est_openai_responses_model_mcp_server_tool_stream.yaml | 619 | data: {"type":"response.completed","sequence_number":193,"response":{"id":"resp_00b9cc7a23d047270068faa0e2593481 |
| MEDIUM | …est_openai_responses_model_mcp_server_tool_stream.yaml | 619 | data: {"type":"response.completed","sequence_number":193,"response":{"id":"resp_00b9cc7a23d047270068faa0e2593481 |
| LOW | …antic_evals/pydantic_evals/reporting/render_numbers.py | 30 | # If it's an int, just return its string representation. |
| MEDIUM | .github/zizmor.yml | 40 | # `harness-compat.yml` calls a reusable workflow in `pydantic/pydantic-ai-harness`, an |
| MEDIUM | .github/zizmor.yml | 42 | # would force coordinated bumps on every harness change without meaningful security benefit |
| MEDIUM | .github/workflows/harness-compat.yml | 3 | # Verifies that pydantic-ai changes don't break the pydantic-ai-harness lint / |
| MEDIUM | .github/workflows/harness-compat.yml | 4 | # typecheck / test suite. Calls the harness's `compat-test.yml` reusable |
| MEDIUM | .github/workflows/harness-compat.yml | 11 | # - Push of `v*` tags: gates a release on harness compatibility. |
| MEDIUM | .github/workflows/harness-compat.yml | 35 | # on every harness change without security benefit. Ignore configured in `.github/zizmor.yml`. |
| MEDIUM | .github/scripts/prewarm-pydantic-ai-runner.sh | 2 | # Pre-warm the harness's uv script environment on the OPEN network. |
| LOW | pydantic_graph/pydantic_graph/parent_forks.py | 130 | # will fail to be a parent fork for the same reason. So we can stop here and just return `parent_fork`. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/tool_manager.py | 162 | # Check if any tool requires sequential execution |
| LOW | pydantic_ai_slim/pydantic_ai/_ssrf.py | 349 | # Check if hostname is already an IP address |
| LOW | pydantic_ai_slim/pydantic_ai/_ssrf.py | 394 | # Check if it's an absolute URL (has scheme) or protocol-relative URL (has netloc but no scheme) |
| LOW | pydantic_ai_slim/pydantic_ai/_ssrf.py | 509 | # Check if we need to follow a redirect |
| LOW | pydantic_ai_slim/pydantic_ai/function_signature.py | 652 | # Check if this is object with properties + null |
| LOW | pydantic_ai_slim/pydantic_ai/mcp.py | 2944 | # Check if variable exists in environment |
| LOW | pydantic_ai_slim/pydantic_ai/providers/litellm.py | 71 | # Check if model name contains a provider prefix (e.g., "anthropic/claude-3") |
| LOW | pydantic_ai_slim/pydantic_ai/models/__init__.py | 861 | # Check if output mode is supported |
| LOW | pydantic_ai_slim/pydantic_ai/models/openai.py | 1366 | # Check if thinking came from a custom field from the same provider |
| LOW | …ic_ai_slim/pydantic_ai/durable_exec/temporal/_model.py | 228 | # Check if this model instance is already registered |
| LOW | …/pydantic_ai/durable_exec/prefect/_function_toolset.py | 47 | # Check if this specific tool has custom config or is disabled |
| LOW | …tic_ai_slim/pydantic_ai/durable_exec/prefect/_model.py | 97 | # Check if we're in a flow context |
| LOW | pydantic_ai_slim/pydantic_ai/_cli/__init__.py | 149 | # Check if this is a web command - route to web parser if so |
| LOW | pydantic_ai_slim/pydantic_ai/profiles/openai.py | 220 | # Check if the model supports web search (only specific search-preview models) |
| LOW | tests/test_capabilities.py | 2814 | # Check if there's already a tool return in messages (i.e., tool was called) |
| LOW | tests/test_capabilities.py | 9690 | # Check if we already got a tool return (second call succeeded) |
| LOW | tests/test_uuid.py | 48 | # Set counter to max so the next same-ms call overflows |
| LOW | tests/evals/test_evaluators.py | 228 | # Check if the answer is correct based on expected output |
| LOW | tests/evals/test_llm_as_a_judge.py | 118 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/evals/test_llm_as_a_judge.py | 239 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/evals/test_llm_as_a_judge.py | 349 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/evals/test_llm_as_a_judge.py | 385 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/evals/test_llm_as_a_judge.py | 507 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/evals/test_llm_as_a_judge.py | 538 | # Check if 'model' kwarg is passed, its value will be the default model or None |
| LOW | tests/graph/beta/test_graph_iteration.py | 455 | # Check if we're about to execute step2 |
| LOW | tests/models/test_openai.py | 5081 | # Set profile to use URI encoding |
| LOW | tests/models/test_openai.py | 5137 | # Set profile to use URI encoding |
| LOW | docs/.hooks/main.py | 166 | # Check if code contains Agent() with a model that should be transformed |
| LOW | docs/.hooks/main.py | 177 | # Check if model starts with one of the gateway-supported models |
| LOW | pydantic_evals/pydantic_evals/evaluators/evaluator.py | 99 | # Check if value matches any of the target types, handling bool as a special case |
| LOW | .github/workflows/pr-guard.yml | 121 | # Check if the existing PR has the Stale label |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 755 | # Check if this join has any intermediate joins that are also active reducers |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 763 | # Check if the intermediate join is also an active reducer with matching fork run |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 766 | # Check if they share the same fork run for this join's parent fork |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 242 | # Check if this join appears in any other join's intermediate_join_nodes |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 1038 | # Check if any of the tasks in the graph have this fork_run_id in their fork_stack |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 1771 | # Check if this node has any outgoing edges |
| LOW | pydantic_graph/pydantic_graph/graph_builder.py | 2006 | # Check if this intermediate node is also a join |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/typed_deps.py | 41 | # Ensure that you can use tools with deps that are supertypes of the agent's deps |
| MEDIUM | …test_tool_search/test_tool_search_eval[anthropic].yaml | 1462 | I apologize, but I don't have access to a flight booking tool. I'm unable to book flights from New York to Lon |
| MEDIUM | tests/models/test_groq.py | 877 | It's worth noting that the weather in San Francisco can be quite variable, and the temperature can drop significantly at |
| MEDIUM | tests/models/test_groq.py | 1120 | It's worth noting that the weather in San Francisco can be quite variable, and the temperature can drop significantly at |
| MEDIUM | …_matrix[tool_return_content-url-document-xai].xai.yaml | 125 | The content appears to be purely for demonstration purposes and lacks |
| MEDIUM | …atrix[tool_return_content-url-document-anthropic].yaml | 159 | The document appears to be a simple test or sample PDF, likely used for demonstration purposes, testing PDF re |
| MEDIUM | …tool_return_matrix[direct-url-document-anthropic].yaml | 156 | **Purpose:** This appears to be a test or sample PDF document, likely used for demonstration purposes, testing |
| MEDIUM | …tool_return_matrix[direct-binary-audio-anthropic].yaml | 144 | - text: "I received an audio file (file 2d36ae) in MP3 format (audio/mpeg). However, I'm unable to process or list |
| MEDIUM | …rn_content-url_force_download-document-anthropic].yaml | 536 | This appears to be a test or sample PDF file, likely used for demonstration purposes, testing PDF readers, or |
| MEDIUM | …rix[direct-url_force_download-document-anthropic].yaml | 534 | **Purpose:** This appears to be a sample or test PDF file, likely used for demonstration purposes given its si |
| MEDIUM | …turn_content-url_force_download-document-mistral].yaml | 539 | This PDF appears to be a template or test file, likely used for demonstration purposes. |
| MEDIUM | …tool_return_matrix[direct-binary-video-anthropic].yaml | 145 | I received a video file (file 0d0cb1) in MP4 format. However, I'm unable to view or analyze video content dire |
| MEDIUM | …ssettes/test_groq/test_groq_model_web_search_tool.yaml | 52 | it is not expected to significantly impact San Francisco.\n\nIt's worth noting that the weather in San Franc |
| LOW | …s/test_deepseek/test_deepseek_model_thinking_part.yaml | 67 | Oh, and making eye contact with drivers if possible. That's a good point. Also, stay visible, maybe avoid di |
| MEDIUM | pydantic_graph/pydantic_graph/mermaid.py | 254 | code by default (and should not have a leading '#'), but you can also use named colors by prefixing the |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | pydantic_graph/pydantic_graph/graph.py | 245 | # as requested in https://github.com/pydantic/pydantic-ai/issues/3173. |
| HIGH | pydantic_graph/pydantic_graph/graph.py | 734 | # as requested in https://github.com/pydantic/pydantic-ai/issues/3173. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 168 | def handle_request(self, request: Request) -> Response: |
| LOW | pydantic_ai_slim/pydantic_ai/retries.py | 183 | def handle_request(req: Request) -> Response: |
| LOW | pydantic_ai_slim/pydantic_ai/_a2a.py | 134 | async def run_task(self, params: TaskSendParams) -> None: |
| LOW | tests/test_ui.py | 1576 | def do_something(x: int) -> int: |
| LOW | tests/typed_agent.py | 268 | def my_method(self) -> bool: |
| LOW | tests/test_tools.py | 4126 | def do_stuff(x: int) -> None: |
| LOW | tests/test_tools.py | 4136 | def do_stuff(x: int): |
| LOW | tests/graph/beta/test_util.py | 35 | def my_function(): |
| LOW | tests/models/test_xai.py | 744 | async def process_data(data: str) -> str: |
| LOW | pydantic_evals/pydantic_evals/online.py | 22 | async def my_function(x: int) -> int: |
| LOW | pydantic_evals/pydantic_evals/online.py | 883 | async def my_function(x: int) -> int: |
| LOW | pydantic_evals/pydantic_evals/_task_run.py | 36 | def run_task() -> Iterator[Callable[[], dict[str, Any]]]: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_toolsets.py | 441 | # Step 1: Prefix each FunctionToolset individually |
| LOW | tests/test_toolsets.py | 446 | # Step 2: Combine the prefixed toolsets |
| LOW | tests/test_toolsets.py | 449 | # Step 3: Filter tools based on user role and advanced flag, now using prefixed names |
| LOW | tests/test_toolsets.py | 461 | # Step 4: Apply prepared toolset to modify descriptions (add user role annotation) |
| LOW | tests/test_toolsets.py | 469 | # Step 5: Test the fully composed toolset |