Commit Graph

46 Commits

Author SHA1 Message Date
null 077a07b233 bot 2026-05-26 15:41:24 -05:00
null e6c2989c64 main dashboard 2026-05-24 22:38:26 -05:00
null 1c1bade3ca full upgrade pass for the Git Project settings page. 2026-05-24 22:12:14 -05:00
null 5a1caa8264 dded a "Mass Import" button in the header actions that opens a dialog with three states 2026-05-24 20:57:58 -05:00
null 7919c29bbd New table: forgejo_commit_activity 2026-05-24 20:24:43 -05:00
null fe6d9f219a feat: add schemas and services for agent session management
- Introduced provider-neutral schemas for local agent session sources in `agent_sessions.py`.
- Implemented source discovery helpers for local agent session providers in `agent_session_sources.py`.
- Created a reader for local Codex CLI session history in `codex_session_reader.py`, including parsing and redaction of sensitive information.
- Added tests for Codex session parsing and API endpoints to ensure functionality and data integrity.
2026-05-24 18:07:35 -05:00
null a8e560a586 feat(billing): add billing source classification for sessions and update cost handling 2026-05-24 16:37:52 -05:00
null 28e103452b feat: add Claude Code session detail page with message thread and timeline navigation
- Implemented the ClaudeSessionDetailPage component to display session details, including messages and timeline navigation.
- Created SessionHeroHeader for displaying session metadata and status.
- Added SessionMessageThread to render individual messages and their details.
- Introduced SessionTimelineNav for quick navigation through messages.
- Developed ToolCallBlock to show tool usage details within messages.
- Integrated API functions for fetching session and message data.
2026-05-24 16:31:18 -05:00
null 1bf4e30e8c feat(session-messages): implement endpoint to retrieve conversation messages for a session 2026-05-24 16:19:24 -05:00
null b16e9bb3c8 feat(users): add Forgejo profile synchronization and related fields 2026-05-22 20:29:13 -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 7802400970 feat(forgejo-metrics): add last-push endpoint and related caching logic for recent commits 2026-05-22 16:25:47 -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 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 d17aadec7d fix(scripts): provisioning instructions 2026-05-22 01:55:35 -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 74756feb95 feat(scripts): tasking agents 2026-05-22 00:12:15 -05:00
null 9300f4b670 fix(ui): edit git 2026-05-21 23:30:19 -05:00
null 5cc0d75636 feat(scripts): pull more backened 2026-05-21 22:53:02 -05:00
null e56f252da6 feat(scripts): issues info 2026-05-21 22:47:24 -05:00
null 4ca3ede009 fix: ai reauth 2026-05-21 04:25:31 -05:00
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 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 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 ebba838025 feat(scripts): credentials usage 2026-05-20 23:03:19 -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 1a847133ce feat(runtime-usage): add provider usage scrapers as optional local adapters (batch 3, #32) 2026-05-20 20:55:05 -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 e083e4e10c fix(heatmap&import_agent): corrections 2026-05-20 04:13:32 -05:00
null 6f789a4284 feat: heatmap 2026-05-20 03:54:58 -05:00
null 7c35c889dc feat: add Issue Tracking Metrics 2026-05-20 03:40:07 -05:00
null ee6cfe9531 feat: git test connection and pull 2026-05-19 22:53:55 -05:00
null 87802db0f4 feat: new git imports (desc, open, is_archived) 2026-05-19 21:49:45 -05:00
null 017ab4951a feat: git label import 2026-05-19 21:34:11 -05:00
null ab73770d16 feat: webhooks 2026-05-19 04:16:32 -05:00
null ae3786f64b feat(forgejo): batch 3 WIP — metrics API, agent close APIs, issues page refactor, close UI (batch 3.1.0) 2026-05-19 04:02:04 -05:00
null d56ccb31da feat(forgejo): batch 3 — board-repo links, agent issue APIs, close service, sync/validate UI, issues page (batch 3.0.0) 2026-05-19 03:32:54 -05:00
null 4c540b1c9a feat(forgejo): add validation, cached issues, sync service, and human issue APIs (Issues 5-8); add connection and repository admin UI (Issues 3-4); fix migration graph and client bugs
Backend Issues 5-8:
- POST /forgejo/connections/{id}/validate and /repositories/{id}/validate
- ForgejoIssue model with unique constraint (repo_id, issue_number)
- IssueSyncService with pagination and upsert
- GET /forgejo/issues with filtering, search, pagination
- GET /forgejo/issues/{id} with org-scoped access
- Fixed ForgejoAPIClient /api/v1 path prefix
- Fixed get_forgejo_client async context (was async def, now regular def)
- Fixed Forgejo API response parsing (list, not dict with items)
- Fixed None-safe handling for labels/assignees

Frontend Issues 3-4:
- Connections list, new, edit pages with token masking
- Repositories list, new, edit pages with connection selector
- ForgejoConnectionForm, ForgejoConnectionsTable components
- ForgejoRepositoryForm, ForgejoRepositoriesTable components
- api-forgejo.ts client library

Migration cleanup:
- Consolidated forgejo_issues table into f5a2b3c4d5e6 migration
- Removed orphan branch migrations for already-existing tables
- Fixed migration graph to single head (f5a2b3c4d5e6)
- Stamped DB to correct revision
2026-05-19 03:10:32 -05:00
null 83241a304f feat(forgejo): add DB models, CRUD APIs, client service, and Git Projects nav (Issues 1-4, FI2)
Backend:
- ForgejoConnection + ForgejoRepository SQLModel models with migration
- Admin CRUD API for connections (GET/POST/PATCH/DELETE)
- Admin CRUD API for repositories (GET/POST/PATCH/DELETE)
- Token redaction, URL normalization, duplicate prevention
- ForgejoAPIClient service (httpx async, list_issues, close_issue, get_repository)
- Removed stale feast import that crashed startup

Frontend:
- Git Projects sidebar nav item (FolderGit icon)
- /git-projects shell page with empty/loading/error states

Verified: all endpoints live, CRUD tested, migration applied.
2026-05-19 02:46:27 -05:00
null 8c0a196f69 feat: initialize Pipeline from Mission Control base (v0.0.4) 2026-05-19 01:17:58 -05:00