SYMBOL INDEX (4889 symbols across 532 files) FILE: examples/basic/agent_factory/auto_loaded_subagents.py function main (line 7) | async def main(): FILE: examples/basic/agent_factory/load_and_route.py function main (line 12) | async def main(): FILE: examples/basic/agent_factory/main.py function route_prompt (line 16) | async def route_prompt( function main (line 35) | async def main(): FILE: examples/basic/agent_factory/orchestrator_demo.py function main (line 14) | async def main(): FILE: examples/basic/agent_factory/parallel_demo.py function main (line 11) | async def main(): FILE: examples/basic/agent_factory/run_worker.py function main (line 15) | async def main(): FILE: examples/basic/functions/main.py function add_numbers (line 12) | def add_numbers(a: int, b: int) -> int: function multiply_numbers (line 20) | def multiply_numbers(a: int, b: int) -> int: function calculate (line 32) | async def calculate(expr: str, app_ctx: Optional[Context] = None) -> str: function example_usage (line 56) | async def example_usage(): FILE: examples/basic/mcp_basic_agent/main.py function example_usage (line 51) | async def example_usage() -> str: function display_token_summary (line 118) | async def display_token_summary(app_ctx: MCPApp, agent: Agent | None = N... FILE: examples/basic/mcp_hello_world/main.py function example_usage (line 11) | async def example_usage(): FILE: examples/basic/mcp_model_selector/interactive.py function get_valid_float_input (line 20) | async def get_valid_float_input( function create_preferences_table (line 39) | def create_preferences_table( function display_model_result (line 74) | async def display_model_result(model: ModelInfo, preferences: dict, prov... function interactive_model_selection (line 115) | async def interactive_model_selection(model_selector: ModelSelector): function main (line 288) | def main(): FILE: examples/basic/mcp_model_selector/main.py function example_usage (line 15) | async def example_usage() -> str: function main (line 229) | async def main(): FILE: examples/basic/mcp_server_aggregator/main.py function example_usage_persistent (line 13) | async def example_usage_persistent() -> str: function example_usage (line 68) | async def example_usage() -> str: function main (line 126) | async def main(): FILE: examples/basic/mcp_tool_filter/main.py function example_1_basic_filtering (line 19) | async def example_1_basic_filtering(): function example_2_excluded_filter (line 59) | async def example_2_excluded_filter(): function example_3_server_specific (line 108) | async def example_3_server_specific(): function example_4_dynamic_filtering (line 150) | async def example_4_dynamic_filtering(): function main (line 190) | def main(): FILE: examples/basic/mcp_tool_filter/quickstart.py function main (line 16) | async def main(): FILE: examples/basic/oauth_basic_agent/main.py function _load_settings (line 14) | def _load_settings(): function example_usage (line 56) | async def example_usage() -> str: function display_token_summary (line 115) | async def display_token_summary(app_ctx: MCPApp, agent: Agent | None = N... FILE: examples/basic/streaming_demo/main.py function demo_basic_streaming (line 28) | async def demo_basic_streaming(agent: Agent): function demo_streaming_with_tools (line 56) | async def demo_streaming_with_tools(agent: Agent): function demo_simple_text_stream (line 112) | async def demo_simple_text_stream(agent: Agent): function demo_event_monitoring (line 131) | async def demo_event_monitoring(agent: Agent): function demo_progress_tracking (line 174) | async def demo_progress_tracking(agent: Agent): function main (line 223) | async def main(): FILE: examples/basic/token_counter/main.py class TokenMonitor (line 28) | class TokenMonitor: method __init__ (line 31) | def __init__(self): method on_token_update (line 35) | async def on_token_update(self, node: TokenNode, usage: TokenUsage): function display_token_usage (line 64) | def display_token_usage(usage: TokenUsage, label: str = "Token Usage"): function display_token_summary (line 72) | async def display_token_summary(context: Context): function display_node_tree (line 111) | async def display_node_tree( function example_with_token_monitoring (line 153) | async def example_with_token_monitoring(): FILE: examples/cloud/agent_factory/custom_tasks.py function knowledge_base_lookup_task (line 47) | async def knowledge_base_lookup_task(request: dict) -> List[str]: function _score (line 76) | def _score(query: str, entry: Dict[str, str]) -> int: FILE: examples/cloud/agent_factory/main.py function route_customer_request (line 29) | async def route_customer_request( function main (line 70) | async def main(): FILE: examples/cloud/agent_factory/run_worker.py function main (line 14) | async def main(): FILE: examples/cloud/chatgpt_apps/basic_app/main.py class CoinFlipWidget (line 24) | class CoinFlipWidget: function _resource_description (line 96) | def _resource_description() -> str: function _embedded_widget_resource (line 100) | def _embedded_widget_resource() -> types.EmbeddedResource: function _tool_meta (line 112) | def _tool_meta() -> Dict[str, Any]: function flip_coin (line 135) | async def flip_coin() -> Dict[str, str]: function get_widget_html (line 147) | def get_widget_html() -> str: function main (line 157) | async def main(): FILE: examples/cloud/chatgpt_apps/basic_app/web/src/components/App.tsx function App (line 7) | function App() { FILE: examples/cloud/chatgpt_apps/basic_app/web/src/components/Coin.tsx type CoinProps (line 4) | interface CoinProps { function Coin (line 9) | function Coin({ flipResult, onFlipResult }: CoinProps) { FILE: examples/cloud/chatgpt_apps/basic_app/web/src/utils/dev-openai-global.ts function setupDevOpenAiGlobal (line 7) | function setupDevOpenAiGlobal(): void { FILE: examples/cloud/chatgpt_apps/basic_app/web/src/utils/hooks/use-openai-global.ts function useOpenAiGlobal (line 8) | function useOpenAiGlobal( FILE: examples/cloud/chatgpt_apps/basic_app/web/src/utils/hooks/use-theme.ts function useTheme (line 4) | function useTheme(): Theme { FILE: examples/cloud/chatgpt_apps/basic_app/web/src/utils/hooks/use-widget-state.ts function useWidgetState (line 13) | function useWidgetState( FILE: examples/cloud/chatgpt_apps/basic_app/web/src/utils/types.ts type CoinFlipWidgetState (line 1) | type CoinFlipWidgetState = { type OpenAiGlobals (line 5) | type OpenAiGlobals< type API (line 32) | type API = { type UnknownObject (line 41) | type UnknownObject = Record; type Theme (line 43) | type Theme = "light" | "dark"; type SafeAreaInsets (line 45) | type SafeAreaInsets = { type SafeArea (line 52) | type SafeArea = { type DeviceType (line 56) | type DeviceType = "mobile" | "tablet" | "desktop" | "unknown"; type UserAgent (line 58) | type UserAgent = { type DisplayMode (line 67) | type DisplayMode = "pip" | "inline" | "fullscreen"; type RequestDisplayMode (line 68) | type RequestDisplayMode = (args: { mode: DisplayMode }) => Promise<{ type CallToolResponse (line 76) | type CallToolResponse = { type CallTool (line 81) | type CallTool = ( constant SET_GLOBALS_EVENT_TYPE (line 87) | const SET_GLOBALS_EVENT_TYPE = "openai:set_globals"; class SetGlobalsEvent (line 88) | class SetGlobalsEvent extends CustomEvent<{ type Window (line 98) | interface Window { type WindowEventMap (line 102) | interface WindowEventMap { FILE: examples/cloud/chatgpt_apps/timer/main.py class TimerWidget (line 24) | class TimerWidget: function _resource_description (line 98) | def _resource_description() -> str: function _tool_meta (line 102) | def _tool_meta() -> Dict[str, Any]: function _embedded_widget_resource (line 117) | def _embedded_widget_resource() -> types.EmbeddedResource: function _list_tools (line 130) | async def _list_tools() -> List[types.Tool]: function _list_resources (line 173) | async def _list_resources() -> List[types.Resource]: function _list_resource_templates (line 187) | async def _list_resource_templates() -> List[types.ResourceTemplate]: function _handle_read_resource (line 200) | async def _handle_read_resource(req: types.ReadResourceRequest) -> types... function _call_tool_request (line 221) | async def _call_tool_request(req: types.CallToolRequest) -> types.Server... function main (line 298) | async def main(): FILE: examples/cloud/chatgpt_apps/timer/web/src/components/App.tsx function App (line 8) | function App() { FILE: examples/cloud/chatgpt_apps/timer/web/src/components/Timer.tsx type TimerProps (line 6) | interface TimerProps { function Timer (line 14) | function Timer({ initialHours, initialMinutes, initialSeconds, message =... function ClockIcon (line 162) | function ClockIcon(props: React.SVGProps) { FILE: examples/cloud/chatgpt_apps/timer/web/src/components/ui/button.tsx type ButtonProps (line 3) | interface ButtonProps extends React.ButtonHTMLAttributes( FILE: examples/cloud/chatgpt_apps/timer/web/src/utils/hooks/use-theme.ts function useTheme (line 4) | function useTheme(): Theme { FILE: examples/cloud/chatgpt_apps/timer/web/src/utils/hooks/use-widget-state.ts function useWidgetState (line 13) | function useWidgetState( FILE: examples/cloud/chatgpt_apps/timer/web/src/utils/types.ts type TimerWidgetState (line 1) | type TimerWidgetState = { type OpenAiGlobals (line 10) | type OpenAiGlobals< type API (line 37) | type API = { type UnknownObject (line 46) | type UnknownObject = Record; type Theme (line 48) | type Theme = "light" | "dark"; type SafeAreaInsets (line 50) | type SafeAreaInsets = { type SafeArea (line 57) | type SafeArea = { type DeviceType (line 61) | type DeviceType = "mobile" | "tablet" | "desktop" | "unknown"; type UserAgent (line 63) | type UserAgent = { type DisplayMode (line 72) | type DisplayMode = "pip" | "inline" | "fullscreen"; type RequestDisplayMode (line 73) | type RequestDisplayMode = (args: { mode: DisplayMode }) => Promise<{ type CallToolResponse (line 81) | type CallToolResponse = { type CallTool (line 86) | type CallTool = ( constant SET_GLOBALS_EVENT_TYPE (line 92) | const SET_GLOBALS_EVENT_TYPE = "openai:set_globals"; class SetGlobalsEvent (line 93) | class SetGlobalsEvent extends CustomEvent<{ type Window (line 103) | interface Window { type WindowEventMap (line 107) | interface WindowEventMap { FILE: examples/cloud/hello_world/main.py function hello_world (line 22) | def hello_world() -> str: function hello_world_async (line 28) | async def hello_world_async() -> str: function main (line 34) | async def main(): FILE: examples/cloud/mcp/main.py class BasicAgentWorkflow (line 59) | class BasicAgentWorkflow(Workflow[str]): method run (line 66) | async def run(self, input: str) -> WorkflowResult[str]: function grade_story (line 131) | async def grade_story(story: str, app_ctx: Optional[AppContext] = None) ... function grade_story_async (line 195) | async def grade_story_async(story: str, app_ctx: Optional[AppContext] = ... function sampling_demo (line 270) | async def sampling_demo( function book_table (line 304) | async def book_table(date: str, party_size: int, app_ctx: Context) -> str: function notify_resources (line 338) | async def notify_resources( function notify_progress (line 355) | async def notify_progress( function grade_short_story (line 374) | def grade_short_story(story: str) -> list[PromptMessage]: function get_example_short_story (line 388) | def get_example_short_story() -> str: function main (line 396) | async def main(): FILE: examples/cloud/observability/main.py function get_magic_number (line 28) | def get_magic_number(original_number: int = 0) -> int: function gather_sources (line 39) | async def gather_sources(query: str) -> list[str]: class ResearchWorkflow (line 45) | class ResearchWorkflow(Workflow[None]): method run (line 47) | async def run(self, topic: str) -> List[str]: function grade_story_async (line 56) | async def grade_story_async(story: str, app_ctx: Optional[AppContext] = ... function main (line 124) | async def main(): FILE: examples/cloud/temporal/main.py class BasicAgentWorkflow (line 31) | class BasicAgentWorkflow(Workflow[str]): method run (line 38) | async def run( function finder_tool (line 88) | async def finder_tool( class PauseResumeWorkflow (line 133) | class PauseResumeWorkflow(Workflow[str]): method run (line 140) | async def run( class SamplingWorkflow (line 182) | class SamplingWorkflow(Workflow[str]): method run (line 186) | async def run(self, input: str = "space exploration") -> WorkflowResul... class ElicitationWorkflow (line 239) | class ElicitationWorkflow(Workflow[str]): method run (line 243) | async def run(self, input: str = "proceed") -> WorkflowResult[str]: class NotificationsWorkflow (line 273) | class NotificationsWorkflow(Workflow[str]): method run (line 277) | async def run(self, input: str = "notifications-demo") -> WorkflowResu... function main (line 295) | async def main(): FILE: examples/cloud/temporal/temporal_worker.py function main (line 22) | async def main(): FILE: examples/crewai/main.py function example_usage (line 17) | async def example_usage(): FILE: examples/human_input/temporal/client.py function main (line 27) | async def main(): function _tool_result_to_json (line 178) | def _tool_result_to_json(tool_result: CallToolResult): FILE: examples/human_input/temporal/main.py function greet (line 31) | async def greet(app_ctx: Context | None = None) -> str: function main (line 68) | async def main(): FILE: examples/human_input/temporal/worker.py function main (line 22) | async def main(): FILE: examples/langchain/main.py function example_usage (line 17) | async def example_usage(): FILE: examples/lm_studio/main.py function example_usage (line 28) | async def example_usage(): function structured_output_example (line 89) | async def structured_output_example(): function main (line 132) | async def main(): FILE: examples/mcp/mcp_elicitation/cloud/main.py function book_table (line 16) | async def book_table(date: str, party_size: int, app_ctx: Context) -> str: FILE: examples/mcp/mcp_elicitation/demo_server.py function book_table (line 13) | async def book_table(date: str, party_size: int, ctx: Context) -> str: function main (line 36) | def main(): FILE: examples/mcp/mcp_elicitation/main.py function example_usage (line 19) | async def example_usage(): FILE: examples/mcp/mcp_elicitation/temporal/client.py function main (line 29) | async def main(): function _tool_result_to_json (line 261) | def _tool_result_to_json(tool_result: CallToolResult): FILE: examples/mcp/mcp_elicitation/temporal/main.py function book_table (line 20) | async def book_table(date: str, party_size: int, topic: str, app_ctx: Co... class TestWorkflow (line 60) | class TestWorkflow(Workflow[str]): method run (line 62) | async def run(self, args: Dict[str, Any]) -> WorkflowResult[str]: function main (line 105) | async def main(): FILE: examples/mcp/mcp_elicitation/temporal/worker.py function main (line 22) | async def main(): FILE: examples/mcp/mcp_prompts_and_resources/demo_server.py function get_readme (line 35) | def get_readme(): function get_users (line 42) | def get_users(): function get_weather (line 49) | def get_weather(city: str) -> str: function echo (line 55) | def echo(message: str) -> str: function main (line 63) | def main(): FILE: examples/mcp/mcp_prompts_and_resources/main.py function example_usage (line 36) | async def example_usage(): FILE: examples/mcp/mcp_roots/main.py function example_usage (line 15) | async def example_usage(): FILE: examples/mcp/mcp_roots/root_test_server.py function show_roots (line 7) | async def show_roots(ctx: Context) -> str: FILE: examples/mcp/mcp_sse/main.py function test_sse (line 12) | async def test_sse(): FILE: examples/mcp/mcp_sse/server.py function main (line 13) | def main(): FILE: examples/mcp/mcp_sse_with_headers/main.py function example_usage (line 14) | async def example_usage(): FILE: examples/mcp/mcp_streamable_http/main.py function example_usage (line 13) | async def example_usage(): FILE: examples/mcp/mcp_streamable_http/stateless_server.py function main (line 30) | def main( FILE: examples/mcp/mcp_websockets/main.py function example_usage (line 17) | async def example_usage(username: str): FILE: examples/mcp_agent_server/asyncio/client.py function main (line 30) | async def main(): function _tool_result_to_json (line 429) | def _tool_result_to_json(tool_result: CallToolResult): FILE: examples/mcp_agent_server/asyncio/main.py class BasicAgentWorkflow (line 51) | class BasicAgentWorkflow(Workflow[str]): method run (line 58) | async def run(self, input: str) -> WorkflowResult[str]: function sampling_demo (line 128) | async def sampling_demo( function elicitation_demo (line 173) | async def elicitation_demo( function notify_resources (line 212) | async def notify_resources( function notify_progress (line 229) | async def notify_progress( function grade_story (line 247) | async def grade_story(story: str, app_ctx: Optional[AppContext] = None) ... function grade_story_async (line 318) | async def grade_story_async(story: str, app_ctx: Optional[AppContext] = ... function get_workflow_token_usage (line 403) | async def get_workflow_token_usage( function main (line 498) | async def main(): FILE: examples/mcp_agent_server/asyncio/nested_elicitation_server.py class Confirmation (line 8) | class Confirmation(BaseModel): function confirm_action (line 13) | async def confirm_action(action: str, ctx: Context | None = None) -> str: function main (line 31) | def main(): FILE: examples/mcp_agent_server/asyncio/nested_sampling_server.py function get_haiku (line 8) | async def get_haiku(topic: str, ctx: Context | None = None) -> str: function main (line 39) | def main(): FILE: examples/mcp_agent_server/context_isolation/clients.py function run_client (line 23) | async def run_client( function main (line 96) | async def main() -> None: FILE: examples/mcp_agent_server/context_isolation/server.py function emit_log (line 14) | async def emit_log(context: Context, level: str = "info", message: str =... function main (line 33) | async def main() -> None: FILE: examples/mcp_agent_server/temporal/basic_agent_server_worker.py function main (line 22) | async def main(): FILE: examples/mcp_agent_server/temporal/client.py function main (line 29) | async def main(): function _tool_result_to_json (line 383) | def _tool_result_to_json(tool_result: CallToolResult): FILE: examples/mcp_agent_server/temporal/main.py class BasicAgentWorkflow (line 46) | class BasicAgentWorkflow(Workflow[str]): method run (line 53) | async def run( function finder_tool (line 113) | async def finder_tool( class PauseResumeWorkflow (line 158) | class PauseResumeWorkflow(Workflow[str]): method run (line 165) | async def run( function call_nested_sampling (line 207) | async def call_nested_sampling(topic: str) -> str: function call_nested_elicitation (line 245) | async def call_nested_elicitation(action: str) -> str: class SamplingWorkflow (line 283) | class SamplingWorkflow(Workflow[str]): method run (line 287) | async def run(self, input: str = "space exploration") -> WorkflowResul... class ElicitationWorkflow (line 350) | class ElicitationWorkflow(Workflow[str]): method run (line 354) | async def run(self, input: str = "proceed") -> WorkflowResult[str]: class NotificationsWorkflow (line 391) | class NotificationsWorkflow(Workflow[str]): method run (line 395) | async def run(self, input: str = "notifications-demo") -> WorkflowResu... function main (line 413) | async def main(): FILE: examples/mcp_agent_server/temporal/nested_elicitation_server.py class Confirmation (line 8) | class Confirmation(BaseModel): function confirm_action (line 13) | async def confirm_action(action: str) -> str: function main (line 26) | def main(): FILE: examples/mcp_agent_server/temporal/nested_sampling_server.py function get_haiku (line 8) | async def get_haiku(topic: str, ctx: Context | None = None) -> str: function main (line 38) | def main(): FILE: examples/model_providers/mcp_basic_azure_agent/main.py function example_usage (line 41) | async def example_usage(): FILE: examples/model_providers/mcp_basic_bedrock_agent/main.py function example_usage (line 39) | async def example_usage(): FILE: examples/model_providers/mcp_basic_google_agent/main.py class Essay (line 18) | class Essay(BaseModel): function example_usage (line 48) | async def example_usage(): FILE: examples/model_providers/mcp_basic_ollama_agent/main.py function example_usage (line 12) | async def example_usage(): FILE: examples/multithread/main.py function run (line 19) | async def run() -> str: function generate_step (line 67) | def generate_step(): function main (line 82) | def main(concurrency: int) -> list[str]: FILE: examples/multithread/word_count.py function get_script_word_count (line 8) | def get_script_word_count(script: str) -> int: FILE: examples/oauth/interactive_tool/client.py class LoggingClientSession (line 27) | class LoggingClientSession(MCPAgentClientSession): method _received_notification (line 28) | async def _received_notification(self, notification): # type: ignore[... function make_session (line 39) | def make_session( function main (line 59) | async def main() -> None: FILE: examples/oauth/interactive_tool/server.py function github_org_search (line 107) | async def github_org_search(query: str, app_ctx: Optional[AppContext] = ... function main (line 155) | async def main() -> None: FILE: examples/oauth/pre_authorize/client.py function main (line 50) | async def main(): function _tool_result_to_json (line 191) | def _tool_result_to_json(tool_result: CallToolResult): FILE: examples/oauth/pre_authorize/main.py function _load_settings (line 23) | def _load_settings(): function github_org_search_activity (line 73) | async def github_org_search_activity(query: str) -> str: function github_org_search (line 113) | async def github_org_search(query: str, app_ctx: Optional[AppContext] = ... function main (line 123) | async def main(): FILE: examples/oauth/pre_authorize/worker.py function main (line 22) | async def main(): FILE: examples/oauth/protected_by_oauth/main.py function hello (line 58) | async def hello(app_ctx: Optional[AppContext] = None) -> str: function main (line 75) | async def main(): FILE: examples/temporal/basic.py class SimpleWorkflow (line 24) | class SimpleWorkflow(Workflow[str]): method run (line 30) | async def run(self, input: str) -> WorkflowResult[str]: function main (line 58) | async def main(): FILE: examples/temporal/evaluator_optimizer.py class EvaluatorOptimizerWorkflow (line 23) | class EvaluatorOptimizerWorkflow(Workflow[str]): method run (line 29) | async def run(self, input: str) -> WorkflowResult[str]: function main (line 90) | async def main(): FILE: examples/temporal/interactive.py class WorkflowWithInteraction (line 30) | class WorkflowWithInteraction(InteractiveWorkflow[str]): method run (line 36) | async def run(self, input: str) -> WorkflowResult[str]: function main (line 61) | async def main(): FILE: examples/temporal/orchestrator.py function run_orchestrator (line 28) | async def run_orchestrator(input: str, app_ctx: Optional[AppContext] = N... function main (line 103) | async def main(): FILE: examples/temporal/parallel.py class ParallelWorkflow (line 43) | class ParallelWorkflow(Workflow[str]): method run (line 49) | async def run(self, input: str) -> WorkflowResult[str]: function display_token_summary (line 112) | async def display_token_summary(context: Context): function main (line 156) | async def main(): FILE: examples/temporal/router.py function print_to_console (line 20) | def print_to_console(message: str): function print_hello_world (line 27) | def print_hello_world(): class RouterWorkflow (line 35) | class RouterWorkflow(Workflow[str]): method run (line 41) | async def run(self) -> WorkflowResult[str]: function main (line 144) | async def main(): FILE: examples/temporal/run_worker.py function main (line 22) | async def main(): FILE: examples/tracing/agent/main.py function human_input_handler (line 12) | async def human_input_handler(request: HumanInputRequest) -> HumanInputR... function agent_tracing (line 25) | async def agent_tracing(): FILE: examples/tracing/langfuse/main.py function human_input_handler (line 12) | async def human_input_handler(request: HumanInputRequest) -> HumanInputR... function agent_tracing (line 25) | async def agent_tracing(): FILE: examples/tracing/llm/main.py class CountryRecord (line 20) | class CountryRecord(BaseModel): class CountryInfo (line 27) | class CountryInfo(BaseModel): method summary (line 32) | def summary(self) -> str: function llm_tracing (line 39) | async def llm_tracing(): FILE: examples/tracing/mcp/main.py function test_sse (line 12) | async def test_sse(): FILE: examples/tracing/mcp/server.py function _configure_server_otel (line 17) | def _configure_server_otel(): function get_magic_number (line 25) | def get_magic_number(original_number: int = 0) -> int: function main (line 34) | def main(): FILE: examples/tracing/temporal/basic.py class SimpleWorkflow (line 23) | class SimpleWorkflow(Workflow[str]): method run (line 29) | async def run(self, input: str) -> WorkflowResult[str]: function main (line 57) | async def main(): FILE: examples/tracing/temporal/run_worker.py function main (line 22) | async def main(): FILE: examples/usecases/fastapi_websocket/main.py function lifespan (line 15) | async def lifespan(app: FastAPI): function get (line 28) | async def get(): function websocket_endpoint (line 126) | async def websocket_endpoint(websocket: WebSocket, user_id: str): function health_check (line 186) | async def health_check(): function list_sessions (line 192) | async def list_sessions(): FILE: examples/usecases/fastapi_websocket/session_manager.py class UserSession (line 12) | class UserSession: method __init__ (line 15) | def __init__(self, user_id: str, session_id: str): method initialize (line 28) | async def initialize(self): method process_message (line 66) | async def process_message(self, message: str) -> str: method cleanup (line 109) | async def cleanup(self): class SessionManager (line 120) | class SessionManager: method __init__ (line 123) | def __init__(self): method initialize (line 128) | async def initialize(self): method get_or_create_session (line 133) | async def get_or_create_session(self, user_id: str) -> UserSession: method cleanup_session (line 152) | async def cleanup_session(self, user_id: str): method cleanup (line 159) | async def cleanup(self): method _cleanup_task (line 170) | async def _cleanup_task(self): method get_session_info (line 194) | def get_session_info(self, user_id: str) -> Optional[dict]: FILE: examples/usecases/fastapi_websocket/websocket_client_async.py class AsyncWebSocketClient (line 20) | class AsyncWebSocketClient: method __init__ (line 23) | def __init__(self, user_id: str, host: str = "localhost", port: int = ... method connect (line 31) | async def connect(self): method disconnect (line 41) | async def disconnect(self): method send_message (line 47) | async def send_message(self, message: str): method listen_for_messages (line 59) | async def listen_for_messages(self): method handle_user_input (line 82) | async def handle_user_input(self): method interactive_chat (line 111) | async def interactive_chat(self): method show_help (line 134) | def show_help(self): function main (line 148) | async def main(): FILE: examples/usecases/marimo_mcp_basic_agent/notebook.py function _ (line 18) | def _(mo): function _ (line 30) | def _(ListToolsResult, mo, tools): function _ (line 43) | def _(llm, mo): function _ (line 59) | async def _(): function _ (line 72) | async def _(Agent, OpenAIAugmentedLLM): function _ (line 88) | def _(): FILE: examples/usecases/mcp_basic_slack_agent/main.py function fetch_latest_slack_message (line 12) | async def fetch_latest_slack_message() -> str: FILE: examples/usecases/mcp_browser_agent/browser_agent.py function initialize_browser_agent (line 36) | async def initialize_browser_agent(url): function interact_with_browser (line 100) | async def interact_with_browser(llm, query): function close_browser_session (line 121) | async def close_browser_session(browser_agent, browser_manager, browser_... function print_banner (line 134) | def print_banner(): function print_welcome (line 148) | def print_welcome(): function format_agent_response (line 161) | def format_agent_response(response): function update_session_info (line 202) | def update_session_info(response): function run_browser_session (line 217) | async def run_browser_session(url): function parse_args (line 310) | def parse_args(): FILE: examples/usecases/mcp_financial_analyzer/main.py function main (line 31) | async def main(): FILE: examples/usecases/mcp_github_to_slack_agent/main.py function github_to_slack (line 17) | async def github_to_slack(github_owner: str, github_repo: str, slack_cha... function parse_args (line 85) | def parse_args(): FILE: examples/usecases/mcp_instagram_gift_advisor/main.py class InstagramGiftAdvisor (line 13) | class InstagramGiftAdvisor: method __init__ (line 14) | def __init__(self): method __aenter__ (line 21) | async def __aenter__(self): method __aexit__ (line 70) | async def __aexit__(self, exc_type, exc_val, exc_tb): method scrape_instagram_profile (line 77) | async def scrape_instagram_profile(self, username): method generate_gift_recommendations (line 112) | async def generate_gift_recommendations(self, profile_analysis): function run_gift_advisor (line 157) | async def run_gift_advisor(username): function parse_args (line 188) | def parse_args(): FILE: examples/usecases/mcp_marketing_assistant_agent/main.py function detect_platform (line 32) | def detect_platform(request: str) -> str: function load_company_config (line 45) | def load_company_config() -> dict: function main (line 61) | async def main(): FILE: examples/usecases/mcp_playwright_agent/main.py function linkedin_to_filesystem (line 17) | async def linkedin_to_filesystem( function parse_args (line 104) | def parse_args(): FILE: examples/usecases/mcp_realtor_agent/main.py function main (line 38) | async def main(): FILE: examples/usecases/mcp_realtor_agent/rentspider_server.py class PropertySearchPreferences (line 29) | class PropertySearchPreferences(BaseModel): class MarketAnalysisPreferences (line 50) | class MarketAnalysisPreferences(BaseModel): class RentalTrendsPreferences (line 66) | class RentalTrendsPreferences(BaseModel): function make_api_request (line 83) | async def make_api_request( function search_properties (line 114) | async def search_properties(location: str, ctx: Context) -> str: function get_market_statistics (line 202) | async def get_market_statistics(location: str, ctx: Context) -> str: function get_rental_trends (line 275) | async def get_rental_trends(location: str, ctx: Context) -> str: function get_property_details (line 351) | async def get_property_details(property_id: str) -> str: function get_comparable_properties (line 373) | async def get_comparable_properties(property_id: str, ctx: Context) -> str: function main (line 437) | def main(): FILE: examples/usecases/mcp_researcher/main.py function example_usage (line 17) | async def example_usage(): FILE: examples/usecases/mcp_supabase_migration_agent/main.py function supabase_migration_codegen (line 13) | async def supabase_migration_codegen( function parse_args (line 108) | def parse_args(): FILE: examples/usecases/reliable_conversation/main.py class RegisteredConversationWorkflow (line 36) | class RegisteredConversationWorkflow(ConversationWorkflow): function run_repl (line 42) | async def run_repl(): function _display_help (line 189) | def _display_help(formatter: ReadableFormatter): function _display_config (line 214) | def _display_config(rcm_app, formatter: ReadableFormatter): function _display_stats_enhanced (line 248) | def _display_stats_enhanced(state: ConversationState, formatter: Readabl... function _display_requirements_enhanced (line 291) | def _display_requirements_enhanced( function _display_final_summary_enhanced (line 304) | def _display_final_summary_enhanced( function _display_quality_metrics (line 350) | def _display_quality_metrics(metrics: dict): function _display_stats (line 370) | def _display_stats(state: ConversationState): function _display_requirements (line 407) | def _display_requirements(state: ConversationState): function _display_final_summary (line 438) | def _display_final_summary(state: ConversationState): FILE: examples/usecases/reliable_conversation/src/models/conversation_models.py class ConversationMessage (line 12) | class ConversationMessage: method to_dict (line 20) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 30) | def from_dict(cls, data: Dict[str, Any]) -> "ConversationMessage": class Requirement (line 41) | class Requirement: method to_dict (line 50) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 61) | def from_dict(cls, data: Dict[str, Any]) -> "Requirement": class QualityMetrics (line 73) | class QualityMetrics: method overall_score (line 85) | def overall_score(self) -> float: method to_dict (line 99) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 113) | def from_dict(cls, data: Dict[str, Any]) -> "QualityMetrics": class ConversationState (line 127) | class ConversationState: method to_dict (line 146) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 163) | def from_dict(cls, data: Dict[str, Any]) -> "ConversationState": class ConversationConfig (line 183) | class ConversationConfig: method to_dict (line 196) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 211) | def from_dict(cls, data: Dict[str, Any]) -> "ConversationConfig": FILE: examples/usecases/reliable_conversation/src/tasks/llm_evaluators.py function evaluate_quality_with_llm (line 99) | async def evaluate_quality_with_llm(params: Dict[str, Any]) -> Dict[str,... function extract_requirements_with_llm (line 222) | async def extract_requirements_with_llm(params: Dict[str, Any]) -> List[... function consolidate_context_with_llm (line 312) | async def consolidate_context_with_llm(params: Dict[str, Any]) -> str: function _detect_complete_solution_attempt (line 394) | def _detect_complete_solution_attempt(response: str) -> bool: function _calculate_overall_score (line 411) | def _calculate_overall_score(metrics: Dict[str, Any]) -> float: FILE: examples/usecases/reliable_conversation/src/tasks/quality_control.py function process_turn_with_quality (line 23) | async def process_turn_with_quality(params: Dict[str, Any]) -> Dict[str,... function generate_response_with_constraints (line 206) | async def generate_response_with_constraints(params: Dict[str, Any]) -> ... function _should_consolidate_context (line 298) | def _should_consolidate_context( function _calculate_overall_score (line 311) | def _calculate_overall_score(metrics: Dict[str, Any]) -> float: FILE: examples/usecases/reliable_conversation/src/tasks/task_functions.py function evaluate_quality_with_llm (line 96) | async def evaluate_quality_with_llm(params: Dict[str, Any]) -> Dict[str,... function extract_requirements_with_llm (line 253) | async def extract_requirements_with_llm(params: Dict[str, Any]) -> List[... function consolidate_context_with_llm (line 398) | async def consolidate_context_with_llm(params: Dict[str, Any]) -> str: function generate_response_with_constraints (line 516) | async def generate_response_with_constraints(params: Dict[str, Any]) -> ... function process_turn_with_quality (line 642) | async def process_turn_with_quality(params: Dict[str, Any]) -> Dict[str,... function _should_consolidate_context (line 845) | def _should_consolidate_context( function _calculate_overall_score (line 858) | def _calculate_overall_score(metrics: Dict[str, Any]) -> float: function _detect_complete_solution_attempt (line 883) | def _detect_complete_solution_attempt(response: str) -> bool: FILE: examples/usecases/reliable_conversation/src/tasks/task_registry.py function register_rcm_tasks (line 9) | def register_rcm_tasks(app: MCPApp): FILE: examples/usecases/reliable_conversation/src/utils/config.py function get_llm_class (line 10) | def get_llm_class(provider: str = "openai") -> Type: function extract_rcm_config (line 18) | def extract_rcm_config(app_config: Any) -> dict: FILE: examples/usecases/reliable_conversation/src/utils/log_formatter.py function format_message_content (line 13) | def format_message_content(content: str, max_line_length: int = 100) -> ... function format_log_data (line 61) | def format_log_data(data: Dict[str, Any]) -> str: function extract_key_info (line 89) | def extract_key_info(log_record) -> Dict[str, Any]: function create_readable_summary (line 121) | def create_readable_summary(message: str, record: logging.LogRecord) -> ... class ReadableFormatter (line 169) | class ReadableFormatter(logging.Formatter): method __init__ (line 172) | def __init__(self, show_summaries: bool = True, max_line_length: int =... method format (line 177) | def format(self, record: logging.LogRecord) -> str: FILE: examples/usecases/reliable_conversation/src/utils/logging.py function get_rcm_logger (line 10) | def get_rcm_logger(name: str): function log_conversation_event (line 16) | def log_conversation_event( function log_quality_metrics (line 28) | def log_quality_metrics( function log_workflow_step (line 40) | def log_workflow_step( FILE: examples/usecases/reliable_conversation/src/utils/logging_config.py function setup_readable_logging (line 11) | def setup_readable_logging( function setup_test_logging (line 65) | def setup_test_logging() -> None: FILE: examples/usecases/reliable_conversation/src/utils/progress_reporter.py class ProgressReporter (line 10) | class ProgressReporter: method __init__ (line 13) | def __init__(self, console: Optional[Console] = None, enabled: bool = ... method step (line 18) | def step(self, message: str, details: str = ""): method thinking (line 30) | def thinking(self, message: str = "Processing"): method quality_check (line 38) | def quality_check(self, score: float, issues: int = 0): method requirement_extraction (line 53) | def requirement_extraction(self, count: int): method context_consolidation (line 63) | def context_consolidation(self, from_chars: int, to_chars: int): method show_llm_interaction (line 73) | def show_llm_interaction( function get_progress_reporter (line 111) | def get_progress_reporter() -> Optional[ProgressReporter]: function set_progress_reporter (line 116) | def set_progress_reporter(reporter: Optional[ProgressReporter]): function report_step (line 122) | def report_step(message: str, details: str = ""): function report_thinking (line 129) | def report_thinking(message: str = "Processing"): function report_quality_check (line 136) | def report_quality_check(score: float, issues: int = 0): function report_requirement_extraction (line 143) | def report_requirement_extraction(count: int): function report_context_consolidation (line 150) | def report_context_consolidation(from_chars: int, to_chars: int): function show_llm_interaction (line 157) | def show_llm_interaction(role: str, prompt: str, response: str, truncate... FILE: examples/usecases/reliable_conversation/src/utils/readable_output.py class OutputConfig (line 15) | class OutputConfig: method __post_init__ (line 26) | def __post_init__(self): class ReadableFormatter (line 31) | class ReadableFormatter: method __init__ (line 34) | def __init__( method format_quality_score (line 40) | def format_quality_score(self, score: float, issues: List[str] = None)... method format_conversation_turn (line 75) | def format_conversation_turn( method _contains_code (line 123) | def _contains_code(self, text: str) -> bool: method _format_code_response (line 129) | def _format_code_response(self, response: str) -> str: method format_requirements_status (line 135) | def format_requirements_status(self, requirements: List[Dict[str, Any]... method format_conversation_stats (line 170) | def format_conversation_stats(self, stats: Dict[str, Any]) -> None: method show_welcome (line 192) | def show_welcome(self, app_name: str = "Reliable Conversation Manager"... method show_thinking (line 203) | def show_thinking(self, message: str = "Processing...") -> None: method show_progress (line 208) | def show_progress(self, message: str, elapsed_time: float = 0) -> None: method show_error (line 215) | def show_error(self, error: str) -> None: method show_warning (line 219) | def show_warning(self, warning: str) -> None: method show_success (line 223) | def show_success(self, message: str) -> None: function safe_format (line 228) | def safe_format(content, formatter_func): FILE: examples/usecases/reliable_conversation/src/utils/test_runner.py class ReadableTestRunner (line 17) | class ReadableTestRunner: method __init__ (line 20) | def __init__( method show_test_header (line 28) | def show_test_header(self, title: str, description: str = ""): method run_test_scenario (line 36) | async def run_test_scenario( method _display_test_result (line 97) | def _display_test_result(self, result: Dict[str, Any], execution_time:... method _display_quality_summary (line 145) | def _display_quality_summary(self, metrics: Dict[str, Any]): method _display_test_validations (line 166) | def _display_test_validations(self, validations: List[Dict[str, Any]]): method display_summary (line 180) | def display_summary(self): method display_conversation_analysis (line 229) | def display_conversation_analysis(self, conversation_data: Dict[str, A... method _display_quality_trend (line 248) | def _display_quality_trend(self, quality_history: List[Dict[str, Any]]): method _display_bloat_analysis (line 275) | def _display_bloat_analysis(self, answer_lengths: List[int]): function create_test_runner (line 300) | def create_test_runner(verbosity: str = "normal") -> ReadableTestRunner: FILE: examples/usecases/reliable_conversation/src/workflows/conversation_workflow.py class ConversationWorkflow (line 29) | class ConversationWorkflow(Workflow[Dict[str, Any]]): method __init__ (line 35) | def __init__(self, app): method run (line 42) | async def run(self, args: Dict[str, Any]) -> WorkflowResult[Dict[str, ... method _run_asyncio_conversation (line 57) | async def _run_asyncio_conversation( method _run_temporal_conversation (line 110) | async def _run_temporal_conversation( method _add_system_message (line 117) | async def _add_system_message(self): method _process_turn (line 130) | async def _process_turn(self, user_input: str): method _generate_basic_response (line 234) | async def _generate_basic_response(self, user_input: str) -> str: method _build_conversation_context (line 297) | def _build_conversation_context(self) -> str: FILE: examples/usecases/reliable_conversation/test_basic.py function patch_llm_interactions (line 24) | def patch_llm_interactions(): function test_rcm_with_real_calls (line 75) | async def test_rcm_with_real_calls(): function test_fallback_behavior (line 359) | async def test_fallback_behavior(): FILE: examples/usecases/streamlit_mcp_basic_agent/main.py class AgentState (line 15) | class AgentState: function get_agent_state (line 22) | async def get_agent_state( function format_list_tools_result (line 58) | def format_list_tools_result(list_tools_result: ListToolsResult): function main (line 65) | async def main(): FILE: examples/usecases/streamlit_mcp_rag_agent/agent_state.py class AgentState (line 13) | class AgentState: function get_agent_state (line 20) | async def get_agent_state( FILE: examples/usecases/streamlit_mcp_rag_agent/main.py function initialize_collection (line 41) | def initialize_collection(): function main (line 55) | async def main(): FILE: examples/workflows/workflow_deep_orchestrator/main.py class DeepOrchestratorMonitor (line 42) | class DeepOrchestratorMonitor: method __init__ (line 45) | def __init__(self, orchestrator: DeepOrchestrator): method get_budget_table (line 49) | def get_budget_table(self) -> Table: method get_queue_tree (line 89) | def get_queue_tree(self) -> Tree: method get_plan_table (line 175) | def get_plan_table(self) -> Table: method get_token_stats_panel (line 213) | async def get_token_stats_panel(self) -> Panel: method get_memory_panel (line 261) | def get_memory_panel(self) -> Panel: method get_agents_table (line 283) | def get_agents_table(self) -> Table: method get_policy_panel (line 309) | def get_policy_panel(self) -> Panel: method get_status_summary (line 322) | def get_status_summary(self) -> Panel: function create_display_layout (line 336) | def create_display_layout() -> Layout: function update_display (line 364) | def update_display(layout: Layout, monitor: DeepOrchestratorMonitor): function main (line 400) | async def main(): FILE: examples/workflows/workflow_evaluator_optimizer/main.py function example_usage (line 29) | async def example_usage( FILE: examples/workflows/workflow_intent_classifier/main.py function example_usage (line 17) | async def example_usage() -> str: FILE: examples/workflows/workflow_orchestrator_worker/main.py function example_usage (line 94) | async def example_usage() -> str: function display_node_tree (line 190) | def display_node_tree( function display_run_tree (line 240) | async def display_run_tree(context: Context, name: str): FILE: examples/workflows/workflow_parallel/main.py function example_usage (line 40) | async def example_usage(): FILE: examples/workflows/workflow_router/main.py function print_to_console (line 15) | def print_to_console(message: str): function print_hello_world (line 23) | def print_hello_world(): function example_usage (line 30) | async def example_usage(): FILE: examples/workflows/workflow_swarm/main.py function escalate_to_agent (line 16) | def escalate_to_agent(reason=None): function valid_to_change_flight (line 21) | def valid_to_change_flight(): function change_flight (line 26) | def change_flight(): function initiate_refund (line 31) | def initiate_refund(): function initiate_flight_credits (line 37) | def initiate_flight_credits(): function case_resolved (line 43) | def case_resolved(): function initiate_baggage_search (line 71) | def initiate_baggage_search(): function transfer_to_flight_modification (line 76) | def transfer_to_flight_modification(): function transfer_to_flight_cancel (line 81) | def transfer_to_flight_cancel(): function transfer_to_flight_change (line 86) | def transfer_to_flight_change(): function transfer_to_lost_baggage (line 91) | def transfer_to_lost_baggage(): function transfer_to_triage (line 96) | def transfer_to_triage(): function triage_instructions (line 105) | def triage_instructions(context_variables): function example_usage (line 203) | async def example_usage(): function main (line 256) | async def main(): FILE: scripts/event_replay.py function load_events (line 18) | def load_events(path: Path) -> list[Event]: function main (line 37) | def main(log_file: str): FILE: scripts/event_summary.py function load_events (line 17) | def load_events(path: Path) -> list[Event]: function create_event_table (line 36) | def create_event_table(events: list[Event]) -> Table: function create_summary_panel (line 77) | def create_summary_panel(events: list[Event]) -> Panel: function main (line 113) | def main(log_file: str): FILE: scripts/event_viewer.py function get_key (line 22) | def get_key() -> str: class EventDisplay (line 33) | class EventDisplay: method __init__ (line 36) | def __init__(self, events: List[Event]): method next (line 45) | def next(self, steps: int = 1) -> None: method prev (line 52) | def prev(self, steps: int = 1) -> None: method _rebuild_progress_events (line 59) | def _rebuild_progress_events(self) -> None: method _process_current (line 70) | def _process_current(self) -> None: method render (line 96) | def render(self) -> Panel: function load_events (line 165) | def load_events(path: Path) -> List[Event]: function main (line 196) | def main(log_file: str): FILE: scripts/format.py function main (line 15) | def main(path: str = None): FILE: scripts/gen_llm_benchmarks.py class ModelBenchmarks (line 29) | class ModelBenchmarks(BaseModel): class ModelLatency (line 48) | class ModelLatency(BaseModel): class ModelCost (line 64) | class ModelCost(BaseModel): class ModelMetrics (line 87) | class ModelMetrics(BaseModel): class ModelInfo (line 97) | class ModelInfo(BaseModel): function parse_context_window (line 109) | def parse_context_window(context_str: str) -> int | None: function parse_html_to_models (line 129) | def parse_html_to_models(html_content: str) -> list[ModelInfo]: function export_to_json (line 506) | def export_to_json( function display_summary (line 513) | def display_summary(models: list[ModelInfo]): function main (line 559) | def main( FILE: scripts/gen_schema.py function extract_model_info (line 29) | def extract_model_info(content: str) -> Dict[str, Dict[str, str]]: class MockModule (line 104) | class MockModule: method __getattr__ (line 107) | def __getattr__(self, _: str) -> Any: method __call__ (line 110) | def __call__(self, *args: Any, **kwargs: Any) -> Any: function create_mock_modules (line 114) | def create_mock_modules() -> None: function load_settings_class (line 133) | def load_settings_class( function apply_descriptions_to_schema (line 166) | def apply_descriptions_to_schema( function generate (line 198) | def generate( FILE: scripts/lint.py function main (line 15) | def main(fix: bool = False, watch: bool = False, path: str = None): FILE: scripts/log_trimmer.py function count_tokens (line 19) | def count_tokens(text: str, model: str = "gpt-4o") -> int: function clean (line 35) | def clean(file: Path = typer.Argument(..., help="Path to the file to cle... FILE: scripts/promptify.py function parse_gitignore (line 15) | def parse_gitignore(path: Path) -> List[str]: function normalize_pattern (line 28) | def normalize_pattern(pattern: str) -> str: function pattern_match (line 35) | def pattern_match(path: str, pattern: str) -> bool: function matches_any_pattern (line 60) | def matches_any_pattern(path: Path, patterns: List[str]) -> bool: function path_in_directory (line 69) | def path_in_directory(path: Path, dir_pattern: str) -> bool: function should_force_include (line 109) | def should_force_include(path: Path, append_patterns: List[str]) -> bool: function should_include_by_pattern (line 146) | def should_include_by_pattern(path: Path, include_patterns: List[str]) -... function should_ignore (line 180) | def should_ignore( function should_process_path (line 189) | def should_process_path( function has_includable_content (line 222) | def has_includable_content( function create_tree_structure (line 276) | def create_tree_structure( function package_project (line 328) | def package_project( function main (line 432) | def main( FILE: scripts/rich_progress_test.py function generate_test_events (line 11) | async def generate_test_events(): function main (line 88) | async def main(): FILE: src/mcp_agent/agents/agent.py class Agent (line 62) | class Agent(BaseModel): method model_post_init (line 151) | def model_post_init(self, __context) -> None: method attach_llm (line 157) | async def attach_llm( method get_token_node (line 195) | async def get_token_node(self, return_all_matches: bool = False): method get_token_usage (line 206) | async def get_token_usage(self): method get_token_cost (line 211) | async def get_token_cost(self) -> float: method watch_tokens (line 216) | async def watch_tokens( method format_token_tree (line 254) | async def format_token_tree(self) -> str: method initialize (line 260) | async def initialize(self, force: bool = False): method shutdown (line 336) | async def shutdown(self): method close (line 370) | async def close(self): method __aenter__ (line 377) | async def __aenter__(self): method __aexit__ (line 381) | async def __aexit__(self, exc_type, exc_val, exc_tb): method get_capabilities (line 384) | async def get_capabilities( method get_server_session (line 440) | async def get_server_session(self, server_name: str): method _should_include_non_namespaced_tool (line 462) | def _should_include_non_namespaced_tool( method list_tools (line 493) | async def list_tools( method list_resources (line 724) | async def list_resources( method read_resource (line 749) | async def read_resource(self, uri: str, server_name: str | None = None): method create_prompt (line 775) | async def create_prompt( method list_prompts (line 868) | async def list_prompts(self, server_name: str | None = None) -> ListPr... method get_prompt (line 912) | async def get_prompt( method request_human_input (line 965) | async def request_human_input( method call_tool (line 1072) | async def call_tool( method _call_human_input_tool (line 1127) | async def _call_human_input_tool( class InitAggregatorRequest (line 1164) | class InitAggregatorRequest(BaseModel): class InitAggregatorResponse (line 1175) | class InitAggregatorResponse(BaseModel): class ListToolsRequest (line 1196) | class ListToolsRequest(BaseModel): class CallToolRequest (line 1205) | class CallToolRequest(BaseModel): class ListPromptsRequest (line 1217) | class ListPromptsRequest(BaseModel): class GetPromptRequest (line 1226) | class GetPromptRequest(BaseModel): class GetCapabilitiesRequest (line 1238) | class GetCapabilitiesRequest(BaseModel): class GetServerSessionRequest (line 1247) | class GetServerSessionRequest(BaseModel): class ListResourcesRequest (line 1256) | class ListResourcesRequest(BaseModel): class ReadResourceRequest (line 1265) | class ReadResourceRequest(BaseModel): class GetServerSessionResponse (line 1275) | class GetServerSessionResponse(BaseModel): class AgentTasks (line 1285) | class AgentTasks: method __init__ (line 1290) | def __init__(self, context: "Context"): method _with_aggregator (line 1306) | async def _with_aggregator(self, agent_name: str): method initialize_aggregator_task (line 1384) | async def initialize_aggregator_task( method shutdown_aggregator_task (line 1437) | async def shutdown_aggregator_task(self, agent_name: str) -> bool: method list_tools_task (line 1477) | async def list_tools_task(self, request: ListToolsRequest) -> ListTool... method call_tool_task (line 1488) | async def call_tool_task(self, request: CallToolRequest) -> CallToolRe... method list_prompts_task (line 1501) | async def list_prompts_task(self, request: ListPromptsRequest) -> List... method get_prompt_task (line 1512) | async def get_prompt_task(self, request: GetPromptRequest) -> GetPromp... method get_capabilities_task (line 1525) | async def get_capabilities_task( method get_server_session (line 1554) | async def get_server_session( method list_resources_task (line 1578) | async def list_resources_task(self, request: ListResourcesRequest): method read_resource_task (line 1588) | async def read_resource_task(self, request: ReadResourceRequest): FILE: src/mcp_agent/agents/agent_spec.py class AgentSpec (line 8) | class AgentSpec(BaseModel): FILE: src/mcp_agent/app.py class MCPApp (line 66) | class MCPApp: method __init__ (line 87) | def __init__( method context (line 185) | def context(self) -> Context: method config (line 193) | def config(self): method server_registry (line 197) | def server_registry(self): method executor (line 201) | def executor(self): method engine (line 205) | def engine(self): method upstream_session (line 209) | def upstream_session(self): method upstream_session (line 213) | def upstream_session(self, value): method workflows (line 217) | def workflows(self): method tasks (line 221) | def tasks(self): method session_id (line 225) | def session_id(self): method logger (line 229) | def logger(self): method _apply_environment_bindings (line 248) | def _apply_environment_bindings(self) -> None: method _load_dotenv_files (line 269) | def _load_dotenv_files(self) -> None: method initialize (line 282) | async def initialize(self): method _initialize_preconfigured_tokens (line 438) | async def _initialize_preconfigured_tokens(self, token_manager): method get_token_node (line 484) | async def get_token_node(self): method get_token_usage (line 490) | async def get_token_usage(self): method get_token_summary (line 497) | async def get_token_summary(self): method watch_tokens (line 504) | async def watch_tokens( method format_token_tree (line 523) | async def format_token_tree(self) -> str: method cleanup (line 529) | async def cleanup(self): method run (line 564) | async def run(self): method workflow (line 589) | def workflow( method workflow_signal (line 625) | def workflow_signal( method workflow_run (line 675) | def workflow_run(self, fn: Callable[..., R], **kwargs) -> Callable[...... method _create_workflow_from_function (line 736) | def _create_workflow_from_function( method tool (line 946) | def tool(self, __fn: Callable[P, R]) -> Callable[P, R]: ... method tool (line 949) | def tool( method tool (line 961) | def tool( method async_tool (line 1056) | def async_tool(self, __fn: Callable[P, R]) -> Callable[P, R]: ... method async_tool (line 1059) | def async_tool( method async_tool (line 1071) | def async_tool( method _get_configured_retry_policy (line 1163) | def _get_configured_retry_policy(self, activity_name: str) -> Dict[str... method workflow_task (line 1219) | def workflow_task( method is_workflow_task (line 1303) | def is_workflow_task(self, func: Callable[..., Any]) -> bool: method _register_global_workflow_tasks (line 1309) | def _register_global_workflow_tasks(self): FILE: src/mcp_agent/cli/__main__.py function main (line 43) | def main(): FILE: src/mcp_agent/cli/auth/main.py function save_credentials (line 11) | def save_credentials(credentials: UserCredentials) -> None: function load_credentials (line 59) | def load_credentials() -> Optional[UserCredentials]: function clear_credentials (line 88) | def clear_credentials() -> bool: function load_api_key_credentials (line 108) | def load_api_key_credentials() -> Optional[str]: FILE: src/mcp_agent/cli/auth/models.py class UserCredentials (line 10) | class UserCredentials: method is_token_expired (line 22) | def is_token_expired(self) -> bool: method to_dict (line 28) | def to_dict(self) -> dict: method from_dict (line 42) | def from_dict(cls, data: dict) -> "UserCredentials": method to_json (line 56) | def to_json(self) -> str: method from_json (line 61) | def from_json(cls, json_str: str) -> "UserCredentials": FILE: src/mcp_agent/cli/cloud/commands/app/delete/main.py function delete_app (line 23) | def delete_app( FILE: src/mcp_agent/cli/cloud/commands/app/status/main.py function get_app_status (line 35) | def get_app_status( function print_server_info (line 106) | def print_server_info(server_info: AppServerInfo) -> None: function _server_status_text (line 118) | def _server_status_text(status: str) -> str: function print_mcp_server_details (line 127) | async def print_mcp_server_details(server_url: str, api_key: str) -> None: function print_server_tools (line 173) | async def print_server_tools(session: MCPClientSession) -> None: function print_server_prompts (line 223) | async def print_server_prompts(session: MCPClientSession) -> None: function print_server_resources (line 270) | async def print_server_resources(session: MCPClientSession) -> None: function print_server_workflows (line 305) | async def print_server_workflows(session: MCPClientSession) -> None: FILE: src/mcp_agent/cli/cloud/commands/app/workflows/main.py function list_app_workflows (line 34) | def list_app_workflows( function print_mcp_server_workflow_details (line 102) | async def print_mcp_server_workflow_details(server_url: str, api_key: st... function print_workflows_list (line 138) | async def print_workflows_list(session: MCPClientSession) -> None: function print_runs_list (line 150) | async def print_runs_list(session: MCPClientSession) -> None: FILE: src/mcp_agent/cli/cloud/commands/apps/list/main.py function list_apps (line 25) | def list_apps( function print_info_header (line 97) | def print_info_header() -> None: function print_apps (line 110) | def print_apps(apps: List[MCPApp]) -> None: function print_app_configs (line 140) | def print_app_configs(app_configs: List[MCPAppConfiguration]) -> None: function _server_status_text (line 183) | def _server_status_text(status: str, is_last_row: bool = False): function _format_deploy_meta (line 193) | def _format_deploy_meta(meta): FILE: src/mcp_agent/cli/cloud/commands/apps/update/main.py function update_app (line 20) | def update_app( FILE: src/mcp_agent/cli/cloud/commands/auth/login/main.py function _load_user_credentials (line 24) | def _load_user_credentials(api_key: str) -> UserCredentials: function login (line 57) | def login( function _handle_browser_auth (line 106) | def _handle_browser_auth(base_url: str, no_open: bool) -> str: function _handle_manual_key_input (line 132) | def _handle_manual_key_input() -> str: function _is_valid_api_key (line 158) | def _is_valid_api_key(api_key: str) -> bool: FILE: src/mcp_agent/cli/cloud/commands/auth/logout/main.py function logout (line 9) | def logout() -> None: FILE: src/mcp_agent/cli/cloud/commands/auth/whoami/main.py function whoami (line 12) | def whoami() -> None: FILE: src/mcp_agent/cli/cloud/commands/configure/main.py function configure_app (line 44) | def configure_app( FILE: src/mcp_agent/cli/cloud/commands/deploy/bundle_utils.py function create_pathspec_from_gitignore (line 17) | def create_pathspec_from_gitignore( function should_ignore_by_gitignore (line 41) | def should_ignore_by_gitignore( FILE: src/mcp_agent/cli/cloud/commands/deploy/main.py function deploy_config (line 50) | def deploy_config( function _deploy_with_retry (line 488) | async def _deploy_with_retry( function get_config_files (line 596) | def get_config_files(config_dir: Path) -> tuple[Path, Optional[Path], Op... FILE: src/mcp_agent/cli/cloud/commands/deploy/materialize.py class EnvSpec (line 27) | class EnvSpec: method secret_name (line 34) | def secret_name(self) -> str: function _normalize_env_specs (line 38) | def _normalize_env_specs(settings: Settings) -> list[EnvSpec]: function _secret_name_for_env (line 46) | def _secret_name_for_env(app_id: str, key: str) -> str: function _load_deployed_secrets (line 50) | def _load_deployed_secrets(path: Path) -> dict: function _extract_existing_env_handles (line 58) | def _extract_existing_env_handles(data: dict) -> dict[str, str]: function _persist_deployed_secrets (line 70) | def _persist_deployed_secrets(path: Path, data: dict) -> None: function _load_raw_config (line 75) | def _load_raw_config(config_file: Path) -> dict: function _write_deployed_config (line 84) | def _write_deployed_config(path: Path, data: dict) -> None: function _redact_config_values (line 93) | def _redact_config_values( function materialize_deployment_artifacts (line 148) | def materialize_deployment_artifacts( function _load_settings_from_app (line 304) | def _load_settings_from_app(config_dir: Path) -> Settings | None: FILE: src/mcp_agent/cli/cloud/commands/deploy/settings.py class DeploymentURLSettings (line 10) | class DeploymentURLSettings(BaseSettings): method wrangler_auth_domain (line 24) | def wrangler_auth_domain(self) -> str: method wrangler_auth_url (line 29) | def wrangler_auth_url(self) -> str: method cloudflare_api_base_url (line 34) | def cloudflare_api_base_url(self) -> str: FILE: src/mcp_agent/cli/cloud/commands/deploy/validation.py function validate_project (line 8) | def validate_project(project_dir: Path): function validate_entrypoint (line 53) | def validate_entrypoint(entrypoint_path: Path): FILE: src/mcp_agent/cli/cloud/commands/deploy/wrangler_wrapper.py function _needs_requirements_modification (line 45) | def _needs_requirements_modification(requirements_path: Path) -> bool: function _modify_requirements_txt (line 54) | def _modify_requirements_txt(requirements_path: Path) -> None: function _handle_wrangler_error (line 61) | def _handle_wrangler_error(e: subprocess.CalledProcessError) -> None: function wrangler_deploy (line 120) | def wrangler_deploy( FILE: src/mcp_agent/cli/cloud/commands/env/main.py function _format_env_value (line 34) | def _format_env_value(value: str) -> str: function _write_env_file (line 47) | def _write_env_file(path: Path, values: Dict[str, str]) -> None: function _confirm_overwrite (line 54) | def _confirm_overwrite(target: Path, force: bool, label: str) -> None: function _load_env_file_values (line 64) | def _load_env_file_values(path: Path) -> Dict[str, str]: function _ensure_api_key (line 77) | def _ensure_api_key(api_key_option: Optional[str]) -> str: function _make_secrets_client (line 86) | def _make_secrets_client(api_url: Optional[str], api_key: str) -> Secret... function _resolve_app (line 93) | def _resolve_app( function _env_secret_prefix (line 127) | def _env_secret_prefix(app_id: str) -> str: function _load_existing_handles (line 131) | def _load_existing_handles(client: SecretsClient, app_id: str) -> Dict[s... function list_secrets (line 146) | def list_secrets( function add_secret (line 200) | def add_secret( function remove_secret (line 287) | def remove_secret( function pull_secrets (line 336) | def pull_secrets( FILE: src/mcp_agent/cli/cloud/commands/logger/configure/main.py function configure_logger (line 18) | def configure_logger( function _find_config_file (line 134) | def _find_config_file() -> Optional[Path]: function _load_config (line 145) | def _load_config(config_path: Path) -> dict: FILE: src/mcp_agent/cli/cloud/commands/logger/tail/main.py function tail_logs (line 37) | def tail_logs( function _fetch_logs (line 184) | async def _fetch_logs( function _stream_logs (line 267) | async def _stream_logs( function _filter_logs (line 364) | def _filter_logs( function _matches_pattern (line 384) | def _matches_pattern(message: str, pattern: str) -> bool: function _clean_log_entry (line 393) | def _clean_log_entry(entry: Dict[str, Any]) -> Dict[str, Any]: function _display_text_log_entry (line 402) | def _display_text_log_entry(entry: Dict[str, Any]) -> None: function _display_logs (line 420) | def _display_logs( function _display_log_entry (line 441) | def _display_log_entry(log_entry: Dict[str, Any], format: str = "text") ... function _convert_timestamp_to_local (line 453) | def _convert_timestamp_to_local(timestamp: float) -> str: function _format_timestamp (line 460) | def _format_timestamp(timestamp_str: str) -> str: function _parse_log_level (line 473) | def _parse_log_level(level: str) -> str: function _clean_message (line 483) | def _clean_message(message: str) -> str: function _get_level_style (line 504) | def _get_level_style(level: str) -> str: FILE: src/mcp_agent/cli/cloud/commands/servers/delete/main.py function delete_server (line 18) | def delete_server( FILE: src/mcp_agent/cli/cloud/commands/servers/describe/main.py function describe_server (line 21) | def describe_server( function print_server_description (line 36) | def print_server_description( function _print_server_json (line 55) | def _print_server_json(server: Union[MCPApp, MCPAppConfiguration]) -> None: function _print_server_yaml (line 61) | def _print_server_yaml(server: Union[MCPApp, MCPAppConfiguration]) -> None: function _server_to_dict (line 67) | def _server_to_dict(server: Union[MCPApp, MCPAppConfiguration]) -> dict: function _print_server_text (line 109) | def _print_server_text(server: Union[MCPApp, MCPAppConfiguration]) -> None: function _server_status_text (line 168) | def _server_status_text(status: str) -> str: FILE: src/mcp_agent/cli/cloud/commands/servers/list/main.py function list_servers (line 22) | def list_servers( function _apply_filter (line 91) | def _apply_filter( function _apply_sort (line 146) | def _apply_sort( function _print_servers_text (line 212) | def _print_servers_text( function _print_servers_json (line 252) | def _print_servers_json( function _print_servers_yaml (line 263) | def _print_servers_yaml( function _server_to_dict (line 274) | def _server_to_dict(server: MCPApp) -> dict: function _server_config_to_dict (line 294) | def _server_config_to_dict(config: MCPAppConfiguration) -> dict: function print_info_header (line 317) | def print_info_header() -> None: function print_servers (line 330) | def print_servers(servers: List[MCPApp]) -> None: function print_server_configs (line 361) | def print_server_configs(server_configs: List[MCPAppConfiguration]) -> N... function _server_status_text (line 405) | def _server_status_text(status: str) -> str: function _format_deploy_meta (line 415) | def _format_deploy_meta(meta) -> Optional[str]: FILE: src/mcp_agent/cli/cloud/commands/utils.py function setup_authenticated_client (line 20) | def setup_authenticated_client() -> MCPAppClient: function validate_output_format (line 41) | def validate_output_format(format: str) -> None: function resolve_server_async (line 58) | async def resolve_server_async( function resolve_server (line 97) | def resolve_server( function handle_server_api_errors (line 104) | def handle_server_api_errors(func): function get_server_name (line 134) | def get_server_name(server: Union[MCPApp, MCPAppConfiguration]) -> str: function get_server_id (line 149) | def get_server_id(server: Union[MCPApp, MCPAppConfiguration]) -> str: function clean_server_status (line 164) | def clean_server_status(status: str) -> str: function get_app_defaults_from_config (line 181) | def get_app_defaults_from_config( FILE: src/mcp_agent/cli/cloud/commands/workflows/cancel/main.py function _cancel_workflow_async (line 19) | async def _cancel_workflow_async( function cancel_workflow (line 79) | def cancel_workflow( FILE: src/mcp_agent/cli/cloud/commands/workflows/describe/main.py function _describe_workflow_async (line 24) | async def _describe_workflow_async( function describe_workflow (line 77) | def describe_workflow( function print_workflow_status (line 104) | def print_workflow_status(workflow_status: WorkflowRun, format: str = "t... FILE: src/mcp_agent/cli/cloud/commands/workflows/list/main.py function _list_workflows_async (line 23) | async def _list_workflows_async( function list_workflows (line 93) | def list_workflows( FILE: src/mcp_agent/cli/cloud/commands/workflows/resume/main.py function _signal_workflow_async (line 20) | async def _signal_workflow_async( function resume_workflow (line 119) | def resume_workflow( function suspend_workflow (line 158) | def suspend_workflow( FILE: src/mcp_agent/cli/cloud/commands/workflows/runs/main.py function _list_workflow_runs_async (line 25) | async def _list_workflow_runs_async( function list_workflow_runs (line 92) | def list_workflow_runs( function _get_status_filter (line 123) | def _get_status_filter(status: str) -> str: function _matches_status (line 149) | def _matches_status(workflow, status_filter: str) -> bool: function _print_workflows_json (line 167) | def _print_workflows_json(workflows: list[WorkflowRun]): function _print_workflows_yaml (line 173) | def _print_workflows_yaml(workflows: list[WorkflowRun]): FILE: src/mcp_agent/cli/cloud/commands/workflows/utils.py function format_workflow_status (line 15) | def format_workflow_status(status: Optional[str] = None) -> str: function clean_run_parameters (line 41) | def clean_run_parameters(schema: dict) -> dict: function print_workflows (line 54) | def print_workflows(workflows: list[Workflow]) -> None: function print_workflow_runs (line 115) | def print_workflow_runs( FILE: src/mcp_agent/cli/cloud/main.py function callback (line 175) | def callback( function run (line 188) | def run() -> None: FILE: src/mcp_agent/cli/commands/build.py function _check_command (line 30) | def _check_command(cmd: str) -> tuple[bool, str]: function _check_url (line 54) | def _check_url(url: str, timeout: float = 2.0) -> tuple[bool, str]: function _check_environment_vars (line 79) | def _check_environment_vars(settings: Settings) -> Dict[str, Any]: function _check_file_permissions (line 92) | def _check_file_permissions(path: Path) -> Dict[str, Any]: function _check_dependencies (line 117) | def _check_dependencies() -> Dict[str, Any]: function _check_network_connectivity (line 148) | def _check_network_connectivity() -> Dict[str, bool]: function _validate_config_schema (line 169) | def _validate_config_schema(settings: Settings) -> List[str]: function build (line 193) | def build( function validate (line 441) | def validate( FILE: src/mcp_agent/cli/commands/chat.py function _run_single_model (line 32) | async def _run_single_model( function chat (line 93) | def chat( FILE: src/mcp_agent/cli/commands/check.py function _find_files (line 25) | def _find_files() -> dict[str, Optional[Path]]: function _get_system_info (line 32) | def _get_system_info() -> dict: function _config_summary (line 40) | def _config_summary(config_path: Optional[Path]) -> dict: function check (line 65) | def check() -> None: FILE: src/mcp_agent/cli/commands/config.py function _find_config_file (line 28) | def _find_config_file() -> Optional[Path]: function _find_secrets_file (line 32) | def _find_secrets_file() -> Optional[Path]: function _load_template (line 36) | def _load_template(template_name: str) -> str: function show (line 53) | def show( function check (line 124) | def check( function edit (line 278) | def edit( function builder (line 335) | def builder( function validate (line 608) | def validate( FILE: src/mcp_agent/cli/commands/configure.py function _build_server_entry (line 29) | def _build_server_entry(url: str, name: str | None = None) -> dict: function _merge_mcp_json (line 47) | def _merge_mcp_json(existing: dict, addition: dict) -> dict: function _write_json (line 65) | def _write_json(path: Path, data: dict) -> None: function _print_output (line 70) | def _print_output(data: dict, fmt: str) -> None: function configure (line 84) | def configure( FILE: src/mcp_agent/cli/commands/dev.py function dev (line 26) | def dev(script: Path = typer.Option(None, "--script")) -> None: FILE: src/mcp_agent/cli/commands/doctor.py function _check_host (line 27) | def _check_host(url: str, timeout: float = 1.5) -> bool: function _check_config_file (line 42) | def _check_config_file(path: Optional[Path]) -> Tuple[str, Optional[str]]: function _check_secrets_file (line 56) | def _check_secrets_file(path: Optional[Path]) -> Tuple[str, Optional[str... function _check_provider_keys (line 71) | def _check_provider_keys(settings: Settings, secrets: dict) -> dict: function _check_command_availability (line 103) | def _check_command_availability() -> dict: function _generate_suggestions (line 117) | def _generate_suggestions( function doctor (line 197) | def doctor() -> None: FILE: src/mcp_agent/cli/commands/go.py function _resolve_instruction_arg (line 35) | def _resolve_instruction_arg(instruction: Optional[str]) -> Optional[str]: function _run_agent (line 66) | async def _run_agent( function _parse_stdio_commands (line 242) | def _parse_stdio_commands(cmds: List[str] | None) -> Dict[str, Dict[str,... function go (line 259) | def go( FILE: src/mcp_agent/cli/commands/init.py function _load_template (line 20) | def _load_template(template_name: str) -> str: function _write (line 34) | def _write(path: Path, content: str, force: bool) -> bool: function _write_readme (line 49) | def _write_readme(dir_path: Path, content: str, force: bool) -> str | None: function _copy_pkg_tree (line 78) | def _copy_pkg_tree(pkg_rel: str, dst: Path, force: bool) -> int: function init (line 111) | def init( function interactive (line 443) | def interactive( FILE: src/mcp_agent/cli/commands/install.py function _get_claude_desktop_config_path (line 52) | def _get_claude_desktop_config_path() -> Path: function _merge_mcp_json (line 86) | def _merge_mcp_json( function _redact_secrets (line 135) | def _redact_secrets(data: dict) -> dict: function _write_json (line 159) | def _write_json(path: Path, data: dict) -> None: function _build_server_config (line 184) | def _build_server_config( function install (line 234) | def install( FILE: src/mcp_agent/cli/commands/invoke.py function invoke (line 28) | def invoke( FILE: src/mcp_agent/cli/commands/keys.py function _validate_key (line 91) | def _validate_key(provider: str, key: str) -> Tuple[bool, str]: function _mask_key (line 112) | def _mask_key(key: str, show_chars: int = 4) -> str: function _test_key (line 121) | async def _test_key(provider: str, key: str) -> Tuple[bool, str]: function show (line 167) | def show( function set_key (line 274) | def set_key( function unset (line 397) | def unset( function test (line 447) | def test( function rotate (line 564) | def rotate( function export (line 637) | def export( FILE: src/mcp_agent/cli/commands/logs.py function _resolve_log_file (line 24) | def _resolve_log_file(explicit: Path | None) -> Path | None: function _parse_rfc3339 (line 51) | def _parse_rfc3339(ts: str) -> datetime | None: function _parse_duration (line 61) | def _parse_duration(s: str) -> timedelta | None: function _level_value (line 97) | def _level_value(level: str | None) -> int: function _extract_tokens (line 105) | def _extract_tokens(data: Any) -> int: function _filter_time (line 139) | def _filter_time( function logs (line 158) | def logs( FILE: src/mcp_agent/cli/commands/models.py function list_models (line 21) | def list_models( function set_default (line 78) | def set_default( FILE: src/mcp_agent/cli/commands/serve.py class ServerMonitor (line 30) | class ServerMonitor: method __init__ (line 33) | def __init__(self): method get_stats (line 40) | def get_stats(self) -> dict: function _create_status_table (line 57) | def _create_status_table(monitor: ServerMonitor, transport: str, address... function serve (line 77) | def serve( function test (line 383) | def test( function generate (line 483) | def generate( FILE: src/mcp_agent/cli/commands/server.py function _load_config_yaml (line 275) | def _load_config_yaml(path: Settings | None = None): function _persist_server_entry (line 288) | def _persist_server_entry(name: str, settings: MCPServerSettings) -> None: function _check_command_available (line 328) | def _check_command_available(cmd: str) -> bool: function list_servers (line 336) | def list_servers( function list_recipes (line 386) | def list_recipes( function add (line 429) | def add( function remove_server (line 649) | def remove_server( function test (line 688) | def test( function import_claude (line 807) | def import_claude( function import_cursor (line 885) | def import_cursor() -> None: function import_vscode (line 919) | def import_vscode() -> None: function import_mcp_json (line 954) | def import_mcp_json(path: str = typer.Argument(..., help="Path to mcp.js... function import_dxt (line 976) | def import_dxt( function import_smithery (line 1005) | def import_smithery( function discover_servers (line 1046) | def discover_servers() -> None: FILE: src/mcp_agent/cli/config/settings.py class Settings (line 16) | class Settings(BaseSettings): FILE: src/mcp_agent/cli/core/api_client.py class UnauthenticatedError (line 9) | class UnauthenticatedError(Exception): function _raise_for_unauthenticated (line 15) | def _raise_for_unauthenticated(response: httpx.Response): function _raise_for_status_with_details (line 29) | def _raise_for_status_with_details(response: httpx.Response) -> None: class APIClient (line 53) | class APIClient: method __init__ (line 56) | def __init__(self, api_url: str, api_key: str): method _get_headers (line 68) | def _get_headers(self) -> Dict[str, str]: method post (line 75) | async def post( method put (line 89) | async def put( method get (line 103) | async def get(self, path: str, timeout: float = 30.0) -> httpx.Response: method delete (line 114) | async def delete( FILE: src/mcp_agent/cli/core/constants.py class SecretType (line 36) | class SecretType(Enum): FILE: src/mcp_agent/cli/core/utils.py function run_async (line 12) | def run_async(coro): function load_user_app (line 30) | def load_user_app( function ensure_mcp_servers (line 87) | def ensure_mcp_servers(app: MCPApp) -> None: function detect_default_script (line 96) | def detect_default_script(explicit: Optional[Path]) -> Path: function select_servers_from_config (line 118) | def select_servers_from_config( function attach_url_servers (line 147) | def attach_url_servers(app: MCPApp, servers: Dict[str, Dict[str, Any]] |... function attach_stdio_servers (line 161) | def attach_stdio_servers( FILE: src/mcp_agent/cli/exceptions.py class CLIError (line 4) | class CLIError(Exception): method __init__ (line 7) | def __init__(self, message: str, exit_code: int = 1, retriable: bool =... FILE: src/mcp_agent/cli/main.py function _dev_group_entry (line 77) | def _dev_group_entry( function _print_version (line 92) | def _print_version() -> None: function main (line 103) | def main( function run (line 195) | def run() -> None: FILE: src/mcp_agent/cli/main_bootstrap.py function run (line 12) | def run() -> None: FILE: src/mcp_agent/cli/mcp_app/api_client.py class AppServerInfo (line 12) | class AppServerInfo(BaseModel): class MCPApp (line 23) | class MCPApp(BaseModel): class MCPAppConfiguration (line 36) | class MCPAppConfiguration(BaseModel): class ListAppsResponse (line 44) | class ListAppsResponse(BaseModel): class ListAppConfigurationsResponse (line 52) | class ListAppConfigurationsResponse(BaseModel): class CanDoActionCheck (line 60) | class CanDoActionCheck(BaseModel): class CanDoActionsResponse (line 65) | class CanDoActionsResponse(BaseModel): function is_valid_app_id_format (line 73) | def is_valid_app_id_format(app_id: str) -> bool: function is_valid_app_config_id_format (line 85) | def is_valid_app_config_id_format(app_config_id: str) -> bool: function is_valid_server_url_format (line 97) | def is_valid_server_url_format(server_url: str) -> bool: class LogEntry (line 110) | class LogEntry(BaseModel): class Config (line 118) | class Config: class GetAppLogsResponse (line 122) | class GetAppLogsResponse(BaseModel): method log_entries_list (line 128) | def log_entries_list(self) -> List[LogEntry]: class MCPAppClient (line 133) | class MCPAppClient(APIClient): method create_app (line 136) | async def create_app( method get_app (line 177) | async def get_app( method get_app_configuration (line 216) | async def get_app_configuration( method update_app (line 259) | async def update_app( method get_app_or_config (line 313) | async def get_app_or_config( method get_app_by_name (line 351) | async def get_app_by_name(self, name: str) -> Optional[MCPApp]: method get_app_id_by_name (line 375) | async def get_app_id_by_name(self, name: str) -> Optional[str]: method deploy_app (line 392) | async def deploy_app( method configure_app (line 430) | async def configure_app( method list_config_params (line 469) | async def list_config_params(self, app_server_url: str) -> List[str]: method list_apps (line 491) | async def list_apps( method list_app_configurations (line 523) | async def list_app_configurations( method delete_app (line 558) | async def delete_app(self, app_id: str) -> str: method delete_app_configuration (line 591) | async def delete_app_configuration(self, app_config_id: str) -> str: method _can_do_action (line 626) | async def _can_do_action(self, resource_name: str, action: str) -> bool: method can_delete_app (line 660) | async def can_delete_app(self, app_id: str) -> bool: method can_delete_app_configuration (line 682) | async def can_delete_app_configuration(self, app_config_id: str) -> bool: method get_app_logs (line 704) | async def get_app_logs( FILE: src/mcp_agent/cli/mcp_app/mcp_client.py class Workflow (line 24) | class Workflow(BaseModel): class ListWorkflowsResult (line 42) | class ListWorkflowsResult(BaseModel): class WorkflowRunState (line 48) | class WorkflowRunState(BaseModel): class WorkflowRunResult (line 64) | class WorkflowRunResult(BaseModel): class WorkflowRunTemporal (line 83) | class WorkflowRunTemporal(BaseModel): class WorkflowRun (line 111) | class WorkflowRun(BaseModel): class ListWorkflowRunsResult (line 142) | class ListWorkflowRunsResult(BaseModel): class MCPClientSession (line 149) | class MCPClientSession(ClientSession): method list_workflows (line 152) | async def list_workflows(self) -> ListWorkflowsResult: method list_workflow_runs (line 181) | async def list_workflow_runs( method deserialize_workflow_run (line 273) | def deserialize_workflow_run(text: str) -> WorkflowRun: method get_workflow_status (line 292) | async def get_workflow_status( method cancel_workflow (line 327) | async def cancel_workflow(self, run_id: str) -> bool: method resume_workflow (line 354) | async def resume_workflow( class TransportType (line 389) | class TransportType(Enum): class MCPClient (line 396) | class MCPClient: method __init__ (line 399) | def __init__( method _create_client (line 409) | def _create_client(self): method client_session (line 428) | async def client_session(self) -> AsyncGenerator[MCPClientSession, None]: function mcp_connection_session (line 451) | async def mcp_connection_session(server_url: str, api_key: str): FILE: src/mcp_agent/cli/mcp_app/mock_client.py class MockMCPAppClient (line 22) | class MockMCPAppClient: method __init__ (line 25) | def __init__(self, api_url: str = "http://mock-api", api_key: str = "m... method get_app_id_by_name (line 36) | async def get_app_id_by_name(self, name: str) -> Optional[str]: method get_app (line 47) | async def get_app( method create_app (line 91) | async def create_app( method update_app (line 140) | async def update_app( method configure_app (line 171) | async def configure_app( method list_config_params (line 224) | async def list_config_params(self, app_server_url: str) -> List[str]: FILE: src/mcp_agent/cli/secrets/api_client.py class SecretsClient (line 12) | class SecretsClient(APIClient): method create_secret (line 15) | async def create_secret( method get_secret_value (line 72) | async def get_secret_value(self, handle: str) -> str: method set_secret_value (line 100) | async def set_secret_value(self, handle: str, value: str) -> bool: method list_secrets (line 132) | async def list_secrets( method delete_secret (line 160) | async def delete_secret(self, handle: str) -> str: method _is_valid_handle (line 193) | def _is_valid_handle(self, handle: str) -> bool: FILE: src/mcp_agent/cli/secrets/mock_client.py class MockSecretsClient (line 15) | class MockSecretsClient(SecretsClient): method __init__ (line 18) | def __init__(self, api_url: str = "http://mock-api", api_key: str = "m... method create_secret (line 30) | async def create_secret( method get_secret_value (line 70) | async def get_secret_value(self, handle: str) -> str: method set_secret_value (line 87) | async def set_secret_value(self, handle: str, value: str) -> bool: method list_secrets (line 103) | async def list_secrets( method delete_secret (line 132) | async def delete_secret(self, handle: str) -> str: FILE: src/mcp_agent/cli/secrets/processor.py function process_config_secrets (line 41) | async def process_config_secrets( function process_secrets_in_config_str (line 156) | async def process_secrets_in_config_str( function get_validated_config_secrets (line 227) | async def get_validated_config_secrets( function transform_config_recursive (line 331) | async def transform_config_recursive( function configure_user_secrets (line 547) | async def configure_user_secrets( function nest_keys (line 629) | def nest_keys(flat_dict: dict[str, str]) -> dict: function get_nested_key_value (line 641) | def get_nested_key_value(config: dict, dotted_key: str) -> Any: function retrieve_secrets_from_config (line 651) | def retrieve_secrets_from_config( function process_prompted_user_secrets (line 689) | async def process_prompted_user_secrets( FILE: src/mcp_agent/cli/secrets/resolver.py class SafeSecretsConfig (line 14) | class SafeSecretsConfig(BaseModel): class SecretsResolver (line 27) | class SecretsResolver: method __init__ (line 30) | def __init__(self, client: SecretsClient): method _is_secret_handle (line 39) | def _is_secret_handle(self, value: Any) -> bool: method load_config (line 43) | def load_config(self, config_path: str) -> SafeSecretsConfig: method resolve_in_place (line 88) | async def resolve_in_place(self, config: Dict[str, Any]) -> Dict[str, ... FILE: src/mcp_agent/cli/secrets/yaml_tags.py class SecretTag (line 14) | class SecretTag: method __init__ (line 17) | def __init__(self, value=None): method __repr__ (line 20) | def __repr__(self): class UserSecret (line 24) | class UserSecret(SecretTag): class DeveloperSecret (line 30) | class DeveloperSecret(SecretTag): function construct_user_secret (line 36) | def construct_user_secret(loader, node): function construct_developer_secret (line 48) | def construct_developer_secret(loader, node): function represent_user_secret (line 60) | def represent_user_secret(dumper, data): function represent_developer_secret (line 68) | def represent_developer_secret(dumper, data): class SecretYamlLoader (line 76) | class SecretYamlLoader(SafeLoader): class SecretYamlDumper (line 82) | class SecretYamlDumper(yaml.SafeDumper): function load_yaml_with_secrets (line 97) | def load_yaml_with_secrets(yaml_str): function dump_yaml_with_secrets (line 110) | def dump_yaml_with_secrets(data): FILE: src/mcp_agent/cli/utils/display.py class ParallelResultsDisplay (line 13) | class ParallelResultsDisplay: method __init__ (line 16) | def __init__(self): method show_results (line 19) | def show_results(self, results: List[tuple[str, str]]) -> None: class TokenUsageDisplay (line 61) | class TokenUsageDisplay: method __init__ (line 64) | def __init__(self): method show_summary (line 67) | def show_summary(self, summary: Dict[str, Any]) -> None: function format_tool_list (line 103) | def format_tool_list(tools: List[Any], server_name: Optional[str] = None... function format_resource_list (line 125) | def format_resource_list( function format_server_list (line 152) | def format_server_list(servers: List[str]) -> None: function show_progress (line 167) | def show_progress(message: str) -> None: function show_error (line 172) | def show_error(message: str) -> None: function show_success (line 177) | def show_success(message: str) -> None: function show_warning (line 182) | def show_warning(message: str) -> None: FILE: src/mcp_agent/cli/utils/git_utils.py class GitMetadata (line 20) | class GitMetadata: function _run_git (line 31) | def _run_git(args: list[str], cwd: Path) -> Optional[str]: function get_git_metadata (line 52) | def get_git_metadata(project_dir: Path) -> Optional[GitMetadata]: function utc_iso_now (line 88) | def utc_iso_now() -> str: function compute_directory_hash (line 92) | def compute_directory_hash(root: Path, *, ignore_names: set[str] | None ... function compute_directory_fingerprint (line 130) | def compute_directory_fingerprint( function create_git_tag (line 170) | def create_git_tag(project_dir: Path, tag_name: str, message: str) -> bool: function sanitize_git_ref_component (line 190) | def sanitize_git_ref_component(name: str) -> str: FILE: src/mcp_agent/cli/utils/importers.py function _detect_transport (line 15) | def _detect_transport(obj: dict) -> str: function _to_settings (line 23) | def _to_settings(obj: dict) -> MCPServerSettings: function import_servers_from_mcp_json (line 41) | def import_servers_from_mcp_json(path: Path) -> Dict[str, MCPServerSetti... FILE: src/mcp_agent/cli/utils/retry.py class RetryError (line 12) | class RetryError(Exception): method __init__ (line 15) | def __init__(self, original_error: Exception, attempts: int): function is_retryable_error (line 23) | def is_retryable_error(error: Exception) -> bool: function retry_with_exponential_backoff (line 41) | def retry_with_exponential_backoff( function retry_async_with_exponential_backoff (line 101) | async def retry_async_with_exponential_backoff( FILE: src/mcp_agent/cli/utils/typer_utils.py class HelpfulTyperGroup (line 13) | class HelpfulTyperGroup(TyperGroup): method resolve_command (line 16) | def resolve_command(self, ctx, args): method invoke (line 33) | def invoke(self, ctx): FILE: src/mcp_agent/cli/utils/url_parser.py function parse_server_url (line 13) | def parse_server_url(url: str) -> Tuple[str, Literal["http", "sse"], str]: function generate_server_name (line 41) | def generate_server_name(url: str) -> str: function parse_server_urls (line 60) | def parse_server_urls( function generate_server_configs (line 74) | def generate_server_configs( FILE: src/mcp_agent/cli/utils/ux.py function _create_label (line 38) | def _create_label(text: str, style: str) -> str: function print_info (line 44) | def print_info( function print_verbose (line 65) | def print_verbose( function print_success (line 80) | def print_success( function print_warning (line 95) | def print_warning( function print_error (line 110) | def print_error( function print_secret_summary (line 125) | def print_secret_summary(secrets_context: Dict[str, Any]) -> None: function print_secrets_summary (line 141) | def print_secrets_summary( function print_deployment_header (line 216) | def print_deployment_header( function print_configuration_header (line 268) | def print_configuration_header( FILE: src/mcp_agent/cli/utils/version_check.py function _get_installed_version (line 25) | def _get_installed_version() -> Optional[str]: function _parse_version (line 34) | def _parse_version(s: str): function _simple_version_tuple (line 45) | def _simple_version_tuple(s: str): function _is_outdated (line 62) | def _is_outdated(current: str, latest: str) -> bool: function _fetch_latest_version (line 70) | def _fetch_latest_version(timeout_seconds: float = 5.0) -> Optional[str]: function _run_version_check (line 88) | def _run_version_check() -> None: function _spawn_version_check_thread (line 109) | def _spawn_version_check_thread() -> None: function _flush_version_check_message (line 118) | def _flush_version_check_message(timeout: float = 0.5) -> None: function maybe_warn_newer_version (line 129) | def maybe_warn_newer_version() -> None: FILE: src/mcp_agent/cli/workflows/api_client.py class WorkflowInfo (line 11) | class WorkflowInfo(BaseModel): class WorkflowAPIClient (line 22) | class WorkflowAPIClient(APIClient): method get_workflow (line 26) | async def get_workflow(self, workflow_id: str) -> WorkflowInfo: FILE: src/mcp_agent/config.py class MCPAuthorizationServerSettings (line 30) | class MCPAuthorizationServerSettings(BaseModel): method _validate_required_urls (line 71) | def _validate_required_urls(self) -> "MCPAuthorizationServerSettings": class MCPOAuthClientSettings (line 88) | class MCPOAuthClientSettings(BaseModel): class OAuthTokenStoreSettings (line 143) | class OAuthTokenStoreSettings(BaseModel): class OAuthSettings (line 161) | class OAuthSettings(BaseModel): class MCPServerAuthSettings (line 182) | class MCPServerAuthSettings(BaseModel): class MCPRootSettings (line 191) | class MCPRootSettings(BaseModel): method validate_uri (line 205) | def validate_uri(cls, v: str) -> str: class MCPServerSettings (line 214) | class MCPServerSettings(BaseModel): class MCPSettings (line 284) | class MCPSettings(BaseModel): method none_to_dict (line 291) | def none_to_dict(cls, v): class VertexAIMixin (line 295) | class VertexAIMixin(BaseModel): class BedrockMixin (line 313) | class BedrockMixin(BaseModel): class BedrockSettings (line 344) | class BedrockSettings(BaseSettings, BedrockMixin): class AnthropicSettings (line 358) | class AnthropicSettings(BaseSettings, VertexAIMixin, BedrockMixin): class CohereSettings (line 392) | class CohereSettings(BaseSettings): class OpenAISettings (line 411) | class OpenAISettings(BaseSettings): class LMStudioSettings (line 461) | class LMStudioSettings(OpenAISettings): class AzureSettings (line 503) | class AzureSettings(BaseSettings): class GoogleSettings (line 585) | class GoogleSettings(BaseSettings, VertexAIMixin): class VertexAISettings (line 620) | class VertexAISettings(BaseSettings, VertexAIMixin): class SubagentSettings (line 632) | class SubagentSettings(BaseModel): class TemporalSettings (line 660) | class TemporalSettings(BaseModel): class WorkflowTaskRetryPolicy (line 685) | class WorkflowTaskRetryPolicy(BaseModel): method _coerce_interval (line 702) | def _coerce_interval(cls, value): method to_temporal_kwargs (line 721) | def to_temporal_kwargs(self) -> Dict[str, Any]: class UsageTelemetrySettings (line 736) | class UsageTelemetrySettings(BaseModel): class TracePathSettings (line 751) | class TracePathSettings(BaseModel): class TraceOTLPSettings (line 777) | class TraceOTLPSettings(BaseModel): class ConsoleExporterSettings (line 791) | class ConsoleExporterSettings(BaseModel): class FileExporterSettings (line 797) | class FileExporterSettings(BaseModel): class OTLPExporterSettings (line 806) | class OTLPExporterSettings(BaseModel): class OpenTelemetrySettings (line 820) | class OpenTelemetrySettings(BaseModel): method _coerce_exporters_schema (line 864) | def _coerce_exporters_schema(cls, data: Dict) -> Dict: method _finalize_exporters (line 934) | def _finalize_exporters(cls, values: "OpenTelemetrySettings"): class LogPathSettings (line 1060) | class LogPathSettings(BaseModel): class LoggerSettings (line 1088) | class LoggerSettings(BaseModel): class Settings (line 1136) | class Settings(BaseSettings): method __eq__ (line 1214) | def __eq__(self, other): # type: ignore[override] method find_config (line 1221) | def find_config(cls) -> Path | None: method find_secrets (line 1226) | def find_secrets(cls) -> Path | None: method _find_config (line 1231) | def _find_config(cls, filenames: List[str]) -> Path | None: method _validate_env (line 1273) | def _validate_env( method iter_env_specs (line 1307) | def iter_env_specs(self) -> Iterable[tuple[str, str | None]]: class PreloadSettings (line 1321) | class PreloadSettings(BaseSettings): function _clear_global_settings (line 1347) | def _clear_global_settings(): function _set_and_warn_global_settings (line 1355) | def _set_and_warn_global_settings(settings: Settings) -> None: function _check_file_exists (line 1369) | def _check_file_exists(file_path: (str | Path)) -> bool: function _read_file_content (line 1374) | def _read_file_content(file_path: (str | Path)) -> str: function _load_yaml_from_string (line 1380) | def _load_yaml_from_string(yaml_content: str) -> dict: function get_settings (line 1385) | def get_settings(config_path: str | None = None, set_global: bool = True... FILE: src/mcp_agent/core/context.py class Context (line 66) | class Context(MCPContext): method upstream_session (line 117) | def upstream_session(self) -> ServerSession | None: # type: ignore[ov... method upstream_session (line 150) | def upstream_session(self, value: ServerSession | None) -> None: method mcp (line 154) | def mcp(self) -> FastMCP | None: method fastmcp (line 158) | def fastmcp(self) -> FastMCP | None: # type: ignore[override] method session (line 176) | def session(self) -> ServerSession | None: method logger (line 215) | def logger(self) -> "Logger": method name (line 235) | def name(self) -> str | None: method description (line 241) | def description(self) -> str | None: method bind_request (line 248) | def bind_request( method client_id (line 279) | def client_id(self) -> str | None: # type: ignore[override] method request_id (line 286) | def request_id(self) -> str: # type: ignore[override] method log (line 296) | async def log( method report_progress (line 337) | async def report_progress( method read_resource (line 352) | async def read_resource(self, uri: Any) -> Any: # type: ignore[override] function configure_otel (line 376) | async def configure_otel( function configure_logger (line 393) | async def configure_logger( function configure_usage_telemetry (line 416) | async def configure_usage_telemetry(_config: "Settings"): function configure_executor (line 424) | async def configure_executor(config: "Settings"): function configure_workflow_registry (line 442) | async def configure_workflow_registry(config: "Settings", executor: Exec... function initialize_context (line 459) | async def initialize_context( function cleanup_context (line 522) | async def cleanup_context(shutdown_logger: bool = False): function get_current_context (line 549) | def get_current_context() -> Context: function get_current_config (line 585) | def get_current_config(): FILE: src/mcp_agent/core/context_dependent.py class ContextDependent (line 9) | class ContextDependent: method __init__ (line 15) | def __init__(self, context: Optional["Context"] = None, **kwargs): method context (line 20) | def context(self) -> "Context": method use_context (line 41) | def use_context(self, context: "Context"): FILE: src/mcp_agent/core/exceptions.py class MCPAgentError (line 7) | class MCPAgentError(Exception): method __init__ (line 10) | def __init__(self, message: str, details: str = ""): class ServerConfigError (line 16) | class ServerConfigError(MCPAgentError): method __init__ (line 21) | def __init__(self, message: str, details: str = ""): class AgentConfigError (line 25) | class AgentConfigError(MCPAgentError): method __init__ (line 30) | def __init__(self, message: str, details: str = ""): class ProviderKeyError (line 34) | class ProviderKeyError(MCPAgentError): method __init__ (line 39) | def __init__(self, message: str, details: str = ""): class ServerInitializationError (line 43) | class ServerInitializationError(MCPAgentError): method __init__ (line 46) | def __init__(self, message: str, details: str = ""): class ModelConfigError (line 50) | class ModelConfigError(MCPAgentError): method __init__ (line 55) | def __init__(self, message: str, details: str = ""): class CircularDependencyError (line 59) | class CircularDependencyError(MCPAgentError): method __init__ (line 62) | def __init__(self, message: str, details: str = ""): class PromptExitError (line 66) | class PromptExitError(MCPAgentError): method __init__ (line 70) | def __init__(self, message: str, details: str = ""): FILE: src/mcp_agent/core/request_context.py function set_current_request_context (line 19) | def set_current_request_context(ctx: Optional["Context"]) -> Token: function reset_current_request_context (line 24) | def reset_current_request_context(token: Token | None) -> None: function get_current_request_context (line 34) | def get_current_request_context() -> Optional["Context"]: FILE: src/mcp_agent/data/examples/cloud/agent_factory/custom_tasks.py function knowledge_base_lookup_task (line 47) | async def knowledge_base_lookup_task(request: dict) -> List[str]: function _score (line 76) | def _score(query: str, entry: Dict[str, str]) -> int: FILE: src/mcp_agent/data/examples/cloud/agent_factory/main.py function route_customer_request (line 28) | async def route_customer_request( function main (line 63) | async def main(): FILE: src/mcp_agent/data/examples/cloud/agent_factory/run_worker.py function main (line 14) | async def main(): FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/main.py class CoinFlipWidget (line 24) | class CoinFlipWidget: function _resource_description (line 96) | def _resource_description() -> str: function _embedded_widget_resource (line 100) | def _embedded_widget_resource() -> types.EmbeddedResource: function _tool_meta (line 112) | def _tool_meta() -> Dict[str, Any]: function flip_coin (line 135) | async def flip_coin() -> Dict[str, str]: function get_widget_html (line 147) | def get_widget_html() -> str: function main (line 157) | async def main(): FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/components/App.tsx function App (line 7) | function App() { FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/components/Coin.tsx type CoinProps (line 4) | interface CoinProps { function Coin (line 9) | function Coin({ flipResult, onFlipResult }: CoinProps) { FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/utils/dev-openai-global.ts function setupDevOpenAiGlobal (line 7) | function setupDevOpenAiGlobal(): void { FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/utils/hooks/use-openai-global.ts function useOpenAiGlobal (line 8) | function useOpenAiGlobal( FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/utils/hooks/use-theme.ts function useTheme (line 4) | function useTheme(): Theme { FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/utils/hooks/use-widget-state.ts function useWidgetState (line 13) | function useWidgetState( FILE: src/mcp_agent/data/examples/cloud/chatgpt_app/web/src/utils/types.ts type CoinFlipWidgetState (line 1) | type CoinFlipWidgetState = { type OpenAiGlobals (line 5) | type OpenAiGlobals< type API (line 32) | type API = { type UnknownObject (line 41) | type UnknownObject = Record; type Theme (line 43) | type Theme = "light" | "dark"; type SafeAreaInsets (line 45) | type SafeAreaInsets = { type SafeArea (line 52) | type SafeArea = { type DeviceType (line 56) | type DeviceType = "mobile" | "tablet" | "desktop" | "unknown"; type UserAgent (line 58) | type UserAgent = { type DisplayMode (line 67) | type DisplayMode = "pip" | "inline" | "fullscreen"; type RequestDisplayMode (line 68) | type RequestDisplayMode = (args: { mode: DisplayMode }) => Promise<{ type CallToolResponse (line 76) | type CallToolResponse = { type CallTool (line 81) | type CallTool = ( constant SET_GLOBALS_EVENT_TYPE (line 87) | const SET_GLOBALS_EVENT_TYPE = "openai:set_globals"; class SetGlobalsEvent (line 88) | class SetGlobalsEvent extends CustomEvent<{ type Window (line 98) | interface Window { type WindowEventMap (line 102) | interface WindowEventMap { FILE: src/mcp_agent/data/examples/cloud/hello_world/main.py function hello_world (line 22) | def hello_world() -> str: function hello_world_async (line 28) | async def hello_world_async() -> str: function main (line 34) | async def main(): FILE: src/mcp_agent/data/examples/cloud/mcp/main.py class BasicAgentWorkflow (line 59) | class BasicAgentWorkflow(Workflow[str]): method run (line 66) | async def run(self, input: str) -> WorkflowResult[str]: function grade_story (line 131) | async def grade_story(story: str, app_ctx: Optional[AppContext] = None) ... function grade_story_async (line 195) | async def grade_story_async(story: str, app_ctx: Optional[AppContext] = ... function sampling_demo (line 270) | async def sampling_demo( function book_table (line 304) | async def book_table(date: str, party_size: int, app_ctx: Context) -> str: function notify_resources (line 338) | async def notify_resources( function notify_progress (line 355) | async def notify_progress( function grade_short_story (line 374) | def grade_short_story(story: str) -> list[PromptMessage]: function get_example_short_story (line 388) | def get_example_short_story() -> str: function main (line 396) | async def main(): FILE: src/mcp_agent/data/examples/cloud/temporal/main.py class BasicAgentWorkflow (line 31) | class BasicAgentWorkflow(Workflow[str]): method run (line 38) | async def run( function finder_tool (line 88) | async def finder_tool( class PauseResumeWorkflow (line 133) | class PauseResumeWorkflow(Workflow[str]): method run (line 140) | async def run( class SamplingWorkflow (line 182) | class SamplingWorkflow(Workflow[str]): method run (line 186) | async def run(self, input: str = "space exploration") -> WorkflowResul... class ElicitationWorkflow (line 239) | class ElicitationWorkflow(Workflow[str]): method run (line 243) | async def run(self, input: str = "proceed") -> WorkflowResult[str]: class NotificationsWorkflow (line 273) | class NotificationsWorkflow(Workflow[str]): method run (line 277) | async def run(self, input: str = "notifications-demo") -> WorkflowResu... function main (line 295) | async def main(): FILE: src/mcp_agent/data/examples/cloud/temporal/temporal_worker.py function main (line 22) | async def main(): FILE: src/mcp_agent/data/examples/mcp_agent_server/asyncio/client.py function main (line 30) | async def main(): function _tool_result_to_json (line 429) | def _tool_result_to_json(tool_result: CallToolResult): FILE: src/mcp_agent/data/examples/mcp_agent_server/asyncio/main.py class BasicAgentWorkflow (line 51) | class BasicAgentWorkflow(Workflow[str]): method run (line 58) | async def run(self, input: str) -> WorkflowResult[str]: function sampling_demo (line 128) | async def sampling_demo( function elicitation_demo (line 173) | async def elicitation_demo( function notify_resources (line 212) | async def notify_resources( function notify_progress (line 229) | async def notify_progress( function grade_story (line 247) | async def grade_story(story: str, app_ctx: Optional[AppContext] = None) ... function grade_story_async (line 318) | async def grade_story_async(story: str, app_ctx: Optional[AppContext] = ... function get_workflow_token_usage (line 403) | async def get_workflow_token_usage( function main (line 498) | async def main(): FILE: src/mcp_agent/data/examples/mcp_agent_server/asyncio/nested_elicitation_server.py class Confirmation (line 8) | class Confirmation(BaseModel): function confirm_action (line 13) | async def confirm_action(action: str, ctx: Context | None = None) -> str: function main (line 31) | def main(): FILE: src/mcp_agent/data/examples/mcp_agent_server/asyncio/nested_sampling_server.py function get_haiku (line 8) | async def get_haiku(topic: str, ctx: Context | None = None) -> str: function main (line 39) | def main(): FILE: src/mcp_agent/data/examples/mcp_agent_server/elicitation/client.py function _make_session (line 26) | def _make_session( function main (line 46) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/elicitation/server.py function confirm_action (line 33) | async def confirm_action(action: str, app_ctx: Optional[AppContext] = No... function main (line 75) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/notifications/client.py function _make_session (line 24) | def _make_session( function main (line 44) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/notifications/server.py function notify (line 27) | def notify( function notify_progress (line 47) | async def notify_progress( function main (line 65) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/reference/client.py function _make_session (line 30) | def _make_session( function main (line 50) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/reference/server.py function finder_tool (line 49) | async def finder_tool(request: str, app_ctx: Optional[AppContext] = None... function notify (line 73) | def notify( function confirm_action (line 93) | async def confirm_action( function sample_haiku (line 142) | async def sample_haiku(topic: str, app_ctx: Optional[AppContext] = None)... function main (line 162) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/sampling/client.py function _make_session (line 24) | def _make_session( function main (line 44) | async def main() -> None: FILE: src/mcp_agent/data/examples/mcp_agent_server/sampling/server.py function sample_haiku (line 31) | async def sample_haiku( function main (line 55) | async def main() -> None: FILE: src/mcp_agent/data/examples/usecases/mcp_financial_analyzer/main.py function main (line 31) | async def main(): FILE: src/mcp_agent/data/examples/usecases/mcp_researcher/main.py function example_usage (line 17) | async def example_usage(): FILE: src/mcp_agent/data/examples/workflows/workflow_deep_orchestrator/main.py class DeepOrchestratorMonitor (line 42) | class DeepOrchestratorMonitor: method __init__ (line 45) | def __init__(self, orchestrator: DeepOrchestrator): method get_budget_table (line 49) | def get_budget_table(self) -> Table: method get_queue_tree (line 89) | def get_queue_tree(self) -> Tree: method get_plan_table (line 175) | def get_plan_table(self) -> Table: method get_token_stats_panel (line 213) | async def get_token_stats_panel(self) -> Panel: method get_memory_panel (line 261) | def get_memory_panel(self) -> Panel: method get_agents_table (line 283) | def get_agents_table(self) -> Table: method get_policy_panel (line 309) | def get_policy_panel(self) -> Panel: method get_status_summary (line 322) | def get_status_summary(self) -> Panel: function create_display_layout (line 336) | def create_display_layout() -> Layout: function update_display (line 364) | def update_display(layout: Layout, monitor: DeepOrchestratorMonitor): function main (line 400) | async def main(): FILE: src/mcp_agent/data/examples/workflows/workflow_evaluator_optimizer/main.py function example_usage (line 29) | async def example_usage( FILE: src/mcp_agent/data/examples/workflows/workflow_intent_classifier/main.py function example_usage (line 17) | async def example_usage() -> str: FILE: src/mcp_agent/data/examples/workflows/workflow_orchestrator_worker/main.py function example_usage (line 94) | async def example_usage() -> str: function display_node_tree (line 190) | def display_node_tree( function display_run_tree (line 240) | async def display_run_tree(context: Context, name: str): FILE: src/mcp_agent/data/examples/workflows/workflow_parallel/main.py function example_usage (line 40) | async def example_usage(): FILE: src/mcp_agent/data/examples/workflows/workflow_router/main.py function print_to_console (line 15) | def print_to_console(message: str): function print_hello_world (line 23) | def print_hello_world(): function example_usage (line 30) | async def example_usage(): FILE: src/mcp_agent/data/examples/workflows/workflow_swarm/main.py function escalate_to_agent (line 16) | def escalate_to_agent(reason=None): function valid_to_change_flight (line 21) | def valid_to_change_flight(): function change_flight (line 26) | def change_flight(): function initiate_refund (line 31) | def initiate_refund(): function initiate_flight_credits (line 37) | def initiate_flight_credits(): function case_resolved (line 43) | def case_resolved(): function initiate_baggage_search (line 71) | def initiate_baggage_search(): function transfer_to_flight_modification (line 76) | def transfer_to_flight_modification(): function transfer_to_flight_cancel (line 81) | def transfer_to_flight_cancel(): function transfer_to_flight_change (line 86) | def transfer_to_flight_change(): function transfer_to_lost_baggage (line 91) | def transfer_to_lost_baggage(): function transfer_to_triage (line 96) | def transfer_to_triage(): function triage_instructions (line 105) | def triage_instructions(context_variables): function example_usage (line 203) | async def example_usage(): function main (line 256) | async def main(): FILE: src/mcp_agent/data/templates/agent_basic.py function main (line 25) | async def main(): FILE: src/mcp_agent/data/templates/agent_factory.py function route_prompt (line 16) | async def route_prompt( function main (line 36) | async def main(): FILE: src/mcp_agent/data/templates/agent_factory_run_worker.py function main (line 18) | async def main(): FILE: src/mcp_agent/data/templates/agent_notebook.py class NotebookAgent (line 9) | class NotebookAgent: method __init__ (line 12) | def __init__(self, name="notebook_agent", model="anthropic.haiku"): method __aenter__ (line 27) | async def __aenter__(self): method __aexit__ (line 48) | async def __aexit__(self, exc_type, exc_val, exc_tb): method chat (line 53) | async def chat(self, message: str) -> str: method analyze_file (line 59) | async def analyze_file(self, filepath: str) -> str: method summarize_data (line 64) | async def summarize_data(self, data_description: str) -> str: FILE: src/mcp_agent/data/templates/agent_streamlit.py function get_app (line 16) | def get_app(): function generate_response (line 79) | async def generate_response(): FILE: src/mcp_agent/data/templates/basic_agent.py function finder_agent (line 39) | async def finder_agent(request: str, app_ctx: Optional[AppContext] = Non... function run_agent (line 73) | async def run_agent( function main (line 121) | async def main(): FILE: src/mcp_agent/data/templates/basic_agent_server.py class BasicAgentWorkflow (line 42) | class BasicAgentWorkflow(Workflow[str]): method run (line 49) | async def run(self, input: str) -> WorkflowResult[str]: function grade_story (line 112) | async def grade_story(story: str, app_ctx: Optional[AppContext] = None) ... function main (line 182) | async def main(): FILE: src/mcp_agent/data/templates/token_counter.py class TokenMonitor (line 28) | class TokenMonitor: method __init__ (line 31) | def __init__(self): method on_token_update (line 35) | async def on_token_update(self, node: TokenNode, usage: TokenUsage): function display_token_usage (line 64) | def display_token_usage(usage: TokenUsage, label: str = "Token Usage"): function display_token_summary (line 72) | async def display_token_summary(context: Context): function display_node_tree (line 111) | async def display_node_tree( function example_with_token_monitoring (line 153) | async def example_with_token_monitoring(): FILE: src/mcp_agent/elicitation/handler.py class SlashCommandResult (line 20) | class SlashCommandResult: method __init__ (line 21) | def __init__(self, command: str, action: str): function _process_slash_command (line 26) | def _process_slash_command(input_text: str) -> Optional[SlashCommandResu... function _print_slash_help (line 43) | def _print_slash_help() -> None: function _process_field_value (line 51) | def _process_field_value(field_type: str, value: str) -> Any: function _create_panel (line 75) | def _create_panel(request: ElicitRequestParams) -> Panel: function _handle_elicitation_requested_schema (line 89) | async def _handle_elicitation_requested_schema(request: ElicitRequestPar... function console_elicitation_callback (line 139) | async def console_elicitation_callback(request: ElicitRequestParams): FILE: src/mcp_agent/elicitation/types.py class ElicitRequestFormParams (line 10) | class ElicitRequestFormParams(MCPElicitRequestFormParams): class ElicitRequestURLParams (line 17) | class ElicitRequestURLParams(MCPElicitRequestURLParams): class ElicitationCallback (line 28) | class ElicitationCallback(Protocol): method __call__ (line 31) | async def __call__(self, request: ElicitRequestParams) -> ElicitResult... FILE: src/mcp_agent/executor/decorator_registry.py class DecoratorRegistry (line 13) | class DecoratorRegistry: method __init__ (line 16) | def __init__(self): method register_workflow_defn_decorator (line 28) | def register_workflow_defn_decorator( method get_workflow_defn_decorator (line 46) | def get_workflow_defn_decorator(self, executor_name: str) -> Callable[... method register_workflow_run_decorator (line 55) | def register_workflow_run_decorator( method get_workflow_run_decorator (line 73) | def get_workflow_run_decorator( method register_workflow_task_decorator (line 84) | def register_workflow_task_decorator( method get_workflow_task_decorator (line 102) | def get_workflow_task_decorator( method register_workflow_signal_decorator (line 113) | def register_workflow_signal_decorator( method get_workflow_signal_decorator (line 131) | def get_workflow_signal_decorator( function default_workflow_defn (line 143) | def default_workflow_defn(cls: Type, *args, **kwargs) -> Type: function default_workflow_run (line 148) | def default_workflow_run(fn: Callable[..., R]) -> Callable[..., R]: function default_workflow_task (line 157) | def default_workflow_task(fn: Callable[..., T]) -> Callable[..., T]: function default_workflow_signal (line 166) | def default_workflow_signal(fn: Callable[..., R]) -> Callable[..., R]: function register_asyncio_decorators (line 175) | def register_asyncio_decorators(decorator_registry: DecoratorRegistry): function register_temporal_decorators (line 189) | def register_temporal_decorators(decorator_registry: DecoratorRegistry): FILE: src/mcp_agent/executor/errors.py class TemporalApplicationError (line 12) | class TemporalApplicationError(RuntimeError): method __init__ (line 15) | def __init__( class WorkflowApplicationError (line 29) | class WorkflowApplicationError(TemporalApplicationError): method __init__ (line 32) | def __init__( method workflow_details (line 74) | def workflow_details(self): function to_application_error (line 83) | def to_application_error( FILE: src/mcp_agent/executor/executor.py class ExecutorConfig (line 43) | class ExecutorConfig(BaseModel): class Executor (line 53) | class Executor(ABC, ContextDependent): method __init__ (line 56) | def __init__( method execution_context (line 77) | async def execution_context(self): method execute (line 86) | async def execute( method execute_many (line 95) | async def execute_many( method execute_streaming (line 104) | async def execute_streaming( method create_human_input_request (line 113) | def create_human_input_request( method map (line 119) | async def map( method validate_task (line 152) | async def validate_task( method signal (line 159) | async def signal( method wait_for_signal (line 186) | async def wait_for_signal( method uuid (line 223) | def uuid(self) -> uuid.UUID: method random (line 232) | def random(self) -> random.Random: class AsyncioExecutor (line 243) | class AsyncioExecutor(Executor): method __init__ (line 246) | def __init__( method _execute_task (line 260) | async def _execute_task( method execute (line 293) | async def execute( method execute_many (line 319) | async def execute_many( method execute_streaming (line 350) | async def execute_streaming( method signal (line 390) | async def signal( method wait_for_signal (line 403) | async def wait_for_signal( method create_human_input_request (line 423) | def create_human_input_request(self, request: dict) -> HumanInputRequest: FILE: src/mcp_agent/executor/signal_registry.py class SignalRegistry (line 4) | class SignalRegistry: method __init__ (line 7) | def __init__(self): method register (line 11) | def register(self, name: str, func: Callable, state: Dict[str, Any] | ... method get_signal (line 17) | def get_signal(self, name: str) -> Callable: method get_state (line 22) | def get_state(self, name: str) -> Dict[str, Any]: method list_signals (line 25) | def list_signals(self) -> List[str]: method is_registered (line 28) | def is_registered(self, name: str) -> bool: FILE: src/mcp_agent/executor/task_registry.py class ActivityRegistry (line 10) | class ActivityRegistry: method __init__ (line 13) | def __init__(self): method register (line 17) | def register( method get_activity (line 25) | def get_activity(self, name: str) -> Callable: method get_metadata (line 30) | def get_metadata(self, name: str) -> Dict[str, Any]: method list_activities (line 33) | def list_activities(self) -> List[str]: method is_registered (line 36) | def is_registered(self, name: str) -> bool: FILE: src/mcp_agent/executor/temporal/__init__.py class TemporalExecutorConfig (line 71) | class TemporalExecutorConfig(ExecutorConfig, TemporalSettings): class TemporalExecutor (line 77) | class TemporalExecutor(Executor): method __init__ (line 80) | def __init__( method wrap_as_activity (line 109) | def wrap_as_activity( method _execute_task_as_async (line 149) | async def _execute_task_as_async( method _execute_task (line 185) | async def _execute_task( method execute (line 240) | async def execute( method execute_many (line 258) | async def execute_many( method execute_streaming (line 279) | async def execute_streaming( method ensure_client (line 307) | async def ensure_client(self): method start_workflow (line 324) | async def start_workflow( method execute_workflow (line 441) | async def execute_workflow( method create_human_input_request (line 463) | def create_human_input_request(self, request: dict) -> HumanInputRequest: method terminate_workflow (line 479) | async def terminate_workflow( method uuid (line 500) | def uuid(self) -> "UUID": method random (line 509) | def random(self) -> "Random": function _preload_workflow_task_modules (line 525) | def _preload_workflow_task_modules(app: "MCPApp") -> None: function create_temporal_worker_for_app (line 580) | async def create_temporal_worker_for_app(app: "MCPApp"): FILE: src/mcp_agent/executor/temporal/interactive_workflow.py class HumanResponse (line 17) | class HumanResponse: class InteractiveWorkflow (line 21) | class InteractiveWorkflow(Workflow[T], Generic[T]): method __init__ (line 41) | def __init__(self, *args, **kwargs) -> None: method get_human_input_request (line 48) | def get_human_input_request(self) -> str: method provide_human_input (line 57) | async def provide_human_input(self, input: HumanResponse) -> None: method create_input_callback (line 65) | def create_input_callback(self) -> callable: FILE: src/mcp_agent/executor/temporal/interceptor.py class _InputWithHeaders (line 20) | class _InputWithHeaders(Protocol): function set_header_from_context (line 27) | def set_header_from_context( function context_from_header (line 40) | def context_from_header( class ContextPropagationInterceptor (line 58) | class ContextPropagationInterceptor( method __init__ (line 72) | def __init__( method intercept_client (line 78) | def intercept_client( method intercept_activity (line 85) | def intercept_activity( method workflow_interceptor_class (line 90) | def workflow_interceptor_class( class _ContextPropagationClientOutboundInterceptor (line 96) | class _ContextPropagationClientOutboundInterceptor( method __init__ (line 99) | def __init__( method start_workflow (line 107) | async def start_workflow( method query_workflow (line 113) | async def query_workflow(self, input: temporalio.client.QueryWorkflowI... method signal_workflow (line 117) | async def signal_workflow( method start_workflow_update (line 123) | async def start_workflow_update( class _ContextPropagationActivityInboundInterceptor (line 130) | class _ContextPropagationActivityInboundInterceptor( method execute_activity (line 133) | async def execute_activity( class _ContextPropagationWorkflowInboundInterceptor (line 140) | class _ContextPropagationWorkflowInboundInterceptor( method init (line 143) | def init(self, outbound: temporalio.worker.WorkflowOutboundInterceptor... method execute_workflow (line 146) | async def execute_workflow( method handle_signal (line 152) | async def handle_signal(self, input: temporalio.worker.HandleSignalInp... method handle_query (line 156) | async def handle_query(self, input: temporalio.worker.HandleQueryInput... method handle_update_validator (line 160) | def handle_update_validator( method handle_update_handler (line 166) | async def handle_update_handler( class _ContextPropagationWorkflowOutboundInterceptor (line 173) | class _ContextPropagationWorkflowOutboundInterceptor( method signal_child_workflow (line 176) | async def signal_child_workflow( method signal_external_workflow (line 182) | async def signal_external_workflow( method start_activity (line 188) | def start_activity( method start_child_workflow (line 194) | async def start_child_workflow( method start_local_activity (line 200) | def start_local_activity( FILE: src/mcp_agent/executor/temporal/session_proxy.py class SessionProxy (line 30) | class SessionProxy(ServerSession): method __init__ (line 47) | def __init__(self, *, executor, context: Context) -> None: method _scoped_context (line 83) | def _scoped_context(self): method _ensure_identity (line 109) | def _ensure_identity(self) -> None: method notify (line 133) | async def notify(self, method: str, params: Dict[str, Any] | None = No... method request (line 165) | async def request( method send_notification (line 222) | async def send_notification( method send_request (line 244) | async def send_request( method send_log_message (line 269) | async def send_log_message( method send_progress_notification (line 314) | async def send_progress_notification( method send_resource_updated (line 335) | async def send_resource_updated(self, uri: types.AnyUrl) -> None: method send_resource_list_changed (line 339) | async def send_resource_list_changed(self) -> None: method send_tool_list_changed (line 343) | async def send_tool_list_changed(self) -> None: method send_prompt_list_changed (line 347) | async def send_prompt_list_changed(self) -> None: method send_ping (line 351) | async def send_ping(self) -> types.EmptyResult: method list_roots (line 355) | async def list_roots(self) -> types.ListRootsResult: method create_message (line 359) | async def create_message( method elicit (line 400) | async def elicit( function _in_workflow_runtime (line 419) | def _in_workflow_runtime() -> bool: class _RPC (line 427) | class _RPC: method __init__ (line 430) | def __init__(self, proxy: SessionProxy) -> None: method notify (line 433) | async def notify(self, method: str, params: Dict[str, Any] | None = No... method request (line 436) | async def request( FILE: src/mcp_agent/executor/temporal/system_activities.py class SystemActivities (line 16) | class SystemActivities(ContextDependent): method forward_log (line 20) | async def forward_log( method request_user_input (line 41) | async def request_user_input( method relay_notify (line 65) | async def relay_notify( method relay_request (line 92) | async def relay_request( FILE: src/mcp_agent/executor/temporal/temporal_context.py function set_execution_id (line 10) | def set_execution_id(execution_id: Optional[str]) -> None: function get_execution_id (line 15) | def get_execution_id() -> Optional[str]: FILE: src/mcp_agent/executor/temporal/workflow_registry.py class TemporalWorkflowRegistry (line 22) | class TemporalWorkflowRegistry(WorkflowRegistry): method __init__ (line 28) | def __init__(self, executor: "TemporalExecutor"): method register (line 35) | async def register( method unregister (line 51) | async def unregister(self, run_id: str, workflow_id: str | None = None... method get_workflow (line 66) | async def get_workflow( method resume_workflow (line 79) | async def resume_workflow( method cancel_workflow (line 131) | async def cancel_workflow( method get_workflow_status (line 175) | async def get_workflow_status( method list_workflow_statuses (line 220) | async def list_workflow_statuses( method list_workflows (line 402) | async def list_workflows(self) -> List["Workflow"]: method _get_temporal_workflow_status (line 411) | async def _get_temporal_workflow_status( FILE: src/mcp_agent/executor/temporal/workflow_signal.py class TemporalSignalHandler (line 23) | class TemporalSignalHandler(BaseSignalHandler[SignalValueT]): method __init__ (line 32) | def __init__(self, executor: Optional["TemporalExecutor"] = None) -> N... method attach_to_workflow (line 41) | def attach_to_workflow(self, wf_instance: "Workflow") -> None: method wait_for_signal (line 71) | async def wait_for_signal( method on_signal (line 129) | def on_signal(self, signal_name: str): method signal (line 146) | async def signal(self, signal: Signal[SignalValueT]) -> None: method validate_signal (line 197) | def validate_signal(self, signal): FILE: src/mcp_agent/executor/workflow.py class WorkflowState (line 40) | class WorkflowState(BaseModel): method record_error (line 54) | def record_error(self, error: Exception) -> None: class WorkflowResult (line 62) | class WorkflowResult(BaseModel, Generic[T]): class WorkflowExecution (line 71) | class WorkflowExecution(BaseModel): class Workflow (line 81) | class Workflow(ABC, Generic[T], ContextDependent): method __init__ (line 95) | def __init__( method executor (line 125) | def executor(self): method id (line 133) | def id(self) -> str | None: method run_id (line 140) | def run_id(self) -> str | None: method create (line 148) | async def create( method run (line 170) | async def run(self, *args, **kwargs) -> "WorkflowResult[T]": method _cancel_task (line 183) | async def _cancel_task(self): method run_async (line 200) | async def run_async(self, *args, **kwargs) -> "WorkflowExecution": method resume (line 378) | async def resume( method cancel (line 415) | async def cancel(self) -> bool: method _signal_receiver (line 441) | async def _signal_receiver(self, name: str, args: Sequence[RawValue]): method _query_token_tree (line 471) | def _query_token_tree(self) -> str: method _query_token_summary (line 491) | def _query_token_summary(self) -> Dict[str, Any]: method get_status (line 586) | async def get_status(self) -> Dict[str, Any]: method update_status (line 631) | def update_status(self, status: str) -> None: method get_token_node (line 643) | async def get_token_node(self, return_all_matches: bool = False): method get_token_usage (line 673) | async def get_token_usage(self): method get_token_cost (line 678) | async def get_token_cost(self) -> float: method watch_tokens (line 683) | async def watch_tokens( method format_token_tree (line 702) | async def format_token_tree(self) -> str: method update_state (line 708) | async def update_state(self, **kwargs): method initialize (line 717) | async def initialize(self): method cleanup (line 828) | async def cleanup(self): method __aenter__ (line 844) | async def __aenter__(self): method __aexit__ (line 849) | async def __aexit__(self, exc_type, exc_val, exc_tb): FILE: src/mcp_agent/executor/workflow_registry.py class WorkflowRunsPage (line 24) | class WorkflowRunsPage(BaseModel): class WorkflowRegistry (line 29) | class WorkflowRegistry(ABC): method __init__ (line 35) | def __init__(self): method register (line 39) | async def register( method unregister (line 58) | async def unregister(self, run_id: str, workflow_id: str | None = None... method get_workflow (line 69) | async def get_workflow( method resume_workflow (line 85) | async def resume_workflow( method cancel_workflow (line 107) | async def cancel_workflow( method get_workflow_status (line 123) | async def get_workflow_status( method list_workflow_statuses (line 139) | async def list_workflow_statuses( method list_workflows (line 171) | async def list_workflows(self) -> List["Workflow"]: class InMemoryWorkflowRegistry (line 181) | class InMemoryWorkflowRegistry(WorkflowRegistry): method __init__ (line 186) | def __init__(self): method register (line 193) | async def register( method unregister (line 220) | async def unregister( method get_workflow (line 242) | async def get_workflow( method resume_workflow (line 255) | async def resume_workflow( method cancel_workflow (line 273) | async def cancel_workflow( method get_workflow_status (line 287) | async def get_workflow_status( method list_workflow_statuses (line 301) | async def list_workflow_statuses( method list_workflows (line 331) | async def list_workflows(self) -> List["Workflow"]: FILE: src/mcp_agent/executor/workflow_signal.py class Signal (line 15) | class Signal(BaseModel, Generic[SignalValueT]): class SignalRegistration (line 53) | class SignalRegistration(BaseModel): class SignalHandler (line 64) | class SignalHandler(Protocol, Generic[SignalValueT]): method signal (line 68) | async def signal(self, signal: Signal[SignalValueT]) -> None: method wait_for_signal (line 72) | async def wait_for_signal( method on_signal (line 79) | def on_signal(self, signal_name: str) -> Callable: class PendingSignal (line 90) | class PendingSignal(BaseModel): class _Record (line 101) | class _Record(Generic[SignalValueT]): class SignalMailbox (line 108) | class SignalMailbox(Generic[SignalValueT]): method __init__ (line 114) | def __init__(self) -> None: method push (line 117) | def push(self, name: str, value: SignalValueT) -> None: method version (line 130) | def version(self, name: str) -> int: method value (line 134) | def value(self, name: str) -> SignalValueT: class BaseSignalHandler (line 156) | class BaseSignalHandler(ABC, Generic[SignalValueT]): method __init__ (line 159) | def __init__(self): method cleanup (line 166) | async def cleanup(self, signal_name: str | None = None): method validate_signal (line 178) | def validate_signal(self, signal: Signal[SignalValueT]): method on_signal (line 184) | def on_signal(self, signal_name: str) -> Callable: method signal (line 206) | async def signal(self, signal: Signal[SignalValueT]) -> None: method wait_for_signal (line 210) | async def wait_for_signal( class ConsoleSignalHandler (line 218) | class ConsoleSignalHandler(SignalHandler[str]): method __init__ (line 221) | def __init__(self): method wait_for_signal (line 225) | async def wait_for_signal(self, signal, timeout_seconds=None): method on_signal (line 249) | def on_signal(self, signal_name): method signal (line 262) | async def signal(self, signal): class AsyncioSignalHandler (line 277) | class AsyncioSignalHandler(BaseSignalHandler[SignalValueT]): method wait_for_signal (line 282) | async def wait_for_signal( method on_signal (line 323) | def on_signal(self, signal_name): method signal (line 340) | async def signal(self, signal): class LocalSignalStore (line 359) | class LocalSignalStore: method __init__ (line 365) | def __init__(self): method emit (line 369) | async def emit(self, signal_name: str, payload: Any): method wait_for (line 377) | async def wait_for( class SignalWaitCallback (line 397) | class SignalWaitCallback(Protocol): method __call__ (line 400) | async def __call__( FILE: src/mcp_agent/executor/workflow_task.py class GlobalWorkflowTaskRegistry (line 16) | class GlobalWorkflowTaskRegistry: method __new__ (line 19) | def __new__(cls): method register_task (line 25) | def register_task(self, func: Callable, metadata: Dict[str, Any]): method get_all_tasks (line 28) | def get_all_tasks(self) -> List[tuple]: method clear (line 31) | def clear(self): function workflow_task (line 36) | def workflow_task( FILE: src/mcp_agent/human_input/console_handler.py class SlashCommandResult (line 20) | class SlashCommandResult: method __init__ (line 21) | def __init__(self, command: str, action: str): function _process_slash_command (line 26) | def _process_slash_command(input_text: str) -> Optional[SlashCommandResu... function _print_slash_help (line 43) | def _print_slash_help() -> None: function _create_panel (line 51) | def _create_panel(request: HumanInputRequest) -> Panel: function console_input_callback (line 68) | async def console_input_callback(request: HumanInputRequest) -> HumanInp... function _handle_simple_input (line 81) | async def _handle_simple_input(request: HumanInputRequest) -> str: FILE: src/mcp_agent/human_input/elicitation_handler.py function _create_elicitation_message (line 10) | def _create_elicitation_message(request: HumanInputRequest) -> str: function _handle_elicitation_response (line 19) | def _handle_elicitation_response( function elicitation_input_callback (line 54) | async def elicitation_input_callback(request: HumanInputRequest) -> Huma... FILE: src/mcp_agent/human_input/types.py class HumanInputRequest (line 7) | class HumanInputRequest(BaseModel): class HumanInputResponse (line 32) | class HumanInputResponse(BaseModel): class HumanInputCallback (line 45) | class HumanInputCallback(Protocol): method __call__ (line 48) | async def __call__(self, request: HumanInputRequest) -> HumanInputResp... FILE: src/mcp_agent/logging/event_progress.py class ProgressAction (line 10) | class ProgressAction(str, Enum): class ProgressEvent (line 29) | class ProgressEvent: method __str__ (line 37) | def __str__(self) -> str: function convert_log_event (line 47) | def convert_log_event(event: Event) -> Optional[ProgressEvent]: FILE: src/mcp_agent/logging/events.py class EventContext (line 23) | class EventContext(BaseModel): class Event (line 39) | class Event(BaseModel): class EventFilter (line 64) | class EventFilter(BaseModel): method matches (line 78) | def matches(self, event: Event) -> bool: class SamplingFilter (line 115) | class SamplingFilter(EventFilter): method matches (line 124) | def matches(self, event: Event) -> bool: FILE: src/mcp_agent/logging/json_serializer.py class JSONSerializer (line 16) | class JSONSerializer: method __init__ (line 36) | def __init__(self): method _redact_sensitive_value (line 42) | def _redact_sensitive_value(self, value: str) -> str: method serialize (line 52) | def serialize(self, obj: Any) -> Any: method _is_sensitive_key (line 58) | def _is_sensitive_key(self, key: str) -> bool: method _serialize_object (line 63) | def _serialize_object(self, obj: Any, depth: int = 0) -> Any: method __call__ (line 167) | def __call__(self, obj: Any) -> Any: FILE: src/mcp_agent/logging/listeners.py class UpstreamServerSessionProtocol (line 19) | class UpstreamServerSessionProtocol(Protocol): method send_log_message (line 20) | async def send_log_message( class EventListener (line 29) | class EventListener(ABC): method handle_event (line 33) | async def handle_event(self, event: Event): class LifecycleAwareListener (line 37) | class LifecycleAwareListener(EventListener): method start (line 43) | async def start(self): method stop (line 47) | async def stop(self): class FilteredListener (line 52) | class FilteredListener(LifecycleAwareListener): method __init__ (line 58) | def __init__(self, event_filter: EventFilter | None = None): method handle_event (line 66) | async def handle_event(self, event): method handle_matched_event (line 70) | async def handle_matched_event(self, event: Event): class LoggingListener (line 75) | class LoggingListener(FilteredListener): method __init__ (line 80) | def __init__( method handle_matched_event (line 93) | async def handle_matched_event(self, event): class ProgressListener (line 122) | class ProgressListener(LifecycleAwareListener): method __init__ (line 129) | def __init__(self, display=None, token_counter=None): method start (line 140) | async def start(self): method stop (line 145) | async def stop(self): method handle_event (line 150) | async def handle_event(self, event: Event): class BatchingListener (line 158) | class BatchingListener(FilteredListener): method __init__ (line 164) | def __init__( method start (line 184) | async def start(self, loop=None): method stop (line 189) | async def stop(self): method _periodic_flush (line 203) | async def _periodic_flush(self): method handle_matched_event (line 217) | async def handle_matched_event(self, event): method flush (line 222) | async def flush(self): method _process_batch (line 231) | async def _process_batch(self, events: List[Event]): class MCPUpstreamLoggingListener (line 235) | class MCPUpstreamLoggingListener(FilteredListener): method __init__ (line 250) | def __init__( method handle_matched_event (line 258) | async def handle_matched_event(self, event: Event) -> None: method _allows_event (line 324) | def _allows_event(cls, event_level: EventType, min_level: EventType) -... FILE: src/mcp_agent/logging/logger.py class Logger (line 35) | class Logger: method __init__ (line 42) | def __init__( method _ensure_event_loop (line 53) | def _ensure_event_loop(self): method _emit_event (line 63) | def _emit_event(self, event: Event): method event (line 200) | def event( method debug (line 282) | def debug( method info (line 292) | def info( method warning (line 302) | def warning( method error (line 312) | def error( method progress (line 322) | def progress( function event_context (line 336) | def event_context( function async_event_context (line 364) | async def async_event_context( class LoggingConfig (line 389) | class LoggingConfig: method configure (line 409) | async def configure( method shutdown (line 507) | async def shutdown(cls): method set_min_level (line 517) | def set_min_level(cls, level: EventType | str) -> None: method get_event_filter (line 524) | def get_event_filter(cls) -> EventFilter | None: method set_session_min_level (line 528) | def set_session_min_level( method get_session_min_level (line 540) | def get_session_min_level(cls, session_id: str | None) -> EventType | ... method clear_session_min_level (line 546) | def clear_session_min_level(cls, session_id: str | None) -> None: method _normalize_level (line 552) | def _normalize_level(cls, level: EventType | str) -> EventType: method managed (line 558) | async def managed(cls, **config_kwargs): function get_logger (line 572) | def get_logger(namespace: str, session_id: str | None = None, context=No... function set_default_bound_context (line 603) | def set_default_bound_context(ctx: Any | None) -> None: FILE: src/mcp_agent/logging/progress_display.py function get_progress_display (line 14) | def get_progress_display(token_counter=None) -> RichProgressDisplay: function create_progress_display (line 26) | def create_progress_display(token_counter=None) -> RichProgressDisplay: FILE: src/mcp_agent/logging/rich_progress.py class RichProgressDisplay (line 13) | class RichProgressDisplay: method __init__ (line 16) | def __init__(self, console: Optional[Console] = None, token_counter=No... method start (line 42) | def start(self): method stop (line 50) | def stop(self): method _unwatch_async (line 57) | async def _unwatch_async(self): method _start_token_tracking (line 65) | def _start_token_tracking(self): method _try_register_watch (line 85) | def _try_register_watch(self): method _register_watch_async (line 95) | async def _register_watch_async(self): method _update_initial_token_display (line 107) | async def _update_initial_token_display(self): method _on_token_update (line 117) | async def _on_token_update(self, node, usage): method pause (line 126) | def pause(self): method resume (line 134) | def resume(self): method paused (line 143) | def paused(self): method _get_action_style (line 151) | def _get_action_style(self, action: ProgressAction) -> str: method update (line 169) | def update(self, event: ProgressEvent) -> None: FILE: src/mcp_agent/logging/token_progress_display.py class TokenProgressDisplay (line 12) | class TokenProgressDisplay: method __init__ (line 15) | def __init__(self, token_counter: TokenCounter, console: Optional[Cons... method start (line 35) | def start(self): method _register_watch (line 48) | async def _register_watch(self): method _unregister_watches (line 73) | async def _unregister_watches(self): method stop (line 79) | def stop(self): method pause (line 87) | def pause(self): method resume (line 95) | def resume(self): method paused (line 104) | def paused(self): method _format_tokens (line 112) | def _format_tokens(self, tokens: int) -> str: method _format_cost (line 116) | def _format_cost(self, cost: float) -> str: method _on_token_update (line 120) | async def _on_token_update(self, node: TokenNode, usage: TokenUsage): method __enter__ (line 131) | def __enter__(self): method __exit__ (line 136) | def __exit__(self, exc_type, exc_val, exc_tb): FILE: src/mcp_agent/logging/transport.py class EventTransport (line 30) | class EventTransport(Protocol): method send_event (line 36) | async def send_event(self, event: Event): class FilteredEventTransport (line 45) | class FilteredEventTransport(EventTransport, ABC): method __init__ (line 50) | def __init__(self, event_filter: EventFilter | None = None): method send_event (line 53) | async def send_event(self, event: Event): method send_matched_event (line 58) | async def send_matched_event(self, event: Event): class NoOpTransport (line 62) | class NoOpTransport(FilteredEventTransport): method send_matched_event (line 65) | async def send_matched_event(self, event): class ConsoleTransport (line 70) | class ConsoleTransport(FilteredEventTransport): method __init__ (line 73) | def __init__(self, event_filter: EventFilter | None = None): method send_matched_event (line 84) | async def send_matched_event(self, event: Event): class FileTransport (line 111) | class FileTransport(FilteredEventTransport): method __init__ (line 114) | def __init__( method send_matched_event (line 144) | async def send_matched_event(self, event: Event) -> None: method _write_to_file (line 181) | def _write_to_file(self, log_line: str) -> None: method close (line 187) | async def close(self) -> None: method is_closed (line 192) | def is_closed(self) -> bool: class HTTPTransport (line 197) | class HTTPTransport(FilteredEventTransport): method __init__ (line 203) | def __init__( method start (line 222) | async def start(self): method stop (line 229) | async def stop(self): method send_matched_event (line 237) | async def send_matched_event(self, event: Event): method _flush (line 244) | async def _flush(self): class AsyncEventBus (line 282) | class AsyncEventBus: method __init__ (line 290) | def __init__(self, transport: EventTransport | None = None): method init_queue (line 296) | def init_queue(self): method get (line 309) | def get(cls, transport: EventTransport | None = None) -> "AsyncEventBus": method reset (line 319) | def reset(cls) -> None: method start (line 342) | async def start(self): method stop (line 361) | async def stop(self): method emit (line 410) | async def emit(self, event: Event): method emit_with_stderr_transport (line 436) | def emit_with_stderr_transport(self, event: Event): method _send_to_transport (line 452) | async def _send_to_transport(self, event: Event): method add_listener (line 459) | def add_listener(self, name: str, listener: EventListener): method remove_listener (line 463) | def remove_listener(self, name: str): method _process_events (line 467) | async def _process_events(self): class MultiTransport (line 550) | class MultiTransport(EventTransport): method __init__ (line 553) | def __init__(self, transports: List[EventTransport]): method send_event (line 561) | async def send_event(self, event: Event): function get_log_filename (line 588) | def get_log_filename(settings: LoggerSettings, session_id: str | None = ... function create_transport (line 621) | def create_transport( FILE: src/mcp_agent/mcp/client_proxy.py function _resolve_gateway_url (line 10) | def _resolve_gateway_url( function log_via_proxy (line 40) | async def log_via_proxy( function ask_via_proxy (line 82) | async def ask_via_proxy( function notify_via_proxy (line 119) | async def notify_via_proxy( function request_via_proxy (line 152) | async def request_via_proxy( FILE: src/mcp_agent/mcp/gen_client.py function gen_client (line 17) | async def gen_client( function connect (line 52) | async def connect( function disconnect (line 86) | async def disconnect( FILE: src/mcp_agent/mcp/mcp_agent_client_session.py class MCPAgentClientSession (line 79) | class MCPAgentClientSession(ClientSession, ContextDependent): method __init__ (line 90) | def __init__( method set_session_id_callback (line 131) | def set_session_id_callback(self, callback: Callable[[], str | None]) ... method get_session_id (line 142) | def get_session_id(self) -> str | None: method send_request (line 155) | async def send_request( method send_notification (line 239) | async def send_notification( method _send_response (line 283) | async def _send_response( method _received_notification (line 292) | async def _received_notification(self, notification: ReceiveNotificati... method send_progress_notification (line 303) | async def send_progress_notification( method _handle_sampling_callback (line 340) | async def _handle_sampling_callback( method _handle_elicitation_callback (line 366) | async def _handle_elicitation_callback( method _handle_list_roots_callback (line 436) | async def _handle_list_roots_callback( FILE: src/mcp_agent/mcp/mcp_aggregator.py class NamespacedTool (line 52) | class NamespacedTool(BaseModel): class NamespacedPrompt (line 62) | class NamespacedPrompt(BaseModel): class NamespacedResource (line 72) | class NamespacedResource(BaseModel): class MCPAggregator (line 82) | class MCPAggregator(ContextDependent): method __aenter__ (line 97) | async def __aenter__(self): method __aexit__ (line 101) | async def __aexit__(self, exc_type, exc_val, exc_tb): method __init__ (line 104) | def __init__( method initialize (line 150) | async def initialize(self, force: bool = False): method close (line 198) | async def close(self): method create (line 276) | async def create( method load_server (line 320) | async def load_server(self, server_name: str): method load_servers (line 451) | async def load_servers(self, force: bool = False): method get_server (line 512) | async def get_server(self, server_name: str) -> Optional[ClientSession]: method get_capabilities (line 540) | async def get_capabilities(self, server_name: str): method refresh (line 609) | async def refresh(self, server_name: str | None = None): method list_servers (line 622) | async def list_servers(self) -> List[str]: method list_tools (line 636) | async def list_tools(self, server_name: str | None = None) -> ListTool... method list_resources (line 681) | async def list_resources(self, server_name: str | None = None): method read_resource (line 730) | async def read_resource( method call_tool (line 829) | async def call_tool( method list_prompts (line 958) | async def list_prompts(self, server_name: str | None = None) -> ListPr... method get_prompt (line 1017) | async def get_prompt( method _parse_capability_name (line 1169) | async def _parse_capability_name( method _start_server (line 1226) | async def _start_server(self, server_name: str): method _fetch_tools (line 1257) | async def _fetch_tools(self, client: ClientSession, server_name: str) ... method _fetch_prompts (line 1286) | async def _fetch_prompts( method _fetch_resources (line 1318) | async def _fetch_resources( method _fetch_capabilities (line 1350) | async def _fetch_capabilities(self, server_name: str): class MCPCompoundServer (line 1375) | class MCPCompoundServer(Server): method __init__ (line 1380) | def __init__(self, server_names: List[str], name: str = "MCPCompoundSe... method _list_tools (line 1392) | async def _list_tools(self) -> List[Tool]: method _call_tool (line 1397) | async def _call_tool( method _list_prompts (line 1412) | async def _list_prompts(self) -> List[Prompt]: method _get_prompt (line 1417) | async def _get_prompt( method _list_resources (line 1435) | async def _list_resources(self): method _read_resource (line 1440) | async def _read_resource(self, uri: str, server_name: str | None = None): method run_stdio_async (line 1451) | async def run_stdio_async(self) -> None: FILE: src/mcp_agent/mcp/mcp_connection_manager.py function _resolve_identity_from_context (line 44) | def _resolve_identity_from_context(): class ServerConnection (line 54) | class ServerConnection: method __init__ (line 61) | def __init__( method is_healthy (line 98) | def is_healthy(self) -> bool: method reset_error_state (line 102) | def reset_error_state(self) -> None: method request_shutdown (line 107) | def request_shutdown(self) -> None: method _is_shutdown_requested_flag (line 114) | def _is_shutdown_requested_flag(self) -> bool: method wait_for_shutdown_request (line 118) | async def wait_for_shutdown_request(self) -> None: method initialize_session (line 124) | async def initialize_session(self) -> None: method wait_for_initialized (line 141) | async def wait_for_initialized(self) -> None: method create_session (line 147) | def create_session( function _server_lifecycle_task (line 173) | async def _server_lifecycle_task(server_conn: ServerConnection) -> None: class MCPConnectionManager (line 232) | class MCPConnectionManager(ContextDependent): method __init__ (line 237) | def __init__( method __aenter__ (line 262) | async def __aenter__(self): method __aexit__ (line 272) | async def __aexit__(self, exc_type, exc_val, exc_tb): method close (line 286) | async def close(self, exc_type=None, exc_val=None, exc_tb=None): method _start_owner (line 358) | async def _start_owner(self): method _tg_owner (line 396) | async def _tg_owner(self): method launch_server (line 418) | async def launch_server( method get_server (line 555) | async def get_server( method get_server_capabilities (line 601) | async def get_server_capabilities( method disconnect_server (line 615) | async def disconnect_server(self, server_name: str) -> None: method disconnect_all (line 633) | async def disconnect_all(self) -> None: FILE: src/mcp_agent/mcp/mcp_server_registry.py function _resolve_identity_from_context (line 40) | def _resolve_identity_from_context(): class ServerRegistry (line 64) | class ServerRegistry: method __init__ (line 78) | def __init__(self, config: Settings | None = None, config_path: str | ... method load_registry_from_file (line 101) | def load_registry_from_file( method start_server (line 118) | async def start_server( method initialize_server (line 358) | async def initialize_server( method register_init_hook (line 420) | def register_init_hook(self, server_name: str, hook: InitHookCallable)... method execute_init_hook (line 434) | def execute_init_hook(self, server_name: str, session=None) -> bool: method get_server_config (line 450) | def get_server_config(self, server_name: str) -> MCPServerSettings | N... FILE: src/mcp_agent/mcp/sampling_handler.py function _format_sampling_request_for_human (line 33) | def _format_sampling_request_for_human(params: CreateMessageRequestParam... function _format_sampling_response_for_human (line 82) | def _format_sampling_response_for_human(result: CreateMessageResult) -> ... class SamplingHandler (line 94) | class SamplingHandler(ContextDependent): method __init__ (line 97) | def __init__(self, context: "Context"): method handle_sampling (line 100) | async def handle_sampling( method _handle_sampling_locally (line 121) | async def _handle_sampling_locally( method _human_approve_request (line 145) | async def _human_approve_request( method _human_approve_response (line 174) | async def _human_approve_response( method _generate_with_llm (line 203) | async def _generate_with_llm( FILE: src/mcp_agent/mcp/stdio_transport.py function _should_ignore_exception (line 34) | def _should_ignore_exception(exc: Exception) -> bool: function _truncate (line 66) | def _truncate(value: str, length: int = 120) -> str: function filtered_stdio_client (line 76) | async def filtered_stdio_client( FILE: src/mcp_agent/oauth/access_token.py class MCPAccessToken (line 11) | class MCPAccessToken(AccessToken): method from_introspection (line 22) | def from_introspection( method is_expired (line 66) | def is_expired(self, *, leeway_seconds: int = 0) -> bool: method validate_audience (line 73) | def validate_audience(self, expected_audiences: List[str]) -> bool: function _extract_all_audiences (line 83) | def _extract_all_audiences(payload: Dict[str, Any]) -> List[str]: function _first_non_empty (line 106) | def _first_non_empty(*values: Any) -> Any | None: FILE: src/mcp_agent/oauth/callbacks.py class OAuthCallbackRegistry (line 9) | class OAuthCallbackRegistry: method __init__ (line 12) | def __init__(self) -> None: method create_handle (line 19) | async def create_handle(self, flow_id: str) -> asyncio.Future[Dict[str... method deliver (line 29) | async def deliver(self, flow_id: str, payload: Dict[str, Any]) -> bool: method register_state (line 40) | async def register_state(self, flow_id: str, state: str) -> None: method deliver_by_state (line 47) | async def deliver_by_state(self, state: str, payload: Dict[str, Any]) ... method fail (line 60) | async def fail(self, flow_id: str, exc: Exception) -> bool: method discard (line 69) | async def discard(self, flow_id: str) -> None: FILE: src/mcp_agent/oauth/errors.py class OAuthFlowError (line 4) | class OAuthFlowError(Exception): class AuthorizationDeclined (line 8) | class AuthorizationDeclined(OAuthFlowError): class CallbackTimeoutError (line 12) | class CallbackTimeoutError(OAuthFlowError): class TokenRefreshError (line 16) | class TokenRefreshError(OAuthFlowError): class MissingUserIdentityError (line 20) | class MissingUserIdentityError(OAuthFlowError): FILE: src/mcp_agent/oauth/flow.py class AuthorizationFlowCoordinator (line 40) | class AuthorizationFlowCoordinator: method __init__ (line 43) | def __init__(self, *, http_client: httpx.AsyncClient, settings: OAuthS... method authorize (line 47) | async def authorize( function _parse_callback_params (line 300) | def _parse_callback_params(url: str) -> Dict[str, str]: function _send_auth_request (line 309) | async def _send_auth_request( function _run_loopback_flow (line 323) | async def _run_loopback_flow( FILE: src/mcp_agent/oauth/http/auth.py class OAuthHttpxAuth (line 15) | class OAuthHttpxAuth(httpx.Auth): method __init__ (line 18) | def __init__( method async_auth_flow (line 35) | async def async_auth_flow(self, request: httpx.Request): FILE: src/mcp_agent/oauth/identity.py class OAuthUserIdentity (line 12) | class OAuthUserIdentity: method cache_key (line 21) | def cache_key(self) -> str: method from_access_token (line 26) | def from_access_token( function _claim (line 43) | def _claim(token: MCPAccessToken, key: str) -> Any | None: function session_identity (line 59) | def session_identity(session_id: str | None) -> OAuthUserIdentity | None: FILE: src/mcp_agent/oauth/manager.py class ResolvedOAuthContext (line 49) | class ResolvedOAuthContext: function _dedupe (line 60) | def _dedupe(sequence: Iterable[OAuthUserIdentity]) -> list[OAuthUserIden... function _canonicalize_url (line 74) | def _canonicalize_url(url: str) -> str: function _candidate_resource_metadata_urls (line 92) | def _candidate_resource_metadata_urls(parsed_resource: URL) -> list[str]: function _candidate_authorization_metadata_urls (line 111) | def _candidate_authorization_metadata_urls( class TokenManager (line 133) | class TokenManager: method __init__ (line 136) | def __init__( method store_preconfigured_token (line 159) | async def store_preconfigured_token( method store_user_token (line 217) | async def store_user_token( method get_access_token_if_present (line 300) | async def get_access_token_if_present( method ensure_access_token (line 415) | async def ensure_access_token( method invalidate (line 574) | async def invalidate( method _refresh_token (line 607) | async def _refresh_token( method _resolve_oauth_context (line 673) | async def _resolve_oauth_context( method _get_resource_metadata (line 720) | async def _get_resource_metadata( method _get_authorization_metadata (line 745) | async def _get_authorization_metadata( method _build_store_key (line 772) | def _build_store_key( method aclose (line 786) | async def aclose(self) -> None: method _session_identity (line 793) | def _session_identity(self, context: "Context") -> OAuthUserIdentity |... FILE: src/mcp_agent/oauth/metadata.py function fetch_resource_metadata (line 16) | async def fetch_resource_metadata( function fetch_authorization_server_metadata (line 26) | async def fetch_authorization_server_metadata( function fetch_authorization_server_metadata_from_issuer (line 35) | async def fetch_authorization_server_metadata_from_issuer( function select_authorization_server (line 62) | def select_authorization_server( function normalize_resource (line 88) | def normalize_resource(resource: str | None, fallback: str | None) -> str: FILE: src/mcp_agent/oauth/pkce.py function generate_code_verifier (line 10) | def generate_code_verifier(length: int = 64) -> str: function generate_code_challenge (line 21) | def generate_code_challenge(verifier: str) -> str: function generate_state (line 26) | def generate_state(length: int = 32) -> str: FILE: src/mcp_agent/oauth/records.py class TokenRecord (line 11) | class TokenRecord(BaseModel): method is_expired (line 26) | def is_expired(self, *, leeway_seconds: int = 0) -> bool: method with_tokens (line 32) | def with_tokens( FILE: src/mcp_agent/oauth/store/base.py class TokenStoreKey (line 12) | class TokenStoreKey: function scope_fingerprint (line 21) | def scope_fingerprint(scopes: Iterable[str]) -> str: class TokenStore (line 26) | class TokenStore(Protocol): method get (line 29) | async def get(self, key: TokenStoreKey) -> TokenRecord | None: ... method set (line 31) | async def set(self, key: TokenStoreKey, record: TokenRecord) -> None: ... method delete (line 33) | async def delete(self, key: TokenStoreKey) -> None: ... FILE: src/mcp_agent/oauth/store/in_memory.py class InMemoryTokenStore (line 12) | class InMemoryTokenStore(TokenStore): method __init__ (line 13) | def __init__(self) -> None: method get (line 17) | async def get(self, key: TokenStoreKey) -> TokenRecord | None: method set (line 24) | async def set(self, key: TokenStoreKey, record: TokenRecord) -> None: method delete (line 28) | async def delete(self, key: TokenStoreKey) -> None: FILE: src/mcp_agent/oauth/store/redis.py class RedisTokenStore (line 11) | class RedisTokenStore(TokenStore): method __init__ (line 14) | def __init__( method _make_key (line 37) | def _make_key(self, key: TokenStoreKey) -> str: method get (line 47) | async def get(self, key: TokenStoreKey) -> TokenRecord | None: method set (line 55) | async def set(self, key: TokenStoreKey, record: TokenRecord) -> None: method delete (line 60) | async def delete(self, key: TokenStoreKey) -> None: method aclose (line 64) | async def aclose(self) -> None: FILE: src/mcp_agent/server/app_server.py function _clear_cached_session_refs (line 86) | def _clear_cached_session_refs(target: Any, session: Any | None) -> None: function _register_session (line 96) | async def _register_session( function _unregister_session (line 126) | async def _unregister_session(run_id: str) -> None: function _get_session (line 147) | async def _get_session(execution_id: str) -> Any | None: function _get_identity_for_execution (line 162) | def _get_identity_for_execution(execution_id: str) -> OAuthUserIdentity ... function _get_context_for_execution (line 166) | def _get_context_for_execution(execution_id: str) -> "Context" | None: function _set_current_identity (line 170) | def _set_current_identity(identity: OAuthUserIdentity | None) -> None: function get_current_identity (line 174) | def get_current_identity() -> OAuthUserIdentity | None: function _resolve_identity_for_request (line 178) | def _resolve_identity_for_request( function get_identity_for_session (line 213) | def get_identity_for_session( class ServerContext (line 234) | class ServerContext(ContextDependent): method __init__ (line 237) | def __init__(self, mcp: FastMCP, context: "Context", **kwargs): method register_workflow (line 269) | def register_workflow(self, workflow_name: str, workflow_cls: Type[Wor... method app (line 280) | def app(self) -> MCPApp: method workflows (line 285) | def workflows(self) -> Dict[str, Type[Workflow]]: method workflow_registry (line 290) | def workflow_registry(self) -> WorkflowRegistry: function _get_attached_app (line 295) | def _get_attached_app(mcp: FastMCP) -> MCPApp | None: function _get_registered_workflow_tools (line 300) | def _get_registered_workflow_tools(mcp: FastMCP) -> Set[str]: function _get_attached_server_context (line 305) | def _get_attached_server_context(mcp: FastMCP) -> ServerContext | None: function _enter_request_context (line 310) | def _enter_request_context( function _exit_request_context (line 423) | def _exit_request_context( function _resolve_workflows_and_context (line 475) | def _resolve_workflows_and_context( function _resolve_workflows_and_context_safe (line 501) | def _resolve_workflows_and_context_safe( function _extract_session_id_from_context (line 512) | def _extract_session_id_from_context(ctx: MCPContext) -> str | None: function _resolve_workflow_registry (line 558) | def _resolve_workflow_registry(ctx: MCPContext) -> WorkflowRegistry | None: function _get_param_source_function_from_workflow (line 577) | def _get_param_source_function_from_workflow(workflow_cls: Type["Workflo... function _build_run_param_tool (line 588) | def _build_run_param_tool(workflow_cls: Type["Workflow"]) -> FastTool: function create_mcp_server_for_app (line 642) | def create_mcp_server_for_app(app: MCPApp, **kwargs: Any) -> FastMCP: function create_workflow_tools (line 2374) | def create_workflow_tools(mcp: FastMCP, server_context: ServerContext): function _get_registered_function_tools (line 2398) | def _get_registered_function_tools(mcp: FastMCP) -> Set[str]: function _set_registered_function_tools (line 2402) | def _set_registered_function_tools(mcp: FastMCP, tools: Set[str]): function create_declared_function_tools (line 2406) | def create_declared_function_tools(mcp: FastMCP, server_context: ServerC... function create_workflow_specific_tools (line 2778) | def create_workflow_specific_tools( function _get_server_descriptions (line 2844) | def _get_server_descriptions( function _get_server_descriptions_as_string (line 2866) | def _get_server_descriptions_as_string( function _workflow_run (line 2886) | async def _workflow_run( function _workflow_status (line 3106) | async def _workflow_status( function _parse_callback_params (line 3149) | def _parse_callback_params(url: str) -> Dict[str, str]: FILE: src/mcp_agent/server/app_server_types.py function create_model_from_schema (line 14) | def create_model_from_schema(json_schema: Dict[str, Any]) -> Type[BaseMo... FILE: src/mcp_agent/server/token_verifier.py class MCPAgentTokenVerifier (line 22) | class MCPAgentTokenVerifier(TokenVerifier): method __init__ (line 25) | def __init__(self, settings: MCPAuthorizationServerSettings): method _ensure_introspection_endpoint (line 34) | async def _ensure_introspection_endpoint(self) -> str: method verify_token (line 94) | async def verify_token(self, token: str) -> AccessToken | None: # typ... method _introspect (line 113) | async def _introspect(self, token: str) -> MCPAccessToken | None: method _extract_audiences (line 211) | def _extract_audiences(self, payload: Dict[str, Any]) -> List[str]: method _validate_audiences (line 235) | def _validate_audiences(self, token_audiences: List[str]) -> bool: method aclose (line 263) | async def aclose(self) -> None: method __aenter__ (line 266) | async def __aenter__(self) -> "MCPAgentTokenVerifier": method __aexit__ (line 269) | async def __aexit__(self, exc_type, exc, tb) -> None: FILE: src/mcp_agent/server/tool_adapter.py function create_tool_adapter_signature (line 15) | def create_tool_adapter_signature( function validate_tool_schema (line 122) | def validate_tool_schema(fn: Callable[..., Any], tool_name: str) -> None: FILE: src/mcp_agent/telemetry/usage_tracking.py function send_usage_data (line 7) | def send_usage_data(): FILE: src/mcp_agent/tools/crewai_tool.py function from_crewai_tool (line 8) | def from_crewai_tool( function _create_function_from_schema (line 86) | def _create_function_from_schema( FILE: src/mcp_agent/tools/langchain_tool.py function from_langchain_tool (line 6) | def from_langchain_tool( FILE: src/mcp_agent/tracing/file_span_exporter.py class FileSpanExporter (line 16) | class FileSpanExporter(SpanExporter): method __init__ (line 19) | def __init__( method _get_trace_filename (line 39) | def _get_trace_filename(self) -> str: method export (line 61) | def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult: method force_flush (line 72) | def force_flush(self, timeout_millis: int = 30000) -> bool: FILE: src/mcp_agent/tracing/telemetry.py class TelemetryManager (line 24) | class TelemetryManager(ContextDependent): method __init__ (line 30) | def __init__(self, context: Optional["Context"] = None, **kwargs): method traced (line 33) | def traced( method _record_args (line 88) | def _record_args(self, span, args, kwargs): function serialize_attribute (line 96) | def serialize_attribute(key: str, value: Any) -> Dict[str, Any]: function serialize_attributes (line 128) | def serialize_attributes( function record_attribute (line 142) | def record_attribute(span: trace.Span, key, value): function record_attributes (line 152) | def record_attributes(span: trace.Span, attributes: Dict[str, Any], pref... function is_otel_serializable (line 159) | def is_otel_serializable(value: Any) -> bool: function get_tracer (line 171) | def get_tracer(context: "Context") -> trace.Tracer: function get_meter (line 178) | def get_meter(context: "Context") -> metrics.Meter: function annotate_span_for_call_tool_result (line 185) | def annotate_span_for_call_tool_result(span: trace.Span, result: CallToo... FILE: src/mcp_agent/tracing/token_counter.py class TokenUsageBase (line 25) | class TokenUsageBase: method __post_init__ (line 37) | def __post_init__(self): class TokenUsage (line 43) | class TokenUsage(TokenUsageBase): class WatchConfig (line 57) | class WatchConfig: class TokenNode (line 95) | class TokenNode: method add_child (line 132) | def add_child(self, child: "TokenNode") -> None: method watch (line 142) | async def watch( method unwatch (line 167) | async def unwatch(self, watch_id: str) -> bool: method invalidate_cache (line 173) | def invalidate_cache(self) -> None: method aggregate_usage (line 180) | def aggregate_usage(self) -> TokenUsage: method to_dict (line 212) | def to_dict(self) -> Dict[str, Any]: method format_tree (line 253) | def format_tree(self) -> str: method get_usage (line 270) | def get_usage(self) -> TokenUsageBase: method get_cost (line 279) | def get_cost(self) -> float: method get_summary (line 285) | def get_summary(self) -> "NodeUsageDetail": class ModelUsageSummary (line 350) | class ModelUsageSummary: class ModelUsageDetail (line 370) | class ModelUsageDetail(ModelUsageSummary): method total_tokens (line 377) | def total_tokens(self) -> int: method input_tokens (line 382) | def input_tokens(self) -> int: method output_tokens (line 387) | def output_tokens(self) -> int: class TokenSummary (line 393) | class TokenSummary: class NodeSummary (line 410) | class NodeSummary: class NodeTypeUsage (line 424) | class NodeTypeUsage: class NodeUsageDetail (line 438) | class NodeUsageDetail: class TokenCounter (line 460) | class TokenCounter: method __init__ (line 466) | def __init__(self, execution_engine: Optional[str] = None): method scope (line 519) | def scope( method _get_stack (line 563) | def _get_stack(self) -> List[TokenNode]: method _set_stack (line 568) | def _set_stack(self, new_stack: List[TokenNode]) -> None: method _get_current_node (line 572) | def _get_current_node(self) -> Optional[TokenNode]: method _stack (line 578) | def _stack(self) -> List[TokenNode]: # type: ignore[override] method _current (line 582) | def _current(self) -> Optional[TokenNode]: # type: ignore[override] method _build_cost_lookup (line 585) | def _build_cost_lookup(self) -> Dict[Tuple[str, str], Dict[str, float]]: method _build_provider_lookup (line 612) | def _build_provider_lookup(self) -> Dict[str, Dict[str, ModelInfo]]: method find_model_info (line 622) | def find_model_info( method push (line 752) | async def push( method pop (line 785) | async def pop(self) -> Optional[TokenNode]: method record_usage (line 805) | async def record_usage( method calculate_cost (line 923) | def calculate_cost( method get_current_path (line 989) | async def get_current_path(self) -> List[str]: method get_current_node (line 995) | async def get_current_node(self) -> Optional[TokenNode]: method format_node_tree (line 1003) | async def format_node_tree(self, node: Optional[TokenNode] = None) -> ... method get_tree (line 1024) | async def get_tree(self) -> Optional[Dict[str, Any]]: method get_summary (line 1031) | async def get_summary(self) -> TokenSummary: method reset (line 1145) | async def reset(self) -> None: method find_node (line 1158) | async def find_node( method _find_node_recursive (line 1177) | def _find_node_recursive( method find_nodes_by_type (line 1201) | async def find_nodes_by_type(self, node_type: str) -> List[TokenNode]: method _find_nodes_by_type_recursive (line 1219) | def _find_nodes_by_type_recursive( method get_node_usage (line 1229) | async def get_node_usage( method get_node_cost (line 1252) | async def get_node_cost(self, name: str, node_type: Optional[str] = No... method _calculate_node_cost (line 1274) | def _calculate_node_cost(self, node: TokenNode) -> float: method get_app_usage (line 1309) | async def get_app_usage(self) -> Optional[TokenUsage]: method get_agent_usage (line 1316) | async def get_agent_usage(self, name: str) -> Optional[TokenUsage]: method get_workflow_usage (line 1320) | async def get_workflow_usage(self, name: str) -> Optional[TokenUsage]: method get_current_usage (line 1324) | async def get_current_usage(self) -> Optional[TokenUsage]: method get_node_subtree (line 1332) | async def get_node_subtree( method find_node_by_metadata (line 1347) | async def find_node_by_metadata( method _find_node_by_metadata_recursive (line 1381) | def _find_node_by_metadata_recursive( method get_app_node (line 1415) | async def get_app_node(self) -> Optional[TokenNode]: method get_workflow_node (line 1420) | async def get_workflow_node( method get_agent_node (line 1457) | async def get_agent_node( method get_llm_node (line 1476) | async def get_llm_node( method get_node_breakdown (line 1495) | async def get_node_breakdown( method get_agents_breakdown (line 1578) | async def get_agents_breakdown(self) -> Dict[str, TokenUsage]: method get_workflows_breakdown (line 1587) | async def get_workflows_breakdown(self) -> Dict[str, TokenUsage]: method get_models_breakdown (line 1596) | async def get_models_breakdown(self) -> List[ModelUsageDetail]: method _collect_model_nodes (line 1650) | def _collect_model_nodes( method watch (line 1669) | async def watch( method unwatch (line 1743) | async def unwatch(self, watch_id: str) -> bool: method _cleanup_executor (line 1769) | def _cleanup_executor(self) -> None: method _trigger_watches (line 1776) | def _trigger_watches(self, node: TokenNode) -> None: method _execute_callback (line 1859) | def _execute_callback( method _handle_task_exception (line 1912) | def _handle_task_exception(self, task: asyncio.Task) -> None: method _execute_callback_safely (line 1919) | def _execute_callback_safely( method _execute_async_callback_safely (line 1931) | async def _execute_async_callback_safely( method _watch_matches_node (line 1943) | def _watch_matches_node(self, config: WatchConfig, node: TokenNode) ->... FILE: src/mcp_agent/tracing/token_tracking_decorator.py function track_tokens (line 10) | def track_tokens( FILE: src/mcp_agent/tracing/tracer.py class TracingConfig (line 22) | class TracingConfig: method __init__ (line 30) | def __init__(self): method configure (line 33) | async def configure( method get_tracer (line 242) | def get_tracer(self, name: str): method flush (line 248) | async def flush(self, timeout_ms: int = 5000) -> bool: method shutdown (line 276) | def shutdown(self): FILE: src/mcp_agent/utils/common.py function unwrap (line 16) | def unwrap(c: Callable[..., Any]) -> Callable[..., Any]: function typed_dict_extras (line 27) | def typed_dict_extras(d: dict, exclude: List[str]): function to_string (line 32) | def to_string(obj: BaseModel | dict) -> str: function ensure_serializable (line 42) | def ensure_serializable(data: BaseModel) -> BaseModel: FILE: src/mcp_agent/utils/content_utils.py function get_text (line 19) | def get_text( function get_image_data (line 44) | def get_image_data( function get_resource_uri (line 68) | def get_resource_uri( function is_text_content (line 86) | def is_text_content( function is_image_content (line 101) | def is_image_content( function is_resource_content (line 116) | def is_resource_content( FILE: src/mcp_agent/utils/mime_utils.py function guess_mime_type (line 41) | def guess_mime_type(file_path: str) -> str: function is_text_mime_type (line 49) | def is_text_mime_type(mime_type: str) -> bool: function is_binary_content (line 69) | def is_binary_content(mime_type: str) -> bool: function is_image_mime_type (line 74) | def is_image_mime_type(mime_type: str) -> bool: function image_url_to_mime_and_base64 (line 79) | def image_url_to_mime_and_base64(image_url: str) -> tuple[str, str]: FILE: src/mcp_agent/utils/prompt_message_multipart.py class PromptMessageMultipart (line 16) | class PromptMessageMultipart(BaseModel): method to_multipart (line 26) | def to_multipart( method from_multipart (line 55) | def from_multipart(self) -> List[PromptMessage]: method first_text (line 62) | def first_text(self) -> str: method last_text (line 79) | def last_text(self) -> str: method all_text (line 97) | def all_text(self) -> str: method add_text (line 115) | def add_text(self, to_add: str) -> TextContent: method parse_get_prompt_result (line 121) | def parse_get_prompt_result( method from_get_prompt_result (line 136) | def from_get_prompt_result( FILE: src/mcp_agent/utils/pydantic_type_serializer.py function is_pydantic_undefined (line 52) | def is_pydantic_undefined(obj: Any) -> bool: function make_serializable (line 61) | def make_serializable(value: Any) -> Any: class PydanticTypeSerializer (line 76) | class PydanticTypeSerializer(BaseModel): class Config (line 83) | class Config: method _get_type_origin_name (line 87) | def _get_type_origin_name(origin: Any) -> str: method serialize_type (line 112) | def serialize_type(typ: Any) -> Dict[str, Any]: method _serialize_validators (line 246) | def _serialize_validators(model_class: Type[BaseModel]) -> List[Dict[s... method _get_all_fields (line 319) | def _get_all_fields(model_class: Type[BaseModel]) -> Dict[str, Dict[st... method _serialize_fields (line 348) | def _serialize_fields(model_class: Type[BaseModel]) -> Dict[str, Dict[... method _serialize_config (line 437) | def _serialize_config(model_class: Type[BaseModel]) -> Dict[str, Any]: method deserialize_type (line 478) | def deserialize_type(serialized: Dict[str, Any]) -> Any: method reconstruct_model (line 626) | def reconstruct_model(serialized: Dict[str, Any]) -> Type[BaseModel]: method serialize_model_type (line 786) | def serialize_model_type(cls, model_class: Type[BaseModel]) -> Dict[st... method deserialize_model_type (line 799) | def deserialize_model_type(cls, serialized: Dict[str, Any]) -> Type[Ba... class PydanticTypeEncoder (line 813) | class PydanticTypeEncoder(json.JSONEncoder): method default (line 816) | def default(self, obj): function json_object_hook (line 901) | def json_object_hook(obj: Dict[str, Any]) -> Any: function serialize_model (line 932) | def serialize_model(model_type: Type[BaseModel]) -> str: function deserialize_model (line 946) | def deserialize_model(serialized_json: str) -> Type[BaseModel]: FILE: src/mcp_agent/utils/resource_utils.py function find_resource_file (line 21) | def find_resource_file(resource_path: str, prompt_files: List[Path]) -> ... function load_resource_content (line 30) | def load_resource_content( function create_resource_uri (line 71) | def create_resource_uri(path: str) -> str: function create_resource_reference (line 76) | def create_resource_reference(uri: str, mime_type: str) -> "EmbeddedReso... function create_embedded_resource (line 102) | def create_embedded_resource( function create_image_content (line 133) | def create_image_content(data: str, mime_type: str) -> ImageContent: function create_blob_resource (line 142) | def create_blob_resource( function create_text_resource (line 156) | def create_text_resource( function normalize_uri (line 170) | def normalize_uri(uri_or_filename: str) -> str: function extract_title_from_uri (line 199) | def extract_title_from_uri(uri: AnyUrl) -> str: FILE: src/mcp_agent/utils/tool_filter.py class ToolFilter (line 18) | class ToolFilter: method __init__ (line 30) | def __init__( method _extract_server_and_tool_name (line 61) | def _extract_server_and_tool_name( method _check_server_filters (line 93) | def _check_server_filters(self, server_name: str, tool_name: str) -> O... method should_include_tool (line 119) | def should_include_tool(self, tool: Tool) -> bool: method filter_tools (line 159) | def filter_tools(self, tools: List[Tool]) -> List[Tool]: function apply_tool_filter (line 172) | def apply_tool_filter(llm_instance, tool_filter: Optional[ToolFilter]): function get_filtered_tools (line 248) | async def get_filtered_tools(agent, tool_filter: Optional[ToolFilter]) -... FILE: src/mcp_agent/workflows/deep_orchestrator/budget.py class SimpleBudget (line 18) | class SimpleBudget: method update_tokens (line 34) | def update_tokens(self, tokens: int) -> None: method is_exceeded (line 49) | def is_exceeded(self) -> Tuple[bool, Optional[str]]: method get_usage_pct (line 78) | def get_usage_pct(self) -> Dict[str, float]: method get_remaining (line 96) | def get_remaining(self) -> Dict[str, float]: method is_critical (line 112) | def is_critical(self, threshold: float = 0.9) -> bool: method get_status_summary (line 125) | def get_status_summary(self) -> str: method reset (line 143) | def reset(self) -> None: FILE: src/mcp_agent/workflows/deep_orchestrator/cache.py class AgentCache (line 16) | class AgentCache: method __init__ (line 23) | def __init__(self, max_size: int = 50): method get_key (line 35) | def get_key(self, task_desc: str, servers: List[str]) -> Tuple[str, ...]: method get (line 50) | def get(self, key: Tuple[str, ...]) -> Optional[Agent]: method put (line 67) | def put(self, key: Tuple[str, ...], agent: Agent) -> None: FILE: src/mcp_agent/workflows/deep_orchestrator/config.py class ExecutionConfig (line 16) | class ExecutionConfig(BaseModel): class ContextConfig (line 35) | class ContextConfig(BaseModel): class BudgetConfig (line 54) | class BudgetConfig(BaseModel): class PolicyConfig (line 70) | class PolicyConfig(BaseModel): class CacheConfig (line 86) | class CacheConfig(BaseModel): class DeepOrchestratorConfig (line 96) | class DeepOrchestratorConfig(BaseModel): method from_simple (line 119) | def from_simple( method with_strict_budget (line 152) | def with_strict_budget( method with_resilient_execution (line 174) | def with_resilient_execution( method with_minimal_context (line 196) | def with_minimal_context( FILE: src/mcp_agent/workflows/deep_orchestrator/context_builder.py class ContextBuilder (line 21) | class ContextBuilder: method __init__ (line 24) | def __init__( method build_task_context (line 61) | def build_task_context(self, task: Task) -> str: method build_basic_task_context (line 84) | def build_basic_task_context(self, task: Task) -> str: method build_full_task_context (line 128) | def build_full_task_context(self, task: Task) -> str: method build_relevant_task_context (line 239) | def build_relevant_task_context(self, task: Task) -> str: method get_context_usage_stats (line 402) | def get_context_usage_stats(self) -> Dict[str, Any]: method _gather_context_sources (line 430) | def _gather_context_sources(self, task: Task) -> List[Dict[str, Any]]: method _find_task_result_by_name (line 466) | def _find_task_result_by_name(self, task_name: str) -> Optional[TaskRe... method _find_step_for_task (line 473) | def _find_step_for_task(self, task_name: str) -> Optional[str]: method _calculate_relevance (line 481) | def _calculate_relevance( method _format_task_result_for_context (line 533) | def _format_task_result_for_context( method _compress_context_source (line 553) | def _compress_context_source(self, source: Dict[str, Any]) -> Dict[str... method _get_prioritized_knowledge (line 583) | def _get_prioritized_knowledge( method _calculate_knowledge_relevance (line 616) | def _calculate_knowledge_relevance( method _estimate_tokens (line 635) | def _estimate_tokens(self, text: str) -> int: FILE: src/mcp_agent/workflows/deep_orchestrator/knowledge.py class KnowledgeExtractor (line 29) | class KnowledgeExtractor: method __init__ (line 32) | def __init__( method extract_knowledge (line 47) | async def extract_knowledge( method extract_batch (line 138) | async def extract_batch( FILE: src/mcp_agent/workflows/deep_orchestrator/memory.py class WorkspaceMemory (line 18) | class WorkspaceMemory: method __init__ (line 27) | def __init__( method save_artifact (line 62) | def save_artifact( method get_artifact (line 82) | def get_artifact(self, name: str) -> Optional[str]: method add_knowledge (line 94) | def add_knowledge(self, item: KnowledgeItem) -> None: method get_relevant_knowledge (line 108) | def get_relevant_knowledge( method get_knowledge_summary (line 154) | def get_knowledge_summary(self, limit: int = 10) -> str: method add_task_result (line 193) | def add_task_result(self, result: TaskResult) -> None: method estimate_context_size (line 217) | def estimate_context_size(self) -> int: method trim_for_context (line 243) | def trim_for_context(self, max_tokens: int = 50000) -> int: method get_scratchpad_path (line 284) | def get_scratchpad_path(self) -> Optional[Path]: method clear (line 295) | def clear(self) -> None: method get_stats (line 304) | def get_stats(self) -> Dict[str, int]: FILE: src/mcp_agent/workflows/deep_orchestrator/models.py class TaskStatus (line 16) | class TaskStatus(str, Enum): class PolicyAction (line 26) | class PolicyAction(str, Enum): class KnowledgeItem (line 41) | class KnowledgeItem: method to_dict (line 51) | def to_dict(self) -> Dict[str, Any]: class TaskResult (line 64) | class TaskResult: method success (line 77) | def success(self) -> bool: class Task (line 87) | class Task(BaseModel): method get_hash_key (line 116) | def get_hash_key(self) -> Tuple[str, ...]: class Step (line 121) | class Step(BaseModel): class Plan (line 131) | class Plan(BaseModel): class ExtractedKnowledge (line 146) | class ExtractedKnowledge(BaseModel): class AgentDesign (line 159) | class AgentDesign(BaseModel): class PlanVerificationError (line 182) | class PlanVerificationError(BaseModel): class PlanVerificationResult (line 200) | class PlanVerificationResult(BaseModel): method add_error (line 207) | def add_error(self, category: str, message: str, **kwargs) -> None: method get_error_summary (line 214) | def get_error_summary(self) -> str: class VerificationResult (line 251) | class VerificationResult(BaseModel): FILE: src/mcp_agent/workflows/deep_orchestrator/orchestrator.py class DeepOrchestrator (line 63) | class DeepOrchestrator(AugmentedLLM[MessageParamT, MessageT]): method __init__ (line 94) | def __init__( method _initialize_components (line 152) | def _initialize_components(self): method _initialize_execution_components (line 192) | def _initialize_execution_components(self, objective: str): method generate (line 225) | async def generate( method _execute_workflow (line 291) | async def _execute_workflow( method _create_full_plan (line 428) | async def _create_full_plan(self) -> Plan: method _verify_completion (line 555) | async def _verify_completion(self) -> tuple[bool, float]: method _create_final_synthesis (line 595) | async def _create_final_synthesis(self) -> List[MessageT]: method _emergency_completion (line 672) | async def _emergency_completion(self, error: str) -> List[MessageT]: method _extract_objective (line 715) | async def _extract_objective( method _create_simple_response (line 744) | async def _create_simple_response(self, content: str) -> List[MessageT]: method generate_str (line 764) | async def generate_str( method generate_structured (line 776) | async def generate_structured( FILE: src/mcp_agent/workflows/deep_orchestrator/plan_verifier.py class PlanVerifier (line 16) | class PlanVerifier: method __init__ (line 19) | def __init__( method verify_plan (line 34) | def verify_plan(self, plan: Plan) -> PlanVerificationResult: method _verify_mcp_servers (line 70) | def _verify_mcp_servers(self, plan: Plan, result: PlanVerificationResu... method _verify_agent_names (line 91) | def _verify_agent_names(self, plan: Plan, result: PlanVerificationResu... method _verify_task_names (line 113) | def _verify_task_names(self, plan: Plan, result: PlanVerificationResul... method _verify_dependencies (line 134) | def _verify_dependencies(self, plan: Plan, result: PlanVerificationRes... method _verify_task_validity (line 172) | def _verify_task_validity(self, plan: Plan, result: PlanVerificationRe... FILE: src/mcp_agent/workflows/deep_orchestrator/policy.py class PolicyEngine (line 17) | class PolicyEngine: method __init__ (line 25) | def __init__( method decide_action (line 56) | def decide_action( method record_success (line 120) | def record_success(self) -> None: method record_failure (line 126) | def record_failure(self) -> None: method get_failure_rate (line 135) | def get_failure_rate(self) -> float: method should_retry_task (line 147) | def should_retry_task(self, retry_count: int, max_retries: int = 3) ->... method get_status_summary (line 174) | def get_status_summary(self) -> str: method reset (line 189) | def reset(self) -> None: FILE: src/mcp_agent/workflows/deep_orchestrator/prompts.py function get_planning_context (line 186) | def get_planning_context( function get_full_plan_prompt (line 257) | def get_full_plan_prompt(context: str) -> str: function get_task_context (line 271) | def get_task_context( function get_extraction_prompt (line 335) | def get_extraction_prompt(objective: str, task_output: str) -> str: function get_agent_design_prompt (line 356) | def get_agent_design_prompt( function build_agent_instruction (line 378) | def build_agent_instruction(design: dict) -> str: function get_verification_context (line 421) | def get_verification_context( function get_verification_prompt (line 454) | def get_verification_prompt(context: str) -> str: function get_synthesis_context (line 466) | def get_synthesis_context( function get_synthesis_prompt (line 547) | def get_synthesis_prompt(context: str) -> str: function get_emergency_context (line 562) | def get_emergency_context( function get_emergency_prompt (line 596) | def get_emergency_prompt(context: str) -> str: FILE: src/mcp_agent/workflows/deep_orchestrator/queue.py class TodoQueue (line 16) | class TodoQueue: method __init__ (line 25) | def __init__(self): method load_plan (line 42) | def load_plan(self, plan: Plan) -> None: method merge_plan (line 62) | def merge_plan(self, plan: Plan) -> int: method _filter_step (line 84) | def _filter_step(self, step: Step) -> Optional[Step]: method get_next_step (line 119) | def get_next_step(self) -> Optional[Step]: method complete_step (line 130) | def complete_step(self, step: Step) -> None: method mark_task_failed (line 157) | def mark_task_failed(self, task_name: str) -> None: method is_empty (line 170) | def is_empty(self) -> bool: method has_ready_tasks (line 179) | def has_ready_tasks(self) -> bool: method get_task_by_name (line 188) | def get_task_by_name(self, task_name: str) -> Optional[Task]: method get_progress_summary (line 200) | def get_progress_summary(self) -> str: method clear (line 229) | def clear(self) -> None: method enqueue_step (line 240) | def enqueue_step(self, step: Step) -> None: method dequeue_step (line 255) | def dequeue_step(self) -> Optional[Step]: FILE: src/mcp_agent/workflows/deep_orchestrator/task_executor.py class TaskExecutor (line 38) | class TaskExecutor: method __init__ (line 41) | def __init__( method set_budget_callback (line 83) | def set_budget_callback(self, update_budget_tokens: Callable[[int], No... method execute_step (line 92) | async def execute_step( method execute_task (line 159) | async def execute_task( method _execute_task_once (line 203) | async def _execute_task_once( method _get_or_create_agent (line 281) | async def _get_or_create_agent(self, task: Task) -> Agent: method _create_dynamic_agent (line 320) | async def _create_dynamic_agent(self, task: Task) -> Agent: FILE: src/mcp_agent/workflows/deep_orchestrator/utils.py function retry_with_backoff (line 15) | async def retry_with_backoff( FILE: src/mcp_agent/workflows/embedding/embedding_base.py class EmbeddingModel (line 14) | class EmbeddingModel(ABC, ContextDependent): method embed (line 18) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 31) | def embedding_dim(self) -> int: function compute_similarity_scores (line 35) | def compute_similarity_scores( function compute_confidence (line 55) | def compute_confidence(similarity_scores: Dict[str, float]) -> float: FILE: src/mcp_agent/workflows/embedding/embedding_cohere.py class CohereEmbeddingModel (line 19) | class CohereEmbeddingModel(EmbeddingModel): method __init__ (line 22) | def __init__( method embed (line 43) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 72) | def embedding_dim(self) -> int: FILE: src/mcp_agent/workflows/embedding/embedding_openai.py class OpenAIEmbeddingModel (line 19) | class OpenAIEmbeddingModel(EmbeddingModel): method __init__ (line 22) | def __init__( method embed (line 34) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 70) | def embedding_dim(self) -> int: FILE: src/mcp_agent/workflows/evaluator_optimizer/evaluator_optimizer.py class QualityRating (line 25) | class QualityRating(int, Enum): class EvaluationResult (line 34) | class EvaluationResult(BaseModel): class EvaluatorOptimizerLLM (line 49) | class EvaluatorOptimizerLLM(AugmentedLLM[MessageParamT, MessageT]): method __init__ (line 70) | def __init__( method generate (line 159) | async def generate( method generate_str (line 359) | async def generate_str( method generate_structured (line 391) | async def generate_structured( method _build_eval_prompt (line 434) | def _build_eval_prompt( method _build_refinement_prompt (line 457) | def _build_refinement_prompt( FILE: src/mcp_agent/workflows/factory.py function create_agent (line 49) | def create_agent(spec: AgentSpec, context: Context | None = None) -> Agent: function agent_from_spec (line 53) | def agent_from_spec(spec: AgentSpec, context: Context | None = None) -> ... function create_llm (line 69) | def create_llm( function create_llm (line 79) | def create_llm( function create_llm (line 90) | def create_llm( function create_router_llm (line 130) | async def create_router_llm( function create_router_embedding (line 218) | async def create_router_embedding( function create_orchestrator (line 283) | def create_orchestrator( function create_deep_orchestrator (line 351) | def create_deep_orchestrator( function create_parallel_llm (line 398) | def create_parallel_llm( function create_evaluator_optimizer_llm (line 454) | def create_evaluator_optimizer_llm( function create_swarm (line 510) | def create_swarm( function create_intent_classifier_llm (line 552) | async def create_intent_classifier_llm( function create_intent_classifier_embedding (line 621) | async def create_intent_classifier_embedding( function _resolve_callable (line 661) | def _resolve_callable(ref: str) -> Callable: function _normalize_agents_data (line 675) | def _normalize_agents_data(data: Any) -> list[dict]: function _agent_spec_from_dict (line 697) | def _agent_spec_from_dict( function _load_yaml (line 745) | def _load_yaml(text: str) -> Any: function _extract_front_matter_md (line 753) | def _extract_front_matter_md(text: str) -> str | None: function _extract_front_matter_and_body_md (line 766) | def _extract_front_matter_and_body_md(text: str) -> tuple[str | None, str]: function _extract_code_blocks_md (line 781) | def _extract_code_blocks_md(text: str) -> list[tuple[str, str]]: function load_agent_specs_from_text (line 792) | def load_agent_specs_from_text( function load_agent_specs_from_file (line 856) | def load_agent_specs_from_file(path: str, context=None) -> List[AgentSpec]: function load_agent_specs_from_dir (line 870) | def load_agent_specs_from_dir( function _parse_model_identifier (line 894) | def _parse_model_identifier(model_id: str) -> Tuple[str | None, str]: function _select_provider_and_model (line 902) | def _select_provider_and_model( function _merge_model_preferences (line 926) | def _merge_model_preferences( function _get_provider_class (line 959) | def _get_provider_class( function _llm_factory (line 995) | def _llm_factory( FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_base.py class Intent (line 11) | class Intent(BaseModel): class ExtractedEntity (line 27) | class ExtractedEntity(BaseModel): class IntentClassificationResult (line 37) | class IntentClassificationResult(BaseModel): class IntentClassifier (line 53) | class IntentClassifier(ABC, ContextDependent): method __init__ (line 69) | def __init__( method classify (line 80) | async def classify( method initialize (line 94) | async def initialize(self): FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_embedding.py class EmbeddingIntent (line 24) | class EmbeddingIntent(Intent): class EmbeddingIntentClassifier (line 33) | class EmbeddingIntentClassifier(IntentClassifier): method __init__ (line 45) | def __init__( method create (line 57) | async def create( method initialize (line 73) | async def initialize(self): method classify (line 99) | async def classify( FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_embedding_cohere.py class CohereEmbeddingIntentClassifier (line 13) | class CohereEmbeddingIntentClassifier(EmbeddingIntentClassifier): method __init__ (line 18) | def __init__( method create (line 31) | async def create( FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_embedding_openai.py class OpenAIEmbeddingIntentClassifier (line 13) | class OpenAIEmbeddingIntentClassifier(EmbeddingIntentClassifier): method __init__ (line 18) | def __init__( method create (line 31) | async def create( FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_llm.py class LLMIntentClassificationResult (line 57) | class LLMIntentClassificationResult(IntentClassificationResult): method _coerce_confidence (line 68) | def _coerce_confidence(cls, v): class StructuredIntentResponse (line 99) | class StructuredIntentResponse(BaseModel): class LLMIntentClassifier (line 105) | class LLMIntentClassifier(IntentClassifier): method __init__ (line 114) | def __init__( method create (line 127) | async def create( method classify (line 145) | async def classify( method _extract_classification_attributes_for_tracing (line 235) | def _extract_classification_attributes_for_tracing( method _generate_context (line 263) | def _generate_context(self) -> str: FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_llm_anthropic.py class AnthropicLLMIntentClassifier (line 20) | class AnthropicLLMIntentClassifier(LLMIntentClassifier): method __init__ (line 25) | def __init__( method create (line 51) | async def create( FILE: src/mcp_agent/workflows/intent_classifier/intent_classifier_llm_openai.py class OpenAILLMIntentClassifier (line 20) | class OpenAILLMIntentClassifier(LLMIntentClassifier): method __init__ (line 25) | def __init__( method create (line 51) | async def create( FILE: src/mcp_agent/workflows/llm/augmented_llm.py class Memory (line 80) | class Memory(BaseModel, Generic[MessageParamT]): method extend (line 91) | def extend(self, messages: List[MessageParamT]) -> None: # noqa: D401 method set (line 94) | def set(self, messages: List[MessageParamT]) -> None: method append (line 97) | def append(self, message: MessageParamT) -> None: method get (line 100) | def get(self) -> List[MessageParamT]: method clear (line 103) | def clear(self) -> None: class SimpleMemory (line 107) | class SimpleMemory(Memory[MessageParamT]): method extend (line 114) | def extend(self, messages: List[MessageParamT]): method set (line 117) | def set(self, messages: List[MessageParamT]): method append (line 120) | def append(self, message: MessageParamT): method get (line 123) | def get(self) -> List[MessageParamT]: method clear (line 126) | def clear(self): class RequestParams (line 130) | class RequestParams(CreateMessageRequestParams): class AugmentedLLMProtocol (line 210) | class AugmentedLLMProtocol(Protocol, Generic[MessageParamT, MessageT]): method generate (line 213) | async def generate( method generate_str (line 220) | async def generate_str( method generate_structured (line 227) | async def generate_structured( method generate_stream (line 235) | async def generate_stream( method generate_str_stream (line 242) | async def generate_str_stream( class ProviderToMCPConverter (line 250) | class ProviderToMCPConverter(Protocol, Generic[MessageParamT, MessageT]): method to_mcp_message_result (line 254) | def to_mcp_message_result(cls, result: MessageT) -> MCPMessageResult: method from_mcp_message_result (line 258) | def from_mcp_message_result(cls, result: MCPMessageResult) -> MessageT: method to_mcp_message_param (line 262) | def to_mcp_message_param(cls, param: MessageParamT) -> MCPMessageParam: method from_mcp_message_param (line 266) | def from_mcp_message_param(cls, param: MCPMessageParam) -> MessageParamT: method from_mcp_tool_result (line 270) | def from_mcp_tool_result( class AugmentedLLM (line 276) | class AugmentedLLM(ContextDependent, AugmentedLLMProtocol[MessageParamT,... method __init__ (line 291) | def __init__( method __aenter__ (line 346) | async def __aenter__(self): method __aexit__ (line 352) | async def __aexit__(self, exc_type, exc_val, exc_tb): method generate (line 357) | async def generate( method generate_str (line 365) | async def generate_str( method generate_structured (line 373) | async def generate_structured( method generate_stream (line 382) | async def generate_stream( method generate_str_stream (line 413) | async def generate_str_stream( method get_provider_config (line 441) | def get_provider_config(cls, context: Optional["Context"]): method select_model (line 445) | async def select_model( method get_request_params (line 491) | def get_request_params( method to_mcp_message_result (line 514) | def to_mcp_message_result(self, result: MessageT) -> MCPMessageResult: method from_mcp_message_result (line 518) | def from_mcp_message_result(self, result: MCPMessageResult) -> MessageT: method to_mcp_message_param (line 522) | def to_mcp_message_param(self, param: MessageParamT) -> MCPMessageParam: method from_mcp_message_param (line 526) | def from_mcp_message_param(self, param: MCPMessageParam) -> MessagePar... method from_mcp_tool_result (line 530) | def from_mcp_tool_result( method convert_message_to_message_param (line 537) | def convert_message_to_message_param( method get_last_message (line 544) | async def get_last_message(self) -> MessageParamT | None: method get_last_message_str (line 552) | async def get_last_message_str(self) -> str | None: method pre_tool_call (line 559) | async def pre_tool_call( method post_tool_call (line 565) | async def post_tool_call( method call_tool (line 571) | async def call_tool( method list_tools (line 651) | async def list_tools( method list_resources (line 661) | async def list_resources( method read_resource (line 667) | async def read_resource( method list_prompts (line 673) | async def list_prompts(self, server_name: str | None = None) -> ListPr... method get_prompt (line 677) | async def get_prompt( method close (line 683) | async def close(self): method message_param_str (line 689) | def message_param_str(self, message: MessageParamT) -> str: method message_str (line 693) | def message_str(self, message: MessageT, content_only: bool = False) -... method _log_chat_progress (line 697) | def _log_chat_progress( method _log_chat_finished (line 709) | def _log_chat_finished(self, model: str | None = None): method annotate_span_with_request_params (line 715) | def annotate_span_with_request_params( method _annotate_span_for_generation_message (line 769) | def _annotate_span_for_generation_message( method _extract_message_param_attributes_for_tracing (line 789) | def _extract_message_param_attributes_for_tracing( method _annotate_span_for_call_tool_result (line 798) | def _annotate_span_for_call_tool_result( method extract_response_message_attributes_for_tracing (line 826) | def extract_response_message_attributes_for_tracing( method _gen_name (line 835) | def _gen_name(self, name: str | None, prefix: str | None) -> str: method get_token_node (line 857) | async def get_token_node( method get_token_usage (line 887) | async def get_token_usage(self, node_type: str | None = None): method get_token_cost (line 900) | async def get_token_cost(self, node_type: str | None = None) -> float: method watch_tokens (line 910) | async def watch_tokens( FILE: src/mcp_agent/workflows/llm/augmented_llm_anthropic.py class RequestCompletionRequest (line 101) | class RequestCompletionRequest(BaseModel): function create_anthropic_instance (line 106) | def create_anthropic_instance(settings: AnthropicSettings): function _execute_anthropic_async (line 125) | async def _execute_anthropic_async(client: AsyncAnthropic, payload: dict... class AnthropicAugmentedLLM (line 132) | class AnthropicAugmentedLLM(AugmentedLLM[MessageParam, Message]): method __init__ (line 140) | def __init__(self, *args, **kwargs): method get_provider_config (line 180) | def get_provider_config(cls, context): method generate (line 184) | async def generate( method generate_stream (line 402) | async def generate_stream( method generate_str (line 748) | async def generate_str( method generate_structured (line 787) | async def generate_structured( method convert_message_to_message_param (line 884) | def convert_message_to_message_param( method message_param_str (line 905) | def message_param_str(self, message: MessageParam) -> str: method message_str (line 924) | def message_str(self, message: Message, content_only: bool = False) ->... method _extract_message_param_attributes_for_tracing (line 946) | def _extract_message_param_attributes_for_tracing( method extract_response_message_attributes_for_tracing (line 1049) | def extract_response_message_attributes_for_tracing( method _annotate_span_for_completion_request (line 1092) | def _annotate_span_for_completion_request( method _annotate_span_for_completion_response (line 1128) | def _annotate_span_for_completion_response( class AnthropicCompletionTasks (line 1144) | class AnthropicCompletionTasks: method request_completion_task (line 1148) | async def request_completion_task( class AnthropicMCPTypeConverter (line 1173) | class AnthropicMCPTypeConverter(ProviderToMCPConverter[MessageParam, Mes... method from_mcp_message_result (line 1179) | def from_mcp_message_result(cls, result: MCPMessageResult) -> Message: method to_mcp_message_result (line 1198) | def to_mcp_message_result(cls, result: Message) -> MCPMessageResult: method from_mcp_message_param (line 1218) | def from_mcp_message_param(cls, param: MCPMessageParam) -> MessageParam: method to_mcp_message_param (line 1230) | def to_mcp_message_param(cls, param: MessageParam) -> MCPMessageParam: method from_mcp_tool_result (line 1252) | def from_mcp_tool_result( function mcp_content_to_anthropic_content (line 1285) | def mcp_content_to_anthropic_content( function anthropic_content_to_mcp_content (line 1358) | def anthropic_content_to_mcp_content( function mcp_stop_reason_to_anthropic_stop_reason (line 1404) | def mcp_stop_reason_to_anthropic_stop_reason(stop_reason: StopReason): function anthropic_stop_reason_to_mcp_stop_reason (line 1419) | def anthropic_stop_reason_to_mcp_stop_reason(stop_reason: str) -> StopRe... FILE: src/mcp_agent/workflows/llm/augmented_llm_azure.py class RequestCompletionRequest (line 96) | class RequestCompletionRequest(BaseModel): class ResponseMessage (line 101) | class ResponseMessage(ChatResponseMessage): class AzureAugmentedLLM (line 112) | class AzureAugmentedLLM(AugmentedLLM[MessageParam, ResponseMessage]): method __init__ (line 118) | def __init__(self, *args, **kwargs): method get_provider_config (line 159) | def get_provider_config(cls, context): method generate (line 163) | async def generate(self, message, request_params: RequestParams | None... method generate_str (line 352) | async def generate_str( method generate_structured (line 385) | async def generate_structured( method convert_message_to_message_param (line 410) | def convert_message_to_message_param( method execute_tool_call (line 420) | async def execute_tool_call( method message_param_str (line 470) | def message_param_str(self, message: MessageParam) -> str: method message_str (line 490) | def message_str(self, message: ResponseMessage, content_only: bool = F... method _annotate_span_for_completion_request (line 500) | def _annotate_span_for_completion_request( method _annotate_span_for_completion_response (line 523) | def _annotate_span_for_completion_response( method _extract_message_param_attributes_for_tracing (line 546) | def _extract_message_param_attributes_for_tracing( method extract_response_message_attributes_for_tracing (line 554) | def extract_response_message_attributes_for_tracing( function _raise_non_retryable_azure (line 563) | def _raise_non_retryable_azure( class AzureCompletionTasks (line 576) | class AzureCompletionTasks: method request_completion_task (line 579) | async def request_completion_task( class AzureOpenAICompletionTasks (line 635) | class AzureOpenAICompletionTasks: method request_completion_task (line 638) | async def request_completion_task( class MCPAzureTypeConverter (line 709) | class MCPAzureTypeConverter(ProviderToMCPConverter[MessageParam, Respons... method from_mcp_message_result (line 715) | def from_mcp_message_result(cls, result: MCPMessageResult) -> Response... method to_mcp_message_result (line 728) | def to_mcp_message_result(cls, result: ResponseMessage) -> MCPMessageR... method from_mcp_message_param (line 737) | def from_mcp_message_param(cls, param: MCPMessageParam) -> MessageParam: method to_mcp_message_param (line 756) | def to_mcp_message_param(cls, param: MessageParam) -> MCPMessageParam: function mcp_content_to_azure_content (line 802) | def mcp_content_to_azure_content( function azure_content_to_mcp_content (line 852) | def azure_content_to_mcp_content( function image_url_to_mime_and_base64 (line 879) | def image_url_to_mime_and_base64(image_url: ImageUrl) -> tuple[str, str]: FILE: src/mcp_agent/workflows/llm/augmented_llm_bedrock.py class BedrockAugmentedLLM (line 54) | class BedrockAugmentedLLM(AugmentedLLM[MessageUnionTypeDef, MessageUnion... method __init__ (line 60) | def __init__(self, *args, **kwargs): method get_provider_config (line 97) | def get_provider_config(cls, context): method generate (line 101) | async def generate(self, message, request_params: RequestParams | None... method _parse_tool_input (line 270) | def _parse_tool_input(tool_input): method generate_stream (line 284) | async def generate_stream( method generate_str (line 627) | async def generate_str( method generate_structured (line 659) | async def generate_structured( method convert_message_to_message_param (line 701) | def convert_message_to_message_param( method message_str (line 707) | def message_str( class RequestCompletionRequest (line 726) | class RequestCompletionRequest(BaseModel): class RequestStructuredCompletionRequest (line 731) | class RequestStructuredCompletionRequest(BaseModel): class BedrockCompletionTasks (line 740) | class BedrockCompletionTasks: method request_completion_task (line 743) | async def request_completion_task( method request_structured_completion_task (line 773) | async def request_structured_completion_task( class BedrockMCPTypeConverter (line 820) | class BedrockMCPTypeConverter( method from_mcp_message_result (line 828) | def from_mcp_message_result(cls, result: MCPMessageResult) -> MessageU... method to_mcp_message_result (line 840) | def to_mcp_message_result(cls, result: MessageUnionTypeDef) -> MCPMess... method from_mcp_message_param (line 856) | def from_mcp_message_param(cls, param: MCPMessageParam) -> MessageUnio... method to_mcp_message_param (line 863) | def to_mcp_message_param(cls, param: MessageUnionTypeDef) -> MCPMessag... function mcp_content_to_bedrock_content (line 885) | def mcp_content_to_bedrock_content( function bedrock_content_to_mcp_content (line 920) | def bedrock_content_to_mcp_content( FILE: src/mcp_agent/workflows/llm/augmented_llm_google.py class GoogleAugmentedLLM (line 54) | class GoogleAugmentedLLM( method __init__ (line 65) | def __init__(self, *args, **kwargs): method generate (line 95) | async def generate(self, message, request_params: RequestParams | None... method generate_str (line 231) | async def generate_str( method get_provider_config (line 260) | def get_provider_config(cls, context): method generate_structured (line 263) | async def generate_structured( method convert_message_to_message_param (line 333) | def convert_message_to_message_param(cls, message, **kwargs): method execute_tool_call (line 337) | async def execute_tool_call( method message_param_str (line 364) | def message_param_str(self, message) -> str: method message_str (line 369) | def message_str(self, message, content_only: bool = False) -> str: class RequestCompletionRequest (line 375) | class RequestCompletionRequest(BaseModel): class RequestStructuredCompletionRequest (line 380) | class RequestStructuredCompletionRequest(BaseModel): class GoogleCompletionTasks (line 389) | class GoogleCompletionTasks: method request_completion_task (line 392) | async def request_completion_task( method request_structured_completion_task (line 419) | async def request_structured_completion_task( class GoogleMCPTypeConverter (line 430) | class GoogleMCPTypeConverter(ProviderToMCPConverter[types.Content, types... method from_mcp_message_result (line 436) | def from_mcp_message_result(cls, result: MCPMessageResult) -> types.Co... method from_mcp_message_param (line 457) | def from_mcp_message_param(cls, param: MCPMessageParam) -> types.Content: method to_mcp_message_result (line 472) | def to_mcp_message_result(cls, result: types.Content) -> MCPMessageRes... method to_mcp_message_param (line 490) | def to_mcp_message_param(cls, param: types.Content) -> MCPMessageParam: method from_mcp_tool_result (line 526) | def from_mcp_tool_result( function transform_mcp_tool_schema (line 548) | def transform_mcp_tool_schema(schema: dict) -> dict: function mcp_content_to_google_parts (line 688) | def mcp_content_to_google_parts( function google_parts_to_mcp_content (line 718) | def google_parts_to_mcp_content( function image_url_to_mime_and_base64 (line 762) | def image_url_to_mime_and_base64(url: str) -> tuple[str, str]: FILE: src/mcp_agent/workflows/llm/augmented_llm_lm_studio.py class LMStudioAugmentedLLM (line 7) | class LMStudioAugmentedLLM(OpenAIAugmentedLLM): method __init__ (line 15) | def __init__(self, *args, **kwargs): method select_model (line 21) | async def select_model( method generate_structured (line 39) | async def generate_structured( method get_provider_config (line 72) | def get_provider_config(cls, context): FILE: src/mcp_agent/workflows/llm/augmented_llm_ollama.py class OllamaAugmentedLLM (line 17) | class OllamaAugmentedLLM(OpenAIAugmentedLLM): method __init__ (line 24) | def __init__(self, *args, **kwargs): method get_provider_config (line 37) | def get_provider_config(cls, context): method generate_structured (line 41) | async def generate_structured( class OllamaCompletionTasks (line 87) | class OllamaCompletionTasks: method request_structured_completion_task (line 90) | async def request_structured_completion_task( FILE: src/mcp_agent/workflows/llm/augmented_llm_openai.py class RequestCompletionRequest (line 85) | class RequestCompletionRequest(BaseModel): class RequestStructuredCompletionRequest (line 90) | class RequestStructuredCompletionRequest(BaseModel): function _execute_openai_request (line 100) | async def _execute_openai_request( class OpenAIAugmentedLLM (line 109) | class OpenAIAugmentedLLM( method __init__ (line 118) | def __init__(self, *args, **kwargs): method get_provider_config (line 164) | def get_provider_config(cls, context): method convert_message_to_message_param (line 168) | def convert_message_to_message_param( method generate (line 186) | async def generate( method generate_str (line 425) | async def generate_str( method generate_structured (line 465) | async def generate_structured( method pre_tool_call (line 597) | async def pre_tool_call(self, tool_call_id: str | None, request: CallT... method post_tool_call (line 600) | async def post_tool_call( method execute_tool_call (line 605) | async def execute_tool_call( method message_param_str (line 656) | def message_param_str(self, message: ChatCompletionMessageParam) -> str: method message_str (line 675) | def message_str( method _annotate_span_for_generation_message (line 688) | def _annotate_span_for_generation_message( method _extract_message_param_attributes_for_tracing (line 707) | def _extract_message_param_attributes_for_tracing( method _annotate_span_for_completion_request (line 715) | def _annotate_span_for_completion_request( method _annotate_span_for_completion_response (line 846) | def _annotate_span_for_completion_response( method extract_response_message_attributes_for_tracing (line 869) | def extract_response_message_attributes_for_tracing( method _extract_chat_completion_attributes_for_tracing (line 911) | def _extract_chat_completion_attributes_for_tracing( class OpenAICompletionTasks (line 958) | class OpenAICompletionTasks: method request_completion_task (line 962) | async def request_completion_task( method request_structured_completion_task (line 986) | async def request_structured_completion_task( class MCPOpenAITypeConverter (line 1047) | class MCPOpenAITypeConverter( method from_mcp_message_result (line 1055) | def from_mcp_message_result(cls, result: MCPMessageResult) -> ChatComp... method to_mcp_message_result (line 1071) | def to_mcp_message_result(cls, result: ChatCompletionMessage) -> MCPMe... method from_mcp_message_param (line 1083) | def from_mcp_message_param( method to_mcp_message_param (line 1107) | def to_mcp_message_param(cls, param: ChatCompletionMessageParam) -> MC... function mcp_content_to_openai_content_part (line 1156) | def mcp_content_to_openai_content_part( function openai_content_to_mcp_content (line 1192) | def openai_content_to_mcp_content( FILE: src/mcp_agent/workflows/llm/llm_selector.py class ModelBenchmarks (line 18) | class ModelBenchmarks(BaseModel): class ModelLatency (line 37) | class ModelLatency(BaseModel): class ModelCost (line 53) | class ModelCost(BaseModel): class ModelMetrics (line 74) | class ModelMetrics(BaseModel): class ModelInfo (line 84) | class ModelInfo(BaseModel): class ModelSelector (line 98) | class ModelSelector(ContextDependent): method __init__ (line 111) | def __init__( method select_best_model (line 136) | def select_best_model( method _models_by_provider (line 286) | def _models_by_provider( method _check_model_hint (line 300) | def _check_model_hint(self, model: ModelInfo, hint: ModelHint) -> bool: method _calculate_total_cost (line 331) | def _calculate_total_cost(self, model: ModelInfo, io_ratio: float = 3.... method _calculate_cost_score (line 356) | def _calculate_cost_score( method _calculate_intelligence_score (line 373) | def _calculate_intelligence_score( method _calculate_speed_score (line 401) | def _calculate_speed_score( method _calculate_max_scores (line 422) | def _calculate_max_scores(self, models: List[ModelInfo]) -> Dict[str, ... function load_default_models (line 455) | def load_default_models() -> List[ModelInfo]: function _fuzzy_match (line 483) | def _fuzzy_match(str1: str, str2: str, threshold: float = 0.8) -> bool: FILE: src/mcp_agent/workflows/llm/multipart_converter_anthropic.py class AnthropicConverter (line 50) | class AnthropicConverter: method _is_supported_image_type (line 54) | def _is_supported_image_type(mime_type: str) -> bool: method convert_to_anthropic (line 66) | def convert_to_anthropic(multipart_msg: PromptMessageMultipart) -> Mes... method convert_prompt_message_to_anthropic (line 103) | def convert_prompt_message_to_anthropic(message: PromptMessage) -> Mes... method _convert_content_items (line 120) | def _convert_content_items( method _convert_embedded_resource (line 189) | def _convert_embedded_resource( method _determine_mime_type (line 307) | def _determine_mime_type( method _convert_svg_resource (line 331) | def _convert_svg_resource(resource_content) -> TextBlockParam: method _create_fallback_text (line 347) | def _create_fallback_text( method convert_tool_result_to_anthropic (line 367) | def convert_tool_result_to_anthropic( method create_tool_results_message (line 412) | def create_tool_results_message( method convert_mixed_messages_to_anthropic (line 485) | def convert_mixed_messages_to_anthropic( FILE: src/mcp_agent/workflows/llm/multipart_converter_azure.py class AzureConverter (line 47) | class AzureConverter: method _is_supported_image_type (line 51) | def _is_supported_image_type(mime_type: str) -> bool: method convert_to_azure (line 55) | def convert_to_azure( method convert_prompt_message_to_azure (line 95) | def convert_prompt_message_to_azure( method _convert_content_items (line 111) | def _convert_content_items( method _convert_embedded_resource (line 155) | def _convert_embedded_resource( method _determine_mime_type (line 223) | def _determine_mime_type( method _convert_svg_resource (line 235) | def _convert_svg_resource(resource_content) -> TextContentItem: method _create_fallback_text (line 242) | def _create_fallback_text( method convert_tool_result_to_azure (line 251) | def convert_tool_result_to_azure( method _extract_text_from_azure_content_blocks (line 288) | def _extract_text_from_azure_content_blocks( method create_tool_results_message (line 311) | def create_tool_results_message( method convert_mixed_messages_to_azure (line 332) | def convert_mixed_messages_to_azure( FILE: src/mcp_agent/workflows/llm/multipart_converter_bedrock.py class BedrockConverter (line 47) | class BedrockConverter: method _is_supported_image_type (line 51) | def _is_supported_image_type(mime_type: str) -> bool: method convert_to_bedrock (line 56) | def convert_to_bedrock( method convert_prompt_message_to_bedrock (line 71) | def convert_prompt_message_to_bedrock( method _convert_content_items (line 81) | def _convert_content_items( method _convert_embedded_resource (line 123) | def _convert_embedded_resource( method _determine_mime_type (line 193) | def _determine_mime_type( method _convert_svg_resource (line 208) | def _convert_svg_resource(resource_content) -> ContentBlockUnionTypeDef: method _create_fallback_text (line 218) | def _create_fallback_text( method convert_tool_result_to_bedrock (line 230) | def convert_tool_result_to_bedrock( method create_tool_results_message (line 248) | def create_tool_results_message( method convert_mixed_messages_to_bedrock (line 271) | def convert_mixed_messages_to_bedrock( FILE: src/mcp_agent/workflows/llm/multipart_converter_google.py class GoogleConverter (line 39) | class GoogleConverter: method _is_supported_image_type (line 43) | def _is_supported_image_type(mime_type: str) -> bool: method convert_to_google (line 55) | def convert_to_google(multipart_msg: PromptMessageMultipart) -> types.... method convert_prompt_message_to_google (line 76) | def convert_prompt_message_to_google(message: PromptMessage) -> types.... method _convert_content_items (line 90) | def _convert_content_items( method _convert_embedded_resource (line 142) | def _convert_embedded_resource( method _determine_mime_type (line 219) | def _determine_mime_type( method _convert_svg_resource (line 243) | def _convert_svg_resource(resource_content) -> types.Part: method _create_fallback_text (line 259) | def _create_fallback_text( method convert_tool_result_to_google (line 279) | def convert_tool_result_to_google( method create_tool_results_message (line 319) | def create_tool_results_message( method convert_mixed_messages_to_google (line 340) | def convert_mixed_messages_to_google( FILE: src/mcp_agent/workflows/llm/multipart_converter_openai.py class OpenAIConverter (line 37) | class OpenAIConverter: method _is_supported_image_type (line 41) | def _is_supported_image_type(mime_type: str) -> bool: method convert_to_openai (line 58) | def convert_to_openai( method _concatenate_text_blocks (line 123) | def _concatenate_text_blocks(blocks: List[ContentBlock]) -> List[Conte... method convert_prompt_message_to_openai (line 161) | def convert_prompt_message_to_openai( method _convert_image_content (line 181) | def _convert_image_content(content: ImageContent) -> ContentBlock: method _determine_mime_type (line 204) | def _determine_mime_type(resource_content) -> str: method _convert_embedded_resource (line 227) | def _convert_embedded_resource( method _extract_text_from_content_blocks (line 321) | def _extract_text_from_content_blocks( method convert_tool_result_to_openai (line 352) | def convert_tool_result_to_openai( method convert_function_results_to_openai (line 432) | def convert_function_results_to_openai( method convert_mixed_messages_to_openai (line 467) | def convert_mixed_messages_to_openai( FILE: src/mcp_agent/workflows/llm/streaming_events.py class StreamEventType (line 14) | class StreamEventType(str, Enum): class StreamEvent (line 53) | class StreamEvent(BaseModel): class Config (line 121) | class Config: FILE: src/mcp_agent/workflows/orchestrator/orchestrator.py class GetFullPlanPrompt (line 50) | class GetFullPlanPrompt(Protocol): method __call__ (line 54) | def __call__( class GetIterativePlanPrompt (line 61) | class GetIterativePlanPrompt(Protocol): method __call__ (line 65) | def __call__( class GetTaskPrompt (line 72) | class GetTaskPrompt(Protocol): method __call__ (line 76) | def __call__(self, objective: str, task: str, context: str) -> str: class GetSynthesizePlanPrompt (line 81) | class GetSynthesizePlanPrompt(Protocol): method __call__ (line 85) | def __call__(self, plan_result: PlanResult) -> str: class OrchestratorOverrides (line 91) | class OrchestratorOverrides: class Orchestrator (line 116) | class Orchestrator(AugmentedLLM[MessageParamT, MessageT]): method __init__ (line 133) | def __init__( method generate (line 226) | async def generate( method generate_str (line 289) | async def generate_str( method generate_structured (line 317) | async def generate_structured( method execute (line 362) | async def execute( method _execute_step (line 514) | async def _execute_step( method _get_full_plan (line 609) | async def _get_full_plan( method _get_next_step (line 646) | async def _get_next_step( method _format_server_info (line 680) | def _format_server_info(self, server_name: str) -> str: method _format_agent_info (line 693) | def _format_agent_info(self, agent_name: str) -> str: FILE: src/mcp_agent/workflows/orchestrator/orchestrator_models.py class Task (line 12) | class Task(BaseModel): class ServerTask (line 18) | class ServerTask(Task): class AgentTask (line 27) | class AgentTask(Task): class Step (line 35) | class Step(BaseModel): class Plan (line 46) | class Plan(BaseModel): class TaskWithResult (line 58) | class TaskWithResult(Task): class StepResult (line 68) | class StepResult(BaseModel): method add_task_result (line 79) | def add_task_result(self, task_result: TaskWithResult): class PlanResult (line 86) | class PlanResult(BaseModel): method add_step_result (line 104) | def add_step_result(self, step_result: StepResult): class NextStep (line 111) | class NextStep(Step): function format_task_result (line 119) | def format_task_result(task_result: TaskWithResult) -> str: function format_step_result (line 126) | def format_step_result(step_result: StepResult) -> str: function format_plan_result (line 138) | def format_plan_result(plan_result: PlanResult) -> str: FILE: src/mcp_agent/workflows/parallel/fan_in.py class FanIn (line 31) | class FanIn(ContextDependent): method __init__ (line 42) | def __init__( method generate (line 63) | async def generate( method generate_str (line 109) | async def generate_str( method generate_structured (line 146) | async def generate_structured( method aggregate_messages (line 200) | async def aggregate_messages( method aggregate_agent_messages (line 283) | async def aggregate_agent_messages( method aggregate_agent_message_strings (line 321) | async def aggregate_agent_message_strings(self, messages: Dict[str, st... method aggregate_message_lists (line 344) | async def aggregate_message_lists( method aggregate_message_strings (line 380) | async def aggregate_message_strings(self, messages: List[str]) -> str: method _annotate_span_for_generation_message (line 405) | def _annotate_span_for_generation_message( FILE: src/mcp_agent/workflows/parallel/fan_out.py class FanOut (line 24) | class FanOut(ContextDependent): method __init__ (line 32) | def __init__( method generate (line 61) | async def generate( method generate_str (line 117) | async def generate_str( method generate_structured (line 172) | async def generate_structured( method _annotate_span_for_generation_message (line 227) | def _annotate_span_for_generation_message( FILE: src/mcp_agent/workflows/parallel/parallel_llm.py class ParallelLLM (line 25) | class ParallelLLM(AugmentedLLM[MessageParamT, MessageT]): method __init__ (line 54) | def __init__( method generate (line 103) | async def generate( method generate_str (line 170) | async def generate_str( method generate_structured (line 220) | async def generate_structured( FILE: src/mcp_agent/workflows/router/router_base.py class RouterResult (line 20) | class RouterResult(BaseModel, Generic[ResultT]): class RouterCategory (line 35) | class RouterCategory(BaseModel): class ServerRouterCategory (line 53) | class ServerRouterCategory(RouterCategory): class AgentRouterCategory (line 59) | class AgentRouterCategory(RouterCategory): class Router (line 65) | class Router(ABC, ContextDependent): method __init__ (line 94) | def __init__( method route (line 129) | async def route( method route_to_server (line 142) | async def route_to_server( method route_to_agent (line 148) | async def route_to_agent( method route_to_function (line 154) | async def route_to_function( method initialize (line 164) | async def initialize(self): method get_server_category (line 194) | def get_server_category(self, server_name: str) -> ServerRouterCategory: method get_agent_category (line 206) | def get_agent_category(self, agent: Agent | AugmentedLLM) -> AgentRout... method get_function_category (line 221) | def get_function_category(self, function: Callable) -> RouterCategory: method format_category (line 230) | def format_category( method _format_tools (line 247) | def _format_tools(self, tools: List[FastTool]) -> str: method _format_server_category (line 259) | def _format_server_category(self, category: ServerRouterCategory) -> str: method _format_agent_category (line 265) | def _format_agent_category(self, category: AgentRouterCategory) -> str: method _format_function_category (line 274) | def _format_function_category(self, category: RouterCategory) -> str: FILE: src/mcp_agent/workflows/router/router_embedding.py class EmbeddingRouterCategory (line 23) | class EmbeddingRouterCategory(RouterCategory): class EmbeddingRouter (line 30) | class EmbeddingRouter(Router): method __init__ (line 52) | def __init__( method create (line 72) | async def create( method initialize (line 94) | async def initialize(self): method route (line 133) | async def route( method route_to_server (line 142) | async def route_to_server( method route_to_agent (line 158) | async def route_to_agent( method route_to_function (line 174) | async def route_to_function( method _route_with_embedding (line 190) | async def _route_with_embedding( method _compute_embedding (line 234) | async def _compute_embedding(self, data: List[str]): FILE: src/mcp_agent/workflows/router/router_embedding_cohere.py class CohereEmbeddingRouter (line 11) | class CohereEmbeddingRouter(EmbeddingRouter): method __init__ (line 18) | def __init__( method create (line 39) | async def create( FILE: src/mcp_agent/workflows/router/router_embedding_openai.py class OpenAIEmbeddingRouter (line 12) | class OpenAIEmbeddingRouter(EmbeddingRouter): method __init__ (line 19) | def __init__( method create (line 40) | async def create( FILE: src/mcp_agent/workflows/router/router_llm.py class LLMRouterResult (line 63) | class LLMRouterResult(RouterResult[ResultT]): class StructuredResponseCategory (line 76) | class StructuredResponseCategory(BaseModel): class StructuredResponse (line 89) | class StructuredResponse(BaseModel): class LLMRouter (line 96) | class LLMRouter(Router, AugmentedLLM[MessageParamT, MessageT]): method __init__ (line 107) | def __init__( method create (line 156) | async def create( method route (line 182) | async def route( method route_to_server (line 196) | async def route_to_server( method route_to_agent (line 218) | async def route_to_agent( method route_to_function (line 240) | async def route_to_function( method generate (line 265) | async def generate( method generate_str (line 290) | async def generate_str( method generate_structured (line 311) | async def generate_structured( method _route_with_llm (line 336) | async def _route_with_llm( method _annotate_span_for_route_request (line 427) | def _annotate_span_for_route_request( method _annotate_span_for_router_result (line 448) | def _annotate_span_for_router_result( method _generate_context (line 471) | def _generate_context( method _normalize_message_to_text (line 500) | def _normalize_message_to_text( method _select_delegate_llm (line 522) | async def _select_delegate_llm( FILE: src/mcp_agent/workflows/router/router_llm_anthropic.py class AnthropicLLMRouter (line 12) | class AnthropicLLMRouter(LLMRouter): method __init__ (line 17) | def __init__( method create (line 45) | async def create( FILE: src/mcp_agent/workflows/router/router_llm_openai.py class OpenAILLMRouter (line 12) | class OpenAILLMRouter(LLMRouter): method __init__ (line 17) | def __init__( method create (line 45) | async def create( FILE: src/mcp_agent/workflows/swarm/swarm.py class AgentResource (line 29) | class AgentResource(EmbeddedResource): class AgentFunctionResultResource (line 39) | class AgentFunctionResultResource(EmbeddedResource): function create_agent_resource (line 50) | def create_agent_resource(agent: "Agent") -> AgentResource: function create_agent_function_result_resource (line 61) | def create_agent_function_result_resource( class SwarmAgent (line 74) | class SwarmAgent(Agent): method __init__ (line 83) | def __init__( method call_tool (line 113) | async def call_tool( class AgentFunctionResult (line 147) | class AgentFunctionResult(BaseModel): function create_transfer_to_agent_tool (line 170) | async def create_transfer_to_agent_tool( function create_agent_function_tool (line 181) | async def create_agent_function_tool(agent_function: "AgentFunctionCalla... class Swarm (line 190) | class Swarm(AugmentedLLM[MessageParamT, MessageT], Generic[MessageParamT... method __init__ (line 198) | def __init__(self, agent: SwarmAgent, context_variables: Dict[str, str... method get_tool (line 218) | async def get_tool(self, tool_name: str) -> Tool | None: method pre_tool_call (line 227) | async def pre_tool_call( method post_tool_call (line 251) | async def post_tool_call( method set_agent (line 279) | async def set_agent( method should_continue (line 304) | def should_continue(self) -> bool: class DoneAgent (line 314) | class DoneAgent(SwarmAgent): method __init__ (line 319) | def __init__(self): method call_tool (line 322) | async def call_tool( FILE: src/mcp_agent/workflows/swarm/swarm_anthropic.py class AnthropicSwarm (line 10) | class AnthropicSwarm(Swarm, AnthropicAugmentedLLM): method generate (line 17) | async def generate(self, message, request_params: RequestParams | None... FILE: src/mcp_agent/workflows/swarm/swarm_openai.py class OpenAISwarm (line 10) | class OpenAISwarm(Swarm, OpenAIAugmentedLLM): method generate (line 16) | async def generate(self, message, request_params: RequestParams | None... FILE: tests/agents/conftest.py function mock_context (line 8) | def mock_context(): function mock_tool (line 21) | def mock_tool(): FILE: tests/agents/test_agent.py class TestAgent (line 15) | class TestAgent: method mock_context (line 19) | def mock_context(self): method basic_agent (line 31) | def basic_agent(self, mock_context): method mock_human_input_callback (line 40) | def mock_human_input_callback(self): method agent_with_human_input (line 51) | def agent_with_human_input(self, mock_context, mock_human_input_callba... method test_function (line 64) | def test_function(self): method agent_with_functions (line 82) | def agent_with_functions(self, mock_context, test_function): method mock_llm_factory (line 92) | def mock_llm_factory(self): method test_initialization_minimal (line 104) | async def test_initialization_minimal(self, mock_context): method test_initialization_with_custom_instruction (line 115) | async def test_initialization_with_custom_instruction(self, mock_conte... method test_initialization_with_server_names (line 125) | async def test_initialization_with_server_names(self, mock_context): method test_initialization_with_functions (line 135) | async def test_initialization_with_functions(self, mock_context, test_... method test_initialization_with_human_input_callback (line 151) | async def test_initialization_with_human_input_callback( method test_initialization_with_context_human_input_handler (line 164) | async def test_initialization_with_context_human_input_handler( method test_initialization_with_global_context (line 188) | async def test_initialization_with_global_context(self, mock_context): method test_initialization_with_explicit_context_overrides_global (line 213) | async def test_initialization_with_explicit_context_overrides_global( method test_attach_llm (line 249) | async def test_attach_llm(self, basic_agent, mock_llm_factory): method test_shutdown (line 267) | async def test_shutdown(self, basic_agent): method test_request_human_input_successful (line 300) | async def test_request_human_input_successful(self, agent_with_human_i... method test_request_human_input_no_callback (line 320) | async def test_request_human_input_no_callback(self, basic_agent): method test_request_human_input_timeout (line 330) | async def test_request_human_input_timeout(self, agent_with_human_input): method test_request_human_input_callback_error (line 347) | async def test_request_human_input_callback_error(self, agent_with_hum... method test_list_tools_parent_call (line 379) | async def test_list_tools_parent_call(self, basic_agent): method test_list_tools_with_functions (line 408) | async def test_list_tools_with_functions(self, agent_with_functions, t... method test_list_tools_with_human_input (line 440) | async def test_list_tools_with_human_input(self, agent_with_human_input): method test_list_tools_without_human_input (line 477) | async def test_list_tools_without_human_input(self, basic_agent): method test_call_tool_parent (line 511) | async def test_call_tool_parent(self, basic_agent): method test_call_tool_function (line 551) | async def test_call_tool_function(self, agent_with_functions, test_fun... method test_call_tool_human_input (line 582) | async def test_call_tool_human_input(self, agent_with_human_input): method test_call_tool_human_input_timeout (line 621) | async def test_call_tool_human_input_timeout(self, agent_with_human_in... method test_call_tool_human_input_error (line 662) | async def test_call_tool_human_input_error(self, agent_with_human_input): method test_call_tool_with_custom_callable_instruction (line 704) | async def test_call_tool_with_custom_callable_instruction(self, mock_c... FILE: tests/agents/test_agent_tasks_concurrency.py class FakeAggregator (line 15) | class FakeAggregator: method __init__ (line 16) | def __init__(self, server_names, connection_persistence, context, name): method set_block (line 35) | def set_block(self, block: bool): method initialize (line 44) | async def initialize(self, force: bool = False): method list_tools (line 48) | async def list_tools(self, server_name: str | None = None) -> ListTool... method close (line 54) | async def close(self): function test_lazy_reinitialize_missing_aggregator (line 59) | async def test_lazy_reinitialize_missing_aggregator(monkeypatch): function test_shutdown_deferred_until_inflight_complete (line 93) | async def test_shutdown_deferred_until_inflight_complete(monkeypatch): FILE: tests/agents/test_agent_tasks_isolation.py function test_agent_tasks_instance_scoped_state_isolation (line 8) | async def test_agent_tasks_instance_scoped_state_isolation(): FILE: tests/app/test_dotenv_loading.py function test_apply_environment_bindings_loads_dotenv_files (line 7) | def test_apply_environment_bindings_loads_dotenv_files(tmp_path, monkeyp... function test_local_env_takes_precedence_over_cloud (line 21) | def test_local_env_takes_precedence_over_cloud(monkeypatch, tmp_path): function test_config_fallback_overrides_existing_env (line 38) | def test_config_fallback_overrides_existing_env(monkeypatch): FILE: tests/cli/cloud/test_env_pull_helpers.py function test_format_env_value_quotes_special_characters (line 12) | def test_format_env_value_quotes_special_characters(): function test_write_env_file (line 19) | def test_write_env_file(tmp_path: Path): function test_load_env_file_values (line 28) | def test_load_env_file_values(tmp_path: Path): function test_load_env_file_values_errors_for_missing_entries (line 35) | def test_load_env_file_values_errors_for_missing_entries(tmp_path: Path): FILE: tests/cli/cloud/test_materialize.py class FakeSecretsClient (line 13) | class FakeSecretsClient: method __init__ (line 14) | def __init__(self): method create_secret (line 18) | async def create_secret(self, name, secret_type, value): method set_secret_value (line 23) | async def set_secret_value(self, handle, value): function config_file (line 29) | def config_file(tmp_path: Path) -> Path: function test_materialize_creates_deployed_files (line 35) | def test_materialize_creates_deployed_files( function test_materialize_uses_fallback_value (line 60) | def test_materialize_uses_fallback_value(tmp_path: Path): function test_materialize_reuses_existing_handles (line 84) | def test_materialize_reuses_existing_handles( function test_materialize_recovers_from_deleted_handle (line 115) | def test_materialize_recovers_from_deleted_handle( function test_materialize_skips_invalid_config (line 156) | def test_materialize_skips_invalid_config(tmp_path: Path): function test_materialize_prefers_app_config (line 177) | def test_materialize_prefers_app_config( function test_deployed_config_redacts_secrets (line 214) | def test_deployed_config_redacts_secrets(tmp_path: Path): function test_deployed_config_omits_secret_only_nodes (line 252) | def test_deployed_config_omits_secret_only_nodes(tmp_path: Path): function test_deployed_config_omits_secret_only_nested_env (line 280) | def test_deployed_config_omits_secret_only_nested_env(tmp_path: Path): function test_deployed_config_preserves_env_declarations (line 344) | def test_deployed_config_preserves_env_declarations( function test_deployed_config_handles_anyhttpurl_fields (line 381) | def test_deployed_config_handles_anyhttpurl_fields(tmp_path: Path): function test_materialize_uses_app_config_when_available (line 415) | def test_materialize_uses_app_config_when_available(tmp_path: Path, monk... FILE: tests/cli/commands/test_app_delete.py function mock_mcp_client (line 18) | def mock_mcp_client(): function patched_delete_app (line 34) | def patched_delete_app(mock_mcp_client): function test_delete_app (line 62) | def test_delete_app(patched_delete_app, mock_mcp_client): function test_delete_app_config (line 81) | def test_delete_app_config(patched_delete_app, mock_mcp_client): function test_missing_app_id (line 96) | def test_missing_app_id(patched_delete_app): function test_missing_api_key (line 112) | def test_missing_api_key(patched_delete_app): function test_invalid_app_id (line 130) | def test_invalid_app_id(patched_delete_app): FILE: tests/cli/commands/test_app_status.py function mock_mcp_client (line 20) | def mock_mcp_client(): function patched_status_app (line 33) | def patched_status_app(mock_mcp_client): function test_status_app (line 61) | def test_status_app(patched_status_app, mock_mcp_client): function test_status_app_config (line 95) | def test_status_app_config(patched_status_app, mock_mcp_client): function test_missing_app_id (line 126) | def test_missing_app_id(patched_status_app): function test_missing_api_key (line 142) | def test_missing_api_key(patched_status_app): function test_invalid_app_id (line 161) | def test_invalid_app_id(patched_status_app): FILE: tests/cli/commands/test_app_workflows.py function mock_mcp_client (line 20) | def mock_mcp_client(): function patched_workflows_app (line 33) | def patched_workflows_app(mock_mcp_client): function test_status_app (line 61) | def test_status_app(patched_workflows_app, mock_mcp_client): function test_status_app_config (line 95) | def test_status_app_config(patched_workflows_app, mock_mcp_client): function test_missing_app_id (line 126) | def test_missing_app_id(patched_workflows_app): function test_missing_api_key (line 142) | def test_missing_api_key(patched_workflows_app): function test_invalid_app_id (line 161) | def test_invalid_app_id(patched_workflows_app): FILE: tests/cli/commands/test_apps_update.py function runner (line 14) | def runner() -> CliRunner: function _make_app (line 18) | def _make_app(unauthenticated: bool = False) -> MCPApp: function test_apps_update_requires_fields (line 35) | def test_apps_update_requires_fields(runner: CliRunner): function test_apps_update_sets_auth_flag (line 51) | def test_apps_update_sets_auth_flag(runner: CliRunner): function test_apps_update_accepts_configuration_identifier (line 88) | def test_apps_update_accepts_configuration_identifier(runner: CliRunner): FILE: tests/cli/commands/test_configure.py function mock_mcp_client (line 18) | def mock_mcp_client(): function patched_configure_app (line 39) | def patched_configure_app(mock_mcp_client): function test_no_required_secrets (line 86) | def test_no_required_secrets(patched_configure_app, mock_mcp_client): function test_with_required_secrets_from_file (line 111) | def test_with_required_secrets_from_file( function test_missing_app_id (line 157) | def test_missing_app_id(patched_configure_app): function test_invalid_file_types (line 181) | def test_invalid_file_types(patched_configure_app, tmp_path): function test_both_input_output_files (line 210) | def test_both_input_output_files(patched_configure_app, tmp_path): function test_missing_api_key (line 228) | def test_missing_api_key(patched_configure_app): function test_list_config_params_error (line 251) | def test_list_config_params_error(patched_configure_app, mock_mcp_client): function test_no_secrets_with_secrets_file (line 269) | def test_no_secrets_with_secrets_file(patched_configure_app, mock_mcp_cl... function test_output_secrets_file_creation (line 291) | def test_output_secrets_file_creation(tmp_path): function _create_test_secrets_file (line 402) | def _create_test_secrets_file(file_path, processed_secrets): FILE: tests/cli/commands/test_deploy_command.py function runner (line 23) | def runner(): function temp_config_dir (line 29) | def temp_config_dir(): function test_deploy_command_help (line 58) | def test_deploy_command_help(runner): function test_deploy_command_basic (line 82) | def test_deploy_command_basic(runner, temp_config_dir): function test_deploy_no_auth_flag_sets_unauthenticated_access (line 148) | def test_deploy_no_auth_flag_sets_unauthenticated_access(runner, temp_co... function test_deploy_existing_app_updates_auth_setting (line 227) | def test_deploy_existing_app_updates_auth_setting(runner, temp_config_dir): function test_deploy_defaults_to_configured_app_name (line 283) | def test_deploy_defaults_to_configured_app_name(runner, temp_config_dir): function test_deploy_defaults_to_directory_name_when_config_missing_name (line 355) | def test_deploy_defaults_to_directory_name_when_config_missing_name( function test_deploy_uses_config_description_when_not_provided (line 430) | def test_deploy_uses_config_description_when_not_provided(runner, temp_c... function test_deploy_uses_defaults_when_config_cannot_be_loaded (line 501) | def test_deploy_uses_defaults_when_config_cannot_be_loaded(runner, temp_... function test_deploy_auto_detects_mcpacignore (line 571) | def test_deploy_auto_detects_mcpacignore(runner, temp_config_dir): function test_deploy_uses_cwd_mcpacignore_when_config_dir_lacks_one (line 636) | def test_deploy_uses_cwd_mcpacignore_when_config_dir_lacks_one( function test_deploy_no_ignore_when_file_missing (line 711) | def test_deploy_no_ignore_when_file_missing(runner, temp_config_dir): function test_deploy_ignore_file_custom (line 774) | def test_deploy_ignore_file_custom(runner, temp_config_dir): function test_deploy_ignore_file_overrides_default (line 840) | def test_deploy_ignore_file_overrides_default(runner, temp_config_dir): function test_deploy_with_secrets_file (line 908) | def test_deploy_with_secrets_file(): FILE: tests/cli/commands/test_install.py function mock_app_with_auth (line 19) | def mock_app_with_auth(): function mock_app_without_auth (line 32) | def mock_app_without_auth(): function test_build_server_config (line 44) | def test_build_server_config(): function test_merge_mcp_json_empty (line 80) | def test_merge_mcp_json_empty(): function test_merge_mcp_json_claude_format (line 104) | def test_merge_mcp_json_claude_format(): function test_merge_mcp_json_vscode_format (line 122) | def test_merge_mcp_json_vscode_format(): function test_merge_mcp_json_existing (line 146) | def test_merge_mcp_json_existing(): function test_merge_mcp_json_overwrite (line 184) | def test_merge_mcp_json_overwrite(): function test_install_missing_api_key (line 218) | def test_install_missing_api_key(tmp_path): function test_install_invalid_client (line 239) | def test_install_invalid_client(): function test_install_invalid_url (line 261) | def test_install_invalid_url(): function test_install_vscode (line 283) | def test_install_vscode(tmp_path): function test_install_cursor_with_existing_config (line 322) | def test_install_cursor_with_existing_config(tmp_path): function test_install_duplicate_without_force (line 364) | def test_install_duplicate_without_force(tmp_path): function test_install_duplicate_with_force (line 403) | def test_install_duplicate_with_force(tmp_path): function test_install_chatgpt_requires_unauth_access (line 444) | def test_install_chatgpt_requires_unauth_access(mock_app_with_auth): function test_install_chatgpt_with_unauth_server (line 477) | def test_install_chatgpt_with_unauth_server(mock_app_without_auth): function test_install_dry_run (line 505) | def test_install_dry_run(tmp_path, capsys): function test_install_sse_transport_detection (line 532) | def test_install_sse_transport_detection(tmp_path): function test_install_http_transport_detection (line 561) | def test_install_http_transport_detection(tmp_path): FILE: tests/cli/commands/test_wrangler_wrapper.py function valid_project_dir (line 29) | def valid_project_dir(): function project_with_requirements (line 52) | def project_with_requirements(): function project_with_poetry (line 73) | def project_with_poetry(): function project_with_uv (line 102) | def project_with_uv(): function complex_project_structure (line 128) | def complex_project_structure(): function test_validate_project_success (line 184) | def test_validate_project_success(valid_project_dir): function test_validate_project_missing_directory (line 190) | def test_validate_project_missing_directory(): function test_validate_project_missing_main_py (line 196) | def test_validate_project_missing_main_py(): function test_validate_project_with_requirements_txt (line 205) | def test_validate_project_with_requirements_txt(project_with_requirements): function test_validate_project_with_poetry (line 211) | def test_validate_project_with_poetry(project_with_poetry): function test_validate_project_with_uv (line 217) | def test_validate_project_with_uv(project_with_uv): function test_validate_project_multiple_dependency_managers (line 223) | def test_validate_project_multiple_dependency_managers(): function test_validate_project_uv_without_pyproject (line 246) | def test_validate_project_uv_without_pyproject(): function test_validate_project_poetry_without_pyproject (line 268) | def test_validate_project_poetry_without_pyproject(): function test_validate_project_no_dependency_files (line 290) | def test_validate_project_no_dependency_files(): function test_validate_entrypoint_success (line 309) | def test_validate_entrypoint_success(valid_project_dir): function test_validate_entrypoint_missing_file (line 316) | def test_validate_entrypoint_missing_file(): function test_validate_entrypoint_no_mcp_app (line 322) | def test_validate_entrypoint_no_mcp_app(): function test_validate_entrypoint_with_main_block_warning (line 341) | def test_validate_entrypoint_with_main_block_warning(capsys): function test_validate_entrypoint_multiline_mcp_app (line 369) | def test_validate_entrypoint_multiline_mcp_app(): function test_validate_entrypoint_different_variable_names (line 389) | def test_validate_entrypoint_different_variable_names(): function test_wrangler_deploy_file_copying (line 406) | def test_wrangler_deploy_file_copying(complex_project_structure): function test_wrangler_deploy_file_content_preservation (line 453) | def test_wrangler_deploy_file_content_preservation(complex_project_struc... function test_wrangler_deploy_temp_directory_isolation (line 475) | def test_wrangler_deploy_temp_directory_isolation(complex_project_struct... function test_wrangler_deploy_cleanup_on_success (line 515) | def test_wrangler_deploy_cleanup_on_success(complex_project_structure): function test_wrangler_deploy_cleanup_on_failure (line 538) | def test_wrangler_deploy_cleanup_on_failure(complex_project_structure): function test_wrangler_deploy_venv_exclusion (line 562) | def test_wrangler_deploy_venv_exclusion(complex_project_structure): function test_wrangler_deploy_nested_directory_creation (line 590) | def test_wrangler_deploy_nested_directory_creation(complex_project_struc... function test_wrangler_deploy_file_permissions_preserved (line 627) | def test_wrangler_deploy_file_permissions_preserved(complex_project_stru... function test_wrangler_deploy_complex_file_extensions (line 649) | def test_wrangler_deploy_complex_file_extensions(): function test_needs_requirements_modification_no_file (line 720) | def test_needs_requirements_modification_no_file(): function test_needs_requirements_modification_no_relative_imports (line 727) | def test_needs_requirements_modification_no_relative_imports(): function test_needs_requirements_modification_with_relative_imports (line 739) | def test_needs_requirements_modification_with_relative_imports(): function test_needs_requirements_modification_mixed_content (line 762) | def test_needs_requirements_modification_mixed_content(): function test_modify_requirements_txt_relative_import (line 778) | def test_modify_requirements_txt_relative_import(): function test_modify_requirements_txt_preserves_formatting (line 797) | def test_modify_requirements_txt_preserves_formatting(): function project_with_relative_mcp_agent (line 829) | def project_with_relative_mcp_agent(): function test_wrangler_deploy_requirements_txt_modification_in_temp_dir (line 850) | def test_wrangler_deploy_requirements_txt_modification_in_temp_dir( function test_wrangler_deploy_requirements_txt_no_modification_needed (line 891) | def test_wrangler_deploy_requirements_txt_no_modification_needed( function test_wrangler_deploy_no_requirements_txt (line 928) | def test_wrangler_deploy_no_requirements_txt(): function test_wrangler_deploy_secrets_file_exclusion (line 955) | def test_wrangler_deploy_secrets_file_exclusion(): function test_should_ignore_by_gitignore (line 1056) | def test_should_ignore_by_gitignore(): function test_create_pathspec_from_gitignore (line 1095) | def test_create_pathspec_from_gitignore(tmp_path): function test_create_pathspec_from_gitignore_missing_file (line 1113) | def test_create_pathspec_from_gitignore_missing_file(tmp_path): function test_should_ignore_by_gitignore_without_spec (line 1124) | def test_should_ignore_by_gitignore_without_spec(tmp_path): function test_should_ignore_by_gitignore_matches_directories (line 1141) | def test_should_ignore_by_gitignore_matches_directories(tmp_path): function test_should_ignore_by_gitignore_handles_nested_paths (line 1157) | def test_should_ignore_by_gitignore_handles_nested_paths(tmp_path): function test_wrangler_deploy_with_ignore_file (line 1180) | def test_wrangler_deploy_with_ignore_file(): function test_wrangler_deploy_warns_when_ignore_file_missing (line 1242) | def test_wrangler_deploy_warns_when_ignore_file_missing(): FILE: tests/cli/conftest.py function pytest_configure (line 14) | def pytest_configure(config): function sample_config (line 23) | def sample_config() -> Dict[str, Any]: function sample_secrets_config (line 36) | def sample_secrets_config() -> Dict[str, Any]: function sample_config_dir (line 50) | def sample_config_dir(sample_config: Dict[str, Any]) -> str: function sample_secrets_config_dir (line 67) | def sample_secrets_config_dir( FILE: tests/cli/fixtures/api_test_utils.py class APIMode (line 13) | class APIMode(Enum): class APITestManager (line 21) | class APITestManager: method __init__ (line 31) | def __init__(self, mode: APIMode = APIMode.AUTO, force_check: bool = F... method setup (line 44) | def setup(self) -> Tuple[str, str]: method _verify_api_connection (line 208) | def _verify_api_connection(self, api_url: str, api_key: str) -> bool: function get_api_manager (line 238) | def get_api_manager( function setup_api_for_testing (line 253) | def setup_api_for_testing( FILE: tests/cli/fixtures/mock_secrets_client.py class MockSecretsClient (line 9) | class MockSecretsClient: method __init__ (line 12) | def __init__( method create_secret (line 26) | async def create_secret( method get_secret_value (line 65) | async def get_secret_value(self, handle: str) -> str: method set_secret_value (line 86) | async def set_secret_value(self, handle: str, value: str) -> bool: method list_secrets (line 108) | async def list_secrets( method delete_secret (line 128) | async def delete_secret(self, handle: str) -> str: FILE: tests/cli/secrets/test_api_client.py function mock_httpx_client (line 12) | def mock_httpx_client(): function api_client (line 34) | def api_client(): function test_create_developer_secret (line 40) | async def test_create_developer_secret(api_client, mock_httpx_client): function test_create_user_secret (line 70) | async def test_create_user_secret(api_client, mock_httpx_client): function test_create_secret_without_value (line 96) | async def test_create_secret_without_value(api_client): function test_get_secret_value (line 118) | async def test_get_secret_value(api_client, mock_httpx_client): function test_set_secret_value (line 147) | async def test_set_secret_value(api_client, mock_httpx_client): function test_list_secrets (line 173) | async def test_list_secrets(api_client, mock_httpx_client): function test_list_secrets_with_filter (line 213) | async def test_list_secrets_with_filter(api_client, mock_httpx_client): function test_delete_secret (line 227) | async def test_delete_secret(api_client, mock_httpx_client): function test_invalid_handle_format (line 250) | async def test_invalid_handle_format(api_client): function test_api_connectivity_failure (line 274) | async def test_api_connectivity_failure(api_client): function test_http_error_handling (line 290) | async def test_http_error_handling(api_client): FILE: tests/cli/secrets/test_api_client_deploy.py function mock_httpx_client (line 20) | def mock_httpx_client(): function api_client (line 41) | def api_client(): function test_create_developer_secret (line 50) | async def test_create_developer_secret(api_client, mock_httpx_client): function test_create_secret_sends_correct_type (line 80) | async def test_create_secret_sends_correct_type(api_client, mock_httpx_c... function test_create_secret_without_value (line 97) | async def test_create_secret_without_value(api_client): function test_api_connectivity_failure (line 124) | async def test_api_connectivity_failure(api_client): function test_http_error_handling (line 140) | async def test_http_error_handling(api_client): function test_deploy_phase_api_usage (line 167) | async def test_deploy_phase_api_usage(api_client, mock_httpx_client): FILE: tests/cli/secrets/test_api_client_type.py function mock_httpx_client (line 11) | def mock_httpx_client(): function test_create_secret_sends_correct_type_for_developer_secret (line 30) | async def test_create_secret_sends_correct_type_for_developer_secret(moc... function test_create_secret_sends_correct_type_for_user_secret (line 58) | async def test_create_secret_sends_correct_type_for_user_secret(mock_htt... FILE: tests/cli/secrets/test_resolver.py function mock_client (line 12) | def mock_client(): function resolver (line 18) | def resolver(mock_client): function test_resolve_empty_dict (line 24) | async def test_resolve_empty_dict(resolver): function test_resolve_dict_without_secrets (line 33) | async def test_resolve_dict_without_secrets(resolver): function test_resolve_single_secret (line 52) | async def test_resolve_single_secret(resolver, mock_client): function test_resolve_nested_secrets (line 66) | async def test_resolve_nested_secrets(resolver, mock_client): function test_resolve_secrets_in_list (line 91) | async def test_resolve_secrets_in_list(resolver, mock_client): function test_resolve_none_values (line 116) | async def test_resolve_none_values(resolver): function test_resolve_mixed_types (line 130) | async def test_resolve_mixed_types(resolver, mock_client): function test_resolve_no_api_key_raises_error (line 160) | async def test_resolve_no_api_key_raises_error(): function test_resolve_authentication_error (line 174) | async def test_resolve_authentication_error(resolver, mock_client): function test_resolve_missing_secret_raises_error (line 194) | async def test_resolve_missing_secret_raises_error(resolver, mock_client): function test_resolve_deeply_nested_structure (line 206) | async def test_resolve_deeply_nested_structure(resolver, mock_client): function test_resolve_empty_list (line 235) | async def test_resolve_empty_list(resolver): function test_resolve_preserves_structure (line 245) | async def test_resolve_preserves_structure(resolver, mock_client): function test_resolve_handles_special_characters_in_values (line 281) | async def test_resolve_handles_special_characters_in_values(resolver, mo... function test_resolve_handles_unicode_values (line 296) | async def test_resolve_handles_unicode_values(resolver, mock_client): function test_load_config_nonexistent_file (line 313) | def test_load_config_nonexistent_file(resolver): function test_load_config_empty_file (line 319) | def test_load_config_empty_file(resolver, tmp_path): function test_load_config_empty_yaml_dict (line 332) | def test_load_config_empty_yaml_dict(resolver, tmp_path): function test_load_config_plain_values (line 344) | def test_load_config_plain_values(resolver, tmp_path): function test_load_config_with_developer_secrets (line 367) | def test_load_config_with_developer_secrets(resolver, tmp_path): function test_load_config_with_user_secrets (line 390) | def test_load_config_with_user_secrets(resolver, tmp_path): function test_load_config_mixed_secrets (line 418) | def test_load_config_mixed_secrets(resolver, tmp_path): function test_load_config_with_lists (line 457) | def test_load_config_with_lists(resolver, tmp_path): function test_load_config_null_values (line 512) | def test_load_config_null_values(resolver, tmp_path): function test_load_config_invalid_yaml (line 536) | def test_load_config_invalid_yaml(resolver, tmp_path): function test_load_config_complex_nested_structure (line 549) | def test_load_config_complex_nested_structure(resolver, tmp_path): function test_load_config_only_secrets (line 604) | def test_load_config_only_secrets(resolver, tmp_path): function test_load_config_with_comments (line 625) | def test_load_config_with_comments(resolver, tmp_path): function test_load_config_unicode_content (line 643) | def test_load_config_unicode_content(resolver, tmp_path): function test_load_config_permission_denied (line 668) | def test_load_config_permission_denied(resolver, tmp_path): FILE: tests/cli/secrets/test_secrets_transform.py function mock_secrets_client (line 29) | def mock_secrets_client(): class TestTransformConfigRecursive (line 52) | class TestTransformConfigRecursive: method test_transform_deployment_secret (line 56) | async def test_transform_deployment_secret(self, mock_secrets_client): method test_user_secret_remains (line 85) | async def test_user_secret_remains(self, mock_secrets_client): method test_mixed_secrets_and_nested_structures (line 106) | async def test_mixed_secrets_and_nested_structures(self, mock_secrets_... method test_raw_secret_processing_non_interactive (line 173) | async def test_raw_secret_processing_non_interactive(self, mock_secret... method test_empty_secret_value_skipped (line 197) | async def test_empty_secret_value_skipped(self, mock_secrets_client): method test_tagged_secrets_rejected_in_input (line 213) | async def test_tagged_secrets_rejected_in_input(self, mock_secrets_cli... class TestProcessSecretsInConfig (line 236) | class TestProcessSecretsInConfig: method test_process_yaml_content (line 240) | async def test_process_yaml_content(self, mock_secrets_client): class TestProcessConfigSecrets (line 278) | class TestProcessConfigSecrets: method test_process_config_file (line 282) | async def test_process_config_file(self, mock_secrets_client, tmp_path): method test_reuse_existing_secrets (line 334) | async def test_reuse_existing_secrets(self, mock_secrets_client, tmp_p... FILE: tests/cli/secrets/test_yaml_tags.py class TestYamlSecretTags (line 16) | class TestYamlSecretTags(unittest.TestCase): method test_basic_round_trip (line 19) | def test_basic_round_trip(self): method test_direct_yaml_format (line 60) | def test_direct_yaml_format(self): method test_nested_structure (line 79) | def test_nested_structure(self): method test_integration_with_standard_yaml (line 109) | def test_integration_with_standard_yaml(self): FILE: tests/cli/secrets/test_yaml_tags_unified.py class TestYamlSecretTags (line 17) | class TestYamlSecretTags(TestCase): method test_round_trip_serialization (line 20) | def test_round_trip_serialization(self): method _verify_config_structure (line 82) | def _verify_config_structure(self, original, loaded): method test_empty_tags_handling (line 103) | def test_empty_tags_handling(self): method test_uuid_handle_handling (line 126) | def test_uuid_handle_handling(self): method test_uuid_pattern_validation (line 178) | def test_uuid_pattern_validation(self): function test_realistic_yaml_examples (line 215) | def test_realistic_yaml_examples(): function test_deployed_secrets_example (line 268) | def test_deployed_secrets_example(): function test_fully_configured_secrets_example (line 304) | def test_fully_configured_secrets_example(): FILE: tests/cli/test_api_key_rename.py function test_api_client_init_uses_api_key (line 11) | def test_api_client_init_uses_api_key(): function test_api_client_request_uses_api_key (line 23) | async def test_api_client_request_uses_api_key(): function test_settings_api_key (line 55) | def test_settings_api_key(): FILE: tests/cli/test_deploy_validation.py class TestValidateProject (line 14) | class TestValidateProject: method test_validate_project_success (line 17) | def test_validate_project_success(self): method test_validate_project_directory_not_exists (line 33) | def test_validate_project_directory_not_exists(self): method test_validate_project_missing_main_py (line 42) | def test_validate_project_missing_main_py(self): method test_validate_project_calls_validate_entrypoint (line 52) | def test_validate_project_calls_validate_entrypoint(self): class TestValidateEntrypoint (line 68) | class TestValidateEntrypoint: method test_validate_entrypoint_success_simple (line 71) | def test_validate_entrypoint_success_simple(self): method test_validate_entrypoint_success_multiline (line 80) | def test_validate_entrypoint_success_multiline(self): method test_validate_entrypoint_success_with_variable_name (line 96) | def test_validate_entrypoint_success_with_variable_name(self): method test_validate_entrypoint_file_not_exists (line 114) | def test_validate_entrypoint_file_not_exists(self): method test_validate_entrypoint_no_mcpapp_definition (line 123) | def test_validate_entrypoint_no_mcpapp_definition(self): method test_validate_entrypoint_invalid_mcpapp_patterns (line 140) | def test_validate_entrypoint_invalid_mcpapp_patterns(self): method test_validate_entrypoint_warns_about_main_block (line 160) | def test_validate_entrypoint_warns_about_main_block(self, mock_print_w... method test_validate_entrypoint_warns_about_main_block_variations (line 178) | def test_validate_entrypoint_warns_about_main_block_variations( method test_validate_entrypoint_no_warning_without_main_block (line 200) | def test_validate_entrypoint_no_warning_without_main_block( method test_validate_entrypoint_with_complex_content (line 211) | def test_validate_entrypoint_with_complex_content(self): method test_validate_entrypoint_handles_encoding (line 242) | def test_validate_entrypoint_handles_encoding(self): method test_validate_entrypoint_empty_file (line 256) | def test_validate_entrypoint_empty_file(self): FILE: tests/cli/utils/jwt_generator.py function base64url_encode (line 29) | def base64url_encode(data): function simple_jwt_encode (line 40) | def simple_jwt_encode(payload, secret): function generate_jwt (line 70) | def generate_jwt( function main (line 160) | def main(): function generate_test_token (line 198) | def generate_test_token(): FILE: tests/config/test_env_settings.py function test_env_iter_specs_supports_string_and_dict (line 6) | def test_env_iter_specs_supports_string_and_dict(): function test_env_validation_rejects_empty_string (line 15) | def test_env_validation_rejects_empty_string(): FILE: tests/core/test_context.py class _DummyLogger (line 8) | class _DummyLogger: method __init__ (line 9) | def __init__(self): method debug (line 12) | def debug(self, message: str): method info (line 15) | def info(self, message: str): method warning (line 18) | def warning(self, message: str): method error (line 21) | def error(self, message: str): class _DummyMCP (line 25) | class _DummyMCP: method __init__ (line 26) | def __init__(self): method read_resource (line 29) | async def read_resource(self, uri): function _make_context (line 34) | def _make_context(*, app: SimpleNamespace | None = None) -> Context: function test_session_prefers_explicit_upstream (line 41) | def test_session_prefers_explicit_upstream(): function test_fastmcp_fallback_to_app (line 49) | def test_fastmcp_fallback_to_app(): function test_log_falls_back_to_app_logger (line 63) | async def test_log_falls_back_to_app_logger(): function test_read_resource_falls_back_to_app_mcp (line 74) | async def test_read_resource_falls_back_to_app_mcp(): function test_read_resource_without_mcp_raises (line 86) | async def test_read_resource_without_mcp_raises(): function test_logger_property_uses_app_logger (line 93) | def test_logger_property_uses_app_logger(): function test_logger_property_without_app_creates_logger (line 101) | def test_logger_property_without_app_creates_logger(): function test_name_and_description_properties (line 110) | def test_name_and_description_properties(): FILE: tests/core/test_context_isolation.py function test_bind_request_creates_isolated_contexts (line 8) | def test_bind_request_creates_isolated_contexts(): function test_session_property_returns_none_when_cleared (line 33) | def test_session_property_returns_none_when_cleared(): function test_base_context_delegates_to_request_clone (line 44) | def test_base_context_delegates_to_request_clone(): FILE: tests/executor/temporal/test_execution_id_and_interceptor.py function test_get_execution_id_in_workflow (line 8) | def test_get_execution_id_in_workflow(_mock_in_wf, mock_info): function test_get_execution_id_in_activity (line 17) | def test_get_execution_id_in_activity(mock_act_info): function test_interceptor_restores_prev_value (line 24) | def test_interceptor_restores_prev_value(): function test_http_proxy_helpers_happy_and_error_paths (line 52) | async def test_http_proxy_helpers_happy_and_error_paths(monkeypatch): FILE: tests/executor/temporal/test_signal_handler.py function mailbox (line 11) | def mailbox(): function test_push_and_version (line 15) | def test_push_and_version(mailbox): function test_value_not_exists (line 24) | def test_value_not_exists(mailbox): function test_version_not_exists (line 29) | def test_version_not_exists(mailbox): function mock_executor (line 34) | def mock_executor(): function handler (line 39) | def handler(mock_executor): function mock_workflow (line 44) | def mock_workflow(): function test_attach_to_workflow (line 50) | def test_attach_to_workflow(handler, mock_workflow): function test_wait_for_signal (line 60) | async def test_wait_for_signal(_mock_in_wf, handler, mock_workflow): function test_wait_for_signal_timeout (line 73) | async def test_wait_for_signal_timeout(_mock_in_wf, handler, mock_workfl... function test_signal_outside_workflow (line 94) | async def test_signal_outside_workflow( FILE: tests/executor/temporal/test_temporal_executor.py function mock_client (line 9) | def mock_client(): function mock_context (line 14) | def mock_context(): function executor (line 29) | def executor(mock_client, mock_context): function test_ensure_client (line 40) | async def test_ensure_client(executor): function test_wrap_as_activity (line 46) | def test_wrap_as_activity(executor): function test_execute_task_as_async_sync (line 56) | async def test_execute_task_as_async_sync(mock_runtime, executor): function test_execute_task_as_async_async (line 65) | async def test_execute_task_as_async_async(executor): function test_execute_task_outside_workflow (line 75) | async def test_execute_task_outside_workflow(mock_runtime, executor): function test_start_workflow (line 84) | async def test_start_workflow(executor, mock_context): function test_start_workflow_with_custom_workflow_id (line 99) | async def test_start_workflow_with_custom_workflow_id(executor, mock_con... function test_start_workflow_with_custom_task_queue (line 122) | async def test_start_workflow_with_custom_task_queue(executor, mock_cont... function test_start_workflow_with_both_custom_params (line 145) | async def test_start_workflow_with_both_custom_params(executor, mock_con... function test_execute_workflow_with_custom_params (line 181) | async def test_execute_workflow_with_custom_params(executor, mock_context): function test_terminate_workflow (line 213) | async def test_terminate_workflow(executor): function test_id_reuse_policy_from_config (line 224) | async def test_id_reuse_policy_from_config(mock_context): function test_timeout_seconds_prioritized_over_metadata (line 254) | async def test_timeout_seconds_prioritized_over_metadata( function test_metadata_timeout_used_when_no_config_timeout (line 295) | async def test_metadata_timeout_used_when_no_config_timeout( FILE: tests/executor/temporal/test_workflow_registry.py function mock_executor (line 7) | def mock_executor(): function registry (line 14) | def registry(mock_executor): function test_register_and_get_workflow (line 19) | async def test_register_and_get_workflow(registry): function test_unregister_workflow (line 30) | async def test_unregister_workflow(registry): function test_resume_workflow (line 41) | async def test_resume_workflow(registry, mock_executor): function test_resume_workflow_signal_error (line 60) | async def test_resume_workflow_signal_error(registry, mock_executor, cap... function test_cancel_workflow (line 87) | async def test_cancel_workflow(registry, mock_executor): function test_get_workflow_status_error (line 101) | async def test_get_workflow_status_error(registry, mock_executor): function test_list_workflows (line 108) | async def test_list_workflows(registry): function test_get_workflow_by_workflow_id (line 119) | async def test_get_workflow_by_workflow_id(registry): function test_get_workflow_by_workflow_id_latest_run (line 131) | async def test_get_workflow_by_workflow_id_latest_run(registry): function test_get_workflow_raises_error_when_no_params (line 146) | async def test_get_workflow_raises_error_when_no_params(registry): function test_resume_workflow_by_workflow_id (line 154) | async def test_resume_workflow_by_workflow_id(registry, mock_executor): function test_resume_workflow_raises_error_when_no_params (line 177) | async def test_resume_workflow_raises_error_when_no_params(registry): function test_cancel_workflow_by_workflow_id (line 185) | async def test_cancel_workflow_by_workflow_id(registry, mock_executor): function test_cancel_workflow_raises_error_when_no_params (line 206) | async def test_cancel_workflow_raises_error_when_no_params(registry): function test_get_workflow_status_by_workflow_id (line 214) | async def test_get_workflow_status_by_workflow_id(registry, mock_executor): function test_get_workflow_status_raises_error_when_no_params (line 241) | async def test_get_workflow_status_raises_error_when_no_params(registry): function test_workflow_id_with_nonexistent_workflow (line 249) | async def test_workflow_id_with_nonexistent_workflow(registry): function test_resume_workflow_with_nonexistent_workflow_id (line 256) | async def test_resume_workflow_with_nonexistent_workflow_id(registry, mo... function test_cancel_workflow_with_nonexistent_workflow_id (line 263) | async def test_cancel_workflow_with_nonexistent_workflow_id(registry, mo... function test_get_workflow_status_with_nonexistent_workflow_id (line 270) | async def test_get_workflow_status_with_nonexistent_workflow_id( FILE: tests/executor/test_errors.py function test_workflow_application_error_attributes (line 6) | def test_workflow_application_error_attributes(): function test_workflow_application_error_accepts_additional_kwargs (line 14) | def test_workflow_application_error_accepts_additional_kwargs(extra_kw): function test_to_application_error_from_exception (line 29) | def test_to_application_error_from_exception(): FILE: tests/executor/test_inmemory_workflow_registry.py function registry (line 7) | def registry(): function test_register_and_get_workflow_by_run_id (line 12) | async def test_register_and_get_workflow_by_run_id(registry): function test_get_workflow_by_workflow_id (line 22) | async def test_get_workflow_by_workflow_id(registry): function test_get_workflow_by_workflow_id_latest_run (line 34) | async def test_get_workflow_by_workflow_id_latest_run(registry): function test_get_workflow_raises_error_when_no_params (line 49) | async def test_get_workflow_raises_error_when_no_params(registry): function test_resume_workflow_by_run_id (line 57) | async def test_resume_workflow_by_run_id(registry): function test_resume_workflow_by_workflow_id (line 70) | async def test_resume_workflow_by_workflow_id(registry): function test_resume_workflow_raises_error_when_no_params (line 85) | async def test_resume_workflow_raises_error_when_no_params(registry): function test_cancel_workflow_by_run_id (line 93) | async def test_cancel_workflow_by_run_id(registry): function test_cancel_workflow_by_workflow_id (line 106) | async def test_cancel_workflow_by_workflow_id(registry): function test_cancel_workflow_raises_error_when_no_params (line 119) | async def test_cancel_workflow_raises_error_when_no_params(registry): function test_get_workflow_status_by_run_id (line 127) | async def test_get_workflow_status_by_run_id(registry): function test_get_workflow_status_by_workflow_id (line 142) | async def test_get_workflow_status_by_workflow_id(registry): function test_get_workflow_status_raises_error_when_no_params (line 157) | async def test_get_workflow_status_raises_error_when_no_params(registry): function test_unregister_workflow (line 165) | async def test_unregister_workflow(registry): function test_list_workflow_statuses (line 179) | async def test_list_workflow_statuses(registry): function test_list_workflows (line 199) | async def test_list_workflows(registry): function test_workflow_id_with_nonexistent_workflow (line 211) | async def test_workflow_id_with_nonexistent_workflow(registry): function test_resume_workflow_with_nonexistent_workflow_id (line 217) | async def test_resume_workflow_with_nonexistent_workflow_id(registry): function test_cancel_workflow_with_nonexistent_workflow_id (line 223) | async def test_cancel_workflow_with_nonexistent_workflow_id(registry): function test_get_workflow_status_with_nonexistent_workflow_id (line 229) | async def test_get_workflow_status_with_nonexistent_workflow_id(registry): function test_resume_workflow_with_nonexistent_run_id (line 235) | async def test_resume_workflow_with_nonexistent_run_id(registry): function test_cancel_workflow_with_nonexistent_run_id (line 241) | async def test_cancel_workflow_with_nonexistent_run_id(registry): function test_get_workflow_status_with_nonexistent_run_id (line 247) | async def test_get_workflow_status_with_nonexistent_run_id(registry): FILE: tests/executor/test_temporal_session_proxy.py class _StubSystemActivities (line 10) | class _StubSystemActivities: method __init__ (line 11) | def __init__(self) -> None: method relay_request (line 14) | async def relay_request(self, async_mode, execution_id, method, params): method relay_notify (line 18) | async def relay_notify(self, execution_id, method, params): class _RecordingExecutor (line 23) | class _RecordingExecutor: method __init__ (line 24) | def __init__(self) -> None: method execute (line 27) | async def execute(self, *args, **kwargs): function test_session_proxy_request_activates_context (line 33) | async def test_session_proxy_request_activates_context(monkeypatch): function test_session_proxy_notify_activates_context (line 48) | async def test_session_proxy_notify_activates_context(monkeypatch): FILE: tests/executor/test_workflow.py class TestWorkflowState (line 7) | class TestWorkflowState: method test_initialization (line 8) | def test_initialization(self): method test_record_error (line 15) | def test_record_error(self): method test_state_serialization (line 26) | def test_state_serialization(self): class MockWorkflow (line 36) | class MockWorkflow(Workflow): method run (line 37) | async def run(self, *args, **kwargs): function mock_context (line 42) | def mock_context(): function workflow (line 51) | def workflow(mock_context): class TestWorkflowResult (line 55) | class TestWorkflowResult: method test_initialization (line 56) | def test_initialization(self): method test_with_values (line 63) | def test_with_values(self): method test_generic_type_handling (line 72) | def test_generic_type_handling(self): class TestWorkflowBase (line 80) | class TestWorkflowBase: method test_initialization (line 81) | def test_initialization(self, workflow): method test_id_and_run_id_properties (line 86) | def test_id_and_run_id_properties(self, workflow): method test_executor_property (line 91) | def test_executor_property(self, workflow, mock_context): method test_create_and_initialize (line 99) | async def test_create_and_initialize(self, mock_context): method test_initialize_and_cleanup (line 106) | async def test_initialize_and_cleanup(self, workflow): method test_update_state (line 113) | async def test_update_state(self, workflow): class TestWorkflowAsyncMethods (line 119) | class TestWorkflowAsyncMethods: method test_run_async_asyncio (line 121) | async def test_run_async_asyncio(self, workflow, mock_context): method test_parallel_workflows_unique_ids (line 148) | async def test_parallel_workflows_unique_ids(self, mock_context): method test_parallel_workflows_registry_tracking (line 208) | async def test_parallel_workflows_registry_tracking(self, mock_context): method test_cancel_no_run_id (line 282) | async def test_cancel_no_run_id(self, workflow): method test_resume_no_run_id (line 288) | async def test_resume_no_run_id(self, workflow): method test_get_status (line 294) | async def test_get_status(self, workflow): method test_run_async_with_custom_workflow_id (line 305) | async def test_run_async_with_custom_workflow_id(self, mock_context): method test_run_async_with_temporal_custom_params (line 321) | async def test_run_async_with_temporal_custom_params(self, mock_context): method test_run_async_regular_params_not_affected (line 360) | async def test_run_async_regular_params_not_affected(self, mock_context): FILE: tests/executor/test_workflow_signal.py class TestSignalModels (line 16) | class TestSignalModels: method test_signal_creation (line 21) | def test_signal_creation(self): method test_signal_creation_with_metadata (line 33) | def test_signal_creation_with_metadata(self): method test_signal_registration_creation (line 50) | def test_signal_registration_creation(self): method test_pending_signal_creation (line 62) | def test_pending_signal_creation(self): class TestBaseSignalHandler (line 78) | class TestBaseSignalHandler: class MockSignalHandler (line 83) | class MockSignalHandler(BaseSignalHandler): method signal (line 86) | async def signal(self, signal): method wait_for_signal (line 90) | async def wait_for_signal(self, signal, timeout_seconds=None): method test_validate_signal (line 94) | def test_validate_signal(self): method test_signal_handler_registration (line 107) | def test_signal_handler_registration(self): method test_cleanup (line 125) | async def test_cleanup(self): class TestAsyncioSignalHandler (line 154) | class TestAsyncioSignalHandler: method handler (line 160) | def handler(self): method test_signal_emission (line 165) | async def test_signal_emission(self, handler): method test_wait_for_signal (line 177) | async def test_wait_for_signal(self, handler): method test_wait_for_signal_with_timeout (line 197) | async def test_wait_for_signal_with_timeout(self, handler): method test_multiple_waiters (line 207) | async def test_multiple_waiters(self, handler): method test_handler_callback (line 231) | async def test_handler_callback(self, handler): class TestConsoleSignalHandler (line 249) | class TestConsoleSignalHandler: method handler (line 255) | def handler(self): method test_signal_emission (line 260) | async def test_signal_emission(self, handler): method test_wait_for_signal (line 274) | async def test_wait_for_signal(self, handler): method test_wait_for_signal_with_timeout (line 310) | async def test_wait_for_signal_with_timeout(self, handler): method test_handler_callback (line 340) | async def test_handler_callback(self, handler): class TestLocalSignalStore (line 358) | class TestLocalSignalStore: method store (line 364) | def store(self): method test_emit_with_no_waiters (line 369) | async def test_emit_with_no_waiters(self, store): method test_wait_for_and_emit (line 378) | async def test_wait_for_and_emit(self, store): method test_multiple_waiters (line 395) | async def test_multiple_waiters(self, store): method test_wait_for_with_timeout (line 420) | async def test_wait_for_with_timeout(self, store): method test_waiter_removal_on_timeout (line 427) | async def test_waiter_removal_on_timeout(self, store): class TestErrorHandling (line 464) | class TestErrorHandling: method test_handler_callback_error (line 470) | async def test_handler_callback_error(self): class TestIntegrationScenarios (line 489) | class TestIntegrationScenarios: method test_async_handler_wait_then_signal (line 495) | async def test_async_handler_wait_then_signal(self): method test_multiple_signals (line 521) | async def test_multiple_signals(self): FILE: tests/human_input/test_elicitation_handler.py class TestElicitationHandler (line 13) | class TestElicitationHandler: method test_create_elicitation_message_basic (line 16) | def test_create_elicitation_message_basic(self): method test_create_elicitation_message_with_description (line 23) | def test_create_elicitation_message_with_description(self): method test_create_elicitation_message_with_timeout (line 33) | def test_create_elicitation_message_with_timeout(self): method test_handle_elicitation_response_accept (line 42) | def test_handle_elicitation_response_accept(self): method test_handle_elicitation_response_decline (line 53) | def test_handle_elicitation_response_decline(self): method test_handle_elicitation_response_cancel (line 63) | def test_handle_elicitation_response_cancel(self): method test_elicitation_input_callback_success (line 74) | async def test_elicitation_input_callback_success(self): method test_elicitation_input_callback_no_context (line 110) | async def test_elicitation_input_callback_no_context(self): method test_elicitation_input_callback_no_session (line 121) | async def test_elicitation_input_callback_no_session(self): method test_elicitation_input_callback_elicit_failure (line 137) | async def test_elicitation_input_callback_elicit_failure(self): FILE: tests/human_input/test_elicitation_session.py class _DummySession (line 15) | class _DummySession: method __init__ (line 16) | def __init__(self) -> None: method elicit (line 19) | async def elicit(self, **kwargs): function test_elicitation_uses_request_scoped_session (line 25) | async def test_elicitation_uses_request_scoped_session(): FILE: tests/integration/test_multithread_smoke.py class _MockLLM (line 11) | class _MockLLM(AugmentedLLM): method __init__ (line 12) | def __init__(self, agent=None, **kwargs): method generate (line 19) | async def generate(self, message, request_params=None): method generate_str (line 22) | async def generate_str(self, message, request_params=None): method generate_structured (line 25) | async def generate_structured(self, message, response_model, request_p... class _MockLLMFactory (line 31) | class _MockLLMFactory: method __call__ (line 32) | def __call__(self, agent): function worker_once (line 43) | def worker_once() -> str: function test_multithread_smoke_two_workers (line 69) | def test_multithread_smoke_two_workers(): FILE: tests/logging/test_request_scoping.py class _DummySession (line 21) | class _DummySession: method __init__ (line 22) | def __init__(self) -> None: method send_log_message (line 25) | async def send_log_message(self, level, data, logger=None, related_req... function test_logger_uses_request_context_and_restores_default (line 29) | def test_logger_uses_request_context_and_restores_default(): function test_exit_request_context_clears_session_level (line 72) | def test_exit_request_context_clears_session_level(): function test_concurrent_requests_capture_distinct_sessions (line 88) | async def test_concurrent_requests_capture_distinct_sessions(): function test_upstream_listener_respects_session_log_level (line 136) | async def test_upstream_listener_respects_session_log_level(): function test_logging_config_session_level_helpers_roundtrip (line 169) | def test_logging_config_session_level_helpers_roundtrip(): function test_session_log_level_survives_run_unregistration (line 182) | async def test_session_log_level_survives_run_unregistration(): FILE: tests/logging/test_upstream_logging.py class DummyUpstreamSession (line 11) | class DummyUpstreamSession: method __init__ (line 12) | def __init__(self): method send_log_message (line 15) | async def send_log_message(self, level, data, logger, related_request_... function test_upstream_logging_listener_sends_notifications (line 27) | async def test_upstream_logging_listener_sends_notifications(monkeypatch): function test_logging_capability_registered_in_fastmcp (line 59) | async def test_logging_capability_registered_in_fastmcp(): FILE: tests/mcp/test_connection_manager_concurrency.py class DummyServerRegistry (line 10) | class DummyServerRegistry: method __init__ (line 11) | def __init__(self): function test_concurrent_close_calls_same_and_cross_thread (line 17) | async def test_concurrent_close_calls_same_and_cross_thread(): FILE: tests/mcp/test_connection_manager_lifecycle.py class DummyServerRegistry (line 6) | class DummyServerRegistry: method __init__ (line 7) | def __init__(self): function test_connection_manager_lifecycle_single_loop (line 13) | async def test_connection_manager_lifecycle_single_loop(): FILE: tests/mcp/test_mcp_aggregator.py class DummyContext (line 12) | class DummyContext: method __init__ (line 13) | def __init__(self): function dummy_context (line 48) | def dummy_context(): function test_mcp_aggregator_init (line 53) | async def test_mcp_aggregator_init(dummy_context): function test_mcp_aggregator_initialize_sets_initialized (line 67) | async def test_mcp_aggregator_initialize_sets_initialized(dummy_context): function test_mcp_aggregator_close_no_persistence (line 82) | async def test_mcp_aggregator_close_no_persistence(dummy_context): function test_mcp_aggregator_close_with_persistence_and_cleanup (line 96) | async def test_mcp_aggregator_close_with_persistence_and_cleanup(monkeyp... function test_mcp_aggregator_list_servers (line 128) | async def test_mcp_aggregator_list_servers(dummy_context): function test_mcp_aggregator_parse_capability_name (line 151) | async def test_mcp_aggregator_parse_capability_name(): function test_mcp_aggregator_call_tool_persistent (line 204) | async def test_mcp_aggregator_call_tool_persistent(monkeypatch): class DummySession (line 254) | class DummySession: method call_tool (line 255) | async def call_tool(self, name, arguments=None): method __aenter__ (line 258) | async def __aenter__(self): method __aexit__ (line 261) | async def __aexit__(self, exc_type, exc_val, exc_tb): class DummyRegistry (line 265) | class DummyRegistry: method start_server (line 266) | def start_server(self, *_args, **_kw): method initialize_server (line 270) | async def initialize_server(self, *args, **kwargs): function test_mcp_aggregator_call_tool_nonpersistent (line 275) | async def test_mcp_aggregator_call_tool_nonpersistent(monkeypatch): function test_mcp_aggregator_call_tool_errors (line 319) | async def test_mcp_aggregator_call_tool_errors(monkeypatch): function test_mcp_aggregator_get_prompt (line 382) | async def test_mcp_aggregator_get_prompt(monkeypatch): function test_mcp_aggregator_list_tools_and_prompts (line 476) | async def test_mcp_aggregator_list_tools_and_prompts(): function test_mcp_aggregator_get_capabilities (line 570) | async def test_mcp_aggregator_get_capabilities(monkeypatch): function test_mcp_aggregator_load_server_and_load_servers (line 644) | async def test_mcp_aggregator_load_server_and_load_servers(monkeypatch): function test_mcp_aggregator_duplicate_tool_names (line 728) | async def test_mcp_aggregator_duplicate_tool_names(): function test_mcp_compound_server_list_tools_and_prompts (line 781) | async def test_mcp_compound_server_list_tools_and_prompts(monkeypatch): function test_mcp_compound_server_call_tool_and_get_prompt (line 821) | async def test_mcp_compound_server_call_tool_and_get_prompt(monkeypatch): class MockServerConfig (line 871) | class MockServerConfig: method __init__ (line 874) | def __init__(self, allowed_tools=None): class DummyContextWithServerRegistry (line 878) | class DummyContextWithServerRegistry: method __init__ (line 881) | def __init__(self, server_configs=None): function test_tool_filtering_with_allowed_tools (line 916) | async def test_tool_filtering_with_allowed_tools(): function test_tool_filtering_no_filtering_when_none (line 980) | async def test_tool_filtering_no_filtering_when_none(): function test_tool_filtering_empty_allowed_tools (line 1030) | async def test_tool_filtering_empty_allowed_tools(): function test_tool_filtering_no_server_registry (line 1074) | async def test_tool_filtering_no_server_registry(): function test_tool_filtering_multiple_servers (line 1117) | async def test_tool_filtering_multiple_servers(): function test_tool_filtering_edge_case_exact_match (line 1223) | async def test_tool_filtering_edge_case_exact_match(): FILE: tests/mcp/test_mcp_connection_manager.py class DummySession (line 15) | class DummySession: method __init__ (line 16) | def __init__(self, should_fail_init=False): method initialize (line 22) | async def initialize(self): method __aenter__ (line 28) | async def __aenter__(self): method __aexit__ (line 31) | async def __aexit__(self, exc_type, exc_val, exc_tb): class DummyServerRegistry (line 35) | class DummyServerRegistry: method __init__ (line 36) | def __init__(self, registry_dict): function server_settings (line 42) | def server_settings(): function server_registry (line 51) | def server_registry(server_settings): function dummy_client_session_factory (line 56) | def dummy_client_session_factory(): function dummy_client_session_factory_fail (line 64) | def dummy_client_session_factory_fail(): function test_launch_server_success (line 77) | async def test_launch_server_success(server_registry, dummy_client_sessi... function test_get_server_returns_existing_healthy (line 90) | async def test_get_server_returns_existing_healthy( function test_get_server_recreates_unhealthy (line 107) | async def test_get_server_recreates_unhealthy( function test_disconnect_server (line 152) | async def test_disconnect_server(server_registry, dummy_client_session_f... function test_disconnect_all (line 166) | async def test_disconnect_all(server_registry, dummy_client_session_fact... function test_get_server_capabilities (line 184) | async def test_get_server_capabilities(server_registry, dummy_client_ses... FILE: tests/server/test_app_server.py function mock_server_context (line 13) | def mock_server_context(): function mock_workflow_class (line 27) | def mock_workflow_class(): function test_workflow_run_with_custom_workflow_id (line 50) | async def test_workflow_run_with_custom_workflow_id( function test_workflow_run_with_custom_task_queue (line 100) | async def test_workflow_run_with_custom_task_queue( function test_workflow_run_with_both_custom_params (line 134) | async def test_workflow_run_with_both_custom_params( function test_workflow_run_without_custom_params (line 176) | async def test_workflow_run_without_custom_params( function test_workflow_run_preserves_user_params_with_similar_names (line 216) | async def test_workflow_run_preserves_user_params_with_similar_names( function test_workflow_tools_idempotent_registration (line 265) | def test_workflow_tools_idempotent_registration(): function test_workflow_tools_persistent_across_sse_requests (line 361) | def test_workflow_tools_persistent_across_sse_requests(): FILE: tests/server/test_app_server_memo.py class FakeWorkflow (line 5) | class FakeWorkflow: method __init__ (line 6) | def __init__(self): method create (line 10) | async def create(cls, name: str, context): method run_async (line 13) | async def run_async(self, *args, **kwargs): function test_memo_from_forwarded_headers (line 21) | async def test_memo_from_forwarded_headers(monkeypatch): function test_memo_falls_back_to_env (line 78) | async def test_memo_falls_back_to_env(monkeypatch): FILE: tests/server/test_app_server_workflow_schema.py class _ToolRecorder (line 9) | class _ToolRecorder: method __init__ (line 10) | def __init__(self): method tool (line 13) | def tool(self, *args, **kwargs): function test_workflow_run_schema_strips_self_and_uses_param_annotations (line 24) | async def test_workflow_run_schema_strips_self_and_uses_param_annotation... FILE: tests/server/test_tool_decorators.py class _ToolRecorder (line 17) | class _ToolRecorder: method __init__ (line 20) | def __init__(self): method tool (line 24) | def tool(self, *args, **kwargs): method add_tool (line 33) | def add_tool( function _make_ctx (line 61) | def _make_ctx(server_context): function test_app_tool_registers_and_executes_sync_tool (line 79) | async def test_app_tool_registers_and_executes_sync_tool(): function test_app_async_tool_registers_aliases_and_workflow_tools (line 153) | async def test_app_async_tool_registers_aliases_and_workflow_tools(): function test_async_tool_wrappers_capture_workflow_name (line 192) | async def test_async_tool_wrappers_capture_workflow_name(monkeypatch): function test_sync_tool_wrappers_capture_workflow_name (line 234) | async def test_sync_tool_wrappers_capture_workflow_name(monkeypatch): function test_auto_workflow_wraps_plain_return_in_workflowresult (line 281) | async def test_auto_workflow_wraps_plain_return_in_workflowresult(): function test_workflow_run_binds_app_context_per_request (line 321) | async def test_workflow_run_binds_app_context_per_request(): function test_tool_decorator_defaults_to_phetch_icon_when_no_icons_provided (line 347) | async def test_tool_decorator_defaults_to_phetch_icon_when_no_icons_prov... function test_tool_decorator_uses_custom_icons_when_provided (line 379) | async def test_tool_decorator_uses_custom_icons_when_provided(): function test_async_tool_decorator_defaults_to_phetch_icon_when_no_icons_provided (line 420) | async def test_async_tool_decorator_defaults_to_phetch_icon_when_no_icon... function test_async_tool_decorator_uses_custom_icons_when_provided (line 453) | async def test_async_tool_decorator_uses_custom_icons_when_provided(): FILE: tests/test_app.py class TestMCPApp (line 12) | class TestMCPApp: method mock_context (line 16) | def mock_context(self): method basic_app (line 38) | def basic_app(self): method human_input_callback (line 43) | def human_input_callback(self): method signal_notification (line 54) | def signal_notification(self): method test_workflow (line 63) | def test_workflow(self): method test_task (line 77) | def test_task(self, request): method test_initialization_minimal (line 103) | async def test_initialization_minimal(self): method test_initialization_with_custom_settings (line 118) | async def test_initialization_with_custom_settings(self): method test_initialization_with_settings_path (line 128) | async def test_initialization_with_settings_path(self): method test_initialization_with_callbacks (line 135) | async def test_initialization_with_callbacks( method test_initialization_with_upstream_session (line 149) | async def test_initialization_with_upstream_session(self): method test_initialization_with_model_selector (line 157) | async def test_initialization_with_model_selector(self): method test_windows_event_loop_policy (line 169) | async def test_windows_event_loop_policy(self): method test_non_windows_event_loop_policy (line 195) | async def test_non_windows_event_loop_policy(self, mock_set_policy): method test_initialize_method (line 206) | async def test_initialize_method(self, basic_app, mock_context): method test_initialize_already_initialized (line 218) | async def test_initialize_already_initialized(self, basic_app, mock_co... method test_cleanup_method (line 234) | async def test_cleanup_method(self, basic_app, mock_context): method test_cleanup_not_initialized (line 248) | async def test_cleanup_not_initialized(self, basic_app): method test_run_context_manager (line 257) | async def test_run_context_manager(self, basic_app, mock_context): method test_run_context_manager_with_exception (line 272) | async def test_run_context_manager_with_exception(self, basic_app, moc... method test_run_with_cancelled_cleanup (line 290) | async def test_run_with_cancelled_cleanup(self, basic_app, mock_context): method test_context_property_initialized (line 316) | async def test_context_property_initialized(self, basic_app, mock_cont... method test_context_property_not_initialized (line 326) | async def test_context_property_not_initialized(self, basic_app): method test_config_property (line 332) | async def test_config_property(self, basic_app, mock_context): method test_server_registry_property (line 342) | async def test_server_registry_property(self, basic_app, mock_context): method test_executor_property (line 352) | async def test_executor_property(self, basic_app, mock_context): method test_engine_property (line 362) | async def test_engine_property(self, basic_app, mock_context): method test_upstream_session_getter (line 372) | async def test_upstream_session_getter(self, basic_app, mock_context): method test_upstream_session_setter (line 382) | async def test_upstream_session_setter(self, basic_app, mock_context): method test_workflows_property (line 395) | async def test_workflows_property(self, basic_app): method test_tasks_property (line 400) | async def test_tasks_property(self, basic_app, mock_context): method test_logger_property (line 412) | async def test_logger_property(self, basic_app): method test_logger_property_with_session_id (line 432) | async def test_logger_property_with_session_id(self, basic_app, mock_c... method test_workflow_decorator_default (line 465) | async def test_workflow_decorator_default( method test_workflow_decorator_with_id (line 493) | async def test_workflow_decorator_with_id( method test_workflow_decorator_with_engine (line 522) | async def test_workflow_decorator_with_engine( method test_workflow_run_decorator_default (line 549) | async def test_workflow_run_decorator_default(self, basic_app, mock_co... method test_workflow_run_decorator_with_engine (line 584) | async def test_workflow_run_decorator_with_engine(self, basic_app, moc... method test_workflow_task_decorator (line 613) | async def test_workflow_task_decorator(self, basic_app, test_task, moc... method test_workflow_task_decorator_with_name (line 641) | async def test_workflow_task_decorator_with_name( method test_workflow_task_decorator_with_timeout (line 664) | async def test_workflow_task_decorator_with_timeout( method test_workflow_task_decorator_with_retry_policy (line 697) | async def test_workflow_task_decorator_with_retry_policy( method test_workflow_task_with_non_async_function (line 722) | async def test_workflow_task_with_non_async_function(self, basic_app): method test_is_workflow_task_method (line 734) | async def test_is_workflow_task_method(self, basic_app, test_task, moc... FILE: tests/test_app_server_identity.py class DummyRequestContext (line 9) | class DummyRequestContext: method __init__ (line 10) | def __init__(self, session_id: str, session_obj): class DummyMCPContext (line 18) | class DummyMCPContext: method __init__ (line 19) | def __init__(self, session_id: str, fastmcp: FastMCP, session_obj=None): method session (line 25) | def session(self): function make_attached_app (line 29) | def make_attached_app(): function reset_identity (line 41) | def reset_identity(): function test_set_upstream_updates_session_each_request (line 45) | def test_set_upstream_updates_session_each_request(): function test_resolve_identity_prefers_request_session (line 75) | def test_resolve_identity_prefers_request_session(monkeypatch): FILE: tests/test_app_session.py function test_mcp_app_respects_session_id_override (line 7) | async def test_mcp_app_respects_session_id_override(): FILE: tests/test_audience_validation.py function test_audience_validation_success (line 12) | async def test_audience_validation_success(): function test_audience_validation_failure (line 35) | async def test_audience_validation_failure(): function test_resource_claim_audience_validation (line 57) | async def test_resource_claim_audience_validation(): function test_multiple_audiences_extraction (line 80) | async def test_multiple_audiences_extraction(): function test_audience_extraction_string_values (line 97) | async def test_audience_extraction_string_values(): function test_empty_audience_validation (line 110) | async def test_empty_audience_validation(): function test_configuration_validation (line 124) | def test_configuration_validation(): function test_token_verifier_audience_validation_integration (line 146) | async def test_token_verifier_audience_validation_integration(): function test_audience_extraction_edge_cases (line 210) | def test_audience_extraction_edge_cases(): function test_partial_audience_match (line 237) | async def test_partial_audience_match(): FILE: tests/test_config_exporters.py function _assert_console_exporter (line 14) | def _assert_console_exporter(exporter): function _assert_file_exporter (line 21) | def _assert_file_exporter(exporter, path=None, path_pattern=None): function _assert_otlp_exporter (line 38) | def _assert_otlp_exporter( function test_v1_string_exporters_with_legacy_fields (line 57) | def test_v1_string_exporters_with_legacy_fields(): function test_v1_file_exporter_with_base_model_path_settings (line 87) | def test_v1_file_exporter_with_base_model_path_settings(): function test_v1_otlp_exporter_with_base_model (line 112) | def test_v1_otlp_exporter_with_base_model(): function test_v1_string_exporters_without_legacy_fields (line 131) | def test_v1_string_exporters_without_legacy_fields(): function test_v2_type_discriminated_union (line 149) | def test_v2_type_discriminated_union(): function test_v2_multiple_otlp_exporters (line 168) | def test_v2_multiple_otlp_exporters(): function test_v2_file_exporter_with_path_settings (line 191) | def test_v2_file_exporter_with_path_settings(): function test_v3_dict_key_discriminator (line 227) | def test_v3_dict_key_discriminator(): function test_v3_multiple_exporters_same_type (line 246) | def test_v3_multiple_exporters_same_type(): function test_v3_file_exporter_with_advanced_path_settings (line 276) | def test_v3_file_exporter_with_advanced_path_settings(): function test_v3_console_exporter_empty_dict (line 310) | def test_v3_console_exporter_empty_dict(): function test_mixed_v1_and_v3_string_and_dict (line 326) | def test_mixed_v1_and_v3_string_and_dict(): function test_v2_to_v3_conversion (line 341) | def test_v2_to_v3_conversion(): function test_v1_legacy_fields_removed_after_finalization (line 364) | def test_v1_legacy_fields_removed_after_finalization(): function test_unsupported_exporter_type_raises (line 382) | def test_unsupported_exporter_type_raises(): function test_invalid_exporter_format_raises (line 388) | def test_invalid_exporter_format_raises(): function test_invalid_dict_exporter_with_multi_keys_raises (line 398) | def test_invalid_dict_exporter_with_multi_keys_raises(): function test_settings_default_construction (line 415) | def test_settings_default_construction(): function test_v1_full_config_via_settings (line 423) | def test_v1_full_config_via_settings(): function test_v2_full_config_via_settings (line 441) | def test_v2_full_config_via_settings(): function test_v3_full_config_via_settings (line 461) | def test_v3_full_config_via_settings(): function test_merge_otel_exporters_from_config_and_secrets (line 485) | def test_merge_otel_exporters_from_config_and_secrets(): function test_merge_non_otel_lists_are_replaced_not_concatenated (line 559) | def test_merge_non_otel_lists_are_replaced_not_concatenated(): FILE: tests/test_oauth_utils.py function test_scope_fingerprint_ordering (line 27) | def test_scope_fingerprint_ordering(): function test_token_record_expiry (line 33) | def test_token_record_expiry(): function test_in_memory_token_store_round_trip (line 43) | async def test_in_memory_token_store_round_trip(): function test_select_authorization_server_prefers_explicit (line 60) | def test_select_authorization_server_prefers_explicit(): function test_select_authorization_server_with_serialized_config (line 79) | def test_select_authorization_server_with_serialized_config(): function test_select_authorization_server_trailing_slash_mismatch (line 115) | def test_select_authorization_server_trailing_slash_mismatch(): function test_normalize_resource_with_fallback (line 138) | def test_normalize_resource_with_fallback(): function test_normalize_resource_canonicalizes_case (line 150) | def test_normalize_resource_canonicalizes_case(): function test_oauth_loopback_ports_config_defaults (line 154) | def test_oauth_loopback_ports_config_defaults(): function test_oauth_callback_base_url_with_serialized_config (line 162) | def test_oauth_callback_base_url_with_serialized_config(): function test_callback_registry_state_mapping (line 184) | async def test_callback_registry_state_mapping(): function test_authorization_url_construction_with_trailing_slash (line 197) | async def test_authorization_url_construction_with_trailing_slash(): FILE: tests/test_token_manager.py class DummyServerConfig (line 18) | class DummyServerConfig: method __init__ (line 19) | def __init__(self, oauth_config, url="https://api.example.com/mcp"): class DummyContext (line 24) | class DummyContext: method __init__ (line 25) | def __init__( function test_preconfigured_token_lookup_and_invalidation (line 35) | async def test_preconfigured_token_lookup_and_invalidation(): function test_store_user_token_uses_workflow_and_session_metadata (line 92) | async def test_store_user_token_uses_workflow_and_session_metadata(): function test_candidate_resource_metadata_urls (line 147) | def test_candidate_resource_metadata_urls(): function test_candidate_authorization_metadata_urls (line 154) | def test_candidate_authorization_metadata_urls(): FILE: tests/test_token_verifier.py function test_fetch_introspection_endpoint_from_well_known (line 13) | async def test_fetch_introspection_endpoint_from_well_known(): function test_fetch_introspection_endpoint_with_path (line 55) | async def test_fetch_introspection_endpoint_with_path(): function test_missing_issuer_url (line 91) | async def test_missing_issuer_url(): function test_well_known_endpoint_missing_introspection (line 104) | async def test_well_known_endpoint_missing_introspection(): function test_well_known_endpoint_http_error (line 137) | async def test_well_known_endpoint_http_error(): function test_well_known_endpoint_404_error (line 158) | async def test_well_known_endpoint_404_error(): function test_introspect_without_client_auth (line 183) | async def test_introspect_without_client_auth(): function test_introspect_with_client_auth (line 232) | async def test_introspect_with_client_auth(): function test_introspect_http_error (line 284) | async def test_introspect_http_error(): function test_introspect_non_200_response (line 317) | async def test_introspect_non_200_response(): function test_introspect_invalid_json (line 354) | async def test_introspect_invalid_json(): function test_introspect_inactive_token (line 392) | async def test_introspect_inactive_token(): function test_introspect_issuer_mismatch (line 432) | async def test_introspect_issuer_mismatch(): function test_introspect_missing_required_scopes (line 476) | async def test_introspect_missing_required_scopes(): function test_introspect_with_ttl_limit (line 522) | async def test_introspect_with_ttl_limit(): function test_verify_token_caching (line 570) | async def test_verify_token_caching(): function test_verify_token_cache_removal_on_failure (line 621) | async def test_verify_token_cache_removal_on_failure(): function test_context_manager (line 683) | async def test_context_manager(): function test_concurrent_metadata_fetch (line 698) | async def test_concurrent_metadata_fetch(): function test_audience_extraction (line 746) | async def test_audience_extraction(): function test_audience_validation (line 783) | async def test_audience_validation(): function test_audience_validation_failure_through_introspect (line 816) | async def test_audience_validation_failure_through_introspect(): function test_issuer_comparison_with_trailing_slash_from_token (line 861) | async def test_issuer_comparison_with_trailing_slash_from_token(): function test_issuer_comparison_config_trailing_slash_token_without (line 913) | async def test_issuer_comparison_config_trailing_slash_token_without(): FILE: tests/test_tracing_configure.py function _install_tracer_stubs (line 9) | def _install_tracer_stubs(monkeypatch): function test_multiple_otlp_exporters (line 60) | async def test_multiple_otlp_exporters(monkeypatch): function test_sample_rate_only_applied_when_specified (line 85) | async def test_sample_rate_only_applied_when_specified(monkeypatch): FILE: tests/test_tracing_isolation.py class TestTracingIsolation (line 13) | class TestTracingIsolation: method otel_settings (line 17) | def otel_settings(self): method settings_with_otel (line 24) | def settings_with_otel(self, otel_settings): method settings_without_otel (line 29) | def settings_without_otel(self): method test_tracing_config_instance_based (line 36) | async def test_tracing_config_instance_based(self, otel_settings): method test_app_has_own_tracer_provider (line 54) | async def test_app_has_own_tracer_provider(self, settings_with_otel): method test_cleanup_restores_provider (line 74) | async def test_cleanup_restores_provider(self, settings_with_otel): method test_context_stores_tracing_config (line 87) | async def test_context_stores_tracing_config(self, settings_with_otel): method test_otel_disabled_no_tracing (line 101) | async def test_otel_disabled_no_tracing(self, settings_without_otel): method test_global_provider_set_only_once (line 112) | async def test_global_provider_set_only_once(self, settings_with_otel): method test_each_app_different_service_name (line 134) | async def test_each_app_different_service_name(self): method test_instrumentation_initialized_once (line 164) | async def test_instrumentation_initialized_once(self, settings_with_ot... method test_concurrent_apps_isolation (line 210) | async def test_concurrent_apps_isolation(self, settings_with_otel): method test_get_tracer_method (line 246) | async def test_get_tracer_method(self, otel_settings): method test_cleanup_context_with_shutdown_logger (line 265) | async def test_cleanup_context_with_shutdown_logger(self): method test_file_span_exporter_isolation (line 285) | async def test_file_span_exporter_isolation(self): method test_file_span_exporter_with_path_settings (line 363) | async def test_file_span_exporter_with_path_settings(self): method test_force (line 416) | async def test_force(self, otel_settings): method test_concurrent_apps_different_trace_files (line 436) | async def test_concurrent_apps_different_trace_files(self): FILE: tests/test_version_check.py function version_check (line 11) | def version_check(monkeypatch): function test_version_check_respects_disable_env (line 33) | def test_version_check_respects_disable_env(monkeypatch, version_check): function test_version_check_runs_once (line 50) | def test_version_check_runs_once(monkeypatch, version_check): function test_version_check_flushes_message (line 68) | def test_version_check_flushes_message(monkeypatch, version_check): FILE: tests/tools/test_crewai_tool.py function sample_multiply_tool (line 18) | def sample_multiply_tool(first_number: int, second_number: int) -> str: function sample_no_args_tool (line 24) | def sample_no_args_tool() -> str: class MultiplyToolInput (line 29) | class MultiplyToolInput(BaseModel): class MultiplyTool (line 36) | class MultiplyTool(CrewaiBaseTool): method _run (line 43) | def _run(self, first_number: float, second_number: float) -> float: class GreetToolInput (line 47) | class GreetToolInput(BaseModel): class GreetTool (line 54) | class GreetTool(CrewaiBaseTool): method _run (line 61) | def _run(self, name: str, greeting: str = "Hello") -> str: class NoArgsToolSchema (line 65) | class NoArgsToolSchema(BaseModel): class NoArgsTool (line 71) | class NoArgsTool(CrewaiBaseTool): method _run (line 78) | def _run(self) -> str: class TestConvertCrewaiToolToFunction (line 82) | class TestConvertCrewaiToolToFunction: method test_tool_decorated_function_conversion (line 85) | def test_tool_decorated_function_conversion(self): method test_tool_decorated_no_args_conversion (line 103) | def test_tool_decorated_no_args_conversion(self): method test_class_based_tool_with_required_args_conversion (line 118) | def test_class_based_tool_with_required_args_conversion(self): method test_class_based_tool_with_optional_args_conversion (line 141) | def test_class_based_tool_with_optional_args_conversion(self): method test_class_based_tool_no_args_conversion (line 165) | def test_class_based_tool_no_args_conversion(self): method test_name_sanitization (line 181) | def test_name_sanitization(self): method test_name_and_description_override (line 189) | def test_name_and_description_override(self): method test_fastmcp_integration (line 200) | def test_fastmcp_integration(self): method test_error_handling_invalid_tool (line 225) | def test_error_handling_invalid_tool(self): method test_fallback_to_run_method (line 240) | def test_fallback_to_run_method(self): method test_signature_correctness_for_fastmcp (line 263) | def test_signature_correctness_for_fastmcp(self): class TestCreateFunctionFromSchema (line 283) | class TestCreateFunctionFromSchema: method test_empty_schema (line 286) | def test_empty_schema(self): method test_schema_with_required_fields (line 304) | def test_schema_with_required_fields(self): method test_schema_with_optional_fields (line 329) | def test_schema_with_optional_fields(self): method test_parameter_binding_edge_cases (line 356) | def test_parameter_binding_edge_cases(self): FILE: tests/tools/test_langchain_tool.py function multiply_decorator_tool (line 15) | def multiply_decorator_tool(a: int, b: int) -> int: function no_args_decorator_tool (line 21) | def no_args_decorator_tool() -> str: function multiply_func (line 26) | def multiply_func(a: int, b: int) -> int: function multiply_async_func (line 31) | async def multiply_async_func(a: int, b: int) -> int: function divide_func (line 36) | def divide_func(numerator: float, denominator: float) -> float: function divide_async_func (line 43) | async def divide_async_func(numerator: float, denominator: float) -> float: class CustomBaseTool (line 50) | class CustomBaseTool(BaseTool): method _run (line 56) | def _run( class GenerateRandomFloats (line 63) | class GenerateRandomFloats(BaseTool): method _run (line 72) | def _run(self, min: float, max: float, size: int) -> Tuple[str, List[f... class TestConvertLangchainToolToFunction (line 82) | class TestConvertLangchainToolToFunction: method test_tool_decorator_conversion (line 85) | def test_tool_decorator_conversion(self): method test_tool_decorator_no_args_conversion (line 103) | def test_tool_decorator_no_args_conversion(self): method test_structured_tool_from_function_conversion (line 118) | def test_structured_tool_from_function_conversion(self): method test_structured_tool_with_async_conversion (line 137) | def test_structured_tool_with_async_conversion(self): method test_base_tool_with_run_method_conversion (line 162) | def test_base_tool_with_run_method_conversion(self): method test_complex_base_tool_conversion (line 187) | def test_complex_base_tool_conversion(self): method test_base_tool_with_run_fallback (line 212) | def test_base_tool_with_run_fallback(self): method test_callable_tool_conversion (line 233) | def test_callable_tool_conversion(self): method test_name_and_description_override (line 260) | def test_name_and_description_override(self): method test_name_fallback_behavior (line 275) | def test_name_fallback_behavior(self): method test_description_fallback_behavior (line 301) | def test_description_fallback_behavior(self): method test_error_handling_invalid_tool (line 335) | def test_error_handling_invalid_tool(self): method test_fastmcp_integration (line 349) | def test_fastmcp_integration(self): method test_signature_correctness_for_fastmcp (line 376) | def test_signature_correctness_for_fastmcp(self): method test_structured_tool_priority (line 395) | def test_structured_tool_priority(self): method test_multiple_conversion_idempotency (line 420) | def test_multiple_conversion_idempotency(self): method test_edge_case_empty_signatures (line 432) | def test_edge_case_empty_signatures(self): FILE: tests/tracing/test_token_counter.py class TestTokenUsage (line 23) | class TestTokenUsage: method test_token_usage_initialization (line 26) | def test_token_usage_initialization(self): method test_token_usage_explicit_total (line 34) | def test_token_usage_explicit_total(self): class TestTokenNode (line 40) | class TestTokenNode: method test_token_node_initialization (line 43) | def test_token_node_initialization(self): method test_add_child (line 53) | def test_add_child(self): method test_aggregate_usage_single_node (line 64) | def test_aggregate_usage_single_node(self): method test_aggregate_usage_with_children (line 74) | def test_aggregate_usage_with_children(self): method test_to_dict (line 93) | def test_to_dict(self): class TestTokenCounter (line 111) | class TestTokenCounter: method mock_logger (line 116) | def mock_logger(self): method mock_models (line 125) | def mock_models(self): method token_counter (line 189) | def token_counter(self, mock_models): method test_initialization (line 197) | def test_initialization(self, token_counter, mock_models): method test_push_pop_single (line 207) | async def test_push_pop_single(self, token_counter): method test_push_pop_nested (line 221) | async def test_push_pop_nested(self, token_counter): method test_pop_empty_stack (line 246) | async def test_pop_empty_stack(self, token_counter): method test_record_usage_no_context (line 252) | async def test_record_usage_no_context(self, token_counter): method test_record_usage_with_context (line 264) | async def test_record_usage_with_context(self, token_counter): method test_record_usage_multiple_providers (line 283) | async def test_record_usage_multiple_providers(self, token_counter): method test_find_model_info_exact_match (line 312) | def test_find_model_info_exact_match(self, token_counter): method test_find_model_info_fuzzy_match (line 325) | def test_find_model_info_fuzzy_match(self, token_counter): method test_calculate_cost (line 338) | def test_calculate_cost(self, token_counter): method test_get_summary (line 351) | async def test_get_summary(self, token_counter): method test_get_tree (line 377) | async def test_get_tree(self, token_counter): method test_reset (line 393) | async def test_reset(self, token_counter): method test_thread_safety (line 406) | async def test_thread_safety(self, token_counter): method test_fuzzy_match_prefers_prefix (line 431) | def test_fuzzy_match_prefers_prefix(self, token_counter): method test_case_insensitive_provider_lookup (line 483) | def test_case_insensitive_provider_lookup(self, token_counter): method test_blended_cost_calculation (line 494) | def test_blended_cost_calculation(self, token_counter): method test_get_node_breakdown (line 531) | async def test_get_node_breakdown(self, token_counter): method test_get_models_breakdown (line 564) | async def test_get_models_breakdown(self, token_counter): method test_watch_basic (line 596) | async def test_watch_basic(self, token_counter): method test_watch_specific_node (line 623) | async def test_watch_specific_node(self, token_counter): method test_watch_threshold (line 659) | async def test_watch_threshold(self, token_counter): method test_watch_throttling (line 687) | async def test_watch_throttling(self, token_counter): method test_watch_include_subtree (line 721) | async def test_watch_include_subtree(self, token_counter): method test_watch_cache_invalidation (line 762) | async def test_watch_cache_invalidation(self, token_counter): method test_multiple_watches (line 810) | async def test_multiple_watches(self, token_counter): method test_watch_cleanup_on_reset (line 851) | async def test_watch_cleanup_on_reset(self, token_counter): method test_get_agents_workflows_breakdown (line 872) | async def test_get_agents_workflows_breakdown(self, token_counter): FILE: tests/tracing/test_token_counter_concurrency.py function test_concurrent_workflows_and_agents_isolated_stacks (line 10) | async def test_concurrent_workflows_and_agents_isolated_stacks(): function test_concurrent_record_usage_with_scope_context_manager (line 73) | async def test_concurrent_record_usage_with_scope_context_manager(): FILE: tests/tracing/test_token_integration_convenience.py function test_app_convenience_metrics_and_watch (line 15) | async def test_app_convenience_metrics_and_watch(): class _DummyWorkflow (line 51) | class _DummyWorkflow(Workflow[str]): method run (line 52) | async def run(self, *args, **kwargs) -> WorkflowResult[str]: class _DummyLLM (line 56) | class _DummyLLM(AugmentedLLM[str, str]): method generate (line 59) | async def generate(self, message, request_params: RequestParams | None... method generate_str (line 62) | async def generate_str( method generate_structured (line 67) | async def generate_structured( function test_agent_convenience_and_disambiguation (line 74) | async def test_agent_convenience_and_disambiguation(): function test_workflow_convenience_with_ids (line 123) | async def test_workflow_convenience_with_ids(): function test_llm_convenience_and_watch (line 153) | async def test_llm_convenience_and_watch(): FILE: tests/utils/test_config_env_aliases.py class TestConfigEnvAliases (line 6) | class TestConfigEnvAliases: method clear_settings (line 8) | def clear_settings(self): method isolate_env (line 12) | def isolate_env(self, monkeypatch): method test_openai_api_key_env_variants (line 58) | def test_openai_api_key_env_variants(self, monkeypatch, env_name): method test_anthropic_api_key_env_variants (line 66) | def test_anthropic_api_key_env_variants(self, monkeypatch, env_name): method test_azure_api_key_env_variants (line 77) | def test_azure_api_key_env_variants(self, monkeypatch, env_name): method test_azure_endpoint_env_variants (line 88) | def test_azure_endpoint_env_variants(self, monkeypatch, env_name): method test_google_api_key_env_variants (line 99) | def test_google_api_key_env_variants(self, monkeypatch, env_name): method test_bedrock_flat_env (line 116) | def test_bedrock_flat_env(self, monkeypatch, env_name, attr, value): method test_aliases_from_yaml_preload (line 122) | def test_aliases_from_yaml_preload(self, monkeypatch): method test_preload_yaml_overrides_env (line 164) | def test_preload_yaml_overrides_env(self, monkeypatch): method test_yaml_used_when_env_missing_value (line 175) | def test_yaml_used_when_env_missing_value(self, monkeypatch): method test_env_vs_secrets_yaml_precedence (line 190) | def test_env_vs_secrets_yaml_precedence(self, monkeypatch): method test_dotenv_loading_from_cwd (line 214) | def test_dotenv_loading_from_cwd(self, monkeypatch, tmp_path): method test_nested_and_flat_env_compat (line 230) | def test_nested_and_flat_env_compat(self, monkeypatch): method test_anthropic_provider_bedrock_via_nested_env (line 240) | def test_anthropic_provider_bedrock_via_nested_env(self, monkeypatch): FILE: tests/utils/test_config_preload.py class TestConfigPreload (line 46) | class TestConfigPreload: method clear_global_settings (line 48) | def clear_global_settings(self): method clear_test_env (line 52) | def clear_test_env(self, monkeypatch: pytest.MonkeyPatch): method example_settings (line 58) | def example_settings(self): method settings_env (line 62) | def settings_env(self, example_settings: Settings, monkeypatch: pytest... method test_config_preload (line 66) | def test_config_preload(self, example_settings: Settings, settings_env): method test_config_preload_override (line 71) | def test_config_preload_override(self, example_settings: Settings, set... method invalid_settings_env (line 78) | def invalid_settings_env(self, monkeypatch: pytest.MonkeyPatch): method test_config_preload_invalid_lenient (line 86) | def test_config_preload_invalid_lenient(self, invalid_settings_env): method strict_parsing_env (line 93) | def strict_parsing_env(self, monkeypatch: pytest.MonkeyPatch): method test_config_preload_invalid_throws (line 96) | def test_config_preload_invalid_throws( class TestSetGlobalParameter (line 105) | class TestSetGlobalParameter: method clear_global_settings (line 109) | def clear_global_settings(self): method clear_test_env (line 116) | def clear_test_env(self, monkeypatch: pytest.MonkeyPatch): method sample_config (line 122) | def sample_config(self): method test_default_sets_global_state (line 140) | def test_default_sets_global_state(self, sample_config): method test_set_global_false_no_global_state (line 161) | def test_set_global_false_no_global_state(self, sample_config): method test_explicit_set_global_true (line 180) | def test_explicit_set_global_true(self, sample_config): method test_returns_cached_global_when_set (line 196) | def test_returns_cached_global_when_set(self, sample_config): method test_no_cached_return_when_set_global_false (line 215) | def test_no_cached_return_when_set_global_false(self, sample_config): method test_preload_with_set_global_false (line 237) | def test_preload_with_set_global_false(self, sample_config, monkeypatch): method test_explicit_config_path_with_cache_returns_cached (line 251) | def test_explicit_config_path_with_cache_returns_cached(self, sample_c... class TestThreadSafety (line 319) | class TestThreadSafety: method clear_global_settings (line 323) | def clear_global_settings(self): method simple_config (line 330) | def simple_config(self): method test_warning_from_non_main_thread_with_set_global (line 334) | def test_warning_from_non_main_thread_with_set_global(self): method test_no_warning_from_non_main_thread_without_set_global (line 354) | def test_no_warning_from_non_main_thread_without_set_global(self): method test_no_warning_from_main_thread (line 372) | def test_no_warning_from_main_thread(self): method test_multiple_threads_independent_settings (line 384) | def test_multiple_threads_independent_settings(self, simple_config): class TestConfigMergingWithSetGlobal (line 419) | class TestConfigMergingWithSetGlobal: method clear_global_settings (line 423) | def clear_global_settings(self): method config_data_with_secrets (line 430) | def config_data_with_secrets(self): method test_config_and_secrets_merge_with_set_global_false (line 441) | def test_config_and_secrets_merge_with_set_global_false( method test_default_settings_with_set_global_false (line 467) | def test_default_settings_with_set_global_false(self): FILE: tests/utils/test_content_utils.py class TestGetText (line 19) | class TestGetText: method test_get_text_from_text_content (line 20) | def test_get_text_from_text_content(self): method test_get_text_from_text_resource_contents (line 24) | def test_get_text_from_text_resource_contents(self): method test_get_text_from_embedded_resource_with_text (line 30) | def test_get_text_from_embedded_resource_with_text(self): method test_get_text_from_embedded_resource_with_blob (line 37) | def test_get_text_from_embedded_resource_with_blob(self): method test_get_text_from_image_content (line 46) | def test_get_text_from_image_content(self): class TestGetImageData (line 51) | class TestGetImageData: method test_get_image_data_from_image_content (line 52) | def test_get_image_data_from_image_content(self): method test_get_image_data_from_embedded_resource_with_blob (line 58) | def test_get_image_data_from_embedded_resource_with_blob(self): method test_get_image_data_from_text_content (line 65) | def test_get_image_data_from_text_content(self): method test_get_image_data_from_embedded_resource_with_text (line 69) | def test_get_image_data_from_embedded_resource_with_text(self): class TestGetResourceUri (line 77) | class TestGetResourceUri: method test_get_resource_uri_from_embedded_resource (line 78) | def test_get_resource_uri_from_embedded_resource(self): method test_get_resource_uri_from_text_content (line 85) | def test_get_resource_uri_from_text_content(self): method test_get_resource_uri_from_image_content (line 89) | def test_get_resource_uri_from_image_content(self): class TestIsTextContent (line 94) | class TestIsTextContent: method test_is_text_content_with_text_content (line 95) | def test_is_text_content_with_text_content(self): method test_is_text_content_with_text_resource_contents (line 99) | def test_is_text_content_with_text_resource_contents(self): method test_is_text_content_with_image_content (line 105) | def test_is_text_content_with_image_content(self): method test_is_text_content_with_embedded_resource (line 109) | def test_is_text_content_with_embedded_resource(self): class TestIsImageContent (line 117) | class TestIsImageContent: method test_is_image_content_with_image_content (line 118) | def test_is_image_content_with_image_content(self): method test_is_image_content_with_text_content (line 122) | def test_is_image_content_with_text_content(self): method test_is_image_content_with_embedded_resource (line 126) | def test_is_image_content_with_embedded_resource(self): class TestIsResourceContent (line 134) | class TestIsResourceContent: method test_is_resource_content_with_embedded_resource (line 135) | def test_is_resource_content_with_embedded_resource(self): method test_is_resource_content_with_text_content (line 142) | def test_is_resource_content_with_text_content(self): method test_is_resource_content_with_image_content (line 146) | def test_is_resource_content_with_image_content(self): FILE: tests/utils/test_mime_utils.py class TestGuessMimeType (line 9) | class TestGuessMimeType: method test_guess_mime_type_python_file (line 10) | def test_guess_mime_type_python_file(self): method test_guess_mime_type_json_file (line 13) | def test_guess_mime_type_json_file(self): method test_guess_mime_type_txt_file (line 16) | def test_guess_mime_type_txt_file(self): method test_guess_mime_type_html_file (line 19) | def test_guess_mime_type_html_file(self): method test_guess_mime_type_png_file (line 22) | def test_guess_mime_type_png_file(self): method test_guess_mime_type_webp_file (line 25) | def test_guess_mime_type_webp_file(self): method test_guess_mime_type_unknown_extension (line 28) | def test_guess_mime_type_unknown_extension(self): method test_guess_mime_type_no_extension (line 31) | def test_guess_mime_type_no_extension(self): class TestIsTextMimeType (line 35) | class TestIsTextMimeType: method test_is_text_mime_type_text_plain (line 36) | def test_is_text_mime_type_text_plain(self): method test_is_text_mime_type_text_html (line 39) | def test_is_text_mime_type_text_html(self): method test_is_text_mime_type_application_json (line 42) | def test_is_text_mime_type_application_json(self): method test_is_text_mime_type_application_javascript (line 45) | def test_is_text_mime_type_application_javascript(self): method test_is_text_mime_type_application_xml (line 48) | def test_is_text_mime_type_application_xml(self): method test_is_text_mime_type_application_yaml (line 51) | def test_is_text_mime_type_application_yaml(self): method test_is_text_mime_type_application_toml (line 54) | def test_is_text_mime_type_application_toml(self): method test_is_text_mime_type_custom_xml (line 57) | def test_is_text_mime_type_custom_xml(self): method test_is_text_mime_type_custom_json (line 60) | def test_is_text_mime_type_custom_json(self): method test_is_text_mime_type_custom_yaml (line 63) | def test_is_text_mime_type_custom_yaml(self): method test_is_text_mime_type_custom_text (line 66) | def test_is_text_mime_type_custom_text(self): method test_is_text_mime_type_image_png (line 69) | def test_is_text_mime_type_image_png(self): method test_is_text_mime_type_application_pdf (line 72) | def test_is_text_mime_type_application_pdf(self): method test_is_text_mime_type_application_octet_stream (line 75) | def test_is_text_mime_type_application_octet_stream(self): method test_is_text_mime_type_empty_string (line 78) | def test_is_text_mime_type_empty_string(self): method test_is_text_mime_type_none (line 81) | def test_is_text_mime_type_none(self): class TestIsBinaryContent (line 85) | class TestIsBinaryContent: method test_is_binary_content_image (line 86) | def test_is_binary_content_image(self): method test_is_binary_content_pdf (line 89) | def test_is_binary_content_pdf(self): method test_is_binary_content_text (line 92) | def test_is_binary_content_text(self): method test_is_binary_content_json (line 95) | def test_is_binary_content_json(self): method test_is_binary_content_xml (line 98) | def test_is_binary_content_xml(self): class TestIsImageMimeType (line 102) | class TestIsImageMimeType: method test_is_image_mime_type_png (line 103) | def test_is_image_mime_type_png(self): method test_is_image_mime_type_jpeg (line 106) | def test_is_image_mime_type_jpeg(self): method test_is_image_mime_type_gif (line 109) | def test_is_image_mime_type_gif(self): method test_is_image_mime_type_webp (line 112) | def test_is_image_mime_type_webp(self): method test_is_image_mime_type_svg_xml (line 115) | def test_is_image_mime_type_svg_xml(self): method test_is_image_mime_type_text_plain (line 119) | def test_is_image_mime_type_text_plain(self): method test_is_image_mime_type_application_pdf (line 122) | def test_is_image_mime_type_application_pdf(self): FILE: tests/utils/test_multipart_converter_anthropic.py class TestAnthropicConverter (line 17) | class TestAnthropicConverter: method test_is_supported_image_type_supported (line 18) | def test_is_supported_image_type_supported(self): method test_is_supported_image_type_unsupported (line 24) | def test_is_supported_image_type_unsupported(self): method test_convert_to_anthropic_empty_content (line 29) | def test_convert_to_anthropic_empty_content(self): method test_convert_to_anthropic_text_content (line 36) | def test_convert_to_anthropic_text_content(self): method test_convert_to_anthropic_image_content_supported (line 46) | def test_convert_to_anthropic_image_content_supported(self): method test_convert_to_anthropic_image_content_unsupported (line 58) | def test_convert_to_anthropic_image_content_unsupported(self): method test_convert_to_anthropic_assistant_filters_non_text (line 68) | def test_convert_to_anthropic_assistant_filters_non_text(self): method test_convert_prompt_message_to_anthropic (line 81) | def test_convert_prompt_message_to_anthropic(self): method test_convert_embedded_resource_text_document_mode (line 92) | def test_convert_embedded_resource_text_document_mode(self): method test_convert_embedded_resource_text_non_document_mode (line 109) | def test_convert_embedded_resource_text_non_document_mode(self): method test_convert_embedded_resource_pdf_with_blob (line 122) | def test_convert_embedded_resource_pdf_with_blob(self): method test_convert_embedded_resource_svg (line 137) | def test_convert_embedded_resource_svg(self): method test_convert_embedded_resource_image_supported (line 149) | def test_convert_embedded_resource_image_supported(self): method test_convert_embedded_resource_image_unsupported (line 161) | def test_convert_embedded_resource_image_unsupported(self): method test_determine_mime_type_from_resource_attribute (line 172) | def test_determine_mime_type_from_resource_attribute(self): method test_determine_mime_type_from_uri (line 179) | def test_determine_mime_type_from_uri(self): method test_determine_mime_type_blob_fallback (line 188) | def test_determine_mime_type_blob_fallback(self): method test_determine_mime_type_default_fallback (line 197) | def test_determine_mime_type_default_fallback(self): method test_convert_svg_resource_with_text (line 206) | def test_convert_svg_resource_with_text(self): method test_convert_svg_resource_without_text (line 216) | def test_convert_svg_resource_without_text(self): method test_create_fallback_text_without_uri (line 225) | def test_create_fallback_text_without_uri(self): method test_convert_tool_result_to_anthropic (line 233) | def test_convert_tool_result_to_anthropic(self): method test_convert_tool_result_to_anthropic_empty_content (line 248) | def test_convert_tool_result_to_anthropic_empty_content(self): method test_create_tool_results_message (line 260) | def test_create_tool_results_message(self): FILE: tests/utils/test_multipart_converter_azure.py class TestAzureConverter (line 17) | class TestAzureConverter: method test_is_supported_image_type_supported (line 18) | def test_is_supported_image_type_supported(self): method test_is_supported_image_type_unsupported (line 24) | def test_is_supported_image_type_unsupported(self): method test_convert_to_azure_empty_content (line 29) | def test_convert_to_azure_empty_content(self): method test_convert_to_azure_text_content (line 36) | def test_convert_to_azure_text_content(self): method test_convert_to_azure_image_content_supported (line 45) | def test_convert_to_azure_image_content_supported(self): method test_convert_to_azure_image_content_unsupported (line 54) | def test_convert_to_azure_image_content_unsupported(self): method test_convert_to_azure_assistant_filters_non_text (line 63) | def test_convert_to_azure_assistant_filters_non_text(self): method test_convert_prompt_message_to_azure (line 74) | def test_convert_prompt_message_to_azure(self): method test_convert_embedded_resource_text (line 84) | def test_convert_embedded_resource_text(self): method test_convert_embedded_resource_pdf (line 95) | def test_convert_embedded_resource_pdf(self): method test_convert_embedded_resource_svg (line 106) | def test_convert_embedded_resource_svg(self): method test_convert_embedded_resource_image_supported_with_url (line 118) | def test_convert_embedded_resource_image_supported_with_url(self): method test_convert_embedded_resource_image_supported_with_blob (line 129) | def test_convert_embedded_resource_image_supported_with_blob(self): method test_convert_embedded_resource_image_unsupported (line 140) | def test_convert_embedded_resource_image_unsupported(self): method test_convert_embedded_resource_image_missing_data (line 151) | def test_convert_embedded_resource_image_missing_data(self): method test_determine_mime_type_from_resource_attribute (line 162) | def test_determine_mime_type_from_resource_attribute(self): method test_determine_mime_type_from_uri (line 169) | def test_determine_mime_type_from_uri(self): method test_determine_mime_type_blob_fallback (line 177) | def test_determine_mime_type_blob_fallback(self): method test_determine_mime_type_default_fallback (line 186) | def test_determine_mime_type_default_fallback(self): method test_convert_svg_resource_with_text (line 195) | def test_convert_svg_resource_with_text(self): method test_convert_svg_resource_without_text (line 205) | def test_convert_svg_resource_without_text(self): method test_create_fallback_text_without_uri (line 214) | def test_create_fallback_text_without_uri(self): method test_create_fallback_text_with_uri (line 222) | def test_create_fallback_text_with_uri(self): method test_convert_tool_result_to_azure (line 234) | def test_convert_tool_result_to_azure(self): method test_convert_tool_result_to_azure_empty_content (line 246) | def test_convert_tool_result_to_azure_empty_content(self): method test_create_tool_results_message (line 257) | def test_create_tool_results_message(self): method test_convert_tool_result_with_embedded_resource (line 277) | def test_convert_tool_result_with_embedded_resource(self): method test_convert_tool_result_with_mixed_content (line 293) | def test_convert_tool_result_with_mixed_content(self): FILE: tests/utils/test_multipart_converter_bedrock.py class TestBedrockConverter (line 17) | class TestBedrockConverter: method test_is_supported_image_type_supported (line 18) | def test_is_supported_image_type_supported(self): method test_is_supported_image_type_unsupported (line 22) | def test_is_supported_image_type_unsupported(self): method test_convert_to_bedrock_empty_content (line 29) | def test_convert_to_bedrock_empty_content(self): method test_convert_to_bedrock_text_content (line 36) | def test_convert_to_bedrock_text_content(self): method test_convert_to_bedrock_image_content_supported (line 45) | def test_convert_to_bedrock_image_content_supported(self): method test_convert_to_bedrock_image_content_unsupported (line 56) | def test_convert_to_bedrock_image_content_unsupported(self): method test_convert_prompt_message_to_bedrock (line 66) | def test_convert_prompt_message_to_bedrock(self): method test_convert_embedded_resource_text (line 76) | def test_convert_embedded_resource_text(self): method test_convert_embedded_resource_pdf_with_blob (line 87) | def test_convert_embedded_resource_pdf_with_blob(self): method test_convert_embedded_resource_pdf_without_blob (line 102) | def test_convert_embedded_resource_pdf_without_blob(self): method test_convert_embedded_resource_svg (line 113) | def test_convert_embedded_resource_svg(self): method test_convert_embedded_resource_image_supported (line 125) | def test_convert_embedded_resource_image_supported(self): method test_convert_embedded_resource_image_unsupported (line 137) | def test_convert_embedded_resource_image_unsupported(self): method test_convert_embedded_resource_image_missing_data (line 148) | def test_convert_embedded_resource_image_missing_data(self): method test_convert_embedded_resource_text_missing_content (line 159) | def test_convert_embedded_resource_text_missing_content(self): method test_convert_embedded_resource_binary_fallback (line 170) | def test_convert_embedded_resource_binary_fallback(self): method test_determine_mime_type_from_resource_attribute (line 185) | def test_determine_mime_type_from_resource_attribute(self): method test_determine_mime_type_from_uri (line 192) | def test_determine_mime_type_from_uri(self): method test_determine_mime_type_blob_fallback (line 201) | def test_determine_mime_type_blob_fallback(self): method test_determine_mime_type_default_fallback (line 210) | def test_determine_mime_type_default_fallback(self): method test_convert_svg_resource_with_text (line 219) | def test_convert_svg_resource_with_text(self): method test_convert_svg_resource_without_text (line 229) | def test_convert_svg_resource_without_text(self): method test_create_fallback_text_without_uri (line 238) | def test_create_fallback_text_without_uri(self): method test_create_fallback_text_with_uri (line 246) | def test_create_fallback_text_with_uri(self): method test_convert_tool_result_to_bedrock (line 258) | def test_convert_tool_result_to_bedrock(self): method test_convert_tool_result_to_bedrock_error (line 272) | def test_convert_tool_result_to_bedrock_error(self): method test_convert_tool_result_to_bedrock_empty_content (line 286) | def test_convert_tool_result_to_bedrock_empty_content(self): method test_create_tool_results_message (line 301) | def test_create_tool_results_message(self): method test_convert_tool_result_with_embedded_resource (line 325) | def test_convert_tool_result_with_embedded_resource(self): method test_convert_tool_result_with_image_content (line 343) | def test_convert_tool_result_with_image_content(self): FILE: tests/utils/test_multipart_converter_google.py class TestGoogleConverter (line 17) | class TestGoogleConverter: method test_is_supported_image_type_supported (line 18) | def test_is_supported_image_type_supported(self): method test_is_supported_image_type_unsupported (line 24) | def test_is_supported_image_type_unsupported(self): method test_convert_to_google_empty_content (line 29) | def test_convert_to_google_empty_content(self): method test_convert_to_google_text_content (line 36) | def test_convert_to_google_text_content(self): method test_convert_to_google_image_content_supported (line 51) | def test_convert_to_google_image_content_supported(self): method test_convert_to_google_image_content_unsupported (line 72) | def test_convert_to_google_image_content_unsupported(self): method test_convert_to_google_image_content_missing_data (line 89) | def test_convert_to_google_image_content_missing_data(self): method test_convert_prompt_message_to_google (line 106) | def test_convert_prompt_message_to_google(self): method test_convert_embedded_resource_text (line 122) | def test_convert_embedded_resource_text(self): method test_convert_embedded_resource_text_missing_content (line 138) | def test_convert_embedded_resource_text_missing_content(self): method test_convert_embedded_resource_pdf_with_blob (line 156) | def test_convert_embedded_resource_pdf_with_blob(self): method test_convert_embedded_resource_pdf_without_blob (line 177) | def test_convert_embedded_resource_pdf_without_blob(self): method test_convert_embedded_resource_svg (line 195) | def test_convert_embedded_resource_svg(self): method test_convert_embedded_resource_image_supported (line 214) | def test_convert_embedded_resource_image_supported(self): method test_convert_embedded_resource_image_unsupported (line 235) | def test_convert_embedded_resource_image_unsupported(self): method test_convert_embedded_resource_image_missing_data (line 253) | def test_convert_embedded_resource_image_missing_data(self): method test_convert_embedded_resource_binary_fallback (line 271) | def test_convert_embedded_resource_binary_fallback(self): method test_determine_mime_type_from_resource_attribute (line 292) | def test_determine_mime_type_from_resource_attribute(self): method test_determine_mime_type_from_uri (line 299) | def test_determine_mime_type_from_uri(self): method test_determine_mime_type_blob_fallback (line 307) | def test_determine_mime_type_blob_fallback(self): method test_determine_mime_type_default_fallback (line 316) | def test_determine_mime_type_default_fallback(self): method test_convert_svg_resource_with_text (line 325) | def test_convert_svg_resource_with_text(self): method test_convert_svg_resource_without_text (line 341) | def test_convert_svg_resource_without_text(self): method test_create_fallback_text_without_uri (line 356) | def test_create_fallback_text_without_uri(self): method test_create_fallback_text_with_uri (line 370) | def test_create_fallback_text_with_uri(self): method test_convert_tool_result_to_google (line 388) | def test_convert_tool_result_to_google(self): method test_convert_tool_result_to_google_error (line 416) | def test_convert_tool_result_to_google_error(self): method test_convert_tool_result_to_google_empty_content (line 434) | def test_convert_tool_result_to_google_empty_content(self): method test_create_tool_results_message (line 452) | def test_create_tool_results_message(self): method test_convert_tool_result_with_embedded_resource (line 476) | def test_convert_tool_result_with_embedded_resource(self): method test_convert_tool_result_with_image_content (line 497) | def test_convert_tool_result_with_image_content(self): FILE: tests/utils/test_multipart_converter_openai.py class TestOpenAIConverter (line 16) | class TestOpenAIConverter: method test_is_supported_image_type_supported (line 17) | def test_is_supported_image_type_supported(self): method test_is_supported_image_type_unsupported (line 23) | def test_is_supported_image_type_unsupported(self): method test_convert_to_openai_empty_content (line 28) | def test_convert_to_openai_empty_content(self): method test_convert_to_openai_single_text_content (line 35) | def test_convert_to_openai_single_text_content(self): method test_convert_to_openai_multiple_content_blocks (line 43) | def test_convert_to_openai_multiple_content_blocks(self): method test_convert_to_openai_concatenate_text_blocks (line 66) | def test_convert_to_openai_concatenate_text_blocks(self): method test_concatenate_text_blocks_with_non_text (line 82) | def test_concatenate_text_blocks_with_non_text(self): method test_concatenate_text_blocks_empty (line 99) | def test_concatenate_text_blocks_empty(self): method test_convert_prompt_message_to_openai (line 103) | def test_convert_prompt_message_to_openai(self): method test_convert_image_content (line 112) | def test_convert_image_content(self): method test_convert_image_content_with_detail (line 121) | def test_convert_image_content_with_detail(self): method test_determine_mime_type_from_resource_attribute (line 134) | def test_determine_mime_type_from_resource_attribute(self): method test_determine_mime_type_from_uri (line 141) | def test_determine_mime_type_from_uri(self): method test_determine_mime_type_blob_fallback (line 149) | def test_determine_mime_type_blob_fallback(self): method test_determine_mime_type_default_fallback (line 158) | def test_determine_mime_type_default_fallback(self): method test_convert_embedded_resource_supported_image_url (line 167) | def test_convert_embedded_resource_supported_image_url(self): method test_convert_embedded_resource_supported_image_base64 (line 178) | def test_convert_embedded_resource_supported_image_base64(self): method test_convert_embedded_resource_pdf_url (line 189) | def test_convert_embedded_resource_pdf_url(self): method test_convert_embedded_resource_pdf_blob (line 205) | def test_convert_embedded_resource_pdf_blob(self): method test_convert_embedded_resource_svg (line 217) | def test_convert_embedded_resource_svg(self): method test_convert_embedded_resource_text_file (line 232) | def test_convert_embedded_resource_text_file(self): method test_convert_embedded_resource_binary_fallback (line 247) | def test_convert_embedded_resource_binary_fallback(self): method test_extract_text_from_content_blocks_string (line 262) | def test_extract_text_from_content_blocks_string(self): method test_extract_text_from_content_blocks_list (line 266) | def test_extract_text_from_content_blocks_list(self): method test_extract_text_from_content_blocks_empty (line 276) | def test_extract_text_from_content_blocks_empty(self): method test_extract_text_from_content_blocks_no_text (line 280) | def test_extract_text_from_content_blocks_no_text(self): method test_convert_tool_result_to_openai_text_only (line 288) | def test_convert_tool_result_to_openai_text_only(self): method test_convert_tool_result_to_openai_empty_content (line 298) | def test_convert_tool_result_to_openai_empty_content(self): method test_convert_tool_result_to_openai_mixed_content (line 307) | def test_convert_tool_result_to_openai_mixed_content(self): method test_convert_function_results_to_openai (line 328) | def test_convert_function_results_to_openai(self): method test_convert_function_results_to_openai_mixed_content (line 348) | def test_convert_function_results_to_openai_mixed_content(self): FILE: tests/utils/test_prompt_message_multipart.py class TestPromptMessageMultipart (line 13) | class TestPromptMessageMultipart: method test_init (line 14) | def test_init(self): method test_to_multipart_empty_list (line 20) | def test_to_multipart_empty_list(self): method test_to_multipart_single_message (line 24) | def test_to_multipart_single_message(self): method test_to_multipart_same_role_consecutive (line 35) | def test_to_multipart_same_role_consecutive(self): method test_to_multipart_different_roles (line 48) | def test_to_multipart_different_roles(self): method test_from_multipart (line 68) | def test_from_multipart(self): method test_first_text (line 83) | def test_first_text(self): method test_first_text_no_text_content (line 93) | def test_first_text_no_text_content(self): method test_first_text_from_embedded_resource (line 101) | def test_first_text_from_embedded_resource(self): method test_last_text (line 111) | def test_last_text(self): method test_last_text_no_text_content (line 121) | def test_last_text_no_text_content(self): method test_all_text (line 129) | def test_all_text(self): method test_all_text_no_text_content (line 139) | def test_all_text_no_text_content(self): method test_add_text (line 147) | def test_add_text(self): method test_parse_get_prompt_result (line 158) | def test_parse_get_prompt_result(self): method test_from_get_prompt_result_with_result (line 173) | def test_from_get_prompt_result_with_result(self): method test_from_get_prompt_result_with_none (line 184) | def test_from_get_prompt_result_with_none(self): method test_from_get_prompt_result_with_empty_messages (line 188) | def test_from_get_prompt_result_with_empty_messages(self): FILE: tests/utils/test_pydantic_type_serializer.py class GenericContainer (line 41) | class GenericContainer(BaseModel, Generic[T]): class Status (line 48) | class Status(enum.Enum): class Location (line 54) | class Location(BaseModel): class NestedLocation (line 59) | class NestedLocation(BaseModel): method validate_name (line 65) | def validate_name(cls, v): class ComplexModel (line 69) | class ComplexModel(BaseModel): method validate_tags (line 92) | def validate_tags(cls, v): method validate_model (line 96) | def validate_model(self): class Node (line 114) | class Node(BaseModel): class AnnotatedModel (line 123) | class AnnotatedModel(BaseModel): class AliasModel (line 132) | class AliasModel(BaseModel): class Category (line 138) | class Category(BaseModel): class Group (line 150) | class Group(BaseModel): class User (line 155) | class User(BaseModel): function test_basic_model (line 165) | def test_basic_model(): function test_enum_serialization (line 184) | def test_enum_serialization(): function test_complex_model (line 195) | def test_complex_model(): function test_generic_model (line 219) | def test_generic_model(): function test_forward_refs (line 233) | def test_forward_refs(): function test_private_attributes (line 264) | def test_private_attributes(): function test_recursive_model (line 281) | def test_recursive_model(): function test_literal_type (line 315) | def test_literal_type(): FILE: tests/utils/test_resource_utils.py class TestFindResourceFile (line 23) | class TestFindResourceFile: method test_find_resource_file_exists (line 24) | def test_find_resource_file_exists(self): method test_find_resource_file_not_found (line 40) | def test_find_resource_file_not_found(self): method test_find_resource_file_multiple_prompt_files (line 49) | def test_find_resource_file_multiple_prompt_files(self): class TestLoadResourceContent (line 74) | class TestLoadResourceContent: method test_load_resource_content_text_file (line 75) | def test_load_resource_content_text_file(self): method test_load_resource_content_binary_file (line 93) | def test_load_resource_content_binary_file(self): method test_load_resource_content_file_not_found (line 113) | def test_load_resource_content_file_not_found(self): class TestCreateResourceUri (line 125) | class TestCreateResourceUri: method test_create_resource_uri (line 126) | def test_create_resource_uri(self): method test_create_resource_uri_simple_filename (line 130) | def test_create_resource_uri_simple_filename(self): class TestCreateResourceReference (line 135) | class TestCreateResourceReference: method test_create_resource_reference (line 136) | def test_create_resource_reference(self): class TestCreateEmbeddedResource (line 150) | class TestCreateEmbeddedResource: method test_create_embedded_resource_text (line 151) | def test_create_embedded_resource_text(self): method test_create_embedded_resource_binary (line 163) | def test_create_embedded_resource_binary(self): class TestCreateImageContent (line 177) | class TestCreateImageContent: method test_create_image_content (line 178) | def test_create_image_content(self): class TestCreateBlobResource (line 189) | class TestCreateBlobResource: method test_create_blob_resource (line 190) | def test_create_blob_resource(self): class TestCreateTextResource (line 204) | class TestCreateTextResource: method test_create_text_resource (line 205) | def test_create_text_resource(self): class TestNormalizeUri (line 217) | class TestNormalizeUri: method test_normalize_uri_empty_string (line 218) | def test_normalize_uri_empty_string(self): method test_normalize_uri_already_valid_uri (line 221) | def test_normalize_uri_already_valid_uri(self): method test_normalize_uri_file_uri (line 225) | def test_normalize_uri_file_uri(self): method test_normalize_uri_absolute_path (line 229) | def test_normalize_uri_absolute_path(self): method test_normalize_uri_relative_path (line 233) | def test_normalize_uri_relative_path(self): method test_normalize_uri_windows_path (line 237) | def test_normalize_uri_windows_path(self): method test_normalize_uri_simple_filename (line 241) | def test_normalize_uri_simple_filename(self): class TestExtractTitleFromUri (line 246) | class TestExtractTitleFromUri: method test_extract_title_from_http_uri (line 247) | def test_extract_title_from_http_uri(self): method test_extract_title_from_https_uri (line 253) | def test_extract_title_from_https_uri(self): method test_extract_title_from_file_uri (line 259) | def test_extract_title_from_file_uri(self): method test_extract_title_from_uri_no_path (line 265) | def test_extract_title_from_uri_no_path(self): method test_extract_title_from_uri_empty_filename (line 271) | def test_extract_title_from_uri_empty_filename(self): method test_extract_title_from_uri_exception (line 277) | def test_extract_title_from_uri_exception(self): FILE: tests/workflows/deep_orchestrator/conftest.py function mock_context (line 13) | def mock_context(): function mock_llm_factory (line 35) | def mock_llm_factory(): FILE: tests/workflows/deep_orchestrator/test_deep_orchestrator.py class MockAugmentedLLM (line 22) | class MockAugmentedLLM(AugmentedLLM): method __init__ (line 28) | def __init__(self, agent: Optional[Agent] = None, **kwargs): method generate (line 36) | async def generate(self, message, request_params=None): method set_special_return (line 45) | def set_special_return(cls, agent_name, return_value): method clear_special_returns (line 50) | def clear_special_returns(cls): method generate_str (line 54) | async def generate_str(self, message, request_params=None): method generate_structured (line 57) | async def generate_structured(self, message, response_model, request_p... method message_str (line 62) | def message_str(self, message, content_only=False): class TestDeepOrchestratorInit (line 66) | class TestDeepOrchestratorInit: method mock_llm_factory (line 70) | def mock_llm_factory(self): method mock_context (line 79) | def mock_context(self): method test_init_with_defaults (line 101) | def test_init_with_defaults(self, mock_llm_factory, mock_context): method test_init_with_custom_config (line 126) | def test_init_with_custom_config(self, mock_llm_factory, mock_context): method test_init_without_context (line 159) | def test_init_without_context(self, mock_llm_factory): class TestDeepOrchestratorExecution (line 169) | class TestDeepOrchestratorExecution: method patch_loggers (line 173) | def patch_loggers(self): method mock_llm_factory (line 188) | def mock_llm_factory(self): method mock_context (line 219) | def mock_context(self): method orchestrator (line 242) | def orchestrator(self, mock_llm_factory, mock_context): method test_simple_execution_flow (line 252) | async def test_simple_execution_flow(self, orchestrator, mock_llm_fact... method test_execution_with_steps (line 291) | async def test_execution_with_steps(self, orchestrator, mock_llm_facto... method test_replanning_flow (line 362) | async def test_replanning_flow(self, orchestrator, mock_llm_factory): method test_emergency_completion (line 464) | async def test_emergency_completion(self, orchestrator, mock_llm_facto... method test_execution_with_predefined_agents (line 524) | async def test_execution_with_predefined_agents( method test_budget_enforcement (line 629) | async def test_budget_enforcement(self, mock_llm_factory, mock_context): FILE: tests/workflows/deep_orchestrator/test_deep_orchestrator_integration.py class MockAugmentedLLM (line 25) | class MockAugmentedLLM(AugmentedLLM): method __init__ (line 31) | def __init__(self, agent: Optional[Agent] = None, **kwargs): method generate (line 42) | async def generate(self, message, request_params=None): method set_special_return (line 52) | def set_special_return(cls, agent_name, return_value): method clear_special_returns (line 57) | def clear_special_returns(cls): method generate_str (line 61) | async def generate_str(self, message, request_params=None): method generate_structured (line 65) | async def generate_structured(self, message, response_model, request_p... method message_str (line 73) | def message_str(self, message, content_only=False): class TestDeepOrchestratorIntegration (line 77) | class TestDeepOrchestratorIntegration: method mock_llm_factory (line 81) | def mock_llm_factory(self): method mock_context (line 113) | def mock_context(self): method test_full_workflow_with_knowledge_extraction (line 141) | async def test_full_workflow_with_knowledge_extraction( method test_adaptive_replanning_with_failures (line 275) | async def test_adaptive_replanning_with_failures( method test_parallel_task_execution (line 419) | async def test_parallel_task_execution(self, mock_llm_factory, mock_co... method test_budget_and_policy_integration (line 523) | async def test_budget_and_policy_integration(self, mock_llm_factory, m... method test_context_management_and_trimming (line 600) | async def test_context_management_and_trimming( method test_agent_caching (line 668) | async def test_agent_caching(self, mock_llm_factory, mock_context): FILE: tests/workflows/deep_orchestrator/test_queue.py class TestTodoQueueBasics (line 9) | class TestTodoQueueBasics: method test_init (line 12) | def test_init(self): method test_load_simple_plan (line 25) | def test_load_simple_plan(self): method test_get_next_step (line 58) | def test_get_next_step(self): method test_complete_step (line 81) | def test_complete_step(self): method test_mark_task_failed (line 107) | def test_mark_task_failed(self): class TestPlanMerging (line 121) | class TestPlanMerging: method test_merge_new_steps (line 124) | def test_merge_new_steps(self): method test_merge_duplicate_steps (line 163) | def test_merge_duplicate_steps(self): method test_merge_with_completed_steps (line 206) | def test_merge_with_completed_steps(self): method test_merge_empty_plan (line 244) | def test_merge_empty_plan(self): class TestTaskDeduplication (line 269) | class TestTaskDeduplication: method test_deduplicate_tasks_in_step (line 272) | def test_deduplicate_tasks_in_step(self): method test_deduplicate_tasks_across_steps (line 296) | def test_deduplicate_tasks_across_steps(self): class TestQueueOperations (line 330) | class TestQueueOperations: method test_clear_queue (line 333) | def test_clear_queue(self): method test_get_task_by_name (line 363) | def test_get_task_by_name(self): method test_has_ready_tasks (line 381) | def test_has_ready_tasks(self): method test_progress_summary (line 408) | def test_progress_summary(self): class TestEnqueueDequeue (line 450) | class TestEnqueueDequeue: method test_enqueue_single_step (line 453) | def test_enqueue_single_step(self): method test_dequeue_step (line 467) | def test_dequeue_step(self): method test_enqueue_with_deduplication (line 496) | def test_enqueue_with_deduplication(self): method test_enqueue_dequeue_workflow (line 521) | def test_enqueue_dequeue_workflow(self): class TestComplexScenarios (line 549) | class TestComplexScenarios: method test_interleaved_operations (line 552) | def test_interleaved_operations(self): method test_replanning_scenario (line 609) | def test_replanning_scenario(self): FILE: tests/workflows/evaluator_optimizer/test_evaluator_optimizer.py class DummyLLM (line 14) | class DummyLLM(AugmentedLLM): method __init__ (line 15) | def __init__(self, name="Dummy", instruction="Do something.", agent=No... method set_generate_return (line 23) | def set_generate_return(self, value): method set_generate_structured_return (line 26) | def set_generate_structured_return(self, value): method set_message_str (line 29) | def set_message_str(self, func): method generate (line 32) | async def generate(self, message, request_params=None): method generate_structured (line 35) | async def generate_structured(self, message, response_model, request_p... method message_str (line 38) | def message_str(self, message, content_only=False): method generate_str (line 41) | async def generate_str(self, message, request_params=None): class MockToolCallMessage (line 46) | class MockToolCallMessage: method __init__ (line 49) | def __init__(self, has_content=False): method __str__ (line 53) | def __str__(self): function mock_optimizer (line 58) | def mock_optimizer(): function mock_evaluator (line 67) | def mock_evaluator(): function test_initialization_with_augmented_llm (line 80) | def test_initialization_with_augmented_llm(mock_optimizer, mock_evaluator): function test_build_eval_prompt (line 95) | def test_build_eval_prompt(mock_optimizer, mock_evaluator): function test_build_refinement_prompt (line 111) | def test_build_refinement_prompt(mock_optimizer, mock_evaluator): function test_generate_refinement_loop (line 137) | async def test_generate_refinement_loop(monkeypatch, mock_optimizer, moc... function test_generate_str_returns_string (line 181) | async def test_generate_str_returns_string(mock_optimizer, mock_evaluator): function test_generate_str_filters_empty_messages (line 200) | async def test_generate_str_filters_empty_messages(mock_optimizer, mock_... function test_generate_str_handles_all_empty_messages (line 243) | async def test_generate_str_handles_all_empty_messages(mock_optimizer, m... function test_generate_structured_delegates_to_optimizer (line 268) | async def test_generate_structured_delegates_to_optimizer( FILE: tests/workflows/intent_classifier/conftest.py function mock_context (line 11) | def mock_context(): function test_intents (line 28) | def test_intents(): class MockEmbeddingModel (line 49) | class MockEmbeddingModel: method __init__ (line 52) | def __init__(self): method embed (line 55) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 70) | def embedding_dim(self) -> int: function mock_embedding_model (line 75) | def mock_embedding_model(): FILE: tests/workflows/intent_classifier/test_intent_classifier_embedding_cohere.py class MockCohereEmbeddingModel (line 21) | class MockCohereEmbeddingModel: method __init__ (line 24) | def __init__( method embed (line 31) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 42) | def embedding_dim(self) -> int: class TestCohereEmbeddingIntentClassifier (line 46) | class TestCohereEmbeddingIntentClassifier: method test_initialization (line 52) | def test_initialization(self, test_intents, mock_context): method test_initialization_with_custom_model (line 73) | def test_initialization_with_custom_model(self, test_intents, mock_con... method test_create_factory_method (line 94) | async def test_create_factory_method(self, test_intents, mock_context): method test_create_with_custom_model (line 117) | async def test_create_with_custom_model(self, test_intents, mock_conte... method test_classification (line 139) | async def test_classification(self, test_intents, mock_context): method test_classification_with_top_k (line 171) | async def test_classification_with_top_k(self, test_intents, mock_cont... method test_empty_intents (line 201) | def test_empty_intents(self, mock_context): method test_initialization_process (line 221) | async def test_initialization_process(self, test_intents, mock_context): method test_multiple_initialization (line 252) | async def test_multiple_initialization(self, test_intents, mock_context): FILE: tests/workflows/intent_classifier/test_intent_classifier_embedding_openai.py class MockOpenAIEmbeddingModel (line 21) | class MockOpenAIEmbeddingModel: method __init__ (line 24) | def __init__( method embed (line 31) | async def embed(self, data: List[str]) -> FloatArray: method embedding_dim (line 42) | def embedding_dim(self) -> int: class TestOpenAIEmbeddingIntentClassifier (line 46) | class TestOpenAIEmbeddingIntentClassifier: method test_initialization (line 52) | def test_initialization(self, test_intents, mock_context): method test_initialization_with_custom_model (line 73) | def test_initialization_with_custom_model(self, test_intents, mock_con... method test_create_factory_method (line 94) | async def test_create_factory_method(self, test_intents, mock_context): method test_create_with_custom_model (line 117) | async def test_create_with_custom_model(self, test_intents, mock_conte... method test_classification (line 139) | async def test_classification(self, test_intents, mock_context): method test_classification_with_top_k (line 171) | async def test_classification_with_top_k(self, test_intents, mock_cont... method test_empty_intents (line 201) | def test_empty_intents(self, mock_context): method test_initialization_process (line 221) | async def test_initialization_process(self, test_intents, mock_context): method test_multiple_initialization (line 252) | async def test_multiple_initialization(self, test_intents, mock_context): FILE: tests/workflows/intent_classifier/test_intent_classifier_llm_anthropic.py class MockAnthropicAugmentedLLM (line 21) | class MockAnthropicAugmentedLLM: method __init__ (line 24) | def __init__( method initialize (line 32) | async def initialize(self): class TestAnthropicLLMIntentClassifier (line 36) | class TestAnthropicLLMIntentClassifier: method setup_anthropic_context (line 42) | def setup_anthropic_context(self, mock_context): method test_initialization (line 50) | def test_initialization(self, test_intents, setup_anthropic_context): method test_initialization_with_custom_instruction (line 72) | def test_initialization_with_custom_instruction( method test_create_factory_method (line 97) | async def test_create_factory_method(self, test_intents, setup_anthrop... method test_create_with_custom_instruction (line 122) | async def test_create_with_custom_instruction( method test_classification (line 150) | async def test_classification(self, test_intents, setup_anthropic_cont... method test_classification_with_specific_intents (line 204) | async def test_classification_with_specific_intents( method test_empty_intents (line 278) | def test_empty_intents(self, setup_anthropic_context): method test_initialization_process (line 298) | async def test_initialization_process(self, test_intents, setup_anthro... method test_generate_context (line 329) | def test_generate_context(self, test_intents, setup_anthropic_context): method test_structured_response_handling (line 362) | async def test_structured_response_handling( method test_empty_response_handling (line 425) | async def test_empty_response_handling(self, test_intents, setup_anthr... method test_multiple_initialization (line 456) | async def test_multiple_initialization(self, test_intents, setup_anthr... FILE: tests/workflows/intent_classifier/test_intent_classifier_llm_openai.py class MockOpenAIAugmentedLLM (line 21) | class MockOpenAIAugmentedLLM: method __init__ (line 24) | def __init__( method initialize (line 32) | async def initialize(self): class TestOpenAILLMIntentClassifier (line 36) | class TestOpenAILLMIntentClassifier: method test_initialization (line 42) | def test_initialization(self, test_intents, mock_context): method test_initialization_with_custom_instruction (line 64) | def test_initialization_with_custom_instruction(self, test_intents, mo... method test_create_factory_method (line 87) | async def test_create_factory_method(self, test_intents, mock_context): method test_create_with_custom_instruction (line 112) | async def test_create_with_custom_instruction(self, test_intents, mock... method test_classification (line 138) | async def test_classification(self, test_intents, mock_context): method test_classification_with_specific_intents (line 192) | async def test_classification_with_specific_intents( method test_empty_intents (line 266) | def test_empty_intents(self, mock_context): method test_initialization_process (line 286) | async def test_initialization_process(self, test_intents, mock_context): method test_generate_context (line 317) | def test_generate_context(self, test_intents, mock_context): method test_structured_response_handling (line 350) | async def test_structured_response_handling(self, test_intents, mock_c... method test_empty_response_handling (line 411) | async def test_empty_response_handling(self, test_intents, mock_context): method test_multiple_initialization (line 442) | async def test_multiple_initialization(self, test_intents, mock_context): FILE: tests/workflows/llm/conftest.py function mock_context (line 9) | def mock_context(): FILE: tests/workflows/llm/test_anthropic_streaming.py class TestAnthropicStreaming (line 14) | class TestAnthropicStreaming: method mock_llm (line 18) | def mock_llm(self, mock_context): method default_usage (line 39) | def default_usage(self): method create_mock_stream_event (line 49) | def create_mock_stream_event(event_type, delta_text=None, content_bloc... method create_mock_stream (line 59) | def create_mock_stream(events, final_message): method test_single_turn_text_streaming (line 90) | async def test_single_turn_text_streaming(self, mock_llm, default_usage): method test_multi_iteration_with_tool_calls (line 154) | async def test_multi_iteration_with_tool_calls(self, mock_llm, default... method test_thinking_block_streaming (line 252) | async def test_thinking_block_streaming(self, mock_llm, default_usage): method test_error_handling (line 296) | async def test_error_handling(self, mock_llm): method test_history_management (line 315) | async def test_history_management(self, mock_llm, default_usage): method test_generate_str_stream_convenience_method (line 343) | async def test_generate_str_stream_convenience_method( FILE: tests/workflows/llm/test_augmented_llm_anthropic.py class TestAnthropicAugmentedLLM (line 22) | class TestAnthropicAugmentedLLM: method mock_llm (line 28) | def mock_llm(self, mock_context): method default_usage (line 56) | def default_usage(self): method create_tool_use_message (line 68) | def create_tool_use_message(call_count, usage): method create_text_message (line 90) | def create_text_message(text, usage, role="assistant", stop_reason="en... method create_tool_result_message (line 105) | def create_tool_result_message(result_text, tool_id, usage, is_error=F... method check_final_iteration_prompt_in_messages (line 122) | def check_final_iteration_prompt_in_messages(messages): method create_tool_use_side_effect (line 135) | def create_tool_use_side_effect(self, max_iterations, default_usage): method test_basic_text_generation (line 164) | async def test_basic_text_generation(self, mock_llm, default_usage): method test_generate_str (line 191) | async def test_generate_str(self, mock_llm, default_usage): method test_generate_structured (line 211) | async def test_generate_structured(self, mock_llm, default_usage): method test_with_history (line 265) | async def test_with_history(self, mock_llm, default_usage): method test_without_history (line 296) | async def test_without_history(self, mock_llm, default_usage): method test_tool_usage (line 337) | async def test_tool_usage(self, mock_llm, default_usage): method test_tool_error_handling (line 379) | async def test_tool_error_handling(self, mock_llm, default_usage): method test_api_error_handling (line 422) | async def test_api_error_handling(self, mock_llm): method test_model_selection (line 438) | async def test_model_selection(self, mock_llm, default_usage): method test_request_params_merging (line 461) | async def test_request_params_merging(self, mock_llm, default_usage): method test_type_conversion (line 489) | def test_type_conversion(self, default_usage): method test_content_block_conversions (line 521) | def test_content_block_conversions(self): method test_stop_reason_conversion (line 541) | def test_stop_reason_conversion(self): method test_system_prompt_handling (line 563) | async def test_system_prompt_handling(self, mock_llm, default_usage): method test_typed_dict_extras (line 582) | def test_typed_dict_extras(self): method test_final_response_after_max_iterations_with_tool_use (line 608) | async def test_final_response_after_max_iterations_with_tool_use( method test_generate_with_string_input (line 659) | async def test_generate_with_string_input(self, mock_llm, default_usage): method test_generate_with_message_param_input (line 687) | async def test_generate_with_message_param_input(self, mock_llm, defau... method test_generate_with_prompt_message_input (line 718) | async def test_generate_with_prompt_message_input(self, mock_llm, defa... method test_generate_with_mixed_message_types (line 744) | async def test_generate_with_mixed_message_types(self, mock_llm, defau... method test_generate_str_with_mixed_message_types (line 774) | async def test_generate_str_with_mixed_message_types(self, mock_llm, d... method test_generate_structured_with_mixed_message_types (line 802) | async def test_generate_structured_with_mixed_message_types(self, mock... method test_system_prompt_not_none_in_api_call (line 869) | async def test_system_prompt_not_none_in_api_call(self, mock_llm, defa... class TestAnthropicTokenCounting (line 922) | class TestAnthropicTokenCounting: method mock_llm_with_token_counter (line 928) | def mock_llm_with_token_counter(self): method test_token_counting_with_decorator (line 963) | async def test_token_counting_with_decorator(self, mock_llm_with_token... method test_token_counting_nested_calls (line 1008) | async def test_token_counting_nested_calls(self, mock_llm_with_token_c... method test_token_counting_summary (line 1048) | async def test_token_counting_summary(self, mock_llm_with_token_counter): FILE: tests/workflows/llm/test_augmented_llm_azure.py class TestAzureAugmentedLLM (line 35) | class TestAzureAugmentedLLM: method mock_llm (line 41) | def mock_llm(self, mock_context): method default_usage (line 86) | def default_usage(self): method create_text_response (line 97) | def create_text_response(text, finish_reason="stop", usage=None): method create_tool_use_response (line 118) | def create_tool_use_response( method test_basic_text_generation (line 154) | async def test_basic_text_generation( method test_generate_str (line 183) | async def test_generate_str(self, mock_llm: AzureAugmentedLLM, default... method test_generate_structured (line 203) | async def test_generate_structured( method test_with_history (line 237) | async def test_with_history(self, mock_llm: AzureAugmentedLLM, default... method test_without_history (line 269) | async def test_without_history(self, mock_llm: AzureAugmentedLLM, defa... method test_tool_usage (line 299) | async def test_tool_usage(self, mock_llm, default_usage): method test_tool_error_handling (line 362) | async def test_tool_error_handling(self, mock_llm, default_usage): method test_api_error_handling (line 398) | async def test_api_error_handling(self, mock_llm): method test_model_selection (line 414) | async def test_model_selection(self, mock_llm, default_usage): method test_request_params_merging (line 439) | async def test_request_params_merging(self, mock_llm, default_usage): method test_type_conversion (line 467) | def test_type_conversion(self): method test_content_type_handling (line 494) | def test_content_type_handling(self): method test_missing_azure_config (line 515) | def test_missing_azure_config(self, mock_context): method test_execute_tool_call_direct (line 530) | async def test_execute_tool_call_direct(self, mock_llm): method test_execute_tool_call_invalid_json (line 567) | async def test_execute_tool_call_invalid_json(self, mock_llm): method test_message_str (line 598) | def test_message_str(self): method test_message_param_str_with_various_content (line 625) | def test_message_param_str_with_various_content(self): method test_mcp_content_to_azure_content (line 663) | def test_mcp_content_to_azure_content(self, str_only): method test_azure_content_to_mcp_content (line 714) | def test_azure_content_to_mcp_content(self): method test_image_url_to_mime_and_base64 (line 751) | def test_image_url_to_mime_and_base64(self): method test_typed_dict_extras (line 777) | def test_typed_dict_extras(self): method test_type_converter_comprehensive (line 809) | def test_type_converter_comprehensive(self): method test_parallel_tool_calls (line 842) | async def test_parallel_tool_calls(self, mock_llm, default_usage): method test_multiple_iterations (line 914) | async def test_multiple_iterations(self, mock_llm, default_usage): method test_system_prompt_handling (line 981) | async def test_system_prompt_handling(self, mock_llm, default_usage): method test_execute_tool_call_exception (line 1031) | async def test_execute_tool_call_exception(self, mock_llm): method test_convert_message_to_message_param (line 1059) | def test_convert_message_to_message_param(self): method test_generate_with_string_input (line 1090) | async def test_generate_with_string_input(self, mock_llm, default_usage): method test_generate_with_message_param_input (line 1108) | async def test_generate_with_message_param_input(self, mock_llm, defau... method test_generate_with_prompt_message_input (line 1128) | async def test_generate_with_prompt_message_input(self, mock_llm, defa... method test_generate_with_mixed_message_types (line 1153) | async def test_generate_with_mixed_message_types(self, mock_llm, defau... method test_generate_str_with_mixed_message_types (line 1178) | async def test_generate_str_with_mixed_message_types(self, mock_llm, d... method test_generate_structured_with_mixed_message_types (line 1202) | async def test_generate_structured_with_mixed_message_types( FILE: tests/workflows/llm/test_augmented_llm_bedrock.py class TestBedrockAugmentedLLM (line 20) | class TestBedrockAugmentedLLM: method mock_llm (line 26) | def mock_llm(self, mock_context): method create_text_response (line 53) | def create_text_response(text, stop_reason="end_turn", usage=None): method create_tool_use_response (line 74) | def create_tool_use_response( method create_tool_result_message (line 105) | def create_tool_result_message(tool_result, tool_id, status="success"): method create_multiple_tool_use_response (line 123) | def create_multiple_tool_use_response( method test_basic_text_generation (line 162) | async def test_basic_text_generation(self, mock_llm): method test_generate_str (line 189) | async def test_generate_str(self, mock_llm): method test_generate_structured (line 207) | async def test_generate_structured(self, mock_llm): method test_with_history (line 237) | async def test_with_history(self, mock_llm): method test_without_history (line 269) | async def test_without_history(self, mock_llm): method test_tool_usage (line 308) | async def test_tool_usage(self, mock_llm: BedrockAugmentedLLM): method test_tool_error_handling (line 351) | async def test_tool_error_handling(self, mock_llm): method test_api_error_handling (line 395) | async def test_api_error_handling(self, mock_llm): method test_model_selection (line 411) | async def test_model_selection(self, mock_llm): method test_request_params_merging (line 434) | async def test_request_params_merging(self, mock_llm): method test_type_conversion (line 462) | def test_type_conversion(self): method test_content_block_conversions (line 483) | def test_content_block_conversions(self): method test_stop_reasons (line 510) | async def test_stop_reasons(self, mock_llm): method test_typed_dict_extras (line 539) | def test_typed_dict_extras(self): method test_tool_configuration (line 565) | async def test_tool_configuration(self, mock_llm: BedrockAugmentedLLM): method test_generate_with_string_input (line 605) | async def test_generate_with_string_input(self, mock_llm): method test_generate_with_message_param_input (line 624) | async def test_generate_with_message_param_input(self, mock_llm): method test_generate_with_prompt_message_input (line 647) | async def test_generate_with_prompt_message_input(self, mock_llm): method test_generate_with_mixed_message_types (line 672) | async def test_generate_with_mixed_message_types(self, mock_llm): method test_generate_str_with_mixed_message_types (line 695) | async def test_generate_str_with_mixed_message_types(self, mock_llm): method test_generate_structured_with_mixed_message_types (line 717) | async def test_generate_structured_with_mixed_message_types(self, mock... method test_multiple_tool_usage (line 758) | async def test_multiple_tool_usage(self, mock_llm: BedrockAugmentedLLM): FILE: tests/workflows/llm/test_augmented_llm_google.py class TestGoogleAugmentedLLM (line 19) | class TestGoogleAugmentedLLM: method mock_llm (line 25) | def mock_llm(self, mock_context): method create_text_response (line 53) | def create_text_response(text, finish_reason="STOP", usage=None): method create_tool_use_response (line 80) | def create_tool_use_response( method create_tool_result_message (line 111) | def create_tool_result_message(tool_result, tool_name, status="success"): method test_basic_text_generation (line 133) | async def test_basic_text_generation(self, mock_llm): method test_generate_str (line 158) | async def test_generate_str(self, mock_llm): method test_generate_structured (line 176) | async def test_generate_structured(self, mock_llm: GoogleAugmentedLLM): method test_with_history (line 205) | async def test_with_history(self, mock_llm: GoogleAugmentedLLM): method test_without_history (line 242) | async def test_without_history(self, mock_llm: GoogleAugmentedLLM): method test_tool_usage (line 291) | async def test_tool_usage(self, mock_llm: GoogleAugmentedLLM): method test_tool_error_handling (line 363) | async def test_tool_error_handling(self, mock_llm: GoogleAugmentedLLM): method test_api_error_handling (line 430) | async def test_api_error_handling(self, mock_llm): method test_model_selection (line 446) | async def test_model_selection(self, mock_llm): method test_request_params_merging (line 469) | async def test_request_params_merging(self, mock_llm): method test_type_conversion (line 497) | def test_type_conversion(self): method test_content_block_conversions (line 522) | def test_content_block_conversions(self): method test_transform_mcp_tool_schema (line 553) | def test_transform_mcp_tool_schema(self): method test_generate_with_string_input (line 627) | async def test_generate_with_string_input(self, mock_llm): method test_generate_with_message_param_input (line 647) | async def test_generate_with_message_param_input(self, mock_llm): method test_generate_with_prompt_message_input (line 673) | async def test_generate_with_prompt_message_input(self, mock_llm): method test_generate_with_mixed_message_types (line 695) | async def test_generate_with_mixed_message_types(self, mock_llm): method test_generate_str_with_mixed_message_types (line 721) | async def test_generate_str_with_mixed_message_types(self, mock_llm): method test_generate_structured_with_mixed_message_types (line 746) | async def test_generate_structured_with_mixed_message_types(self, mock... method test_parallel_tool_calls (line 784) | async def test_parallel_tool_calls(self, mock_llm: GoogleAugmentedLLM): FILE: tests/workflows/llm/test_augmented_llm_lm_studio.py class TestLMStudioAugmentedLLM (line 9) | class TestLMStudioAugmentedLLM: method mock_llm (line 15) | def mock_llm(self, mock_context): method test_initialization (line 31) | def test_initialization(self, mock_llm): method test_get_provider_config (line 38) | def test_get_provider_config(self, mock_context): method test_default_settings (line 51) | def test_default_settings(self): method test_api_key_injection (line 60) | def test_api_key_injection(self, mock_context): method test_select_model_uses_config_default (line 74) | async def test_select_model_uses_config_default(self, mock_context): method test_select_model_request_params_override (line 90) | async def test_select_model_request_params_override(self, mock_context): method test_select_model_no_config_default (line 108) | async def test_select_model_no_config_default(self, mock_context): FILE: tests/workflows/llm/test_augmented_llm_ollama.py class TestOllamaAugmentedLLM (line 12) | class TestOllamaAugmentedLLM: method mock_llm (line 20) | def mock_llm(self, mock_context): method mock_context_factory (line 42) | def mock_context_factory(self): method test_initialization_no_openai_default_model (line 51) | def test_initialization_no_openai_default_model(self, mock_context_fac... method test_initialization_with_custom_default_model (line 73) | def test_initialization_with_custom_default_model(self, mock_context_f... method test_initialization_with_openai_default_model (line 98) | def test_initialization_with_openai_default_model(self, mock_context_f... method test_generate_structured_json_mode (line 121) | async def test_generate_structured_json_mode(self, mock_llm): method test_openai_client_initialization (line 157) | async def test_openai_client_initialization( FILE: tests/workflows/llm/test_augmented_llm_openai.py class TestOpenAIAugmentedLLM (line 24) | class TestOpenAIAugmentedLLM: method mock_llm (line 30) | def mock_llm(self, mock_context): method default_usage (line 57) | def default_usage(self): method create_text_response (line 68) | def create_text_response(text, finish_reason="stop", usage=None): method create_tool_use_response (line 91) | def create_tool_use_response( method test_basic_text_generation (line 127) | async def test_basic_text_generation(self, mock_llm, default_usage): method test_generate_str (line 155) | async def test_generate_str(self, mock_llm, default_usage): method test_generate_structured (line 175) | async def test_generate_structured(self, mock_llm, default_usage): method test_with_history (line 205) | async def test_with_history(self, mock_llm, default_usage): method test_without_history (line 237) | async def test_without_history(self, mock_llm, default_usage): method test_tool_usage (line 273) | async def test_tool_usage(self, mock_llm, default_usage): method test_tool_error_handling (line 321) | async def test_tool_error_handling(self, mock_llm, default_usage): method test_api_error_handling (line 368) | async def test_api_error_handling(self, mock_llm): method test_model_selection (line 384) | async def test_model_selection(self, mock_llm, default_usage): method test_request_params_merging (line 409) | async def test_request_params_merging(self, mock_llm, default_usage): method test_type_conversion (line 437) | def test_type_conversion(self): method test_generate_with_string_input (line 458) | async def test_generate_with_string_input(self, mock_llm, default_usage): method test_generate_with_message_param_input (line 487) | async def test_generate_with_message_param_input(self, mock_llm, defau... method test_generate_with_prompt_message_input (line 519) | async def test_generate_with_prompt_message_input(self, mock_llm, defa... method test_generate_with_mixed_message_types (line 545) | async def test_generate_with_mixed_message_types(self, mock_llm, defau... method test_generate_str_with_mixed_message_types (line 575) | async def test_generate_str_with_mixed_message_types(self, mock_llm, d... method test_generate_structured_with_mixed_message_types (line 604) | async def test_generate_structured_with_mixed_message_types(self, mock... method test_default_request_params_with_user (line 647) | async def test_default_request_params_with_user(self, mock_llm, defaul... method test_user_in_openai_config (line 673) | async def test_user_in_openai_config(self, mock_llm, default_usage): method test_reasoning_effort_in_payload (line 695) | async def test_reasoning_effort_in_payload(self, mock_llm, default_usa... method test_reasoning_effort_fallback (line 722) | async def test_reasoning_effort_fallback(self, mock_llm, default_usage): method test_reasoning_effort_values (line 744) | async def test_reasoning_effort_values(self, mock_llm, default_usage): method test_reasoning_effort_not_applied_to_non_reasoning_model (line 772) | async def test_reasoning_effort_not_applied_to_non_reasoning_model( method test_reasoning_models_detection (line 803) | async def test_reasoning_models_detection(self, mock_llm, default_usage): FILE: tests/workflows/llm/test_bedrock_streaming.py class TestBedrockStreaming (line 12) | class TestBedrockStreaming: method mock_llm (line 16) | def mock_llm(self, mock_context): method create_mock_stream_response (line 36) | def create_mock_stream_response(events, usage=None): method create_text_delta_event (line 47) | def create_text_delta_event(text): method create_message_stop_event (line 52) | def create_message_stop_event(stop_reason="end_turn"): method create_content_block_start_event (line 57) | def create_content_block_start_event(tool_use=None): method create_content_block_stop_event (line 64) | def create_content_block_stop_event(): method test_single_turn_text_streaming (line 69) | async def test_single_turn_text_streaming(self, mock_llm): method test_multi_iteration_with_tool_calls (line 126) | async def test_multi_iteration_with_tool_calls(self, mock_llm): method test_stop_reasons (line 202) | async def test_stop_reasons(self, mock_llm): method test_message_assembly_from_chunks (line 234) | async def test_message_assembly_from_chunks(self, mock_llm): method test_error_handling (line 270) | async def test_error_handling(self, mock_llm): method test_history_management (line 290) | async def test_history_management(self, mock_llm): method test_generate_str_stream_convenience_method (line 313) | async def test_generate_str_stream_convenience_method(self, mock_llm): method test_tool_result_formatting (line 338) | async def test_tool_result_formatting(self, mock_llm): FILE: tests/workflows/llm/test_request_params_tool_filter.py class TestRequestParamsToolFilter (line 12) | class TestRequestParamsToolFilter: method test_request_params_default_tool_filter_is_none (line 15) | def test_request_params_default_tool_filter_is_none(self): method test_request_params_accepts_dict_tool_filter (line 23) | def test_request_params_accepts_dict_tool_filter(self): method test_wildcard_filter (line 30) | def test_wildcard_filter(self): method test_non_namespaced_tools_key (line 36) | def test_non_namespaced_tools_key(self): method test_empty_set_filters_all_tools (line 42) | def test_empty_set_filters_all_tools(self): method test_request_params_existing_fields_unchanged (line 48) | def test_request_params_existing_fields_unchanged(self): method test_request_params_with_mixed_parameters (line 74) | def test_request_params_with_mixed_parameters(self): method test_request_params_model_dump_includes_tool_filter (line 83) | def test_request_params_model_dump_includes_tool_filter(self): method test_request_params_model_dump_excludes_unset_tool_filter (line 92) | def test_request_params_model_dump_excludes_unset_tool_filter(self): class TestAgentToolFilteringWithServer (line 107) | class TestAgentToolFilteringWithServer: method mock_agent_with_tools (line 111) | def mock_agent_with_tools(self): method test_no_filter_includes_all_tools (line 158) | async def test_no_filter_includes_all_tools(self, mock_agent_with_tools): method test_server_not_in_filter_includes_all_tools (line 169) | async def test_server_not_in_filter_includes_all_tools(self, mock_agen... method test_empty_set_filters_all_tools (line 182) | async def test_empty_set_filters_all_tools(self, mock_agent_with_tools): method test_specific_tools_filter (line 191) | async def test_specific_tools_filter(self, mock_agent_with_tools): method _apply_list_tools_logic (line 203) | async def _apply_list_tools_logic(self, agent, server_name, tool_filter): class TestAgentToolFilteringAllServers (line 241) | class TestAgentToolFilteringAllServers: method mock_agent_all_servers (line 245) | def mock_agent_all_servers(self): method test_server_in_filter_applies_filter (line 287) | async def test_server_in_filter_applies_filter(self, mock_agent_all_se... method test_wildcard_applies_to_unfiltered_servers (line 300) | async def test_wildcard_applies_to_unfiltered_servers(self, mock_agent... method test_no_filter_no_wildcard_includes_tool (line 318) | async def test_no_filter_no_wildcard_includes_tool(self, mock_agent_al... method test_empty_filter_dict_includes_all (line 338) | async def test_empty_filter_dict_includes_all(self, mock_agent_all_ser... method test_wildcard_only_filter (line 350) | async def test_wildcard_only_filter(self, mock_agent_all_servers): method test_block_all_tools_with_wildcard_empty_set (line 362) | async def test_block_all_tools_with_wildcard_empty_set( method _apply_list_tools_logic_all_servers (line 373) | async def _apply_list_tools_logic_all_servers(self, agent, tool_filter): class TestNonNamespacedToolFiltering (line 428) | class TestNonNamespacedToolFiltering: method test_non_namespaced_tools_key_filters (line 431) | def test_non_namespaced_tools_key_filters(self): method test_wildcard_filters_non_namespaced (line 454) | def test_wildcard_filters_non_namespaced(self): method test_no_filter_includes_non_namespaced (line 474) | def test_no_filter_includes_non_namespaced(self): class TestBackwardCompatibilityIntegration (line 491) | class TestBackwardCompatibilityIntegration: method mock_context (line 495) | def mock_context(self): method mock_agent (line 506) | def mock_agent(self): method test_existing_code_without_tool_filter_still_works (line 520) | async def test_existing_code_without_tool_filter_still_works(self, moc... method test_existing_code_with_server_name_still_works (line 533) | async def test_existing_code_with_server_name_still_works(self, mock_a... method test_augmented_llm_get_request_params_backward_compatible (line 543) | def test_augmented_llm_get_request_params_backward_compatible(self, mo... method test_augmented_llm_list_tools_method_signature_compatible (line 588) | async def test_augmented_llm_list_tools_method_signature_compatible(se... class TestEdgeCases (line 610) | class TestEdgeCases: method test_same_tool_name_different_servers (line 613) | def test_same_tool_name_different_servers(self): method test_server_not_in_map (line 642) | def test_server_not_in_map(self): method test_request_params_with_invalid_tool_filter_type (line 651) | def test_request_params_with_invalid_tool_filter_type(self): method test_request_params_with_empty_dict_tool_filter (line 673) | def test_request_params_with_empty_dict_tool_filter(self): method test_request_params_with_none_tool_filter_explicit (line 679) | def test_request_params_with_none_tool_filter_explicit(self): FILE: tests/workflows/llm/test_streaming_events.py class TestStreamEventType (line 12) | class TestStreamEventType: method test_event_type_values (line 15) | def test_event_type_values(self): method test_event_type_membership (line 27) | def test_event_type_membership(self): method test_event_type_iteration (line 32) | def test_event_type_iteration(self): class TestStreamEvent (line 39) | class TestStreamEvent: method test_create_text_delta_event (line 42) | def test_create_text_delta_event(self): method test_create_tool_use_start_event (line 58) | def test_create_tool_use_start_event(self): method test_create_complete_event (line 74) | def test_create_complete_event(self): method test_create_error_event (line 93) | def test_create_error_event(self): method test_default_values (line 108) | def test_default_values(self): method test_timestamp_generation (line 119) | def test_timestamp_generation(self): method test_custom_timestamp (line 127) | def test_custom_timestamp(self): method test_serialization_to_dict (line 136) | def test_serialization_to_dict(self): method test_serialization_to_json (line 156) | def test_serialization_to_json(self): method test_deserialization_from_dict (line 172) | def test_deserialization_from_dict(self): method test_invalid_event_type (line 189) | def test_invalid_event_type(self): method test_content_can_be_string_or_dict (line 194) | def test_content_can_be_string_or_dict(self): method test_metadata_is_mutable (line 210) | def test_metadata_is_mutable(self): method test_iteration_event_with_usage (line 219) | def test_iteration_event_with_usage(self): method test_thinking_event (line 238) | def test_thinking_event(self): method test_tool_result_event (line 249) | def test_tool_result_event(self): method test_equality (line 265) | def test_equality(self): method test_repr (line 282) | def test_repr(self): FILE: tests/workflows/orchestrator/conftest.py class MockAugmentedLLM (line 19) | class MockAugmentedLLM(AugmentedLLM): method __init__ (line 22) | def __init__( method generate (line 31) | async def generate(self, message, request_params=None): method generate_str (line 34) | async def generate_str(self, message, request_params=None): method generate_structured (line 37) | async def generate_structured(self, message, response_model, request_p... function mock_context (line 44) | def mock_context(): function mock_llm_factory (line 69) | def mock_llm_factory(): function mock_agents (line 79) | def mock_agents(): function mock_agent_dict (line 96) | def mock_agent_dict(mock_agents): function sample_step (line 102) | def sample_step(): function sample_plan (line 114) | def sample_plan(sample_step): function sample_step_result (line 120) | def sample_step_result(sample_step): function sample_plan_result (line 137) | def sample_plan_result(sample_step_result): FILE: tests/workflows/orchestrator/test_orchestrator.py class TestOrchestratorInit (line 17) | class TestOrchestratorInit: method test_init_with_defaults (line 20) | def test_init_with_defaults(self, mock_llm_factory, mock_context): method test_init_with_planner (line 31) | def test_init_with_planner(self, mock_llm_factory, mock_context): method test_init_with_agents (line 41) | def test_init_with_agents(self, mock_llm_factory, mock_agents, mock_co... method test_init_with_iterative_plan_type (line 53) | def test_init_with_iterative_plan_type(self, mock_llm_factory, mock_co... method test_init_with_invalid_plan_type (line 61) | def test_init_with_invalid_plan_type(self, mock_llm_factory, mock_cont... class TestOrchestratorMethods (line 70) | class TestOrchestratorMethods: method test_generate (line 73) | async def test_generate(self, mock_llm_factory, mock_context, sample_p... method test_generate_str (line 100) | async def test_generate_str( method test_execute_step (line 157) | async def test_execute_step( method test_get_full_plan (line 206) | async def test_get_full_plan( method test_get_next_step (line 232) | async def test_get_next_step(self, mock_llm_factory, mock_agents, mock... method test_execute_full_plan (line 261) | async def test_execute_full_plan( method test_execute_iterative_plan (line 331) | async def test_execute_iterative_plan( method test_execute_max_iterations (line 391) | async def test_execute_max_iterations( method test_format_agent_info (line 454) | async def test_format_agent_info(self, mock_llm_factory, mock_agents, ... method test_format_server_info (line 469) | async def test_format_server_info(self, mock_llm_factory, mock_context): method test_execute_step_with_missing_agent (line 479) | async def test_execute_step_with_missing_agent( method test_generate_with_history (line 491) | async def test_generate_with_history(self, mock_llm_factory, mock_cont... FILE: tests/workflows/orchestrator/test_orchestrator_integration.py class TestOrchestratorIntegration (line 16) | class TestOrchestratorIntegration: method test_full_workflow_execution (line 19) | async def test_full_workflow_execution( method test_iterative_workflow_execution (line 164) | async def test_iterative_workflow_execution( method test_simple_generate_workflow (line 300) | async def test_simple_generate_workflow( FILE: tests/workflows/orchestrator/test_orchestrator_models.py class TestOrchestratorModels (line 17) | class TestOrchestratorModels: method test_task_creation (line 20) | def test_task_creation(self): method test_server_task_creation (line 25) | def test_server_task_creation(self): method test_agent_task_creation (line 33) | def test_agent_task_creation(self): method test_step_creation (line 39) | def test_step_creation(self): method test_plan_creation (line 51) | def test_plan_creation(self): method test_task_with_result_creation (line 63) | def test_task_with_result_creation(self): method test_step_result_creation (line 73) | def test_step_result_creation(self): method test_step_result_add_task_result (line 92) | def test_step_result_add_task_result(self): method test_plan_result_creation (line 110) | def test_plan_result_creation(self): method test_plan_result_add_step_result (line 138) | def test_plan_result_add_step_result(self): method test_next_step_creation (line 163) | def test_next_step_creation(self): method test_format_task_result (line 175) | def test_format_task_result(self): method test_format_step_result (line 186) | def test_format_step_result(self): method test_format_plan_result (line 208) | def test_format_plan_result(self): method test_format_plan_result_complete (line 237) | def test_format_plan_result_complete(self): FILE: tests/workflows/orchestrator/test_orchestrator_overrides.py class TestOrchestratorOverrides (line 13) | class TestOrchestratorOverrides: method test_init_with_defaults (line 16) | def test_init_with_defaults(self): method test_init_with_all_overrides (line 28) | def test_init_with_all_overrides(self): class TestOrchestratorWithOverrides (line 107) | class TestOrchestratorWithOverrides: method test_orchestrator_with_custom_orchestrator_instruction (line 110) | def test_orchestrator_with_custom_orchestrator_instruction( method test_orchestrator_with_custom_planner_instruction (line 123) | def test_orchestrator_with_custom_planner_instruction( method test_orchestrator_with_custom_synthesizer_instruction (line 151) | def test_orchestrator_with_custom_synthesizer_instruction( method test_orchestrator_with_custom_full_plan_prompt (line 179) | def test_orchestrator_with_custom_full_plan_prompt( method test_orchestrator_with_custom_iterative_plan_prompt (line 219) | def test_orchestrator_with_custom_iterative_plan_prompt( method test_orchestrator_with_custom_task_prompt (line 258) | def test_orchestrator_with_custom_task_prompt(self, mock_llm_factory, ... method test_orchestrator_with_custom_synthesize_plan_prompt (line 285) | def test_orchestrator_with_custom_synthesize_plan_prompt( method test_orchestrator_with_no_overrides_uses_defaults (line 316) | def test_orchestrator_with_no_overrides_uses_defaults( method test_orchestrator_with_partial_overrides (line 364) | def test_orchestrator_with_partial_overrides(self, mock_llm_factory, m... class TestOrchestratorOverrideProtocols (line 385) | class TestOrchestratorOverrideProtocols: method test_custom_full_plan_prompt_function (line 388) | def test_custom_full_plan_prompt_function(self): method test_custom_iterative_plan_prompt_function (line 406) | def test_custom_iterative_plan_prompt_function(self): method test_custom_task_prompt_function (line 423) | def test_custom_task_prompt_function(self): method test_custom_synthesize_plan_prompt_function (line 436) | def test_custom_synthesize_plan_prompt_function(self): class TestOrchestratorOverridesIntegration (line 450) | class TestOrchestratorOverridesIntegration: method test_orchestrator_overrides_end_to_end (line 453) | def test_orchestrator_overrides_end_to_end( method test_orchestrator_override_error_handling (line 533) | def test_orchestrator_override_error_handling(self, mock_llm_factory, ... FILE: tests/workflows/orchestrator/test_orchestrator_prompts.py class TestOrchestratorPrompts (line 13) | class TestOrchestratorPrompts: method test_task_result_template (line 16) | def test_task_result_template(self): method test_step_result_template (line 26) | def test_step_result_template(self): method test_plan_result_template (line 36) | def test_plan_result_template(self): method test_full_plan_prompt_template (line 50) | def test_full_plan_prompt_template(self): method test_iterative_plan_prompt_template (line 63) | def test_iterative_plan_prompt_template(self): method test_task_prompt_template (line 76) | def test_task_prompt_template(self): method test_synthesize_step_prompt_template (line 88) | def test_synthesize_step_prompt_template(self): method test_synthesize_plan_prompt_template (line 97) | def test_synthesize_plan_prompt_template(self): method test_templates_consistency (line 106) | def test_templates_consistency(self): method test_template_order (line 124) | def test_template_order(self): FILE: tests/workflows/orchestrator/test_orchestrator_token_counting.py class TestOrchestratorTokenCounting (line 18) | class TestOrchestratorTokenCounting: method mock_logger (line 23) | def mock_logger(self): method mock_context_with_token_counter (line 32) | def mock_context_with_token_counter(self): method mock_augmented_llm_with_token_tracking (line 53) | def mock_augmented_llm_with_token_tracking(self): method mock_llm_factory_with_tokens (line 126) | def mock_llm_factory_with_tokens( method mock_agents (line 144) | def mock_agents( method test_orchestrator_token_tracking_full_plan (line 186) | async def test_orchestrator_token_tracking_full_plan( method test_orchestrator_token_tracking_iterative_plan (line 309) | async def test_orchestrator_token_tracking_iterative_plan( method test_orchestrator_nested_token_tracking (line 398) | async def test_orchestrator_nested_token_tracking( method test_orchestrator_task_execution_token_tracking (line 475) | async def test_orchestrator_task_execution_token_tracking( method test_orchestrator_error_handling_token_tracking (line 544) | async def test_orchestrator_error_handling_token_tracking( FILE: tests/workflows/parallel/conftest.py function mock_context (line 10) | def mock_context(): function mock_agent (line 20) | def mock_agent(): function mock_llm (line 32) | def mock_llm(): function mock_llm_factory (line 44) | def mock_llm_factory(mock_llm): FILE: tests/workflows/parallel/test_fan_in.py class TestFanIn (line 8) | class TestFanIn: method fan_in_with_agent (line 14) | def fan_in_with_agent(self, mock_context, mock_agent, mock_llm_factory): method fan_in_with_llm (line 27) | def fan_in_with_llm(self, mock_context, mock_llm): method test_init_with_agent_and_factory (line 39) | def test_init_with_agent_and_factory( method test_init_with_llm (line 48) | def test_init_with_llm(self, fan_in_with_llm, mock_llm): method test_init_with_agent_without_factory (line 55) | def test_init_with_agent_without_factory(self, mock_context, mock_agent): method test_generate (line 67) | async def test_generate(self, fan_in_with_llm, mock_llm): method test_generate_with_agent (line 95) | async def test_generate_with_agent( method test_generate_str (line 140) | async def test_generate_str(self, fan_in_with_llm, mock_llm): method test_generate_str_with_agent (line 168) | async def test_generate_str_with_agent( method test_generate_structured (line 213) | async def test_generate_structured(self, fan_in_with_llm, mock_llm): method test_generate_structured_with_agent (line 250) | async def test_generate_structured_with_agent( method test_aggregate_messages_dict_message_lists (line 305) | async def test_aggregate_messages_dict_message_lists(self, fan_in_with... method test_aggregate_messages_dict_strings (line 328) | async def test_aggregate_messages_dict_strings(self, fan_in_with_llm): method test_aggregate_messages_list_message_lists (line 353) | async def test_aggregate_messages_list_message_lists(self, fan_in_with... method test_aggregate_messages_list_strings (line 376) | async def test_aggregate_messages_list_strings(self, fan_in_with_llm): method test_aggregate_messages_empty_dict (line 399) | async def test_aggregate_messages_empty_dict(self, fan_in_with_llm): method test_aggregate_messages_empty_list (line 407) | async def test_aggregate_messages_empty_list(self, fan_in_with_llm): method test_aggregate_messages_invalid_dict_values (line 415) | async def test_aggregate_messages_invalid_dict_values(self, fan_in_wit... method test_aggregate_messages_invalid_list_items (line 436) | async def test_aggregate_messages_invalid_list_items(self, fan_in_with... method test_aggregate_messages_invalid_input_type (line 453) | async def test_aggregate_messages_invalid_input_type(self, fan_in_with... method test_aggregate_agent_messages (line 465) | async def test_aggregate_agent_messages(self, fan_in_with_llm): method test_aggregate_agent_messages_empty (line 484) | async def test_aggregate_agent_messages_empty(self, fan_in_with_llm): method test_aggregate_agent_message_strings (line 495) | async def test_aggregate_agent_message_strings(self, fan_in_with_llm): method test_aggregate_agent_message_strings_empty (line 511) | async def test_aggregate_agent_message_strings_empty(self, fan_in_with... method test_aggregate_message_lists (line 522) | async def test_aggregate_message_lists(self, fan_in_with_llm): method test_aggregate_message_lists_empty (line 540) | async def test_aggregate_message_lists_empty(self, fan_in_with_llm): method test_aggregate_message_strings (line 551) | async def test_aggregate_message_strings(self, fan_in_with_llm): method test_aggregate_message_strings_empty (line 567) | async def test_aggregate_message_strings_empty(self, fan_in_with_llm): FILE: tests/workflows/parallel/test_fan_out.py class TestFanOut (line 8) | class TestFanOut: method mock_function (line 14) | def mock_function(self): method mock_agent_with_name (line 23) | def mock_agent_with_name(self, mock_agent): method mock_llm_with_name (line 31) | def mock_llm_with_name(self, mock_llm): method fan_out_with_agents (line 39) | def fan_out_with_agents(self, mock_context, mock_agent_with_name, mock... method fan_out_with_llms (line 52) | def fan_out_with_llms(self, mock_context, mock_llm_with_name): method fan_out_with_functions (line 64) | def fan_out_with_functions(self, mock_context, mock_function): method fan_out_with_mixed (line 76) | def fan_out_with_mixed( method test_init_with_agents_and_factory (line 97) | def test_init_with_agents_and_factory( method test_init_with_llms (line 110) | def test_init_with_llms(self, fan_out_with_llms, mock_llm_with_name, m... method test_init_with_functions (line 120) | def test_init_with_functions( method test_init_with_mixed (line 131) | def test_init_with_mixed( method test_init_with_no_agents_or_functions (line 149) | def test_init_with_no_agents_or_functions(self, mock_context): method test_init_with_agent_without_factory (line 159) | def test_init_with_agent_without_factory(self, mock_context, mock_agen... method test_generate_with_llms (line 171) | async def test_generate_with_llms( method test_generate_with_agents (line 198) | async def test_generate_with_agents( method test_generate_with_functions (line 240) | async def test_generate_with_functions( method test_generate_with_mixed (line 266) | async def test_generate_with_mixed( method test_generate_str_with_llms (line 321) | async def test_generate_str_with_llms( method test_generate_str_with_agents (line 348) | async def test_generate_str_with_agents( method test_generate_str_with_functions (line 390) | async def test_generate_str_with_functions( method test_generate_structured_with_llms (line 414) | async def test_generate_structured_with_llms( method test_generate_structured_with_agents (line 450) | async def test_generate_structured_with_agents( method test_generate_structured_with_functions (line 501) | async def test_generate_structured_with_functions( method test_generate_with_empty_message (line 533) | async def test_generate_with_empty_message( method test_generate_with_list_message (line 559) | async def test_generate_with_list_message( FILE: tests/workflows/parallel/test_parallel_llm.py class TestParallelLLM (line 8) | class TestParallelLLM: method mock_context (line 14) | def mock_context(self): method mock_fan_in_fn (line 24) | def mock_fan_in_fn(self): method mock_agents_list (line 31) | def mock_agents_list(self, mock_agent_with_name, mock_llm_with_name): method mock_functions_list (line 38) | def mock_functions_list(self, mock_function): method mock_agent_with_name (line 45) | def mock_agent_with_name(self, mock_agent): method mock_llm_with_name (line 53) | def mock_llm_with_name(self, mock_llm): method mock_function (line 61) | def mock_function(self): method parallel_llm_with_agent (line 70) | def parallel_llm_with_agent( method parallel_llm_with_llm (line 92) | def parallel_llm_with_llm(self, mock_context, mock_llm, mock_llm_with_... method parallel_llm_with_function (line 110) | def parallel_llm_with_function( method parallel_llm_with_functions (line 124) | def parallel_llm_with_functions( method test_init_with_agent_and_agents (line 143) | def test_init_with_agent_and_agents( method test_init_with_llm_and_agents (line 161) | def test_init_with_llm_and_agents( method test_init_with_function_and_agents (line 174) | def test_init_with_function_and_agents( method test_init_with_agent_and_functions (line 187) | def test_init_with_agent_and_functions( method test_generate_with_fan_in_function (line 207) | async def test_generate_with_fan_in_function( method test_generate_with_fan_in_object (line 238) | async def test_generate_with_fan_in_object( method test_generate_str_with_fan_in_function (line 273) | async def test_generate_str_with_fan_in_function( method test_generate_str_with_fan_in_object (line 304) | async def test_generate_str_with_fan_in_object( method test_generate_structured_with_fan_in_function (line 339) | async def test_generate_structured_with_fan_in_function( method test_generate_structured_with_fan_in_object (line 377) | async def test_generate_structured_with_fan_in_object( method test_history_is_none (line 421) | def test_history_is_none(self, parallel_llm_with_agent): FILE: tests/workflows/parallel/test_parallel_llm_token_counting.py class TestParallelLLMTokenCounting (line 11) | class TestParallelLLMTokenCounting: method mock_logger (line 16) | def mock_logger(self): method mock_context_with_token_counter (line 27) | def mock_context_with_token_counter(self): method mock_augmented_llm_with_tokens (line 44) | def mock_augmented_llm_with_tokens(self): method mock_fan_out_agents (line 110) | def mock_fan_out_agents(self): method mock_fan_in_agent (line 119) | def mock_fan_in_agent(self): method mock_llm_factory_with_tokens (line 124) | def mock_llm_factory_with_tokens( method test_parallel_llm_token_tracking_basic (line 154) | async def test_parallel_llm_token_tracking_basic( method test_parallel_llm_token_tracking_with_functions (line 213) | async def test_parallel_llm_token_tracking_with_functions( method test_parallel_llm_generate_str_token_tracking (line 276) | async def test_parallel_llm_generate_str_token_tracking( method test_parallel_llm_custom_fan_in_function_token_tracking (line 331) | async def test_parallel_llm_custom_fan_in_function_token_tracking( method test_parallel_llm_nested_workflows_token_tracking (line 393) | async def test_parallel_llm_nested_workflows_token_tracking( method test_parallel_llm_error_handling_token_tracking (line 465) | async def test_parallel_llm_error_handling_token_tracking( FILE: tests/workflows/router/conftest.py function mock_context (line 17) | def mock_context(): function mock_agent (line 71) | def mock_agent(): function mock_llm (line 86) | def mock_llm(): function mock_embedding_model (line 98) | def mock_embedding_model(): function test_function (line 122) | def test_function(): function test_router_categories (line 135) | def test_router_categories(mock_agent, test_function): FILE: tests/workflows/router/test_router_base.py class TestRouter (line 15) | class TestRouter(Router): method route (line 18) | async def route(self, request: str, top_k: int = 1) -> List[RouterResu... method route_to_server (line 31) | async def route_to_server(self, request: str, top_k: int = 1) -> List[... method route_to_agent (line 37) | async def route_to_agent(self, request: str, top_k: int = 1) -> List[R... method route_to_function (line 43) | async def route_to_function( class TestRouterBase (line 52) | class TestRouterBase: method test_initialization (line 56) | def test_initialization(self, mock_context, mock_agent, test_function): method test_initialization_with_empty_inputs (line 75) | def test_initialization_with_empty_inputs(self, mock_context): method test_initialization_without_server_registry (line 87) | def test_initialization_without_server_registry(self, mock_context): method test_initialize_method (line 100) | async def test_initialize_method(self, mock_context, mock_agent, test_... method test_multiple_initialize_calls (line 137) | async def test_multiple_initialize_calls(self, mock_context, mock_agent): method test_category_getters (line 158) | def test_category_getters(self, mock_context, mock_agent, test_function): method test_category_formatting (line 186) | def test_category_formatting(self, test_router_categories): method test_tools_formatting (line 211) | def test_tools_formatting(self): method test_router_with_only_servers (line 235) | async def test_router_with_only_servers(self, mock_context): method test_router_with_only_agents (line 262) | async def test_router_with_only_agents(self, mock_context, mock_agent): method test_router_with_only_functions (line 289) | async def test_router_with_only_functions(self, mock_context, test_fun... FILE: tests/workflows/router/test_router_embedding.py class TestEmbeddingRouter (line 12) | class TestEmbeddingRouter: method test_initialization (line 16) | def test_initialization( method test_create_factory_method (line 39) | async def test_create_factory_method( method test_initialize_method (line 67) | async def test_initialize_method( method test_compute_embedding (line 102) | async def test_compute_embedding(self, mock_context, mock_embedding_mo... method test_route_method (line 132) | async def test_route_method(self, mock_context, mock_embedding_model, ... method test_route_to_server_method (line 169) | async def test_route_to_server_method(self, mock_context, mock_embeddi... method test_route_to_agent_method (line 217) | async def test_route_to_agent_method( method test_route_to_function_method (line 274) | async def test_route_to_function_method( method test_route_with_embedding_full (line 331) | async def test_route_with_embedding_full( method test_empty_categories (line 391) | async def test_empty_categories(self, mock_context, mock_embedding_mod... method test_categories_with_missing_embeddings (line 418) | async def test_categories_with_missing_embeddings( method test_embedding_similarity_scoring (line 459) | async def test_embedding_similarity_scoring( FILE: tests/workflows/router/test_router_embedding_cohere.py class MockCohereEmbeddingModel (line 10) | class MockCohereEmbeddingModel: method __init__ (line 13) | def __init__(self, model="embed-english-v3.0", context=None, **kwargs): method embed (line 19) | async def embed(self, data: List[str]) -> np.ndarray: class TestCohereEmbeddingRouter (line 31) | class TestCohereEmbeddingRouter: method setup_cohere_context (line 35) | def setup_cohere_context(self, mock_context): method test_initialization (line 42) | def test_initialization(self, setup_cohere_context, mock_agent, test_f... method test_initialization_with_custom_embedding_model (line 68) | def test_initialization_with_custom_embedding_model( method test_create_factory_method (line 94) | async def test_create_factory_method(self, setup_cohere_context, mock_... method test_create_with_custom_embedding_model (line 124) | async def test_create_with_custom_embedding_model( method test_default_embedding_model_creation (line 150) | def test_default_embedding_model_creation(self, setup_cohere_context): method test_routing_functionality (line 169) | async def test_routing_functionality(self, setup_cohere_context, mock_... method test_full_routing_flow (line 198) | async def test_full_routing_flow(self, setup_cohere_context, mock_agent): method test_integration_with_parent_methods (line 230) | async def test_integration_with_parent_methods( FILE: tests/workflows/router/test_router_embedding_openai.py class MockOpenAIEmbeddingModel (line 10) | class MockOpenAIEmbeddingModel: method __init__ (line 13) | def __init__(self, model="text-embedding-3-small", context=None, **kwa... method embed (line 19) | async def embed(self, data: List[str]) -> np.ndarray: class TestOpenAIEmbeddingRouter (line 30) | class TestOpenAIEmbeddingRouter: method setup_openai_context (line 34) | def setup_openai_context(self, mock_context): method test_initialization (line 42) | def test_initialization(self, setup_openai_context, mock_agent, test_f... method test_initialization_with_custom_embedding_model (line 70) | def test_initialization_with_custom_embedding_model( method test_create_factory_method (line 96) | async def test_create_factory_method(self, setup_openai_context, mock_... method test_create_with_custom_embedding_model (line 126) | async def test_create_with_custom_embedding_model( method test_default_embedding_model_creation (line 152) | def test_default_embedding_model_creation(self, setup_openai_context): method test_routing_functionality (line 171) | async def test_routing_functionality(self, setup_openai_context, mock_... method test_full_routing_flow (line 200) | async def test_full_routing_flow(self, setup_openai_context, mock_agent): method test_integration_with_parent_methods (line 233) | async def test_integration_with_parent_methods( FILE: tests/workflows/router/test_router_llm.py class TestLLMRouter (line 18) | class TestLLMRouter: method test_initialization (line 22) | def test_initialization(self, mock_context, mock_llm, mock_agent, test... method test_create_factory_method (line 46) | async def test_create_factory_method(self, mock_context, mock_llm, moc... method test_default_routing_instruction (line 70) | def test_default_routing_instruction(self, mock_context, mock_llm): method test_custom_routing_instruction (line 104) | def test_custom_routing_instruction(self, mock_context, mock_llm): method test_route_with_llm (line 141) | async def test_route_with_llm( method test_route_method (line 193) | async def test_route_method(self, mock_context, mock_llm, mock_agent): method test_route_to_server_method (line 234) | async def test_route_to_server_method(self, mock_context, mock_llm): method test_route_to_agent_method (line 275) | async def test_route_to_agent_method(self, mock_context, mock_llm, moc... method test_route_to_function_method (line 316) | async def test_route_to_function_method( method test_empty_llm_response (line 359) | async def test_empty_llm_response(self, mock_context, mock_llm): method test_invalid_category_in_llm_response (line 385) | async def test_invalid_category_in_llm_response(self, mock_context, mo... method test_generate_context (line 428) | def test_generate_context(self, mock_context, mock_llm, mock_agent, te... method test_generate_delegates (line 518) | async def test_generate_delegates(self, mock_context, mock_llm, mock_a... method test_generate_str_delegates (line 556) | async def test_generate_str_delegates(self, mock_context, mock_llm, mo... method test_generate_structured_delegates (line 594) | async def test_generate_structured_delegates( FILE: tests/workflows/router/test_router_llm_anthropic.py class MockAnthropicAugmentedLLM (line 12) | class MockAnthropicAugmentedLLM: method __init__ (line 15) | def __init__( method initialize (line 23) | async def initialize(self): method generate (line 26) | async def generate(self, message, **kwargs): method generate_str (line 30) | async def generate_str(self, message, **kwargs): method generate_structured (line 34) | async def generate_structured(self, message, response_model, **kwargs): class TestAnthropicLLMRouter (line 39) | class TestAnthropicLLMRouter: method setup_anthropic_context (line 43) | def setup_anthropic_context(self, mock_context): method test_initialization (line 53) | def test_initialization(self, setup_anthropic_context, mock_agent, tes... method test_initialization_with_custom_instruction (line 79) | def test_initialization_with_custom_instruction( method test_create_factory_method (line 103) | async def test_create_factory_method(self, setup_anthropic_context, mo... method test_create_with_custom_instruction (line 129) | async def test_create_with_custom_instruction( method test_anthropic_llm_configuration (line 153) | def test_anthropic_llm_configuration(self, setup_anthropic_context): method test_routing_functionality (line 176) | async def test_routing_functionality(self, setup_anthropic_context, mo... method test_full_routing_flow (line 226) | async def test_full_routing_flow(self, setup_anthropic_context, mock_a... FILE: tests/workflows/router/test_router_llm_openai.py class MockOpenAIAugmentedLLM (line 12) | class MockOpenAIAugmentedLLM: method __init__ (line 15) | def __init__( method initialize (line 23) | async def initialize(self): method generate (line 26) | async def generate(self, message, **kwargs): method generate_str (line 30) | async def generate_str(self, message, **kwargs): method generate_structured (line 34) | async def generate_structured(self, message, response_model, **kwargs): class TestOpenAILLMRouter (line 39) | class TestOpenAILLMRouter: method setup_openai_context (line 43) | def setup_openai_context(self, mock_context): method test_initialization (line 53) | def test_initialization(self, setup_openai_context, mock_agent, test_f... method test_initialization_with_custom_instruction (line 79) | def test_initialization_with_custom_instruction( method test_create_factory_method (line 103) | async def test_create_factory_method(self, setup_openai_context, mock_... method test_create_with_custom_instruction (line 129) | async def test_create_with_custom_instruction( method test_openai_llm_configuration (line 153) | def test_openai_llm_configuration(self, setup_openai_context): method test_routing_functionality (line 176) | async def test_routing_functionality(self, setup_openai_context, mock_... method test_full_routing_flow (line 226) | async def test_full_routing_flow(self, setup_openai_context, mock_agent): FILE: tests/workflows/router/test_router_token_counting.py class TestRouterTokenCounting (line 14) | class TestRouterTokenCounting: method mock_logger (line 19) | def mock_logger(self): method mock_context_with_token_counter (line 28) | def mock_context_with_token_counter(self): method mock_augmented_llm_with_token_tracking (line 55) | def mock_augmented_llm_with_token_tracking(self): method mock_router_llm (line 97) | def mock_router_llm( method mock_agents (line 107) | def mock_agents(self): method test_functions (line 116) | def test_functions(self): method test_router_basic_token_tracking (line 130) | async def test_router_basic_token_tracking( method test_router_multiple_routes_token_tracking (line 183) | async def test_router_multiple_routes_token_tracking( method test_router_specific_route_methods_token_tracking (line 246) | async def test_router_specific_route_methods_token_tracking( method test_router_empty_response_token_tracking (line 324) | async def test_router_empty_response_token_tracking( method test_router_nested_workflow_token_tracking (line 360) | async def test_router_nested_workflow_token_tracking( method test_router_error_handling_token_tracking (line 438) | async def test_router_error_handling_token_tracking( method test_router_with_custom_routing_instruction_token_tracking (line 491) | async def test_router_with_custom_routing_instruction_token_tracking( FILE: tests/workflows/swarm/conftest.py function mock_agent (line 13) | def mock_agent(): function mock_swarm_agent (line 26) | def mock_swarm_agent(): function done_agent (line 63) | def done_agent(): function test_function_result (line 69) | def test_function_result(): function test_function_agent_result (line 75) | def test_function_agent_result(mock_swarm_agent): function test_function_agent_function_result (line 81) | def test_function_agent_function_result(): function test_function_none_result (line 87) | def test_function_none_result(): function mock_tool_response (line 93) | def mock_tool_response(): FILE: tests/workflows/swarm/test_swarm.py class TestSwarmAgent (line 23) | class TestSwarmAgent: method test_swarm_agent_initialization (line 27) | async def test_swarm_agent_initialization(self): method test_call_tool_with_function_string_result (line 47) | async def test_call_tool_with_function_string_result(self, test_functi... method test_call_tool_with_function_agent_result (line 73) | async def test_call_tool_with_function_agent_result(self): method test_call_tool_with_function_agent_function_result (line 108) | async def test_call_tool_with_function_agent_function_result( method test_call_tool_with_function_dict_result (line 138) | async def test_call_tool_with_function_dict_result(self): method test_call_tool_with_unknown_result_type (line 165) | async def test_call_tool_with_unknown_result_type(self): method test_call_tool_with_non_function_tool (line 199) | async def test_call_tool_with_non_function_tool( class TestSwarm (line 220) | class TestSwarm: method test_swarm_initialization (line 224) | async def test_swarm_initialization(self, mock_swarm_agent): method test_get_tool (line 236) | async def test_get_tool(self, mock_swarm_agent): method test_pre_tool_call_with_context_variables (line 262) | async def test_pre_tool_call_with_context_variables(self, mock_swarm_a... method test_pre_tool_call_with_nonexistent_tool (line 292) | async def test_pre_tool_call_with_nonexistent_tool(self, mock_swarm_ag... method test_post_tool_call_with_agent_resource (line 316) | async def test_post_tool_call_with_agent_resource( method test_post_tool_call_with_agent_function_result (line 345) | async def test_post_tool_call_with_agent_function_result( method test_post_tool_call_with_regular_content (line 384) | async def test_post_tool_call_with_regular_content(self, mock_swarm_ag... method test_set_agent (line 402) | async def test_set_agent(self, mock_swarm_agent, mock_agent): method test_set_agent_with_done_agent (line 423) | async def test_set_agent_with_done_agent(self, mock_swarm_agent, done_... method test_should_continue (line 435) | async def test_should_continue(self, mock_swarm_agent, done_agent): class TestDoneAgent (line 456) | class TestDoneAgent: method test_done_agent_initialization (line 460) | async def test_done_agent_initialization(self): method test_done_agent_call_tool (line 470) | async def test_done_agent_call_tool(self): class TestUtilityFunctions (line 484) | class TestUtilityFunctions: method test_create_agent_resource (line 487) | def test_create_agent_resource(self, mock_agent): method test_create_agent_function_result_resource (line 498) | def test_create_agent_function_result_resource(self): FILE: tests/workflows/swarm/test_swarm_anthropic.py class TestAnthropicSwarm (line 8) | class TestAnthropicSwarm: method mock_anthropic_swarm (line 12) | def mock_anthropic_swarm(self, mock_swarm_agent): method test_anthropic_swarm_initialization (line 22) | async def test_anthropic_swarm_initialization(self, mock_swarm_agent): method test_anthropic_swarm_generate_with_default_params (line 36) | async def test_anthropic_swarm_generate_with_default_params( method test_anthropic_swarm_generate_with_custom_params (line 70) | async def test_anthropic_swarm_generate_with_custom_params( method test_anthropic_swarm_generate_multiple_iterations (line 102) | async def test_anthropic_swarm_generate_multiple_iterations( method test_anthropic_swarm_generate_early_termination (line 147) | async def test_anthropic_swarm_generate_early_termination( method test_anthropic_swarm_generate_with_done_agent (line 174) | async def test_anthropic_swarm_generate_with_done_agent( FILE: tests/workflows/swarm/test_swarm_openai.py class TestOpenAISwarm (line 8) | class TestOpenAISwarm: method mock_openai_swarm (line 12) | def mock_openai_swarm(self, mock_swarm_agent): method test_openai_swarm_initialization (line 25) | async def test_openai_swarm_initialization(self, mock_swarm_agent): method test_openai_swarm_generate_with_default_params (line 37) | async def test_openai_swarm_generate_with_default_params(self, mock_op... method test_openai_swarm_generate_with_custom_params (line 67) | async def test_openai_swarm_generate_with_custom_params(self, mock_ope... method test_openai_swarm_generate_multiple_iterations (line 97) | async def test_openai_swarm_generate_multiple_iterations(self, mock_op... method test_openai_swarm_generate_early_termination (line 140) | async def test_openai_swarm_generate_early_termination(self, mock_open... method test_openai_swarm_generate_with_done_agent (line 165) | async def test_openai_swarm_generate_with_done_agent( FILE: tests/workflows/test_agentspec_loader.py function sample_fn (line 13) | def sample_fn(): function test_yaml_agents_list_parses_agentspecs (line 17) | def test_yaml_agents_list_parses_agentspecs(tmp_path): function test_json_single_agent_object (line 39) | def test_json_single_agent_object(tmp_path): function test_markdown_front_matter_and_body_merges_instruction (line 53) | def test_markdown_front_matter_and_body_merges_instruction(): function test_markdown_code_blocks_yaml_and_json (line 78) | def test_markdown_code_blocks_yaml_and_json(): function test_functions_resolution_with_dotted_ref (line 101) | def test_functions_resolution_with_dotted_ref(tmp_path, monkeypatch): function test_load_agents_from_dir (line 118) | def test_load_agents_from_dir(tmp_path): function test_app_loads_inline_and_disk_subagents (line 142) | async def test_app_loads_inline_and_disk_subagents(tmp_path): function test_load_agent_specs_from_file_markdown (line 208) | def test_load_agent_specs_from_file_markdown(tmp_path): function test_markdown_name_conflict_precedence_logged_and_overwritten (line 232) | def test_markdown_name_conflict_precedence_logged_and_overwritten(tmp_pa... function test_app_loads_subagents_from_config_file_path (line 293) | async def test_app_loads_subagents_from_config_file_path(tmp_path): FILE: tests/workflows/test_llm_provider_errors.py function test_execute_openai_request_non_retryable (line 9) | async def test_execute_openai_request_non_retryable(monkeypatch): function test_execute_openai_request_propagates_rate_limit (line 33) | async def test_execute_openai_request_propagates_rate_limit(monkeypatch): function test_raise_non_retryable_azure (line 52) | def test_raise_non_retryable_azure(): function test_execute_anthropic_async_non_retryable (line 65) | async def test_execute_anthropic_async_non_retryable(monkeypatch):