2 Commits

Author SHA1 Message Date
antonov d2a9b5a0f5 Install into the desktop profile and diagnose browser delivery
The host half is confirmed working end to end: the ledger holds 24 calls
and the authenticated route returns a real total (6.42 RUB, 14 calls, all
attributed, zero unpriced or unattributed). The plugin is present in the
browser boot manifest, so its bundle is served.

Remaining issue is browser delivery only: the pill stays silent, and the
client swallows the transport error. Recon scripts added to pin down
whether the route answers 200, 401 or 404 from the page origin.
2026-10-15 15:35:58 +03:00
antonov b223f51540 Implement the session cost plugin
Host half wraps globalThis.fetch to read usage.cost out of provider
responses (tee, never clone) and listens on the llm/stream seam for the
session; the two halves join on the generation id. Client half adds one
pill to the composer dock under its own id, so the harness's native stats
stay where they are.

Verified against the live API: three calls in one session (agent reply,
compaction, session title) attributed with per-purpose totals, an unknown
session answered with null, the ledger written and reloaded across
instances, and the pill rendering only when a cost exists.
2026-10-15 13:33:05 +03:00