claude-task-worker 0.40.0 → 0.42.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.
Files changed (3) hide show
  1. package/README.md +40 -20
  2. package/dist/index.js +73 -13
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -335,6 +335,7 @@ claude-task-worker yolo --epic 100 --epic 200 --label priority-high
335
335
  ```json
336
336
  {
337
337
  "mode": "default",
338
+ "advisor": false,
338
339
  "projects": {
339
340
  "app-a": "/Users/me/repos/app-a",
340
341
  "app-b": "/Users/me/repos/app-b",
@@ -346,7 +347,7 @@ claude-task-worker yolo --epic 100 --epic 200 --label priority-high
346
347
  }
347
348
  ```
348
349
 
349
- `mode` については [`mode`(タスクの実行形態)](#modeタスクの実行形態) を参照。
350
+ `mode` については [`mode`(タスクの実行形態)](#modeタスクの実行形態)、`advisor` については [`advisor`(アドバイザーモデル)](#advisorアドバイザーモデル) を参照。
350
351
 
351
352
  `--project` は繰り返し指定可能で、複数指定した場合は解決後のプロジェクト集合の和集合が対象になる(重複は一意化される)。`--epic` / `--label` と併用でき、ディスパッチ先の各プロジェクトで実行されるコマンドにそのまま引き継がれる。
352
353
 
@@ -405,6 +406,24 @@ claude-task-worker exec-issue --project app-a --epic 100 --label priority-high
405
406
 
406
407
  適用は `herdr server reload-config`。この設定は herdr サーバー全体に効くため、ワーカー以外の対話セッションの完了音も鳴らなくなる(`[ui.sound.agents] claude = "off"` でも実質同じ範囲)。ワーカーだけを無音にしたい場合は、`HERDR_DISABLE_SOUND=1 herdr --session <name>` で別セッションを起動し、その中でディスパッチャーを動かす
407
408
 
409
+ ### `advisor`(アドバイザーモデル)
410
+
411
+ `config.json` のトップレベルに `advisor: true` を書くと、ワーカーがタスクを起動する際、Claude CLI へ `--advisor <model>` を渡すようになる。渡すモデルはリポジトリ直下の `claude-task-worker.json` の `workers.<ワーカー名>.advisorModel`([ワーカーごとの設定](#ワーカーごとの設定))で指定する。`mode` と同じくトップレベル一括で、プロジェクト単位・ワーカー単位のオン/オフはできない。
412
+
413
+ | `advisor` | 挙動 |
414
+ |---|---|
415
+ | `false`(既定) | `advisorModel` の指定に関わらず `--advisor` を渡さない |
416
+ | `true` | 各ワーカーの `advisorModel`(未指定時はワーカー既定値)を `--advisor` に渡す。空文字のワーカーには渡さない |
417
+
418
+ ```json
419
+ {
420
+ "advisor": true,
421
+ "projects": { "app-a": "/Users/me/repos/app-a" }
422
+ }
423
+ ```
424
+
425
+ advisor は main モデル以上の能力を持つモデルである必要がある(Claude CLI 側の制約)。そのため `advisorModel` の既定値は、`model` が `sonnet` のワーカーは `opus`、`model` が `opus` のワーカー(`answer-issue-questions`)は空文字(=advisor なし)にしてある。
426
+
408
427
  ### exec-issue
409
428
 
410
429
  `cc-exec-issue` ラベルが付いた自分にアサインされたIssueを定期取得し、Claude Codeで処理を実行する。(デフォルト1分間隔)
@@ -562,26 +581,26 @@ claude-task-worker -v
562
581
  |---|---|---|---|
563
582
  | `fixReviewPointCallbackCommentMessage` | string | - | fix-review-point 完了時にPRへ投稿するコメント(未設定の場合は投稿しない) |
564
583
  | `uiDesign` | object | `{ "enabled": false, "designDir": "designs" }` | UIデザイン先行ワークフローの設定(詳細は「[UIデザイン先行ワークフロー](#uiデザイン先行ワークフロー)」) |
565
- | `workers` | object | `{}` | ワーカーごとに Claude CLI に渡すスキル、`--model` / `--effort`、ポーリング間隔、クールダウン時間、最大同時実行数を上書きする設定(詳細は下記) |
584
+ | `workers` | object | `{}` | ワーカーごとに Claude CLI に渡すスキル、`--model` / `--advisor` / `--effort`、ポーリング間隔、クールダウン時間、最大同時実行数を上書きする設定(詳細は下記) |
566
585
 
567
586
  ### ワーカーごとの設定
568
587
 
569
- `workers` キーにワーカー名ごとの設定オブジェクトを指定することで、Claude CLI の `-p` に渡すスキル(スラッシュコマンド)、`--model` / `--effort`、ポーリング間隔、タスク完了後のクールダウン時間、最大同時実行数を個別に上書きできる。未指定のワーカー・フィールドは下記のワーカー別デフォルト値が使用される。
570
-
571
- | ワーカー名 | デフォルト `skill` | デフォルト `model` | デフォルト `effort` | デフォルト `pollingIntervalSeconds` | デフォルト `cooldownSeconds` | デフォルト `maxConcurrentTasks` |
572
- |---|---|---|---|---|---|---|
573
- | `answer-issue-questions` | `/claude-task-worker:answer-issue-questions` | `opus` | `xhigh` | 60 | 0 | 1 |
574
- | `create-issue` | `/claude-task-worker:create-issue-from-issue-number` | `sonnet` | `xhigh` | 60 | 0 | 1 |
575
- | `update-issue` | `/claude-task-worker:update-issue` | `sonnet` | `high` | 60 | 0 | 1 |
576
- | `exec-issue` | `/claude-task-worker:exec-issue` | `sonnet` | `high` | 60 | 0 | 1 |
577
- | `fix-review-point` | `/claude-task-worker:fix-review-point` | `sonnet` | `high` | 60 | 0 | 1 |
578
- | `triage-created-issue` | `/claude-task-worker:triage-created-issue` | `sonnet` | `high` | 60 | 0 | 1 |
579
- | `triage-pr` | `/claude-task-worker:triage-pr` | `sonnet` | `high` | 60 | 0 | 1 |
580
- | `resolve-conflict` | `/claude-task-worker:resolve-pr-conflict` | `sonnet` | `high` | 60 | 0 | 1 |
581
- | `check-dependabot` | `/claude-task-worker:check-dependabot` | `sonnet` | `high` | 3600 | 0 | 1 |
582
- | `epic-issue` | `/claude-task-worker:create-epic-pr` | `sonnet` | `high` | 300 | 0 | 1 |
583
- | `create-ui-design` | `/claude-task-worker:create-ui-design` | `sonnet` | `high` | 60 | 0 | 1 |
584
- | `apply-ui-design` | `/claude-task-worker:apply-ui-design` | `sonnet` | `high` | 60 | 0 | 1 |
588
+ `workers` キーにワーカー名ごとの設定オブジェクトを指定することで、Claude CLI の `-p` に渡すスキル(スラッシュコマンド)、`--model` / `--advisor` / `--effort`、ポーリング間隔、タスク完了後のクールダウン時間、最大同時実行数を個別に上書きできる。未指定のワーカー・フィールドは下記のワーカー別デフォルト値が使用される。
589
+
590
+ | ワーカー名 | デフォルト `skill` | デフォルト `model` | デフォルト `advisorModel` | デフォルト `effort` | デフォルト `pollingIntervalSeconds` | デフォルト `cooldownSeconds` | デフォルト `maxConcurrentTasks` |
591
+ |---|---|---|---|---|---|---|---|
592
+ | `answer-issue-questions` | `/claude-task-worker:answer-issue-questions` | `opus` | (なし) | `xhigh` | 60 | 0 | 1 |
593
+ | `create-issue` | `/claude-task-worker:create-issue-from-issue-number` | `sonnet` | `opus` | `xhigh` | 60 | 0 | 1 |
594
+ | `update-issue` | `/claude-task-worker:update-issue` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
595
+ | `exec-issue` | `/claude-task-worker:exec-issue` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
596
+ | `fix-review-point` | `/claude-task-worker:fix-review-point` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
597
+ | `triage-created-issue` | `/claude-task-worker:triage-created-issue` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
598
+ | `triage-pr` | `/claude-task-worker:triage-pr` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
599
+ | `resolve-conflict` | `/claude-task-worker:resolve-pr-conflict` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
600
+ | `check-dependabot` | `/claude-task-worker:check-dependabot` | `sonnet` | `opus` | `high` | 3600 | 0 | 1 |
601
+ | `epic-issue` | `/claude-task-worker:create-epic-pr` | `sonnet` | `opus` | `high` | 300 | 0 | 1 |
602
+ | `create-ui-design` | `/claude-task-worker:create-ui-design` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
603
+ | `apply-ui-design` | `/claude-task-worker:apply-ui-design` | `sonnet` | `opus` | `high` | 60 | 0 | 1 |
585
604
 
586
605
  各フィールドの値:
587
606
 
@@ -589,6 +608,7 @@ claude-task-worker -v
589
608
  |---|---|---|
590
609
  | `skill` | string | Claude CLI の `-p` に渡すスラッシュコマンド(例: `/claude-task-worker:exec-issue`, `/my-plugin:my-skill`)。ワーカーは `"<skill> <issue-or-pr-number>"` の形で Claude を起動する |
591
610
  | `model` | string | Claude CLI の `--model` に渡す値(例: `sonnet`, `opus`, `haiku`) |
611
+ | `advisorModel` | string | Claude CLI の `--advisor` に渡す値(例: `opus`)。空文字を指定するとそのワーカーでは advisor を使わない。`config.json` の `advisor` が `true` のときだけ参照される(詳細は「[`advisor`(アドバイザーモデル)](#advisorアドバイザーモデル)」) |
592
612
  | `effort` | string | Claude CLI の `--effort` に渡す値(例: `high`, `medium`, `low`) |
593
613
  | `pollingIntervalSeconds` | number | GitHub をポーリングする間隔(秒)。正の数を指定する |
594
614
  | `cooldownSeconds` | number | タスク完了後に次のポーリングを停止する時間(秒)。`0` でクールダウンなし |
@@ -599,8 +619,8 @@ claude-task-worker -v
599
619
  ```json
600
620
  {
601
621
  "workers": {
602
- "exec-issue": { "skill": "/my-plugin:exec-issue", "model": "opus", "effort": "high", "pollingIntervalSeconds": 60, "cooldownSeconds": 600, "maxConcurrentTasks": 3 },
603
- "fix-review-point": { "skill": "/claude-task-worker:fix-review-point", "model": "sonnet", "effort": "high", "maxConcurrentTasks": 2 },
622
+ "exec-issue": { "skill": "/my-plugin:exec-issue", "model": "opus", "advisorModel": "", "effort": "high", "pollingIntervalSeconds": 60, "cooldownSeconds": 600, "maxConcurrentTasks": 3 },
623
+ "fix-review-point": { "skill": "/claude-task-worker:fix-review-point", "model": "sonnet", "advisorModel": "opus", "effort": "high", "maxConcurrentTasks": 2 },
604
624
  "triage-pr": { "effort": "medium", "pollingIntervalSeconds": 120 },
605
625
  "check-dependabot": { "model": "haiku", "pollingIntervalSeconds": 7200 }
606
626
  }
package/dist/index.js CHANGED
@@ -1542,7 +1542,8 @@ function systemPromptFilePath() {
1542
1542
  cachedSystemPromptFilePath = target;
1543
1543
  return target;
1544
1544
  }
1545
- function buildClaudeArgs({ mode, prompt, model, effort }) {
1545
+ function buildClaudeArgs({ mode, prompt, model, effort, advisorModel }) {
1546
+ const advisor = advisorModel?.trim() ?? "";
1546
1547
  return [
1547
1548
  ...mode === "herdr" ? [] : ["-p"],
1548
1549
  prompt,
@@ -1555,7 +1556,10 @@ function buildClaudeArgs({ mode, prompt, model, effort }) {
1555
1556
  "--model",
1556
1557
  model,
1557
1558
  "--effort",
1558
- effort
1559
+ effort,
1560
+ // advisor 未指定(空文字)ならフラグごと省く。値なしの `--advisor` を渡すと
1561
+ // 後続フラグを値として食われるため、必ずモデル名とセットでのみ付ける。
1562
+ ...advisor === "" ? [] : ["--advisor", advisor]
1559
1563
  ];
1560
1564
  }
1561
1565
  function buildClaudeExecution(invocation) {
@@ -1575,6 +1579,7 @@ var DEFAULT_UI_DESIGN_CONFIG = {
1575
1579
  var DEFAULT_WORKER_CONFIG = {
1576
1580
  skill: "",
1577
1581
  model: "sonnet",
1582
+ advisorModel: "opus",
1578
1583
  effort: "high",
1579
1584
  pollingIntervalSeconds: 60,
1580
1585
  cooldownSeconds: 0,
@@ -1584,15 +1589,17 @@ var WORKER_DEFAULTS = {
1584
1589
  "answer-issue-questions": {
1585
1590
  skill: "/claude-task-worker:answer-issue-questions",
1586
1591
  model: "opus",
1587
- effort: "xhigh",
1592
+ advisorModel: "",
1593
+ effort: "high",
1588
1594
  pollingIntervalSeconds: 60,
1589
1595
  cooldownSeconds: 0,
1590
1596
  maxConcurrentTasks: 1
1591
1597
  },
1592
1598
  "create-issue": {
1593
1599
  skill: "/claude-task-worker:create-issue-from-issue-number",
1594
- model: "sonnet",
1595
- effort: "xhigh",
1600
+ model: "opus",
1601
+ advisorModel: "",
1602
+ effort: "high",
1596
1603
  pollingIntervalSeconds: 60,
1597
1604
  cooldownSeconds: 0,
1598
1605
  maxConcurrentTasks: 1
@@ -1600,6 +1607,7 @@ var WORKER_DEFAULTS = {
1600
1607
  "update-issue": {
1601
1608
  skill: "/claude-task-worker:update-issue",
1602
1609
  model: "sonnet",
1610
+ advisorModel: "opus",
1603
1611
  effort: "high",
1604
1612
  pollingIntervalSeconds: 60,
1605
1613
  cooldownSeconds: 0,
@@ -1607,7 +1615,8 @@ var WORKER_DEFAULTS = {
1607
1615
  },
1608
1616
  "exec-issue": {
1609
1617
  skill: "/claude-task-worker:exec-issue",
1610
- model: "sonnet",
1618
+ model: "opus",
1619
+ advisorModel: "",
1611
1620
  effort: "high",
1612
1621
  pollingIntervalSeconds: 60,
1613
1622
  cooldownSeconds: 0,
@@ -1615,7 +1624,8 @@ var WORKER_DEFAULTS = {
1615
1624
  },
1616
1625
  "fix-review-point": {
1617
1626
  skill: "/claude-task-worker:fix-review-point",
1618
- model: "sonnet",
1627
+ model: "opus",
1628
+ advisorModel: "",
1619
1629
  effort: "high",
1620
1630
  pollingIntervalSeconds: 60,
1621
1631
  cooldownSeconds: 0,
@@ -1624,6 +1634,7 @@ var WORKER_DEFAULTS = {
1624
1634
  "triage-created-issue": {
1625
1635
  skill: "/claude-task-worker:triage-created-issue",
1626
1636
  model: "sonnet",
1637
+ advisorModel: "opus",
1627
1638
  effort: "high",
1628
1639
  pollingIntervalSeconds: 60,
1629
1640
  cooldownSeconds: 0,
@@ -1632,6 +1643,7 @@ var WORKER_DEFAULTS = {
1632
1643
  "triage-pr": {
1633
1644
  skill: "/claude-task-worker:triage-pr",
1634
1645
  model: "sonnet",
1646
+ advisorModel: "opus",
1635
1647
  effort: "high",
1636
1648
  pollingIntervalSeconds: 60,
1637
1649
  cooldownSeconds: 0,
@@ -1640,6 +1652,7 @@ var WORKER_DEFAULTS = {
1640
1652
  "resolve-conflict": {
1641
1653
  skill: "/claude-task-worker:resolve-pr-conflict",
1642
1654
  model: "sonnet",
1655
+ advisorModel: "opus",
1643
1656
  effort: "high",
1644
1657
  pollingIntervalSeconds: 60,
1645
1658
  cooldownSeconds: 0,
@@ -1648,6 +1661,7 @@ var WORKER_DEFAULTS = {
1648
1661
  "check-dependabot": {
1649
1662
  skill: "/claude-task-worker:check-dependabot",
1650
1663
  model: "sonnet",
1664
+ advisorModel: "opus",
1651
1665
  effort: "high",
1652
1666
  pollingIntervalSeconds: 3600,
1653
1667
  cooldownSeconds: 0,
@@ -1656,6 +1670,7 @@ var WORKER_DEFAULTS = {
1656
1670
  "epic-issue": {
1657
1671
  skill: "/claude-task-worker:create-epic-pr",
1658
1672
  model: "sonnet",
1673
+ advisorModel: "opus",
1659
1674
  effort: "high",
1660
1675
  pollingIntervalSeconds: 300,
1661
1676
  cooldownSeconds: 0,
@@ -1663,7 +1678,8 @@ var WORKER_DEFAULTS = {
1663
1678
  },
1664
1679
  "create-ui-design": {
1665
1680
  skill: "/claude-task-worker:create-ui-design",
1666
- model: "sonnet",
1681
+ model: "opus",
1682
+ advisorModel: "",
1667
1683
  effort: "high",
1668
1684
  pollingIntervalSeconds: 60,
1669
1685
  cooldownSeconds: 0,
@@ -1672,6 +1688,7 @@ var WORKER_DEFAULTS = {
1672
1688
  "apply-ui-design": {
1673
1689
  skill: "/claude-task-worker:apply-ui-design",
1674
1690
  model: "sonnet",
1691
+ advisorModel: "opus",
1675
1692
  effort: "high",
1676
1693
  pollingIntervalSeconds: 300,
1677
1694
  cooldownSeconds: 0,
@@ -1709,6 +1726,15 @@ function parseWorkerEntry(name, val) {
1709
1726
  console.warn(`[config] invalid workers.${name}.model: ${String(entry.model)}, using default ${base.model}`);
1710
1727
  }
1711
1728
  }
1729
+ if ("advisorModel" in entry) {
1730
+ if (typeof entry.advisorModel === "string") {
1731
+ result.advisorModel = entry.advisorModel;
1732
+ } else {
1733
+ console.warn(
1734
+ `[config] invalid workers.${name}.advisorModel: ${String(entry.advisorModel)}, using default ${JSON.stringify(base.advisorModel)}`
1735
+ );
1736
+ }
1737
+ }
1712
1738
  if ("effort" in entry) {
1713
1739
  if (typeof entry.effort === "string" && entry.effort.length > 0) {
1714
1740
  result.effort = entry.effort;
@@ -1898,6 +1924,7 @@ import { homedir } from "node:os";
1898
1924
  import { isAbsolute as isAbsolute2, join as join2, resolve } from "node:path";
1899
1925
  var RESERVED_ALL = "all";
1900
1926
  var DEFAULT_RUN_MODE = "default";
1927
+ var DEFAULT_ADVISOR_ENABLED = false;
1901
1928
  var UserConfigError = class extends Error {
1902
1929
  constructor(message) {
1903
1930
  super(message);
@@ -1946,6 +1973,13 @@ function parseMode(raw, path2) {
1946
1973
  console.warn(`[config] invalid mode: ${JSON.stringify(value)} in ${path2}, using "${DEFAULT_RUN_MODE}"`);
1947
1974
  return DEFAULT_RUN_MODE;
1948
1975
  }
1976
+ function parseAdvisor(raw, path2) {
1977
+ if (!("advisor" in raw)) return DEFAULT_ADVISOR_ENABLED;
1978
+ const value = raw["advisor"];
1979
+ if (typeof value === "boolean") return value;
1980
+ console.warn(`[config] invalid advisor: ${JSON.stringify(value)} in ${path2}, using ${DEFAULT_ADVISOR_ENABLED}`);
1981
+ return DEFAULT_ADVISOR_ENABLED;
1982
+ }
1949
1983
  function loadUserConfig() {
1950
1984
  const path2 = getUserConfigPath();
1951
1985
  const raw = readRawConfig();
@@ -1962,6 +1996,7 @@ function loadUserConfig() {
1962
1996
  throw new UserConfigError(`config.json "projectGroups" must be an object: ${path2}`);
1963
1997
  }
1964
1998
  const mode = parseMode(raw, path2);
1999
+ const advisor = parseAdvisor(raw, path2);
1965
2000
  const rawProjects = raw["projects"];
1966
2001
  const rawProjectGroups = "projectGroups" in raw ? raw["projectGroups"] : {};
1967
2002
  const projectKeys = Object.keys(rawProjects);
@@ -2012,7 +2047,7 @@ function loadUserConfig() {
2012
2047
  }
2013
2048
  projectGroups[groupName] = members;
2014
2049
  }
2015
- return { mode, projects, projectGroups };
2050
+ return { mode, advisor, projects, projectGroups };
2016
2051
  }
2017
2052
  var cachedRunMode;
2018
2053
  function getRunMode() {
@@ -2021,6 +2056,27 @@ function getRunMode() {
2021
2056
  }
2022
2057
  return cachedRunMode;
2023
2058
  }
2059
+ var cachedAdvisorEnabled;
2060
+ function isAdvisorEnabled() {
2061
+ if (cachedAdvisorEnabled === void 0) {
2062
+ cachedAdvisorEnabled = readAdvisorEnabled();
2063
+ }
2064
+ return cachedAdvisorEnabled;
2065
+ }
2066
+ function readAdvisorEnabled() {
2067
+ let raw;
2068
+ try {
2069
+ raw = readRawConfig();
2070
+ } catch (err) {
2071
+ console.warn(`[config] failed to read config file, advisor disabled: ${err}`);
2072
+ return DEFAULT_ADVISOR_ENABLED;
2073
+ }
2074
+ if (raw === void 0) return DEFAULT_ADVISOR_ENABLED;
2075
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
2076
+ return DEFAULT_ADVISOR_ENABLED;
2077
+ }
2078
+ return parseAdvisor(raw, getUserConfigPath());
2079
+ }
2024
2080
  function readRunMode() {
2025
2081
  let raw;
2026
2082
  try {
@@ -2977,7 +3033,7 @@ function createIssuePollingWorker(config) {
2977
3033
  try {
2978
3034
  const issueUrl = `https://github.com/${owner}/${name}/issues/${issue.number}`;
2979
3035
  syncDefaultBranch(defaultBranch);
2980
- const { model, effort, skill } = getWorkerConfig(config.name);
3036
+ const { model, effort, skill, advisorModel } = getWorkerConfig(config.name);
2981
3037
  const command = skill || config.command;
2982
3038
  const parentNumber = issue.parent?.number;
2983
3039
  const mode = getRunMode();
@@ -2985,7 +3041,9 @@ function createIssuePollingWorker(config) {
2985
3041
  mode,
2986
3042
  prompt: `${command} ${issue.number}`,
2987
3043
  model,
2988
- effort
3044
+ effort,
3045
+ // config.json の advisor が false なら advisorModel の指定に関わらず渡さない。
3046
+ advisorModel: isAdvisorEnabled() ? advisorModel : ""
2989
3047
  });
2990
3048
  let baseBranch = defaultBranch;
2991
3049
  if (parentNumber !== void 0) {
@@ -3149,14 +3207,16 @@ function createPrPollingWorker(config) {
3149
3207
  syncDefaultBranch(defaultBranch);
3150
3208
  await createWorktreeFromBranch(worktreeId, defaultBranch);
3151
3209
  const cwd = getWorktreePath(worktreeId);
3152
- const { model, effort, skill } = getWorkerConfig(config.name);
3210
+ const { model, effort, skill, advisorModel } = getWorkerConfig(config.name);
3153
3211
  const command = skill || config.command;
3154
3212
  const mode = getRunMode();
3155
3213
  const execution = buildClaudeExecution({
3156
3214
  mode,
3157
3215
  prompt: `${command} ${pr.number}`,
3158
3216
  model,
3159
- effort
3217
+ effort,
3218
+ // config.json の advisor が false なら advisorModel の指定に関わらず渡さない。
3219
+ advisorModel: isAdvisorEnabled() ? advisorModel : ""
3160
3220
  });
3161
3221
  run(
3162
3222
  execution.command,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-task-worker",
3
- "version": "0.40.0",
3
+ "version": "0.42.0",
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",