@mobrienv/autoloop-harness 0.8.0 → 0.9.2

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 (116) hide show
  1. package/dist/acceptance.d.ts +31 -0
  2. package/dist/acceptance.js +69 -0
  3. package/dist/acceptance.js.map +1 -0
  4. package/dist/ask.d.ts +16 -0
  5. package/dist/ask.js +47 -0
  6. package/dist/ask.js.map +1 -0
  7. package/dist/backend/types.d.ts +3 -0
  8. package/dist/backend/types.js +3 -0
  9. package/dist/backend/types.js.map +1 -1
  10. package/dist/circuit-breaker.d.ts +27 -0
  11. package/dist/circuit-breaker.js +41 -0
  12. package/dist/circuit-breaker.js.map +1 -0
  13. package/dist/completion-lint.d.ts +29 -0
  14. package/dist/completion-lint.js +51 -0
  15. package/dist/completion-lint.js.map +1 -0
  16. package/dist/config-helpers.js +141 -8
  17. package/dist/config-helpers.js.map +1 -1
  18. package/dist/control/command-adapter.d.ts +19 -0
  19. package/dist/control/command-adapter.js +57 -0
  20. package/dist/control/command-adapter.js.map +1 -0
  21. package/dist/control/dispatch.js +14 -0
  22. package/dist/control/dispatch.js.map +1 -1
  23. package/dist/control/types.d.ts +11 -2
  24. package/dist/display.d.ts +9 -2
  25. package/dist/display.js +37 -1
  26. package/dist/display.js.map +1 -1
  27. package/dist/emit.d.ts +27 -0
  28. package/dist/emit.js +321 -2
  29. package/dist/emit.js.map +1 -1
  30. package/dist/events.d.ts +36 -3
  31. package/dist/fanout-runner.d.ts +25 -0
  32. package/dist/fanout-runner.js +54 -0
  33. package/dist/fanout-runner.js.map +1 -0
  34. package/dist/file-mod-audit.d.ts +29 -0
  35. package/dist/file-mod-audit.js +63 -0
  36. package/dist/file-mod-audit.js.map +1 -0
  37. package/dist/git-diff.d.ts +19 -0
  38. package/dist/git-diff.js +74 -0
  39. package/dist/git-diff.js.map +1 -0
  40. package/dist/hooks.d.ts +78 -0
  41. package/dist/hooks.js +239 -0
  42. package/dist/hooks.js.map +1 -0
  43. package/dist/index.d.ts +15 -2
  44. package/dist/index.js +181 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/intent.d.ts +45 -0
  47. package/dist/intent.js +127 -0
  48. package/dist/intent.js.map +1 -0
  49. package/dist/iteration-diff.d.ts +32 -0
  50. package/dist/iteration-diff.js +92 -0
  51. package/dist/iteration-diff.js.map +1 -0
  52. package/dist/iteration.d.ts +20 -0
  53. package/dist/iteration.js +383 -16
  54. package/dist/iteration.js.map +1 -1
  55. package/dist/metareview.d.ts +9 -1
  56. package/dist/metareview.js +68 -30
  57. package/dist/metareview.js.map +1 -1
  58. package/dist/notify.d.ts +9 -2
  59. package/dist/notify.js +16 -4
  60. package/dist/notify.js.map +1 -1
  61. package/dist/parallel.d.ts +16 -0
  62. package/dist/parallel.js +28 -1
  63. package/dist/parallel.js.map +1 -1
  64. package/dist/postconditions.d.ts +25 -0
  65. package/dist/postconditions.js +107 -0
  66. package/dist/postconditions.js.map +1 -0
  67. package/dist/postfire-verify.d.ts +31 -0
  68. package/dist/postfire-verify.js +64 -0
  69. package/dist/postfire-verify.js.map +1 -0
  70. package/dist/premature-quit.d.ts +25 -0
  71. package/dist/premature-quit.js +54 -0
  72. package/dist/premature-quit.js.map +1 -0
  73. package/dist/progress.d.ts +20 -0
  74. package/dist/progress.js +56 -0
  75. package/dist/progress.js.map +1 -0
  76. package/dist/prompt.js +8 -2
  77. package/dist/prompt.js.map +1 -1
  78. package/dist/provisional.d.ts +42 -0
  79. package/dist/provisional.js +92 -0
  80. package/dist/provisional.js.map +1 -0
  81. package/dist/registry-bridge.js +25 -0
  82. package/dist/registry-bridge.js.map +1 -1
  83. package/dist/resume.d.ts +61 -0
  84. package/dist/resume.js +226 -0
  85. package/dist/resume.js.map +1 -0
  86. package/dist/scratchpad.js +27 -8
  87. package/dist/scratchpad.js.map +1 -1
  88. package/dist/stage.d.ts +21 -0
  89. package/dist/stage.js +131 -0
  90. package/dist/stage.js.map +1 -0
  91. package/dist/stop.d.ts +29 -2
  92. package/dist/stop.js +106 -0
  93. package/dist/stop.js.map +1 -1
  94. package/dist/suspend-state.d.ts +32 -0
  95. package/dist/suspend-state.js +104 -0
  96. package/dist/suspend-state.js.map +1 -0
  97. package/dist/tamper.d.ts +21 -0
  98. package/dist/tamper.js +88 -0
  99. package/dist/tamper.js.map +1 -0
  100. package/dist/types.d.ts +247 -2
  101. package/dist/types.js +91 -1
  102. package/dist/types.js.map +1 -1
  103. package/dist/wave/finalize-wave.d.ts +15 -5
  104. package/dist/wave/finalize-wave.js +56 -2
  105. package/dist/wave/finalize-wave.js.map +1 -1
  106. package/dist/wave/launch-branches.d.ts +23 -2
  107. package/dist/wave/launch-branches.js +56 -3
  108. package/dist/wave/launch-branches.js.map +1 -1
  109. package/dist/wave/stage-branch-runner.d.ts +12 -0
  110. package/dist/wave/stage-branch-runner.js +130 -0
  111. package/dist/wave/stage-branch-runner.js.map +1 -0
  112. package/dist/wave/types.d.ts +40 -2
  113. package/dist/wave.d.ts +32 -1
  114. package/dist/wave.js +163 -34
  115. package/dist/wave.js.map +1 -1
  116. package/package.json +83 -3
@@ -3,6 +3,7 @@ import { basename, join, resolve } from "node:path";
3
3
  import { isAcpBackendKind, resolveAcpProvider, } from "@mobrienv/autoloop-backends/acp-providers";
4
4
  import { assertNoRawAutoloopPaths, expandTemplatePlaceholders, generateCompactId, generateReadableId, splitCsv, uniqueGeneratedId, } from "@mobrienv/autoloop-core";
5
5
  import { loadAgentMap } from "@mobrienv/autoloop-core/agent-map";
6
+ import * as concurrency from "@mobrienv/autoloop-core/concurrency";
6
7
  import * as config from "@mobrienv/autoloop-core/config";
7
8
  import { presetCategory, resolveIsolationMode, } from "@mobrienv/autoloop-core/isolation/resolve";
8
9
  import { createRunScopedDir } from "@mobrienv/autoloop-core/isolation/run-scope";
@@ -79,6 +80,10 @@ export function resolveProcessKind(kind, command, opts) {
79
80
  return "claude-sdk";
80
81
  if (isAcpBackendKind(kind))
81
82
  return "acp";
83
+ // Hermes ACP: `hermes acp` is a native ACP provider like pi. Map it to the
84
+ // ACP session path so providerLaunchArgs injects --profile correctly.
85
+ if (hermesBinary(command))
86
+ return "acp";
82
87
  // Default: a plain `claude` invocation runs through the Agent SDK session
83
88
  // backend (live interrupt/steer + cost telemetry). Custom args mean the
84
89
  // user is tailoring the CLI invocation — respect it and keep the shell
@@ -91,6 +96,10 @@ export function resolveProcessKind(kind, command, opts) {
91
96
  function piBinary(command) {
92
97
  return command === "pi" || command.endsWith("/pi");
93
98
  }
99
+ function hermesBinary(command) {
100
+ const base = command.split("/").pop() ?? "";
101
+ return base === "hermes";
102
+ }
94
103
  export function normalizePromptMode(value) {
95
104
  if (value === "stdin")
96
105
  return "stdin";
@@ -198,14 +207,22 @@ export function resolveJournalFileForRun(projectDir, runId) {
198
207
  export function buildLoopContext(projectDir, promptOverride, selfCommand, runOptions) {
199
208
  const resolvedProjectDir = absolutePath(projectDir);
200
209
  const resolvedWorkDir = absolutePath(runOptions.workDir || ".");
201
- const currentPresetName = basename(resolvedProjectDir);
210
+ const presetFile = runOptions.presetFile
211
+ ? absolutePath(runOptions.presetFile)
212
+ : "";
213
+ const currentPresetName = presetFile
214
+ ? basename(presetFile, ".toml")
215
+ : basename(resolvedProjectDir);
202
216
  const configWorkDir = tryResolveGitRoot(resolvedWorkDir) ?? resolvedWorkDir;
203
217
  const configOverride = runOptions.configOverride || {};
204
- const cfg = config.loadProject(resolvedProjectDir, {
218
+ const loadOptions = {
205
219
  presetName: currentPresetName,
206
220
  workDir: configWorkDir,
207
221
  cliOverride: configOverride,
208
- });
222
+ };
223
+ const cfg = presetFile
224
+ ? config.loadProjectFromFile(presetFile, loadOptions)
225
+ : config.loadProject(resolvedProjectDir, loadOptions);
209
226
  const stateDirAnchor = configWorkDir;
210
227
  const stateDir = join(stateDirAnchor, config.get(cfg, "core.state_dir", ".autoloop"));
211
228
  const journalRelPath = config.get(cfg, "core.journal_file", config.get(cfg, "core.events_file", ".autoloop/journal.jsonl"));
@@ -301,12 +318,14 @@ export function buildLoopContext(projectDir, promptOverride, selfCommand, runOpt
301
318
  logLevel,
302
319
  branchMode: false,
303
320
  isolationMode: isolation.mode,
321
+ noResume: runOptions.noResume ?? false,
304
322
  },
305
323
  launch: {
306
- preset: basename(resolvedProjectDir),
324
+ preset: currentPresetName,
307
325
  trigger: runOptions.trigger ?? "cli",
308
326
  createdAt: new Date().toISOString(),
309
327
  parentRunId: runOptions.parentRunId ?? "",
328
+ presetFile,
310
329
  },
311
330
  profiles: {
312
331
  active: activeProfiles,
@@ -320,12 +339,18 @@ export function buildLoopContext(projectDir, promptOverride, selfCommand, runOpt
320
339
  export function reloadLoop(loop) {
321
340
  const pd = loop.paths.projectDir;
322
341
  const wd = loop.paths.workDir;
323
- const cfg = config.loadProject(pd, {
342
+ const presetFile = loop.launch.presetFile ?? "";
343
+ const loadOptions = {
324
344
  presetName: loop.launch.preset,
325
345
  workDir: loop.paths.configWorkDir || wd,
326
346
  cliOverride: loop.runtime.configOverride,
327
- });
328
- const topoData = topo.loadTopology(pd);
347
+ };
348
+ const cfg = presetFile
349
+ ? config.loadProjectFromFile(presetFile, loadOptions)
350
+ : config.loadProject(pd, loadOptions);
351
+ const topoData = presetFile
352
+ ? topo.loadTopologyFromFile(presetFile)
353
+ : topo.loadTopology(pd);
329
354
  const backend = readBackendConfig(cfg, loop.runtime.backendOverride);
330
355
  const review = readReviewConfig(cfg, topoData, pd, backend);
331
356
  const parallel = readParallelConfig(cfg);
@@ -356,6 +381,10 @@ export function reloadLoop(loop) {
356
381
  const templateVars = {
357
382
  STATE_DIR: loop.paths.stateDir,
358
383
  TOOL_PATH: loop.paths.toolPath,
384
+ // Absolute path to the preset/config dir (holds roles, scripts, hooks). Lets a
385
+ // role reference preset-bundled scripts by path — e.g. a bootstrap script the
386
+ // loop runs before any copied-in scripts exist in the work dir.
387
+ PRESET_DIR: absolutePath(pd),
359
388
  };
360
389
  const updatedTopology = {
361
390
  ...finalTopology,
@@ -381,11 +410,42 @@ export function reloadLoop(loop) {
381
410
  maxCostUsd: config.getFloat(cfg, "event_loop.max_cost_usd", 0),
382
411
  maxIterationRuntimeMs,
383
412
  maxRuntimeMs: config.getDuration(cfg, "event_loop.max_runtime", 0),
413
+ transientMaxPauses: config.getInt(cfg, "event_loop.transient_max_pauses", 3),
414
+ transientPauseMs: config.getDuration(cfg, "event_loop.transient_pause", 5000),
415
+ transientBackoffCapMs: config.getDuration(cfg, "event_loop.transient_backoff_cap", 30000),
416
+ prematureMaxRearms: config.getInt(cfg, "event_loop.premature_max_rearms", 1),
384
417
  },
385
418
  completion: {
386
419
  promise: config.get(cfg, "event_loop.completion_promise", "LOOP_COMPLETE"),
387
420
  event: topo.completionEvent(topoData, config.get(cfg, "event_loop.completion_event", "task.complete")),
388
421
  requiredEvents: config.getList(cfg, "event_loop.required_events"),
422
+ mustBeLast: truthySetting(config.get(cfg, "event_loop.completion_must_be_last", "false")),
423
+ },
424
+ policy: {
425
+ fileModAudit: truthySetting(config.get(cfg, "event_loop.audit_file_mods", "false")),
426
+ },
427
+ acceptance: {
428
+ // Accept either a single `verify_cmd` or a `verify_cmds` list; merge both.
429
+ verifyCmds: [
430
+ ...config.getList(cfg, "acceptance.verify_cmds"),
431
+ ...(() => {
432
+ const single = config.get(cfg, "acceptance.verify_cmd", "").trim();
433
+ return single ? [single] : [];
434
+ })(),
435
+ ],
436
+ timeoutMs: config.getDuration(cfg, "acceptance.timeout", 300000),
437
+ assertNoTodo: truthySetting(config.get(cfg, "acceptance.assert_no_todo", "false")),
438
+ assertNoSkippedTests: truthySetting(config.get(cfg, "acceptance.assert_no_skipped_tests", "false")),
439
+ assertNoSecrets: truthySetting(config.get(cfg, "acceptance.assert_no_secrets", "false")),
440
+ assertCleanTree: truthySetting(config.get(cfg, "acceptance.assert_clean_tree", "false")),
441
+ screenTestTamper: truthySetting(config.get(cfg, "acceptance.screen_test_tamper", "false")),
442
+ criteria: config.getList(cfg, "acceptance.criteria"),
443
+ },
444
+ ask: {
445
+ event: config.get(cfg, "event_loop.ask_event", "human.ask"),
446
+ enabled: config.get(cfg, "event_loop.ask_event", "human.ask") !== "",
447
+ timeoutMs: config.getDuration(cfg, "event_loop.ask_timeout", 300000),
448
+ pollMs: config.getInt(cfg, "event_loop.ask_poll_ms", 500),
389
449
  },
390
450
  backend: maxIterationRuntimeMs > 0
391
451
  ? { ...backend, timeoutMs: maxIterationRuntimeMs }
@@ -399,12 +459,31 @@ export function reloadLoop(loop) {
399
459
  })(),
400
460
  },
401
461
  parallel,
462
+ stage: readStageConfig(cfg),
463
+ hooks: {
464
+ // Hook commands get the same template vars as role prompts ({{PRESET_DIR}},
465
+ // {{TOOL_PATH}}, {{STATE_DIR}}) so a hook can reference preset-bundled scripts by
466
+ // path — e.g. a deterministic bootstrap (okf-init) run before any agent turn.
467
+ preRun: expandTemplatePlaceholders(config.get(cfg, "hooks.pre_run", ""), templateVars),
468
+ preIteration: expandTemplatePlaceholders(config.get(cfg, "hooks.pre_iteration", ""), templateVars),
469
+ postIteration: expandTemplatePlaceholders(config.get(cfg, "hooks.post_iteration", ""), templateVars),
470
+ postRun: expandTemplatePlaceholders(config.get(cfg, "hooks.post_run", ""), templateVars),
471
+ strict: config.get(cfg, "hooks.strict", "false") === "true",
472
+ specs: expandHookSpecCommands(presetFile
473
+ ? config.loadHookSpecsFromFile(presetFile)
474
+ : config.loadHookSpecs(pd), templateVars),
475
+ },
402
476
  memory: {
403
477
  budgetChars: config.getInt(cfg, "memory.prompt_budget_chars", 8000),
404
478
  },
405
479
  tasks: {
406
480
  budgetChars: config.getInt(cfg, "tasks.prompt_budget_chars", 4000),
407
481
  },
482
+ progress: {
483
+ metricCmd: config.get(cfg, "progress.metric_cmd", ""),
484
+ name: config.get(cfg, "progress.name", "progress"),
485
+ timeoutMs: config.getDuration(cfg, "progress.timeout", 60000),
486
+ },
408
487
  harness: {
409
488
  instructions: (() => {
410
489
  const raw = readOptionalProjectFile(pd, config.get(cfg, "harness.instructions_file", "harness.md"));
@@ -423,12 +502,14 @@ export function reloadLoop(loop) {
423
502
  acpSession: loop.acpSession ?? { current: undefined },
424
503
  piSession: loop.piSession ?? { current: undefined },
425
504
  claudeSdkSession: loop.claudeSdkSession ?? { current: undefined },
505
+ commandSession: loop.commandSession ?? { current: undefined },
426
506
  onEvent: loop.onEvent,
507
+ signal: loop.signal,
427
508
  };
428
509
  return applyRuntimeModeOverrides(updated);
429
510
  }
430
511
  function readBackendConfig(cfg, bo) {
431
- const rawKind = processStringOverride(bo, "kind", config.get(cfg, "backend.kind", ""));
512
+ let rawKind = processStringOverride(bo, "kind", config.get(cfg, "backend.kind", ""));
432
513
  const cfgCommandMarker = "__missing_command__";
433
514
  const cfgCommand = config.get(cfg, "backend.command", cfgCommandMarker);
434
515
  const explicitCommand = typeof bo.command === "string"
@@ -442,6 +523,13 @@ function readBackendConfig(cfg, bo) {
442
523
  provider: rawProvider,
443
524
  command: explicitCommand,
444
525
  });
526
+ // If the config specifies an explicit provider (not a generic fallback), ensure
527
+ // the ACP path so that resolveProcessKind derives the right backend kind.
528
+ // This handles the case where `backend.provider = "hermes"` is set in config
529
+ // without an explicit `backend.kind`.
530
+ if (!rawKind && rawProvider && acpProvider.id !== "generic") {
531
+ rawKind = "acp";
532
+ }
445
533
  const commandFallback = isAcpBackendKind(rawKind)
446
534
  ? acpProvider.defaultCommand
447
535
  : "claude";
@@ -471,6 +559,15 @@ function readBackendConfig(cfg, bo) {
471
559
  const trustAllTools = processBoolOverride(bo, "trust_all_tools", config.get(cfg, "backend.trust_all_tools", "true") !== "false");
472
560
  const agent = processStringOverride(bo, "agent", config.get(cfg, "backend.agent", ""));
473
561
  const model = processStringOverride(bo, "model", config.get(cfg, "backend.model", ""));
562
+ const profile = processStringOverride(bo, "profile", config.get(cfg, "backend.profile", ""));
563
+ // Tools the backend must NOT expose to the agent (claude-sdk only). Opt-in via
564
+ // `backend.disallowed_tools` (CSV); empty by default so other presets are
565
+ // unaffected. Used e.g. to force a preset onto a dedicated capture tool by
566
+ // removing the built-in WebFetch/WebSearch.
567
+ const disallowedTools = config.getList(cfg, "backend.disallowed_tools");
568
+ // Opt-in cost-telemetry convention for `command`-kind backends. See
569
+ // `usage_from` in config-schema.ts for the contract.
570
+ const usageFrom = processStringOverride(bo, "usage_from", config.get(cfg, "backend.usage_from", ""));
474
571
  return {
475
572
  kind,
476
573
  provider,
@@ -481,6 +578,9 @@ function readBackendConfig(cfg, bo) {
481
578
  trustAllTools,
482
579
  agent,
483
580
  model,
581
+ profile,
582
+ disallowedTools,
583
+ usageFrom,
484
584
  };
485
585
  }
486
586
  function readReviewConfig(cfg, topoData, projectDir, backend) {
@@ -501,13 +601,38 @@ function readReviewConfig(cfg, topoData, projectDir, backend) {
501
601
  trustAllTools: config.get(cfg, "review.trust_all_tools", String(backend.trustAllTools)) !== "false",
502
602
  agent: config.get(cfg, "review.agent", backend.agent),
503
603
  model: config.get(cfg, "review.model", backend.model),
604
+ profile: config.get(cfg, "review.profile", backend.profile ?? ""),
605
+ onError: normalizeReviewOnError(config.get(cfg, "review.on_error", "hold")),
606
+ minConfidence: config.getFloat(cfg, "review.min_confidence", 0.5),
504
607
  };
505
608
  }
609
+ /**
610
+ * Coerce the `review.on_error` setting to a known mode, defaulting to the
611
+ * fail-closed `hold` for unset or unrecognized values.
612
+ */
613
+ function normalizeReviewOnError(raw) {
614
+ const v = raw.trim().toLowerCase();
615
+ return v === "exit" || v === "continue" ? v : "hold";
616
+ }
506
617
  function readParallelConfig(cfg) {
507
618
  return {
508
619
  enabled: truthySetting(config.get(cfg, "parallel.enabled", "false")),
509
620
  maxBranches: config.getInt(cfg, "parallel.max_branches", 3),
510
621
  branchTimeoutMs: config.getInt(cfg, "parallel.branch_timeout_ms", 180000),
622
+ aggregate: {
623
+ mode: normalizeAggregateMode(config.get(cfg, "parallel.aggregate.mode", "wait_for_all")),
624
+ timeoutMs: config.getInt(cfg, "parallel.aggregate.timeout_ms", 0),
625
+ },
626
+ };
627
+ }
628
+ /** Fallback-safe aggregate-mode guard: unrecognized values default to `wait_for_all`. */
629
+ function normalizeAggregateMode(raw) {
630
+ return raw === "first_success" || raw === "timeout" ? raw : "wait_for_all";
631
+ }
632
+ function readStageConfig(cfg) {
633
+ return {
634
+ concurrency: config.getInt(cfg, "stage.concurrency", concurrency.defaultConcurrency()),
635
+ branchTimeoutMs: config.getInt(cfg, "stage.branch_timeout_ms", 180000),
511
636
  };
512
637
  }
513
638
  export function applyRuntimeModeOverrides(loop) {
@@ -524,6 +649,14 @@ export function applyRuntimeModeOverrides(loop) {
524
649
  },
525
650
  };
526
651
  }
652
+ /** Apply the same template-placeholder expansion legacy hook fields get to
653
+ * every structured hook spec's command (e.g. `{{PRESET_DIR}}`, `{{TOOL_PATH}}`). */
654
+ function expandHookSpecCommands(specs, templateVars) {
655
+ return specs.map((spec) => ({
656
+ ...spec,
657
+ command: expandTemplatePlaceholders(spec.command, templateVars),
658
+ }));
659
+ }
527
660
  export function initStore(loop) {
528
661
  return {
529
662
  ...loop,
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-helpers.js","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { LiveControlAdapter } from "./adapter.js";
2
+ export interface CommandAdapterHooks {
3
+ /**
4
+ * Signal the in-flight `command` child: SIGUSR1 first (cooperating tools
5
+ * can trap it and cancel gracefully), escalating internally to SIGTERM then
6
+ * SIGKILL if the process doesn't exit. No-op if no `command` iteration is
7
+ * currently in flight.
8
+ */
9
+ triggerInterrupt: () => void;
10
+ }
11
+ /**
12
+ * Live-control adapter for the `command` backend (arbitrary wrapped CLI
13
+ * tools). Unlike pi/claude-sdk, `command` iterations are one-shot processes
14
+ * rather than persistent sessions, so there is no mid-turn steering: `guide`
15
+ * is always journal-durable only (applied at the *next* iteration's prompt,
16
+ * same as every other backend via `drainGuidance`), optionally paired with an
17
+ * interrupt of the current iteration when the operator asks for it.
18
+ */
19
+ export declare function commandControlAdapter(runId: string, hooks: CommandAdapterHooks): LiveControlAdapter;
@@ -0,0 +1,57 @@
1
+ import { defaultCapabilities } from "./capabilities.js";
2
+ /**
3
+ * Live-control adapter for the `command` backend (arbitrary wrapped CLI
4
+ * tools). Unlike pi/claude-sdk, `command` iterations are one-shot processes
5
+ * rather than persistent sessions, so there is no mid-turn steering: `guide`
6
+ * is always journal-durable only (applied at the *next* iteration's prompt,
7
+ * same as every other backend via `drainGuidance`), optionally paired with an
8
+ * interrupt of the current iteration when the operator asks for it.
9
+ */
10
+ export function commandControlAdapter(runId, hooks) {
11
+ const caps = buildCapabilities(runId);
12
+ return {
13
+ backend: "command",
14
+ capabilities() {
15
+ return caps;
16
+ },
17
+ onRequest(request) {
18
+ if (request.verb === "interrupt") {
19
+ return applyInterrupt(hooks);
20
+ }
21
+ if (request.verb === "guide") {
22
+ const payload = request.payload;
23
+ if (payload?.interrupt) {
24
+ return applyInterrupt(hooks, "guidance-driven");
25
+ }
26
+ return { state: "applied", detail: "guidance appended" };
27
+ }
28
+ return { state: "ignored", detail: `unknown verb: ${request.verb}` };
29
+ },
30
+ };
31
+ }
32
+ function buildCapabilities(runId) {
33
+ const base = defaultCapabilities("command", runId);
34
+ base.interrupt = {
35
+ supported: true,
36
+ detail: "SIGUSR1 to child, escalating to SIGTERM/SIGKILL",
37
+ };
38
+ base.guidance = {
39
+ supported: true,
40
+ detail: "journal-durable, applied at next iteration (no live steering for one-shot command processes)",
41
+ };
42
+ return base;
43
+ }
44
+ function applyInterrupt(hooks, detailPrefix = "interrupt") {
45
+ try {
46
+ hooks.triggerInterrupt();
47
+ return { state: "applied", detail: `${detailPrefix}: signal sent` };
48
+ }
49
+ catch (err) {
50
+ const msg = err instanceof Error ? err.message : String(err);
51
+ return {
52
+ state: "rejected",
53
+ detail: `${detailPrefix}: signal failed: ${msg}`,
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=command-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-adapter.js","sourceRoot":"","sources":["../../src/control/command-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAkBxD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,KAA0B;IAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEtC,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,YAAY;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,SAAS,CAAC,OAAuB;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAuB,CAAC;gBAChD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;oBACvB,OAAO,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,GAAG;QACf,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,iDAAiD;KAC1D,CAAC;IACF,IAAI,CAAC,QAAQ,GAAG;QACd,SAAS,EAAE,IAAI;QACf,MAAM,EACJ,8FAA8F;KACjG,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CACrB,KAA0B,EAC1B,YAAY,GAAG,WAAW;IAE1B,IAAI,CAAC;QACH,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,eAAe,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,GAAG,YAAY,oBAAoB,GAAG,EAAE;SACjD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -15,6 +15,20 @@ export function publishCapabilities(runStateDir, adapter) {
15
15
  export function drainControlRequests(runStateDir, adapter) {
16
16
  const requests = pendingRequests(runStateDir);
17
17
  for (const request of requests) {
18
+ if (request.verb === "respond") {
19
+ // `respond` is consumed by the human-ask poll (awaitHumanResponse), not
20
+ // the live-control adapter. Ack it here as defense so a stray response
21
+ // (with no matching ask) never reaches the adapter and never lingers.
22
+ appendStatus(runStateDir, {
23
+ id: request.id,
24
+ runId: request.runId,
25
+ verb: request.verb,
26
+ state: "ignored",
27
+ at: new Date().toISOString(),
28
+ detail: "respond is handled by the human-ask poll",
29
+ });
30
+ continue;
31
+ }
18
32
  ackRequest(runStateDir, adapter, request);
19
33
  }
20
34
  return requests;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/control/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,OAA2B;IAE3B,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,OAA2B;IAE3B,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACjB,WAAmB,EACnB,OAA2B,EAC3B,OAAuB;IAEvB,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAkB;QAC5B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;IACF,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/control/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,OAA2B;IAE3B,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,OAA2B;IAE3B,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,YAAY,CAAC,WAAW,EAAE;gBACxB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,MAAM,EAAE,0CAA0C;aACnD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACjB,WAAmB,EACnB,OAA2B,EAC3B,OAAuB;IAEvB,IAAI,GAAe,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAkB;QAC5B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;IACF,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * sessions) map these verbs to backend-specific behavior; the journal remains
6
6
  * canonical for what actually happened.
7
7
  */
8
- export type ControlVerb = "interrupt" | "guide";
8
+ export type ControlVerb = "interrupt" | "guide" | "respond";
9
9
  export type CapabilityVerb = "guidance" | "interrupt" | "inspect";
10
10
  export interface GuidePayload {
11
11
  message: string;
@@ -13,7 +13,16 @@ export interface GuidePayload {
13
13
  interrupt: boolean;
14
14
  }
15
15
  export type InterruptPayload = Record<string, never>;
16
- export type ControlPayload = GuidePayload | InterruptPayload;
16
+ /**
17
+ * Answer to a blocking `human.ask`. An external supervisor (e.g. ralph relaying
18
+ * a Telegram reply) writes this to deliver the human's response to the run that
19
+ * is paused waiting on `questionId`.
20
+ */
21
+ export interface RespondPayload {
22
+ questionId: string;
23
+ answer: string;
24
+ }
25
+ export type ControlPayload = GuidePayload | InterruptPayload | RespondPayload;
17
26
  export interface ControlRequest {
18
27
  id: string;
19
28
  runId: string;
package/dist/display.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import type { IterationContext } from "./prompt.js";
2
- import type { LoopContext, RunSummary } from "./types.js";
2
+ import type { LoopContext, RunSummary, StopReason } from "./types.js";
3
3
  export declare function printSummary(summary: RunSummary, loop: LoopContext): void;
4
+ /**
5
+ * Cumulative run cost in USD, summed from journaled `backend.usage` events.
6
+ * Returns 0 when no usage was recorded (e.g. the `command`/`acp` backends, or a
7
+ * torn journal) so the summary always carries a parseable `cost_usd` field.
8
+ */
9
+ export declare function runCostUsd(loop: LoopContext): number;
4
10
  export declare function printIterationBanner(loop: LoopContext, iter: IterationContext): void;
5
11
  export declare function printIterationFooter(iter: IterationContext, elapsedS: number): void;
6
12
  export declare function printProgressLine(data: {
@@ -13,7 +19,8 @@ export declare function printProgressLine(data: {
13
19
  }): void;
14
20
  export declare function printReviewBanner(iteration: number): void;
15
21
  export declare function printBackendOutputTail(output: string, maxLines?: number): void;
16
- export declare function printFailureDiagnostic(output: string, stopReason: string): void;
22
+ export declare function printFailureDiagnostic(output: string, stopReason: StopReason): void;
23
+ export declare function printHookOutput(name: string, exitCode: number, output: string, failed: boolean): void;
17
24
  export declare function terminalWidth(): number;
18
25
  export declare function lastNChars(text: string, n: number): string;
19
26
  export declare function log(loop: LoopContext, level: string, message: string): void;
package/dist/display.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { execSync } from "node:child_process";
2
- import { lineSep, listText } from "@mobrienv/autoloop-core";
2
+ import { collectUsage, lineSep, listText } from "@mobrienv/autoloop-core";
3
+ import { readRunLines } from "@mobrienv/autoloop-core/journal";
3
4
  export function printSummary(summary, loop) {
4
5
  const hint = stopReasonHint(summary.stopReason);
5
6
  const lines = [
@@ -8,6 +9,7 @@ export function printSummary(summary, loop) {
8
9
  `run_id: ${loop.runtime.runId}`,
9
10
  `iterations: ${summary.iterations}`,
10
11
  `stop_reason: ${summary.stopReason}`,
12
+ `cost_usd: ${runCostUsd(loop).toFixed(6)}`,
11
13
  `journal: ${loop.paths.journalFile}`,
12
14
  `memory: ${loop.paths.memoryFile}`,
13
15
  `review_every: ${loop.review.every}`,
@@ -17,6 +19,20 @@ export function printSummary(summary, loop) {
17
19
  for (const l of lines)
18
20
  console.log(l);
19
21
  }
22
+ /**
23
+ * Cumulative run cost in USD, summed from journaled `backend.usage` events.
24
+ * Returns 0 when no usage was recorded (e.g. the `command`/`acp` backends, or a
25
+ * torn journal) so the summary always carries a parseable `cost_usd` field.
26
+ */
27
+ export function runCostUsd(loop) {
28
+ try {
29
+ const lines = readRunLines(loop.paths.journalFile, loop.runtime.runId);
30
+ return collectUsage(lines, loop.runtime.runId).totals.costUsd;
31
+ }
32
+ catch {
33
+ return 0;
34
+ }
35
+ }
20
36
  function stopReasonHint(reason) {
21
37
  switch (reason) {
22
38
  case "backend_failed":
@@ -127,6 +143,26 @@ export function printFailureDiagnostic(output, stopReason) {
127
143
  console.log(tail);
128
144
  console.log("──────────────────────────────────────");
129
145
  }
146
+ export function printHookOutput(name, exitCode, output, failed) {
147
+ const lines = output.split(lineSep());
148
+ const body = lines.slice(-15).join(lineSep());
149
+ // Silent successful hooks (no output) print nothing; failures always show.
150
+ if (!failed && !body.trim())
151
+ return;
152
+ const header = failed
153
+ ? `── hook: ${name} failed (exit ${exitCode}) ──`
154
+ : `── hook: ${name} (exit ${exitCode}) ──`;
155
+ console.log("");
156
+ console.log(header);
157
+ if (lines.length > 15) {
158
+ console.log(`… (${lines.length - 15} earlier lines in journal)`);
159
+ }
160
+ if (body.trim())
161
+ console.log(body);
162
+ if (decorativeOutputEnabled()) {
163
+ console.log("──────────────────────────────────────");
164
+ }
165
+ }
130
166
  export function terminalWidth() {
131
167
  const envWidth = parseInt(process.env.AUTOLOOP_WIDTH ?? "", 10);
132
168
  if (envWidth > 0)