claude-task-worker 0.94.0 → 0.95.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/dist/index.js +12 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3243,7 +3243,8 @@ async function removeStaleWorktrees() {
|
|
|
3243
3243
|
}
|
|
3244
3244
|
|
|
3245
3245
|
// src/workers/issue-worker.ts
|
|
3246
|
-
var
|
|
3246
|
+
var STICKY_LABELS = ["cc-triage-scope", "cc-issue-created"];
|
|
3247
|
+
var consumableTriggerLabels = (triggerLabels) => triggerLabels.filter((label) => !STICKY_LABELS.includes(label));
|
|
3247
3248
|
var PREFLIGHT_SEARCH_LIMIT = 5;
|
|
3248
3249
|
function createIssuePollingWorker(config) {
|
|
3249
3250
|
return async () => {
|
|
@@ -3289,7 +3290,6 @@ function createIssuePollingWorker(config) {
|
|
|
3289
3290
|
continue;
|
|
3290
3291
|
}
|
|
3291
3292
|
}
|
|
3292
|
-
const hadTriageScope = issue.labels.some((l) => l.name === LABEL_TRIAGE_SCOPE);
|
|
3293
3293
|
await addLabel("issue", issue.number, "cc-in-progress");
|
|
3294
3294
|
const worktreeId = generateWorktreeName();
|
|
3295
3295
|
try {
|
|
@@ -3325,18 +3325,11 @@ function createIssuePollingWorker(config) {
|
|
|
3325
3325
|
worktreeId,
|
|
3326
3326
|
async (status, output) => {
|
|
3327
3327
|
lastCompletionAt = Date.now();
|
|
3328
|
-
for (const label of config.triggerLabels) {
|
|
3328
|
+
for (const label of consumableTriggerLabels(config.triggerLabels)) {
|
|
3329
3329
|
await removeLabel("issue", issue.number, label).catch(
|
|
3330
3330
|
(err) => console.error(`[${config.name}] removeLabel ${label} failed for #${issue.number}: ${err}`)
|
|
3331
3331
|
);
|
|
3332
3332
|
}
|
|
3333
|
-
if (hadTriageScope) {
|
|
3334
|
-
await addLabel("issue", issue.number, LABEL_TRIAGE_SCOPE).catch(
|
|
3335
|
-
(err) => console.error(
|
|
3336
|
-
`[${config.name}] addLabel ${LABEL_TRIAGE_SCOPE} failed for #${issue.number}: ${err}`
|
|
3337
|
-
)
|
|
3338
|
-
);
|
|
3339
|
-
}
|
|
3340
3333
|
try {
|
|
3341
3334
|
if (status === "completed") {
|
|
3342
3335
|
const verified = await config.onCompleted?.(issue.number, worktreeId, output) ?? true;
|
|
@@ -3443,7 +3436,7 @@ var execIssueWorker = (opts = {}) => createIssuePollingWorker({
|
|
|
3443
3436
|
|
|
3444
3437
|
// src/workers/pr-worker.ts
|
|
3445
3438
|
var LABEL_IN_PROGRESS = "cc-in-progress";
|
|
3446
|
-
var
|
|
3439
|
+
var LABEL_TRIAGE_SCOPE = "cc-triage-scope";
|
|
3447
3440
|
function createPrPollingWorker(config) {
|
|
3448
3441
|
return async () => {
|
|
3449
3442
|
const { owner, name, defaultBranch } = await getRepoInfo();
|
|
@@ -3465,7 +3458,7 @@ function createPrPollingWorker(config) {
|
|
|
3465
3458
|
if (isRunning(pr.number)) continue;
|
|
3466
3459
|
if (isWorkerAtCapacity(config.name)) break;
|
|
3467
3460
|
const prUrl = `https://github.com/${owner}/${name}/pull/${pr.number}`;
|
|
3468
|
-
const hadTriageScope = pr.labels.some((l) => l.name ===
|
|
3461
|
+
const hadTriageScope = pr.labels.some((l) => l.name === LABEL_TRIAGE_SCOPE);
|
|
3469
3462
|
await addLabel("pr", pr.number, LABEL_IN_PROGRESS);
|
|
3470
3463
|
const worktreeId = generateWorktreeName();
|
|
3471
3464
|
try {
|
|
@@ -3521,9 +3514,9 @@ function createPrPollingWorker(config) {
|
|
|
3521
3514
|
);
|
|
3522
3515
|
}
|
|
3523
3516
|
if (hadTriageScope) {
|
|
3524
|
-
await addLabel("pr", pr.number,
|
|
3517
|
+
await addLabel("pr", pr.number, LABEL_TRIAGE_SCOPE).catch(
|
|
3525
3518
|
(err) => console.error(
|
|
3526
|
-
`[${config.name}] addLabel ${
|
|
3519
|
+
`[${config.name}] addLabel ${LABEL_TRIAGE_SCOPE} failed for PR #${pr.number}: ${err}`
|
|
3527
3520
|
)
|
|
3528
3521
|
);
|
|
3529
3522
|
}
|
|
@@ -3642,10 +3635,9 @@ var triageCreatedIssueWorker = (opts = {}) => createIssuePollingWorker({
|
|
|
3642
3635
|
"cc-ui-design-pr-created"
|
|
3643
3636
|
],
|
|
3644
3637
|
epicFilters: opts.epicFilters,
|
|
3645
|
-
labelFilters: opts.labelFilters
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
}
|
|
3638
|
+
labelFilters: opts.labelFilters
|
|
3639
|
+
// トリガーラベルはどちらも STICKY_LABELS なのでワーカーが外さない。
|
|
3640
|
+
// 完了時に付け直す必要はない。
|
|
3649
3641
|
})();
|
|
3650
3642
|
|
|
3651
3643
|
// src/workers/triage-pr.ts
|
|
@@ -3981,7 +3973,7 @@ import { execFile as execFile3 } from "node:child_process";
|
|
|
3981
3973
|
import { promisify as promisify4 } from "node:util";
|
|
3982
3974
|
var execFileAsync3 = promisify4(execFile3);
|
|
3983
3975
|
var CONFIG_FILE = "claude-task-worker.json";
|
|
3984
|
-
var
|
|
3976
|
+
var LABEL_TRIAGE_SCOPE2 = "cc-triage-scope";
|
|
3985
3977
|
function lastRunBranchName(workerName) {
|
|
3986
3978
|
return `ctw-last-run-${workerName}`;
|
|
3987
3979
|
}
|
|
@@ -4028,7 +4020,7 @@ async function publishLastRunPr(workerName, defaultBranch, at) {
|
|
|
4028
4020
|
branch,
|
|
4029
4021
|
lastRunPrTitle(workerName),
|
|
4030
4022
|
lastRunPrBody(workerName, at),
|
|
4031
|
-
{ labels: [
|
|
4023
|
+
{ labels: [LABEL_TRIAGE_SCOPE2], assignee: await getCurrentUser() }
|
|
4032
4024
|
);
|
|
4033
4025
|
console.log(`[${workerName}] opened lastRun PR #${prNumber}`);
|
|
4034
4026
|
} finally {
|