Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ All notable changes to `yoagent` are documented here. The format loosely
follows [Keep a Changelog](https://keepachangelog.com/), and the project
adheres to [Semantic Versioning](https://semver.org/).

## Unreleased

### yoagent
## 0.25.6 (2026-10-16)

- **DeepSeek is priced** (after `prices::enable_bundled()`): `deepseek-flash`, `deepseek-v4-pro` and the legacy `deepseek-v4-flash` (billed as Flash), from DeepSeek's pricing page. **At the peak rate:** DeepSeek bills half of it off-peak (all hours but 01:00–04:00 and 06:00–10:00 UTC on weekdays), and a `CostConfig` has no time of day, so costs are an upper bound — off-peak they read up to twice the bill, and a `Budget` stops early rather than late. Install the off-peak rates as an override to count those instead (`docs/concepts/pricing.md`). `ModelConfig::deepseek(..)` for those ids now has a `cost`; `Budget::for_model` works for them. The price audit checks the rates as exactly twice models.dev's off-peak ones, and models.dev data (`enable_live`, a fetch or a price cache written by an earlier version) never brings DeepSeek's off-peak rates back over the bundled peak ones. `examples/llm_compaction_live.rs` reads DeepSeek's rates from the snapshot instead of its own literals.

### yoagent-rutis (0.4.0)
## yoagent-rutis 0.4.0 (2026-10-16)

yoagent-rutis only; requires yoagent 0.25, rutis 0.9 and Rust 1.88. A minor bump: new public API (`adapters`, the `probe` feature).

- **`yoagent_rutis::adapters`: where the pi and DSH adapters are.** `adapters()` returns the folders of the adapter files the crate ships (`plugins/pi`, `plugins/dsh`, `plugins/yoagent.d.ts`), so a host can copy them and `npm ci` the copy instead of keeping its own copy of them in step with the crate's.
- **`yoagent_rutis::probe` (feature `probe`): vet a plugin package without running it as an agent.** `probe::pi` and `probe::dsh` load a pi extension or DSH plugin rows through the adapter, as an agent would, and report what an agent gets — tools, prompt additions, which DSH services it needs and whether they exist, skills, and what the plugin logged — without calling a tool or a model. Both take `plugins`, a copy of `adapters().root` with `npm ci` run in its `pi/` and `dsh/`. Each report's `problem()` is the verdict (`None` = a clean load). Probes in one process run one at a time, so each report carries its own plugin logs. It is what `examples/ecosystem_probe.rs` (the compatibility matrix's probe, now with `--plugins`) ran; the example now calls it, with the same verdicts. The feature adds `rutis-loader`, `tempfile` and `tracing-subscriber`; the default build is unchanged.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "yoagent"
version = "0.25.5"
version = "0.25.6"
edition = "2021"
# MSRV-aware dependency resolution (cargo 1.84+): prefer dependency versions
# whose own rust-version fits ours. Without it CI re-resolves to whatever is
Expand Down
2 changes: 1 addition & 1 deletion integrations/yoagent-rutis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "yoagent-rutis"
version = "0.3.1"
version = "0.4.0"
edition = "2021"
resolver = "3"
description = "Extend yoagent agents at runtime with rutis plugins, as one yoagent Extension: tools, tool policy, output filters, turn notes, input checks, verifiers and events"
Expand Down
2 changes: 1 addition & 1 deletion integrations/yoagent-rutis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -713,7 +713,7 @@ as `yoagent-rutis`: a crates.io `yoagent` next to a git `yoagent-rutis` is two

```toml
yoagent = "0.25"
yoagent-rutis = "0.3"
yoagent-rutis = "0.4"
```

## License
Expand Down
11 changes: 10 additions & 1 deletion skills/yoagent/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Use when building, extending or upgrading an agent on the yoagent R

# yoagent: which feature for which job

Written for **yoagent 0.25.5** (and yoagent-rutis 0.3.0); the recipes
Written for **yoagent 0.25.6** (and yoagent-rutis 0.4.0); the recipes
below are compiled by `tests/skill_test.rs`, line for line. Check what you
build against: `cargo tree -p yoagent` or `Cargo.lock`. If you are on an
older version, read [What changed](#what-changed) first.
Expand Down Expand Up @@ -198,6 +198,11 @@ and its examples.

Newest first; the full list is `CHANGELOG.md`.

- **0.25.6** — DeepSeek is priced (after `prices::enable_bundled()`):
`deepseek-flash`, `deepseek-v4-pro`, `deepseek-v4-flash`, at the **peak**
rate (off-peak is half; a flat price has no time of day), so its costs are
an upper bound and a `Budget` stops early rather than late. Install the
off-peak rates as an override to count those (`docs/concepts/pricing.md`).
- **0.25.5** — the built-in `search` tool ignores the user's ripgrep
config (`--no-config`) and `GREP_OPTIONS`, finds `rg` without `which`
(`details.engine` says `"rg"` or `"grep"`), and reports a search that
Expand Down Expand Up @@ -230,6 +235,10 @@ Newest first; the full list is `CHANGELOG.md`.
- **0.24.2** — built-in tool sandbox fixes (path escapes, `search` flag
injection, Gemini key out of the URL, tool panics contained).
- **0.24.1** — `retry_safe_events`.
- **yoagent-rutis 0.4.0** — `adapters()` (the pi and DSH adapter files the
crate ships: copy `root`, `npm ci` the copy) and the `probe` feature: vet
a pi extension or DSH plugin without running it as an agent; each
report's `problem()` is the verdict.
- **yoagent-rutis 0.3.0** — rutis 0.9 (Rust 1.88); Bun and Go plugins;
the 16 MiB guard.

Expand Down
Loading