Commit Graph

8 Commits

Author SHA1 Message Date
zh d03f8d7414 feat(agent,eval): 假引擎接入服务端并跑通问法评测(A2.6 / A2.7,M1 闭环)
服务端改用 AgentRuntime 接口:新增 turn-runner 把 RuntimeEvent 翻成平台事件(text→message.delta、tool_call→tool.call 并走 Core.invoke、tool_result→tool.result、turn_end→message.completed+run.state、error→error),工具描述由能力目录投影;取消时先推 cancelling 再中止引擎;关停时主动断开 SSE 长连接。默认引擎为假引擎 + 规则计划器,M1 链路打通:假引擎发起工具调用 → Core.invoke → 假 Provider → 回执回流 → 继续说话(scripts/m1-loop.test.mjs 验证)。A2.6:providers 下 17 个能力描述文件,七要素 CI 检查实际校验通过。A2.7:scripts/eval-intents.mjs 跑手 + 规则基线报告(工具选择 68.2%、参数命中 23.1%、澄清率 33.3%、误澄清 13.6%、幻觉 0、越权 0),修正了期望参数占位符无法字面比对与比率显示两个自身缺陷。测试 46 → 47 全绿。
2026-09-28 15:38:42 +08:00
zh 89b9535138 feat(agent): 引擎接口、假引擎与一致性测试套件(A3.1 / A3.2)
runtime.ts 按架构设计 5.2 定义 AgentRuntime / RuntimeSession / RuntimeEvent(text、tool_call、tool_result、approval_required、turn_end、error),补两处实现必需项:createSession 带 sessionId、resolveToolResult 让工具回执回流。fake-runtime 为确定性假引擎,支持脚本与计划器,事件顺序与真引擎一致,用于一致性测试与 A2.7 评测。conformance.ts 是一套跑任何运行时的验收用例:单轮事件顺序、多轮、工具调用与回执、取消、错误分类、带历史恢复。测试 44 → 46 全绿;坏运行时负例证明套件不是摆设。过程中修掉两个自身缺陷:假引擎在 yield 之后才登记回执回调导致回执丢失;一致性套件超时定时器 unref 导致事件循环空转退出。
2026-09-28 15:14:11 +08:00
zh f2359cc3ad feat(core): 引擎工具回调端点与会话归属者(A2.5)
会话记录带 owner,创建会话时记录发起人;新增 POST /internal/tool-call(loopback + 启动时生成的内部令牌鉴权),身份取自会话归属者而非调用方自带,平台侧仍收口到 Core.invoke。三条端到端用例:HTTP→应用服务→Core→假 Provider 成功链路、令牌缺失或错误被拒且不留执行记录、未知能力返回失败回执而非 HTTP 错误。测试 41 → 44 全绿。
2026-09-24 15:50:07 +08:00
zh e15e7e81e9 feat(core): Provider SDK、能力目录与 Core.invoke(A2.1-A2.4)
按架构设计第 6 节实现 Provider 契约(describe/invoke/health)与能力声明(effect/mode/idempotency/errors);错误统一六分类(invalid_argument、forbidden、conflict、rate_limited、unavailable、unknown_result)。Core.invoke 作为唯一执行出口:能力解析、幂等重试返回原回执、超时归一为 unknown_result、执行记录带参数摘要。新增能力目录(registry)与内存执行记录,能力清单改由目录提供;GET /v1/executions/{id} 由 501 改为返回真实回执。假 Provider(testing)与契约测试套件(contract-suite)落地,含坏 Provider 负例。APS Provider 占位改为新契约。测试 31 → 41 条全绿。
2026-09-24 15:48:45 +08:00
zh d6bb4a7df2 feat(client): 最小界面与单端口托管(A1.4 / A1.5)
客户端 Vite + React 三栏骨架:左会话列表、中对话流(SSE 流式)、右工作区占位与事件流观察窗;连接状态徽章;类型全部来自 @aps/contracts。服务端托管 client/app/dist,一个端口跑完整平台;pnpm dev 一键起服务端与前端,pnpm start 构建后单端口托管。实测:浏览器打开后新建会话、发消息、看到流式回复与事件流 seq 1..7;31 条测试全绿。
2026-09-24 15:41:01 +08:00
zh f127e5071e feat(ci): lint 基线与三个检查接入门禁(A1.6)
eslint(typescript-eslint + prettier)、跨库访问检查(ADR-0008)、能力描述七要素检查(A2.6 的 CI 项)、APS/平台 CI 分流;新增 pnpm verify 一条命令跑完整门禁。TypeScript 从 7.0 降到 6.0.3——typescript-eslint 尚不支持 TS 7。测试 21 → 30 条全绿。
2026-09-24 15:37:35 +08:00
zh 52be2793e4 feat(server): 应用服务最小闭环与 HTTP/SSE 入口(A1.3)
按协议 v1 实现 12 个端点中的 10 个:健康检查、身份、项目、会话 CRUD、发消息、取消、能力清单;执行状态与确认卡返回 501(A2/A4 落地)。应用层含事件总线(会话内 seq、回放、订阅)、会话存储(ADR-0003 作用域校验)、占位引擎(回显,A3 替换)。新增 6 条冒烟测试:未接入 Provider 可用、事件流合规且 seq 递增、幂等重试、取消、断点续传、错误包装。协议补一型事件 message.user(多端与重连需要)。测试 15 → 21 条全绿;本地启动实测通过。
2026-09-24 15:09:37 +08:00
zh d2aa837579 feat(workspace): pnpm monorepo 骨架与包边界(A1.1)
六个包:@aps/contracts、@aps/provider-sdk、@aps/server、@aps/client-app、@aps/desktop、@aps/provider-aps。依赖方向 contracts <- provider-sdk <- server <- client,providers/* 只依赖 provider-sdk。TypeScript 项目引用串起构建,pnpm typecheck 全绿。server 内部按 entry/app/agent/core/workflows 建目录并写明各自不该出现什么。
2026-09-23 19:29:57 +08:00