Documentation
¶
Overview ¶
Package controllers contains HTTP handlers for the Starport API.
Index ¶
- type AdminController
- func (h *AdminController) CreateKey(w http.ResponseWriter, r *http.Request)
- func (h *AdminController) DeleteKey(w http.ResponseWriter, r *http.Request)
- func (h *AdminController) GetKey(w http.ResponseWriter, r *http.Request)
- func (h *AdminController) ListKeys(w http.ResponseWriter, r *http.Request)
- func (h *AdminController) Metrics(w http.ResponseWriter, _ *http.Request)
- func (h *AdminController) SystemInfo(w http.ResponseWriter, _ *http.Request)
- func (h *AdminController) UpdateKey(w http.ResponseWriter, r *http.Request)
- type BaseHandler
- type ChatController
- type Config
- type Controllers
- type EmbeddingsController
- type HealthController
- type ModelsController
- type Protocol
- type ProviderKeysController
- func (h *ProviderKeysController) Create(w http.ResponseWriter, r *http.Request)
- func (h *ProviderKeysController) Delete(w http.ResponseWriter, r *http.Request)
- func (h *ProviderKeysController) Get(w http.ResponseWriter, r *http.Request)
- func (h *ProviderKeysController) GetUsage(w http.ResponseWriter, _ *http.Request)
- func (h *ProviderKeysController) GetUsageComparison(w http.ResponseWriter, _ *http.Request)
- func (h *ProviderKeysController) List(w http.ResponseWriter, r *http.Request)
- func (h *ProviderKeysController) Update(w http.ResponseWriter, r *http.Request)
- func (h *ProviderKeysController) Validate(w http.ResponseWriter, r *http.Request)
- type ProviderOperations
- type ProviderOperationsController
- type ProvidersController
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminController ¶
type AdminController struct {
// contains filtered or unexported fields
}
AdminController handles administrative endpoints
func NewAdminController ¶
func NewAdminController(identities identity.Repository) *AdminController
NewAdminController creates a new admin controller
func (*AdminController) CreateKey ¶
func (h *AdminController) CreateKey(w http.ResponseWriter, r *http.Request)
CreateKey handles POST /api/v1/admin/keys
func (*AdminController) DeleteKey ¶
func (h *AdminController) DeleteKey(w http.ResponseWriter, r *http.Request)
DeleteKey handles DELETE /api/v1/admin/keys/{key_id}
func (*AdminController) GetKey ¶
func (h *AdminController) GetKey(w http.ResponseWriter, r *http.Request)
GetKey handles GET /api/v1/admin/keys/{key_id}
func (*AdminController) ListKeys ¶
func (h *AdminController) ListKeys(w http.ResponseWriter, r *http.Request)
ListKeys handles GET /api/v1/admin/keys
func (*AdminController) Metrics ¶
func (h *AdminController) Metrics(w http.ResponseWriter, _ *http.Request)
Metrics handles GET /api/v1/admin/metrics
func (*AdminController) SystemInfo ¶
func (h *AdminController) SystemInfo(w http.ResponseWriter, _ *http.Request)
SystemInfo handles GET /api/v1/admin/info
func (*AdminController) UpdateKey ¶
func (h *AdminController) UpdateKey(w http.ResponseWriter, r *http.Request)
UpdateKey handles PUT /api/v1/admin/keys/{key_id}
type BaseHandler ¶
type BaseHandler struct {
// contains filtered or unexported fields
}
BaseHandler provides common functionality for all handlers
func NewBaseHandler ¶
func NewBaseHandler(service proxy.Proxy) *BaseHandler
NewBaseHandler creates a new base handler
func NewProtocolBaseHandler ¶
func NewProtocolBaseHandler(service proxy.Proxy, protocol Protocol) *BaseHandler
NewProtocolBaseHandler creates a handler for one explicit wire dialect.
type ChatController ¶
type ChatController struct {
*BaseHandler
}
ChatController handles chat completion endpoints
func NewChatController ¶
func NewChatController(service proxy.Proxy) *ChatController
NewChatController creates a new chat controller
func NewOpenRouterChatController ¶
func NewOpenRouterChatController(service proxy.Proxy) *ChatController
NewOpenRouterChatController creates an OpenRouter chat controller.
func (*ChatController) Create ¶
func (h *ChatController) Create(w http.ResponseWriter, r *http.Request)
Create handles POST /v1/chat/completions and /api/v1/chat/completions
type Config ¶
type Config struct {
Service proxy.Proxy
ProviderKeys byok.ProviderKeys
Identities identity.Repository
ProviderOperations ProviderOperations
ServiceName string
Version string
ChatUI *chatui.Handler
}
Config holds configuration for creating handlers
type Controllers ¶
type Controllers struct {
Health *HealthController
Chat *ChatController
OpenRouterChat *ChatController
Embeddings *EmbeddingsController
OpenRouterEmbeddings *EmbeddingsController
Models *ModelsController
OpenRouterModels *ModelsController
Providers *ProvidersController
ProviderKeys *ProviderKeysController
Admin *AdminController
ProviderOperations *ProviderOperationsController
ChatUI *chatui.Handler
}
Controllers holds all HTTP Controllers
func NewControllers ¶
func NewControllers(cfg Config) *Controllers
NewControllers creates a new controller collection
type EmbeddingsController ¶
type EmbeddingsController struct {
*BaseHandler
}
EmbeddingsController handles embeddings endpoints
func NewEmbeddingsController ¶
func NewEmbeddingsController(service proxy.Proxy) *EmbeddingsController
NewEmbeddingsController creates a new embeddings controller
func NewOpenRouterEmbeddingsController ¶
func NewOpenRouterEmbeddingsController(service proxy.Proxy) *EmbeddingsController
NewOpenRouterEmbeddingsController creates an OpenRouter embeddings controller.
func (*EmbeddingsController) Create ¶
func (h *EmbeddingsController) Create(w http.ResponseWriter, r *http.Request)
Create handles POST /v1/embeddings and /api/v1/embeddings
type HealthController ¶
type HealthController struct {
// contains filtered or unexported fields
}
HealthController handles health check endpoints
func NewHealthController ¶
func NewHealthController(service, version string) *HealthController
NewHealthController creates a new health controller
func (*HealthController) Live ¶
func (h *HealthController) Live(w http.ResponseWriter, _ *http.Request)
Live handles GET /health/live
func (*HealthController) Ready ¶
func (h *HealthController) Ready(w http.ResponseWriter, _ *http.Request)
Ready handles GET /health/ready
type ModelsController ¶
type ModelsController struct {
*BaseHandler
}
ModelsController handles model-related endpoints
func NewModelsController ¶
func NewModelsController(service proxy.Proxy) *ModelsController
NewModelsController creates a new models controller
func NewOpenRouterModelsController ¶
func NewOpenRouterModelsController(service proxy.Proxy) *ModelsController
NewOpenRouterModelsController creates an OpenRouter models controller.
func (*ModelsController) Get ¶
func (h *ModelsController) Get(w http.ResponseWriter, r *http.Request)
Get handles GET /v1/models/{model} and /api/v1/models/{model}
func (*ModelsController) GetEndpoints ¶
func (h *ModelsController) GetEndpoints(w http.ResponseWriter, r *http.Request)
GetEndpoints handles GET /api/v1/models/{model}/endpoints
func (*ModelsController) List ¶
func (h *ModelsController) List(w http.ResponseWriter, r *http.Request)
List handles GET /v1/models and /api/v1/models
type ProviderKeysController ¶
type ProviderKeysController struct {
// contains filtered or unexported fields
}
ProviderKeysController handles provider key management endpoints
func NewProviderKeysController ¶
func NewProviderKeysController(providerKeys byok.ProviderKeys) *ProviderKeysController
NewProviderKeysController creates a new provider keys controller
func (*ProviderKeysController) Create ¶
func (h *ProviderKeysController) Create(w http.ResponseWriter, r *http.Request)
Create handles POST /api/v1/keys/{key_id}/provider-keys
func (*ProviderKeysController) Delete ¶
func (h *ProviderKeysController) Delete(w http.ResponseWriter, r *http.Request)
Delete handles DELETE /api/v1/keys/{key_id}/provider-keys/{provider}
func (*ProviderKeysController) Get ¶
func (h *ProviderKeysController) Get(w http.ResponseWriter, r *http.Request)
Get handles GET /api/v1/keys/{key_id}/provider-keys/{provider}
func (*ProviderKeysController) GetUsage ¶
func (h *ProviderKeysController) GetUsage(w http.ResponseWriter, _ *http.Request)
GetUsage handles GET /api/v1/keys/{key_id}/usage/provider-keys
func (*ProviderKeysController) GetUsageComparison ¶
func (h *ProviderKeysController) GetUsageComparison(w http.ResponseWriter, _ *http.Request)
GetUsageComparison handles GET /api/v1/keys/{key_id}/usage/comparison
func (*ProviderKeysController) List ¶
func (h *ProviderKeysController) List(w http.ResponseWriter, r *http.Request)
List handles GET /api/v1/keys/{key_id}/provider-keys
func (*ProviderKeysController) Update ¶
func (h *ProviderKeysController) Update(w http.ResponseWriter, r *http.Request)
Update handles PUT /api/v1/keys/{key_id}/provider-keys/{provider}
func (*ProviderKeysController) Validate ¶
func (h *ProviderKeysController) Validate(w http.ResponseWriter, r *http.Request)
Validate handles POST /api/v1/keys/{key_id}/provider-keys/{provider}/validate
type ProviderOperations ¶ added in v1.0.3
type ProviderOperations interface {
ProviderStates() providerstate.Snapshot
RefreshProviders(context.Context) (providers.ReconcileReport, error)
}
ProviderOperations supplies safe provider state and forced reconciliation.
type ProviderOperationsController ¶ added in v1.0.3
type ProviderOperationsController struct {
// contains filtered or unexported fields
}
ProviderOperationsController handles authenticated provider operations.
func NewProviderOperationsController ¶ added in v1.0.3
func NewProviderOperationsController(operations ProviderOperations) *ProviderOperationsController
NewProviderOperationsController creates the provider operations adapter.
func (*ProviderOperationsController) Refresh ¶ added in v1.0.3
func (h *ProviderOperationsController) Refresh(w http.ResponseWriter, r *http.Request)
Refresh handles POST /api/v1/admin/providers/refresh.
func (*ProviderOperationsController) Status ¶ added in v1.0.3
func (h *ProviderOperationsController) Status(w http.ResponseWriter, _ *http.Request)
Status handles GET /api/v1/admin/providers.
type ProvidersController ¶
type ProvidersController struct {
*BaseHandler
}
ProvidersController handles provider-related endpoints
func NewProvidersController ¶
func NewProvidersController(service proxy.Proxy) *ProvidersController
NewProvidersController creates a new providers controller
func (*ProvidersController) List ¶
func (h *ProvidersController) List(w http.ResponseWriter, r *http.Request)
List handles GET /api/v1/providers