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

314 lines
7.7 KiB
Python
Raw Normal View History

"""多渠道网关契约层入口。
契约层是横切层所有层core/application/adapters/framework均可依赖
自身不得依赖任何实现层本包聚合驱动端口被驱动端口DTO错误类型
渠道插件协议等子模块提供统一导出入口
子包分组
- **端口**ports17 个驱动端口 + 27 个被驱动端口定义核心与外部边界
的交互契约使用 ``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,
PairingExpiredError,
PermissionDeniedError,
PluginAlreadyRegisteredError,
PluginFailedError,
PluginNotFoundError,
RateLimitError,
RuleViolationError,
SchemaInitializationError,
ServerError,
TimeoutError,
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,
)
# 端口ports17 个驱动端口 + 27 个被驱动端口
from yuxi.channels.contract.ports import (
AccountManagementPort,
AdminMessagePort,
AgentRunExecutionPort,
AgentRunPort,
AuditLogRepositoryPort,
AuditQueryPort,
CachePort,
ChannelAccountRepositoryPort,
ChannelContextProviderPort,
ChannelLoginPort,
ChannelSessionRepositoryPort,
ChannelToolExecutorPort,
CloseablePort,
ConfigManagementPort,
ConfigPort,
ConversationPort,
DirectoryPort,
DoctorPort,
EventPublisherPort,
HealthAggregatorPort,
HealthCheckPort,
IdempotencyRepositoryPort,
IdentityResolverPort,
InboundMessagePort,
LoggerPort,
MaskingPort,
MessageOpsPort,
MessageQueryPort,
OutboxRepositoryPort,
PairingManagementPort,
PairingRepositoryPort,
PersistenceHealthPort,
PersistencePort,
PingablePort,
PluginLifecycleManagerPort,
PluginLifecyclePort,
QueuePort,
SessionManagementPort,
TracerPort,
TransactionPort,
UserIdentityRepositoryPort,
WhitelistCommandPort,
WhitelistManagementPort,
WizardPort,
)
__all__ = [
# 端口ports
"AccountManagementPort",
"AdminMessagePort",
"AgentRunExecutionPort",
"AgentRunPort",
"AuditLogRepositoryPort",
"AuditQueryPort",
"CachePort",
"ChannelAccountRepositoryPort",
"ChannelContextProviderPort",
"ChannelLoginPort",
"ChannelSessionRepositoryPort",
"ChannelToolExecutorPort",
"CloseablePort",
"ConfigManagementPort",
"ConfigPort",
"ConversationPort",
"DirectoryPort",
"DoctorPort",
"EventPublisherPort",
"HealthAggregatorPort",
"HealthCheckPort",
"IdempotencyRepositoryPort",
"IdentityResolverPort",
"InboundMessagePort",
"LoggerPort",
"MaskingPort",
"MessageOpsPort",
"MessageQueryPort",
"OutboxRepositoryPort",
"PairingManagementPort",
"PairingRepositoryPort",
"PersistenceHealthPort",
"PersistencePort",
"PingablePort",
"PluginLifecycleManagerPort",
"PluginLifecyclePort",
"QueuePort",
"SessionManagementPort",
"TransactionPort",
"TracerPort",
"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",
"TimeoutError",
"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",
]