feat(plugins): add a read-only usage.listTurns API - #602
Merged
Merged
Conversation
Give plugins a host-owned completed-turn fact listing gated by usage.read, so dashboards like pi.token-insights can stop reading pi.sqlite. The host returns identifiers and token counters only: no message body, no ranking, no dashboard shape. Query logic lives in plugin_usage.rs. Electron and host reject the same window/limit bounds; empty session titles serialize as null.
cargo fmt on sessions.rs and user_skills tests, and make ADR 0287/0288 H1 ids match their filenames so the host and docs jobs can pass.
vastsa
force-pushed
the
feat/plugin-usage-api
branch
from
September 18, 2026 13:58
e4c47a8 to
af1580c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#503 叠在未合的 #502 上,且和 main 冲突。这是同一刀用量 API,从当前
main重提,不含索引/统计页。Summary
pi.usage.listTurns+usage.read(medium)plugin_usage.rs,不往rpc/mod.rs堆 SQLnullTest
cargo test -p host-core plugin_usagenode --test test/plugin-session-api.test.mjsRelates to #478, #503. Does not replace #502.