实施计划¶
- 添加
src/application/environment/environmentSource.ts,用于验证两个 Evidence 文件,要求清单视图类型与捕获操作,拒绝父级不匹配,并借助 slice-1 请求行读取器将每条被引用记录缩减为其请求行、状态、内容类型和保留的响应文本,从而使服务器仅保留重放返回的内容。 - 添加
environmentTools.ts,将清单工具映射为 MCP 工具定义;每个工具对应一个手写的 JSON Schema,供registerTool(通过 SDK 的fromJsonSchema)与卡片共同使用,并按照 echo 示例的键顺序构建卡片。 - 添加
environmentReplay.ts,先按路径段匹配对被引用记录评分,再按查询匹配评分,并在平局时保留清单顺序;通过 JSON 式解析、UTF-8 安全截断和重放来源块来构建重放结果;导出 slice-1 的 JSON 式谓词,而不是重新声明它。 - 添加
src/server/environment/serveEnvironment.ts,构建McpServer;其处理程序附加 REA 的目标内容_meta、卡片和/agentenv路由(后者通过 SDK 的有界读取器读取请求体),并通过 slice-2 的serveStreamableHttp及其routes与onerror接缝提供这些服务;同时为ENVIRONMENT_NAME添加src/config/environmentName.ts。 - 添加
src/cli/environmentCommands.ts,通过withCommandCancellation和logCliCommand注册environment-serve,使用 slice-2 端点解析器解析主机和端口,通过parseCliJsonInput读取文件,以懒加载方式导入监听器,等待取消信号或监听器失败,并返回一个stopped文档或类型化错误;将名称注册到CLI_COMMANDS,并将懒模块注册到启动导入探针。 - 通过
tests/fixtures/environmentServe.ts共享夹具对,并通过通用化的startListeningProcess共享监听器启动逻辑;添加服务、适配器、MCP 边界、CLI 边界和进程边界测试。 - 在
docs/cli.md中记录该命令,添加docs/agent-environments.md及其侧边栏和索引条目,并记录规范。
未引入任何新依赖。REA 的工具契约、目录摘要和 stdio 传输保持不变;CLI 清单新增一个命令。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 rea2/rea