cli@1.4.0
leejet/stable-diffusion.cppcli@1.4.0Oct 10, 2026by github-actions[bot]
Upgrading?
AI Summary
This release introduces a dedicated AI checks engine and significantly enhances Server-Sent Events (SSE) support. Checks are now run post-flow completion and include new validation metrics like time-to-first-token.
Key Highlights
- AI checks are now part of the engine and run after flow completion, not impacting step timings.
- New check types include `max_ttft_ms`, token budgets, and G-Eval judges.
- Server-Sent Events responses are read in real-time with access to `response.events` and `response.ttft_ms`.
- Support for `stream: openai | anthropic | vercel-ai | sse` presets.
New Features
- AI checks engine with new validation metrics (ttft_ms, budgets)
- Real-time SSE reading capabilities
- Cached judge verdicts for performance
- Parallel judge execution
Full Release Notes
## 1.4.0 (2026-10-10)
### 🚀 Features
- AI checks are now part of the engine. A request or graphql step's `expect:` block (the Stresseur syntax, unchanged) is validated on import and evaluated by `devtools flow run` after the flow's steps finish, so it never counts in step timings. Results are printed under the flow's table and written to the JSON report as each step's `checks[]` (`kind`, `passed`, `score`, `reason`, `judge_model`, `cached`, `value`, `limit`). ([4b494b2f](https://github.com/the-dev-tools/dev-tools/commit/4b494b2f))
- **Checks:** `schema`/`schema_at`, `max_latency_ms`, the new `max_ttft_ms`, token budgets from `usage`, and a G-Eval `judge` (Anthropic or any OpenAI-compatible API). The judge uses injection-resistant prompting, logprob weighting or borderline re-sampling, and runs in parallel.
- **Judge key:** `STRESSEUR_JUDGE_API_KEY`, `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`, from the environment or `./.env`. Without one, judge checks are skipped with a notice.
- **Cache:** verdicts are cached in `--judge-cache`, default `.devtools/judge-cache.json`.
- **Exit code:** failed checks fail a flow only with `quality: { fail_below: … }`.
Server-Sent Events responses are now read as they arrive. A text/event-stream response streams automatically; a request step's `stream: openai | anthropic | vercel-ai | sse` picks the preset that assembles the text, and `stream_timeout_ms` bounds an open stream (default 30 s). Assertions, `expect:` and later steps can read `response.text`, `response.events`, `response.event_count`, `response.ttft_ms` and the streamed `response.usage`.
### ❤️ Thank You
- moosebayRelated Repositories
ggml-org/llama.cpp★ 131,952
LLM inference in C/C++
LadybirdBrowser/ladybird★ 66,607
Truly independent web browser
ClickHouse/ClickHouse★ 50,532
ClickHouse® is a real-time analytics database management system
LizardByte/Sunshine★ 42,491
Self-hosted game stream host for Moonlight.
deskflow/deskflow★ 29,983
Share a single keyboard and mouse between multiple computers.