@visorcraft/idlehands 1.4.5 → 2.0.0

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 (171) hide show
  1. package/dist/agent/constants.js +12 -0
  2. package/dist/agent/constants.js.map +1 -0
  3. package/dist/agent/errors.js +8 -0
  4. package/dist/agent/errors.js.map +1 -0
  5. package/dist/agent/exec-helpers.js +105 -0
  6. package/dist/agent/exec-helpers.js.map +1 -0
  7. package/dist/agent/model-pick.js +21 -0
  8. package/dist/agent/model-pick.js.map +1 -0
  9. package/dist/agent/session-utils.js +63 -0
  10. package/dist/agent/session-utils.js.map +1 -0
  11. package/dist/agent/subagent-context.js +78 -0
  12. package/dist/agent/subagent-context.js.map +1 -0
  13. package/dist/agent/tool-loop-guard.js.map +1 -1
  14. package/dist/agent/tool-policy.js +54 -0
  15. package/dist/agent/tool-policy.js.map +1 -0
  16. package/dist/agent/tools-schema.js +281 -0
  17. package/dist/agent/tools-schema.js.map +1 -0
  18. package/dist/agent.js +136 -630
  19. package/dist/agent.js.map +1 -1
  20. package/dist/anton/controller.js +42 -139
  21. package/dist/anton/controller.js.map +1 -1
  22. package/dist/anton/lint-baseline.js +64 -0
  23. package/dist/anton/lint-baseline.js.map +1 -0
  24. package/dist/anton/preflight.js.map +1 -1
  25. package/dist/anton/prompt.js +71 -71
  26. package/dist/anton/reporter.js.map +1 -1
  27. package/dist/anton/runtime-ready.js +120 -0
  28. package/dist/anton/runtime-ready.js.map +1 -0
  29. package/dist/anton/session.js +8 -6
  30. package/dist/anton/session.js.map +1 -1
  31. package/dist/anton/verifier-utils.js +148 -0
  32. package/dist/anton/verifier-utils.js.map +1 -0
  33. package/dist/anton/verifier.js +26 -227
  34. package/dist/anton/verifier.js.map +1 -1
  35. package/dist/bot/anton-auto-pin.js +12 -0
  36. package/dist/bot/anton-auto-pin.js.map +1 -0
  37. package/dist/bot/anton-commands.js +137 -0
  38. package/dist/bot/anton-commands.js.map +1 -0
  39. package/dist/bot/anton-run.js +144 -0
  40. package/dist/bot/anton-run.js.map +1 -0
  41. package/dist/bot/anton-status-format.js +18 -0
  42. package/dist/bot/anton-status-format.js.map +1 -0
  43. package/dist/bot/basic-commands.js +114 -0
  44. package/dist/bot/basic-commands.js.map +1 -0
  45. package/dist/bot/command-format.js.map +1 -1
  46. package/dist/bot/command-logic.js +8 -728
  47. package/dist/bot/command-logic.js.map +1 -1
  48. package/dist/bot/commands.js +18 -1
  49. package/dist/bot/commands.js.map +1 -1
  50. package/dist/bot/discord-anton-autopin.js +29 -0
  51. package/dist/bot/discord-anton-autopin.js.map +1 -0
  52. package/dist/bot/discord-anton.js +45 -0
  53. package/dist/bot/discord-anton.js.map +1 -0
  54. package/dist/bot/discord-commands.js +20 -52
  55. package/dist/bot/discord-commands.js.map +1 -1
  56. package/dist/bot/discord-result.js +9 -0
  57. package/dist/bot/discord-result.js.map +1 -0
  58. package/dist/bot/discord-routing.js.map +1 -1
  59. package/dist/bot/discord.js +42 -12
  60. package/dist/bot/discord.js.map +1 -1
  61. package/dist/bot/escalation-commands.js +145 -0
  62. package/dist/bot/escalation-commands.js.map +1 -0
  63. package/dist/bot/escalation.js.map +1 -1
  64. package/dist/bot/git-status-command.js +28 -0
  65. package/dist/bot/git-status-command.js.map +1 -0
  66. package/dist/bot/model-endpoint.js +25 -0
  67. package/dist/bot/model-endpoint.js.map +1 -0
  68. package/dist/bot/session-history.js +61 -0
  69. package/dist/bot/session-history.js.map +1 -0
  70. package/dist/bot/session-settings.js +89 -0
  71. package/dist/bot/session-settings.js.map +1 -0
  72. package/dist/bot/telegram-commands.js +15 -7
  73. package/dist/bot/telegram-commands.js.map +1 -1
  74. package/dist/bot/telegram.js +13 -28
  75. package/dist/bot/telegram.js.map +1 -1
  76. package/dist/cli/agent-turn.js +8 -2
  77. package/dist/cli/agent-turn.js.map +1 -1
  78. package/dist/cli/commands/anton.js +8 -3
  79. package/dist/cli/commands/anton.js.map +1 -1
  80. package/dist/cli/commands/model.js +1 -3
  81. package/dist/cli/commands/model.js.map +1 -1
  82. package/dist/cli/commands/project.js +1 -1
  83. package/dist/cli/commands/project.js.map +1 -1
  84. package/dist/cli/commands/secrets.js +1 -1
  85. package/dist/cli/commands/secrets.js.map +1 -1
  86. package/dist/cli/commands/session.js +22 -12
  87. package/dist/cli/commands/session.js.map +1 -1
  88. package/dist/cli/guided-onboarding.js +20 -0
  89. package/dist/cli/guided-onboarding.js.map +1 -0
  90. package/dist/cli/runtime-cmds.js +8 -133
  91. package/dist/cli/runtime-cmds.js.map +1 -1
  92. package/dist/cli/runtime-common.js +35 -0
  93. package/dist/cli/runtime-common.js.map +1 -0
  94. package/dist/cli/runtime-detect.js +12 -0
  95. package/dist/cli/runtime-detect.js.map +1 -0
  96. package/dist/cli/runtime-host-command.js +7 -0
  97. package/dist/cli/runtime-host-command.js.map +1 -0
  98. package/dist/cli/runtime-probe-defaults.js +63 -0
  99. package/dist/cli/runtime-probe-defaults.js.map +1 -0
  100. package/dist/cli/runtime-scan-ports.js +30 -0
  101. package/dist/cli/runtime-scan-ports.js.map +1 -0
  102. package/dist/cli/setup-bot-step.js +51 -0
  103. package/dist/cli/setup-bot-step.js.map +1 -0
  104. package/dist/cli/setup-runtime-forms.js +214 -0
  105. package/dist/cli/setup-runtime-forms.js.map +1 -0
  106. package/dist/cli/setup-style.js +8 -0
  107. package/dist/cli/setup-style.js.map +1 -0
  108. package/dist/cli/setup-ui.js +146 -0
  109. package/dist/cli/setup-ui.js.map +1 -0
  110. package/dist/cli/setup.js +11 -449
  111. package/dist/cli/setup.js.map +1 -1
  112. package/dist/client/error-utils.js +37 -0
  113. package/dist/client/error-utils.js.map +1 -0
  114. package/dist/client/pressure.js +77 -0
  115. package/dist/client/pressure.js.map +1 -0
  116. package/dist/client.js +24 -122
  117. package/dist/client.js.map +1 -1
  118. package/dist/config.js +34 -17
  119. package/dist/config.js.map +1 -1
  120. package/dist/git.js +8 -2
  121. package/dist/git.js.map +1 -1
  122. package/dist/hooks/types.js.map +1 -1
  123. package/dist/index.js.map +1 -1
  124. package/dist/progress/message-edit-scheduler.js.map +1 -1
  125. package/dist/progress/turn-progress.js.map +1 -1
  126. package/dist/runtime/executor.js +4 -1
  127. package/dist/runtime/executor.js.map +1 -1
  128. package/dist/runtime/health.js.map +1 -1
  129. package/dist/runtime/host-runner.js.map +1 -1
  130. package/dist/safety.js +3 -2
  131. package/dist/safety.js.map +1 -1
  132. package/dist/shared/config-utils.js.map +1 -1
  133. package/dist/tools/exec-core.js +252 -0
  134. package/dist/tools/exec-core.js.map +1 -0
  135. package/dist/tools/exec-pty.js +89 -0
  136. package/dist/tools/exec-pty.js.map +1 -0
  137. package/dist/tools/exec-utils.js +94 -0
  138. package/dist/tools/exec-utils.js.map +1 -0
  139. package/dist/tools/file-discovery.js +144 -0
  140. package/dist/tools/file-discovery.js.map +1 -0
  141. package/dist/tools/file-mutations.js +326 -0
  142. package/dist/tools/file-mutations.js.map +1 -0
  143. package/dist/tools/file-read.js +133 -0
  144. package/dist/tools/file-read.js.map +1 -0
  145. package/dist/tools/patch-apply.js +168 -0
  146. package/dist/tools/patch-apply.js.map +1 -0
  147. package/dist/tools/path-safety.js.map +1 -1
  148. package/dist/tools/replay-utils.js +25 -0
  149. package/dist/tools/replay-utils.js.map +1 -0
  150. package/dist/tools/search-utils.js +55 -0
  151. package/dist/tools/search-utils.js.map +1 -0
  152. package/dist/tools/sys-notes.js +34 -0
  153. package/dist/tools/sys-notes.js.map +1 -0
  154. package/dist/tools/text-utils.js +164 -0
  155. package/dist/tools/text-utils.js.map +1 -0
  156. package/dist/tools/undo.js +1 -1
  157. package/dist/tools/undo.js.map +1 -1
  158. package/dist/tools/vault-tools.js +36 -0
  159. package/dist/tools/vault-tools.js.map +1 -0
  160. package/dist/tools.js +19 -1460
  161. package/dist/tools.js.map +1 -1
  162. package/dist/tui/controller.js +5 -2
  163. package/dist/tui/controller.js.map +1 -1
  164. package/dist/tui/render.js.map +1 -1
  165. package/dist/utils.js +2 -2
  166. package/dist/utils.js.map +1 -1
  167. package/dist/vault.js +1 -1
  168. package/dist/vault.js.map +1 -1
  169. package/dist/watchdog.js +1 -3
  170. package/dist/watchdog.js.map +1 -1
  171. package/package.json +2 -1
@@ -11,6 +11,9 @@ import { readFileSync, existsSync } from 'node:fs';
11
11
  import { join, extname } from 'node:path';
12
12
  import { getChangedFiles } from '../git.js';
13
13
  import { runCommand } from '../runtime/executor.js';
14
+ import { countLintErrors, filterLintErrorLines } from './lint-baseline.js';
15
+ export { captureLintBaseline } from './lint-baseline.js';
16
+ import { checkTaskScopeGuard, isCommandAvailable, makeTargetExists, truncateOutput, combineOutput, parseVerifierResponse, } from './verifier-utils.js';
14
17
  /**
15
18
  * Detect verification commands based on project files and overrides.
16
19
  * Priority: overrides → package.json → Cargo.toml → Makefile → Python configs
@@ -265,9 +268,22 @@ or
265
268
  // ── Pre-verify autofix ──────────────────────────────────────────
266
269
  /** File extensions eligible for autoformat/autofix. */
267
270
  const AUTOFIX_EXTENSIONS = new Set([
268
- '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
269
- '.css', '.scss', '.less', '.json', '.md', '.yaml', '.yml',
270
- '.vue', '.svelte', '.html',
271
+ '.ts',
272
+ '.tsx',
273
+ '.js',
274
+ '.jsx',
275
+ '.mjs',
276
+ '.cjs',
277
+ '.css',
278
+ '.scss',
279
+ '.less',
280
+ '.json',
281
+ '.md',
282
+ '.yaml',
283
+ '.yml',
284
+ '.vue',
285
+ '.svelte',
286
+ '.html',
271
287
  ]);
272
288
  /**
273
289
  * Attempt to auto-fix lint/format issues on files changed in the current attempt.
@@ -306,7 +322,12 @@ export async function tryAutofixChangedFiles(projectDir) {
306
322
  // Try prettier --write (only if prettier is available)
307
323
  if (isCommandAvailable('npx')) {
308
324
  try {
309
- const prettierRes = spawnSync('npx', ['prettier', '--write', '--ignore-unknown', ...batch], { cwd: projectDir, timeout: 60_000, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
325
+ const prettierRes = spawnSync('npx', ['prettier', '--write', '--ignore-unknown', ...batch], {
326
+ cwd: projectDir,
327
+ timeout: 60_000,
328
+ encoding: 'utf8',
329
+ stdio: ['ignore', 'pipe', 'pipe'],
330
+ });
310
331
  if (prettierRes.status === 0) {
311
332
  ran = true;
312
333
  console.error(`[anton:autofix] prettier --write ran on ${batch.length} files`);
@@ -318,227 +339,5 @@ export async function tryAutofixChangedFiles(projectDir) {
318
339
  }
319
340
  return ran;
320
341
  }
321
- /**
322
- * If task text explicitly names files (e.g. "create src/foo.ts"), enforce that
323
- * working tree changes stay within that set. This prevents task scope bleed.
324
- */
325
- function checkTaskScopeGuard(taskText, projectDir) {
326
- const expected = extractExplicitTaskFiles(taskText);
327
- if (expected.length === 0)
328
- return { ok: true };
329
- const changed = getChangedFiles(projectDir)
330
- .map((p) => p.replace(/^\.\//, ''))
331
- .filter(Boolean);
332
- if (changed.length === 0)
333
- return { ok: true };
334
- const expectedSet = new Set(expected);
335
- const outOfScope = changed.filter((f) => !expectedSet.has(f));
336
- if (outOfScope.length === 0)
337
- return { ok: true };
338
- return {
339
- ok: false,
340
- reason: `Scope guard failed: task explicitly targets ${expected.join(', ')} but modified out-of-scope files`,
341
- details: `Expected: ${expected.join(', ')}\nChanged: ${changed.join(', ')}\nOut-of-scope: ${outOfScope.join(', ')}`,
342
- };
343
- }
344
- function extractExplicitTaskFiles(taskText) {
345
- const text = String(taskText || '');
346
- const files = new Set();
347
- // Common explicit path pattern (supports nested dirs and dots/dashes/underscores)
348
- const pathRegex = /\b([A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+\.[A-Za-z0-9]{1,8})\b/g;
349
- for (const m of text.matchAll(pathRegex)) {
350
- files.add(m[1].replace(/^\.\//, ''));
351
- }
352
- // Bare filename pattern (e.g. "agent.ts")
353
- const bareRegex = /\b([A-Za-z0-9._-]+\.[A-Za-z0-9]{1,8})\b/g;
354
- for (const m of text.matchAll(bareRegex)) {
355
- const file = m[1];
356
- if (!file.includes('/'))
357
- files.add(file);
358
- }
359
- return [...files];
360
- }
361
- function isCommandAvailable(...cmd) {
362
- const command = cmd.length === 1 ? cmd[0] : cmd.join(' ');
363
- const result = spawnSync('which', [cmd[0]], {
364
- timeout: 5000,
365
- encoding: 'utf8',
366
- stdio: ['ignore', 'pipe', 'ignore'],
367
- });
368
- if (result.status !== 0)
369
- return false;
370
- // For compound commands like 'cargo clippy', test the full command
371
- if (cmd.length > 1) {
372
- const testResult = spawnSync('bash', ['-c', `${command} --help >/dev/null 2>&1`], {
373
- timeout: 5000,
374
- });
375
- return testResult.status === 0;
376
- }
377
- return true;
378
- }
379
- function makeTargetExists(cwd, target) {
380
- try {
381
- const result = spawnSync('make', ['-n', target], {
382
- cwd,
383
- timeout: 5000,
384
- stdio: ['ignore', 'ignore', 'pipe'],
385
- });
386
- // make -n returns 0 if target exists and is valid
387
- return result.status === 0;
388
- }
389
- catch {
390
- return false;
391
- }
392
- }
393
- function truncateOutput(text, maxLen = 2000) {
394
- const cleaned = text.trim();
395
- return cleaned.length > maxLen ? `${cleaned.slice(0, maxLen)}...` : cleaned;
396
- }
397
- /** Combine stdout and stderr into a single labeled output block. */
398
- function combineOutput(label, stdout, stderr) {
399
- const parts = [`=== ${label} ===`];
400
- const out = stdout.trim();
401
- const err = stderr.trim();
402
- if (out)
403
- parts.push(`stdout:\n${out}`);
404
- if (err)
405
- parts.push(`stderr:\n${err}`);
406
- if (!out && !err)
407
- parts.push('(no output)');
408
- return parts.join('\n');
409
- }
410
- /**
411
- * Parse L2 verifier response with fault tolerance.
412
- * Tries JSON first, then extracts JSON from markdown fences,
413
- * then falls back to keyword inference from prose.
414
- */
415
- function parseVerifierResponse(raw) {
416
- const text = raw.trim();
417
- // 1. Try direct JSON parse
418
- try {
419
- const parsed = JSON.parse(text);
420
- if (typeof parsed.pass === 'boolean') {
421
- return { pass: parsed.pass, reason: parsed.reason || 'No reason provided' };
422
- }
423
- }
424
- catch { /* not valid JSON, continue */ }
425
- // 2. Try extracting JSON from markdown code fences or inline braces
426
- const jsonMatch = text.match(/```(?:json)?\s*\n?([\s\S]*?)\n?```/) || text.match(/(\{[\s\S]*?"pass"[\s\S]*?\})/);
427
- if (jsonMatch) {
428
- try {
429
- const parsed = JSON.parse(jsonMatch[1].trim());
430
- if (typeof parsed.pass === 'boolean') {
431
- return { pass: parsed.pass, reason: parsed.reason || 'No reason provided' };
432
- }
433
- }
434
- catch { /* still not valid, continue */ }
435
- }
436
- // 3. Keyword inference from prose
437
- const lower = text.toLowerCase();
438
- const passPatterns = [
439
- /\bpass\b/, /\bapproved?\b/, /\blooks?\s+good\b/, /\bcorrect(ly)?\b/,
440
- /\bwell[- ]implemented\b/, /\bno\s+(issues?|problems?|concerns?)\b/,
441
- /\bcode\s+(is\s+)?clean\b/, /\btask\s+(is\s+)?(complete|done)\b/,
442
- ];
443
- const failPatterns = [
444
- /\bfail\b/, /\breject(ed)?\b/, /\bnot\s+(correct|approved?)\b/,
445
- /\bissues?\s+found\b/, /\bproblems?\s+found\b/, /\bbug(s)?\b/,
446
- /\bmissing\b/, /\bincorrect\b/, /\bbroken\b/,
447
- ];
448
- const passScore = passPatterns.filter(p => p.test(lower)).length;
449
- const failScore = failPatterns.filter(p => p.test(lower)).length;
450
- if (passScore > 0 && passScore > failScore) {
451
- const snippet = text.length > 200 ? text.slice(0, 200) + '...' : text;
452
- return { pass: true, reason: `(inferred from prose) ${snippet}` };
453
- }
454
- if (failScore > 0) {
455
- const snippet = text.length > 200 ? text.slice(0, 200) + '...' : text;
456
- return { pass: false, reason: `(inferred from prose) ${snippet}` };
457
- }
458
- // 4. Ambiguous — default to pass since L1 already validated build/test
459
- const snippet = text.length > 200 ? text.slice(0, 200) + '...' : text;
460
- return { pass: true, reason: `(ambiguous response, defaulting to pass) ${snippet}` };
461
- }
462
- // ── Lint output filtering ───────────────────────────────────────────
463
- /**
464
- * Filter lint output to only include error-level lines (not warnings).
465
- * Keeps file path headers for context. Returns empty string if no errors found.
466
- */
467
- export function filterLintErrorLines(output) {
468
- const lines = output.split('\n');
469
- const result = [];
470
- let lastFilePath = '';
471
- for (const line of lines) {
472
- // File path line (eslint): "/path/to/file.ts"
473
- if (/^\/.*\.\w+$/.test(line.trim()) || /^[A-Z]:\\/.test(line.trim())) {
474
- lastFilePath = line;
475
- continue;
476
- }
477
- // Error line: " 1:1 error ..."
478
- if (/\d+:\d+\s+error\s/.test(line) || /\berror\s+TS\d+/.test(line) || /\berror\[E\d+\]/.test(line)) {
479
- if (lastFilePath && (result.length === 0 || result[result.length - 1] !== lastFilePath)) {
480
- result.push(lastFilePath);
481
- }
482
- result.push(line);
483
- }
484
- // Summary line: "✖ N problems (N errors, N warnings)"
485
- if (/^\u2716\s+\d+\s+problem/.test(line) || /^\d+\s+error/.test(line)) {
486
- result.push(line);
487
- }
488
- }
489
- return result.join('\n');
490
- }
491
- // ── Lint baseline helpers ───────────────────────────────────────────
492
- /**
493
- * Count the number of "error" lines in lint output.
494
- * Works for eslint, tsc, ruff, clippy — all emit lines containing "error".
495
- */
496
- export function countLintErrors(output) {
497
- // Match lines like:
498
- // 1:1 error `./types.js` ... (eslint)
499
- // error TS2322: ... (tsc)
500
- // src/foo.rs:1:1: error[E0308]: ... (clippy)
501
- // src/foo.py:1:1: E302 ... (ruff — codes starting with E/W/F)
502
- const lines = output.split('\n');
503
- let count = 0;
504
- for (const line of lines) {
505
- // eslint: " 1:1 error ..."
506
- if (/\d+:\d+\s+error\s/.test(line)) {
507
- count++;
508
- continue;
509
- }
510
- // tsc: "error TS..." or "file.ts(1,1): error TS..."
511
- if (/\berror\s+TS\d+/.test(line)) {
512
- count++;
513
- continue;
514
- }
515
- // clippy/rustc: "error[E"
516
- if (/\berror\[E\d+\]/.test(line)) {
517
- count++;
518
- continue;
519
- }
520
- }
521
- return count;
522
- }
523
- /**
524
- * Capture baseline lint error count before Anton starts modifying files.
525
- * Returns the count, or undefined if lint is not configured or passes cleanly.
526
- */
527
- export async function captureLintBaseline(lintCommand, projectDir) {
528
- if (!lintCommand)
529
- return undefined;
530
- try {
531
- const result = await runCommand(lintCommand, 180_000, projectDir);
532
- if (result.exitCode === 0)
533
- return 0; // clean baseline
534
- const count = countLintErrors(result.stdout + '\n' + result.stderr);
535
- if (count > 0) {
536
- console.error(`[anton:baseline] pre-existing lint errors: ${count}`);
537
- }
538
- return count;
539
- }
540
- catch {
541
- return undefined;
542
- }
543
- }
342
+ // Helper functions
544
343
  //# sourceMappingURL=verifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/anton/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/anton/verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAkB7B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAW,EACX,SAAoC;IAEpC,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;KACrB,CAAC;IAEF,yCAAyC;IACzC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAElC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC;YACjC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC9C,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,UAAU,KAAK,2CAA2C,EAAE,CAAC;oBAC/D,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IAED,yCAAyC;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAgB;IACpD,MAAM,MAAM,GAA4B;QACtC,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,SAAS;KACzB,CAAC;IAEF,oCAAoC;IACpC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,0BAA0B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6EAA6E;IAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;QACnC,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpF,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAChF,cAAc,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/D,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,MAAM,GAAG,KAAK,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAClF,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC7E,cAAc,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9D,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,GAAG,KAAK,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,eAAe,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAChF,sFAAsF;YACtF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;oBAC9E,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACrD,sEAAsE;gBACtE,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpF,IAAI,aAAa,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBACjD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,OAAO,CAAC,KAAK,CACX,0CAA0C,aAAa,kBAAkB,IAAI,CAAC,sBAAsB,YAAY,CACjH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,MAAM,GAAG,KAAK,CAAC;oBACf,sEAAsE;oBACtE,iEAAiE;oBACjE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;oBAChE,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC3E,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBAC7D,cAAc,CAAC,IAAI,CACjB,SAAS,QAAQ,aAAa,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAC7F,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC7E,cAAc,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9D,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,GAAG,KAAK,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,eAAe,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzE,IAAI,OAAO,GACT,IAAI,CAAC;QACP,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,0CAA0C,IAAI,CAAC,IAAI,CAAC,IAAI;;;;EAI3E,IAAI,CAAC,IAAI;;;;;;iCAMsB,CAAC;YAE5B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,SAAS,GAAG,2BAA2B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,sBAAsB;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,yCAAyC;IAC/E,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,IAAI,OAAO,CAAC;IAEzD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,OAAO,GAAG,mBAAmB,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mEAAmE;AAEnE,uDAAuD;AACvD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,UAAkB;IAC7D,IAAI,YAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,0CAA0C;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,KAAK,CAAC;IAEhB,iDAAiD;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,SAAS,CACzB,KAAK,EACL,CAAC,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE,GAAG,OAAO,CAAC,EAClE,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAC1F,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,yEAAyE;gBACzE,GAAG,GAAG,IAAI,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,EAAE;gBAC1F,GAAG,EAAE,UAAU;gBACf,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,GAAG,GAAG,IAAI,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mBAAmB"}
@@ -0,0 +1,12 @@
1
+ import { firstToken } from '../cli/command-utils.js';
2
+ const NON_START_SUBCOMMANDS = new Set(['status', 'stop', 'last', 'help']);
3
+ /** True when `/anton ...` args represent a run start (not status/stop/last/help). */
4
+ export function isAntonRunStartArgs(args) {
5
+ const sub = firstToken((args || '').trim());
6
+ return !!sub && !NON_START_SUBCOMMANDS.has(sub);
7
+ }
8
+ /** Gate for automatic pinning before Anton start. */
9
+ export function shouldAutoPinBeforeAntonStart(opts) {
10
+ return opts.autoPinEnabled && !opts.dirPinned && isAntonRunStartArgs(opts.args);
11
+ }
12
+ //# sourceMappingURL=anton-auto-pin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anton-auto-pin.js","sourceRoot":"","sources":["../../src/bot/anton-auto-pin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1E,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC"}
@@ -0,0 +1,137 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { runAnton } from '../anton/controller.js';
4
+ import { parseTaskFile } from '../anton/parser.js';
5
+ import { formatRunSummary, formatProgressBar } from '../anton/reporter.js';
6
+ import { firstToken } from '../cli/command-utils.js';
7
+ import { buildAntonRunConfig, makeAntonProgress } from './anton-run.js';
8
+ import { summarizeLoopEvent } from './anton-status-format.js';
9
+ export function antonStatusCommand(managed) {
10
+ if (!managed.antonActive)
11
+ return { lines: ['No Anton run in progress.'] };
12
+ if (managed.antonAbortSignal?.aborted) {
13
+ return { lines: ['🛑 Anton is stopping. Please wait for the current attempt to unwind.'] };
14
+ }
15
+ if (managed.antonProgress) {
16
+ const line1 = formatProgressBar(managed.antonProgress);
17
+ const lines = [line1];
18
+ if (managed.antonProgress.currentTask) {
19
+ lines.push('', `Working on: ${managed.antonProgress.currentTask} (Attempt ${managed.antonProgress.currentAttempt})`);
20
+ }
21
+ if (managed.antonLastLoopEvent) {
22
+ lines.push('', summarizeLoopEvent(managed.antonLastLoopEvent));
23
+ }
24
+ return { lines };
25
+ }
26
+ if (managed.antonLastLoopEvent) {
27
+ return {
28
+ lines: [
29
+ '🤖 Anton is running (no progress data yet).',
30
+ '',
31
+ summarizeLoopEvent(managed.antonLastLoopEvent),
32
+ ],
33
+ };
34
+ }
35
+ return { lines: ['🤖 Anton is running (no progress data yet).'] };
36
+ }
37
+ export function antonStopCommand(managed) {
38
+ if (!managed.antonActive || !managed.antonAbortSignal) {
39
+ return { lines: ['No Anton run in progress.'] };
40
+ }
41
+ managed.lastActivity = Date.now();
42
+ managed.antonAbortSignal.aborted = true;
43
+ return { success: '🛑 Anton stop requested. Run will halt after the current task.' };
44
+ }
45
+ export function antonLastCommand(managed) {
46
+ if (!managed.antonLastResult)
47
+ return { lines: ['No previous Anton run.'] };
48
+ return { lines: [formatRunSummary(managed.antonLastResult)] };
49
+ }
50
+ export function antonHelpCommand() {
51
+ return {
52
+ title: '/anton — Autonomous task runner',
53
+ lines: [
54
+ '/anton <file> — Start run',
55
+ '/anton status — Show progress',
56
+ '/anton stop — Stop running',
57
+ '/anton last — Last run results',
58
+ ],
59
+ };
60
+ }
61
+ /**
62
+ * Prepare and start an Anton run. Returns a CmdResult for the initial message,
63
+ * or an error CmdResult. The run itself proceeds asynchronously.
64
+ */
65
+ export async function antonStartCommand(managed, args, send, rateLimitMs) {
66
+ const sub = firstToken(args);
67
+ const filePart = sub === 'run' ? args.replace(/^\S+\s*/, '').trim() : args;
68
+ if (!filePart)
69
+ return antonHelpCommand();
70
+ if (managed.antonActive) {
71
+ const staleMs = Date.now() - managed.lastActivity;
72
+ if (staleMs > 120_000) {
73
+ managed.antonActive = false;
74
+ managed.antonAbortSignal = null;
75
+ managed.antonProgress = null;
76
+ managed.antonLastLoopEvent = null;
77
+ send('♻️ Recovered stale Anton run state. Starting a fresh run...');
78
+ }
79
+ else {
80
+ const msg = managed.antonAbortSignal?.aborted
81
+ ? '🛑 Anton is still stopping. Please wait a moment, then try again.'
82
+ : '⚠️ Anton is already running. Use /anton stop first.';
83
+ return { error: msg };
84
+ }
85
+ }
86
+ const cwd = managed.workingDir || managed.config.dir || process.cwd();
87
+ const filePath = path.resolve(cwd, filePart);
88
+ try {
89
+ await fs.stat(filePath);
90
+ }
91
+ catch {
92
+ return { error: `File not found: ${filePath}` };
93
+ }
94
+ const defaults = managed.config.anton || {};
95
+ const runConfig = buildAntonRunConfig(defaults, cwd, filePath);
96
+ const abortSignal = { aborted: false };
97
+ managed.antonActive = true;
98
+ managed.antonAbortSignal = abortSignal;
99
+ managed.antonProgress = null;
100
+ managed.antonLastLoopEvent = null;
101
+ const progress = makeAntonProgress(managed, defaults, send, rateLimitMs);
102
+ let pendingCount = 0;
103
+ try {
104
+ const tf = await parseTaskFile(filePath);
105
+ pendingCount = tf.pending.length;
106
+ }
107
+ catch {
108
+ /* non-fatal */
109
+ }
110
+ runAnton({
111
+ config: runConfig,
112
+ idlehandsConfig: managed.config,
113
+ progress,
114
+ abortSignal,
115
+ vault: managed.session.vault,
116
+ lens: managed.session.lens,
117
+ }).catch((err) => {
118
+ managed.lastActivity = Date.now();
119
+ managed.antonActive = false;
120
+ managed.antonAbortSignal = null;
121
+ managed.antonProgress = null;
122
+ send(`Anton error: ${err.message}`);
123
+ });
124
+ return { success: `🤖 Anton started on ${filePart} (${pendingCount} tasks pending)` };
125
+ }
126
+ /** Route an /anton command to the appropriate handler. */
127
+ export async function antonCommand(managed, args, send, rateLimitMs) {
128
+ const sub = firstToken(args);
129
+ if (!sub || sub === 'status')
130
+ return antonStatusCommand(managed);
131
+ if (sub === 'stop')
132
+ return antonStopCommand(managed);
133
+ if (sub === 'last')
134
+ return antonLastCommand(managed);
135
+ return antonStartCommand(managed, args, send, rateLimitMs);
136
+ }
137
+ //# sourceMappingURL=anton-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anton-commands.js","sourceRoot":"","sources":["../../src/bot/anton-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { formatRunSummary, formatTaskStart, formatTaskEnd, formatTaskSkip, formatTaskHeartbeat, formatToolLoopEvent, formatCompactionEvent, formatVerificationDetail, } from '../anton/reporter.js';
2
+ export function buildAntonRunConfig(defaults, cwd, filePath) {
3
+ return {
4
+ taskFile: filePath,
5
+ preflightEnabled: defaults.preflight?.enabled ?? false,
6
+ preflightRequirementsReview: defaults.preflight?.requirements_review ?? true,
7
+ preflightDiscoveryTimeoutSec: defaults.preflight?.discovery_timeout_sec ?? defaults.task_timeout_sec ?? 600,
8
+ preflightReviewTimeoutSec: defaults.preflight?.review_timeout_sec ?? defaults.task_timeout_sec ?? 600,
9
+ preflightMaxRetries: defaults.preflight?.max_retries ?? 2,
10
+ preflightSessionMaxIterations: defaults.preflight?.session_max_iterations ?? 500,
11
+ preflightSessionTimeoutSec: defaults.preflight?.session_timeout_sec ?? defaults.task_timeout_sec ?? 600,
12
+ projectDir: defaults.project_dir || cwd,
13
+ maxRetriesPerTask: defaults.max_retries ?? 3,
14
+ maxIterations: defaults.max_iterations ?? 200,
15
+ taskMaxIterations: defaults.task_max_iterations ?? 50,
16
+ taskTimeoutSec: defaults.task_timeout_sec ?? 600,
17
+ totalTimeoutSec: defaults.total_timeout_sec ?? 7200,
18
+ maxTotalTokens: defaults.max_total_tokens ?? Infinity,
19
+ maxPromptTokensPerAttempt: defaults.max_prompt_tokens_per_attempt ?? 999_999_999,
20
+ autoCommit: defaults.auto_commit ?? true,
21
+ branch: false,
22
+ allowDirty: false,
23
+ aggressiveCleanOnFail: false,
24
+ verifyAi: defaults.verify_ai ?? true,
25
+ verifyModel: undefined,
26
+ decompose: defaults.decompose ?? true,
27
+ maxDecomposeDepth: defaults.max_decompose_depth ?? 2,
28
+ maxTotalTasks: defaults.max_total_tasks ?? 500,
29
+ buildCommand: defaults.build_command ?? undefined,
30
+ testCommand: defaults.test_command ?? undefined,
31
+ lintCommand: defaults.lint_command ?? undefined,
32
+ skipOnFail: defaults.skip_on_fail ?? false,
33
+ skipOnBlocked: defaults.skip_on_blocked ?? true,
34
+ rollbackOnFail: defaults.rollback_on_fail ?? false,
35
+ maxIdenticalFailures: defaults.max_identical_failures ?? 3,
36
+ approvalMode: (defaults.approval_mode ?? 'yolo'),
37
+ verbose: false,
38
+ dryRun: false,
39
+ };
40
+ }
41
+ export function makeAntonProgress(managed, defaults, send, rateLimitMs) {
42
+ const heartbeatSecRaw = Number(defaults.progress_heartbeat_sec ?? 30);
43
+ const heartbeatIntervalMs = Number.isFinite(heartbeatSecRaw)
44
+ ? Math.max(5000, Math.floor(heartbeatSecRaw * 1000))
45
+ : 30_000;
46
+ let lastProgressAt = 0;
47
+ let lastHeartbeatNoticeAt = 0;
48
+ let runStartMs = 0;
49
+ let lastHeartbeatText = '';
50
+ return {
51
+ onTaskStart(task, attempt, prog) {
52
+ const now = Date.now();
53
+ if (!runStartMs)
54
+ runStartMs = now;
55
+ managed.antonProgress = prog;
56
+ managed.lastActivity = now;
57
+ lastProgressAt = now;
58
+ send(formatTaskStart(task, attempt, prog));
59
+ },
60
+ onTaskEnd(task, result, prog) {
61
+ const now = Date.now();
62
+ managed.antonProgress = prog;
63
+ managed.lastActivity = now;
64
+ lastProgressAt = now;
65
+ send(formatTaskEnd(task, result, prog));
66
+ },
67
+ onTaskSkip(task, reason) {
68
+ managed.lastActivity = Date.now();
69
+ send(formatTaskSkip(task, reason));
70
+ },
71
+ onRunComplete(result) {
72
+ managed.lastActivity = Date.now();
73
+ managed.antonLastResult = result;
74
+ managed.antonActive = false;
75
+ managed.antonAbortSignal = null;
76
+ managed.antonProgress = null;
77
+ runStartMs = 0;
78
+ lastHeartbeatText = '';
79
+ send(formatRunSummary(result));
80
+ },
81
+ onHeartbeat() {
82
+ const now = Date.now();
83
+ managed.lastActivity = now;
84
+ if (defaults.progress_events === false)
85
+ return;
86
+ if (!managed.antonProgress?.currentTask)
87
+ return;
88
+ if (now - lastProgressAt < rateLimitMs)
89
+ return;
90
+ if (now - lastHeartbeatNoticeAt < heartbeatIntervalMs)
91
+ return;
92
+ if (!runStartMs)
93
+ runStartMs = now;
94
+ managed.antonProgress = {
95
+ ...managed.antonProgress,
96
+ elapsedMs: now - runStartMs,
97
+ };
98
+ const hb = formatTaskHeartbeat(managed.antonProgress);
99
+ if (hb === lastHeartbeatText)
100
+ return;
101
+ lastHeartbeatNoticeAt = now;
102
+ lastHeartbeatText = hb;
103
+ send(hb);
104
+ },
105
+ onToolLoop(taskText, event) {
106
+ const now = Date.now();
107
+ managed.lastActivity = now;
108
+ const detail = String(event.message ?? '');
109
+ const kind = /final loop failure|retries exhausted/i.test(detail)
110
+ ? 'final-failure'
111
+ : /auto-?recover|auto-?continu/i.test(detail)
112
+ ? 'auto-recovered'
113
+ : 'other';
114
+ managed.antonLastLoopEvent = {
115
+ kind,
116
+ taskText,
117
+ message: detail,
118
+ at: now,
119
+ };
120
+ if (defaults.progress_events !== false) {
121
+ send(formatToolLoopEvent(taskText, event));
122
+ }
123
+ },
124
+ onCompaction(taskText, event) {
125
+ managed.lastActivity = Date.now();
126
+ if (defaults.progress_events !== false && event.droppedMessages >= 5) {
127
+ send(formatCompactionEvent(taskText, event));
128
+ }
129
+ },
130
+ onVerification(taskText, verification) {
131
+ managed.lastActivity = Date.now();
132
+ if (defaults.progress_events !== false) {
133
+ send(formatVerificationDetail(taskText, verification));
134
+ }
135
+ },
136
+ onStage(message) {
137
+ managed.lastActivity = Date.now();
138
+ if (defaults.progress_events !== false) {
139
+ send(message);
140
+ }
141
+ },
142
+ };
143
+ }
144
+ //# sourceMappingURL=anton-run.js.map