claude-task-worker 0.141.0 → 0.142.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.
package/README.md CHANGED
@@ -62,6 +62,7 @@ CLI が GitHub ラベルを検知してタスクを起動し、プラグイン
62
62
  | [CodeGraph](https://www.npmjs.com/package/@colbymchenry/codegraph) | コード探索用インデックス(任意。未導入ならテキスト検索に落ちる) |
63
63
  | [Playwright](https://playwright.dev/) のブラウザ(Google Chrome) | Playwright MCP でのブラウザ確認(起動済みの Chrome に CDP `http://localhost:9222` で接続する。Chrome を `--remote-debugging-port=9222 --user-data-dir=<任意のディレクトリ>` 付きで起動しておく)、`.pen` のスナップショット描画 |
64
64
  | [DESIGN.md CLI](https://github.com/google-labs-code/design.md) | `DESIGN.md` の lint。`update-design-md` 使用時のみ(未導入でも動く) |
65
+ | [OpenCodeReview](https://github.com/alibaba/open-code-review)(CLI `ocr` と Claude Code プラグイン) | `triage-pr` の PR 差分レビュー(`/open-code-review:delegate-review`。未導入でも動く) |
65
66
  | [herdr](https://herdr.dev) | `--project` / `mode: "herdr"` 使用時のみ(`--cloud` は herdr に依存しない) |
66
67
  | [GitHub MCP](https://github.com/github/github-mcp-server) | GitHub アクセスの高速化・クラウド実行時のプロキシ制限回避(任意。Claude 側のコネクタで有効化) |
67
68
 
@@ -73,7 +74,7 @@ CLI 本体に npm の実行時依存はない(Node.js 標準モジュールの
73
74
  npx claude-task-worker install
74
75
  ```
75
76
 
76
- マーケットプレイス追加・プラグイン導入・CLI 本体のグローバルインストール・各種 CLI(CodeGraph / DESIGN.md / Pen)と Playwright ブラウザの取得を一括で行う。いずれかが失敗しても処理は継続する。インストール後、Claude Code のセッションを再起動するとプラグインが有効になる。
77
+ マーケットプレイス追加・プラグイン導入・CLI 本体のグローバルインストール・各種 CLI(CodeGraph / DESIGN.md / OpenCodeReview)・OpenCodeReview プラグインの導入と Playwright ブラウザの取得を一括で行う。いずれかが失敗しても処理は継続する。インストール後、Claude Code のセッションを再起動するとプラグインが有効になる。
77
78
 
78
79
  個別にやる場合:
79
80
 
@@ -139,7 +140,7 @@ claude-task-worker <command> [--epic <issue-number>]... [--label <label>]... [--
139
140
  | `install` / `update` | 上記「セットアップ」を参照 |
140
141
  | `cloud-setup [--force]` | クラウド VM 側の準備(下記「`--cloud`」を参照) |
141
142
  | `list-workers` | プリセットとカスタムの全ワーカーを名前・種別・有効/無効・ロード元で表示(`workerFiles` のロード失敗時は exit 1) |
142
- | `usage` | Claude API 使用状況(5時間/7日間の利用率とリセット時刻)を表示し、Slack にも通知。以降は360秒(6分)ごとに取得し直して表示・RunCat 用スナップショットを更新し続ける(Ctrl-C で終了。Slack 通知は起動時のみ)。プランによって返らない窓(Ultra の5時間枠など)は省いて表示する |
143
+ | `usage` | Claude API 使用状況(5時間/7日間の利用率とリセット時刻)を表示し、Slack にも通知。以降は600秒(10分)ごとに取得し直して表示・RunCat 用スナップショットを更新し続ける(Ctrl-C で終了。Slack 通知は起動時のみ)。プランによって返らない窓(Ultra の5時間枠など)は省いて表示する |
143
144
  | `version` | CLI のバージョンを表示(`--version` / `-v` も可) |
144
145
 
145
146
  ### `--epic <issue-number>`
@@ -2235,7 +2235,7 @@ function writeRuncatUsage(usage, outFile = RUNCAT_OUT_FILE) {
2235
2235
  var execAsync = promisify2(exec);
2236
2236
  var WEBHOOK_URL = process.env.CLAUDE_TASK_WORKER_SLACK_WEBHOOK_URL;
2237
2237
  var USAGE_CACHE_PATH = "/tmp/claude-usage-cache.json";
2238
- var USAGE_POLL_INTERVAL_SECONDS = 360;
2238
+ var USAGE_POLL_INTERVAL_SECONDS = 600;
2239
2239
  var USAGE_CACHE_TTL_SECONDS = 360;
2240
2240
  async function send(payload) {
2241
2241
  if (!WEBHOOK_URL) return;
@@ -0,0 +1,16 @@
1
+ export declare const OCR_PACKAGE = "@alibaba-group/open-code-review";
2
+ export declare const OCR_MARKETPLACE_SOURCE = "alibaba/open-code-review";
3
+ export declare const OCR_MARKETPLACE_NAME = "open-code-review";
4
+ export declare const OCR_PLUGIN = "open-code-review@open-code-review";
5
+ /**
6
+ * OpenCodeReview(OCR)の CLI と Claude Code プラグインを導入/更新する。
7
+ *
8
+ * `triage-pr` スキルが `/open-code-review:delegate-review`(OCR はファイル選定とルール解決だけを行い、
9
+ * レビュー自体はホストの claude が行う)でPRをレビューするため、CLI(`ocr`)とプラグインの両方が要る。
10
+ * delegate モードは OCR 側で LLM を呼ばないので、`ocr config provider` 等の LLM 設定は不要。
11
+ *
12
+ * CLI は self-upgrade 機構を持たないため install / update とも `npm install -g <pkg>@latest`。
13
+ * プラグインは install ならマーケットプレイス追加 → インストール、update ならマーケットプレイス更新 →
14
+ * プラグイン更新(未導入で更新に失敗した場合はインストールへフォールバック)。
15
+ */
16
+ export declare function installOpenCodeReview(logPrefix: "install" | "update"): Promise<boolean>;
package/dist/index.js CHANGED
@@ -65,7 +65,7 @@ import {
65
65
  shutdown,
66
66
  waitForAllProcesses,
67
67
  writeLastRun
68
- } from "./chunk-725IRSKF.js";
68
+ } from "./chunk-IJLDHTJ4.js";
69
69
  import {
70
70
  UserConfigError,
71
71
  assertCloudCompatibleCommand,
@@ -1117,10 +1117,60 @@ async function installDesignMdCli(logPrefix) {
1117
1117
  }
1118
1118
  }
1119
1119
 
1120
- // src/commands/playwright.ts
1120
+ // src/commands/open-code-review.ts
1121
1121
  async function loadRunCommand3() {
1122
1122
  return await import("./run-command-O2TMRPZK.js");
1123
1123
  }
1124
+ var OCR_PACKAGE = "@alibaba-group/open-code-review";
1125
+ var OCR_MARKETPLACE_SOURCE = "alibaba/open-code-review";
1126
+ var OCR_MARKETPLACE_NAME = "open-code-review";
1127
+ var OCR_PLUGIN = "open-code-review@open-code-review";
1128
+ async function installOpenCodeReview(logPrefix) {
1129
+ const { npmInstallGlobalLatest: npmInstallGlobalLatest2, runCommand: runCommand2 } = await loadRunCommand3();
1130
+ let ok = true;
1131
+ console.log(`[${logPrefix}] Installing OpenCodeReview CLI (npm install -g ${OCR_PACKAGE}@latest)...`);
1132
+ try {
1133
+ await npmInstallGlobalLatest2(OCR_PACKAGE);
1134
+ console.log(`[${logPrefix}] OpenCodeReview CLI installed.`);
1135
+ } catch (err) {
1136
+ console.error(`[${logPrefix}] Failed to install OpenCodeReview CLI: ${err.message}`);
1137
+ ok = false;
1138
+ }
1139
+ const addAndInstall = async () => {
1140
+ try {
1141
+ await runCommand2("claude", ["plugin", "marketplace", "add", OCR_MARKETPLACE_SOURCE]);
1142
+ } catch (err) {
1143
+ console.error(
1144
+ `[${logPrefix}] Failed to add marketplace ${OCR_MARKETPLACE_SOURCE} (already added is expected and safe to ignore): ${err.message}`
1145
+ );
1146
+ }
1147
+ await runCommand2("claude", ["plugin", "install", OCR_PLUGIN]);
1148
+ };
1149
+ console.log(`[${logPrefix}] ${logPrefix === "install" ? "Installing" : "Updating"} plugin: ${OCR_PLUGIN}...`);
1150
+ try {
1151
+ if (logPrefix === "install") {
1152
+ await addAndInstall();
1153
+ } else {
1154
+ try {
1155
+ await runCommand2("claude", ["plugin", "marketplace", "update", OCR_MARKETPLACE_NAME]);
1156
+ await runCommand2("claude", ["plugin", "update", OCR_PLUGIN]);
1157
+ } catch (err) {
1158
+ console.error(`[${logPrefix}] Failed to update ${OCR_PLUGIN}, trying install: ${err.message}`);
1159
+ await addAndInstall();
1160
+ }
1161
+ }
1162
+ console.log(`[${logPrefix}] Plugin ${OCR_PLUGIN} ready.`);
1163
+ } catch (err) {
1164
+ console.error(`[${logPrefix}] Failed to set up plugin ${OCR_PLUGIN}: ${err.message}`);
1165
+ ok = false;
1166
+ }
1167
+ return ok;
1168
+ }
1169
+
1170
+ // src/commands/playwright.ts
1171
+ async function loadRunCommand4() {
1172
+ return await import("./run-command-O2TMRPZK.js");
1173
+ }
1124
1174
  var PLAYWRIGHT_CORE_PACKAGE = "playwright-core";
1125
1175
  var PLAYWRIGHT_MCP_PACKAGE = "@playwright/mcp";
1126
1176
  var INSTALL_BROWSER_ARGS = ["-y", `${PLAYWRIGHT_MCP_PACKAGE}@latest`, "install-browser", "chrome"];
@@ -1129,7 +1179,7 @@ function buildInstallDepsCommand(uid) {
1129
1179
  return uid === 0 ? { command: "npx", args: npxArgs } : { command: "sudo", args: ["npx", ...npxArgs] };
1130
1180
  }
1131
1181
  async function installPlaywrightBrowsers(logPrefix) {
1132
- const { runCommand: runCommand2 } = await loadRunCommand3();
1182
+ const { runCommand: runCommand2 } = await loadRunCommand4();
1133
1183
  console.log(`[${logPrefix}] Installing Playwright browsers (npx ${INSTALL_BROWSER_ARGS.join(" ")})...`);
1134
1184
  try {
1135
1185
  await runCommand2("npx", INSTALL_BROWSER_ARGS);
@@ -1158,7 +1208,7 @@ async function installPlaywrightBrowsers(logPrefix) {
1158
1208
  var PLUGIN_NAME = "claude-task-worker";
1159
1209
  var MARKETPLACE_NAME = "claude-task-worker";
1160
1210
  var MARKETPLACE_SOURCE = "getty104/claude-task-worker";
1161
- var GLOBAL_NPM_PACKAGES = [PLUGIN_NAME, CODEGRAPH_PACKAGE, DESIGN_MD_PACKAGE];
1211
+ var GLOBAL_NPM_PACKAGES = [PLUGIN_NAME, CODEGRAPH_PACKAGE, DESIGN_MD_PACKAGE, OCR_PACKAGE];
1162
1212
  async function printGlobalPackageVersions(logPrefix) {
1163
1213
  console.log(`[${logPrefix}] Installed versions:`);
1164
1214
  try {
@@ -1208,8 +1258,9 @@ async function install() {
1208
1258
  const codegraphOk = await installCodegraphCli("install");
1209
1259
  const designMdOk = await installDesignMdCli("install");
1210
1260
  const playwrightOk = await installPlaywrightBrowsers("install");
1261
+ const ocrOk = await installOpenCodeReview("install");
1211
1262
  await printGlobalPackageVersions("install");
1212
- if (!pluginOk || !cliOk || !codegraphOk || !designMdOk || !playwrightOk) {
1263
+ if (!pluginOk || !cliOk || !codegraphOk || !designMdOk || !playwrightOk || !ocrOk) {
1213
1264
  process.exitCode = 1;
1214
1265
  }
1215
1266
  console.log("[install] Done.");
@@ -1348,8 +1399,9 @@ async function update() {
1348
1399
  const codegraphOk = await upgradeCodegraphCli("update");
1349
1400
  const designMdOk = await installDesignMdCli("update");
1350
1401
  const playwrightOk = await installPlaywrightBrowsers("update");
1402
+ const ocrOk = await installOpenCodeReview("update");
1351
1403
  await printGlobalPackageVersions("update");
1352
- if (!marketplaceOk || !pluginOk || !cliOk || !codegraphOk || !designMdOk || !playwrightOk) {
1404
+ if (!marketplaceOk || !pluginOk || !cliOk || !codegraphOk || !designMdOk || !playwrightOk || !ocrOk) {
1353
1405
  process.exitCode = 1;
1354
1406
  }
1355
1407
  console.log("[update] Done.");
package/dist/lib.js CHANGED
@@ -55,7 +55,7 @@ import {
55
55
  removeWorktreeByBranch,
56
56
  run,
57
57
  syncDefaultBranch
58
- } from "./chunk-725IRSKF.js";
58
+ } from "./chunk-IJLDHTJ4.js";
59
59
  import {
60
60
  getPermissionMode,
61
61
  getRunMode,
package/dist/slack.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** `usage` コマンドが利用状況をポーリングする間隔 */
2
- export declare const USAGE_POLL_INTERVAL_SECONDS = 360;
2
+ export declare const USAGE_POLL_INTERVAL_SECONDS = 600;
3
3
  export declare function send(payload: Record<string, unknown>): Promise<void>;
4
4
  export interface UsageInfo {
5
5
  fiveHourUtilization: number | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-task-worker",
3
- "version": "0.141.0",
3
+ "version": "0.142.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",