Commit Graph

81 Commits

Author SHA1 Message Date
null a6c24673bc fix(scripts): ai 2026-05-21 03:29:35 -05:00
null 1a0eaeee68 fix(scripts): ai calc 2026-05-21 02:25:50 -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 5c3c09edba feat(usage): prefer explicit cost over estimates + test coverage (#40 #39)
- Add _get_explicit_cost() with priority chain: usage.cost.total > usage.cost flat > cost/cost_usd
- aggregate_per_model() and _top_sessions() now use _get_explicit_cost()
- Fix message limit prediction to use elapsed time instead of total window
- Add 224 lines of test coverage for typed limits, explicit cost priority,
  pricing override shapes, and prediction logic
2026-05-21 01:50:21 -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 c440f98381 fix(scripts): agents discover 2026-05-21 00:13:31 -05:00
null fa5a18bccd fix(scripts): codex/ollama fallback 2026-05-20 23:49:56 -05:00
null 9650283367 fix(ui): api usage 2026-05-20 23:46:45 -05:00
null aa62d285cd fix(db): add missing board columns (description, approval rules)
ORM model had fields that didn't exist in the DB, causing UndefinedColumn
errors when querying boards.
2026-05-20 23:28:41 -05:00
null 2443e0750c fix(db): add gateway_id foreign key to agents table
Agents reference gateways but the migration was missing, causing
ensure_main_agent() to fail on INSERT with UndefinedColumn error.
2026-05-20 23:24:55 -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 328d71b0f8 fix(scripts): preserve DB volume across rebuilds, stop nuking data 2026-05-20 22:53:55 -05:00
null 2060cf7d85 fix(scripts): harden docker-test.sh to be Pipeline-only, add safety docs 2026-05-20 22:44:30 -05:00
null d9bdc4cb3d fix(db): add migration for skills marketplace tables 2026-05-20 22:42:43 -05:00
null 133b0ffb4c fix(db): fix logger calls in schema drift check (standard logging API) 2026-05-20 22:41:15 -05:00
null f1645a1715 fix(db): make agent_id migration idempotent for fresh installs 2026-05-20 22:40:15 -05:00
null 7cc9e86de1 fix(db): linearize Alembic migration chain to resolve branch conflicts 2026-05-20 22:37:36 -05:00
null f8f885a499 chore: add docker-test.sh (clean rebuild script), remove docker-push.sh 2026-05-20 22:30:37 -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 1a847133ce feat(runtime-usage): add provider usage scrapers as optional local adapters (batch 3, #32) 2026-05-20 20:55:05 -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 9edaa5eb41 feat(runtime-usage): add read-only usage core service, schemas, and API endpoint (batch 1, #30) 2026-05-20 20:15:02 -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 fbc79e6777 feat: Human And Agent Close Issue APIs 2026-05-20 03:49:57 -05:00
null 7c35c889dc feat: add Issue Tracking Metrics 2026-05-20 03:40:07 -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 3fb0216d9b bug: repository edits 2026-05-20 03:04:12 -05:00
null 1f94bfab8d fix(ui): reorder issue columns — labels + updated before author, responsive audit 2026-05-20 02:56:56 -05:00
null 58014b286d feat: db migration script 2026-05-20 02:49:21 -05:00
null 6a5669a42e feat: save previous token 2026-05-20 02:29:58 -05:00
null 993d21e406 bug: git underfined params 2026-05-20 02:23:07 -05:00
null 5d7403984d bug: (timestamp) git 2026-05-20 01:44:31 -05:00