Commit Graph

97 Commits

Author SHA1 Message Date
null 1076ca27bb feat(forgejo): add create issue dialog and integrate with metric cards 2026-05-22 22:14:51 -05:00
null 463a75fdb7 fix(metric-card): update action button rendering and styling for better UX 2026-05-22 21:35:30 -05:00
null 7a29aaac14 feat(forgejo): enhance repository selection and sync functionality in metrics cards 2026-05-22 21:25:41 -05:00
null 9a21ce41d4 fix(heatmap): simplify range selection display by removing unnecessary span elements 2026-05-22 21:11:46 -05:00
null d850b9bbfb fix(heatmap): replace SelectValue component with span for displaying selected value 2026-05-22 21:04:02 -05:00
null bf986529b3 feat(heatmap): add range selection component and update range keys for activity metrics 2026-05-22 20:55:02 -05:00
null b16e9bb3c8 feat(users): add Forgejo profile synchronization and related fields 2026-05-22 20:29:13 -05:00
null 74056664d4 feat(issue-metrics): add live timestamp formatting for last sync health and update state management 2026-05-22 19:40:08 -05:00
null f0a5c430f1 feat(heatmap): enhance heatmap functionality with improved activity date formatting and dynamic hover effects 2026-05-22 18:56:32 -05:00
null d8a2619313 feat(heatmap): refactor heatmap rendering logic and improve date handling 2026-05-22 18:36:12 -05:00
null 502c44d560 feat(metrics): update heatmap metrics to reflect data for the last year 2026-05-22 17:54:42 -05:00
null b01c11fb05 feat(navbar): enhance reset label formatting to include full reset date 2026-05-22 17:44:14 -05:00
null fded1d16da feat(dashboard): simplify sidebar navigation by removing redundant header 2026-05-22 17:13:14 -05:00
null f0f53bcc73 feat(dashboard): refactor navigation items to use NavItem component and enhance styling 2026-05-22 16:45:09 -05:00
null 2d91325937 feat(forgejo-metrics): refactor line stats fetching to use commit stats endpoint and update caching logic 2026-05-22 16:40:09 -05:00
null 7802400970 feat(forgejo-metrics): add last-push endpoint and related caching logic for recent commits 2026-05-22 16:25:47 -05:00
null dd9681925e feat(forgejo-metrics): adjust line stats caching strategy and improve retry logic for contributor stats 2026-05-22 16:19:15 -05:00
null c04ab6ac8b feat(dashboard): enhance metric cards with new tone classes and improve styling 2026-05-22 16:17:39 -05:00
null bbfde53fe9 feat(forgejo-metrics): enhance heatmap metrics to include line contributions and adjust time frame to last 6 months 2026-05-22 16:04:32 -05:00
null 99965330b5 feat(provider-credentials): add endpoint to rescan local credentials and update tokens
feat(usage): enhance reset time formatting and display full reset date in UI
2026-05-22 15:19:04 -05:00
null 25abfd3e15 feat(claude-code): integrate Claude Code API with session tracking, config scanning, and CLI detection 2026-05-22 04:23:27 -05:00
null a58bbe9f99 feat(boards): add auto_close_issue_on_task_done flag and implement issue closure on task completion 2026-05-22 04:06:57 -05:00
null ff545bff34 feat(assign-issue): implement linked boards fetching for repository in AssignIssueAgentDialog 2026-05-22 03:57:13 -05:00
null d7b3c08d06 feat(ui): assign agent 2026-05-22 01:48:06 -05:00
null 5f8078399c fix(scripts): issues 2026-05-22 01:44:39 -05:00
null 585fc52cd2 fix(scripts): provision edit approval 2026-05-22 01:31:48 -05:00
null d1c0a988d3 fix(scripts: imports all / stay in provisioning 2026-05-22 01:19:14 -05:00
null 36025c6c67 fix(ui): roles 2026-05-22 00:55:56 -05:00
null 7678efedc8 fix(ui): clow window button spacing 2026-05-22 00:41:19 -05:00
null a985af3f4a feat(ui): comment insert / close 2026-05-21 23:45:59 -05:00
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