@tea-agent/loop-agent 0.25.1 → 0.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -60,6 +60,7 @@
60
60
  - 长期决策写入 `docs/`;面向用户变更更新 `CHANGELOG.md`(结果导向中文)。
61
61
  - init/投影变更必须同步目标项目生成物与 package assets;init evolution 按 `docs/init-surface.manifest.json` 分级。
62
62
  - CLI/skill entry/runtime boundary/发布包变更同步 catalog、脚本与测试。
63
+ - 明确的前端页面/UI/组件/交互实现需求必须设置 `taskKind: "frontend-implementation"`(不是 `--profile`),不得保留默认 `standard`;浏览器/UI 自动化测试继续使用 `taskKind: "frontend-test"`。
63
64
  - 没有新鲜验证证据时不声明完成;新债写入 plan/progress/report。
64
65
 
65
66
  ## 验证
package/CHANGELOG.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.25.3] - 2026-07-30
6
+
7
+ ### 重点更新
8
+
9
+ - 新增 OpenCode 客户端瞬态会话恢复机制,在内置重试遗漏时自动补偿 UnknownError
10
+ - 优化前端实现需求路由,将前端开发与测试任务准确分发至对应 DAG 流程
11
+
12
+ ### 新增
13
+
14
+ - loop-agent init 支持 --client-recovery 参数,可在目标项目生成 OpenCode 插件以补偿瞬态 UnknownError
15
+ - 支持在用户级别原子写入 Pi retry 推荐配置,并严格遵守插件 ownership 不覆盖用户改动
16
+
17
+ ### 改进
18
+
19
+ - 初始化或刷新 AGENTS.md 时,要求将明确的前端实现需求路由至 frontend-implementation,与浏览器和 UI 自动化测试区分开
20
+
21
+ ### 修复
22
+
23
+ - 修复生成的 OpenCode 恢复插件无法按真实 API 工作的问题,现直接返回 Hooks.event 并按事件正确分发与续接
24
+ - 修复 Type validation failed 等真实错误被业务校验规则误杀的问题
25
+ - 修复 Pi retry 配置读取将权限或 I/O 错误误判为缺文件的问题,现仅 ENOENT 视为缺文件
26
+
27
+ ## [0.25.2] - 2026-07-30
28
+
29
+ ### 重点更新
30
+
31
+ - 加固后端测试中文 HTML 报告的用例关联与解析逻辑,提升报告的准确性与可读性
32
+
33
+ ### 改进
34
+
35
+ - 改进基于 class 的 pytest node id 解析,准确提取真实脚本路径,避免显示为 unknown.py
36
+ - 当用例名称缺失后端 ID 时,支持按函数名与 Markdown catalog 进行回退关联
37
+ - 规范化 [REQ]/[RESP] HTTP 日志块,增强日志兼容性
38
+
39
+ ### 修复
40
+
41
+ - 修复成功执行路径下原生 pytest-html 报告未正确保留的问题,现会将其另存为 backend-test-pytest-native.html
42
+
5
43
  ## [0.25.1] - 2026-07-30
6
44
 
7
45
  ### 重点更新
@@ -216,7 +216,7 @@ export const COMMAND_DEFINITIONS = [
216
216
  adapter: "none",
217
217
  tier: "primary",
218
218
  intent: "Initialize a target repository with loop-agent harness capabilities.",
219
- usage: "init [instructions|doctor|check-update|update|reconcile] [--profile full|minimal] [--merge] [--json|--markdown] [--bootstrap-surface|--apply-safe]",
219
+ usage: "init [instructions|doctor|check-update|update|reconcile] [--profile full|minimal] [--merge] [--json|--markdown] [--bootstrap-surface|--apply-safe] [--client-recovery=auto|project|user|off]",
220
220
  subcommands: [...INIT_SUBCOMMANDS],
221
221
  handler: async ({ repoRoot, subcommand, rest }) => {
222
222
  await runInit(repoRoot, [subcommand, ...rest].filter(Boolean), { readRuntimeActivity: readInitRuntimeActivity });
@@ -617,7 +617,8 @@ export function buildLoopAgentProgram(options) {
617
617
  .option("--json", "print JSON")
618
618
  .option("--markdown", "print Markdown")
619
619
  .option("--bootstrap-surface", "write an inferred .harness/init-surface.json baseline")
620
- .option("--apply-safe", "apply deterministic safe init updates");
620
+ .option("--apply-safe", "apply deterministic safe init updates")
621
+ .option("--client-recovery <mode>", "auto|project|user|off — OpenCode project plugin and optional Pi user retry config", "auto");
621
622
  command.action(async (args, _options, actionCommand) => runInitCommand(args, actionCommand, options.defaultRepoRoot));
622
623
  addStandaloneSubcommands(command, entry.subcommands ?? [], (args, actionCommand) => runInitCommand(args, actionCommand, options.defaultRepoRoot));
623
624
  program.addCommand(command);