e2m2e.api.cli.main#
e2m2e 命令入口。
工具子命令与 MCP 工具面对称(ADR 0014 决策 5,#602):每个 mcp_exposed 且已实现的 Facade 方法都有一个同名子命令(下划线转连 字符),参数从同一份 Pydantic 请求模型生成,输出是同一个统一信封。 部署入口:mcp-serve(MCP 部署薄包装)、serve-stdio(GUI sidecar 入口, ADR 0035)。
约定:信封 JSON 写 stdout;进度与 argparse 用法错误写 stderr;信封 status=ok 退出码 0,error 非 0。长任务工具改跑 worker 子进程 (路由清单在执行核心 LONG_RUNNING_TOOLS,#601),Ctrl-C kill 子进程。
Functions#
|
CLI 子命令清单:连字符命名 → 工具元数据(placeholder 不注册)。 |
|
构建命令行解析器。 |
|
Module Contents#
- e2m2e.api.cli.main.tool_subcommands(facade: e2m2e.api.facade.Facade) dict[str, e2m2e.api.facade.ToolInfo]#
CLI 子命令清单:连字符命名 → 工具元数据(placeholder 不注册)。
- e2m2e.api.cli.main.build_parser(facade: e2m2e.api.facade.Facade | None = None) argparse.ArgumentParser#
构建命令行解析器。
- Args:
- facade: 工具子命令从它的 tool_inventory 派生;None 时只注册
部署子命令(向后兼容既有调用)。
- e2m2e.api.cli.main.main(argv: collections.abc.Sequence[str] | None = None) int#