Skip to content

feat(gom-53): integrated external model registry for metadata enrichment and cost tracking + Dashboard/Usage page - #82

Merged
SantiagoDePolonia merged 25 commits into
mainfrom
feature/pricing-estimation
Feb 24, 2026
Merged

SantiagoDePolonia merged 25 commits into
mainfrom
feature/pricing-estimation

Conversation

@SantiagoDePolonia

@SantiagoDePolonia SantiagoDePolonia commented Feb 19, 2026 •

Copy link
Copy Markdown
Contributor

Fetch, cache, and merge the ai-model-list registry (models.json) to enrich discovered models with pricing, capabilities, and context limits. Models not in the registry still work — the fetch is best-effort and never gates.

  • Add ModelListConfig (URL + timeout) to CacheConfig with env var support
  • Add ModelListData to ModelCache for raw JSON persistence across restarts
  • Add ModelMetadata/ModelPricing to core.Model (omitempty, pointer numerics)
  • New internal/modeldata package: fetcher, 3-layer merger, enricher
  • Registry integration: enrich on Initialize, LoadFromCache, and refresh
  • Background refresh re-fetches model list alongside provider models
  • Add cost fields (InputCost/OutputCost/TotalCost) to UsageEntry
  • CalculateCost + variadic pricing param on all three usage extractors

Summary by CodeRabbit

  • New Features
    • Usage Analytics page: date picker, tokens/costs toggle, estimated-cost card, charts, per-model aggregation, filters and paginated request logs.
    • Model browsing by category with counts and per-category pricing; external model metadata registry with background fetch and UI enrichment.
    • Granular cost calculation and per-request cost fields surfaced in usage views and logs.
  • Documentation
    • API docs updated with new usage and category endpoints and expanded model/usage schemas.
  • Tests
    • Large expansion of unit tests across model data, pricing, usage extraction, readers, and storage.
  • Chores
    • Removed unused indirect dependencies.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants