Commit Graph
69 Commits
Author SHA1 Message Date
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 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
inference-bot 2625a6cc83 Add listmonk newsletter sync (subscribe on provision, unsubscribe on deactivate) 2026-09-16 15:44:56 -06:00
inference-bot ca3eeccc48 Add Reply-To: info@inference.coop on all outgoing email (sendmail pins From to portal.app@) 2026-09-15 09:11:44 -06:00
inference-bot 1312df4131 Add rate limiting (slowapi) to control-plane endpoints: admin, broker, webhook, /v1/models 2026-09-14 20:58:13 -06:00
inference-bot 505f3d9f48 Security cleanup: remove dead OPENCOLLECTIVE_SECRET + migrate-teams endpoint + unused helpers; default firstPayment=False 2026-09-14 18:39:28 -06:00
inference-bot 1a3c6027bd Migrate admin endpoints from token-in-URL to X-Admin-Token header 2026-09-14 18:05:58 -06:00
inference-bot fabd5a37ae Admin overview: add activated (inviteAccepted) field 2026-09-14 17:00:54 -06:00
inference-bot 8e4bf64199 Admin overview: include username (resolved from Cloudron user list) 2026-09-14 16:53:34 -06:00
inference-bot 9da67a9021 Add /admin/overview endpoint (member list + spend + co-op aggregates) 2026-09-14 16:39:54 -06:00
inference-bot 841eb70e4d Stream (don't buffer) the chat response so members see tokens immediately 2026-09-14 15:15:58 -06:00
inference-bot 87374dfeab Broker usage: add reset_at (credit renewal date) 2026-09-14 14:28:16 -06:00
inference-bot 0453cee019 Broker usage: add per-model token/spend breakdown + total_tokens + email 2026-09-14 14:18:59 -06:00
inference-bot 60d1bf2328 Fix injector ReadTimeout (600s read timeout); switch default model to deepseek-v4-1-flash 2026-09-14 14:11:15 -06:00
inference-bot 3024bfec74 Broker: resolve username->email via Cloudron user list (proxyAuth injects username, not email) 2026-09-14 12:59:42 -06:00
inference-bot a46c016817 Add /broker/usage (spend vs balance) + fix broker to use member balance 2026-09-14 10:46:47 -06:00
inference-bot 71d63955b3 Flexible balance: per-member balance (DB) synced to team budget; keys inherit team; add /admin/set-balance top-up endpoint 2026-09-14 10:41:26 -06:00
inference-bot b0c68c5dda Add broker: member-managed API keys (create/list/revoke) scoped to team, BROKER_SECRET-authenticated 2026-09-14 09:43:38 -06:00
inference-bot 2ac821087e Teams migration: per-member LiteLLM team + fresh sk- key (fixes hash-key bug breaking chat for 3 members) 2026-09-14 09:14:26 -06:00
inference-bot 8dfd666912 Add cloudron_update_profile helper; fill empty displayName on existing users during provisioning 2026-09-13 15:45:01 -06:00
inference-bot 473f1b2da8 Fix fetch_members GraphQL (email needs inline fragment); add fail-safe against empty-member-list deactivation 2026-09-13 13:33:30 -06:00
inference-bot 4f4ea79c3b Add MANUAL_MEMBERS allowlist: exempt founder-tier members from sweep deactivation 2026-09-11 19:39:39 -06:00
inference-bot 7971a36544 Add ToS/Privacy links to welcome email footer 2026-09-11 17:45:48 -06:00
inference-bot cc39f5ae79 Remove OAuth flow (join/oauth endpoints, pending_members, dead helpers); provision via webhook + own email 2026-09-11 14:17:08 -06:00
inference-bot eaeda98bac Provision on webhook (firstPayment) with own welcome email + invite_link; drop OAuth dependency 2026-09-11 14:07:51 -06:00
inference-bot 14e838a798 Style welcome email to match landing page (centered card, logo, green button) 2026-09-11 13:52:21 -06:00
inference-bot c1866df2a4 Add email notifications (sendmail) + membership sweep (scheduler): welcome email on webhook, reconcile endpoint, daily sweep 2026-09-11 13:45:18 -06:00
inference-bot 12d36b8244 Add /admin/provision endpoint; include glm-5-3-flash in member keys 2026-09-10 11:53:45 -06:00