ForcePilot/backend/package/yuxi/channels/contract/__init__.py

332 lines
8.2 KiB
Python
Raw Normal View History

"""多渠道网关契约层入口。
契约层是横切层所有层core/application/adapters/framework均可依赖
自身不得依赖任何实现层本包聚合驱动端口被驱动端口DTO错误类型
渠道插件协议等子模块提供统一导出入口
子包分组
- **端口**ports25 个驱动端口 + 28 个被驱动端口定义核心与外部边界
的交互契约使用 ``typing.Protocol`` + ``@runtime_checkable`` 风格声明
- **DTO**dtos38 个模块的跨层共享不可变值对象``dataclass(frozen=True)``
覆盖渠道消息路由身份会话健康配置审计插件等全场景
- **错误**errorsClient / Server / Domain 三大类错误层级禁止原生异常
穿透至核心层
- **插件协议**plugin渠道插件协议组合式适配器契约包含插件入口
清单能力声明与证明生命周期钩子扩展点协议与 15 个适配器协议
入参 / 出参均为契约层不可变值对象不泄露领域实体引用
"""
from __future__ import annotations
# DTOdtos核心跨层共享值对象按使用频率选取主要类型
from yuxi.channels.contract.dtos import (
AdminSendCmd,
AdminSendResult,
Attachment,
ChannelAccount,
ChannelHealth,
ChannelSession,
ChannelType,
ControlCmd,
ControlResult,
ConversationId,
FailureDetail,
HealthQuery,
InboundMessageCmd,
InboundResult,
LifecycleCmd,
LifecycleResult,
Message,
MessageContent,
MessageFormat,
MessageId,
Operator,
OperatorRole,
RawEvent,
RequestId,
SaveMessageCmd,
SkipDetail,
TraceContext,
TraceId,
)
# 错误类型errorsbase / client / server / domain
from yuxi.channels.contract.errors import (
AuthError,
BotLoopBudgetExceededError,
CapabilityNotProvenError,
ChannelDegradedError,
ClientError,
ConfigNotHotReloadableError,
ConfigRestartRequiredError,
ConfigRollbackError,
ConfigValidationError,
ConfigVersionConflictError,
ConflictError,
DependencyError,
DmDeniedError,
DomainError,
Error,
InternalError,
NotFoundError,
OperationTimeoutError,
PairingExpiredError,
PermissionDeniedError,
PluginAlreadyRegisteredError,
PluginFailedError,
PluginNotFoundError,
RateLimitError,
RuleViolationError,
SchemaInitializationError,
ServerError,
ValidationError,
)
# 插件协议pluginmanifest / entry / capability / lifecycle / extension_point / adapters
from yuxi.channels.contract.plugin import (
CHANNEL_ENTRY,
CapabilityDeclaration,
CapabilityProof,
CapabilityProver,
ChannelManifest,
CommandAdapter,
ConfigField,
ConfigSource,
ConflictStrategy,
DirectoryAdapter,
DoctorAdapter,
EventSubscription,
FailurePolicy,
FailureStrategy,
IdentityResolverAdapter,
InboundAdapter,
LifecycleHook,
LifecycleHookHandler,
LifecycleState,
MentionAdapter,
MessageOpsAdapter,
OutboundAdapter,
PluginDependency,
PluginHost,
PluginManifest,
ResourceQuota,
RichMessageAdapter,
SessionAdapter,
Stage,
StageSlot,
StatusAdapter,
StreamingAdapter,
ToolsAdapter,
WhitelistAdapter,
WizardAdapter,
)
# 端口ports26 个驱动端口 + 27 个被驱动端口
from yuxi.channels.contract.ports import (
AccountManagementPort,
AdminMessagePort,
AgentManagementPort,
AgentRunExecutionPort,
AgentRunPort,
AnalyticsViewPort,
AuditLogRepositoryPort,
AuditQueryPort,
CachePort,
CapabilityQueryPort,
ChannelAccountRepositoryPort,
ChannelContextProviderPort,
ChannelLoginPort,
ChannelSessionRepositoryPort,
ChannelToolExecutorPort,
CloseablePort,
ConfigManagementPort,
ConfigPort,
ContentReviewPort,
ContentReviewQueryPort,
ConversationPort,
DashboardViewPort,
DirectoryPort,
DoctorPort,
EventPublisherPort,
HealthAggregatorPort,
HealthCheckPort,
IdempotencyRepositoryPort,
IdentityResolverPort,
InboundMessagePort,
LoggerPort,
MaskingPort,
MessageManagementPort,
MessageOpsPort,
OutboxManagementPort,
OutboxRepositoryPort,
PairingManagementPort,
PairingRepositoryPort,
PersistenceHealthPort,
PersistencePort,
PingablePort,
PluginLifecycleManagerPort,
PluginLifecyclePort,
PluginManagementPort,
QueuePort,
SessionManagementPort,
TracerPort,
TransactionPort,
UserBindingPort,
UserIdentityRepositoryPort,
WhitelistCommandPort,
WhitelistManagementPort,
WizardPort,
)
__all__ = [
# 端口ports
"AccountManagementPort",
"AdminMessagePort",
"AgentManagementPort",
"AgentRunExecutionPort",
"AgentRunPort",
"AnalyticsViewPort",
"AuditLogRepositoryPort",
"AuditQueryPort",
"CachePort",
"CapabilityQueryPort",
"ChannelAccountRepositoryPort",
"ChannelContextProviderPort",
"ChannelLoginPort",
"ChannelSessionRepositoryPort",
"ChannelToolExecutorPort",
"CloseablePort",
"ConfigManagementPort",
"ConfigPort",
"ContentReviewPort",
"ContentReviewQueryPort",
"ConversationPort",
"DashboardViewPort",
"DirectoryPort",
"DoctorPort",
"EventPublisherPort",
"HealthAggregatorPort",
"HealthCheckPort",
"IdempotencyRepositoryPort",
"IdentityResolverPort",
"InboundMessagePort",
"LoggerPort",
"MaskingPort",
"MessageManagementPort",
"MessageOpsPort",
"OutboxManagementPort",
"OutboxRepositoryPort",
"PairingManagementPort",
"PairingRepositoryPort",
"PersistenceHealthPort",
"PersistencePort",
"PingablePort",
"PluginLifecycleManagerPort",
"PluginLifecyclePort",
"PluginManagementPort",
"QueuePort",
"SessionManagementPort",
"TransactionPort",
"TracerPort",
"UserBindingPort",
"UserIdentityRepositoryPort",
"WhitelistCommandPort",
"WhitelistManagementPort",
"WizardPort",
# 错误类型errors
"AuthError",
"BotLoopBudgetExceededError",
"CapabilityNotProvenError",
"ChannelDegradedError",
"ClientError",
"ConfigNotHotReloadableError",
"ConfigRestartRequiredError",
"ConfigRollbackError",
"ConfigValidationError",
"ConfigVersionConflictError",
"ConflictError",
"DependencyError",
"DmDeniedError",
"DomainError",
"Error",
"InternalError",
"NotFoundError",
"PairingExpiredError",
"PermissionDeniedError",
"PluginAlreadyRegisteredError",
"PluginFailedError",
"PluginNotFoundError",
"RateLimitError",
"RuleViolationError",
"SchemaInitializationError",
"ServerError",
"OperationTimeoutError",
"ValidationError",
# 插件协议plugin
"CHANNEL_ENTRY",
"CapabilityDeclaration",
"CapabilityProof",
"CapabilityProver",
"ChannelManifest",
"CommandAdapter",
"ConfigField",
"ConflictStrategy",
"ConfigSource",
"DirectoryAdapter",
"DoctorAdapter",
"EventSubscription",
"FailurePolicy",
"FailureStrategy",
"IdentityResolverAdapter",
"InboundAdapter",
"LifecycleHook",
"LifecycleHookHandler",
"LifecycleState",
"MentionAdapter",
"MessageOpsAdapter",
"OutboundAdapter",
"PluginDependency",
"PluginHost",
"PluginManifest",
"ResourceQuota",
"RichMessageAdapter",
"SessionAdapter",
"Stage",
"StageSlot",
"StatusAdapter",
"StreamingAdapter",
"ToolsAdapter",
"WhitelistAdapter",
"WizardAdapter",
# DTOdtos核心类型
"AdminSendCmd",
"AdminSendResult",
"Attachment",
"ChannelAccount",
"ChannelHealth",
"ChannelSession",
"ChannelType",
"ControlCmd",
"ControlResult",
"ConversationId",
"FailureDetail",
"HealthQuery",
"InboundMessageCmd",
"InboundResult",
"LifecycleCmd",
"LifecycleResult",
"Message",
"MessageContent",
"MessageFormat",
"MessageId",
"Operator",
"OperatorRole",
"RawEvent",
"RequestId",
"SaveMessageCmd",
"SkipDetail",
"TraceContext",
"TraceId",
]