Agent integrations
Smithers now drops into the Hermes agent runtime, in both directions: the agent operates durable Smithers workflows, and a Smithers workflow can delegate a task back to the agent.- Hermes (Nous Research) gets a native Smithers plugin, which is richer than a bare MCP entry. It adds slash commands (
/smithers run|ps|inspect|approve|deny|watch) usable in the Hermes CLI and every gateway it speaks to, apre_llm_callhook that injects live run status and pending approval gates into Hermes on every turn, thesmithers_run/smithers_ps/smithers_inspect/smithers_approve/smithers_deny/smithers_output/smithers_human_answertools, and a bundledsmithers:orchestrateskill. A newHermesCliAgentalso lets a workflow<Task>delegate to the Hermes agent itself.
Every workflow run prints a useful result
A finished run used to printoutput: null even when the work produced something. Now it does not.
- The
workflow run/upsummary prints the run’s output cleanly. It strips the internalrun_id/node_id/iterationcolumns, unwraps a single row, and omits the field entirely when there is nothing to show, so a successful run never prints a noisyoutput: null. - Every built-in init-pack workflow, both the seeded ones (
hello,create-workflow,route-task, and the rest) and the legacy-inline ones (plan,implement,review,debug,audit, and the rest), now ends with a deterministicoutputtask that aggregates its genuinely useful terminal result: files changed, the plan steps, the chosen route, reviewer verdicts, the greeting, and so on. Add a finaloutputtask to your own workflows to control what their run prints.
CLI
bunx smithers-orchestrator memory list now works with no namespace. It lists every fact across all namespaces, grouped by namespace, instead of failing with a raw validation error. Passing a namespace still scopes to that one. The memory store gains a listAllFacts() method (and its listAllFactsEffect twin) that backs it.
Migration notes
No breaking changes are identified in 0.26.0. The new agent integrations and output tasks are additive; workflows that already ended with their ownoutput task are unaffected. Because 0.25.5 and 0.25.6 never reached npm, installing 0.26.0 from 0.25.4 picks up all of their changes at once.