Skip to content

v0.12.2

Choose a tag to compare

@lvndry lvndry released this 05 Jun 09:28
· 6 commits to main since this release

What's Changed

Headless --events Mode Actually Emits Tool Activity Now 🎉

If you've been using jazz run --events to pipe tool lifecycle events into your own scripts, CI pipelines, or dashboards, you may have noticed something… missing. Yeah, tool events weren't actually firing on the non-streaming (headless one-shot) path. The events were wired up for streaming mode but silently ghosted when you went headless. No tool_execution_start, no tools_detected — just silence.

That's fixed now. The batch executor (executeWithoutStreaming) detects when the presentation service wants tool events routed through a streaming renderer, spins up the appropriate StreamingRenderer, and feeds it to the agent loop so tool lifecycle NDJSON events flow through on stderr just like you'd expect. Visual (CLI/Ink) presentation services are completely unaffected — they keep their existing format* batch-mode behavior untouched.

We also shipped a thorough 245-line test suite (batch-executor.test.ts) that captures stderr, parses the NDJSON stream, and verifies:

  • tools_detected, tool_execution_start, and tool_execution_complete events appear when --events tools is active
  • ✅ The tool_execution_start event carries the correct tool name (ls)
  • ✅ No tool event noise leaks through when no event categories are requested

Your jazz run --events pipeline integrations should start seeing the tool telemetry they deserve. 🔧


Commits

  • 4ccec02 0.12.2 by @github-actions[bot]
  • f7c49ea fix(run): emit tool events on headless one-shot non-streaming path (#250) by @lvndry

Full diff

v0.12.1...v0.12.2