Commit Graph

65 Commits

Author SHA1 Message Date
null 9300f4b670 fix(ui): edit git 2026-05-21 23:30:19 -05:00
null c7db20d1e8 feat(ui): issues card 2026-05-21 23:01:31 -05:00
null f59208c3ac fix(ui): git 2026-05-21 22:33:41 -05:00
null f0eb706d82 fix(ui): top navbar 2026-05-21 21:02:03 -05:00
null 834fa4fdb0 feat(ui): top navbar ai info 2026-05-21 20:30:01 -05:00
null f48cf45cce feat(ui): edit ai providers 2026-05-21 20:11:46 -05:00
null ac29c79ff2 fix: ai local auth 2026-05-21 19:50:19 -05:00
null 66bbdd7398 fix: claude local 2026-05-21 19:42:46 -05:00
null 4ca3ede009 fix: ai reauth 2026-05-21 04:25:31 -05:00
null ff5aa5f4f1 fix 2026-05-21 04:16:19 -05:00
null a6c24673bc fix(scripts): ai 2026-05-21 03:29:35 -05:00
null dc5af312a6 fix: regenerate TypeScript types for Phase 4 typed limits
- Add total_output_tokens, output_token_limit/pct/source, total_token_limit/pct/source, message_limit/pct/source to RuntimeUsageCurrent
- Add output_tokens_per_minute to RuntimeUsageBurnRate
- Add limit_kind to RuntimeUsagePredictions
2026-05-21 02:07:25 -05:00
null cd688ced26 feat(usage): per-account limit rows and aggregate labeling (#41)
- Add PerGatewayUsage interface and buildPerGatewayUsage() function
- Each gateway's most constrained limit shown independently, sorted by exhaustion
- Per-account rows render BEFORE aggregate summary
- Aggregate cards labeled 'Combined' when multiple gateways exist
- 'Soonest reset' and 'Combined limit' labels replace misleading single-gateway labels
- Filter out gateways with no configured limit to reduce noise
2026-05-21 01:57:13 -05:00
null 5217a70c9f feat(usage): separate limit types — typed limits for output tokens, total tokens, messages (#39)
- Add typed limit fields to RuntimeUsageCurrent: output_token_limit,
  total_token_limit, message_limit with matching pct and source
- Add total_output_tokens and output_tokens_per_minute to burn rate
- _build_current() now computes each pct from matching units only
- Legacy token_limit backfilled from typed limits for backwards compat
- Frontend aggregateRuntimeUsage() tracks typed limits separately
- limit_kind field on predictions indicates which limit drove time-to-limit
2026-05-21 01:43:28 -05:00
null 02eb03d408 feat(usage): fix local window estimation + provider-native windows + pricing updates (#37 #38 #40)
Phase 3 (#38): Fix reset_in_ms=0 bug
- Add _oldest_active_ts() to find oldest session timestamp in 5h window
- _build_window() now anchors fallback to oldest_event_ts + 5h instead of now - 5h
- Add _parse_rate_limit_reset_value() and _extract_rate_limit_reset_at() for proper rate-limit reset parsing
- Source/confidence labeling now based on reset provenance

Phase 2 (#37): Provider-native usage windows
- ParsedClaudeUsageWindow dataclass with section-aware parsing
- Frontend ProviderNativeUsageWindow interface and provider-native usage section
- sessions.list call now has 8s timeout to avoid gateway blocking

Phase 5 (#40): Pricing fixes
- Opus cache_write corrected .75 → .75
- Added GPT-4.1/mini/nano, GPT-4.5 pricing
- Pricing override loader supports both shapes (rates_usd_per_million wrapper and direct dict)
2026-05-21 01:32:59 -05:00
null 8d11f4f840 feat(usage): add source/confidence fields and relabel API rate limits (Phase 1, #36)
- Add source and confidence fields to RuntimeUsageWindow, ModelUsageEntry,
  TopSession, RuntimeUsageCurrent, and ProviderUsageScrapeResult schemas
- _build_window() assigns source based on data origin:
  provider_native > provider_api_rate_limit > local_jsonl_estimate
- _build_current() tags token_limit_source and cost_limit_source
- Frontend relabels 'Current session'/'All models' to 'API rate limit'
- Shows source label and confidence in usage strip
- Changes 'did not return active usage windows' to 'did not return
  API rate-limit windows for percent + reset diagnostics'
2026-05-21 01:01:05 -05:00
null 184d86c58a fix(ui): import agent button 2026-05-21 00:19:42 -05:00
null 9650283367 fix(ui): api usage 2026-05-20 23:46:45 -05:00
null 03bc31a558 fix(db): make main_session_key nullable on gateways
The column was NOT NULL but the ORM create path doesn't populate it
until ensure_main_agent() runs after INSERT. Make it nullable so the
initial create succeeds.
2026-05-20 23:22:54 -05:00
null fc4094d49f fix(frontend): remove debug_rate_limit_headers from ai-providers page 2026-05-20 23:04:36 -05:00
null ebba838025 feat(scripts): credentials usage 2026-05-20 23:03:19 -05:00
null 07b47ace8f fix(infra): bind-mount postgres to ./data/postgres, gitignore data/
- Switched from Docker named volume to bind mount ./data/postgres
- DB data persists on disk across rebuilds (no more re-inputting keys)
- Added data/ to .gitignore
- Updated docker-test.sh docs to reflect bind mount
- Included uncommitted ai-providers page changes
2026-05-20 22:57:31 -05:00
null 5637c41d1a fix (ui): settings page 2026-05-20 22:20:53 -05:00
null 4c5264d2ed feat(admin): gateway restart, config edit, logs, provider credentials (batch 6, #35) 2026-05-20 22:03:57 -05:00
null 4e40323e71 feat(gateway-ops): memory, cron, and health panels (batch 5, #34) 2026-05-20 21:32:46 -05:00
null 16b23eef2e feat(runtime-activity): live feed and activity correlation (batch 4, #33) 2026-05-20 21:08:20 -05:00
null 609d04095d feat(runtime-usage): dashboard cards, session enrichment, and regenerated API client (batch 2, #31) 2026-05-20 20:45:07 -05:00
null 19a40d7cec fix(heatmap): text 2026-05-20 04:18:30 -05:00
null e083e4e10c fix(heatmap&import_agent): corrections 2026-05-20 04:13:32 -05:00
null ac6320f6de bug: heatmap 2026-05-20 04:01:44 -05:00
null 6f789a4284 feat: heatmap 2026-05-20 03:54:58 -05:00
null 7b20d2c26d feat: Add Close Issue Action 2026-05-20 03:35:26 -05:00
null d85912c4c9 fix(auth): fallback to env token in useAuth and mutator for SSR
Local auth was using getLocalAuthToken() which only checks in-memory
and sessionStorage — both unavailable during SSR. The env token
(NEXT_PUBLIC_LOCAL_AUTH_TOKEN) was defined but never called in the
auth flow. Now useAuth, hasLocalAuthToken, and customFetch all fall
back to getEnvToken() so SSR correctly identifies the local user as
signed in and admin.
2026-05-20 03:29:15 -05:00
null 9fada7dd5c feat: Add Board-Level Linked Issues Panel 2026-05-20 03:27:14 -05:00
null 08ea822edf fix(issues): filter pull requests from issue list (#23) 2026-05-20 03:20:49 -05:00
null 31e3b07d24 feat: #24 2026-05-20 03:16:52 -05:00
null 9ff87b7e20 fix (ui): tables 2026-05-20 03:09:22 -05:00
null 1f94bfab8d fix(ui): reorder issue columns — labels + updated before author, responsive audit 2026-05-20 02:56:56 -05:00
null 993d21e406 bug: git underfined params 2026-05-20 02:23:07 -05:00
null ad5ca38a86 bug: shadcn ui merge 2026-05-20 01:41:15 -05:00
null d45fd42c7f bug: git 2026-05-20 01:35:45 -05:00
null 0d5d6573ed bug : git error 2026-05-20 01:22:16 -05:00
null f3746f806c bug: git token loop 2026-05-20 00:42:15 -05:00
null a97331ae3f bug: streamline shadcn 2026-05-20 00:21:34 -05:00
null 74d26afffa fix: ui shadcn 2026-05-20 00:02:20 -05:00
null c88dfc1762 fix: (dashboard) total ui rewrite 2026-05-19 23:11:32 -05:00
null edb92047a6 fix: (dashboard) ui 2026-05-19 22:59:39 -05:00
null ee6cfe9531 feat: git test connection and pull 2026-05-19 22:53:55 -05:00
null 7e66742269 fix: ui git settings button 2026-05-19 22:48:49 -05:00
null fc5ea83e0b bug: cors git fix localdev 2026-05-19 22:44:29 -05:00