Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from collections.abc import Sequence
from dataclasses import dataclass, field
from string import Template
from typing import Optional

from pydantic_ai import AgentRunResult, RunContext
from pydantic_ai._agent_graph import GraphAgentState
Expand Down Expand Up @@ -83,7 +84,7 @@ def __post_init__(self) -> None:
model_settings=OpenAIResponsesModelSettings(openai_store=False),
)

def _build_prompt(self, message: str | Sequence[UserContent] | None) -> str:
def _build_prompt(self, message: Optional[str | Sequence[UserContent]]) -> str:
"""Build the classification prompt from the user message.

Parameters:
Expand Down
2 changes: 1 addition & 1 deletion src/pydantic_ai_lightspeed/llamastack/_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ def from_llama_stack_client(
"You can only pass either ResponsesApiParams or ModelSetting not both."
)

_settings: OpenAIResponsesModelSettings | ModelSettings | None = None
_settings: Optional[OpenAIResponsesModelSettings | ModelSettings] = None

if responses_params is not None:
_settings = _model_settings_from_responses_params(responses_params)
Expand Down
10 changes: 5 additions & 5 deletions src/pydantic_ai_lightspeed/llamastack/_transport.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import json
from collections.abc import AsyncGenerator, AsyncIterator, Mapping
from typing import Any
from typing import Any, Optional

import httpx
from llama_stack.core.library_client import (
Expand Down Expand Up @@ -44,7 +44,7 @@ def decode_request_headers(request: httpx.Request) -> dict[str, str]:

def inject_provider_data_into_headers(
headers: Mapping[str, str],
provider_data: Mapping[str, Any] | None,
provider_data: Optional[Mapping[str, Any]],
) -> dict[str, str]:
"""Add ``X-LlamaStack-Provider-Data`` when provider data is configured.

Expand All @@ -66,7 +66,7 @@ def inject_provider_data_into_headers(

def request_with_provider_data_headers(
request: httpx.Request,
provider_data: Mapping[str, Any] | None,
provider_data: Optional[Mapping[str, Any]],
) -> httpx.Request:
"""Return a request copy with provider data headers injected when needed.

Expand Down Expand Up @@ -94,7 +94,7 @@ def request_with_provider_data_headers(

def wrap_http_client_with_provider_data(
http_client: httpx.AsyncClient,
provider_data: Mapping[str, Any] | None,
provider_data: Optional[Mapping[str, Any]],
) -> httpx.AsyncClient:
"""Wrap an httpx client so outbound requests include provider data headers.

Expand Down Expand Up @@ -127,7 +127,7 @@ def __init__(
self,
transport: httpx.AsyncBaseTransport,
*,
provider_data: Mapping[str, Any] | None = None,
provider_data: Optional[Mapping[str, Any]] = None,
) -> None:
"""Initialize the wrapping transport.

Expand Down
7 changes: 4 additions & 3 deletions tests/e2e/features/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import os
import subprocess
import time
from typing import Optional

import requests
from behave.contrib.scenario_autoretry import patch_scenario_with_autoretry
Expand Down Expand Up @@ -372,9 +373,9 @@ def _restore_llama_stack() -> None:
except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as e:
print(f"Warning: Could not restore Llama Stack pod on Prow: {e}")
return
last_lcs_err: (
subprocess.CalledProcessError | subprocess.TimeoutExpired | None
) = None
last_lcs_err: Optional[
subprocess.CalledProcessError | subprocess.TimeoutExpired
] = None
for attempt in range(1, 4):
try:
restart_pod("lightspeed-stack")
Expand Down
6 changes: 3 additions & 3 deletions tests/unit/utils/agents/test_streaming.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,9 @@ def _make(
media_type: Optional[str] = MEDIA_TYPE_JSON,
generate_topic_summary: bool = False,
conversation_id_in_request: Optional[str] = TEST_CONVERSATION_ID,
moderation_result: (
ShieldModerationPassed | ShieldModerationBlocked | None
) = None,
moderation_result: Optional[
ShieldModerationPassed | ShieldModerationBlocked
] = None,
) -> ResponseGeneratorContext:
context = mocker.Mock(spec=ResponseGeneratorContext)
context.conversation_id = conversation_id
Expand Down
Loading