@visorcraft/idlehands 1.1.3 → 1.1.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.
@@ -8,6 +8,7 @@ import { escapeHtml } from './format.js';
8
8
  import { runAnton } from '../anton/controller.js';
9
9
  import { parseTaskFile } from '../anton/parser.js';
10
10
  import { formatRunSummary, formatProgressBar, formatTaskStart, formatTaskEnd, formatTaskSkip } from '../anton/reporter.js';
11
+ import { WATCHDOG_RECOMMENDED_TUNING_TEXT, shouldRecommendWatchdogTuning } from '../watchdog.js';
11
12
  export async function handleStart({ ctx, botConfig }) {
12
13
  const lines = [
13
14
  '<b>🔧 Idle Hands</b> — Local-first coding agent',
@@ -29,6 +30,7 @@ export async function handleHelp({ ctx }) {
29
30
  '/new — Start a new session',
30
31
  '/cancel — Abort current generation',
31
32
  '/status — Session stats',
33
+ '/watchdog [status] — Show active watchdog settings',
32
34
  '/agent — Show current agent info',
33
35
  '/agents — List all configured agents',
34
36
  '/escalate [model] — Use larger model for next message',
@@ -92,6 +94,49 @@ export async function handleStatus({ ctx, sessions }) {
92
94
  ];
93
95
  await ctx.reply(lines.join('\n'), { parse_mode: 'HTML' });
94
96
  }
97
+ export async function handleWatchdog({ ctx, sessions, botConfig }) {
98
+ const chatId = ctx.chat?.id;
99
+ if (!chatId)
100
+ return;
101
+ const text = ctx.message?.text ?? '';
102
+ const arg = text.replace(/^\/watchdog\s*/i, '').trim().toLowerCase();
103
+ if (arg && arg !== 'status') {
104
+ await ctx.reply('Usage: /watchdog or /watchdog status');
105
+ return;
106
+ }
107
+ const managed = sessions.get(chatId);
108
+ const cfg = botConfig.watchdog ?? {
109
+ timeoutMs: 120_000,
110
+ maxCompactions: 3,
111
+ idleGraceTimeouts: 1,
112
+ debugAbortReason: false,
113
+ };
114
+ const lines = [
115
+ '<b>Watchdog Status</b>',
116
+ '',
117
+ `<b>Timeout:</b> ${cfg.timeoutMs.toLocaleString()} ms (${Math.round(cfg.timeoutMs / 1000)}s)`,
118
+ `<b>Max compactions:</b> ${cfg.maxCompactions}`,
119
+ `<b>Grace windows:</b> ${cfg.idleGraceTimeouts}`,
120
+ `<b>Debug abort reason:</b> ${cfg.debugAbortReason ? 'on' : 'off'}`,
121
+ ];
122
+ if (shouldRecommendWatchdogTuning(cfg)) {
123
+ lines.push('');
124
+ lines.push(`<b>Recommended tuning:</b> ${escapeHtml(WATCHDOG_RECOMMENDED_TUNING_TEXT)}`);
125
+ }
126
+ if (managed) {
127
+ const idleSec = managed.lastProgressAt > 0 ? ((Date.now() - managed.lastProgressAt) / 1000).toFixed(1) : 'n/a';
128
+ lines.push('');
129
+ lines.push(`<b>In-flight:</b> ${managed.inFlight ? 'yes' : 'no'}`);
130
+ lines.push(`<b>State:</b> ${escapeHtml(managed.state)}`);
131
+ lines.push(`<b>Compaction attempts (turn):</b> ${managed.watchdogCompactAttempts}`);
132
+ lines.push(`<b>Idle since progress:</b> ${escapeHtml(idleSec)}s`);
133
+ }
134
+ else {
135
+ lines.push('');
136
+ lines.push('No active session yet. Send a message to start one.');
137
+ }
138
+ await ctx.reply(lines.join('\n'), { parse_mode: 'HTML' });
139
+ }
95
140
  export async function handleDir({ ctx, sessions }) {
96
141
  const chatId = ctx.chat?.id;
97
142
  if (!chatId)
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAiB3H,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,SAAS,EAAkB;IAClE,MAAM,KAAK,GAAG;QACZ,iDAAiD;QACjD,EAAE;QACF,uBAAuB,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS;QACrE,0BAA0B,UAAU,CAAC,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS;QACxE,6BAA6B,UAAU,CAAC,SAAS,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS;QAC7E,EAAE;QACF,mDAAmD;KACpD,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAkB;IACtD,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,EAAE;QACF,mCAAmC;QACnC,sBAAsB;QACtB,4BAA4B;QAC5B,oCAAoC;QACpC,yBAAyB;QACzB,kCAAkC;QAClC,sCAAsC;QACtC,uDAAuD;QACvD,oCAAoC;QACpC,yCAAyC;QACzC,6BAA6B;QAC7B,0CAA0C;QAC1C,iCAAiC;QACjC,uCAAuC;QACvC,6CAA6C;QAC7C,wBAAwB;QACxB,mDAAmD;QACnD,uCAAuC;QACvC,oDAAoD;QACpD,2CAA2C;QAC3C,gCAAgC;QAChC,qCAAqC;QACrC,EAAE;QACF,yCAAyC;KAC1C,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAClE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAClE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC;QACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,EAAE;QACF,uBAAuB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;QACnD,yBAAyB,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;QACvD,qBAAqB,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS;QAC5D,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,UAAU,IAAI;QACnI,yBAAyB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;QAC7G,qBAAqB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QACtD,iBAAiB,OAAO,CAAC,KAAK,EAAE;QAChC,iBAAiB,OAAO,CAAC,YAAY,CAAC,MAAM,UAAU;KACvD,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,mBAAmB;QACnB,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,IAAI,cAAc,CAAC;QAClD,MAAM,GAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACrG,OAAO;IACT,CAAC;IAED,cAAc;IACd,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,GAAG,CAAC,KAAK,CAAC,oCAAoC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,KAAK,CACb,uBAAuB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EACtI,EAAE,UAAU,EAAE,MAAM,EAAE,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACnE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,mDAAmD;IACnD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACpE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;IAEhE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,OAAO,EAAE,YAAY,IAAI,WAAW,CAAC;QACrD,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,UAAU,CAAC,OAAO,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACrI,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAU,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,YAAY,GAAG,GAAU,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,GAAU,CAAC;QAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,KAAK,MAAM,CAAC;IAC7C,CAAC;IACD,MAAM,GAAG,CAAC,KAAK,CAAC,gCAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,GAAG,CAAC,KAAK,CAAC,sBAAsB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAClH,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,GAAU,CAAC;IACjC,IAAI,GAAG,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;QACzC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACrE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC;IAE7D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,GAAG,CAAC,KAAK,CACb,4BAA4B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,uCAAuC,EACzF,EAAE,UAAU,EAAE,MAAM,EAAE,CACvB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC;IAC7B,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9E,MAAM,GAAG,CAAC,KAAK,CACb,sBAAsB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,EAAE,EAAE,EACjH,EAAE,UAAU,EAAE,MAAM,EAAE,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACnE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,kCAAkC;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,cAAc,EAAE,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,EAAE,CAAC,YAAY,KAAK,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;IAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,KAAK;SACd,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,KAAK,CAAC,yBAAyB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,yBAAyB,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YACrF,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,KAAK,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,uEAAuE;AAEvE,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,mCAAmC;AAEvE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAkB;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO;IAE/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,SAAS;IACT,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO;IACP,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;QACxC,MAAM,GAAG,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAED,OAAO;IACP,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,iEAAiE;IACjE,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,CAAC,KAAK,CAAC;YACd,wCAAwC;YACxC,EAAE;YACF,iCAAiC;YACjC,+BAA+B;YAC/B,4BAA4B;YAC5B,gCAAgC;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACxG,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAmB;QAChC,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,GAAG;QACf,iBAAiB,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC;QAC5C,aAAa,EAAE,QAAQ,CAAC,cAAc,IAAI,GAAG;QAC7C,cAAc,EAAE,QAAQ,CAAC,gBAAgB,IAAI,GAAG;QAChD,eAAe,EAAE,QAAQ,CAAC,iBAAiB,IAAI,IAAI;QACnD,cAAc,EAAE,QAAQ,CAAC,gBAAgB,IAAI,QAAQ;QACrD,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACxC,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,qBAAqB,EAAE,KAAK;QAC5B,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACpC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACrC,iBAAiB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,CAAC;QACpD,aAAa,EAAE,QAAQ,CAAC,eAAe,IAAI,GAAG;QAC9C,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;QACtB,UAAU,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI;QACzC,YAAY,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAmC;QAClF,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACvC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAE7B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAA0B;QACtC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI;YAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBAChD,cAAc,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;YAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBAChD,cAAc,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,MAAM;YACrB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,aAAa,CAAC,MAAM;YAClB,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;YACjC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtD,CAAC;KACF,CAAC;IAEF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,MAAM,GAAG,CAAC,KAAK,CAAC,uBAAuB,UAAU,CAAC,QAAQ,CAAC,KAAK,YAAY,iBAAiB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvH,QAAQ,CAAC;QACP,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,OAAO,CAAC,MAAM;QAC/B,QAAQ;QACR,WAAW;QACX,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;QAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;KAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QACtB,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAChC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAE1E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAkB;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAC/B,MAAM,KAAK,GAAG;QACZ,aAAa,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU;QAC9G,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,0BAA0B,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,6BAA6B,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnI,CAAC;IAEF,qCAAqC;IACrC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpH,IAAI,OAAO,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,iBAAiB,cAAc,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAkB;IAC7E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,EAAE,OAAO,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,eAAe,UAAU,CAAC,EAAE,CAAC,WAAW,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAClC,IAAI,OAAO,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAkB;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO;IAE/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC;IACpD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9C,MAAM,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtD,kDAAkD;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC;QAC1E,MAAM,KAAK,GAAG;YACZ,+BAA+B,UAAU,CAAC,YAAY,CAAC,SAAS;YAChE,6BAA6B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrG,EAAE;YACF,kDAAkD;YAClD,2DAA2D;SAC5D,CAAC;QACF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sCAAsC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;QACpI,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,IAAI,WAAmB,CAAC;IACxB,IAAI,cAAkC,CAAC;IACvC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,cAAc,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,2BAA2B;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,UAAU,CAAC,GAAG,CAAC,+CAA+C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACjM,OAAO;QACT,CAAC;QACD,WAAW,GAAG,GAAG,CAAC;QAClB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,cAAc,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;IACxC,OAAO,CAAC,yBAAyB,GAAG,cAAc,IAAI,IAAI,CAAC;IAC3D,MAAM,GAAG,CAAC,KAAK,CAAC,iCAAiC,UAAU,CAAC,WAAW,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAkB;IACjF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAClE,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC;IAC9E,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAE9B,mCAAmC;IACnC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7G,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/bot/commands.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { createSession } from '../agent.js';
3
3
  import { DiscordConfirmProvider } from './confirm-discord.js';
4
4
  import { sanitizeBotOutputText } from './format.js';
5
5
  import { projectDir } from '../utils.js';
6
+ import { WATCHDOG_RECOMMENDED_TUNING_TEXT, resolveWatchdogSettings, shouldRecommendWatchdogTuning } from '../watchdog.js';
6
7
  import path from 'node:path';
7
8
  import fs from 'node:fs/promises';
8
9
  import { runAnton } from '../anton/controller.js';
@@ -204,6 +205,11 @@ export async function startDiscordBot(config, botConfig) {
204
205
  const approvalMode = normalizeApprovalMode(botConfig.approval_mode, config.approval_mode ?? 'auto-edit');
205
206
  const defaultDir = botConfig.default_dir || projectDir(config);
206
207
  const replyToUserMessages = botConfig.reply_to_user_messages === true;
208
+ const watchdogSettings = resolveWatchdogSettings(botConfig, config);
209
+ const watchdogMs = watchdogSettings.timeoutMs;
210
+ const maxWatchdogCompacts = watchdogSettings.maxCompactions;
211
+ const watchdogIdleGraceTimeouts = watchdogSettings.idleGraceTimeouts;
212
+ const debugAbortReason = watchdogSettings.debugAbortReason;
207
213
  const sessions = new Map();
208
214
  const client = new Client({
209
215
  intents: [
@@ -219,6 +225,32 @@ export async function startDiscordBot(config, botConfig) {
219
225
  return await msg.reply(content);
220
226
  return await msg.channel.send(content);
221
227
  };
228
+ const watchdogStatusText = (managed) => {
229
+ const lines = [
230
+ '**Watchdog Status**',
231
+ `Timeout: ${watchdogMs.toLocaleString()} ms (${Math.round(watchdogMs / 1000)}s)`,
232
+ `Max compactions: ${maxWatchdogCompacts}`,
233
+ `Grace windows: ${watchdogIdleGraceTimeouts}`,
234
+ `Debug abort reason: ${debugAbortReason ? 'on' : 'off'}`,
235
+ ];
236
+ if (shouldRecommendWatchdogTuning(watchdogSettings)) {
237
+ lines.push('');
238
+ lines.push(`Recommended tuning: ${WATCHDOG_RECOMMENDED_TUNING_TEXT}`);
239
+ }
240
+ if (managed) {
241
+ const idleSec = managed.lastProgressAt > 0 ? ((Date.now() - managed.lastProgressAt) / 1000).toFixed(1) : 'n/a';
242
+ lines.push('');
243
+ lines.push(`In-flight: ${managed.inFlight ? 'yes' : 'no'}`);
244
+ lines.push(`State: ${managed.state}`);
245
+ lines.push(`Compaction attempts (turn): ${managed.watchdogCompactAttempts}`);
246
+ lines.push(`Idle since progress: ${idleSec}s`);
247
+ }
248
+ else {
249
+ lines.push('');
250
+ lines.push('No active session yet. Send a message to start one.');
251
+ }
252
+ return lines.join('\n');
253
+ };
222
254
  async function getOrCreate(msg) {
223
255
  // Resolve which agent should handle this message
224
256
  const { agentId, persona } = resolveAgentForMessage(msg, botConfig.agents, botConfig.routing);
@@ -463,18 +495,46 @@ When you escalate, your request will be re-run on a more capable model.`;
463
495
  if (!isTurnActive(managed, turnId))
464
496
  return;
465
497
  markProgress(managed, turnId);
498
+ watchdogGraceUsed = 0;
466
499
  streamed += t;
467
500
  },
501
+ onToolCall: () => {
502
+ if (!isTurnActive(managed, turnId))
503
+ return;
504
+ markProgress(managed, turnId);
505
+ watchdogGraceUsed = 0;
506
+ },
507
+ onToolResult: () => {
508
+ if (!isTurnActive(managed, turnId))
509
+ return;
510
+ markProgress(managed, turnId);
511
+ watchdogGraceUsed = 0;
512
+ },
513
+ onTurnEnd: () => {
514
+ if (!isTurnActive(managed, turnId))
515
+ return;
516
+ markProgress(managed, turnId);
517
+ watchdogGraceUsed = 0;
518
+ },
468
519
  };
469
- const watchdogMs = 120_000;
470
- const maxWatchdogCompacts = 3;
471
520
  let watchdogCompactPending = false;
521
+ let watchdogGraceUsed = 0;
522
+ let watchdogForcedCancel = false;
472
523
  const watchdog = setInterval(() => {
473
524
  if (!isTurnActive(managed, turnId))
474
525
  return;
475
526
  if (watchdogCompactPending)
476
527
  return;
477
528
  if (Date.now() - managed.lastProgressAt > watchdogMs) {
529
+ if (watchdogGraceUsed < watchdogIdleGraceTimeouts) {
530
+ watchdogGraceUsed += 1;
531
+ managed.lastProgressAt = Date.now();
532
+ console.error(`[bot:discord] ${managed.userId} watchdog inactivity on turn ${turnId} — applying grace period (${watchdogGraceUsed}/${watchdogIdleGraceTimeouts})`);
533
+ if (placeholder) {
534
+ void placeholder.edit('⏳ Still working... model is taking longer than usual.').catch(() => { });
535
+ }
536
+ return;
537
+ }
478
538
  if (managed.watchdogCompactAttempts < maxWatchdogCompacts) {
479
539
  managed.watchdogCompactAttempts++;
480
540
  watchdogCompactPending = true;
@@ -495,6 +555,7 @@ When you escalate, your request will be re-run on a more capable model.`;
495
555
  }
496
556
  else {
497
557
  console.error(`[bot:discord] ${managed.userId} watchdog timeout on turn ${turnId} — max compaction attempts reached, cancelling`);
558
+ watchdogForcedCancel = true;
498
559
  cancelActive(managed);
499
560
  }
500
561
  }
@@ -590,10 +651,22 @@ When you escalate, your request will be re-run on a more capable model.`;
590
651
  if (!isTurnActive(managed, turnId))
591
652
  return;
592
653
  if (isAbort) {
593
- if (placeholder)
594
- await placeholder.edit('⏹ Cancelled.').catch(() => { });
595
- else
596
- await sendUserVisible(msg, '⏹ Cancelled.').catch(() => { });
654
+ const abortReason = raw.slice(0, 400);
655
+ if (watchdogForcedCancel) {
656
+ const timeoutMsg = `⏹ Cancelled by watchdog timeout after ${maxWatchdogCompacts} compaction attempts. Try a smaller scope, a faster model, or increase watchdog timeout/compaction settings.`;
657
+ const fullMsg = debugAbortReason ? `${timeoutMsg}\n\n[debug] ${abortReason}` : timeoutMsg;
658
+ if (placeholder)
659
+ await placeholder.edit(fullMsg).catch(() => { });
660
+ else
661
+ await sendUserVisible(msg, fullMsg).catch(() => { });
662
+ }
663
+ else {
664
+ const plain = debugAbortReason ? `⏹ Cancelled.\n\n[debug] ${abortReason}` : '⏹ Cancelled.';
665
+ if (placeholder)
666
+ await placeholder.edit(plain).catch(() => { });
667
+ else
668
+ await sendUserVisible(msg, plain).catch(() => { });
669
+ }
597
670
  }
598
671
  else {
599
672
  const errMsg = raw.slice(0, 400);
@@ -678,6 +751,7 @@ When you escalate, your request will be re-run on a more capable model.`;
678
751
  console.error(`[bot:discord] Allowed users: [${[...allowedUsers].join(', ')}]`);
679
752
  console.error(`[bot:discord] Default dir: ${defaultDir}`);
680
753
  console.error(`[bot:discord] Approval: ${approvalMode}`);
754
+ console.error(`[bot:discord] Watchdog: timeout=${watchdogMs}ms compactions=${maxWatchdogCompacts} grace=${watchdogIdleGraceTimeouts}`);
681
755
  if (allowGuilds) {
682
756
  console.error(`[bot:discord] Guild mode enabled${guildId ? ` (guild ${guildId})` : ''}`);
683
757
  }
@@ -697,6 +771,7 @@ When you escalate, your request will be re-run on a more capable model.`;
697
771
  new SlashCommandBuilder().setName('help').setDescription('Show available commands'),
698
772
  new SlashCommandBuilder().setName('new').setDescription('Start a new session'),
699
773
  new SlashCommandBuilder().setName('status').setDescription('Show session statistics'),
774
+ new SlashCommandBuilder().setName('watchdog').setDescription('Show watchdog settings/status'),
700
775
  new SlashCommandBuilder().setName('agent').setDescription('Show current agent info'),
701
776
  new SlashCommandBuilder().setName('agents').setDescription('List all configured agents'),
702
777
  new SlashCommandBuilder().setName('cancel').setDescription('Cancel the current operation'),
@@ -744,7 +819,7 @@ When you escalate, your request will be re-run on a more capable model.`;
744
819
  },
745
820
  };
746
821
  // Defer reply for commands that might take a while
747
- if (cmd === 'status' || cmd === 'agent' || cmd === 'agents') {
822
+ if (cmd === 'status' || cmd === 'watchdog' || cmd === 'agent' || cmd === 'agents') {
748
823
  await interaction.deferReply();
749
824
  }
750
825
  // Resolve agent for this interaction
@@ -758,6 +833,7 @@ When you escalate, your request will be re-run on a more capable model.`;
758
833
  '/help — This message',
759
834
  '/new — Start fresh session',
760
835
  '/status — Session stats',
836
+ '/watchdog — Show watchdog settings/status',
761
837
  '/agent — Show current agent',
762
838
  '/agents — List all configured agents',
763
839
  '/cancel — Abort running task',
@@ -790,6 +866,11 @@ When you escalate, your request will be re-run on a more capable model.`;
790
866
  }
791
867
  break;
792
868
  }
869
+ case 'watchdog': {
870
+ const managed = sessions.get(key);
871
+ await interaction.editReply(watchdogStatusText(managed));
872
+ break;
873
+ }
793
874
  case 'agent': {
794
875
  const agentName = persona?.display_name || agentId;
795
876
  if (persona) {
@@ -980,6 +1061,7 @@ When you escalate, your request will be re-run on a more capable model.`;
980
1061
  '/new — Start a new session',
981
1062
  '/cancel — Abort current generation',
982
1063
  '/status — Session stats',
1064
+ '/watchdog [status] — Show watchdog settings/status',
983
1065
  '/agent — Show current agent',
984
1066
  '/agents — List all configured agents',
985
1067
  '/escalate [model] — Use larger model for next message',
@@ -1170,6 +1252,14 @@ When you escalate, your request will be re-run on a more capable model.`;
1170
1252
  ].join('\n')).catch(() => { });
1171
1253
  return;
1172
1254
  }
1255
+ if (content === '/watchdog' || content === '/watchdog status') {
1256
+ await sendUserVisible(msg, watchdogStatusText(managed)).catch(() => { });
1257
+ return;
1258
+ }
1259
+ if (content.startsWith('/watchdog ')) {
1260
+ await sendUserVisible(msg, 'Usage: /watchdog or /watchdog status').catch(() => { });
1261
+ return;
1262
+ }
1173
1263
  // /agent - show current agent info
1174
1264
  if (content === '/agent') {
1175
1265
  if (!managed.agentPersona) {