Documentation Index
Fetch the complete documentation index at: https://smithers.sh/llms.txt
Use this file to discover all available pages before exploring further.
0.20.1
Patch release: agent-trace observability lands, thesmithers init agent
flow gets sharper, and pnpm release now opens a GitHub release.
Observability
-
Canonical agent traces. Every node attempt that invokes an agent now
emits canonical
AgentTraceEvent/AgentTraceSummary/AgentSessionEventrecords, OTEL log records with stable Loki query attributes (run.id,workflow.path,node.id,node.attempt,agent.family,agent.capture_mode,trace.completeness,event.kind), and — whenlogDiris set — a durable NDJSON artifact at.smithers/executions/<runId>/logs/agent-trace/<node>-<iter>-<attempt>.ndjson. Seepackages/engine/src/AgentTraceCollector.jsand the newapps/observability/src/agentTrace.tssurface. -
Local OTEL stack adds Loki 3.3.2.
observability/docker-compose.otel.ymlpinsotel-collectorto0.148.0, adds a Loki service with a persistent/lokivolume, wires the otel-collector logs pipeline to Loki viaotlp_http, and adds healthchecks +service_healthydepends_onacross the stack. Grafana ships with a Loki datasource and TempotracesToLogsconfig out of the box. New helper scripts:scripts/obs-reset.sh,scripts/obs-wait-healthy.sh,scripts/verify-observability.sh. -
Run annotations.
RunOptions.annotationsis a flatRecord<string, string | number | boolean>plumbed through every run for stable Loki/OTEL query attributes. -
Demo workflow.
workflows/agent-trace-otel-demo.tsxshows the end-to-end trace surface against the live OTEL stack.
Agents
-
Token-usage normalization. New
packages/agents/src/BaseCliAgent/normalizeTokenUsage.jscollapses provider-specific token-usage fields into a singleNormalizedTokenUsageshape regardless of source naming. -
Better JSON text extraction.
BaseCliAgent.extractTextFromJsonValuenow handles array roots, OpenAI-styleoutput_text, and recursiveitemfields — relevant for Codex/Responses-API outputs.
CLI
-
smithers initagent detection. Reworkedapps/cli/src/agent-detection.jsso the init flow detects installed agents correctly across more environments; covered by new tests inapps/cli/tests/cli-agent-detection.test.jsandapps/cli/tests/init-agents.e2e.test.js. -
Better
.gitignoretemplates.smithers initnow writes*.db-shm,*.db-wal,*.log, andlogs/into.smithers/.gitignore, and adds a new.smithers/workflows/.gitignorefor*.log/run-*.log. Keeps ephemeral SQLite WAL files and run logs out of git by default. (#137)
Gateway
- Hardened HTTP boundaries.
packages/server/src/gateway.jstightens request/response handling at the gateway boundary; covered by the rewrittengateway-http-boundaries.test.js. (#134)
Internal
-
GitHub releases on
pnpm release.scripts/publish.mjsnow pushes the version tag tooriginif missing and runsgh release create v<version> --notes-file docs/changelogs/<version>.mdx --latestafter a successful npm publish. Pass--skip-gh-releaseto opt out. Fills the gap that left releases on GitHub stuck at v0.12.0 while npm advanced to v0.20.0; all intermediate tags were backfilled in the same pass. -
Engine
index.d.tscleanup.tsup --dts-onlyregen of the engine type bundle drops orphanedComponentDefinition/ComponentDefinitionBuilder/WorkflowDefinitionBuilderaliases left over from the Effect API rebuild. No public-surface change.