Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
6a64b89
[Feat]: Per-LLM-call credit quota with admin UI (issue #15)
FireTable Jul 11, 2026
f0b15de
[Refactor]: Prefix subgraph nodes with per-agent name
FireTable Jul 11, 2026
879d359
feat: per-LLM-call credit quota with admin UI (issue #15)
FireTable Jul 12, 2026
02ce9ec
fix(credit): unify QuotaCard visuals with credit slot
FireTable Jul 12, 2026
da1781a
refactor(credit): extract shared /api/credit/status reader to lib/cre…
FireTable Jul 12, 2026
6adc71e
feat(settings): credit summary section with 4 stat cards + absolute t…
FireTable Jul 12, 2026
7484a01
fix(ui): swallow the click that opens a Radix dropdown when content o…
FireTable Jul 12, 2026
f366fc2
refactor(provider): deriveKeyName returns first-3 + ellipsis + last-4
FireTable Jul 12, 2026
3afa415
fix(admin): polish admin tables with sentence case + Dialog confirms …
FireTable Jul 12, 2026
8e7c6a4
fix(ui): catch opener-press release in Radix dropdowns
FireTable Jul 12, 2026
a8eeebf
style(credit): mute CoinsIcon in QuotaProgress unlimited view
FireTable Jul 12, 2026
5311469
feat(credit): render Skeleton in UserButton slot during load
FireTable Jul 12, 2026
f355795
style(credit): collapse slot header to single Skeleton
FireTable Jul 12, 2026
d05fc0d
style(credit): render header chrome in slot skeleton
FireTable Jul 12, 2026
1aa5641
refactor(credit): extract QuotaHeader for shared icon+label chrome
FireTable Jul 12, 2026
2c01727
feat(credit): navigate to /settings/credit on CreditUsageSlot click
FireTable Jul 12, 2026
dd8360d
refactor(credit): unify on Credit — Quota* → Credit* across UI + back…
FireTable Jul 12, 2026
bf9e280
docs: align credit terminology with code rename (quota → credit)
FireTable Jul 12, 2026
0a3e668
style(email): clarify 429 comment (provider rate limit, not our credit)
FireTable Jul 12, 2026
3626126
fix(credit): honor windowHours in SQL and resetAt boundary
FireTable Jul 12, 2026
e012655
fix(credit): stringify windowStart before binding to sql template
FireTable Jul 12, 2026
10889e2
fix(credit): utc-anchor windowStart + display polish
FireTable Jul 12, 2026
bd630f0
feat(admin): refactor tabs to dialogs and re-derive api key name on r…
FireTable Jul 12, 2026
9002cbe
feat(admin): add users tab — role dropdown, ban, kick sessions
FireTable Jul 12, 2026
dab607d
fix(auth): surface USER_BANNED message on signin
FireTable Jul 12, 2026
0828783
fix(dev): make dev:stop actually kill stale listeners
FireTable Jul 12, 2026
8c29e15
fix(test): don't crash global setup when LLM_KEY_ENCRYPTION_KEY is ab…
FireTable Jul 12, 2026
a3e6346
fix(credit): share creditTrackingHandler and register on background a…
FireTable Jul 12, 2026
0d18fe2
feat(provider): DB-backed model registry with LRU + CUD cache bust
FireTable Jul 12, 2026
3be7560
fix(backend): make chatModel pick up DB-backed provider at module load
FireTable Jul 12, 2026
d204d6c
fix(admin): make model name editable in Edit dialog
FireTable Jul 12, 2026
eb61dcc
refactor(model): rename getChatModel → getChatModelFromDB; new getCha…
FireTable Jul 12, 2026
5de6011
fix(provider): shorten LRU TTL to 60s for cross-process visibility
FireTable Jul 12, 2026
a03a026
docs: align ADMIN/CREDIT/DB/APIS with the actual branch state
FireTable Jul 12, 2026
650db45
docs: add PROVIDERS.md for the DB-backed chat-model registry
FireTable Jul 12, 2026
6871ded
docs: update README + admin copy + package.json metadata
FireTable Jul 12, 2026
78d5e14
docs: cover show_credit_card + LLM_KEY_ENCRYPTION_KEY + INITIAL_ADMIN…
FireTable Jul 12, 2026
2b00db4
chore: drop docs/TODOS.md (open follow-ups now live as GitHub issues)
FireTable Jul 12, 2026
96c5a9e
docs: cover proxy gates + key rotate/rename split
FireTable Jul 12, 2026
44071f8
fix(admin): encrypt-only key path + typed duplicate on POST
FireTable Jul 12, 2026
76f0284
fix(admin): unban of sole admin + 3 doc drift fixes
FireTable Jul 12, 2026
aaa75ea
fix(lint): drop meaningless void + oxfmt --fix normalization
FireTable Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -194,4 +194,19 @@ OBSERVABILITY_RETENTION_DAYS=30
# rejects patches that would push the doc over this limit.
# Default 8192.
MEMORY_THREAD_SUMMARY_KEEP_RECENT=10
MEMORY_PROFILE_MAX_BYTES=8192
MEMORY_PROFILE_MAX_BYTES=8192

# Provider encryption KEK — AES-256-GCM key that wraps every entry in
# `provider.apiKeys[].encryptedKey`. REQUIRED to start the server; the
# admin UI returns 503 on first request if this is missing or malformed
# (we refuse to silently fall back to "no encryption" mode).
# Generate once with: openssl rand -hex 32
# Set-and-forget: rotating it is out of scope for this project (would
# require a one-shot re-encryption script over every row in provider.apiKeys).
LLM_KEY_ENCRYPTION_KEY=

# Bootstrap admin email. On signup, if the user's email matches this value
# (case-insensitive), their role_id is set to 'admin'. Idempotent — leave
# set forever; only the FIRST signup with this email is promoted. To add
# a second admin later, use the admin UI role management tab.
INITIAL_ADMIN_EMAIL=
7 changes: 6 additions & 1 deletion .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,9 @@ JINA_API_KEYS=jina_test_key_1,jina_test_key_2
# to load; withAuth HOC tests mock getSession() directly so the secret
# value is never validated against real signatures.
BETTER_AUTH_SECRET=test_secret_aabbccddeeff00112233445566778899
BETTER_AUTH_URL=http://localhost:3000
BETTER_AUTH_URL=http://localhost:3000

# LLM KEK — fake 32-byte key (64 hex chars) for unit tests. Used by
# lib/provider/model-registry tests to round-trip a real encrypted key
# through aesGcmDecrypt. Not a real KEK — never used in production.
LLM_KEY_ENCRYPTION_KEY=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
1 change: 0 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ Guidance for Claude Code in this repo. Features, layout, env vars, tech stack
| Auth setup, OAuth, troubleshooting | `docs/AUTH.md` |
| DB schema, ownership, indexes | `docs/DB.md` |
| CI/CD, Docker, deploys | `docs/CI.md` |
| Open follow-ups / parked decisions | `docs/TODOS.md` |

API changes update `docs/APIS.md` in the same commit (rule 1). Tool changes update `docs/TOOLS.md` (rule 10).

Expand Down
79 changes: 56 additions & 23 deletions README.md

Large diffs are not rendered by default.

Loading
Loading