e2m2e.api.facade#

Facade 门面:任务级入口与暴露类组合根(ADR 0043)。

接口层暴露三个类(ADR 0043):Facade 只留五个任务级能力 (design_orbit/control_orbit/transfer_design/orbit_propagation/ spacetime_transform);e2m2e.api.catalog.Catalog 承担轨道库数据管理与 族生成;e2m2e.api.spatiography.Spatiography 承担分区分析。 Facade 是组合根:Facade().catalog / Facade().spatiography 向进程内调用方交出另外两类;唯一工具清单扫描 Facade().exposed_apis ——MCP/CLI/sidecar 都从这一份清单派生(ADR 0014 决策 2,扫描根由 ADR 0043 拓宽)。方法带 mcp_exposed 元数据;算法层保留细粒度 API (专家用)。

Classes#

ToolInfo

Facade 工具的机器可读元数据。

Facade

任务级入口与暴露类组合根(ADR 0043 决策 1)。

Functions#

mcp_tools(→ list[str])

返回单个接口类实例上对 MCP 暴露的方法名(纯派生,ADR 0014)。

tool_inventory(→ list[ToolInfo])

返回对 MCP 暴露的工具及其元数据(多类扫描,ADR 0043 决策 5)。

Module Contents#

class e2m2e.api.facade.ToolInfo#

Facade 工具的机器可读元数据。

name: str#
mcp_exposed: bool#
status: Literal['implemented', 'placeholder']#
request_model: type[Any] | None = None#
class e2m2e.api.facade.Facade(config: e2m2e.api.config.Config | None = None)#

任务级入口与暴露类组合根(ADR 0043 决策 1)。

Facade(config=Config(...)) 构造注入配置(ADR 0014),只承载五个 任务级方法;轨道库与分区分析分别经 self.catalog / self.spatiography 暴露(决策 2/3),工具清单经 exposed_apis 跨类扫描(决策 5)。

_config#
catalog#
spatiography#
property config: e2m2e.api.config.Config#

运行配置(只读视图)。

长任务工具经 worker 子进程执行时,配置经 Config.to_payload() 随请求下发(#601),子进程用它重建 Facade——构造注入对全部工具生效,不再从环境变量静默重建。

property exposed_apis: tuple[Any, ...]#

暴露类实例全集(ADR 0043 决策 5;tool_inventory 的扫描根)。

design_orbit(**params) → e2m2e.api.models.DesignOrbitResponse#

Mission orbit design (tier 1). / 任务轨道设计(一档)。

薄封装 algorithm/design/design_orbit:Pydantic 校验 → 编排 → 结果 翻译为 Response。算法层异常翻译为 OrbitError。

control_orbit(**params) → e2m2e.api.models.ControlOrbitResponse#

Station-keeping Monte Carlo simulation (tier 1). / 轨道保持(一档)。

薄封装 algorithm/station_keeping/control_orbit。

transfer_design(progress_callback: ProgressCallback | None = None, **params) → e2m2e.api.models.TransferDesignResponse#

Transfer design (tier 1). / 转移轨道设计(一档)。

薄封装 algorithm/transfer/transfer_orbit:Pydantic 校验 → 编排 → 结果翻译为 Response。progress_callback(fraction, message) 上报 长任务进度(#576 Phase 1:WSB 后端映射网格任务,其余后端仅起止)。

orbit_propagation(**params) → e2m2e.api.models.PropagationResponse#

Orbit prediction (tier 1). / 轨道预报(一档)。

薄封装 algorithm/propagation/propagate_orbit:Pydantic 校验 → 传播 → EphemerisTable 翻译为 Response。

spacetime_transform(**params) → e2m2e.api.models.SpacetimeTransformResponse#

Spacetime coordinate conversion (tier 1). / 时空坐标转换(一档)。

薄封装 algorithm/coordinate/spacetime_convert:Pydantic 校验 → 逐条转换 → 结果翻译为 Response。

valid_ranges() → e2m2e.api.models.ValidRangesResponse#

请求侧条件值域清单(ADR 0014 决策 8):design_orbit 与族生成的 合法参数区间及族生成离散选项,无参数。包版本即值域版本:调用方每 会话取一次、升级后刷新;区间与校验器同源(直接消费请求模型的 valid_ranges/valid_options,不另存副本)。键为 orbit_type 或 族_Ln (LISSAJOUS 按平动点拆分,DRO 不带后缀);区间携带字段单位 (unit,如 km;缺省为无量纲或计数值)。

e2m2e.api.facade.mcp_tools(facade: Any) → list[str]#

返回单个接口类实例上对 MCP 暴露的方法名(纯派生,ADR 0014)。

e2m2e.api.facade.tool_inventory(facade: Any) → list[ToolInfo]#

返回对 MCP 暴露的工具及其元数据(多类扫描,ADR 0043 决策 5)。

扫描根是暴露类实例全集:组合根(Facade)经 exposed_apis 给出 三类;无该属性的单一对象(测试桩、单独构造的领域类)按自身扫描。 清单仍单一来源,MCP/CLI/sidecar 消费不变。