Skip to content

skeino 1.1.0

Choose a tag to compare

@ranjitjana027 ranjitjana027 released this 10 Jun 17:48
· 11 commits to main since this release
7d32842

Changed

  • The SQLite metadata store enables journal_mode=WAL and a 10 s busy timeout at setup, preventing database is locked errors when sharing a database file with the SQLite checkpointer. WAL persists in the database file once enabled. (#36)
  • Metadata store row shapes are now a typed contract: ThreadRow/RunRow TypedDicts (exported from skeino.persistence) replace the dict[str, Any] returns on MetadataStoreProtocol, and every backend now always includes the error key on run rows. HTTP responses are unchanged; custom MetadataStoreProtocol implementations should return the new shapes. (#36)
  • MongoDB: both the checkpointer and the metadata store now use the database named in the mongodb://…/<db> URI path. URIs without a path keep the previous defaults (checkpointing_db for checkpoints, skeino for metadata). If your URI already names a database, both stores re-point to it on upgrade — existing data in the old default databases is not migrated. (#36)

Fixed

  • Per-run token usage is now measured with a UsageMetadataCallbackHandler attached to each run's config, so X-Tokens-Used and the streaming end event report the run's own tokens — including for graphs that never store usage-bearing messages in checkpoint state (previously reported as 0), and without the cumulative over-count on multi-turn threads. Summing the final checkpoint's messages remains as a fallback. (#52)
  • PyPI trove classifier updated to Development Status :: 5 - Production/Stable. (#48)

Internal

  • New infra-backed tests/api suite exercising the HTTP surface against real Postgres/Mongo/Redis via docker compose (local-only, not in CI). (#47)

Full Changelog: v1.0.1...v1.1.0