| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-04 | 2.3 kB | |
| v0.3.0 source code.tar.gz | 2026-05-04 | 2.0 MB | |
| v0.3.0 source code.zip | 2026-05-04 | 2.2 MB | |
| Totals: 3 Items | 4.2 MB | 0 | |
Highlights
- feat(llm): per-row cost on llm_usage_logs (#1124). Every row in
llm_usage_logshad been writingcost=0.000000since the file-store -> Postgres migration. Adds a per-model pricing table atbackend/app/services/llm_pricing.pycovering Sonnet 4.6, Opus 4.7, and Haiku 4.5 (plus dated aliases) and applies Anthropic's 1.25x / 0.10x cache write / cache read multipliers. Existing rollups now show real dollar amounts. - feat(calendar): auto-resolve to primary calendar when
calendar_idis omitted (#1122). Contractors with crew sub-calendars (Personal + Vinny + Isaac, etc.) used to hit "Multiple calendars available. Please specify calendar_id." every time the agent created an event without naming a calendar, forcing an LLM retry. Adds anis_primaryflag mirroring Google'sprimary: trueand falls through to it when the LLM omitscalendar_id. - fix(ingestion): recover orphan inbound messages on app startup (#1125). The
MessageBatcherschedules an in-memory flush timer 1.5 s after persisting an inbound. If the worker died inside that window (deploy, OOM, crash), the timer was lost and the message sat in the DB with no agent reply. Startup now scans for orphan inbounds and re-queues them. - fix(companycam): accept JSON-string
tagsonupload_photo/tag_photo(#1121). The LLM occasionally over-quotes thetagsargument as a JSON-encoded string instead of a real JSON array. Mirrors the [#1073] fix forqb_create/qb_update: afield_validator(mode="before")decodes JSON-string tags before Pydantic validation, saving one tool error + retry per occurrence. - fix(dashboard): hide LLM provider/model card for premium users (#1127). The dashboard's Settings card linked to
/app/settings, where premium hides the Model tab. Premium admins saw the card but the click was a dead end. Hide the card for all premium users; OSS single-tenant deployments still see it.
Other
- (#1126) chore(deps): bump postcss 8.5.8 -> 8.5.13.
- (#1120) docs(heartbeat): drop stale quiet-hours / business-hours references.
Operator notes
No new migrations. The pricing table covers Anthropic models we currently invoke; if you point LLM_MODEL at a model not listed in llm_pricing.py, the row writes cost=NULL rather than crashing.