mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
6aa746d891
* initial work on User Approval (and hosted mcp to validate) * small update to the comments in the sample * enable local MCP tools in chatClient get methods * working streaming and improved setup * fix for pyright * updated create_approval -> create_response method * added tests * updated HostedMcpTool and addressed feedback * update type name * naming updates * small docstring update * mypy fix * fixes and updates * fixes for responses * fix int tests * removed broken tests * updated test running * removed specific content check on websearch * increased timeout * split slow foundry test * don't parallel run samples * add dist load to unit tests --------- Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
110 lines
2.5 KiB
Python
110 lines
2.5 KiB
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
import logging
|
|
from typing import Any
|
|
|
|
logger = logging.getLogger("agent_framework")
|
|
|
|
|
|
class AgentFrameworkException(Exception):
|
|
"""Base exceptions for the Agent Framework.
|
|
|
|
Automatically logs the message as debug.
|
|
"""
|
|
|
|
def __init__(self, message: str, inner_exception: Exception | None = None, *args: Any):
|
|
"""Create an AgentFrameworkException.
|
|
|
|
This emits a debug log, with the inner_exception if provided.
|
|
"""
|
|
logger.debug(message, exc_info=inner_exception)
|
|
if inner_exception:
|
|
super().__init__(message, inner_exception, *args) # type: ignore
|
|
super().__init__(message, *args) # type: ignore
|
|
|
|
|
|
class AgentException(AgentFrameworkException):
|
|
"""Base class for all agent exceptions."""
|
|
|
|
pass
|
|
|
|
|
|
class AgentExecutionException(AgentException):
|
|
"""An error occurred while executing the agent."""
|
|
|
|
pass
|
|
|
|
|
|
# region Service Exceptions
|
|
|
|
|
|
class ServiceException(AgentFrameworkException):
|
|
"""Base class for all service exceptions."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceInitializationError(ServiceException):
|
|
"""An error occurred while initializing the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceResponseException(ServiceException):
|
|
"""Base class for all service response exceptions."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceContentFilterException(ServiceResponseException):
|
|
"""An error was raised by the content filter of the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceInvalidAuthError(ServiceException):
|
|
"""An error occurred while authenticating the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceInvalidExecutionSettingsError(ServiceResponseException):
|
|
"""An error occurred while validating the execution settings of the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceInvalidRequestError(ServiceResponseException):
|
|
"""An error occurred while validating the request to the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ServiceInvalidResponseError(ServiceResponseException):
|
|
"""An error occurred while validating the response from the service."""
|
|
|
|
pass
|
|
|
|
|
|
class ToolException(AgentFrameworkException):
|
|
"""An error occurred while executing a tool."""
|
|
|
|
pass
|
|
|
|
|
|
class ToolExecutionException(ToolException):
|
|
"""An error occurred while executing a tool."""
|
|
|
|
pass
|
|
|
|
|
|
class AdditionItemMismatch(AgentFrameworkException):
|
|
"""An error occurred while adding two types."""
|
|
|
|
def __init__(self) -> None:
|
|
"""Create an AdditionItemMismatch.
|
|
|
|
Unlike the AgentFrameworkException, this does not log the message automatically,
|
|
"""
|
|
pass
|