e2m2e.api.catalog#
轨道库接口类:catalog 数据管理与批量生成(ADR 0043 决策 2)。
Catalog 是接口层的轨道库类:catalog 数据管理(query/get/delete/tag/
export/sweep/terminology)与族生成(orbit_family_generation——
catalog_sweep 是它的批量编排,两者共用同一个 Rust 族生成内核)。
MCP/CLI/sidecar 经单一工具清单到达这些方法;进程内调用方从
Facade().catalog 取实例或直接构造(ADR 0043,ADR 0014 决策 2 的
类分家)。
Classes#
轨道库接口类(ADR 0043 决策 2):数据管理 + 批量生成。 |
Module Contents#
- class e2m2e.api.catalog.Catalog(config: e2m2e.api.config.Config | None = None)#
轨道库接口类(ADR 0043 决策 2):数据管理 + 批量生成。
Catalog(config=Config(...))构造注入配置;进程内调用方通常经Facade().catalog取同一实例。auto_ingest与load_record_ephemeris是同包任务方法(Facade 的 design/control/ transfer 自动入库与 input_record_id 输入解析)的接缝,非 MCP 工具。- _config#
- _catalog_store: e2m2e.data.catalog.CatalogStore | None = None#
- property config: e2m2e.api.config.Config#
运行配置(只读视图)。
- _open_catalog() e2m2e.data.catalog.CatalogStore#
懒打开库目录(首次使用时才产生目录副作用)。
未显式指定目录(
Config(catalog_dir=...)或 $E2M2E_CATALOG_DIR) 时报CATALOG_NOT_CONFIGURED,不建目录、不猜路径(ADR 0047)。
- auto_ingest(builder: collections.abc.Callable[[], tuple[dict, dict[str, Any]] | None]) str | None#
单条产物自动入库(ADR 0031 决策 8;Facade 任务方法经此接缝入库)。
无产物(站保星历缺失)返回 None;入库失败抛
CATALOG_WRITE_FAILED,不静默降级、不冒名为计算失败(ADR 0020)。
- auto_ingest_family(builder: collections.abc.Callable[[], tuple[str, list[tuple[dict, dict[str, Any]]]] | None]) str | None#
族产物逐成员自动入库(ADR 0045:一轨一记录),返回 family_id。
无产物(零成员)返回 None。逐条写入、无跨记录事务(决策 7): 中途失败时已写成员保留(诚实的部分结果)并抛
CATALOG_WRITE_FAILED;运行级溯源随每条成员走,同一 builder 单点写入,不会漂移(决策 2)。
- load_record_ephemeris(record_id: str) tuple[dict, e2m2e.data.types.trajectory.EphemerisTable]#
取库中记录的元数据与星历段(control_orbit 的 input_record_id 输入源)。
- _get_record(record_id: str) Any#
取完整记录;不存在抛
RECORD_NOT_FOUND,记录损坏抛CATALOG_READ_FAILED。
- _ingest_sweep_outcome(outcome: Any, family_request: Any) str | None#
扫描单点结果逐成员入库,返回 family_id;硬失败点(result=None)无记录。
- orbit_family_generation(progress_callback: e2m2e.api.facade.ProgressCallback | None = None, **params) e2m2e.api.models.FamilyGenerationResponse#
轨道族生成(二档)。
Pydantic 模型校验 → 按 orbit_type 分派到算法层族生成入口 → 结构化错误。九族均已实现,成功返回统一容器
FamilyGenerationResponse``(兼容 ``OrbitFamily读取接口); Lissajous 是拟周期参数采样,族上显式标注periodicity=quasi-periodic。软失败使用同一响应保留部分族。progress_callback(fraction, message)上报阶段级进度(族生成 是单次 Rust 调用,仅起止两端;逐成员进度待 Rust 侧通道)。
- catalog_query(**params) e2m2e.api.models.CatalogQueryResponse#
多维过滤查询,返回摘要列表(不含数组段与请求快照)。
- catalog_get(**params) e2m2e.api.models.CatalogRecordResponse#
按 record_id 取完整记录(含数组段);不存在抛
RECORD_NOT_FOUND。
- catalog_delete(**params) e2m2e.api.models.CatalogDeleteResponse#
按 record_id 删除记录(文件与索引条目);删除不可撤销。
- catalog_tag(**params) e2m2e.api.models.CatalogTagResponse#
写教学标注入 JSON 记录(随文件走);tags 整体替换,note=None 保留。
- catalog_export(**params) e2m2e.api.models.CatalogExportResponse#
把查询子集打包导出(标注随包);包可直接作为库打开。
- catalog_terminology() e2m2e.api.models.CatalogTerminologyResponse#
术语清单(ADR 0044):分类学标签图例 + orbit_family 闭值集 + transfer_type 闭值集,无参数。包版本即术语版本:调用方每会话取 一次、升级后刷新,未知标签按可读规范串原样渲染。
- catalog_sweep(**params) e2m2e.api.models.CatalogSweepResponse#
参数空间扫描批量生成并入库(编排复用 ADR 0029 的 Rust 族生成)。
网格 = 族 × 平动点 × 主参数维度(一维振幅/近月点高度、能量窗口、 LISSAJOUS 二维振幅,三选一);部分参数点失败时已产出的记录 保留,失败原因逐点可查(ADR 0020 软失败语义)。