@visorcraft/idlehands 1.1.3 → 1.1.4

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.
@@ -29,6 +29,7 @@ export async function handleHelp({ ctx }) {
29
29
  '/new — Start a new session',
30
30
  '/cancel — Abort current generation',
31
31
  '/status — Session stats',
32
+ '/watchdog [status] — Show active watchdog settings',
32
33
  '/agent — Show current agent info',
33
34
  '/agents — List all configured agents',
34
35
  '/escalate [model] — Use larger model for next message',
@@ -92,6 +93,52 @@ export async function handleStatus({ ctx, sessions }) {
92
93
  ];
93
94
  await ctx.reply(lines.join('\n'), { parse_mode: 'HTML' });
94
95
  }
96
+ export async function handleWatchdog({ ctx, sessions, botConfig }) {
97
+ const chatId = ctx.chat?.id;
98
+ if (!chatId)
99
+ return;
100
+ const text = ctx.message?.text ?? '';
101
+ const arg = text.replace(/^\/watchdog\s*/i, '').trim().toLowerCase();
102
+ if (arg && arg !== 'status') {
103
+ await ctx.reply('Usage: /watchdog or /watchdog status');
104
+ return;
105
+ }
106
+ const managed = sessions.get(chatId);
107
+ const cfg = botConfig.watchdog ?? {
108
+ timeoutMs: 120_000,
109
+ maxCompactions: 3,
110
+ idleGraceTimeouts: 1,
111
+ debugAbortReason: false,
112
+ };
113
+ const lines = [
114
+ '<b>Watchdog Status</b>',
115
+ '',
116
+ `<b>Timeout:</b> ${cfg.timeoutMs.toLocaleString()} ms (${Math.round(cfg.timeoutMs / 1000)}s)`,
117
+ `<b>Max compactions:</b> ${cfg.maxCompactions}`,
118
+ `<b>Grace windows:</b> ${cfg.idleGraceTimeouts}`,
119
+ `<b>Debug abort reason:</b> ${cfg.debugAbortReason ? 'on' : 'off'}`,
120
+ ];
121
+ const aggressive = (cfg.timeoutMs <= 90_000 && cfg.idleGraceTimeouts === 0) ||
122
+ cfg.timeoutMs <= 60_000 ||
123
+ cfg.maxCompactions === 0;
124
+ if (aggressive) {
125
+ lines.push('');
126
+ lines.push(`<b>Recommended tuning:</b> ${escapeHtml('watchdog_timeout_ms >= 120000, watchdog_idle_grace_timeouts >= 1, watchdog_max_compactions >= 2 for slow/large tasks.')}`);
127
+ }
128
+ if (managed) {
129
+ const idleSec = managed.lastProgressAt > 0 ? ((Date.now() - managed.lastProgressAt) / 1000).toFixed(1) : 'n/a';
130
+ lines.push('');
131
+ lines.push(`<b>In-flight:</b> ${managed.inFlight ? 'yes' : 'no'}`);
132
+ lines.push(`<b>State:</b> ${escapeHtml(managed.state)}`);
133
+ lines.push(`<b>Compaction attempts (turn):</b> ${managed.watchdogCompactAttempts}`);
134
+ lines.push(`<b>Idle since progress:</b> ${escapeHtml(idleSec)}s`);
135
+ }
136
+ else {
137
+ lines.push('');
138
+ lines.push('No active session yet. Send a message to start one.');
139
+ }
140
+ await ctx.reply(lines.join('\n'), { parse_mode: 'HTML' });
141
+ }
95
142
  export async function handleDir({ ctx, sessions }) {
96
143
  const chatId = ctx.chat?.id;
97
144
  if (!chatId)
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"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"}
@@ -204,6 +204,10 @@ export async function startDiscordBot(config, botConfig) {
204
204
  const approvalMode = normalizeApprovalMode(botConfig.approval_mode, config.approval_mode ?? 'auto-edit');
205
205
  const defaultDir = botConfig.default_dir || projectDir(config);
206
206
  const replyToUserMessages = botConfig.reply_to_user_messages === true;
207
+ const watchdogMs = Math.max(30_000, Math.floor(botConfig.watchdog_timeout_ms ?? config.watchdog_timeout_ms ?? 120_000));
208
+ const maxWatchdogCompacts = Math.max(0, Math.floor(botConfig.watchdog_max_compactions ?? config.watchdog_max_compactions ?? 3));
209
+ const watchdogIdleGraceTimeouts = Math.max(0, Math.floor(botConfig.watchdog_idle_grace_timeouts ?? config.watchdog_idle_grace_timeouts ?? 1));
210
+ const debugAbortReason = (botConfig.debug_abort_reason ?? config.debug_abort_reason) === true;
207
211
  const sessions = new Map();
208
212
  const client = new Client({
209
213
  intents: [
@@ -219,6 +223,35 @@ export async function startDiscordBot(config, botConfig) {
219
223
  return await msg.reply(content);
220
224
  return await msg.channel.send(content);
221
225
  };
226
+ const watchdogStatusText = (managed) => {
227
+ const lines = [
228
+ '**Watchdog Status**',
229
+ `Timeout: ${watchdogMs.toLocaleString()} ms (${Math.round(watchdogMs / 1000)}s)`,
230
+ `Max compactions: ${maxWatchdogCompacts}`,
231
+ `Grace windows: ${watchdogIdleGraceTimeouts}`,
232
+ `Debug abort reason: ${debugAbortReason ? 'on' : 'off'}`,
233
+ ];
234
+ const aggressive = (watchdogMs <= 90_000 && watchdogIdleGraceTimeouts === 0) ||
235
+ watchdogMs <= 60_000 ||
236
+ maxWatchdogCompacts === 0;
237
+ if (aggressive) {
238
+ lines.push('');
239
+ lines.push('Recommended tuning: watchdog_timeout_ms >= 120000, watchdog_idle_grace_timeouts >= 1, watchdog_max_compactions >= 2 for slow/large tasks.');
240
+ }
241
+ if (managed) {
242
+ const idleSec = managed.lastProgressAt > 0 ? ((Date.now() - managed.lastProgressAt) / 1000).toFixed(1) : 'n/a';
243
+ lines.push('');
244
+ lines.push(`In-flight: ${managed.inFlight ? 'yes' : 'no'}`);
245
+ lines.push(`State: ${managed.state}`);
246
+ lines.push(`Compaction attempts (turn): ${managed.watchdogCompactAttempts}`);
247
+ lines.push(`Idle since progress: ${idleSec}s`);
248
+ }
249
+ else {
250
+ lines.push('');
251
+ lines.push('No active session yet. Send a message to start one.');
252
+ }
253
+ return lines.join('\n');
254
+ };
222
255
  async function getOrCreate(msg) {
223
256
  // Resolve which agent should handle this message
224
257
  const { agentId, persona } = resolveAgentForMessage(msg, botConfig.agents, botConfig.routing);
@@ -463,18 +496,46 @@ When you escalate, your request will be re-run on a more capable model.`;
463
496
  if (!isTurnActive(managed, turnId))
464
497
  return;
465
498
  markProgress(managed, turnId);
499
+ watchdogGraceUsed = 0;
466
500
  streamed += t;
467
501
  },
502
+ onToolCall: () => {
503
+ if (!isTurnActive(managed, turnId))
504
+ return;
505
+ markProgress(managed, turnId);
506
+ watchdogGraceUsed = 0;
507
+ },
508
+ onToolResult: () => {
509
+ if (!isTurnActive(managed, turnId))
510
+ return;
511
+ markProgress(managed, turnId);
512
+ watchdogGraceUsed = 0;
513
+ },
514
+ onTurnEnd: () => {
515
+ if (!isTurnActive(managed, turnId))
516
+ return;
517
+ markProgress(managed, turnId);
518
+ watchdogGraceUsed = 0;
519
+ },
468
520
  };
469
- const watchdogMs = 120_000;
470
- const maxWatchdogCompacts = 3;
471
521
  let watchdogCompactPending = false;
522
+ let watchdogGraceUsed = 0;
523
+ let watchdogForcedCancel = false;
472
524
  const watchdog = setInterval(() => {
473
525
  if (!isTurnActive(managed, turnId))
474
526
  return;
475
527
  if (watchdogCompactPending)
476
528
  return;
477
529
  if (Date.now() - managed.lastProgressAt > watchdogMs) {
530
+ if (watchdogGraceUsed < watchdogIdleGraceTimeouts) {
531
+ watchdogGraceUsed += 1;
532
+ managed.lastProgressAt = Date.now();
533
+ console.error(`[bot:discord] ${managed.userId} watchdog inactivity on turn ${turnId} — applying grace period (${watchdogGraceUsed}/${watchdogIdleGraceTimeouts})`);
534
+ if (placeholder) {
535
+ void placeholder.edit('⏳ Still working... model is taking longer than usual.').catch(() => { });
536
+ }
537
+ return;
538
+ }
478
539
  if (managed.watchdogCompactAttempts < maxWatchdogCompacts) {
479
540
  managed.watchdogCompactAttempts++;
480
541
  watchdogCompactPending = true;
@@ -495,6 +556,7 @@ When you escalate, your request will be re-run on a more capable model.`;
495
556
  }
496
557
  else {
497
558
  console.error(`[bot:discord] ${managed.userId} watchdog timeout on turn ${turnId} — max compaction attempts reached, cancelling`);
559
+ watchdogForcedCancel = true;
498
560
  cancelActive(managed);
499
561
  }
500
562
  }
@@ -590,10 +652,22 @@ When you escalate, your request will be re-run on a more capable model.`;
590
652
  if (!isTurnActive(managed, turnId))
591
653
  return;
592
654
  if (isAbort) {
593
- if (placeholder)
594
- await placeholder.edit('⏹ Cancelled.').catch(() => { });
595
- else
596
- await sendUserVisible(msg, '⏹ Cancelled.').catch(() => { });
655
+ const abortReason = raw.slice(0, 400);
656
+ if (watchdogForcedCancel) {
657
+ const timeoutMsg = `⏹ Cancelled by watchdog timeout after ${maxWatchdogCompacts} compaction attempts. Try a smaller scope, a faster model, or increase watchdog timeout/compaction settings.`;
658
+ const fullMsg = debugAbortReason ? `${timeoutMsg}\n\n[debug] ${abortReason}` : timeoutMsg;
659
+ if (placeholder)
660
+ await placeholder.edit(fullMsg).catch(() => { });
661
+ else
662
+ await sendUserVisible(msg, fullMsg).catch(() => { });
663
+ }
664
+ else {
665
+ const plain = debugAbortReason ? `⏹ Cancelled.\n\n[debug] ${abortReason}` : '⏹ Cancelled.';
666
+ if (placeholder)
667
+ await placeholder.edit(plain).catch(() => { });
668
+ else
669
+ await sendUserVisible(msg, plain).catch(() => { });
670
+ }
597
671
  }
598
672
  else {
599
673
  const errMsg = raw.slice(0, 400);
@@ -678,6 +752,7 @@ When you escalate, your request will be re-run on a more capable model.`;
678
752
  console.error(`[bot:discord] Allowed users: [${[...allowedUsers].join(', ')}]`);
679
753
  console.error(`[bot:discord] Default dir: ${defaultDir}`);
680
754
  console.error(`[bot:discord] Approval: ${approvalMode}`);
755
+ console.error(`[bot:discord] Watchdog: timeout=${watchdogMs}ms compactions=${maxWatchdogCompacts} grace=${watchdogIdleGraceTimeouts}`);
681
756
  if (allowGuilds) {
682
757
  console.error(`[bot:discord] Guild mode enabled${guildId ? ` (guild ${guildId})` : ''}`);
683
758
  }
@@ -697,6 +772,7 @@ When you escalate, your request will be re-run on a more capable model.`;
697
772
  new SlashCommandBuilder().setName('help').setDescription('Show available commands'),
698
773
  new SlashCommandBuilder().setName('new').setDescription('Start a new session'),
699
774
  new SlashCommandBuilder().setName('status').setDescription('Show session statistics'),
775
+ new SlashCommandBuilder().setName('watchdog').setDescription('Show watchdog settings/status'),
700
776
  new SlashCommandBuilder().setName('agent').setDescription('Show current agent info'),
701
777
  new SlashCommandBuilder().setName('agents').setDescription('List all configured agents'),
702
778
  new SlashCommandBuilder().setName('cancel').setDescription('Cancel the current operation'),
@@ -744,7 +820,7 @@ When you escalate, your request will be re-run on a more capable model.`;
744
820
  },
745
821
  };
746
822
  // Defer reply for commands that might take a while
747
- if (cmd === 'status' || cmd === 'agent' || cmd === 'agents') {
823
+ if (cmd === 'status' || cmd === 'watchdog' || cmd === 'agent' || cmd === 'agents') {
748
824
  await interaction.deferReply();
749
825
  }
750
826
  // Resolve agent for this interaction
@@ -758,6 +834,7 @@ When you escalate, your request will be re-run on a more capable model.`;
758
834
  '/help — This message',
759
835
  '/new — Start fresh session',
760
836
  '/status — Session stats',
837
+ '/watchdog — Show watchdog settings/status',
761
838
  '/agent — Show current agent',
762
839
  '/agents — List all configured agents',
763
840
  '/cancel — Abort running task',
@@ -790,6 +867,11 @@ When you escalate, your request will be re-run on a more capable model.`;
790
867
  }
791
868
  break;
792
869
  }
870
+ case 'watchdog': {
871
+ const managed = sessions.get(key);
872
+ await interaction.editReply(watchdogStatusText(managed));
873
+ break;
874
+ }
793
875
  case 'agent': {
794
876
  const agentName = persona?.display_name || agentId;
795
877
  if (persona) {
@@ -980,6 +1062,7 @@ When you escalate, your request will be re-run on a more capable model.`;
980
1062
  '/new — Start a new session',
981
1063
  '/cancel — Abort current generation',
982
1064
  '/status — Session stats',
1065
+ '/watchdog [status] — Show watchdog settings/status',
983
1066
  '/agent — Show current agent',
984
1067
  '/agents — List all configured agents',
985
1068
  '/escalate [model] — Use larger model for next message',
@@ -1170,6 +1253,14 @@ When you escalate, your request will be re-run on a more capable model.`;
1170
1253
  ].join('\n')).catch(() => { });
1171
1254
  return;
1172
1255
  }
1256
+ if (content === '/watchdog' || content === '/watchdog status') {
1257
+ await sendUserVisible(msg, watchdogStatusText(managed)).catch(() => { });
1258
+ return;
1259
+ }
1260
+ if (content.startsWith('/watchdog ')) {
1261
+ await sendUserVisible(msg, 'Usage: /watchdog or /watchdog status').catch(() => { });
1262
+ return;
1263
+ }
1173
1264
  // /agent - show current agent info
1174
1265
  if (content === '/agent') {
1175
1266
  if (!managed.agentPersona) {