claude-task-worker 0.1.0 → 0.1.1

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.
Files changed (45) hide show
  1. package/package.json +1 -1
  2. package/dist/commands/init.d.ts +0 -1
  3. package/dist/commands/init.js +0 -84
  4. package/dist/commands/init.js.map +0 -1
  5. package/dist/gh.d.ts +0 -47
  6. package/dist/gh.js +0 -113
  7. package/dist/gh.js.map +0 -1
  8. package/dist/git.d.ts +0 -1
  9. package/dist/git.js +0 -14
  10. package/dist/git.js.map +0 -1
  11. package/dist/index.d.ts +0 -2
  12. package/dist/index.js.map +0 -1
  13. package/dist/process-manager.d.ts +0 -8
  14. package/dist/process-manager.js +0 -218
  15. package/dist/process-manager.js.map +0 -1
  16. package/dist/random-name.d.ts +0 -1
  17. package/dist/random-name.js +0 -59
  18. package/dist/random-name.js.map +0 -1
  19. package/dist/slack.d.ts +0 -5
  20. package/dist/slack.js +0 -125
  21. package/dist/slack.js.map +0 -1
  22. package/dist/usage.d.ts +0 -2
  23. package/dist/usage.js +0 -52
  24. package/dist/usage.js.map +0 -1
  25. package/dist/workers/create-issue.d.ts +0 -1
  26. package/dist/workers/create-issue.js +0 -55
  27. package/dist/workers/create-issue.js.map +0 -1
  28. package/dist/workers/exec-issue.d.ts +0 -1
  29. package/dist/workers/exec-issue.js +0 -50
  30. package/dist/workers/exec-issue.js.map +0 -1
  31. package/dist/workers/fix-review-point.d.ts +0 -1
  32. package/dist/workers/fix-review-point.js +0 -62
  33. package/dist/workers/fix-review-point.js.map +0 -1
  34. package/dist/workers/triage-issues.d.ts +0 -3
  35. package/dist/workers/triage-issues.js +0 -54
  36. package/dist/workers/triage-issues.js.map +0 -1
  37. package/dist/workers/triage-prs.d.ts +0 -3
  38. package/dist/workers/triage-prs.js +0 -56
  39. package/dist/workers/triage-prs.js.map +0 -1
  40. package/dist/workers/update-issue.d.ts +0 -1
  41. package/dist/workers/update-issue.js +0 -61
  42. package/dist/workers/update-issue.js.map +0 -1
  43. package/dist/worktree.d.ts +0 -2
  44. package/dist/worktree.js +0 -34
  45. package/dist/worktree.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-task-worker",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "CLI tool that polls GitHub Issues/PRs and delegates work to Claude CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1 +0,0 @@
1
- export declare function init(): Promise<void>;
@@ -1,84 +0,0 @@
1
- import { mkdir, writeFile, access } from "node:fs/promises";
2
- import { createLabel } from "../gh.js";
3
- const LABELS = [
4
- { name: "cc-create-issue", color: "0075ca" },
5
- { name: "cc-update-issue", color: "e4e669" },
6
- { name: "cc-exec-issue", color: "7057ff" },
7
- { name: "cc-fix-onetime", color: "d93f0b" },
8
- { name: "cc-fix-repeat", color: "b60205" },
9
- { name: "cc-in-progress", color: "0e8a16" },
10
- { name: "cc-issue-created", color: "f9a825" },
11
- { name: "cc-pr-created", color: "006b75" },
12
- { name: "cc-triage-scope", color: "c5def5" },
13
- ];
14
- const ISSUE_TEMPLATE = `name: "[claude-task-worker] Issue作成依頼"
15
- description: claude-task-workerでGitHub Issueを作成する
16
- title: "[claude-task-worker] Issue作成依頼"
17
- labels:
18
- - cc-create-issue
19
- body:
20
- - type: textarea
21
- id: request
22
- attributes:
23
- label: 依頼内容
24
- description: 作成してほしいIssueの内容を記述してください
25
- validations:
26
- required: true
27
- `;
28
- const ASSIGN_CREATOR_WORKFLOW = `name: Assign creator on cc-create-issue
29
-
30
- on:
31
- issues:
32
- types: [opened]
33
-
34
- jobs:
35
- assign:
36
- if: contains(github.event.issue.labels.*.name, 'cc-create-issue')
37
- runs-on: ubuntu-latest
38
- permissions:
39
- issues: write
40
- steps:
41
- - uses: actions/github-script@v7
42
- with:
43
- script: |
44
- await github.rest.issues.addAssignees({
45
- owner: context.repo.owner,
46
- repo: context.repo.repo,
47
- issue_number: context.issue.number,
48
- assignees: [context.payload.issue.user.login]
49
- });
50
- `;
51
- async function createFileIfNotExists(path, content) {
52
- try {
53
- await access(path);
54
- return false;
55
- }
56
- catch {
57
- await writeFile(path, content, "utf-8");
58
- return true;
59
- }
60
- }
61
- export async function init() {
62
- console.log("[init] Creating labels...");
63
- for (const label of LABELS) {
64
- const ok = await createLabel(label.name, label.color, true);
65
- if (ok) {
66
- console.log(`[init] Ensured label: ${label.name}`);
67
- }
68
- else {
69
- console.log(`[init] Failed to create label: ${label.name}`);
70
- }
71
- }
72
- console.log("[init] Creating issue template...");
73
- await mkdir(".github/ISSUE_TEMPLATE", { recursive: true });
74
- const templatePath = ".github/ISSUE_TEMPLATE/cc-create-issue.yml";
75
- const templateCreated = await createFileIfNotExists(templatePath, ISSUE_TEMPLATE);
76
- console.log(templateCreated ? `[init] Created: ${templatePath}` : `[init] Already exists: ${templatePath}`);
77
- console.log("[init] Creating GitHub Actions workflow...");
78
- await mkdir(".github/workflows", { recursive: true });
79
- const workflowPath = ".github/workflows/assign-creator-on-cc-create-issue.yml";
80
- const workflowCreated = await createFileIfNotExists(workflowPath, ASSIGN_CREATOR_WORKFLOW);
81
- console.log(workflowCreated ? `[init] Created: ${workflowPath}` : `[init] Already exists: ${workflowPath}`);
82
- console.log("[init] Done.");
83
- }
84
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/gh.d.ts DELETED
@@ -1,47 +0,0 @@
1
- interface Issue {
2
- number: number;
3
- title: string;
4
- labels: {
5
- name: string;
6
- }[];
7
- body: string;
8
- state: string;
9
- }
10
- interface PullRequest {
11
- number: number;
12
- headRefName: string;
13
- labels: {
14
- name: string;
15
- }[];
16
- title: string;
17
- }
18
- interface RepoInfo {
19
- owner: string;
20
- name: string;
21
- defaultBranch: string;
22
- }
23
- export declare function getCurrentUser(): Promise<string>;
24
- export declare function getRepoInfo(): Promise<RepoInfo>;
25
- export declare function listIssues(assignee: string, label: string): Promise<Issue[]>;
26
- export declare function listAllIssues(assignee: string): Promise<Issue[]>;
27
- interface StatusCheck {
28
- __typename: string;
29
- status?: string;
30
- state?: string;
31
- }
32
- interface PullRequestWithChecks extends PullRequest {
33
- statusCheckRollup: StatusCheck[];
34
- }
35
- export declare function isCICompleted(checks: StatusCheck[]): boolean;
36
- export declare function listPullRequestsWithChecks(assignee?: string, options?: {
37
- triageScope?: boolean;
38
- }): Promise<PullRequestWithChecks[]>;
39
- export declare function addLabel(type: "issue" | "pr", number: number, label: string): Promise<void>;
40
- export declare function removeLabel(type: "issue" | "pr", number: number, label: string): Promise<void>;
41
- export declare function getLastIssueComment(issueNumber: number): Promise<{
42
- author: string;
43
- body: string;
44
- } | null>;
45
- export declare function commentOnIssue(issueNumber: number, body: string): Promise<void>;
46
- export declare function createLabel(name: string, color?: string, force?: boolean): Promise<boolean>;
47
- export {};
package/dist/gh.js DELETED
@@ -1,113 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- function execGh(args) {
3
- return new Promise((resolve, reject) => {
4
- execFile("gh", args, (error, stdout, stderr) => {
5
- if (error) {
6
- reject(new Error(`gh ${args.join(" ")} failed: ${stderr || error.message}`));
7
- return;
8
- }
9
- resolve(stdout.trim());
10
- });
11
- });
12
- }
13
- export async function getCurrentUser() {
14
- return execGh(["api", "user", "--jq", ".login"]);
15
- }
16
- export async function getRepoInfo() {
17
- const output = await execGh(["repo", "view", "--json", "owner,name,defaultBranchRef"]);
18
- const parsed = JSON.parse(output);
19
- return { owner: parsed.owner.login, name: parsed.name, defaultBranch: parsed.defaultBranchRef.name };
20
- }
21
- export async function listIssues(assignee, label) {
22
- const output = await execGh([
23
- "issue", "list",
24
- "--assignee", assignee,
25
- "--label", label,
26
- "--json", "number,title,labels",
27
- "--limit", "100",
28
- ]);
29
- return JSON.parse(output);
30
- }
31
- export async function listAllIssues(assignee) {
32
- const output = await execGh([
33
- "issue", "list",
34
- "--assignee", assignee,
35
- "--label", "cc-triage-scope",
36
- "--search", "sort:created-asc",
37
- "--json", "number,title,labels",
38
- "--limit", "5",
39
- ]);
40
- return JSON.parse(output);
41
- }
42
- export function isCICompleted(checks) {
43
- if (checks.length === 0)
44
- return true;
45
- return checks.every(check => {
46
- if (check.__typename === "CheckRun") {
47
- return check.status === "COMPLETED";
48
- }
49
- return check.state !== "PENDING";
50
- });
51
- }
52
- export async function listPullRequestsWithChecks(assignee, options) {
53
- const args = [
54
- "pr", "list",
55
- "--json", "number,headRefName,labels,title,statusCheckRollup",
56
- "--limit", "100",
57
- ];
58
- if (options?.triageScope) {
59
- args.push("--label", "cc-triage-scope");
60
- }
61
- if (assignee) {
62
- args.push("--assignee", assignee);
63
- }
64
- const output = await execGh(args);
65
- return JSON.parse(output);
66
- }
67
- async function withRetry(fn, maxRetries = 3, delayMs = 1000) {
68
- for (let attempt = 1; attempt <= maxRetries; attempt++) {
69
- try {
70
- return await fn();
71
- }
72
- catch (err) {
73
- if (attempt === maxRetries)
74
- throw err;
75
- console.error(`[gh] Attempt ${attempt}/${maxRetries} failed, retrying in ${delayMs}ms...`);
76
- await new Promise(resolve => setTimeout(resolve, delayMs));
77
- }
78
- }
79
- throw new Error("unreachable");
80
- }
81
- export async function addLabel(type, number, label) {
82
- await withRetry(() => execGh([type, "edit", String(number), "--add-label", label]));
83
- }
84
- export async function removeLabel(type, number, label) {
85
- await withRetry(() => execGh([type, "edit", String(number), "--remove-label", label]));
86
- }
87
- export async function getLastIssueComment(issueNumber) {
88
- const output = await execGh(["issue", "view", String(issueNumber), "--json", "comments"]);
89
- const parsed = JSON.parse(output);
90
- const comments = parsed.comments ?? [];
91
- if (comments.length === 0)
92
- return null;
93
- const last = comments[comments.length - 1];
94
- return { author: last.author.login, body: last.body };
95
- }
96
- export async function commentOnIssue(issueNumber, body) {
97
- await execGh(["issue", "comment", String(issueNumber), "--body", body]);
98
- }
99
- export async function createLabel(name, color, force) {
100
- try {
101
- const args = ["label", "create", name];
102
- if (color)
103
- args.push("--color", color);
104
- if (force)
105
- args.push("--force");
106
- await execGh(args);
107
- return true;
108
- }
109
- catch {
110
- return false;
111
- }
112
- }
113
- //# sourceMappingURL=gh.js.map
package/dist/gh.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare function syncDefaultBranch(branch: string): void;
package/dist/git.js DELETED
@@ -1,14 +0,0 @@
1
- import { execSync } from "node:child_process";
2
- let running = false;
3
- export function syncDefaultBranch(branch) {
4
- if (running)
5
- return;
6
- running = true;
7
- try {
8
- execSync(`git worktree prune && git checkout ${branch} && git add -A && git reset --hard && git pull origin ${branch}`, { stdio: "pipe" });
9
- }
10
- finally {
11
- running = false;
12
- }
13
- }
14
- //# sourceMappingURL=git.js.map
package/dist/git.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,OAAO;QAAE,OAAO;IACpB,OAAO,GAAG,IAAI,CAAC;IACf,IAAI,CAAC;QACH,QAAQ,CAAC,sCAAsC,MAAM,yDAAyD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7I,CAAC;YAAS,CAAC;QACT,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;AACH,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,OAAO,GAAwC;IACnD,YAAY,EAAE,eAAe;IAC7B,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,eAAe;CAC9B,CAAC;AAEF,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;gCAkBkB,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7H,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAChD,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,QAAQ,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;IACtG,mBAAmB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC;AACT,CAAC;KAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;IAClC,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;KAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,oBAAoB,EAAE,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACrG,CAAC;KAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;IACjC,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,eAAe,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,MAAM,kBAAkB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,oBAAoB,EAAE,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AACxB,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare function setShuttingDown(): void;
2
- export declare function isShuttingDown(): boolean;
3
- export declare function isRunning(id: number): boolean;
4
- export declare function isWorkerRunning(workerName: string): boolean;
5
- export declare function isWorkerAtCapacity(workerName: string): boolean;
6
- export declare function run(command: string, args: string[], id: number, title: string, workerName: string, path?: string, onComplete?: (status: "completed" | "failed", output: string) => void): void;
7
- export declare function waitForAllProcesses(): Promise<void>;
8
- export declare function shutdown(): void;
@@ -1,218 +0,0 @@
1
- import { spawn, ChildProcess } from "node:child_process";
2
- const childProcesses = new Map();
3
- function getDisplayWidth(str) {
4
- let width = 0;
5
- for (const char of str) {
6
- const code = char.codePointAt(0);
7
- if ((code >= 0x1100 && code <= 0x115f) ||
8
- (code >= 0x2e80 && code <= 0x303e) ||
9
- (code >= 0x3040 && code <= 0x33bf) ||
10
- (code >= 0x3400 && code <= 0x4dbf) ||
11
- (code >= 0x4e00 && code <= 0xa4cf) ||
12
- (code >= 0xac00 && code <= 0xd7af) ||
13
- (code >= 0xf900 && code <= 0xfaff) ||
14
- (code >= 0xfe30 && code <= 0xfe6f) ||
15
- (code >= 0xff01 && code <= 0xff60) ||
16
- (code >= 0xffe0 && code <= 0xffe6) ||
17
- (code >= 0x20000 && code <= 0x2fffd) ||
18
- (code >= 0x30000 && code <= 0x3fffd)) {
19
- width += 2;
20
- }
21
- else {
22
- width += 1;
23
- }
24
- }
25
- return width;
26
- }
27
- function truncateToWidth(str, maxWidth) {
28
- let width = 0;
29
- let i = 0;
30
- const chars = [...str];
31
- while (i < chars.length) {
32
- const charWidth = getDisplayWidth(chars[i]);
33
- if (width + charWidth > maxWidth - 3) {
34
- return chars.slice(0, i).join("") + "...";
35
- }
36
- width += charWidth;
37
- i++;
38
- }
39
- return str;
40
- }
41
- function padToWidth(str, targetWidth) {
42
- const currentWidth = getDisplayWidth(str);
43
- const padding = targetWidth - currentWidth;
44
- return padding > 0 ? str + " ".repeat(padding) : str;
45
- }
46
- const tasks = new Map();
47
- let shuttingDown = false;
48
- export function setShuttingDown() {
49
- shuttingDown = true;
50
- }
51
- export function isShuttingDown() {
52
- return shuttingDown;
53
- }
54
- export function isRunning(id) {
55
- const task = tasks.get(id);
56
- return task?.status === "running";
57
- }
58
- const MAX_CONCURRENT_TASKS_PER_WORKER = 4;
59
- export function isWorkerRunning(workerName) {
60
- for (const task of tasks.values()) {
61
- if (task.workerName === workerName && task.status === "running") {
62
- return true;
63
- }
64
- }
65
- return false;
66
- }
67
- export function isWorkerAtCapacity(workerName) {
68
- let count = 0;
69
- for (const task of tasks.values()) {
70
- if (task.workerName === workerName && task.status === "running") {
71
- count++;
72
- }
73
- }
74
- return count >= MAX_CONCURRENT_TASKS_PER_WORKER;
75
- }
76
- function formatDuration(start, end = new Date()) {
77
- const diffMs = end.getTime() - start.getTime();
78
- const totalSeconds = Math.floor(diffMs / 1000);
79
- const minutes = Math.floor(totalSeconds / 60);
80
- const seconds = totalSeconds % 60;
81
- return `${minutes}m ${String(seconds).padStart(2, "0")}s`;
82
- }
83
- function formatTime(date) {
84
- const h = String(date.getHours()).padStart(2, "0");
85
- const m = String(date.getMinutes()).padStart(2, "0");
86
- const s = String(date.getSeconds()).padStart(2, "0");
87
- return `${h}:${m}:${s}`;
88
- }
89
- function renderTable() {
90
- const entries = [...tasks.values()];
91
- if (entries.length === 0)
92
- return;
93
- const runningTasks = entries.filter((t) => t.status === "running");
94
- const finishedTasks = entries.filter((t) => t.status !== "running");
95
- const maxTitleWidth = 40;
96
- const maxPathWidth = 40;
97
- const allRows = [
98
- ...runningTasks.map((t) => ({
99
- id: `#${t.id}`,
100
- title: getDisplayWidth(t.title) > maxTitleWidth ? truncateToWidth(t.title, maxTitleWidth) : t.title,
101
- worker: t.workerName,
102
- path: t.path ? (t.path.length > maxPathWidth ? truncateToWidth(t.path, maxPathWidth) : t.path) : "",
103
- status: t.status,
104
- time: formatTime(t.startedAt),
105
- duration: formatDuration(t.startedAt),
106
- })),
107
- ...finishedTasks.map((t) => ({
108
- id: `#${t.id}`,
109
- title: getDisplayWidth(t.title) > maxTitleWidth ? truncateToWidth(t.title, maxTitleWidth) : t.title,
110
- worker: t.workerName,
111
- path: t.path ? (t.path.length > maxPathWidth ? truncateToWidth(t.path, maxPathWidth) : t.path) : "",
112
- status: t.status,
113
- time: formatTime(t.finishedAt ?? t.startedAt),
114
- duration: formatDuration(t.startedAt, t.finishedAt),
115
- })),
116
- ];
117
- const hasPath = allRows.some((r) => r.path !== "");
118
- const colWidths = {
119
- id: Math.max(3, ...allRows.map((r) => r.id.length)),
120
- title: Math.max(5, ...allRows.map((r) => getDisplayWidth(r.title))),
121
- worker: Math.max(6, ...allRows.map((r) => r.worker.length)),
122
- ...(hasPath ? { path: Math.max(8, ...allRows.map((r) => r.path.length)) } : {}),
123
- status: Math.max(6, ...allRows.map((r) => r.status.length)),
124
- time: Math.max(4, ...allRows.map((r) => r.time.length)),
125
- duration: Math.max(8, ...allRows.map((r) => r.duration.length)),
126
- };
127
- const pad = (s, w, useDisplayWidth = false) => useDisplayWidth ? padToWidth(s, w) : s + " ".repeat(w - s.length);
128
- const cols = hasPath
129
- ? [colWidths.id, colWidths.title, colWidths.worker, colWidths.path, colWidths.status, colWidths.time, colWidths.duration]
130
- : [colWidths.id, colWidths.title, colWidths.worker, colWidths.status, colWidths.time, colWidths.duration];
131
- const line = (l, m, r, f) => `${l}${cols.map((w) => f.repeat(w + 2)).join(m)}${r}`;
132
- const row = (id, title, worker, path, status, time, duration) => hasPath
133
- ? `│ ${pad(id, colWidths.id)} │ ${pad(title, colWidths.title, true)} │ ${pad(worker, colWidths.worker)} │ ${pad(path, colWidths.path)} │ ${pad(status, colWidths.status)} │ ${pad(time, colWidths.time)} │ ${pad(duration, colWidths.duration)} │`
134
- : `│ ${pad(id, colWidths.id)} │ ${pad(title, colWidths.title, true)} │ ${pad(worker, colWidths.worker)} │ ${pad(status, colWidths.status)} │ ${pad(time, colWidths.time)} │ ${pad(duration, colWidths.duration)} │`;
135
- const lines = [];
136
- lines.push(line("┌", "┬", "┐", "─"));
137
- lines.push(row("#", "Title", "Worker", "Worktree", "Status", "Time", "Duration"));
138
- lines.push(line("├", "┼", "┤", "─"));
139
- for (const r of allRows.filter((r) => r.status === "running")) {
140
- lines.push(row(r.id, r.title, r.worker, r.path, r.status, r.time, r.duration));
141
- }
142
- if (runningTasks.length > 0 && finishedTasks.length > 0) {
143
- lines.push(line("├", "┼", "┤", "─"));
144
- }
145
- for (const r of allRows.filter((r) => r.status !== "running")) {
146
- lines.push(row(r.id, r.title, r.worker, r.path, r.status, r.time, r.duration));
147
- }
148
- lines.push(line("└", "┴", "┘", "─"));
149
- console.clear();
150
- console.log(lines.join("\n"));
151
- }
152
- let renderInterval;
153
- function ensureRenderInterval() {
154
- if (renderInterval)
155
- return;
156
- renderInterval = setInterval(renderTable, 1000);
157
- renderInterval.unref();
158
- }
159
- export function run(command, args, id, title, workerName, path, onComplete) {
160
- tasks.set(id, {
161
- id,
162
- title,
163
- status: "running",
164
- workerName,
165
- path,
166
- startedAt: new Date(),
167
- });
168
- ensureRenderInterval();
169
- renderTable();
170
- const child = spawn(command, args, { stdio: ["ignore", "pipe", "inherit"], detached: true });
171
- childProcesses.set(id, child);
172
- const outputChunks = [];
173
- child.stdout?.on("data", (chunk) => {
174
- outputChunks.push(chunk);
175
- });
176
- child.on("close", (code) => {
177
- childProcesses.delete(id);
178
- const task = tasks.get(id);
179
- if (task) {
180
- task.status = code === 0 ? "completed" : "failed";
181
- task.finishedAt = new Date();
182
- }
183
- renderTable();
184
- const output = Buffer.concat(outputChunks).toString("utf-8");
185
- onComplete?.(code === 0 ? "completed" : "failed", output);
186
- });
187
- child.on("error", (err) => {
188
- childProcesses.delete(id);
189
- const task = tasks.get(id);
190
- if (task) {
191
- task.status = "failed";
192
- task.finishedAt = new Date();
193
- }
194
- console.error(`[worker] failed to spawn process for #${id}: ${err.message}`);
195
- renderTable();
196
- onComplete?.("failed", err.message);
197
- });
198
- }
199
- export function waitForAllProcesses() {
200
- return new Promise((resolve) => {
201
- const check = () => {
202
- if (childProcesses.size === 0) {
203
- resolve();
204
- }
205
- else {
206
- setTimeout(check, 500);
207
- }
208
- };
209
- check();
210
- });
211
- }
212
- export function shutdown() {
213
- for (const [id, child] of childProcesses) {
214
- child.kill("SIGTERM");
215
- childProcesses.delete(id);
216
- }
217
- }
218
- //# sourceMappingURL=process-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function generateWorktreeName(): string;
@@ -1,59 +0,0 @@
1
- import { randomInt } from "node:crypto";
2
- const ADJECTIVES = [
3
- "brave", "calm", "dark", "eager", "fair",
4
- "gentle", "happy", "keen", "lively", "noble",
5
- "proud", "quiet", "rapid", "sharp", "swift",
6
- "tender", "vivid", "warm", "bold", "bright",
7
- "clever", "daring", "fierce", "grand", "humble",
8
- "jovial", "kind", "lucky", "mighty", "neat",
9
- "agile", "amber", "breezy", "crisp", "deep",
10
- "dusty", "elfin", "frosty", "golden", "hardy",
11
- "icy", "joyful", "lean", "misty", "nimble",
12
- "open", "peppy", "radiant", "serene", "tidy",
13
- "upbeat", "valiant", "wiry", "zesty", "ancient",
14
- "brisk", "crispy", "deft", "earnest", "fleet",
15
- "airy", "ardent", "astute", "azure", "balmy",
16
- "blithe", "buoyant", "candid", "cheery", "coastal",
17
- "dashing", "dazzling", "devoted", "dynamic", "edgy",
18
- "elegant", "enduring", "exotic", "fabled", "faithful",
19
- "famous", "fearless", "flawless", "fluent", "focused",
20
- "forceful", "forged", "frank", "fresh", "frugal",
21
- "gallant", "gifted", "glowing", "graceful", "grounded",
22
- "honest", "hopeful", "ideal", "immense", "intact",
23
- "intrepid", "ironclad", "ivory", "keen", "knowing",
24
- "lavish", "level", "lithe", "lofty", "loyal",
25
- "luminous", "majestic", "mellow", "mindful", "modern",
26
- ];
27
- const NOUNS = [
28
- "falcon", "river", "cedar", "flame", "stone",
29
- "breeze", "coral", "delta", "frost", "grove",
30
- "harbor", "iris", "jade", "lark", "maple",
31
- "orbit", "pearl", "ridge", "spark", "tide",
32
- "vale", "wolf", "apex", "bloom", "crest",
33
- "dawn", "ember", "flint", "hawk", "sage",
34
- "arrow", "basin", "cliff", "dune", "echo",
35
- "fern", "gale", "helm", "isle", "jungle",
36
- "kite", "lance", "marsh", "nova", "oak",
37
- "pine", "quill", "reef", "shore", "thorn",
38
- "umber", "veil", "wave", "xenon", "yew",
39
- "zenith", "acorn", "birch", "comet", "dew",
40
- "abyss", "anchor", "anvil", "arc", "ash",
41
- "atlas", "aurora", "axe", "bay", "beacon",
42
- "blade", "bolt", "brook", "bud", "burl",
43
- "cairn", "canopy", "cape", "cavern", "chain",
44
- "chalk", "chasm", "chord", "chrome", "citrus",
45
- "claw", "cloud", "cobalt", "creek", "crown",
46
- "crystal", "current", "cypress", "depot", "depth",
47
- "drift", "dusk", "dust", "eddy", "elm",
48
- "epoch", "ether", "field", "fin", "fjord",
49
- "foam", "forge", "fossil", "geyser", "glacier",
50
- "glow", "granite", "heath", "heron", "hollow",
51
- ];
52
- function pick(list) {
53
- return list[randomInt(list.length)];
54
- }
55
- export function generateWorktreeName() {
56
- const suffix = String(randomInt(10000)).padStart(4, "0");
57
- return `${pick(ADJECTIVES)}-${pick(NOUNS)}-${suffix}`;
58
- }
59
- //# sourceMappingURL=random-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random-name.js","sourceRoot":"","sources":["../src/random-name.ts"],"names":[],"mappings":"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"}
package/dist/slack.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export declare function send(payload: Record<string, unknown>): Promise<void>;
2
- export declare function buildTokenLimitText(): Promise<string>;
3
- export declare function notifyTaskCompleted(workerName: string, repoName: string, id: number, title: string, url: string): Promise<void>;
4
- export declare function notifyTaskFailed(workerName: string, repoName: string, id: number, title: string, url: string, output?: string): Promise<void>;
5
- export declare function notifyError(workerName: string, repoName: string, error: unknown): Promise<void>;