@visorcraft/idlehands 1.3.4 → 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 (59) hide show
  1. package/dist/agent/formatting.js +1 -5
  2. package/dist/agent/formatting.js.map +1 -1
  3. package/dist/agent.js +114 -26
  4. package/dist/agent.js.map +1 -1
  5. package/dist/anton/reporter.js +2 -20
  6. package/dist/anton/reporter.js.map +1 -1
  7. package/dist/bot/commands.js +24 -0
  8. package/dist/bot/commands.js.map +1 -1
  9. package/dist/bot/discord-commands.js +833 -0
  10. package/dist/bot/discord-commands.js.map +1 -0
  11. package/dist/bot/discord-routing.js +1 -8
  12. package/dist/bot/discord-routing.js.map +1 -1
  13. package/dist/bot/discord.js +15 -813
  14. package/dist/bot/discord.js.map +1 -1
  15. package/dist/bot/session-manager.js +52 -0
  16. package/dist/bot/session-manager.js.map +1 -1
  17. package/dist/bot/telegram-commands.js +201 -0
  18. package/dist/bot/telegram-commands.js.map +1 -0
  19. package/dist/bot/telegram.js +10 -309
  20. package/dist/bot/telegram.js.map +1 -1
  21. package/dist/cli/commands/project.js +52 -0
  22. package/dist/cli/commands/project.js.map +1 -1
  23. package/dist/context.js +1 -3
  24. package/dist/context.js.map +1 -1
  25. package/dist/progress/ir.js +0 -3
  26. package/dist/progress/ir.js.map +1 -1
  27. package/dist/progress/tool-summary.js +1 -4
  28. package/dist/progress/tool-summary.js.map +1 -1
  29. package/dist/progress/turn-progress.js +1 -5
  30. package/dist/progress/turn-progress.js.map +1 -1
  31. package/dist/runtime/executor.js +1 -3
  32. package/dist/runtime/executor.js.map +1 -1
  33. package/dist/runtime/health.js +2 -1
  34. package/dist/runtime/health.js.map +1 -1
  35. package/dist/shared/async.js +5 -0
  36. package/dist/shared/async.js.map +1 -0
  37. package/dist/shared/config-utils.js +8 -0
  38. package/dist/shared/config-utils.js.map +1 -0
  39. package/dist/shared/format.js +19 -0
  40. package/dist/shared/format.js.map +1 -0
  41. package/dist/shared/math.js +5 -0
  42. package/dist/shared/math.js.map +1 -0
  43. package/dist/shared/strings.js +8 -0
  44. package/dist/shared/strings.js.map +1 -0
  45. package/dist/tools/patch.js +82 -0
  46. package/dist/tools/patch.js.map +1 -0
  47. package/dist/tools/path-safety.js +89 -0
  48. package/dist/tools/path-safety.js.map +1 -0
  49. package/dist/tools/undo.js +141 -0
  50. package/dist/tools/undo.js.map +1 -0
  51. package/dist/tools.js +11 -289
  52. package/dist/tools.js.map +1 -1
  53. package/dist/tui/event-bridge.js +1 -3
  54. package/dist/tui/event-bridge.js.map +1 -1
  55. package/dist/tui/render.js +1 -5
  56. package/dist/tui/render.js.map +1 -1
  57. package/dist/vault.js +1 -5
  58. package/dist/vault.js.map +1 -1
  59. package/package.json +1 -1
@@ -7,130 +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, handlePin, 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
14
  import { isToolLoopBreak, formatAutoContinueNotice, AUTO_CONTINUE_PROMPT } from './auto-continue.js';
15
- // ---------------------------------------------------------------------------
16
- // Escalation helpers (mirrored from discord.ts)
17
- // ---------------------------------------------------------------------------
18
- /**
19
- * Check if the model response contains an escalation request.
20
- * Returns { escalate: true, reason: string } if escalation marker found at start of response.
21
- */
22
- function detectEscalation(text) {
23
- const trimmed = text.trim();
24
- const match = trimmed.match(/^\[ESCALATE:\s*([^\]]+)\]/i);
25
- if (match) {
26
- return { escalate: true, reason: match[1].trim() };
27
- }
28
- return { escalate: false };
29
- }
30
- /** Keyword presets for common escalation triggers */
31
- const KEYWORD_PRESETS = {
32
- coding: [
33
- 'build',
34
- 'implement',
35
- 'create',
36
- 'develop',
37
- 'architect',
38
- 'refactor',
39
- 'debug',
40
- 'fix',
41
- 'code',
42
- 'program',
43
- 'write',
44
- ],
45
- planning: ['plan', 'design', 'roadmap', 'strategy', 'analyze', 'research', 'evaluate', 'compare'],
46
- complex: [
47
- 'full',
48
- 'complete',
49
- 'comprehensive',
50
- 'multi-step',
51
- 'integrate',
52
- 'migration',
53
- 'overhaul',
54
- 'entire',
55
- 'whole',
56
- ],
57
- };
58
- /**
59
- * Check if text matches a set of keywords.
60
- * Returns matched keywords or empty array if none match.
61
- */
62
- function matchKeywords(text, keywords, presets) {
63
- const allKeywords = [...keywords];
64
- // Add preset keywords
65
- if (presets) {
66
- for (const preset of presets) {
67
- const presetWords = KEYWORD_PRESETS[preset];
68
- if (presetWords)
69
- allKeywords.push(...presetWords);
70
- }
71
- }
72
- if (allKeywords.length === 0)
73
- return [];
74
- const lowerText = text.toLowerCase();
75
- const matched = [];
76
- for (const kw of allKeywords) {
77
- if (kw.startsWith('re:')) {
78
- // Regex pattern
79
- try {
80
- const regex = new RegExp(kw.slice(3), 'i');
81
- if (regex.test(text))
82
- matched.push(kw);
83
- }
84
- catch {
85
- // Invalid regex, skip
86
- }
87
- }
88
- else {
89
- // Word boundary match (case-insensitive)
90
- const wordRegex = new RegExp(`\\b${kw.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`, 'i');
91
- if (wordRegex.test(lowerText))
92
- matched.push(kw);
93
- }
94
- }
95
- return matched;
96
- }
97
- /**
98
- * Check if user message matches keyword escalation triggers.
99
- * Returns { escalate: true, tier: number, reason: string } if keywords match.
100
- * Tier indicates which model index to escalate to (highest matching tier wins).
101
- */
102
- function checkKeywordEscalation(text, escalation) {
103
- if (!escalation)
104
- return { escalate: false };
105
- // Tiered keyword escalation
106
- if (escalation.tiers && escalation.tiers.length > 0) {
107
- let highestTier = -1;
108
- let highestReason = '';
109
- // Check each tier, highest matching tier wins
110
- for (let i = 0; i < escalation.tiers.length; i++) {
111
- const tier = escalation.tiers[i];
112
- const matched = matchKeywords(text, tier.keywords || [], tier.keyword_presets);
113
- if (matched.length > 0 && i > highestTier) {
114
- highestTier = i;
115
- highestReason = `tier ${i} keyword match: ${matched.slice(0, 3).join(', ')}${matched.length > 3 ? '...' : ''}`;
116
- }
117
- }
118
- if (highestTier >= 0) {
119
- return { escalate: true, tier: highestTier, reason: highestReason };
120
- }
121
- return { escalate: false };
122
- }
123
- // Legacy flat keywords (treated as tier 0)
124
- const matched = matchKeywords(text, escalation.keywords || [], escalation.keyword_presets);
125
- if (matched.length > 0) {
126
- return {
127
- escalate: true,
128
- tier: 0,
129
- reason: `keyword match: ${matched.slice(0, 3).join(', ')}${matched.length > 3 ? '...' : ''}`,
130
- };
131
- }
132
- return { escalate: false };
133
- }
15
+ import { registerRuntimeCommands, handleModelSelectCallback } from './telegram-commands.js';
16
+ // Escalation helpers shared with Discord bot
17
+ import { detectEscalation, checkKeywordEscalation } from './discord-routing.js';
134
18
  // ---------------------------------------------------------------------------
135
19
  // Streaming message helper
136
20
  // ---------------------------------------------------------------------------
@@ -430,6 +314,7 @@ export async function startTelegramBot(config, botConfig) {
430
314
  bot.command('watchdog', (ctx) => handleWatchdog(cmdCtx(ctx)));
431
315
  bot.command('dir', (ctx) => handleDir(cmdCtx(ctx)));
432
316
  bot.command('pin', (ctx) => handlePin(cmdCtx(ctx)));
317
+ bot.command('unpin', (ctx) => handleUnpin(cmdCtx(ctx)));
433
318
  bot.command('model', (ctx) => handleModel(cmdCtx(ctx)));
434
319
  bot.command('compact', (ctx) => handleCompact(cmdCtx(ctx)));
435
320
  bot.command('approval', (ctx) => handleApproval(cmdCtx(ctx)));
@@ -445,202 +330,18 @@ export async function startTelegramBot(config, botConfig) {
445
330
  bot.command('deescalate', (ctx) => handleDeescalate(cmdCtx(ctx)));
446
331
  bot.command('restart_bot', (ctx) => handleRestartBot(cmdCtx(ctx)));
447
332
  bot.command('git_status', (ctx) => handleGitStatus(cmdCtx(ctx)));
448
- bot.command('hosts', async (ctx) => {
449
- try {
450
- const { loadRuntimes, redactConfig } = await import('../runtime/store.js');
451
- const config = await loadRuntimes();
452
- const redacted = redactConfig(config);
453
- if (!redacted.hosts.length) {
454
- await ctx.reply('No hosts configured. Use `idlehands hosts add` in CLI.');
455
- return;
456
- }
457
- const lines = redacted.hosts.map((h) => `${h.enabled ? '🟢' : '🔴'} *${h.display_name}* (\`${h.id}\`)\n Transport: ${h.transport}`);
458
- await ctx.reply(lines.join('\n\n'), { parse_mode: 'Markdown' });
459
- }
460
- catch (e) {
461
- await ctx.reply(`❌ Failed to load hosts: ${e?.message ?? String(e)}`);
462
- }
463
- });
464
- bot.command('backends', async (ctx) => {
465
- try {
466
- const { loadRuntimes, redactConfig } = await import('../runtime/store.js');
467
- const config = await loadRuntimes();
468
- const redacted = redactConfig(config);
469
- if (!redacted.backends.length) {
470
- await ctx.reply('No backends configured. Use `idlehands backends add` in CLI.');
471
- return;
472
- }
473
- const lines = redacted.backends.map((b) => `${b.enabled ? '🟢' : '🔴'} *${b.display_name}* (\`${b.id}\`)\n Type: ${b.type}`);
474
- await ctx.reply(lines.join('\n\n'), { parse_mode: 'Markdown' });
475
- }
476
- catch (e) {
477
- await ctx.reply(`❌ Failed to load backends: ${e?.message ?? String(e)}`);
478
- }
479
- });
480
- const handleRuntimeModels = async (ctx) => {
481
- try {
482
- const { loadRuntimes } = await import('../runtime/store.js');
483
- const config = await loadRuntimes();
484
- if (!config.models.length) {
485
- await ctx.reply('No runtime models configured.');
486
- return;
487
- }
488
- // Show enabled models with inline buttons for selection
489
- const enabledModels = config.models.filter((m) => m.enabled);
490
- if (!enabledModels.length) {
491
- await ctx.reply('No enabled runtime models. Use `idlehands models enable <id>` in CLI.');
492
- return;
493
- }
494
- // Create inline keyboard with model buttons (max 8 per row, 2 columns)
495
- const buttons = enabledModels.map((m) => [{
496
- text: `🟢 ${m.display_name}`,
497
- callback_data: `model_select:${m.id}`,
498
- }]);
499
- // Split into rows of 2
500
- const keyboard = [];
501
- for (let i = 0; i < buttons.length; i += 2) {
502
- const row = buttons.slice(i, i + 2).flat();
503
- keyboard.push(row);
504
- }
505
- await ctx.reply('📋 *Select a model to switch to:*', {
506
- parse_mode: 'Markdown',
507
- reply_markup: { inline_keyboard: keyboard },
508
- });
509
- }
510
- catch (e) {
511
- await ctx.reply(`❌ Failed to load runtime models: ${e?.message ?? String(e)}`);
512
- }
513
- };
514
- // Preferred name: /models (keep /rtmodels as backward-compatible alias)
515
- bot.command('models', handleRuntimeModels);
516
- bot.command('rtmodels', handleRuntimeModels);
517
- bot.command('rtstatus', async (ctx) => {
518
- try {
519
- const { loadActiveRuntime } = await import('../runtime/executor.js');
520
- const active = await loadActiveRuntime();
521
- if (!active) {
522
- await ctx.reply('No active runtime.');
523
- return;
524
- }
525
- const lines = [
526
- '*Active Runtime*',
527
- `Model: \`${active.modelId}\``,
528
- `Backend: \`${active.backendId ?? 'none'}\``,
529
- `Hosts: ${active.hostIds.map((id) => `\`${id}\``).join(', ') || 'none'}`,
530
- `Healthy: ${active.healthy ? '✅ yes' : '❌ no'}`,
531
- `Endpoint: \`${active.endpoint ?? 'unknown'}\``,
532
- `Started: \`${active.startedAt}\``,
533
- ];
534
- await ctx.reply(lines.join('\n'), { parse_mode: 'Markdown' });
535
- }
536
- catch (e) {
537
- await ctx.reply(`❌ Failed to read runtime status: ${e?.message ?? String(e)}`);
538
- }
539
- });
540
- bot.command('switch', async (ctx) => {
541
- try {
542
- const modelId = ctx.match?.trim();
543
- if (!modelId) {
544
- await ctx.reply('Usage: /switch <model-id>');
545
- return;
546
- }
547
- const { plan } = await import('../runtime/planner.js');
548
- const { execute, loadActiveRuntime } = await import('../runtime/executor.js');
549
- const { loadRuntimes } = await import('../runtime/store.js');
550
- const rtConfig = await loadRuntimes();
551
- const active = await loadActiveRuntime();
552
- const result = plan({ modelId, mode: 'live' }, rtConfig, active);
553
- if (!result.ok) {
554
- await ctx.reply(`❌ Plan failed: ${result.reason}`);
555
- return;
556
- }
557
- if (result.reuse) {
558
- await ctx.reply('✅ Runtime already active and healthy.');
559
- return;
560
- }
561
- const statusMsg = await ctx.reply(`⏳ Switching to *${result.model.display_name}*...`, {
562
- parse_mode: 'Markdown',
563
- });
564
- const execResult = await execute(result, {
565
- onStep: async (step, status) => {
566
- if (status === 'done') {
567
- await ctx.api
568
- .editMessageText(ctx.chat.id, statusMsg.message_id, `⏳ ${step.description}... ✓`)
569
- .catch(() => { });
570
- }
571
- },
572
- confirm: async (prompt) => {
573
- await ctx.reply(`⚠️ ${prompt}\nAuto-approving for bot context.`);
574
- return true;
575
- },
576
- });
577
- if (execResult.ok) {
578
- await ctx.reply(`✅ Switched to *${result.model.display_name}*`, {
579
- parse_mode: 'Markdown',
580
- });
581
- }
582
- else {
583
- await ctx.reply(`❌ Switch failed: ${execResult.error || 'unknown error'}`);
584
- }
585
- }
586
- catch (e) {
587
- await ctx.reply(`❌ Switch failed: ${e?.message ?? String(e)}`);
588
- }
589
- });
333
+ // Runtime command handlers (hosts, backends, models, rtstatus, switch)
334
+ registerRuntimeCommands(bot);
590
335
  // ---------------------------------------------------------------------------
591
336
  // Callback query handler (inline button presses for confirmations + model selection)
592
337
  // ---------------------------------------------------------------------------
593
338
  bot.on('callback_query:data', async (ctx) => {
594
- const data = ctx.callbackQuery.data;
595
339
  const chatId = ctx.chat?.id;
596
340
  if (!chatId)
597
341
  return;
598
- // Handle model selection callback
599
- if (data.startsWith('model_select:')) {
600
- const modelId = data.slice('model_select:'.length);
601
- await ctx.answerCallbackQuery({ text: `Switching to ${modelId}...` }).catch(() => { });
602
- try {
603
- const { plan } = await import('../runtime/planner.js');
604
- const { execute, loadActiveRuntime } = await import('../runtime/executor.js');
605
- const { loadRuntimes } = await import('../runtime/store.js');
606
- const rtConfig = await loadRuntimes();
607
- const active = await loadActiveRuntime();
608
- const result = plan({ modelId, mode: 'live' }, rtConfig, active);
609
- if (!result.ok) {
610
- await ctx.editMessageText(`❌ Plan failed: ${result.reason}`).catch(() => { });
611
- return;
612
- }
613
- if (result.reuse) {
614
- await ctx.editMessageText(`✅ Already using *${result.model.display_name}*`, {
615
- parse_mode: 'Markdown',
616
- }).catch(() => { });
617
- return;
618
- }
619
- const execResult = await execute(result, {
620
- onStep: async (step, status) => {
621
- if (status === 'done') {
622
- await ctx.editMessageText(`⏳ ${step.description}... ✓`).catch(() => { });
623
- }
624
- },
625
- confirm: async (prompt) => {
626
- await ctx.reply(`⚠️ ${prompt}\nAuto-approving for bot context.`);
627
- return true;
628
- },
629
- });
630
- if (execResult.ok) {
631
- await ctx.editMessageText(`✅ Switched to *${result.model.display_name}*`, {
632
- parse_mode: 'Markdown',
633
- }).catch(() => { });
634
- }
635
- else {
636
- await ctx.editMessageText(`❌ Switch failed: ${execResult.error || 'unknown error'}`).catch(() => { });
637
- }
638
- }
639
- catch (e) {
640
- await ctx.editMessageText(`❌ Switch failed: ${e?.message ?? String(e)}`).catch(() => { });
641
- }
342
+ // Handle model selection callback (delegated to telegram-commands)
343
+ if (await handleModelSelectCallback(ctx))
642
344
  return;
643
- }
644
345
  // Handle confirmation callbacks
645
346
  const managed = sessions.get(chatId);
646
347
  if (!managed?.confirmProvider) {
@@ -648,7 +349,7 @@ export async function startTelegramBot(config, botConfig) {
648
349
  return;
649
350
  }
650
351
  const provider = managed.confirmProvider;
651
- const handled = await provider.handleCallback(data);
352
+ const handled = await provider.handleCallback(ctx.callbackQuery.data);
652
353
  await ctx
653
354
  .answerCallbackQuery(handled ? undefined : { text: 'Unknown action.' })
654
355
  .catch(() => { });
@@ -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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"}
@@ -11,6 +11,7 @@ import { projectDir } from '../../utils.js';
11
11
  import { restTokens } from '../command-utils.js';
12
12
  import { generateInitContext, formatInitSummary, getGitSnapshot, buildReplayChangeEntries, getGitNumstatMap, getGitPorcelainMap, formatChangePrefix, } from '../init.js';
13
13
  import { parseWatchArgs } from '../watch.js';
14
+ import { expandHome } from '../../bot/dir-guard.js';
14
15
  export const projectCommands = [
15
16
  {
16
17
  name: '/init',
@@ -296,5 +297,56 @@ export const projectCommands = [
296
297
  return true;
297
298
  },
298
299
  },
300
+ {
301
+ name: '/dir',
302
+ description: 'Get/set working directory',
303
+ async execute(ctx, args) {
304
+ if (!args) {
305
+ console.log(`Working directory: ${ctx.S.dim(ctx.config.dir || '(not set)')}`);
306
+ return true;
307
+ }
308
+ const resolvedDir = path.resolve(expandHome(args));
309
+ console.log(`Working directory set to: ${resolvedDir}`);
310
+ // Note: The actual config update happens in the CLI, this is just for display
311
+ return true;
312
+ },
313
+ },
314
+ {
315
+ name: '/pin',
316
+ description: 'Pin current working directory',
317
+ async execute(ctx, args) {
318
+ const targetDir = args?.trim()
319
+ ? path.resolve(expandHome(args.trim()))
320
+ : ctx.config.dir
321
+ ? path.resolve(expandHome(ctx.config.dir))
322
+ : process.cwd();
323
+ try {
324
+ await fs.access(targetDir);
325
+ }
326
+ catch {
327
+ console.log(`❌ Directory does not exist: ${targetDir}`);
328
+ return true;
329
+ }
330
+ ctx.config.dir = targetDir;
331
+ ctx.config.dir_pinned = true;
332
+ console.log(`✅ Working directory pinned to ${targetDir}`);
333
+ return true;
334
+ },
335
+ },
336
+ {
337
+ name: '/unpin',
338
+ description: 'Unpin working directory',
339
+ async execute(ctx) {
340
+ if (!ctx.config.dir_pinned) {
341
+ console.log('Directory is not pinned.');
342
+ return true;
343
+ }
344
+ const previousDir = ctx.config.dir || '(none)';
345
+ ctx.config.dir_pinned = false;
346
+ ctx.config.dir = undefined;
347
+ console.log(`✅ Directory unpinned (was: ${previousDir}). Working directory reset to default.`);
348
+ return true;
349
+ },
350
+ },
299
351
  ];
300
352
  //# sourceMappingURL=project.js.map