@devcxl/opencode-cabbage 1.0.0 → 1.1.0
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/assets/agents/team/architect.md +3 -0
- package/dist/kernel/context.js +12 -1
- package/dist/kernel/context.js.map +1 -1
- package/dist/kernel/flow.d.ts +12 -3
- package/dist/kernel/flow.js +107 -27
- package/dist/kernel/flow.js.map +1 -1
- package/dist/kernel/permission.d.ts +1 -1
- package/dist/kernel/permission.js +9 -1
- package/dist/kernel/permission.js.map +1 -1
- package/dist/kernel/profile.js +5 -2
- package/dist/kernel/profile.js.map +1 -1
- package/dist/kernel/records.d.ts +22 -6
- package/dist/kernel/records.js +71 -28
- package/dist/kernel/records.js.map +1 -1
- package/dist/kernel/release.d.ts +2 -0
- package/dist/kernel/release.js +13 -1
- package/dist/kernel/release.js.map +1 -1
- package/dist/kernel/review.js +6 -5
- package/dist/kernel/review.js.map +1 -1
- package/dist/kernel/session-index.d.ts +5 -3
- package/dist/kernel/session-index.js +81 -65
- package/dist/kernel/session-index.js.map +1 -1
- package/dist/kernel/setup.d.ts +26 -1
- package/dist/kernel/setup.js +87 -10
- package/dist/kernel/setup.js.map +1 -1
- package/dist/kernel/task.d.ts +14 -9
- package/dist/kernel/task.js +138 -53
- package/dist/kernel/task.js.map +1 -1
- package/dist/kernel/tdd/adapter.js +27 -26
- package/dist/kernel/tdd/adapter.js.map +1 -1
- package/dist/kernel/tdd/digest.d.ts +1 -0
- package/dist/kernel/tdd/digest.js +6 -4
- package/dist/kernel/tdd/digest.js.map +1 -1
- package/dist/kernel/tdd/evaluator.js +1 -1
- package/dist/kernel/tdd/evaluator.js.map +1 -1
- package/dist/kernel/tdd/state.d.ts +1 -1
- package/dist/kernel/tdd/state.js +1 -1
- package/dist/kernel/tdd/state.js.map +1 -1
- package/dist/kernel/worktree.d.ts +1 -1
- package/dist/kernel/worktree.js +35 -6
- package/dist/kernel/worktree.js.map +1 -1
- package/dist/plugin/flow-control.d.ts +11 -0
- package/dist/plugin/flow-control.js +47 -14
- package/dist/plugin/flow-control.js.map +1 -1
- package/dist/plugin/goal.d.ts +11 -1
- package/dist/plugin/goal.js +17 -3
- package/dist/plugin/goal.js.map +1 -1
- package/dist/plugin/prompt-lint.js +0 -1
- package/dist/plugin/prompt-lint.js.map +1 -1
- package/dist/plugin/release-control.d.ts +2 -0
- package/dist/plugin/release-control.js +59 -20
- package/dist/plugin/release-control.js.map +1 -1
- package/dist/plugin/server.js +53 -20
- package/dist/plugin/server.js.map +1 -1
- package/dist/plugin/setup-control.d.ts +15 -1
- package/dist/plugin/setup-control.js +37 -6
- package/dist/plugin/setup-control.js.map +1 -1
- package/dist/plugin/task-control.d.ts +2 -2
- package/dist/plugin/task-control.js +15 -8
- package/dist/plugin/task-control.js.map +1 -1
- package/dist/plugin/tdd-checkpoint.d.ts +10 -0
- package/dist/plugin/tdd-checkpoint.js +86 -3
- package/dist/plugin/tdd-checkpoint.js.map +1 -1
- package/dist/util/gh.d.ts +5 -0
- package/dist/util/gh.js +12 -0
- package/dist/util/gh.js.map +1 -1
- package/dist/util/paths.d.ts +6 -0
- package/dist/util/paths.js +14 -0
- package/dist/util/paths.js.map +1 -1
- package/package.json +4 -4
package/dist/kernel/task.js
CHANGED
|
@@ -9,7 +9,7 @@ import { exec } from "node:child_process";
|
|
|
9
9
|
import { promisify } from "node:util";
|
|
10
10
|
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
11
11
|
import { join } from "node:path";
|
|
12
|
-
import { gh as ghCli } from "../util/gh.js";
|
|
12
|
+
import { gh as ghCli, parsePrUrlNumber } from "../util/gh.js";
|
|
13
13
|
import { escapeShellArg } from "../util/shell.js";
|
|
14
14
|
import { pathExists } from "../util/fs.js";
|
|
15
15
|
import { PLUGIN_ID } from "../util/paths.js";
|
|
@@ -70,7 +70,10 @@ export function buildTaskBody(slug, criteria, dependencies) {
|
|
|
70
70
|
const criteriaLines = criteria.length > 0
|
|
71
71
|
? criteria.map(c => `- [ ] ${c.id}: ${c.description} [${c.verification}]`).join("\n")
|
|
72
72
|
: "- [ ] TBD";
|
|
73
|
-
|
|
73
|
+
// 依赖:编号渲染 `- #12`;task_id(slug)渲染 `- @slug`(门禁时解析成编号)
|
|
74
|
+
const depLines = dependencies.length > 0
|
|
75
|
+
? dependencies.map(d => (typeof d === "number" ? `- #${d}` : `- @${d}`)).join("\n")
|
|
76
|
+
: "- none";
|
|
74
77
|
return [
|
|
75
78
|
`# Task: ${slug}`,
|
|
76
79
|
"",
|
|
@@ -102,7 +105,7 @@ export function buildTaskTddBlock(policy, criteria, worktreePath) {
|
|
|
102
105
|
async function updateTaskBody(issueNumber, newBody) {
|
|
103
106
|
try {
|
|
104
107
|
const bodyArg = escapeShellArg(newBody);
|
|
105
|
-
await taskGh(`api repos/{owner}/{repo}/issues/${issueNumber} -X PATCH -f body
|
|
108
|
+
await taskGh(`api repos/{owner}/{repo}/issues/${issueNumber} -X PATCH -f body='${bodyArg}' --silent`);
|
|
106
109
|
return { ok: true };
|
|
107
110
|
}
|
|
108
111
|
catch (err) {
|
|
@@ -144,25 +147,39 @@ export function parseCriteriaFromBody(body) {
|
|
|
144
147
|
}
|
|
145
148
|
return criteria;
|
|
146
149
|
}
|
|
147
|
-
/** 从 Task Record body 的 Dependencies
|
|
150
|
+
/** 从 Task Record body 的 Dependencies 区块解析依赖:`- #12` → 编号;`- @slug` → slug(门禁时解析) */
|
|
148
151
|
export function parseDependenciesFromBody(body) {
|
|
149
152
|
const deps = [];
|
|
150
153
|
for (const line of body.split("\n")) {
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
deps.push(Number(
|
|
154
|
+
const numMatch = /^-\s+#(\d+)$/.exec(line.trim());
|
|
155
|
+
if (numMatch) {
|
|
156
|
+
deps.push(Number(numMatch[1]));
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
const slugMatch = /^-\s+@([a-z0-9]+(?:-[a-z0-9]+)*)$/.exec(line.trim());
|
|
160
|
+
if (slugMatch)
|
|
161
|
+
deps.push(slugMatch[1]);
|
|
154
162
|
}
|
|
155
163
|
return deps;
|
|
156
164
|
}
|
|
157
|
-
/**
|
|
165
|
+
/**
|
|
166
|
+
* 解析 create-task 的 depends_on 参数:支持 Issue 编号("12" / "#12")与
|
|
167
|
+
* task_id(slug,如 "user-auth")混合,以逗号分隔。非法项忽略。
|
|
168
|
+
* 返回 string 表示 slug(需在门禁时解析成编号)。
|
|
169
|
+
*/
|
|
158
170
|
export function parseDependenciesArg(raw) {
|
|
159
171
|
if (!raw || raw.trim() === "")
|
|
160
172
|
return [];
|
|
161
173
|
const deps = [];
|
|
162
174
|
for (const part of raw.split(",")) {
|
|
163
|
-
const
|
|
164
|
-
|
|
175
|
+
const trimmed = part.trim().replace(/^#/, "");
|
|
176
|
+
const n = Number(trimmed);
|
|
177
|
+
if (Number.isInteger(n) && n > 0) {
|
|
165
178
|
deps.push(n);
|
|
179
|
+
}
|
|
180
|
+
else if (trimmed !== "") {
|
|
181
|
+
deps.push(trimmed);
|
|
182
|
+
}
|
|
166
183
|
}
|
|
167
184
|
return deps;
|
|
168
185
|
}
|
|
@@ -174,7 +191,7 @@ export function freezeTddPolicy(profile) {
|
|
|
174
191
|
adapter: "vitest",
|
|
175
192
|
baseCommand: profile.testCommand,
|
|
176
193
|
timeoutMs: 120_000,
|
|
177
|
-
executionInputPatterns: [],
|
|
194
|
+
executionInputPatterns: ["vitest.config.*", "vitest.*.config.*", "jest.config.*", "package.json"],
|
|
178
195
|
}
|
|
179
196
|
: null;
|
|
180
197
|
return {
|
|
@@ -338,9 +355,9 @@ export async function readTaskState(projectDir, slug) {
|
|
|
338
355
|
}
|
|
339
356
|
}
|
|
340
357
|
// ─── Task Record 解析(Sub Issue → issueNumber / body) ───
|
|
341
|
-
/** 按 title(task slug)解析 Parent 下的 Sub Issue
|
|
358
|
+
/** 按 title(task slug)解析 Parent 下的 Sub Issue 号(--json parent 直接过滤,无搜索索引延迟) */
|
|
342
359
|
async function resolveTaskIssue(parentIssueNumber, taskId) {
|
|
343
|
-
const { stdout } = await taskGh(`issue list --
|
|
360
|
+
const { stdout } = await taskGh(`issue list --state all --limit 100 --json number,title,parent --jq '[.[] | select(.parent.number == ${parentIssueNumber} and .title == ${JSON.stringify(taskId)}) | .number] | first'`);
|
|
344
361
|
const trimmed = stdout.trim();
|
|
345
362
|
if (trimmed === "" || trimmed === "null")
|
|
346
363
|
return null;
|
|
@@ -353,6 +370,15 @@ async function readTaskBody(issueNumber) {
|
|
|
353
370
|
return stdout;
|
|
354
371
|
}
|
|
355
372
|
/** 设置 Task Record 状态标签(移除其它 cabbage:task:*,添加当前) */
|
|
373
|
+
/** 确保 label 存在(gh label create --force 幂等);失败不阻塞(add-label 会显式报错) */
|
|
374
|
+
async function ensureLabel(name) {
|
|
375
|
+
try {
|
|
376
|
+
await taskGh(`label create '${escapeShellArg(name)}' --force`);
|
|
377
|
+
}
|
|
378
|
+
catch {
|
|
379
|
+
// 已存在或权限不足:忽略
|
|
380
|
+
}
|
|
381
|
+
}
|
|
356
382
|
export async function setTaskStatusLabel(issueNumber, status) {
|
|
357
383
|
try {
|
|
358
384
|
const { stdout } = await taskGh(`issue view ${issueNumber} --json labels --jq '[.labels[].name] | join(" ") | tostring'`);
|
|
@@ -361,8 +387,10 @@ export async function setTaskStatusLabel(issueNumber, status) {
|
|
|
361
387
|
const stale = current.filter(l => l.startsWith(TASK_STATUS_LABEL_PREFIX) && l !== target);
|
|
362
388
|
const args = [];
|
|
363
389
|
for (const label of stale)
|
|
364
|
-
args.push(`--remove-label '${label}'`);
|
|
365
|
-
args.push(`--add-label '${target}'`);
|
|
390
|
+
args.push(`--remove-label '${escapeShellArg(label)}'`);
|
|
391
|
+
args.push(`--add-label '${escapeShellArg(target)}'`);
|
|
392
|
+
// 目标标签不存在时自动创建(gh add-label 不自动建 label)
|
|
393
|
+
await ensureLabel(target);
|
|
366
394
|
await taskGh(`issue edit ${issueNumber} ${args.join(" ")}`);
|
|
367
395
|
return { ok: true };
|
|
368
396
|
}
|
|
@@ -370,10 +398,32 @@ export async function setTaskStatusLabel(issueNumber, status) {
|
|
|
370
398
|
return { ok: false, error: String(err) };
|
|
371
399
|
}
|
|
372
400
|
}
|
|
373
|
-
/**
|
|
401
|
+
/**
|
|
402
|
+
* 读仓库默认分支。
|
|
403
|
+
* 优先 GitHub API(defaultBranchRef);API 未返回(defaultBranchRef 为 null)时
|
|
404
|
+
* 回退远端 HEAD 指针(refs/remotes/origin/HEAD);仍不可得 → 抛错拒绝(fail-closed,
|
|
405
|
+
* 不猜测分支名,防 PR base 误用临时分支)。
|
|
406
|
+
*/
|
|
374
407
|
async function readDefaultBranch() {
|
|
375
|
-
|
|
376
|
-
|
|
408
|
+
try {
|
|
409
|
+
const { stdout } = await taskGh(`repo view --json defaultBranchRef --jq .defaultBranchRef.name`);
|
|
410
|
+
const branch = stdout.trim();
|
|
411
|
+
if (branch !== "")
|
|
412
|
+
return branch;
|
|
413
|
+
}
|
|
414
|
+
catch {
|
|
415
|
+
// 查询失败 → 走回退
|
|
416
|
+
}
|
|
417
|
+
try {
|
|
418
|
+
const { stdout } = await taskGit(`symbolic-ref --short refs/remotes/origin/HEAD`);
|
|
419
|
+
const head = stdout.trim();
|
|
420
|
+
if (head !== "")
|
|
421
|
+
return head;
|
|
422
|
+
}
|
|
423
|
+
catch {
|
|
424
|
+
// 无远端 HEAD 指针 → 走失败
|
|
425
|
+
}
|
|
426
|
+
throw new Error("cannot determine default branch (repo view defaultBranchRef empty and no origin/HEAD)");
|
|
377
427
|
}
|
|
378
428
|
/**
|
|
379
429
|
* create-task(spec §2.3):validateTitle → slug → 未完成同名冲突检查(branch/worktree 已存在)→
|
|
@@ -396,7 +446,11 @@ export async function createTask(input) {
|
|
|
396
446
|
if (input.acceptanceCriteriaJson !== undefined) {
|
|
397
447
|
const parsed = parseAcceptanceCriteria(input.acceptanceCriteriaJson);
|
|
398
448
|
if (parsed === null) {
|
|
399
|
-
return {
|
|
449
|
+
return {
|
|
450
|
+
ok: false,
|
|
451
|
+
code: "POLICY_INVALID",
|
|
452
|
+
message: 'acceptance_criteria must be a JSON array of {id, description, verification}, where verification is one of: "tdd" | "regression" | "manual"',
|
|
453
|
+
};
|
|
400
454
|
}
|
|
401
455
|
criteria = parsed;
|
|
402
456
|
}
|
|
@@ -410,7 +464,7 @@ export async function createTask(input) {
|
|
|
410
464
|
/** 本地分支是否已存在(rev-parse 成功且有输出) */
|
|
411
465
|
async function branchExists(branch) {
|
|
412
466
|
try {
|
|
413
|
-
const { stdout } = await taskGit(`rev-parse --verify refs/heads/${branch}`);
|
|
467
|
+
const { stdout } = await taskGit(`rev-parse --verify 'refs/heads/${escapeShellArg(branch)}'`);
|
|
414
468
|
return stdout.trim() !== "";
|
|
415
469
|
}
|
|
416
470
|
catch {
|
|
@@ -437,12 +491,25 @@ export async function startTask(projectDir, parentIssueNumber, taskId) {
|
|
|
437
491
|
message: "Planning Baseline (design stage) must be merged before starting tasks",
|
|
438
492
|
};
|
|
439
493
|
}
|
|
440
|
-
// 门禁 2:依赖 Task 已 merged(依赖 Issue
|
|
494
|
+
// 门禁 2:依赖 Task 已 merged(依赖 Issue 须已关闭且带 merged 标签——被取消的任务同样 CLOSED,不得放行)
|
|
441
495
|
const deps = parseDependenciesFromBody(taskBody);
|
|
442
496
|
for (const dep of deps) {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
497
|
+
// task_id(slug)依赖:解析成实际 Issue 号;解析不到(未创建)→ 拒绝
|
|
498
|
+
const depNumber = typeof dep === "number" ? dep : await resolveTaskIssue(parentIssueNumber, dep);
|
|
499
|
+
if (depNumber === null) {
|
|
500
|
+
return {
|
|
501
|
+
ok: false,
|
|
502
|
+
code: "DEPENDENCY_NOT_FOUND",
|
|
503
|
+
message: `dependency task "${dep}" is not created under parent #${parentIssueNumber}`,
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
const depStatus = await readIssueStateAndLabels(depNumber);
|
|
507
|
+
if (depStatus.state !== "CLOSED" || !depStatus.labels.includes(`${TASK_STATUS_LABEL_PREFIX}merged`)) {
|
|
508
|
+
return {
|
|
509
|
+
ok: false,
|
|
510
|
+
code: "DEPENDENCY_NOT_MERGED",
|
|
511
|
+
message: `dependency task #${depNumber} is not merged (state: ${depStatus.state}, merged label: ${depStatus.labels.includes(`${TASK_STATUS_LABEL_PREFIX}merged`)})`,
|
|
512
|
+
};
|
|
446
513
|
}
|
|
447
514
|
}
|
|
448
515
|
// 门禁 3:并行数 < 5(running/reviewing 标签计数)
|
|
@@ -473,6 +540,8 @@ export async function startTask(projectDir, parentIssueNumber, taskId) {
|
|
|
473
540
|
: `${taskBody}\n${tddBlock}\n`;
|
|
474
541
|
const bodyUpdate = await updateTaskBody(issueNumber, updatedBody);
|
|
475
542
|
if (!bodyUpdate.ok) {
|
|
543
|
+
// TDD 块写入失败:清理刚创建的 worktree(best effort),避免失败残留
|
|
544
|
+
await gitIn(projectDir, `worktree remove '${escapeShellArg(wt.path)}'`).catch(() => null);
|
|
476
545
|
return { ok: false, code: "TASK_TDD_BLOCK_WRITE_FAILED", message: bodyUpdate.error ?? "failed to write TDD block" };
|
|
477
546
|
}
|
|
478
547
|
await writeTaskState(projectDir, {
|
|
@@ -491,14 +560,14 @@ export async function startTask(projectDir, parentIssueNumber, taskId) {
|
|
|
491
560
|
}
|
|
492
561
|
return { ok: true, issueNumber, branch: wt.branch, worktreePath: wt.path, policy, baseline };
|
|
493
562
|
}
|
|
494
|
-
/** 读 Issue
|
|
495
|
-
async function
|
|
496
|
-
const { stdout } = await taskGh(`issue view ${issueNumber} --json state --jq .
|
|
497
|
-
return
|
|
563
|
+
/** 读 Issue 状态与标签(依赖门禁用:CLOSED 且 merged 标签才算已合并) */
|
|
564
|
+
async function readIssueStateAndLabels(issueNumber) {
|
|
565
|
+
const { stdout } = await taskGh(`issue view ${issueNumber} --json state,labels --jq '{state, labels: [.labels[].name]}'`);
|
|
566
|
+
return JSON.parse(stdout);
|
|
498
567
|
}
|
|
499
|
-
/** 统计 flow 下 running/reviewing 的 Task
|
|
568
|
+
/** 统计 flow 下 running/reviewing 的 Task 数(并行门禁);已关闭 Issue 不计(防取消/归档任务占名额) */
|
|
500
569
|
async function countRunningTasks(parentIssueNumber) {
|
|
501
|
-
const { stdout } = await taskGh(`issue list --
|
|
570
|
+
const { stdout } = await taskGh(`issue list --state open --limit 100 --json number,labels,parent --jq '[.[] | select(.parent.number == ${parentIssueNumber}) | {number, labels: [.labels[].name]}]'`);
|
|
502
571
|
const issues = JSON.parse(stdout);
|
|
503
572
|
return issues.filter(i => i.labels.some(l => l === `${TASK_STATUS_LABEL_PREFIX}running` || l === `${TASK_STATUS_LABEL_PREFIX}reviewing`)).length;
|
|
504
573
|
}
|
|
@@ -542,7 +611,7 @@ export async function submitTask(projectDir, parentIssueNumber, taskId) {
|
|
|
542
611
|
}
|
|
543
612
|
// 豁免语义:not-applicable / exempt-request → waived → 放行
|
|
544
613
|
if (evidence.status === "waived") {
|
|
545
|
-
return submitPr(
|
|
614
|
+
return submitPr(state, issueNumber, comment, evidence.revision, evidence, taskId);
|
|
546
615
|
}
|
|
547
616
|
const compliance = evaluateTddCompliance(state.policy, evidence, criteria);
|
|
548
617
|
if (compliance.status !== "pass") {
|
|
@@ -553,7 +622,7 @@ export async function submitTask(projectDir, parentIssueNumber, taskId) {
|
|
|
553
622
|
missing: compliance.warnings.length > 0 ? compliance.warnings : ["tdd-compliance"],
|
|
554
623
|
};
|
|
555
624
|
}
|
|
556
|
-
return submitPr(
|
|
625
|
+
return submitPr(state, issueNumber, comment, evidence.revision, evidence, taskId);
|
|
557
626
|
}
|
|
558
627
|
/** 解析 evidence comment 内 JSON 状态块(TDD_STATE_TAG,取最后一个),失败返回 null;schema 必须为 1 */
|
|
559
628
|
function parseJsonStateEvidence(body) {
|
|
@@ -572,10 +641,10 @@ function parseJsonStateEvidence(body) {
|
|
|
572
641
|
}
|
|
573
642
|
}
|
|
574
643
|
/** 创建 PR 的公共流程(evidence 通过后) */
|
|
575
|
-
async function submitPr(
|
|
644
|
+
async function submitPr(state, issueNumber, comment, revision, _evidence, taskId) {
|
|
576
645
|
// push 分支(工具内以宿主凭据执行)
|
|
577
646
|
try {
|
|
578
|
-
await gitIn(state.worktreePath, `push -u origin ${state.branch}`);
|
|
647
|
+
await gitIn(state.worktreePath, `push -u origin '${escapeShellArg(state.branch)}'`);
|
|
579
648
|
}
|
|
580
649
|
catch (err) {
|
|
581
650
|
return { ok: false, code: "PUSH_FAILED", message: String(err) };
|
|
@@ -587,14 +656,21 @@ async function submitPr(projectDir, state, issueNumber, comment, revision, _evid
|
|
|
587
656
|
const evidenceLink = `https://github.com/${repo}/issues/${issueNumber}#issuecomment-${comment.id}`;
|
|
588
657
|
const prTitle = `feat: ${taskId}`;
|
|
589
658
|
const prBody = [`# ${taskId}`, "", `- Task Record: #${issueNumber}`, `- TDD evidence: ${evidenceLink}`, "", `Closes #${issueNumber}`, ""].join("\n");
|
|
590
|
-
const { stdout: prOut } = await taskGh(`pr create --title '${escapeShellArg(prTitle)}' --body '${escapeShellArg(prBody)}' --base ${base} --head ${state.branch}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
659
|
+
const { stdout: prOut } = await taskGh(`pr create --title '${escapeShellArg(prTitle)}' --body '${escapeShellArg(prBody)}' --base '${escapeShellArg(base)}' --head '${escapeShellArg(state.branch)}'`);
|
|
660
|
+
// gh pr create 不支持 --json:解析 stdout 中的 PR URL
|
|
661
|
+
const prNumber = parsePrUrlNumber(prOut);
|
|
662
|
+
if (prNumber === null) {
|
|
663
|
+
return { ok: false, code: "PR_CREATE_FAILED", message: `invalid PR create output: ${prOut}` };
|
|
594
664
|
}
|
|
665
|
+
// PR 已创建成功;状态标签失败仅降级 warning(不把已建 PR 报为整体失败)
|
|
595
666
|
const label = await setTaskStatusLabel(issueNumber, "reviewing");
|
|
596
667
|
if (!label.ok) {
|
|
597
|
-
return {
|
|
668
|
+
return {
|
|
669
|
+
ok: true,
|
|
670
|
+
prNumber,
|
|
671
|
+
evidenceRevision: revision,
|
|
672
|
+
warning: `reviewing label update failed: ${label.error ?? "unknown"}`,
|
|
673
|
+
};
|
|
598
674
|
}
|
|
599
675
|
return { ok: true, prNumber, evidenceRevision: revision };
|
|
600
676
|
}
|
|
@@ -629,7 +705,7 @@ export async function mergeTask(projectDir, parentIssueNumber, taskId, modelRisk
|
|
|
629
705
|
return { ok: false, code: "TASK_NOT_STARTED", message: `task "${taskId}" was not started (run start-task first)` };
|
|
630
706
|
}
|
|
631
707
|
// 1. 定位 open PR(head 分支)
|
|
632
|
-
const { stdout: prOut } = await taskGh(`pr list --head ${state.branch} --state open --json number,headRefOid,author --jq '[.[] | {number, headRefOid, author}] | first'`);
|
|
708
|
+
const { stdout: prOut } = await taskGh(`pr list --head '${escapeShellArg(state.branch)}' --state open --json number,headRefOid,author --jq '[.[] | {number, headRefOid, author}] | first'`);
|
|
633
709
|
if (prOut.trim() === "" || prOut.trim() === "null") {
|
|
634
710
|
return { ok: false, code: "PR_NOT_FOUND", message: `no open PR for branch ${state.branch}` };
|
|
635
711
|
}
|
|
@@ -657,7 +733,7 @@ export async function mergeTask(projectDir, parentIssueNumber, taskId, modelRisk
|
|
|
657
733
|
const risk = escalateRisk(modelRisk, changedFiles, [...BUILTIN_RISK_PATTERNS, ...profile.riskPatterns]);
|
|
658
734
|
// 5. 高风险需非作者人类 approval
|
|
659
735
|
if (risk === "high") {
|
|
660
|
-
const approved = await hasNonAuthorHumanApproval(pr.number
|
|
736
|
+
const approved = await hasNonAuthorHumanApproval(pr.number);
|
|
661
737
|
if (!approved) {
|
|
662
738
|
return {
|
|
663
739
|
ok: false,
|
|
@@ -671,19 +747,28 @@ export async function mergeTask(projectDir, parentIssueNumber, taskId, modelRisk
|
|
|
671
747
|
if (!merged.success) {
|
|
672
748
|
return { ok: false, code: "MERGE_FAILED", message: merged.error ?? "merge failed" };
|
|
673
749
|
}
|
|
674
|
-
// 7. 关闭 Sub Issue + 状态 merged
|
|
675
|
-
|
|
676
|
-
|
|
750
|
+
// 7. 关闭 Sub Issue + 状态 merged(PR 已合并,后续步骤独立容错,失败仅降级 warning)
|
|
751
|
+
const warnings = [];
|
|
752
|
+
try {
|
|
753
|
+
await taskGh(`issue close ${issueNumber}`);
|
|
754
|
+
}
|
|
755
|
+
catch (err) {
|
|
756
|
+
warnings.push(`issue close failed: ${String(err)}`);
|
|
757
|
+
}
|
|
758
|
+
const mergedLabel = await setTaskStatusLabel(issueNumber, "merged");
|
|
759
|
+
if (!mergedLabel.ok) {
|
|
760
|
+
warnings.push(`merged label update failed: ${mergedLabel.error ?? "unknown"}`);
|
|
761
|
+
}
|
|
677
762
|
// 8. worktree 干净销毁(PR 已合并且干净 → 自动);失败仅警告,不阻塞合并结果
|
|
678
763
|
const cleanup = await destroyWorktree({ worktreeDir: state.worktreePath, branch: state.branch, prMerged: true, userConfirmed: false });
|
|
679
764
|
if (!cleanup.ok && cleanup.reason === "DIRTY_WORKTREE") {
|
|
680
|
-
|
|
765
|
+
warnings.push("PR merged but worktree has uncommitted changes; clean it manually");
|
|
681
766
|
}
|
|
682
|
-
return { ok: true, prNumber: pr.number, risk };
|
|
767
|
+
return { ok: true, prNumber: pr.number, risk, ...(warnings.length > 0 ? { warning: warnings.join("; ") } : {}) };
|
|
683
768
|
}
|
|
684
|
-
/** 读 PR 的 statusCheckRollup 精简列表(CheckRun 用 conclusion、StatusContext 用 state
|
|
769
|
+
/** 读 PR 的 statusCheckRollup 精简列表(CheckRun 用 conclusion、StatusContext 用 state;gh go-jq 需显式字段访问) */
|
|
685
770
|
async function readPrChecks(prNumber) {
|
|
686
|
-
const { stdout } = await taskGh(`pr view ${prNumber} --json statusCheckRollup --jq '[.[] | {name: (.name // .context // "check"), state: (.
|
|
771
|
+
const { stdout } = await taskGh(`pr view ${prNumber} --json statusCheckRollup --jq '[.statusCheckRollup[]? | {name: (.name // .context // "check"), state: (.conclusion // .state // "PENDING")}]'`);
|
|
687
772
|
return JSON.parse(stdout);
|
|
688
773
|
}
|
|
689
774
|
/** 将原始 statusCheckRollup 映射为 {name, state}(纯函数,供测试直接验证 jq 语义) */
|
|
@@ -702,13 +787,13 @@ async function readPrChangedFiles(prNumber) {
|
|
|
702
787
|
return JSON.parse(stdout);
|
|
703
788
|
}
|
|
704
789
|
/** 是否存在非作者的人类 APPROVED review(高风险门禁) */
|
|
705
|
-
async function hasNonAuthorHumanApproval(prNumber
|
|
790
|
+
async function hasNonAuthorHumanApproval(prNumber) {
|
|
706
791
|
const { stdout } = await taskGh(`pr view ${prNumber} --json author,reviews --jq '{author: .author.login, reviews: [.reviews[] | {state: .state, login: .author.login, type: .author.type}]}'`);
|
|
707
792
|
const data = JSON.parse(stdout);
|
|
708
793
|
return data.reviews.some(r => r.state === "APPROVED" && r.login !== data.author && r.type === "User");
|
|
709
794
|
}
|
|
710
795
|
/** cancel-task:受控取消(user_confirmed)→ 关闭 Sub Issue + 状态标签 cancelled */
|
|
711
|
-
export async function cancelTask(
|
|
796
|
+
export async function cancelTask(_projectDir, parentIssueNumber, taskId, userConfirmed) {
|
|
712
797
|
if (!userConfirmed) {
|
|
713
798
|
return {
|
|
714
799
|
ok: false,
|
|
@@ -753,11 +838,11 @@ export async function destroyTaskWorktree(projectDir, parentIssueNumber, taskId,
|
|
|
753
838
|
}
|
|
754
839
|
/** 分支是否有已合并的 PR */
|
|
755
840
|
async function isPrMerged(branch) {
|
|
756
|
-
const { stdout } = await taskGh(`pr list --head ${branch} --state merged --json number --jq 'length'`);
|
|
841
|
+
const { stdout } = await taskGh(`pr list --head '${escapeShellArg(branch)}' --state merged --json number --jq 'length'`);
|
|
757
842
|
return Number(stdout.trim()) > 0;
|
|
758
843
|
}
|
|
759
844
|
/** status-task:读 Task Record + PR + checks 汇总 */
|
|
760
|
-
export async function readTaskStatus(
|
|
845
|
+
export async function readTaskStatus(_projectDir, parentIssueNumber, taskId) {
|
|
761
846
|
const issueNumber = await resolveTaskIssue(parentIssueNumber, taskId);
|
|
762
847
|
if (issueNumber === null) {
|
|
763
848
|
return { ok: false, code: "TASK_NOT_FOUND", message: `no sub issue with title "${taskId}" under parent #${parentIssueNumber}` };
|
|
@@ -766,7 +851,7 @@ export async function readTaskStatus(projectDir, parentIssueNumber, taskId) {
|
|
|
766
851
|
const { stdout: issueOut } = await taskGh(`issue view ${issueNumber} --json number,title,state,labels,body --jq '{number, title, state, labels: [.labels[].name], body}'`);
|
|
767
852
|
const issue = JSON.parse(issueOut);
|
|
768
853
|
const branch = `feat/${taskId}`;
|
|
769
|
-
const { stdout: prsOut } = await taskGh(`pr list --head ${branch} --state all --json number,state,headRefName --jq '[.[] | {number, state, headRefName}]'`);
|
|
854
|
+
const { stdout: prsOut } = await taskGh(`pr list --head '${escapeShellArg(branch)}' --state all --json number,state,headRefName --jq '[.[] | {number, state, headRefName}]'`);
|
|
770
855
|
const prs = JSON.parse(prsOut);
|
|
771
856
|
const pullRequests = [];
|
|
772
857
|
for (const pr of prs) {
|
package/dist/kernel/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/kernel/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/kernel/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,36 +98,28 @@ function parseVitestJson(stdout) {
|
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
100
|
* 从 stderr 解析 vitest 错误,提取测试计数(兜底解析)。
|
|
101
|
+
* vitest 3.x 输出格式:
|
|
102
|
+
* - 全部通过:`Tests 2 passed (2)`
|
|
103
|
+
* - 全部失败:`Tests 1 failed (1)`(无 passed 行,collected == failed)
|
|
104
|
+
* - 部分失败:`Tests 2 passed (2) | 1 failed (1)`
|
|
101
105
|
*/
|
|
102
106
|
function parseVitestSummary(stderr) {
|
|
103
|
-
|
|
104
|
-
// 或 "Tests 2 passed (2)"
|
|
105
|
-
const summaryMatch = stderr.match(/Tests\s+\d+\s+failed\s*\((\d+)\)/);
|
|
106
|
-
const totalMatch = stderr.match(/Tests\s+\d+\s+failed[\s\S]*?\|\s*(\d+)\s+passed/);
|
|
107
|
+
const failedMatch = stderr.match(/Tests\s+\d+\s+failed\s*\((\d+)\)/);
|
|
107
108
|
const passedMatch = stderr.match(/(\d+)\s+passed/);
|
|
109
|
+
const allPassedMatch = stderr.match(/Tests\s+(\d+)\s+passed/);
|
|
108
110
|
let testsCollected = null;
|
|
109
111
|
let testsFailed = null;
|
|
110
|
-
if (
|
|
111
|
-
testsFailed = parseInt(
|
|
112
|
+
if (failedMatch) {
|
|
113
|
+
testsFailed = parseInt(failedMatch[1], 10);
|
|
114
|
+
// 有 passed 行 → collected = passed + failed;无(全失败)→ collected = failed
|
|
115
|
+
testsCollected = passedMatch ? parseInt(passedMatch[1], 10) + testsFailed : testsFailed;
|
|
112
116
|
}
|
|
113
|
-
else {
|
|
114
|
-
|
|
115
|
-
if (stderr.includes("No test files found") || stderr.includes("no tests found")) {
|
|
116
|
-
return { testsCollected: 0, testsFailed: 0 };
|
|
117
|
-
}
|
|
117
|
+
else if (stderr.includes("No test files found") || stderr.includes("no tests found")) {
|
|
118
|
+
return { testsCollected: 0, testsFailed: 0 };
|
|
118
119
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
testsCollected = parseInt(totalPassedMatch[1], 10) + testsFailed;
|
|
123
|
-
}
|
|
124
|
-
else if (testsFailed === null) {
|
|
125
|
-
// 可能全部通过
|
|
126
|
-
const allPassedMatch = stderr.match(/Tests\s+(\d+)\s+passed/);
|
|
127
|
-
if (allPassedMatch) {
|
|
128
|
-
testsCollected = parseInt(allPassedMatch[1], 10);
|
|
129
|
-
testsFailed = 0;
|
|
130
|
-
}
|
|
120
|
+
else if (allPassedMatch) {
|
|
121
|
+
testsCollected = parseInt(allPassedMatch[1], 10);
|
|
122
|
+
testsFailed = 0;
|
|
131
123
|
}
|
|
132
124
|
return { testsCollected, testsFailed };
|
|
133
125
|
}
|
|
@@ -210,6 +202,11 @@ export function classifyVitestFailure(input) {
|
|
|
210
202
|
function sha256Hex(content) {
|
|
211
203
|
return createHash("sha256").update(content, "utf-8").digest("hex");
|
|
212
204
|
}
|
|
205
|
+
/** vitest 输出内嵌 ANSI 色码(\x1b[...m),剥离后才能被正则/JSON 解析 */
|
|
206
|
+
const ANSI_ESCAPE = /\x1b\[[0-9;]*m/g;
|
|
207
|
+
function stripAnsi(text) {
|
|
208
|
+
return text.replace(ANSI_ESCAPE, "");
|
|
209
|
+
}
|
|
213
210
|
// ─── 主函数 ───
|
|
214
211
|
/**
|
|
215
212
|
* 执行 RED check:运行 vitest focused test,返回 TddCommandEvidence。
|
|
@@ -231,8 +228,12 @@ export async function executeRedCheck(policy, selector, cwd) {
|
|
|
231
228
|
const durationMs = Date.now() - startMs;
|
|
232
229
|
const finishedAt = new Date().toISOString();
|
|
233
230
|
// 4. 解析 vitest 输出获取测试统计数据
|
|
234
|
-
|
|
235
|
-
|
|
231
|
+
// vitest 3.x:统计摘要输出到 stdout,stderr 仅含错误详情 → 双通道拼接解析
|
|
232
|
+
// 输出含 ANSI 色码,先剥离再解析
|
|
233
|
+
const cleanStdout = stripAnsi(output.stdout);
|
|
234
|
+
const cleanStderr = stripAnsi(output.stderr);
|
|
235
|
+
const jsonStats = parseVitestJson(cleanStdout);
|
|
236
|
+
const summaryStats = parseVitestSummary(cleanStderr + "\n" + cleanStdout);
|
|
236
237
|
const testsCollected = jsonStats?.testsCollected ?? summaryStats.testsCollected ?? null;
|
|
237
238
|
const testsFailed = jsonStats?.testsFailed ?? summaryStats.testsFailed ?? null;
|
|
238
239
|
// 5. 分类失败
|
|
@@ -240,7 +241,7 @@ export async function executeRedCheck(policy, selector, cwd) {
|
|
|
240
241
|
exitCode: output.exitCode,
|
|
241
242
|
testsCollected,
|
|
242
243
|
testsFailed,
|
|
243
|
-
stderr:
|
|
244
|
+
stderr: cleanStderr,
|
|
244
245
|
timedOut: output.timedOut,
|
|
245
246
|
});
|
|
246
247
|
// 6. 计算 outputDigest(stdout + stderr 的 SHA-256)
|