starmap

package module
v0.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2025 License: AGPL-3.0 Imports: 25 Imported by: 0

README

Starmap ⭐🗺️

An auto-updating AI Model Catalog available as a Golang Package, CLI Tool, or Server (RESTful, WebSockets, SSE).

                             ____  _                                 
                            / ___|| |_ __ _ _ __ _ __ ___   __ _ _ __  
                            \___ \| __/ _` | '__| '_ ` _ \ / _` | '_ \ 
                             ___) | || (_| | |  | | | | | | (_| | |_) |
                            |____/ \__\__,_|_|  |_| |_| |_|\__,_| .__/ 
                                                                |_|    

Go Version License

InstallationQuick StartAPI ReferenceContributing

Table of Contents

Why Starmap?

The Problem

Building AI applications requires accurate information about models across multiple providers, but:

  • Fragmented Information: Each provider has different APIs, documentation formats, and update cycles
  • Missing Pricing Data: Many providers don't publish pricing through their APIs
  • Rapid Changes: New models launch weekly, capabilities change, prices update
  • Integration Complexity: Each provider requires custom code to fetch and parse model data
  • No Single Source of Truth: Developers must check multiple sources for complete information
The Solution

Starmap provides:

  • Unified Catalog: Single interface for all AI model information
  • Multi-Source Reconciliation: Combines provider APIs with community data for completeness
  • Automatic Synchronization: Keep your catalog current with scheduled updates
  • Flexible Storage: From in-memory for testing to persistent for production
  • Event-Driven Updates: React to model changes in real-time
  • Type-Safe Go API: Strongly typed models with comprehensive metadata
Who Uses Starmap?
  • AI Application Developers: Discover and compare models for your use case
  • Platform Engineers: Maintain accurate model catalogs for your organization
  • Tool Builders: Integrate comprehensive model data into your products
  • Researchers: Track model capabilities and pricing trends
  • Cost Optimizers: Find the best price/performance for your workloads

Key Features

Comprehensive Coverage: 500+ models from 10+ providers ✅ Accurate Pricing: Community-verified pricing data via models.dev ✅ Real-time Synchronization: Automatic updates from provider APIs ✅ Flexible Architecture: Simple merging or complex reconciliation ✅ Multiple Interfaces: CLI, Go package, and HTTP Server (REST + WebSocket + SSE) ✅ Production Ready: Thread-safe, well-tested, actively maintained

Installation

CLI Tool
# Homebrew (macOS/Linux)
brew install agentstation/tap/starmap

# Or install from source
go install github.com/agentstation/starmap/cmd/starmap@latest

# Verify installation
starmap version
Go Package
# Add to your project
go get github.com/agentstation/starmap
Docker

Starmap provides production-ready container images built with ko using Google's secure Chainguard base images (~2MB, zero CVEs).

Quick Start:

# Pull and run the HTTP server
docker run -p 8080:8080 ghcr.io/agentstation/starmap:latest serve --host 0.0.0.0

# Or use docker-compose (recommended)
docker-compose up

Using Docker Compose:

# 1. Copy environment template
cp .env.example .env

# 2. Edit .env with your API keys (optional)
nano .env

# 3. Start the server
docker-compose up -d

# 4. Check health
curl http://localhost:8080/api/v1/health

Available Images:

  • ghcr.io/agentstation/starmap:latest - Latest stable release
  • ghcr.io/agentstation/starmap:v0.0.17 - Specific version
  • ghcr.io/agentstation/starmap:0.0.17 - Specific version (no v prefix)

Supported Platforms:

  • linux/amd64 (x86_64)
  • linux/arm64 (ARM 64-bit)

See docs/DOCKER.md for detailed deployment guides including Kubernetes, security hardening, and production best practices.

Quick Start

CLI: List Available Models
# List all models
starmap models list

# Filter by provider
starmap models list --provider openai

# Search by capability
starmap models list --capability vision

# Export as JSON
starmap models list --format json > models.json
Go Package: Basic Usage
package main

import (
    "fmt"
    "log"
    
    "github.com/agentstation/starmap"
)

func main() {
    // Create starmap with embedded catalog
    sm, err := starmap.New()
    if err != nil {
        log.Fatal(err)
    }
    
    // Get the catalog
    catalog, err := sm.Catalog()
    if err != nil {
        log.Fatal(err)
    }
    
    // Find GPT-4 model
    model, err := catalog.Model("gpt-4o")
    if err == nil {
        fmt.Printf("Model: %s\n", model.Name)
        fmt.Printf("Context: %d tokens\n", model.ContextWindow)
        fmt.Printf("Input Price: $%.2f/1M tokens\n", model.Pricing.Input)
    }
}
Sync with Provider APIs
# Set up API keys
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...

# Update catalog from all providers
starmap update

# Update specific provider with auto-approve
starmap update openai -y

Architecture

Starmap uses a layered architecture with clean separation of concerns:

  • User Interfaces: CLI, Go package, and HTTP Server (REST + WebSocket + SSE)
  • Core System: Catalog management, reconciliation engine, and event hooks
  • Data Sources: Provider APIs, models.dev, embedded catalog, and local files
  • Storage Backends: Memory, filesystem, embedded, or custom (S3, GCS, etc.)

For detailed architecture diagrams, design principles, and implementation details, see ARCHITECTURE.md.

Core Concepts

Starmap's core abstractions provide a clean separation of concerns:

1. Catalog

The fundamental abstraction for model data storage and access. Provides CRUD operations, multiple storage backends, and thread-safe collections. See Catalog Package Documentation.

2. Source

Abstraction for fetching data from external systems (provider APIs, models.dev, local files). Each implements a common interface for consistent data access.

3. Reconciliation

Intelligent multi-source data merging with field-level authority, provenance tracking, and conflict resolution. See Reconciliation Package Documentation.

4. Model

Comprehensive AI model specification including capabilities (chat, vision, audio), pricing (token costs), limits (context window, rate limits), and metadata. See pkg/catalogs/README.md for the complete Model structure.

For detailed component design and interaction patterns, see ARCHITECTURE.md § System Components.

Project Structure

Starmap follows Go best practices with clear package separation:

  • pkg/ - Public API packages (catalogs, reconciler, sources, errors, etc.)
  • internal/ - Internal implementations (providers, embedded data, transport)
  • cmd/starmap/ - CLI application

See CONTRIBUTING.md § Project Structure for detailed directory layout and dependency rules.

Choosing Your Approach

Starmap provides two levels of data management complexity:

Use Catalog Package (Simple) When:

  • ✅ Merging embedded catalog with local overrides
  • ✅ Combining two provider responses
  • ✅ Testing with mock data
  • ✅ Building simple tools

Use Reconciliation Package (Complex) When:

  • ✅ Syncing with multiple provider APIs
  • ✅ Integrating models.dev for pricing
  • ✅ Different sources own different fields
  • ✅ Need audit trail of data sources
  • ✅ Building production systems

For architecture details and reconciliation strategies, see ARCHITECTURE.md § Reconciliation System.

CLI Usage

Core Commands
# Discovery
starmap models list              # List all models
starmap providers                # List all providers
starmap authors                  # List all authors

# Model field history
starmap models history gpt-4o                    # View field provenance
starmap models history gpt-4o --fields=Name      # Filter to specific field
starmap models history gpt-4o --fields=Name,ID   # Multiple fields

# Update catalog
starmap update                  # Update all providers
starmap update openai           # Update specific provider
starmap update --dry            # Preview changes

# Development
starmap validate                # Validate configurations
starmap deps check              # Check dependency status
starmap completion bash         # Generate shell completion
Advanced Update Workflows
# Development: Use file-based catalog
starmap update groq --input-dir ./catalog --dry

# Production: Fresh update with auto-approval
starmap update --force -y

# Custom directories
starmap update --input ./dev --output ./prod

# Specific sources only
starmap update --sources "Provider APIs,models.dev (git)"
Dependency Management

Some data sources require external tools. Starmap handles missing dependencies gracefully:

# Interactive (default) - Prompts to install or skip
starmap update

# CI/CD - Skip sources with missing dependencies
starmap update --skip-dep-prompts

# Strict mode - Fail if dependencies missing
starmap update --require-all-sources --skip-dep-prompts

# Auto-install - Install dependencies automatically
starmap update --auto-install-deps

Available Flags:

  • --auto-install-deps - Automatically install missing dependencies
  • --skip-dep-prompts - Skip sources with missing dependencies without prompting
  • --require-all-sources - Fail if any dependencies are missing (CI/CD mode)

Common Scenario: The models_dev_git source requires bun for building. If missing, Starmap offers to install it or falls back to models_dev_http which provides the same data without dependencies.

Checking Dependencies

Use starmap deps check to verify dependency status before running updates:

# Check all dependencies
starmap deps check

# JSON output for tooling
starmap deps check --format json

# YAML output
starmap deps check --format yaml

The command shows:

  • ✅ Available dependencies with version and path
  • ❌ Missing dependencies with installation instructions
  • ℹ️ Sources that don't require any dependencies

Example output:

Dependency Status:

┌────────────────────────────┬────────────────────────┬──────────────────┬─────────┬───────────────────────┐
│           SOURCE           │       DEPENDENCY       │      STATUS      │ VERSION │         PATH          │
├────────────────────────────┼────────────────────────┼──────────────────┼─────────┼───────────────────────┤
│ local_catalog (optional)   │ -                      │ ✅ None required │ -       │ -                     │
│ providers                  │ -                      │ ✅ None required │ -       │ -                     │
│ models_dev_git (optional)  │ Bun JavaScript runtime │ ✅ Available     │ 1.2.21  │ /opt/homebrew/bin/bun │
│                            │ Git version control    │ ✅ Available     │ 2.51.0  │ /opt/homebrew/bin/git │
│ models_dev_http (optional) │ -                      │ ✅ None required │ -       │ -                     │
└────────────────────────────┴────────────────────────┴──────────────────┴─────────┴───────────────────────┘

Additional Information:

Bun JavaScript runtime (models_dev_git):
  Description: Fast JavaScript runtime for building models.dev data
  Why needed:  Builds api.json from models.dev TypeScript source

Summary:
┌────────────────────────────────┬───────┐
│             STATUS             │ COUNT │
├────────────────────────────────┼───────┤
│ ✅ Available                   │ 2     │
│ ℹ️ Sources without dependencies │ 3     │
└────────────────────────────────┴───────┘
✅ All required dependencies are available.
Environment Setup
# Required for provider syncing
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=...
export GROQ_API_KEY=...

# Optional for Google Vertex
export GOOGLE_VERTEX_PROJECT=my-project
export GOOGLE_VERTEX_LOCATION=us-central1

Go Package

Installation and Setup
import (
    "github.com/agentstation/starmap"
    "github.com/agentstation/starmap/pkg/catalogs"
    "github.com/agentstation/starmap/pkg/reconciler"
)
Basic Usage Patterns
Simple Catalog Access
// Default embedded catalog with auto-updates
sm, _ := starmap.New()
catalog, _ := sm.Catalog()

// Query models
model, _ := catalog.Model("claude-3-opus")
fmt.Printf("Context: %d tokens\n", model.ContextWindow)
Event-Driven Updates
// React to catalog changes
sm.OnModelAdded(func(model catalogs.Model) {
    log.Printf("New model: %s", model.ID)
})

sm.OnModelUpdated(func(old, new catalogs.Model) {
    if old.Pricing.Input != new.Pricing.Input {
        log.Printf("Price changed for %s", new.ID)
    }
})
Custom Storage Backend
// Use filesystem for development
catalog, _ := catalogs.New(
    catalogs.WithPath("./my-catalog"),
)

sm, _ := starmap.New(
    starmap.WithInitialCatalog(catalog),
)
Syncing with Provider APIs
// Sync with all configured provider APIs
result, err := sm.Sync(ctx,
    sync.WithProviders("openai", "anthropic"),
    sync.WithDryRun(false),
)

if err != nil {
    log.Fatal(err)
}

fmt.Printf("Added: %d models\n", result.Added)
fmt.Printf("Updated: %d models\n", result.Updated)
fmt.Printf("Removed: %d models\n", result.Removed)
Advanced Patterns
Automatic Updates with Custom Logic
updateFunc := func(current catalogs.Catalog) (catalogs.Catalog, error) {
    // Custom sync logic
    // Could call provider APIs, merge data, etc.
    return updatedCatalog, nil
}

sm, _ := starmap.New(
    starmap.WithAutoUpdateInterval(30 * time.Minute),
    starmap.WithUpdateFunc(updateFunc),
)
Filtering and Querying
// Find vision-capable models under $10/M tokens
models := catalog.Models()
models.ForEach(func(id string, model *catalogs.Model) bool {
    if model.Features.Vision && model.Pricing.Input < 10 {
        fmt.Printf("Vision model: %s ($%.2f/M)\n", 
            model.ID, model.Pricing.Input)
    }
    return true
})

Data Sources

Starmap combines data from multiple sources:

  • Provider APIs: Real-time model availability (OpenAI, Anthropic, Google, etc.)
  • models.dev: Community-verified pricing and metadata (models.dev)
  • Embedded Catalog: Baseline data shipped with starmap
  • Local Files: User customizations and overrides

For detailed source hierarchy, authority rules, and how sources work together, see ARCHITECTURE.md § Data Sources.

Model Catalog

Starmap includes 500+ models from 10+ providers (OpenAI, Anthropic, Google, Groq, DeepSeek, Cerebras, and more). Each package includes comprehensive documentation in its README.

HTTP Server

Start a production-ready REST API server for programmatic catalog access:

# Start on default port 8080
starmap serve

# Custom configuration
starmap serve --port 3000 --cors --auth --rate-limit 100

# With specific CORS origins
starmap serve --cors-origins "https://example.com,https://app.example.com"

Features:

  • RESTful API: Models, providers, search endpoints with filtering
  • Real-time Updates: WebSocket (/api/v1/updates/ws) and SSE (/api/v1/updates/stream)
  • Performance: In-memory caching, rate limiting (per-IP)
  • Security: Optional API key authentication, CORS support
  • Monitoring: Health checks (/health, /api/v1/ready), metrics endpoint
  • Documentation: OpenAPI 3.1 specs at /api/v1/openapi.json

API Endpoints:

# Models
GET  /api/v1/models              # List with filtering
GET  /api/v1/models/{id}         # Get specific model
POST /api/v1/models/search       # Advanced search

# Providers
GET  /api/v1/providers           # List providers
GET  /api/v1/providers/{id}      # Get specific provider
GET  /api/v1/providers/{id}/models  # Get provider's models

# Admin
POST /api/v1/update              # Trigger catalog sync
GET  /api/v1/stats               # Catalog statistics

# Health
GET  /health                     # Liveness probe
GET  /api/v1/ready               # Readiness check

Configuration Flags:

  • --port: Server port (default: 8080)
  • --host: Bind address (default: localhost)
  • --cors: Enable CORS for all origins
  • --cors-origins: Specific CORS origins (comma-separated)
  • --auth: Enable API key authentication
  • --rate-limit: Requests per minute per IP (default: 100)
  • --cache-ttl: Cache TTL in seconds (default: 300)

Environment Variables:

HTTP_PORT=8080
HTTP_HOST=0.0.0.0
STARMAP_API_KEY=your-api-key  # If --auth enabled

For full server documentation, see internal/server/README.md.

Configuration

Environment Variables
# Provider API Keys
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
GROQ_API_KEY=...
DEEPSEEK_API_KEY=...
CEREBRAS_API_KEY=...

# Google Vertex (optional)
GOOGLE_VERTEX_PROJECT=my-project
GOOGLE_VERTEX_LOCATION=us-central1
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json

# Starmap Configuration
STARMAP_CONFIG=/path/to/config.yaml
STARMAP_CACHE_DIR=/var/cache/starmap
STARMAP_LOG_LEVEL=info
Authentication Management

Check and verify your authentication setup:

# Check authentication status for all providers
starmap providers

# Test credentials by making test API calls
starmap providers --test

# Test specific provider
starmap providers openai --test

# JSON output for automation
starmap providers --output json

# Manage Google Cloud authentication
starmap auth gcloud

The providers command shows:

  • Which providers have configured credentials
  • Authentication method (API key, ADC, OAuth)
  • Credential source (environment variable, config file, application default)
  • Missing credentials with setup instructions
  • Provider details (name, ID, location, type, models count)
Configuration File
# ~/.starmap.yaml
providers:
  openai:
    api_key: ${OPENAI_API_KEY}
    rate_limit: 100
  
catalog:
  type: embedded
  auto_update: true
  update_interval: 1h
  
sync:
  sources:
    - Provider APIs
    - models.dev (git)
  auto_approve: false
  
logging:
  level: info
  format: json

Development

To contribute or develop locally:

git clone https://github.com/agentstation/starmap.git
cd starmap
make all

See CONTRIBUTING.md for complete development setup, testing guidelines, and contribution process.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for:

  • Development setup and workflow
  • How to add new providers
  • Testing requirements
  • Pull request process
  • Code guidelines

Quick links:

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

The AGPL ensures that:

  • Source code remains open for any network use
  • Modifications must be shared with users
  • The community benefits from all improvements

See LICENSE file for full details.


Built with ❤️ by the Starmap Community

Report BugRequest FeatureJoin Discord


API Reference

For complete API documentation including all types, interfaces, and functions, see API.md.

Quick links:

Documentation

Overview

Package starmap provides the main entry point for the Starmap AI model catalog system. It offers a high-level interface for managing AI model catalogs with automatic updates, event hooks, and provider synchronization capabilities.

Starmap wraps the underlying catalog system with additional features including: - Automatic background synchronization with provider APIs - Event hooks for model changes (added, updated, removed) - Thread-safe catalog access with copy-on-read semantics - Flexible configuration through functional options - Support for multiple data sources and merge strategies

Example usage:

// Create a starmap instance with default settings
sm, err := starmap.New()
if err != nil {
    log.Fatal(err)
}
defer sm.AutoUpdatesOff()

// Register event hooks
sm.OnModelAdded(func(model catalogs.Model) {
    log.Printf("New model: %s", model.ID)
})

// Get catalog (returns a copy for thread safety)
catalog, err := sm.Catalog()
if err != nil {
    log.Fatal(err)
}

// Access models
models := catalog.Models()
for _, model := range models.List() {
    fmt.Printf("Model: %s - %s\n", model.ID, model.Name)
}

// Manually trigger sync
result, err := sm.Sync(ctx, WithProviders("openai", "anthropic"))
if err != nil {
    log.Fatal(err)
}

// Configure with custom options
sm, err = starmap.New(
    WithAutoUpdateInterval(30 * time.Minute),
    WithLocalPath("./custom-catalog"),
    WithAutoUpdates(true),
)

Package starmap provides a unified AI model catalog system with automatic updates, event hooks, and support for multiple storage backends.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoUpdateFunc

type AutoUpdateFunc func(catalogs.Catalog) (catalogs.Catalog, error)

AutoUpdateFunc is a function that updates the catalog.

type AutoUpdater added in v0.0.15

type AutoUpdater interface {
	// AutoUpdatesOn begins automatic updates if configured
	AutoUpdatesOn() error

	// AutoUpdatesOff stops automatic updates
	AutoUpdatesOff() error
}

AutoUpdater provides controls for automatic catalog updates.

type Catalog added in v0.0.15

type Catalog interface {
	Catalog() (catalogs.Catalog, error)
}

Catalog provides copy-on-read access to the catalog.

type Client added in v0.0.15

type Client interface {

	// Catalog provides copy-on-read access to the catalog
	Catalog

	// Updater handles catalog update and sync operations
	Updater

	// Persistence handles catalog persistence operations
	Persistence

	// AutoUpdater provides access to automatic update controls
	AutoUpdater

	// Hooks provides access to event callback registration
	Hooks
}

Client manages a catalog with automatic updates and event hooks.

func New

func New(opts ...Option) (Client, error)

New creates a new Client instance with the given options.

type Hooks added in v0.0.15

type Hooks interface {
	// OnModelAdded registers a callback for when models are added
	OnModelAdded(ModelAddedHook)

	// OnModelUpdated registers a callback for when models are updated
	OnModelUpdated(ModelUpdatedHook)

	// OnModelRemoved registers a callback for when models are removed
	OnModelRemoved(ModelRemovedHook)
}

Hooks provides event callback registration for catalog changes.

type ModelAddedHook

type ModelAddedHook func(model catalogs.Model)

ModelAddedHook is called when a model is added to the catalog.

type ModelRemovedHook

type ModelRemovedHook func(model catalogs.Model)

ModelRemovedHook is called when a model is removed from the catalog.

type ModelUpdatedHook

type ModelUpdatedHook func(old, updated catalogs.Model)

ModelUpdatedHook is called when a model is updated in the catalog.

type Option

type Option func(*options) error

Option is a function that configures a Starmap instance.

func WithAutoUpdateFunc

func WithAutoUpdateFunc(fn AutoUpdateFunc) Option

WithAutoUpdateFunc configures a custom function for updating the catalog.

func WithAutoUpdateInterval

func WithAutoUpdateInterval(interval time.Duration) Option

WithAutoUpdateInterval configures how often to automatically update the catalog.

func WithAutoUpdatesDisabled added in v0.0.15

func WithAutoUpdatesDisabled() Option

WithAutoUpdatesDisabled configures whether automatic updates are disabled.

func WithEmbeddedCatalog added in v0.0.15

func WithEmbeddedCatalog() Option

WithEmbeddedCatalog configures whether to use an embedded catalog. It defaults to false, but takes precedence over WithLocalPath if set.

func WithLocalPath

func WithLocalPath(path string) Option

WithLocalPath configures the local source to use a specific catalog path.

func WithRemoteServerAPIKey added in v0.0.15

func WithRemoteServerAPIKey(apiKey string) Option

WithRemoteServerAPIKey configures the remote server API key.

func WithRemoteServerOnly

func WithRemoteServerOnly(url string) Option

WithRemoteServerOnly configures whether to only use the remote server and not hit provider APIs.

func WithRemoteServerURL added in v0.0.15

func WithRemoteServerURL(url string) Option

WithRemoteServerURL configures the remote server URL.

type Persistence added in v0.0.15

type Persistence interface {
	// Save with options
	Save(opts ...save.Option) error
}

Persistence handles catalog persistence operations.

type Updater added in v0.0.15

type Updater interface {
	// Sync synchronizes the catalog with provider APIs
	Sync(ctx context.Context, opts ...sync.Option) (*sync.Result, error)

	// Update manually triggers a catalog update
	Update(ctx context.Context) error
}

Updater handles catalog synchronization operations.

Directories

Path Synopsis
cmd
starmap command
Package main provides the entry point for the starmap CLI tool.
Package main provides the entry point for the starmap CLI tool.
starmap/app
Package app provides the application context and dependency management for the starmap CLI.
Package app provides the application context and dependency management for the starmap CLI.
starmap/cmd/auth
Package auth provides cloud provider authentication helpers for Starmap.
Package auth provides cloud provider authentication helpers for Starmap.
starmap/cmd/authors
Package authors provides the authors resource command.
Package authors provides the authors resource command.
starmap/cmd/completion
Package completion provides shell completion management commands.
Package completion provides shell completion management commands.
starmap/cmd/deps
Package deps provides commands for managing external dependencies required by data sources.
Package deps provides commands for managing external dependencies required by data sources.
starmap/cmd/embed
Package embed provides commands for exploring the embedded filesystem.
Package embed provides commands for exploring the embedded filesystem.
starmap/cmd/models
Package models provides the models resource command and subcommands.
Package models provides the models resource command and subcommands.
starmap/cmd/providers
Package providers provides the providers resource command and subcommands.
Package providers provides the providers resource command and subcommands.
starmap/cmd/serve
Package serve provides HTTP server commands for the Starmap CLI.
Package serve provides HTTP server commands for the Starmap CLI.
starmap/cmd/update
Package update provides the update command implementation.
Package update provides the update command implementation.
starmap/cmd/validate
Package validate provides catalog validation commands.
Package validate provides catalog validation commands.
internal
attribution
Package attribution provides model-to-author mapping functionality across multiple providers.
Package attribution provides model-to-author mapping functionality across multiple providers.
auth
Package auth provides authentication checking for AI model providers.
Package auth provides authentication checking for AI model providers.
auth/adc
Package adc handles Google Application Default Credentials.
Package adc handles Google Application Default Credentials.
cmd/alerts
Package alerts provides a structured system for status notifications.
Package alerts provides a structured system for status notifications.
cmd/application
Package application provides the application interface for Starmap commands.
Package application provides the application interface for Starmap commands.
cmd/completion
Package completion provides shared utilities for completion management.
Package completion provides shared utilities for completion management.
cmd/constants
Package constants provides shared constants for CLI commands.
Package constants provides shared constants for CLI commands.
cmd/embed
Package embed provides utilities for working with the embedded filesystem.
Package embed provides utilities for working with the embedded filesystem.
cmd/emoji
Package emoji provides symbol constants for CLI output.
Package emoji provides symbol constants for CLI output.
cmd/filter
Package filter provides model filtering functionality for starmap commands.
Package filter provides model filtering functionality for starmap commands.
cmd/format
Package format provides formatters for command output.
Package format provides formatters for command output.
cmd/globals
Package globals provides shared flag structures and utilities for CLI commands.
Package globals provides shared flag structures and utilities for CLI commands.
cmd/hints
Package hints provides formatting for hints in different output formats.
Package hints provides formatting for hints in different output formats.
cmd/notify
Package notify provides context detection for smart hint generation.
Package notify provides context detection for smart hint generation.
cmd/provider
Package provider provides common provider operations for CLI commands.
Package provider provides common provider operations for CLI commands.
cmd/table
Package table provides common table formatting utilities for CLI commands.
Package table provides common table formatting utilities for CLI commands.
deps
Package deps provides dependency checking and management for sources.
Package deps provides dependency checking and management for sources.
embedded/openapi
Package openapi embeds the OpenAPI 3.0 specification files for the Starmap HTTP API.
Package openapi embeds the OpenAPI 3.0 specification files for the Starmap HTTP API.
matcher
Package matcher provides a unified interface for pattern matching using glob and regex patterns.
Package matcher provides a unified interface for pattern matching using glob and regex patterns.
server
Package server provides HTTP server implementation for the Starmap API.
Package server provides HTTP server implementation for the Starmap API.
server/cache
Package cache provides an in-memory caching layer for the HTTP server.
Package cache provides an in-memory caching layer for the HTTP server.
server/events
Package events provides a unified event system for real-time catalog updates.
Package events provides a unified event system for real-time catalog updates.
server/events/adapters
Package adapters provides transport-specific implementations of the Subscriber interface.
Package adapters provides transport-specific implementations of the Subscriber interface.
server/filter
Package filter provides query parameter parsing and filtering for API endpoints.
Package filter provides query parameter parsing and filtering for API endpoints.
server/handlers
Package handlers provides HTTP request handlers for the Starmap API.
Package handlers provides HTTP request handlers for the Starmap API.
server/middleware
Package middleware provides HTTP middleware for the Starmap API server.
Package middleware provides HTTP middleware for the Starmap API server.
server/response
Package response provides standardized HTTP response structures and helpers for the Starmap API server.
Package response provides standardized HTTP response structures and helpers for the Starmap API server.
server/sse
Package sse provides Server-Sent Events support for real-time updates.
Package sse provides Server-Sent Events support for real-time updates.
server/websocket
Package websocket provides WebSocket support for real-time catalog updates.
Package websocket provides WebSocket support for real-time catalog updates.
sources/clients
Package clients provides provider client registry functions.
Package clients provides provider client registry functions.
sources/providers/anthropic
Package anthropic provides a client for the Anthropic API.
Package anthropic provides a client for the Anthropic API.
sources/providers/google
Package google provides a unified, dynamic client for Google AI APIs (AI Studio and Vertex AI).
Package google provides a unified, dynamic client for Google AI APIs (AI Studio and Vertex AI).
sources/providers/openai
Package openai provides a unified, dynamic client for OpenAI-compatible APIs.
Package openai provides a unified, dynamic client for OpenAI-compatible APIs.
sources/providers/testhelper
Package testhelper provides utilities for managing testdata files in provider tests.
Package testhelper provides utilities for managing testdata files in provider tests.
utils/ptr
Package ptr provides utility functions for creating pointers to values.
Package ptr provides utility functions for creating pointers to values.
pkg
authority
Package authority manages source authority for catalog data reconciliation.
Package authority manages source authority for catalog data reconciliation.
catalogs
Package catalogs provides the core catalog system for managing AI model metadata.
Package catalogs provides the core catalog system for managing AI model metadata.
constants
Package constants provides shared constants used throughout the starmap codebase.
Package constants provides shared constants used throughout the starmap codebase.
differ
Package differ provides functionality for comparing catalogs and detecting changes.
Package differ provides functionality for comparing catalogs and detecting changes.
enhancer
Package enhancer provides functionality to enrich model data with metadata from external sources.
Package enhancer provides functionality to enrich model data with metadata from external sources.
errors
Package errors provides custom error types for the starmap system.
Package errors provides custom error types for the starmap system.
logging
Package logging provides structured logging for the starmap system using zerolog.
Package logging provides structured logging for the starmap system using zerolog.
provenance
Package provenance provides field-level tracking of data sources and modifications.
Package provenance provides field-level tracking of data sources and modifications.
reconciler
Package reconciler provides catalog synchronization and reconciliation capabilities.
Package reconciler provides catalog synchronization and reconciliation capabilities.
save
Package save provides options and utilities for saving catalogs in various formats.
Package save provides options and utilities for saving catalogs in various formats.
sources
Package sources provides public APIs for working with AI model data sources.
Package sources provides public APIs for working with AI model data sources.
sync
Package sync provides options and utilities for synchronizing the catalog with provider APIs.
Package sync provides options and utilities for synchronizing the catalog with provider APIs.
types
Package types provides shared type definitions used across the starmap packages.
Package types provides shared type definitions used across the starmap packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL