@tea-agent/loop-agent 0.28.3 → 0.28.4

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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.28.4] - 2026-08-05
6
+
7
+ ### 重点更新
8
+
9
+ - 修复 Night Scheduler 准入控制中 writeSet 门禁冻结的误报失败问题
10
+
11
+ ### 修复
12
+
13
+ - Night Scheduler `admission prepare`:为 `task advance --json` 补充 `expectJson`,并允许从 stdout 解析 writeSet gate,修复“did not return JSON”假失败
14
+
5
15
  ## [0.28.3] - 2026-08-05
6
16
 
7
17
  ### 重点更新
@@ -476,6 +476,7 @@ async function defaultPrepareInWorkspace(input) {
476
476
  ], {
477
477
  cwd: input.workspaceRoot,
478
478
  artifactName: `admission-task-advance-${materializeManifest.harnessTaskId}`,
479
+ expectJson: true,
479
480
  });
480
481
  const gate = extractGate(advanceResult, materializeManifest.harnessTaskId);
481
482
  const dagBytes = await readFile(getTaskPaths(input.workspaceRoot, materializeManifest.harnessTaskId)
@@ -507,7 +508,15 @@ async function defaultPrepareInWorkspace(input) {
507
508
  };
508
509
  }
509
510
  function extractGate(result, taskId) {
510
- const root = result.json;
511
+ let root = result.json;
512
+ if ((!root || typeof root !== "object") && result.stdout?.trim()) {
513
+ try {
514
+ root = JSON.parse(result.stdout);
515
+ }
516
+ catch {
517
+ // keep root undefined; error below
518
+ }
519
+ }
511
520
  if (!root || typeof root !== "object") {
512
521
  throw new Error(`admission prepare did not return JSON for ${taskId}; cannot open writeSet gate`);
513
522
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tea-agent/loop-agent",
3
- "version": "0.28.3",
3
+ "version": "0.28.4",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "loop-agent": "bin/loop-agent.js",