taskplane 0.24.17 → 0.24.19

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.
@@ -753,6 +753,7 @@ function extractAllowlistedPreferences(raw: Record<string, any>, prefsPath: stri
753
753
  if (typeof raw.workerModel === "string") prefs.workerModel = raw.workerModel;
754
754
  if (typeof raw.reviewerModel === "string") prefs.reviewerModel = raw.reviewerModel;
755
755
  if (typeof raw.mergeModel === "string") prefs.mergeModel = raw.mergeModel;
756
+ if (typeof raw.mergeThinking === "string") prefs.mergeThinking = raw.mergeThinking;
756
757
  if (typeof raw.supervisorModel === "string") prefs.supervisorModel = raw.supervisorModel;
757
758
  if (typeof raw.dashboardPort === "number" && Number.isFinite(raw.dashboardPort)) {
758
759
  prefs.dashboardPort = raw.dashboardPort;
@@ -794,6 +795,7 @@ export function applyUserPreferences(config: TaskplaneConfig, prefs: UserPrefere
794
795
  applyStr(prefs.workerModel, (v) => { config.taskRunner.worker.model = v; });
795
796
  applyStr(prefs.reviewerModel, (v) => { config.taskRunner.reviewer.model = v; });
796
797
  applyStr(prefs.mergeModel, (v) => { config.orchestrator.merge.model = v; });
798
+ applyStr(prefs.mergeThinking, (v) => { config.orchestrator.merge.thinking = v; });
797
799
  applyStr(prefs.supervisorModel, (v) => { config.orchestrator.supervisor.model = v; });
798
800
 
799
801
  // spawnMode: enum — apply if defined (not a string-empty check)
@@ -1017,6 +1019,7 @@ export function toOrchestratorConfig(config: TaskplaneConfig): import("./types.t
1017
1019
  merge: {
1018
1020
  model: o.merge.model,
1019
1021
  tools: o.merge.tools,
1022
+ thinking: o.merge.thinking,
1020
1023
  verify: [...o.merge.verify],
1021
1024
  order: o.merge.order,
1022
1025
  timeout_minutes: o.merge.timeoutMinutes ?? 90,
@@ -302,6 +302,8 @@ export interface MergeConfig {
302
302
  model: string;
303
303
  /** Merge-agent tool allowlist */
304
304
  tools: string;
305
+ /** Merge-agent thinking mode (empty = inherit session thinking) */
306
+ thinking: string;
305
307
  /** Verification commands run after merge operations */
306
308
  verify: string[];
307
309
  /** Lane merge ordering policy */
@@ -519,6 +521,8 @@ export interface UserPreferences {
519
521
  reviewerModel?: string;
520
522
  /** Merge model override (overrides orchestrator.merge.model) */
521
523
  mergeModel?: string;
524
+ /** Merge thinking override (overrides orchestrator.merge.thinking) */
525
+ mergeThinking?: string;
522
526
  /** Supervisor model override (overrides orchestrator.supervisor.model) (TP-041) */
523
527
  supervisorModel?: string;
524
528
  /** Dashboard port (preferences-only; not yet wired into config schema) */
@@ -602,6 +606,7 @@ export const DEFAULT_ORCHESTRATOR_SECTION: OrchestratorSection = {
602
606
  merge: {
603
607
  model: "",
604
608
  tools: "read,write,edit,bash,grep,find,ls",
609
+ thinking: "",
605
610
  verify: [],
606
611
  order: "fewest-files-first",
607
612
  timeoutMinutes: 90,
@@ -602,6 +602,7 @@ export async function spawnMergeAgentV2(
602
602
  systemPrompt,
603
603
  model: config.merge.model || undefined,
604
604
  tools: config.merge.tools || undefined,
605
+ thinking: config.merge.thinking || undefined,
605
606
  mailboxDir,
606
607
  eventsPath,
607
608
  exitSummaryPath,
@@ -129,6 +129,7 @@ export const SECTIONS: SectionDef[] = [
129
129
  fields: [
130
130
  { configPath: "orchestrator.merge.model", label: "Merge Model", control: "input", layer: "L1+L2", fieldType: "string", prefsKey: "mergeModel", description: "Merge-agent model (inherit = use session model)" },
131
131
  { configPath: "orchestrator.merge.tools", label: "Merge Tools", control: "input", layer: "L1", fieldType: "string", description: "Merge-agent tool allowlist" },
132
+ { configPath: "orchestrator.merge.thinking", label: "Merge Thinking", control: "input", layer: "L1+L2", fieldType: "string", prefsKey: "mergeThinking", description: "Merge-agent thinking mode (empty = inherit session)" },
132
133
  { configPath: "orchestrator.merge.order", label: "Merge Order", control: "toggle", layer: "L1", fieldType: "enum", values: ["fewest-files-first", "sequential"], description: "Lane merge ordering policy" },
133
134
  { configPath: "orchestrator.merge.timeoutMinutes", label: "Merge Timeout (minutes)", control: "input", layer: "L1", fieldType: "number", description: "Max time for merge agent to complete. Increase for large batches (default: 10)" },
134
135
  ],
@@ -37,6 +37,8 @@ export interface OrchestratorConfig {
37
37
  merge: {
38
38
  model: string;
39
39
  tools: string;
40
+ /** Merge-agent thinking mode (empty = inherit session thinking) */
41
+ thinking: string;
40
42
  verify: string[];
41
43
  order: "fewest-files-first" | "sequential";
42
44
  /** Merge agent timeout in minutes. Default: 10. Increase for large batches. */
@@ -280,6 +282,7 @@ export const DEFAULT_ORCHESTRATOR_CONFIG: OrchestratorConfig = {
280
282
  merge: {
281
283
  model: "",
282
284
  tools: "read,write,edit,bash,grep,find,ls",
285
+ thinking: "",
283
286
  verify: [],
284
287
  order: "fewest-files-first",
285
288
  timeout_minutes: 90,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskplane",
3
- "version": "0.24.17",
3
+ "version": "0.24.19",
4
4
  "description": "AI agent orchestration for pi — parallel task execution with checkpoint discipline",
5
5
  "keywords": [
6
6
  "pi-package",