v0.4.0 — Production-ready agent metadata
What's new
Breaking
tools:in agent.yaml must now be objects —{ name, description, input_schema }with JSON Schema draft-07 typing. The LLM receives the declared schema as the tool spec; arguments are validated (Ajv) before the script runs. See docs/agent-yaml.md.
Added
- Agent version pinning — pass
version: "1.2.0"in thePOST /runbody to target a specific version. Response always echoesagent_version. Non-existent version returns 404 withavailable: [...]for recovery. SDK exposes{ version }option onrun(),stream(),runAsync(). - Structured JSON logging via pino — every log line is valid JSON with
level,time,run_id,agent,agent_version.LOG_LEVELenv var (debug/info/warn/error) controls verbosity.createLoggerexported from@skrun-dev/runtime. ToolConfigSchema,InputSchemaSchemaexported from@skrun-dev/schema- OpenAPI schema updated:
versionin request body,agent_versionin response,VersionNotFoundResponse
Tests
354 tests green (279 unit + 50 E2E integration + 25 E2E live).
Install
```bash
npm install -g @skrun-dev/cli@0.4.0
npm install @skrun-dev/sdk@0.4.0
```
Full changelog: https://github.com/skrun-dev/skrun/blob/main/CHANGELOG.md