inference-bot
29823e87d5
Matrix mxid lookup: paginate Cloudron users API (25/page) — was missing page 2+
2026-10-02 13:03:14 -06:00
inference-bot
f86ead8653
Matrix invite: honor 429 retry_after_ms (3 attempts)
2026-10-02 12:29:41 -06:00
inference-bot
07a1f2ad4e
Fix Cloudron users API response shape ({users: [...]})
2026-10-02 12:28:39 -06:00
inference-bot
82ada8c95b
Matrix: invite all active members to co-op Space + General room on every sync (SSO usernames via Cloudron lookup; MATRIX_EXTRA_MXIDS for federated accounts)
2026-10-02 12:27:45 -06:00
inference-bot
cddd9b6e3c
Loomio username fix: allow hyphens in uids (was falling through to email local-part for inference-admin/bot)
2026-10-02 08:41:03 -06:00
inference-bot
ef253d01a0
Loomio: fix auto-generated usernames after sync (b3 server API; prefer Cloudron uid, fall back to email local-part)
2026-10-02 08:36:10 -06:00
inference-bot
070c6525cd
Broker usage: expose all_time_spend (member's lifetime total from SpendLogs) in both DB and HTTP paths
2026-10-01 16:07:10 -06:00
inference-bot
7af02f6466
Model aggregation: order by requests (usage) not spend — matches leaderboard bars and member-facing intent
2026-10-01 15:56:53 -06:00
inference-bot
19c04f37fa
Fix days-filter in aggregate_model_usage: COALESCE(startTime,'') is invalid SQL (empty-string not a timestamp) — windowed queries always failed to empty
2026-10-01 15:54:58 -06:00
inference-bot
69beb9c002
Broker: co-op-wide model leaderboard endpoint for member dashboard (aggregate, anonymized)
2026-10-01 15:35:57 -06:00
inference-bot
778a7f8fd2
Rate-limit the key-injector proxy path (120/min) — only unthrottled sensitive route left
2026-10-01 09:51:57 -06:00
inference-bot
6f0c728513
Overview: expose all_time_spend per member + total_all_time_spend (SpendLogs aggregate)
2026-09-30 22:22:17 -06:00
inference-bot
e00da486b5
Fix broker 403 for members beyond Cloudron's default 25-user page: paginate all /users reads (per_page=100)
2026-09-30 07:46:03 -06:00
inference-bot
64d3c6aa83
Broker: resolve uid- identities (OIDC sub) to email — email-invited users have no username
2026-09-29 21:53:46 -06:00
inference-bot
b93b208659
Broker usage: expose allowance and credits buckets to dashboard
2026-09-27 22:39:54 -06:00
inference-bot
b7d239d9b6
Reset dates follow real billing: webhook re-pins budget_reset_at on every Membership payment (+30d); DB write (API drops the field)
2026-09-27 22:38:05 -06:00
inference-bot
9b1d9edde4
Variable-amount credit pack: grant tip-free contribution amount via public OC order API
2026-09-27 22:17:48 -06:00
inference-bot
315247e5db
Tier resolution via OC tiers API (TierId->face value+name, cached); credits at face value, not total-with-tip; remove debug payload log
2026-09-27 22:14:56 -06:00
inference-bot
f163a5b375
Fix tier detection: OC webhook carries TierId only; parse tier name from order description
2026-09-27 22:04:35 -06:00
inference-bot
a85369341c
TEMP: log full OC webhook payload to diagnose tier field shape
2026-09-27 21:58:25 -06:00
inference-bot
8a320bfed7
Held credit packs: record non-member purchases, notify buyer, auto-grant on join, admin endpoints
2026-09-27 21:54:34 -06:00
inference-bot
df740db283
Expose manual-member flag in admin overview (uses existing MANUAL_MEMBERS set)
2026-09-27 21:18:43 -06:00
inference-bot
5fa2449037
Membership tied to Membership tier: sweep+webhook filter, credit packs HELD for non-members, MANUAL_MEMBERS for legacy
2026-09-27 21:17:03 -06:00
inference-bot
63acea289f
Non-expiring credits: two-bucket budget model, ledger, OC credit-pack webhook, admin endpoints
2026-09-27 19:10:50 -06:00
inference-bot
0c3c12999c
Remove tracked bytecode; ignore __pycache__
2026-09-27 11:15:02 -06:00
inference-bot
54fa4d3fc2
Filter audio models out of chat-facing /v1/models (visible to API users only)
2026-09-27 11:00:53 -06:00
inference-bot
c7ed245939
Read usage aggregations from LiteLLM Postgres directly (HTTP fallback kept)
2026-09-26 16:39:23 -06:00
inference-bot
4600a69cac
Fix dashboard 500s: raise httpx read timeout on /team/list + /spend/logs calls
2026-09-26 16:21:11 -06:00
inference-bot
2ff8193c55
Dashboard usage: prefer model_group alias (provider/model names) — fixes support #5
2026-09-26 16:14:33 -06:00
inference-bot
5c269bf243
Support ?days=N filter on /admin/model-usage
2026-09-26 16:09:38 -06:00
inference-bot
a48f11c654
Prefer model_group alias in model-usage aggregation
2026-09-26 15:33:24 -06:00
inference-bot
810b878014
Add /admin/model-usage endpoint (co-op per-model spend/tokens/requests)
2026-09-26 15:31:07 -06:00
inference-bot
e92e29bac0
Commit key-purge migration DML (backfill fingerprint, purge plaintext idempotently)
2026-09-24 08:02:39 -06:00
inference-bot
c213a489e9
API keys revealed once: store fingerprint (last-4) + hash, purge plaintext
2026-09-24 08:00:02 -06:00
inference-bot
6564508e1d
Remove per-member model allowlist: members access all gateway models (empty models = all allowed)
2026-09-23 20:10:23 -06:00
inference-bot
fd7442e1a4
Idempotent provisioning + auto re-invite of never-activated members
...
- provision_member reuses the stored LiteLLM key instead of minting a duplicate
alias (LiteLLM 400s on member:<email>); fixes re-provisioning of existing members
- store_member preserves an existing slug when none is passed
- add welcome_sent_at + REINVITE_AFTER_DAYS; nightly sweep re-invites
active members who never completed account setup, throttled to 3 days
2026-09-22 16:07:00 -06:00