from __future__ import annotations as _annotations

from ._version import __version__
from .approval_store import (
    ApprovalPolicy,
    ApprovalPolicyStore,
    PermissionOptionSet,
    SessionMetadataApprovalPolicyStore,
)
from .approvals import (
    ApprovalBridge,
    ApprovalDecision,
    NativeApprovalBridge,
    ProjectionAwareApprovalBridge,
    supports_projection_aware_approval_bridge,
)
from .bridges import (
    BufferedCapabilityBridge,
    CapabilityBridge,
    ConfigOptionsBridge,
    DeepAgentsCompatibilityBridge,
    EventEmissionMode,
    ExternalHookEventBridge,
    ModelSelectionBridge,
    ModeSelectionBridge,
    ToolSurfaceBridge,
)
from .builders import GraphBridgeBuilder, GraphBuildContributions
from .config import (
    DEFAULT_AGENT_NAME,
    DEFAULT_AGENT_TITLE,
    DEFAULT_AGENT_VERSION,
    AdapterConfig,
)
from .event_projection import (
    CompositeEventProjectionMap,
    EventProjectionMap,
    StructuredEventProjectionMap,
    compose_event_projection_maps,
)
from .graph_source import (
    CompiledAgentGraph,
    FactoryGraphSource,
    GraphFactory,
    GraphSource,
    StaticGraphSource,
)
from .hook_projection import HookEvent, HookProjectionMap
from .permission_presentation import (
    DefaultPermissionToolCallBuilder,
    PermissionRequestContext,
    PermissionToolCallBuilder,
)
from .plan import (
    NativePlanGeneration,
    PlanGenerationType,
    TaskPlan,
    acp_get_plan,
    acp_mark_plan_done,
    acp_set_plan,
    acp_update_plan_entry,
    native_plan_tools,
)
from .projection import (
    BrowserProjectionMap,
    CommandProjectionMap,
    CommunityFileManagementProjectionMap,
    CompositeProjectionMap,
    DeepAgentsProjectionMap,
    DefaultToolClassifier,
    FileSystemProjectionMap,
    FinanceProjectionMap,
    HttpRequestProjectionMap,
    ProjectionAwareToolClassifier,
    ProjectionMap,
    ToolClassifier,
    WebFetchProjectionMap,
    WebSearchProjectionMap,
    build_tool_progress_update,
    build_tool_start_update,
    compose_projection_maps,
    extract_tool_call_locations,
)
from .prompt_capabilities import AdapterPromptCapabilities
from .providers import (
    ConfigOption,
    ConfigOptionsProvider,
    ModelSelectionState,
    ModeState,
    NativePlanPersistenceProvider,
    PlanProvider,
    SessionModelsProvider,
    SessionModesProvider,
)
from .runtime import LangChainAcpAgent, create_acp_agent, run_acp
from .session import (
    AcpSessionContext,
    FileSessionStore,
    JsonValue,
    MemorySessionStore,
    SessionStore,
)
from .slash import (
    SlashCommandHandler,
    SlashCommandProvider,
    SlashCommandRequest,
    SlashCommandResult,
    StaticSlashCommand,
    StaticSlashCommandProvider,
)
from .types import (
    AcpAgent,
    AgentPromptBlock,
    AudioContentBlock,
    BlobResourceContents,
    EmbeddedResourceContentBlock,
    HttpMcpServer,
    ImageContentBlock,
    McpServerStdio,
    PlanEntry,
    ResourceContentBlock,
    SseMcpServer,
    TextContentBlock,
    TextResourceContents,
)

__all__ = (
    "DEFAULT_AGENT_NAME",
    "DEFAULT_AGENT_TITLE",
    "DEFAULT_AGENT_VERSION",
    "AcpAgent",
    "AcpSessionContext",
    "AdapterConfig",
    "AdapterPromptCapabilities",
    "AgentPromptBlock",
    "ApprovalBridge",
    "ApprovalDecision",
    "ApprovalPolicy",
    "ApprovalPolicyStore",
    "AudioContentBlock",
    "BlobResourceContents",
    "BrowserProjectionMap",
    "BufferedCapabilityBridge",
    "CapabilityBridge",
    "CommandProjectionMap",
    "CommunityFileManagementProjectionMap",
    "CompiledAgentGraph",
    "CompositeEventProjectionMap",
    "CompositeProjectionMap",
    "ConfigOption",
    "ConfigOptionsBridge",
    "ConfigOptionsProvider",
    "DeepAgentsCompatibilityBridge",
    "DeepAgentsProjectionMap",
    "DefaultPermissionToolCallBuilder",
    "DefaultToolClassifier",
    "EmbeddedResourceContentBlock",
    "EventEmissionMode",
    "EventProjectionMap",
    "ExternalHookEventBridge",
    "FactoryGraphSource",
    "FileSessionStore",
    "FileSystemProjectionMap",
    "FinanceProjectionMap",
    "GraphBridgeBuilder",
    "GraphBuildContributions",
    "GraphFactory",
    "GraphSource",
    "HookEvent",
    "HookProjectionMap",
    "HttpMcpServer",
    "HttpRequestProjectionMap",
    "ImageContentBlock",
    "JsonValue",
    "LangChainAcpAgent",
    "McpServerStdio",
    "MemorySessionStore",
    "ModeSelectionBridge",
    "ModeState",
    "ModelSelectionBridge",
    "ModelSelectionState",
    "NativeApprovalBridge",
    "NativePlanGeneration",
    "NativePlanPersistenceProvider",
    "PermissionOptionSet",
    "PermissionRequestContext",
    "PermissionToolCallBuilder",
    "PlanEntry",
    "PlanGenerationType",
    "PlanProvider",
    "ProjectionAwareApprovalBridge",
    "ProjectionAwareToolClassifier",
    "ProjectionMap",
    "ResourceContentBlock",
    "SessionMetadataApprovalPolicyStore",
    "SessionModelsProvider",
    "SessionModesProvider",
    "SessionStore",
    "SlashCommandHandler",
    "SlashCommandProvider",
    "SlashCommandRequest",
    "SlashCommandResult",
    "SseMcpServer",
    "StaticGraphSource",
    "StaticSlashCommand",
    "StaticSlashCommandProvider",
    "StructuredEventProjectionMap",
    "TaskPlan",
    "TextContentBlock",
    "TextResourceContents",
    "ToolClassifier",
    "ToolSurfaceBridge",
    "WebFetchProjectionMap",
    "WebSearchProjectionMap",
    "__version__",
    "acp_get_plan",
    "acp_mark_plan_done",
    "acp_set_plan",
    "acp_update_plan_entry",
    "build_tool_progress_update",
    "build_tool_start_update",
    "compose_event_projection_maps",
    "compose_projection_maps",
    "create_acp_agent",
    "extract_tool_call_locations",
    "native_plan_tools",
    "run_acp",
    "supports_projection_aware_approval_bridge",
)
