@visorcraft/idlehands 1.3.3 → 1.3.5

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 (70) hide show
  1. package/README.md +28 -1
  2. package/dist/agent/formatting.js +1 -5
  3. package/dist/agent/formatting.js.map +1 -1
  4. package/dist/agent.js +130 -22
  5. package/dist/agent.js.map +1 -1
  6. package/dist/anton/controller.js +20 -1
  7. package/dist/anton/controller.js.map +1 -1
  8. package/dist/anton/reporter.js +2 -20
  9. package/dist/anton/reporter.js.map +1 -1
  10. package/dist/bot/auto-continue.js +24 -0
  11. package/dist/bot/auto-continue.js.map +1 -0
  12. package/dist/bot/commands.js +50 -0
  13. package/dist/bot/commands.js.map +1 -1
  14. package/dist/bot/discord-commands.js +833 -0
  15. package/dist/bot/discord-commands.js.map +1 -0
  16. package/dist/bot/discord-routing.js +1 -8
  17. package/dist/bot/discord-routing.js.map +1 -1
  18. package/dist/bot/discord.js +36 -789
  19. package/dist/bot/discord.js.map +1 -1
  20. package/dist/bot/session-manager.js +52 -0
  21. package/dist/bot/session-manager.js.map +1 -1
  22. package/dist/bot/telegram-commands.js +201 -0
  23. package/dist/bot/telegram-commands.js.map +1 -0
  24. package/dist/bot/telegram.js +32 -310
  25. package/dist/bot/telegram.js.map +1 -1
  26. package/dist/bot/ux/events.js +142 -0
  27. package/dist/bot/ux/events.js.map +1 -0
  28. package/dist/cli/commands/project.js +52 -0
  29. package/dist/cli/commands/project.js.map +1 -1
  30. package/dist/config.js +16 -0
  31. package/dist/config.js.map +1 -1
  32. package/dist/context.js +1 -3
  33. package/dist/context.js.map +1 -1
  34. package/dist/progress/ir.js +0 -3
  35. package/dist/progress/ir.js.map +1 -1
  36. package/dist/progress/tool-summary.js +1 -4
  37. package/dist/progress/tool-summary.js.map +1 -1
  38. package/dist/progress/turn-progress.js +1 -5
  39. package/dist/progress/turn-progress.js.map +1 -1
  40. package/dist/runtime/executor.js +1 -3
  41. package/dist/runtime/executor.js.map +1 -1
  42. package/dist/runtime/health.js +2 -1
  43. package/dist/runtime/health.js.map +1 -1
  44. package/dist/shared/async.js +5 -0
  45. package/dist/shared/async.js.map +1 -0
  46. package/dist/shared/config-utils.js +8 -0
  47. package/dist/shared/config-utils.js.map +1 -0
  48. package/dist/shared/format.js +19 -0
  49. package/dist/shared/format.js.map +1 -0
  50. package/dist/shared/math.js +5 -0
  51. package/dist/shared/math.js.map +1 -0
  52. package/dist/shared/strings.js +8 -0
  53. package/dist/shared/strings.js.map +1 -0
  54. package/dist/tools/patch.js +82 -0
  55. package/dist/tools/patch.js.map +1 -0
  56. package/dist/tools/path-safety.js +89 -0
  57. package/dist/tools/path-safety.js.map +1 -0
  58. package/dist/tools/undo.js +141 -0
  59. package/dist/tools/undo.js.map +1 -0
  60. package/dist/tools.js +11 -289
  61. package/dist/tools.js.map +1 -1
  62. package/dist/tui/controller.js +24 -1
  63. package/dist/tui/controller.js.map +1 -1
  64. package/dist/tui/event-bridge.js +1 -3
  65. package/dist/tui/event-bridge.js.map +1 -1
  66. package/dist/tui/render.js +1 -5
  67. package/dist/tui/render.js.map +1 -1
  68. package/dist/vault.js +1 -5
  69. package/dist/vault.js.map +1 -1
  70. package/package.json +1 -1
@@ -7,129 +7,14 @@ import { MessageEditScheduler, classifyTelegramEditError, } from '../progress/me
7
7
  import { ProgressPresenter } from '../progress/progress-presenter.js';
8
8
  import { PKG_VERSION } from '../utils.js';
9
9
  import { formatWatchdogCancelMessage, resolveWatchdogSettings } from '../watchdog.js';
10
- import { handleStart, handleHelp, handleVersion, handleNew, handleCancel, handleStatus, handleWatchdog, handleDir, handleModel, handleCompact, handleApproval, handleMode, handleSubAgents, handleChanges, handleUndo, handleVault, handleAnton, handleAgent, handleAgents, handleEscalate, handleDeescalate, handleRestartBot, handleGitStatus, } from './commands.js';
10
+ import { handleStart, handleHelp, handleVersion, handleNew, handleCancel, handleStatus, handleWatchdog, handleDir, handlePin, handleUnpin, handleModel, handleCompact, handleApproval, handleMode, handleSubAgents, handleChanges, handleUndo, handleVault, handleAnton, handleAgent, handleAgents, handleEscalate, handleDeescalate, handleRestartBot, handleGitStatus, } from './commands.js';
11
11
  import { TelegramConfirmProvider } from './confirm-telegram.js';
12
12
  import { markdownToTelegramHtml, splitMessage, escapeHtml, formatToolCallSummary, } from './format.js';
13
13
  import { SessionManager } from './session-manager.js';
14
- // ---------------------------------------------------------------------------
15
- // Escalation helpers (mirrored from discord.ts)
16
- // ---------------------------------------------------------------------------
17
- /**
18
- * Check if the model response contains an escalation request.
19
- * Returns { escalate: true, reason: string } if escalation marker found at start of response.
20
- */
21
- function detectEscalation(text) {
22
- const trimmed = text.trim();
23
- const match = trimmed.match(/^\[ESCALATE:\s*([^\]]+)\]/i);
24
- if (match) {
25
- return { escalate: true, reason: match[1].trim() };
26
- }
27
- return { escalate: false };
28
- }
29
- /** Keyword presets for common escalation triggers */
30
- const KEYWORD_PRESETS = {
31
- coding: [
32
- 'build',
33
- 'implement',
34
- 'create',
35
- 'develop',
36
- 'architect',
37
- 'refactor',
38
- 'debug',
39
- 'fix',
40
- 'code',
41
- 'program',
42
- 'write',
43
- ],
44
- planning: ['plan', 'design', 'roadmap', 'strategy', 'analyze', 'research', 'evaluate', 'compare'],
45
- complex: [
46
- 'full',
47
- 'complete',
48
- 'comprehensive',
49
- 'multi-step',
50
- 'integrate',
51
- 'migration',
52
- 'overhaul',
53
- 'entire',
54
- 'whole',
55
- ],
56
- };
57
- /**
58
- * Check if text matches a set of keywords.
59
- * Returns matched keywords or empty array if none match.
60
- */
61
- function matchKeywords(text, keywords, presets) {
62
- const allKeywords = [...keywords];
63
- // Add preset keywords
64
- if (presets) {
65
- for (const preset of presets) {
66
- const presetWords = KEYWORD_PRESETS[preset];
67
- if (presetWords)
68
- allKeywords.push(...presetWords);
69
- }
70
- }
71
- if (allKeywords.length === 0)
72
- return [];
73
- const lowerText = text.toLowerCase();
74
- const matched = [];
75
- for (const kw of allKeywords) {
76
- if (kw.startsWith('re:')) {
77
- // Regex pattern
78
- try {
79
- const regex = new RegExp(kw.slice(3), 'i');
80
- if (regex.test(text))
81
- matched.push(kw);
82
- }
83
- catch {
84
- // Invalid regex, skip
85
- }
86
- }
87
- else {
88
- // Word boundary match (case-insensitive)
89
- const wordRegex = new RegExp(`\\b${kw.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`, 'i');
90
- if (wordRegex.test(lowerText))
91
- matched.push(kw);
92
- }
93
- }
94
- return matched;
95
- }
96
- /**
97
- * Check if user message matches keyword escalation triggers.
98
- * Returns { escalate: true, tier: number, reason: string } if keywords match.
99
- * Tier indicates which model index to escalate to (highest matching tier wins).
100
- */
101
- function checkKeywordEscalation(text, escalation) {
102
- if (!escalation)
103
- return { escalate: false };
104
- // Tiered keyword escalation
105
- if (escalation.tiers && escalation.tiers.length > 0) {
106
- let highestTier = -1;
107
- let highestReason = '';
108
- // Check each tier, highest matching tier wins
109
- for (let i = 0; i < escalation.tiers.length; i++) {
110
- const tier = escalation.tiers[i];
111
- const matched = matchKeywords(text, tier.keywords || [], tier.keyword_presets);
112
- if (matched.length > 0 && i > highestTier) {
113
- highestTier = i;
114
- highestReason = `tier ${i} keyword match: ${matched.slice(0, 3).join(', ')}${matched.length > 3 ? '...' : ''}`;
115
- }
116
- }
117
- if (highestTier >= 0) {
118
- return { escalate: true, tier: highestTier, reason: highestReason };
119
- }
120
- return { escalate: false };
121
- }
122
- // Legacy flat keywords (treated as tier 0)
123
- const matched = matchKeywords(text, escalation.keywords || [], escalation.keyword_presets);
124
- if (matched.length > 0) {
125
- return {
126
- escalate: true,
127
- tier: 0,
128
- reason: `keyword match: ${matched.slice(0, 3).join(', ')}${matched.length > 3 ? '...' : ''}`,
129
- };
130
- }
131
- return { escalate: false };
132
- }
14
+ import { isToolLoopBreak, formatAutoContinueNotice, AUTO_CONTINUE_PROMPT } from './auto-continue.js';
15
+ import { registerRuntimeCommands, handleModelSelectCallback } from './telegram-commands.js';
16
+ // Escalation helpers shared with Discord bot
17
+ import { detectEscalation, checkKeywordEscalation } from './discord-routing.js';
133
18
  // ---------------------------------------------------------------------------
134
19
  // Streaming message helper
135
20
  // ---------------------------------------------------------------------------
@@ -428,6 +313,8 @@ export async function startTelegramBot(config, botConfig) {
428
313
  bot.command('status', (ctx) => handleStatus(cmdCtx(ctx)));
429
314
  bot.command('watchdog', (ctx) => handleWatchdog(cmdCtx(ctx)));
430
315
  bot.command('dir', (ctx) => handleDir(cmdCtx(ctx)));
316
+ bot.command('pin', (ctx) => handlePin(cmdCtx(ctx)));
317
+ bot.command('unpin', (ctx) => handleUnpin(cmdCtx(ctx)));
431
318
  bot.command('model', (ctx) => handleModel(cmdCtx(ctx)));
432
319
  bot.command('compact', (ctx) => handleCompact(cmdCtx(ctx)));
433
320
  bot.command('approval', (ctx) => handleApproval(cmdCtx(ctx)));
@@ -443,202 +330,18 @@ export async function startTelegramBot(config, botConfig) {
443
330
  bot.command('deescalate', (ctx) => handleDeescalate(cmdCtx(ctx)));
444
331
  bot.command('restart_bot', (ctx) => handleRestartBot(cmdCtx(ctx)));
445
332
  bot.command('git_status', (ctx) => handleGitStatus(cmdCtx(ctx)));
446
- bot.command('hosts', async (ctx) => {
447
- try {
448
- const { loadRuntimes, redactConfig } = await import('../runtime/store.js');
449
- const config = await loadRuntimes();
450
- const redacted = redactConfig(config);
451
- if (!redacted.hosts.length) {
452
- await ctx.reply('No hosts configured. Use `idlehands hosts add` in CLI.');
453
- return;
454
- }
455
- const lines = redacted.hosts.map((h) => `${h.enabled ? '🟢' : '🔴'} *${h.display_name}* (\`${h.id}\`)\n Transport: ${h.transport}`);
456
- await ctx.reply(lines.join('\n\n'), { parse_mode: 'Markdown' });
457
- }
458
- catch (e) {
459
- await ctx.reply(`❌ Failed to load hosts: ${e?.message ?? String(e)}`);
460
- }
461
- });
462
- bot.command('backends', async (ctx) => {
463
- try {
464
- const { loadRuntimes, redactConfig } = await import('../runtime/store.js');
465
- const config = await loadRuntimes();
466
- const redacted = redactConfig(config);
467
- if (!redacted.backends.length) {
468
- await ctx.reply('No backends configured. Use `idlehands backends add` in CLI.');
469
- return;
470
- }
471
- const lines = redacted.backends.map((b) => `${b.enabled ? '🟢' : '🔴'} *${b.display_name}* (\`${b.id}\`)\n Type: ${b.type}`);
472
- await ctx.reply(lines.join('\n\n'), { parse_mode: 'Markdown' });
473
- }
474
- catch (e) {
475
- await ctx.reply(`❌ Failed to load backends: ${e?.message ?? String(e)}`);
476
- }
477
- });
478
- const handleRuntimeModels = async (ctx) => {
479
- try {
480
- const { loadRuntimes } = await import('../runtime/store.js');
481
- const config = await loadRuntimes();
482
- if (!config.models.length) {
483
- await ctx.reply('No runtime models configured.');
484
- return;
485
- }
486
- // Show enabled models with inline buttons for selection
487
- const enabledModels = config.models.filter((m) => m.enabled);
488
- if (!enabledModels.length) {
489
- await ctx.reply('No enabled runtime models. Use `idlehands models enable <id>` in CLI.');
490
- return;
491
- }
492
- // Create inline keyboard with model buttons (max 8 per row, 2 columns)
493
- const buttons = enabledModels.map((m) => [{
494
- text: `🟢 ${m.display_name}`,
495
- callback_data: `model_select:${m.id}`,
496
- }]);
497
- // Split into rows of 2
498
- const keyboard = [];
499
- for (let i = 0; i < buttons.length; i += 2) {
500
- const row = buttons.slice(i, i + 2).flat();
501
- keyboard.push(row);
502
- }
503
- await ctx.reply('📋 *Select a model to switch to:*', {
504
- parse_mode: 'Markdown',
505
- reply_markup: { inline_keyboard: keyboard },
506
- });
507
- }
508
- catch (e) {
509
- await ctx.reply(`❌ Failed to load runtime models: ${e?.message ?? String(e)}`);
510
- }
511
- };
512
- // Preferred name: /models (keep /rtmodels as backward-compatible alias)
513
- bot.command('models', handleRuntimeModels);
514
- bot.command('rtmodels', handleRuntimeModels);
515
- bot.command('rtstatus', async (ctx) => {
516
- try {
517
- const { loadActiveRuntime } = await import('../runtime/executor.js');
518
- const active = await loadActiveRuntime();
519
- if (!active) {
520
- await ctx.reply('No active runtime.');
521
- return;
522
- }
523
- const lines = [
524
- '*Active Runtime*',
525
- `Model: \`${active.modelId}\``,
526
- `Backend: \`${active.backendId ?? 'none'}\``,
527
- `Hosts: ${active.hostIds.map((id) => `\`${id}\``).join(', ') || 'none'}`,
528
- `Healthy: ${active.healthy ? '✅ yes' : '❌ no'}`,
529
- `Endpoint: \`${active.endpoint ?? 'unknown'}\``,
530
- `Started: \`${active.startedAt}\``,
531
- ];
532
- await ctx.reply(lines.join('\n'), { parse_mode: 'Markdown' });
533
- }
534
- catch (e) {
535
- await ctx.reply(`❌ Failed to read runtime status: ${e?.message ?? String(e)}`);
536
- }
537
- });
538
- bot.command('switch', async (ctx) => {
539
- try {
540
- const modelId = ctx.match?.trim();
541
- if (!modelId) {
542
- await ctx.reply('Usage: /switch <model-id>');
543
- return;
544
- }
545
- const { plan } = await import('../runtime/planner.js');
546
- const { execute, loadActiveRuntime } = await import('../runtime/executor.js');
547
- const { loadRuntimes } = await import('../runtime/store.js');
548
- const rtConfig = await loadRuntimes();
549
- const active = await loadActiveRuntime();
550
- const result = plan({ modelId, mode: 'live' }, rtConfig, active);
551
- if (!result.ok) {
552
- await ctx.reply(`❌ Plan failed: ${result.reason}`);
553
- return;
554
- }
555
- if (result.reuse) {
556
- await ctx.reply('✅ Runtime already active and healthy.');
557
- return;
558
- }
559
- const statusMsg = await ctx.reply(`⏳ Switching to *${result.model.display_name}*...`, {
560
- parse_mode: 'Markdown',
561
- });
562
- const execResult = await execute(result, {
563
- onStep: async (step, status) => {
564
- if (status === 'done') {
565
- await ctx.api
566
- .editMessageText(ctx.chat.id, statusMsg.message_id, `⏳ ${step.description}... ✓`)
567
- .catch(() => { });
568
- }
569
- },
570
- confirm: async (prompt) => {
571
- await ctx.reply(`⚠️ ${prompt}\nAuto-approving for bot context.`);
572
- return true;
573
- },
574
- });
575
- if (execResult.ok) {
576
- await ctx.reply(`✅ Switched to *${result.model.display_name}*`, {
577
- parse_mode: 'Markdown',
578
- });
579
- }
580
- else {
581
- await ctx.reply(`❌ Switch failed: ${execResult.error || 'unknown error'}`);
582
- }
583
- }
584
- catch (e) {
585
- await ctx.reply(`❌ Switch failed: ${e?.message ?? String(e)}`);
586
- }
587
- });
333
+ // Runtime command handlers (hosts, backends, models, rtstatus, switch)
334
+ registerRuntimeCommands(bot);
588
335
  // ---------------------------------------------------------------------------
589
336
  // Callback query handler (inline button presses for confirmations + model selection)
590
337
  // ---------------------------------------------------------------------------
591
338
  bot.on('callback_query:data', async (ctx) => {
592
- const data = ctx.callbackQuery.data;
593
339
  const chatId = ctx.chat?.id;
594
340
  if (!chatId)
595
341
  return;
596
- // Handle model selection callback
597
- if (data.startsWith('model_select:')) {
598
- const modelId = data.slice('model_select:'.length);
599
- await ctx.answerCallbackQuery({ text: `Switching to ${modelId}...` }).catch(() => { });
600
- try {
601
- const { plan } = await import('../runtime/planner.js');
602
- const { execute, loadActiveRuntime } = await import('../runtime/executor.js');
603
- const { loadRuntimes } = await import('../runtime/store.js');
604
- const rtConfig = await loadRuntimes();
605
- const active = await loadActiveRuntime();
606
- const result = plan({ modelId, mode: 'live' }, rtConfig, active);
607
- if (!result.ok) {
608
- await ctx.editMessageText(`❌ Plan failed: ${result.reason}`).catch(() => { });
609
- return;
610
- }
611
- if (result.reuse) {
612
- await ctx.editMessageText(`✅ Already using *${result.model.display_name}*`, {
613
- parse_mode: 'Markdown',
614
- }).catch(() => { });
615
- return;
616
- }
617
- const execResult = await execute(result, {
618
- onStep: async (step, status) => {
619
- if (status === 'done') {
620
- await ctx.editMessageText(`⏳ ${step.description}... ✓`).catch(() => { });
621
- }
622
- },
623
- confirm: async (prompt) => {
624
- await ctx.reply(`⚠️ ${prompt}\nAuto-approving for bot context.`);
625
- return true;
626
- },
627
- });
628
- if (execResult.ok) {
629
- await ctx.editMessageText(`✅ Switched to *${result.model.display_name}*`, {
630
- parse_mode: 'Markdown',
631
- }).catch(() => { });
632
- }
633
- else {
634
- await ctx.editMessageText(`❌ Switch failed: ${execResult.error || 'unknown error'}`).catch(() => { });
635
- }
636
- }
637
- catch (e) {
638
- await ctx.editMessageText(`❌ Switch failed: ${e?.message ?? String(e)}`).catch(() => { });
639
- }
342
+ // Handle model selection callback (delegated to telegram-commands)
343
+ if (await handleModelSelectCallback(ctx))
640
344
  return;
641
- }
642
345
  // Handle confirmation callbacks
643
346
  const managed = sessions.get(chatId);
644
347
  if (!managed?.confirmProvider) {
@@ -646,7 +349,7 @@ export async function startTelegramBot(config, botConfig) {
646
349
  return;
647
350
  }
648
351
  const provider = managed.confirmProvider;
649
- const handled = await provider.handleCallback(data);
352
+ const handled = await provider.handleCallback(ctx.callbackQuery.data);
650
353
  await ctx
651
354
  .answerCallbackQuery(handled ? undefined : { text: 'Unknown action.' })
652
355
  .catch(() => { });
@@ -1063,13 +766,21 @@ async function processMessage(bot, sessions, managed, text, editIntervalMs, file
1063
766
  try {
1064
767
  let askComplete = false;
1065
768
  let isRetryAfterCompaction = false;
769
+ let isToolLoopRetry = false;
770
+ let toolLoopRetryCount = 0;
771
+ const autoContinueCfg = managed.config.tool_loop_auto_continue;
772
+ const autoContinueEnabled = autoContinueCfg?.enabled !== false;
773
+ const autoContinueMaxRetries = autoContinueCfg?.max_retries ?? 5;
1066
774
  while (!askComplete) {
1067
775
  const attemptController = new AbortController();
1068
776
  managed.activeAbortController = attemptController;
1069
777
  turn.controller = attemptController;
1070
778
  let askText = isRetryAfterCompaction
1071
779
  ? 'Continue working on the task from where you left off. Context was compacted to free memory — do NOT restart from the beginning.'
1072
- : text;
780
+ : isToolLoopRetry
781
+ ? AUTO_CONTINUE_PROMPT
782
+ : text;
783
+ isToolLoopRetry = false;
1073
784
  if (managed.antonActive) {
1074
785
  askText = `${askText}\n\n[System Runtime Context: Anton task runner is CURRENTLY ACTIVE and running autonomously in the background for this project.]`;
1075
786
  }
@@ -1152,6 +863,17 @@ async function processMessage(bot, sessions, managed, text, editIntervalMs, file
1152
863
  isRetryAfterCompaction = true;
1153
864
  continue; // retry the ask with continuation prompt
1154
865
  }
866
+ // Auto-continue on tool-loop breaks
867
+ if (!isAbort && isToolLoopBreak(e) && autoContinueEnabled && toolLoopRetryCount < autoContinueMaxRetries) {
868
+ toolLoopRetryCount++;
869
+ const notice = formatAutoContinueNotice(msg, toolLoopRetryCount, autoContinueMaxRetries);
870
+ console.error(`[bot:telegram] ${managed.chatId} tool-loop auto-continue (retry ${toolLoopRetryCount}/${autoContinueMaxRetries})`);
871
+ if (sessions.isTurnActive(managed.chatId, turnId)) {
872
+ await streaming.finalizeError(notice);
873
+ }
874
+ isToolLoopRetry = true;
875
+ continue; // retry the ask with auto-continue prompt
876
+ }
1155
877
  askComplete = true;
1156
878
  console.error(`[bot] ${managed.chatId} ask() error: ${msg}`);
1157
879
  if (isAbort) {
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/bot/telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/bot/telegram.ts"],"names":[],"mappings":"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"}