@visorcraft/idlehands 1.0.0 → 1.0.2

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/cli/setup.js CHANGED
@@ -185,8 +185,11 @@ async function addHostTUI(rl, existing) {
185
185
  const editing = !!existing;
186
186
  drawHeader(editing ? `Runtime — Edit Host: ${existing.id}` : 'Runtime — Add Host');
187
187
  info('A host is a machine that runs inference.');
188
- if (!editing)
188
+ console.log();
189
+ if (!editing) {
190
+ console.log(` ${BOLD}Location${RESET}`);
189
191
  info('Where is this host?');
192
+ }
190
193
  const currentTransport = existing?.transport === 'ssh' ? 'remote' : 'local';
191
194
  const transportLabel = await selectChoice([
192
195
  { value: 'local', desc: 'This machine' },
@@ -194,6 +197,8 @@ async function addHostTUI(rl, existing) {
194
197
  ], currentTransport);
195
198
  const transport = (transportLabel === 'remote' ? 'ssh' : 'local');
196
199
  console.log();
200
+ console.log(` ${BOLD}Identity${RESET}`);
201
+ info('A short id and display name for this host.');
197
202
  const id = await ask(rl, 'Host id (e.g. my-gpu-box)', existing?.id ?? '');
198
203
  if (!id)
199
204
  return null;
@@ -201,22 +206,28 @@ async function addHostTUI(rl, existing) {
201
206
  let connection = {};
202
207
  if (transport === 'ssh') {
203
208
  console.log();
204
- connection.host = await ask(rl, 'SSH hostname or IP', existing?.connection?.host ?? '');
205
- const portStr = await ask(rl, 'SSH port', String(existing?.connection?.port ?? 22));
209
+ console.log(` ${BOLD}SSH connection${RESET}`);
210
+ info('How to reach this host over the network.');
211
+ connection.host = await ask(rl, 'Hostname or IP', existing?.connection?.host ?? '');
212
+ const portStr = await ask(rl, 'Port', String(existing?.connection?.port ?? 22));
206
213
  connection.port = Number(portStr) || 22;
207
- const user = await ask(rl, 'SSH user', existing?.connection?.user ?? '');
214
+ const user = await ask(rl, 'User', existing?.connection?.user ?? '');
208
215
  if (user)
209
216
  connection.user = user;
210
- const keyPath = await ask(rl, 'SSH key path', existing?.connection?.key_path ?? '');
217
+ const keyPath = await ask(rl, 'Key path', existing?.connection?.key_path ?? '');
211
218
  if (keyPath)
212
219
  connection.key_path = keyPath;
213
220
  }
214
221
  console.log();
222
+ console.log(` ${BOLD}Capabilities${RESET}`);
223
+ info('Hardware tags for matching models to hosts.');
215
224
  const gpuRaw = await ask(rl, 'GPU tags, comma-separated (e.g. RTX 4090)', existing?.capabilities?.gpu?.join(', ') ?? '');
216
225
  const gpu = gpuRaw.split(',').map((s) => s.trim()).filter(Boolean);
217
- const backendsRaw = await ask(rl, 'Supported backends, comma-separated (e.g. cuda,rocm,vulkan)', existing?.capabilities?.backends?.join(', ') ?? '');
226
+ const backendsRaw = await ask(rl, 'Backends, comma-separated (e.g. cuda,rocm,vulkan)', existing?.capabilities?.backends?.join(', ') ?? '');
218
227
  const backends = backendsRaw.split(',').map((s) => s.trim()).filter(Boolean);
219
228
  console.log();
229
+ console.log(` ${BOLD}Commands${RESET}`);
230
+ info('Shell commands for lifecycle management.');
220
231
  const stopCmd = await ask(rl, 'Stop model command', existing?.model_control?.stop_cmd ?? 'pkill -f llama-server || true');
221
232
  const healthCmd = await ask(rl, 'Health check command', existing?.health?.check_cmd ?? 'true');
222
233
  return {
@@ -235,10 +246,15 @@ async function addBackendTUI(rl, hosts, existing) {
235
246
  drawHeader(editing ? `Runtime — Edit Backend: ${existing.id}` : 'Runtime — Add Backend');
236
247
  info('A backend is a GPU compute layer for running inference.');
237
248
  console.log();
249
+ console.log(` ${BOLD}Identity${RESET}`);
250
+ info('A short id and display name for this backend.');
238
251
  const id = await ask(rl, 'Backend id (e.g. vulkan-radv)', existing?.id ?? '');
239
252
  if (!id)
240
253
  return null;
241
254
  const displayName = await ask(rl, 'Display name', existing?.display_name ?? id);
255
+ console.log();
256
+ console.log(` ${BOLD}Type${RESET}`);
257
+ info('Which GPU compute layer does this backend use?');
242
258
  const type = await selectChoice([
243
259
  { value: 'vulkan', desc: 'Vulkan (RADV, etc.)' },
244
260
  { value: 'rocm', desc: 'AMD ROCm' },
@@ -255,14 +271,17 @@ async function addBackendTUI(rl, hosts, existing) {
255
271
  hostFilters = filtersRaw === 'any' ? 'any' : filtersRaw.split(',').map((s) => s.trim()).filter(Boolean);
256
272
  }
257
273
  console.log();
258
- const verifyCmd = await ask(rl, 'Verify command (optional, exit 0 = OK)', existing?.verify_cmd ?? '');
274
+ console.log(` ${BOLD}Verify command${RESET}`);
275
+ info('Optional shell command to check the backend is working (exit 0 = OK).');
276
+ const verifyCmd = await ask(rl, 'Command', existing?.verify_cmd ?? '');
259
277
  console.log();
260
- info('Environment variables passed to all models on this backend.');
261
- info('Example: VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json');
278
+ console.log(` ${BOLD}Environment variables${RESET}`);
279
+ info('Passed to all models on this backend.');
280
+ info(`Example: ${DIM}VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json${RESET}`);
262
281
  const existingEnvStr = existing?.env
263
282
  ? Object.entries(existing.env).map(([k, v]) => `${k}=${v}`).join(' ')
264
283
  : '';
265
- const envRaw = await ask(rl, 'Environment (KEY=VALUE, space-separated)', existingEnvStr);
284
+ const envRaw = await ask(rl, 'KEY=VALUE pairs (space-separated)', existingEnvStr);
266
285
  const env = {};
267
286
  if (envRaw) {
268
287
  for (const pair of envRaw.split(/\s+/)) {
@@ -271,10 +290,12 @@ async function addBackendTUI(rl, hosts, existing) {
271
290
  env[pair.slice(0, eqIdx)] = pair.slice(eqIdx + 1);
272
291
  }
273
292
  }
274
- info('Extra CLI args passed to all models on this backend.');
275
- info('Example: -fa 1 -mmp 0 -ub 2048 -ctk q4_0 -ctv q4_0 -ngl 0');
293
+ console.log();
294
+ console.log(` ${BOLD}Extra CLI args${RESET}`);
295
+ info('Appended to all model launch commands on this backend.');
296
+ info(`Example: ${DIM}-fa 1 -mmp 0 -ub 2048 -ctk q4_0 -ctv q4_0 -ngl 0${RESET}`);
276
297
  const existingArgsStr = existing?.args?.join(' ') ?? '';
277
- const argsRaw = await ask(rl, 'Extra args (space-separated)', existingArgsStr);
298
+ const argsRaw = await ask(rl, 'Args (space-separated)', existingArgsStr);
278
299
  const args = argsRaw ? argsRaw.split(/\s+/).filter(Boolean) : [];
279
300
  return {
280
301
  id,
@@ -293,19 +314,26 @@ async function addModelTUI(rl, hosts, backends, existing) {
293
314
  const editing = !!existing;
294
315
  drawHeader(editing ? `Runtime — Edit Model: ${existing.id}` : 'Runtime — Add Model');
295
316
  info('A model is a GGUF (or other format) with launch and probe commands.');
296
- info('Template variables: {backend_env}, {source}, {port}, {backend_args}, {host}');
317
+ info(`Template variables: ${DIM}{backend_env}, {source}, {port}, {backend_args}, {host}${RESET}`);
297
318
  console.log();
319
+ console.log(` ${BOLD}Identity${RESET}`);
320
+ info('A short id, display name, and source path or URL.');
298
321
  const id = await ask(rl, 'Model id (e.g. qwen3-coder-q4)', existing?.id ?? '');
299
322
  if (!id)
300
323
  return null;
301
324
  const displayName = await ask(rl, 'Display name', existing?.display_name ?? id);
302
- const source = await ask(rl, 'Model source (file path or URL)', existing?.source ?? '');
325
+ const source = await ask(rl, 'Source (file path or URL)', existing?.source ?? '');
303
326
  console.log();
327
+ console.log(` ${BOLD}Launch${RESET}`);
328
+ info('Commands to start and health-check the inference server.');
304
329
  const defaultStart = 'nohup {backend_env} llama-server -m {source} --port {port} --ctx-size 131072 {backend_args} --host 0.0.0.0 > /tmp/llama-server.log 2>&1 &';
305
- const startCmd = await ask(rl, 'Start command (runs on host)', existing?.launch?.start_cmd ?? defaultStart);
306
- const probeCmd = await ask(rl, 'Probe command (runs on host)', existing?.launch?.probe_cmd ?? 'curl -fsS http://127.0.0.1:{port}/health');
330
+ const startCmd = await ask(rl, 'Start command', existing?.launch?.start_cmd ?? defaultStart);
331
+ const probeCmd = await ask(rl, 'Probe command', existing?.launch?.probe_cmd ?? 'curl -fsS http://127.0.0.1:{port}/health');
307
332
  const probeTimeoutStr = await ask(rl, 'Probe timeout (seconds)', String(existing?.launch?.probe_timeout_sec ?? 60));
308
333
  const probeTimeout = Math.max(5, Number(probeTimeoutStr) || 60);
334
+ console.log();
335
+ console.log(` ${BOLD}Network${RESET}`);
336
+ info('Port the inference server listens on.');
309
337
  const portStr = await ask(rl, 'Default port', String(existing?.runtime_defaults?.port ?? 8080));
310
338
  const port = Number(portStr) || 8080;
311
339
  let hostPolicy = existing?.host_policy ?? 'any';
@@ -342,17 +370,19 @@ async function addModelTUI(rl, hosts, backends, existing) {
342
370
  // ── Bot setup helper (used by Step 5) ────────────────────────────────
343
371
  async function setupBot(rl, target, defaultDir, existing) {
344
372
  const isTg = target === 'Telegram';
345
- drawHeader(`Step 5 of 5 — Bot Setup: ${target}`);
346
- info(isTg ? 'You need a bot token from @BotFather on Telegram.' : 'You need a bot token from the Discord Developer Portal.');
347
- info(`Allowed user IDs restrict who can ${isTg ? 'talk to' : 'use'} the bot.`);
348
- console.log();
349
- const token = await ask(rl, 'Bot token', existing?.token ?? '');
373
+ drawHeader(`Step 7 of 7 — Bot Setup: ${target}`);
374
+ console.log(` ${BOLD}Bot token${RESET}`);
375
+ info(isTg ? 'Get one from @BotFather on Telegram.' : 'Get one from the Discord Developer Portal.');
376
+ const token = await ask(rl, 'Token', existing?.token ?? '');
350
377
  if (!token.trim()) {
351
378
  warn(`No token provided. Skipping ${target}.`);
352
379
  await pause();
353
380
  return existing;
354
381
  }
355
- const usersStr = await ask(rl, 'Allowed user IDs (comma-separated)', existing?.allowed_users?.join(', ') ?? '');
382
+ console.log();
383
+ console.log(` ${BOLD}Allowed users${RESET}`);
384
+ info(`User IDs that can ${isTg ? 'talk to' : 'use'} the bot. Everyone else is ignored.`);
385
+ const usersStr = await ask(rl, 'IDs (comma-separated)', existing?.allowed_users?.join(', ') ?? '');
356
386
  const users = parseUserIds(usersStr);
357
387
  if (users.length === 0) {
358
388
  warn(`No valid user IDs. Skipping ${target}.`);
@@ -361,10 +391,16 @@ async function setupBot(rl, target, defaultDir, existing) {
361
391
  }
362
392
  let guildId;
363
393
  if (!isTg) {
364
- const gid = await ask(rl, 'Guild/server ID (blank for DM-only)', existing?.guild_id ?? '');
394
+ console.log();
395
+ console.log(` ${BOLD}Guild / server${RESET}`);
396
+ info('Leave blank for DM-only mode.');
397
+ const gid = await ask(rl, 'Guild ID', existing?.guild_id ?? '');
365
398
  guildId = gid.trim() || undefined;
366
399
  }
367
- const dir = await ask(rl, 'Default working directory', existing?.default_dir ?? defaultDir);
400
+ console.log();
401
+ console.log(` ${BOLD}Working directory${RESET}`);
402
+ info('Default project directory for bot sessions.');
403
+ const dir = await ask(rl, 'Path', existing?.default_dir ?? defaultDir);
368
404
  const cfg = {
369
405
  token: token.trim(), allowed_users: users, default_dir: dir.trim() || defaultDir,
370
406
  ...(guildId ? { guild_id: guildId, allow_guilds: true } : {}),
@@ -410,7 +446,7 @@ export async function runSetup(existingConfigPath) {
410
446
  // eslint-disable-next-line no-constant-condition
411
447
  while (true) {
412
448
  runtimes = await loadRuntimes().catch(() => runtimes);
413
- drawHeader('Step 1 of 6 — Runtime: Hosts');
449
+ drawHeader('Step 1 of 7 — Runtime: Hosts');
414
450
  if (runtimes.hosts.length === 0) {
415
451
  info('No hosts configured yet.');
416
452
  }
@@ -454,7 +490,7 @@ export async function runSetup(existingConfigPath) {
454
490
  while (true) {
455
491
  runtimes = await loadRuntimes().catch(() => runtimes);
456
492
  const hostIds = runtimes.hosts.map((h) => h.id);
457
- drawHeader('Step 1 of 6 — Runtime: Backends');
493
+ drawHeader('Step 1 of 7 — Runtime: Backends');
458
494
  if (runtimes.backends.length === 0) {
459
495
  info('No backends configured yet.');
460
496
  }
@@ -499,7 +535,7 @@ export async function runSetup(existingConfigPath) {
499
535
  runtimes = await loadRuntimes().catch(() => runtimes);
500
536
  const hostIds = runtimes.hosts.map((h) => h.id);
501
537
  const backendIds = runtimes.backends.map((b) => b.id);
502
- drawHeader('Step 1 of 6 — Runtime: Models');
538
+ drawHeader('Step 1 of 7 — Runtime: Models');
503
539
  if (runtimes.models.length === 0) {
504
540
  info('No models configured yet.');
505
541
  }
@@ -602,16 +638,19 @@ export async function runSetup(existingConfigPath) {
602
638
  await pause();
603
639
  }
604
640
  // ── 2. Working directory ───────────────────────────────────────
605
- drawHeader('Step 2 of 6 — Working Directory');
606
- info('Where Idle Hands reads/writes files by default.');
607
- info('You can always override with --dir or /dir in a session.');
641
+ drawHeader('Step 2 of 7 — Working Directory');
642
+ console.log(` ${BOLD}Default project directory${RESET}`);
643
+ info('Where Idle Hands reads and writes files.');
644
+ info('Override anytime with --dir or /dir in a session.');
608
645
  console.log();
609
646
  const currentDir = existingConfig?.dir || process.cwd();
610
- const dir = await ask(rl, 'Working directory', currentDir);
647
+ const dir = await ask(rl, 'Path', currentDir);
611
648
  const resolvedDir = path.resolve(dir.replace(/^~/, process.env.HOME ?? '~'));
612
649
  // ── 3. Approval mode ──────────────────────────────────────────
613
- drawHeader('Step 3 of 6 — Approval Mode');
650
+ drawHeader('Step 3 of 7 — Approval Mode');
651
+ console.log(` ${BOLD}Safety level${RESET}`);
614
652
  info('Controls how much the agent can do without asking you first.');
653
+ console.log();
615
654
  const currentApproval = existingConfig?.approval_mode || 'auto-edit';
616
655
  const approvalMode = await selectChoice([
617
656
  { value: 'plan', desc: 'Read-only. Edits and commands recorded as plans.' },
@@ -620,17 +659,60 @@ export async function runSetup(existingConfigPath) {
620
659
  { value: 'yolo', desc: 'Everything automatic. Trusted codebases only.' },
621
660
  ], currentApproval);
622
661
  // ── 4. Response Timeout ─────────────────────────────────────
623
- drawHeader('Step 4 of 6 — Limits');
624
- info('How long to wait for model responses and how many tool rounds per prompt.');
625
- console.log();
662
+ drawHeader('Step 4 of 7 — Limits');
663
+ console.log(` ${BOLD}Response timeout${RESET}`);
664
+ info('How long to wait for a model reply before giving up.');
626
665
  const currentResponseTimeout = existingConfig?.response_timeout ?? 600;
627
- const responseTimeoutStr = await ask(rl, 'Response timeout in seconds (how long to wait for a reply)', String(currentResponseTimeout));
666
+ const responseTimeoutStr = await ask(rl, 'Seconds', String(currentResponseTimeout));
628
667
  const responseTimeout = Math.max(10, parseInt(responseTimeoutStr, 10) || 300);
668
+ console.log();
669
+ console.log(` ${BOLD}Max iterations${RESET}`);
670
+ info('Tool rounds per prompt. Higher = more complex tasks.');
629
671
  const currentMaxIter = existingConfig?.max_iterations ?? 100;
630
- const maxIterStr = await ask(rl, 'Max tool rounds per prompt (higher = more complex tasks)', String(currentMaxIter));
672
+ const maxIterStr = await ask(rl, 'Value', String(currentMaxIter));
631
673
  const maxIterations = Math.max(1, parseInt(maxIterStr, 10) || 100);
632
- // ── 5. Theme ──────────────────────────────────────────────────
633
- drawHeader('Step 5 of 6Theme');
674
+ // ── 5. Sub-Agents ─────────────────────────────────────────────
675
+ drawHeader('Step 5 of 7Sub-Agents');
676
+ console.log(` ${BOLD}Task delegation${RESET}`);
677
+ info('Sub-agents let the model delegate independent subtasks in parallel.');
678
+ info('Disable if you prefer single-agent execution or are on limited hardware.');
679
+ console.log();
680
+ const currentSubAgents = existingConfig?.sub_agents?.enabled !== false;
681
+ const subAgentsEnabled = await askYN(rl, 'Enable sub-agents?', currentSubAgents);
682
+ let subMaxIter = existingConfig?.sub_agents?.max_iterations ?? 50;
683
+ let subMaxTokens = existingConfig?.sub_agents?.max_tokens ?? 16384;
684
+ let subTimeoutSec = existingConfig?.sub_agents?.timeout_sec ?? 600;
685
+ let subResultCap = existingConfig?.sub_agents?.result_token_cap ?? 4000;
686
+ if (subAgentsEnabled) {
687
+ const customize = await askYN(rl, 'Customize sub-agent limits?', false);
688
+ if (customize) {
689
+ drawHeader('Step 5 of 7 — Sub-Agent Limits');
690
+ console.log(` ${BOLD}Max iterations${RESET}`);
691
+ info('Tool rounds a sub-agent gets per task.');
692
+ const iterStr = await ask(rl, 'Value', String(subMaxIter));
693
+ subMaxIter = Math.max(1, parseInt(iterStr, 10) || 50);
694
+ console.log();
695
+ console.log(` ${BOLD}Max tokens${RESET}`);
696
+ info('Token limit per sub-agent response.');
697
+ const tokStr = await ask(rl, 'Value', String(subMaxTokens));
698
+ subMaxTokens = Math.max(128, parseInt(tokStr, 10) || 16384);
699
+ console.log();
700
+ console.log(` ${BOLD}Timeout${RESET}`);
701
+ info('Seconds before a sub-agent is stopped.');
702
+ const toStr = await ask(rl, 'Seconds', String(subTimeoutSec));
703
+ subTimeoutSec = Math.max(10, parseInt(toStr, 10) || 600);
704
+ console.log();
705
+ console.log(` ${BOLD}Result token cap${RESET}`);
706
+ info('How much of the result is sent back to the parent.');
707
+ const rcStr = await ask(rl, 'Value', String(subResultCap));
708
+ subResultCap = Math.max(256, parseInt(rcStr, 10) || 4000);
709
+ }
710
+ }
711
+ // ── 6. Theme ──────────────────────────────────────────────────
712
+ drawHeader('Step 6 of 7 — Theme');
713
+ console.log(` ${BOLD}Color scheme${RESET}`);
714
+ info('Pick a theme that matches your terminal.');
715
+ console.log();
634
716
  const currentTheme = existingConfig?.theme || 'default';
635
717
  const theme = await selectChoice([
636
718
  { value: 'default', desc: 'Standard colors' },
@@ -639,7 +721,7 @@ export async function runSetup(existingConfigPath) {
639
721
  { value: 'minimal', desc: 'Stripped-down, less color' },
640
722
  { value: 'hacker', desc: 'Green on black' },
641
723
  ], currentTheme);
642
- // ── 5. Bot Setup ──────────────────────────────────────────────
724
+ // ── 7. Bot Setup ──────────────────────────────────────────────
643
725
  const existingTg = existingConfig?.bot?.telegram;
644
726
  const existingDc = existingConfig?.bot?.discord;
645
727
  let botTelegram = (existingTg?.token && existingTg?.allowed_users?.length)
@@ -650,7 +732,7 @@ export async function runSetup(existingConfigPath) {
650
732
  : null;
651
733
  // eslint-disable-next-line no-constant-condition
652
734
  while (true) {
653
- drawHeader('Step 6 of 6 — Bot Setup');
735
+ drawHeader('Step 7 of 7 — Bot Setup');
654
736
  info('Configure chat bot frontends (Telegram, Discord).');
655
737
  console.log();
656
738
  const botChoices = [];
@@ -689,6 +771,7 @@ export async function runSetup(existingConfigPath) {
689
771
  }
690
772
  console.log(` Directory: ${CYAN}${resolvedDir}${RESET}`);
691
773
  console.log(` Approval mode: ${CYAN}${approvalMode}${RESET}`);
774
+ console.log(` Sub-agents: ${subAgentsEnabled ? `${GREEN}enabled${RESET} ${DIM}(${subMaxIter} iters, ${subTimeoutSec}s timeout, ${subMaxTokens} tokens)${RESET}` : `${YELLOW}disabled${RESET}`}`);
692
775
  console.log(` Theme: ${CYAN}${theme}${RESET}`);
693
776
  if (botTelegram) {
694
777
  console.log(` Telegram bot: ${GREEN}✓${RESET} ${DIM}(token: ${maskToken(botTelegram.token)}, ${botTelegram.allowed_users.length} user${botTelegram.allowed_users.length === 1 ? '' : 's'})${RESET}`);
@@ -712,6 +795,14 @@ export async function runSetup(existingConfigPath) {
712
795
  finalConfig.response_timeout = responseTimeout;
713
796
  finalConfig.max_iterations = maxIterations;
714
797
  finalConfig.theme = theme;
798
+ finalConfig.sub_agents = {
799
+ ...(finalConfig.sub_agents ?? {}),
800
+ enabled: subAgentsEnabled,
801
+ max_iterations: subMaxIter,
802
+ max_tokens: subMaxTokens,
803
+ timeout_sec: subTimeoutSec,
804
+ result_token_cap: subResultCap,
805
+ };
715
806
  if (finalConfig.max_tokens === undefined)
716
807
  finalConfig.max_tokens = 16384;
717
808
  if (finalConfig.temperature === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -55,10 +55,10 @@ const DEFAULTS = {
55
55
  },
56
56
  sub_agents: {
57
57
  enabled: true,
58
- max_iterations: 10,
59
- max_tokens: 8192,
60
- timeout_sec: 180,
61
- result_token_cap: 2000,
58
+ max_iterations: 50,
59
+ max_tokens: 16384,
60
+ timeout_sec: 600,
61
+ result_token_cap: 4000,
62
62
  system_prompt: 'You are a focused coding sub-agent. Execute only the delegated task.',
63
63
  inherit_context_file: true,
64
64
  inherit_vault: true,
@@ -203,6 +203,17 @@ export async function loadConfig(opts) {
203
203
  proactive_diagnostics: parseBool(process.env.IDLEHANDS_LSP_PROACTIVE_DIAGNOSTICS),
204
204
  diagnostic_severity_threshold: parseNum(process.env.IDLEHANDS_LSP_SEVERITY_THRESHOLD),
205
205
  },
206
+ sub_agents: {
207
+ enabled: (() => {
208
+ const raw = process.env.IDLEHANDS_NO_SUB_AGENTS;
209
+ if (raw == null)
210
+ return undefined;
211
+ const disabled = parseBool(raw);
212
+ if (disabled === undefined)
213
+ return undefined;
214
+ return !disabled;
215
+ })(),
216
+ },
206
217
  mcp_tool_budget: parseNum(process.env.IDLEHANDS_MCP_TOOL_BUDGET),
207
218
  mcp_call_timeout_sec: parseNum(process.env.IDLEHANDS_MCP_CALL_TIMEOUT_SEC),
208
219
  anton: {
@@ -272,6 +283,11 @@ export async function loadConfig(opts) {
272
283
  const envCfg = stripUndef(envCfgRaw);
273
284
  const cliCfg = stripUndef(opts.cli ?? {});
274
285
  const merged = { ...DEFAULTS, ...fileCfg, ...envCfg, ...cliCfg };
286
+ // --fresh should start from current cwd unless user explicitly set dir via CLI/env.
287
+ // This avoids inheriting stale config.json dir values from prior sessions.
288
+ if (opts.preferCwdDir && cliCfg.dir === undefined && envCfg.dir === undefined) {
289
+ merged.dir = process.cwd();
290
+ }
275
291
  const fileTrifecta = fileCfg.trifecta;
276
292
  const envTrifecta = envCfg.trifecta;
277
293
  const cliTrifecta = cliCfg.trifecta;
@@ -286,6 +302,16 @@ export async function loadConfig(opts) {
286
302
  ...stripUndef(envAnton ?? {}),
287
303
  ...stripUndef(cliAnton ?? {}),
288
304
  };
305
+ // Sub-agents: shallow merge (defaults < file < env < cli)
306
+ const fileSubAgents = fileCfg.sub_agents;
307
+ const envSubAgents = envCfg.sub_agents;
308
+ const cliSubAgents = cliCfg.sub_agents;
309
+ merged.sub_agents = {
310
+ ...(DEFAULTS.sub_agents ?? {}),
311
+ ...stripUndef(fileSubAgents ?? {}),
312
+ ...stripUndef(envSubAgents ?? {}),
313
+ ...stripUndef(cliSubAgents ?? {}),
314
+ };
289
315
  // merge order: defaults < file < env < cli
290
316
  // Normalize
291
317
  merged.endpoint = String(merged.endpoint || DEFAULTS.endpoint).replace(/\/+$/, '');
@@ -325,9 +351,6 @@ export async function loadConfig(opts) {
325
351
  if (typeof merged.lsp.diagnostic_severity_threshold === 'number') {
326
352
  merged.lsp.diagnostic_severity_threshold = Math.max(1, Math.min(4, Math.floor(merged.lsp.diagnostic_severity_threshold)));
327
353
  }
328
- merged.sub_agents = merged.sub_agents && typeof merged.sub_agents === 'object'
329
- ? { ...(DEFAULTS.sub_agents ?? {}), ...merged.sub_agents }
330
- : { ...(DEFAULTS.sub_agents ?? {}) };
331
354
  const subAgentsEnabled = parseBoolLike(merged.sub_agents.enabled);
332
355
  if (subAgentsEnabled !== undefined)
333
356
  merged.sub_agents.enabled = subAgentsEnabled;