Documentation
¶
Index ¶
- Constants
- Variables
- type DeleteModelPresetRequest
- type DeleteModelPresetResponse
- type DeleteProviderPresetRequest
- type DeleteProviderPresetResponse
- type GetDefaultProviderRequest
- type GetDefaultProviderResponse
- type GetDefaultProviderResponseBody
- type GetModelPresetRequest
- type GetModelPresetResponse
- type GetModelPresetResponseBody
- type ListProviderPresetsRequest
- type ListProviderPresetsResponse
- type ListProviderPresetsResponseBody
- type ModelCapabilitiesOverride
- type ModelDisplayName
- type ModelName
- type ModelPreset
- type ModelPresetID
- type ModelSlug
- type OutputCapabilitiesOverride
- type PatchDefaultProviderRequest
- type PatchDefaultProviderRequestBody
- type PatchDefaultProviderResponse
- type PatchModelPresetRequest
- type PatchModelPresetRequestBody
- type PatchModelPresetResponse
- type PatchProviderPresetRequest
- type PatchProviderPresetRequestBody
- type PatchProviderPresetResponse
- type PresetsSchema
- type ProviderDisplayName
- type ProviderPageToken
- type ProviderPreset
- type PutModelPresetRequest
- type PutModelPresetRequestBody
- type PutModelPresetResponse
- type PutProviderPresetRequest
- type PutProviderPresetRequestBody
- type PutProviderPresetResponse
- type ReasoningCapabilitiesOverride
- type StopSequenceCapabilitiesOverride
- type ToolCapabilitiesOverride
Constants ¶
View Source
const ( ModelPresetsFile = "modelpresets.json" // Single JSON file. ModelPresetsBuiltInOverlayDBFileName = "modelpresetsbuiltin.overlay.sqlite" )
View Source
const ( SchemaVersion = "2025-07-01" MaxPageSize = 256 // Max allowed page size. DefaultPageSize = 256 // Default page size. BuiltInSnapshotMaxAge = time.Hour )
View Source
const ( DefaultAuthorizationHeaderKey = "Authorization" DefaultAPITimeout = 300 * time.Second DefaultAnthropicOrigin = "https://api.anthropic.com" DefaultAnthropicChatCompletionPrefix = "/v1/messages" DefaultAnthropicAuthorizationHeaderKey = "x-api-key" DefaultOpenAIOrigin = "https://api.openai.com" DefaultOpenAIChatCompletionsPrefix = "/v1/chat/completions" )
Variables ¶
View Source
var ( ErrInvalidDir = errors.New("invalid directory") ErrProviderNotFound = errors.New("provider not found") ErrModelPresetNotFound = errors.New("model preset not found") ErrBuiltInProviderAbsent = errors.New("provider not found in built-in data") ErrNilProvider = errors.New("provider preset is nil") ErrNilModelPreset = errors.New("model preset is nil") ErrNoModelPresets = errors.New("provider has no model presets") ErrInvalidTimestamp = errors.New("zero timestamp") ErrBuiltInReadOnly = errors.New("built-in resource is read-only") )
View Source
var OpenAIChatCompletionsDefaultHeaders = map[string]string{"content-type": "application/json"}
Functions ¶
This section is empty.
Types ¶
type DeleteModelPresetRequest ¶
type DeleteModelPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
ModelPresetID ModelPresetID `path:"modelPresetID" required:"true"`
}
type DeleteModelPresetResponse ¶
type DeleteModelPresetResponse struct{}
type DeleteProviderPresetRequest ¶
type DeleteProviderPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
}
type DeleteProviderPresetResponse ¶
type DeleteProviderPresetResponse struct{}
type GetDefaultProviderRequest ¶
type GetDefaultProviderRequest struct{}
type GetDefaultProviderResponse ¶
type GetDefaultProviderResponse struct {
Body *GetDefaultProviderResponseBody
}
type GetDefaultProviderResponseBody ¶
type GetDefaultProviderResponseBody struct {
DefaultProvider inferenceSpec.ProviderName
}
type GetModelPresetRequest ¶ added in v0.0.81
type GetModelPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
ModelPresetID ModelPresetID `path:"modelPresetID" required:"true"`
// If false, disabled provider/model return an error.
IncludeDisabled bool `query:"includeDisabled"`
}
type GetModelPresetResponse ¶ added in v0.0.81
type GetModelPresetResponse struct {
Body *GetModelPresetResponseBody
}
type GetModelPresetResponseBody ¶ added in v0.0.81
type GetModelPresetResponseBody struct {
// Provider includes CapabilitiesOverride (provider-wide).
// ModelPresets map is intentionally omitted/empty in store response for safety/perf.
Provider ProviderPreset `json:"provider"`
// Model includes Name + CapabilitiesOverride (model-specific).
Model ModelPreset `json:"model"`
}
type ListProviderPresetsRequest ¶
type ListProviderPresetsRequest struct {
Names []inferenceSpec.ProviderName `query:"names"`
IncludeDisabled bool `query:"includeDisabled"`
PageSize int `query:"pageSize"`
PageToken string `query:"pageToken"`
}
type ListProviderPresetsResponse ¶
type ListProviderPresetsResponse struct {
Body *ListProviderPresetsResponseBody
}
type ListProviderPresetsResponseBody ¶
type ListProviderPresetsResponseBody struct {
Providers []ProviderPreset `json:"providers"`
NextPageToken *string `json:"nextPageToken,omitempty"`
}
type ModelCapabilitiesOverride ¶ added in v0.0.81
type ModelCapabilitiesOverride struct {
ModalitiesIn []inferenceSpec.Modality `json:"modalitiesIn,omitempty"`
ModalitiesOut []inferenceSpec.Modality `json:"modalitiesOut,omitempty"`
ReasoningCapabilities *ReasoningCapabilitiesOverride `json:"reasoningCapabilities,omitempty"`
StopSequenceCapabilities *StopSequenceCapabilitiesOverride `json:"stopSequenceCapabilities,omitempty"`
OutputCapabilities *OutputCapabilitiesOverride `json:"outputCapabilities,omitempty"`
ToolCapabilities *ToolCapabilitiesOverride `json:"toolCapabilities,omitempty"`
}
ModelCapabilitiesOverride is a "patch-like" version of inference-go's ModelCapabilities.
Semantics:
- nil slice => no override provided
- empty slice => override to empty (disable completely)
- pointer scalars => nil means "not provided", non-nil means "override"
This struct is intended for storage and API transport as an override only. The effective/derived capabilities MUST be computed at runtime and should not be stored.
type ModelDisplayName ¶
type ModelDisplayName string
type ModelPreset ¶
type ModelPreset struct {
SchemaVersion string `json:"schemaVersion" required:"true"`
ID ModelPresetID `json:"id" required:"true"`
Name ModelName `json:"name" required:"true"`
DisplayName ModelDisplayName `json:"displayName" required:"true"`
Slug ModelSlug `json:"slug" required:"true"`
IsEnabled bool `json:"isEnabled" required:"true"`
Stream *bool `json:"stream,omitempty"`
MaxPromptLength *int `json:"maxPromptLength,omitempty"`
MaxOutputLength *int `json:"maxOutputLength,omitempty"`
Temperature *float64 `json:"temperature,omitempty"`
Reasoning *inferenceSpec.ReasoningParam `json:"reasoning,omitempty"`
SystemPrompt *string `json:"systemPrompt,omitempty"`
Timeout *int `json:"timeout,omitempty"`
OutputParam *inferenceSpec.OutputParam `json:"outputParam,omitempty"`
StopSequences []string `json:"stopSequences,omitempty"`
AdditionalParametersRawJSON *string `json:"additionalParametersRawJSON,omitempty"`
// CapabilitiesOverride is a stored override for runtime capability resolution.
// This is NOT the derived/effective capability profile.
CapabilitiesOverride *ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
CreatedAt time.Time `json:"createdAt"`
ModifiedAt time.Time `json:"modifiedAt"`
IsBuiltIn bool `json:"isBuiltIn"`
}
ModelPreset is the entire "model + default knobs" bundle the user can save. Anything not present in the preset is considered to be taken as default from any global or inbuilt model defaults.
type ModelPresetID ¶
type ModelPresetID string
type OutputCapabilitiesOverride ¶ added in v0.0.81
type OutputCapabilitiesOverride struct {
SupportedOutputFormats []inferenceSpec.OutputFormatKind `json:"supportedOutputFormats,omitempty"`
SupportsVerbosity *bool `json:"supportsVerbosity,omitempty"`
}
type PatchDefaultProviderRequest ¶
type PatchDefaultProviderRequest struct {
Body *PatchDefaultProviderRequestBody
}
type PatchDefaultProviderRequestBody ¶
type PatchDefaultProviderRequestBody struct {
DefaultProvider inferenceSpec.ProviderName `json:"defaultProvider" required:"true"`
}
type PatchDefaultProviderResponse ¶
type PatchDefaultProviderResponse struct{}
type PatchModelPresetRequest ¶
type PatchModelPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
ModelPresetID ModelPresetID `path:"modelPresetID" required:"true"`
Body *PatchModelPresetRequestBody
}
type PatchModelPresetRequestBody ¶
type PatchModelPresetRequestBody struct {
IsEnabled bool `json:"isEnabled" required:"true"`
// CapabilitiesOverride can only be patched for USER provider presets (not built-ins).
// To clear the override entirely, set ClearCapabilitiesOverride=true.
CapabilitiesOverride *ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
ClearCapabilitiesOverride bool `json:"clearCapabilitiesOverride,omitempty"`
}
type PatchModelPresetResponse ¶
type PatchModelPresetResponse struct{}
type PatchProviderPresetRequest ¶
type PatchProviderPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
Body *PatchProviderPresetRequestBody
}
type PatchProviderPresetRequestBody ¶
type PatchProviderPresetRequestBody struct {
IsEnabled *bool `json:"isEnabled,omitempty"`
DefaultModelPresetID *ModelPresetID `json:"defaultModelPresetID,omitempty"`
}
type PatchProviderPresetResponse ¶
type PatchProviderPresetResponse struct{}
type PresetsSchema ¶
type PresetsSchema struct {
SchemaVersion string `json:"schemaVersion"`
DefaultProvider inferenceSpec.ProviderName `json:"defaultProvider"`
ProviderPresets map[inferenceSpec.ProviderName]ProviderPreset `json:"providerPresets"`
}
type ProviderDisplayName ¶
type ProviderDisplayName string
type ProviderPageToken ¶
type ProviderPageToken struct {
Names []inferenceSpec.ProviderName `json:"n,omitempty"` //nolint:tagliatelle // PageToken Specific.
IncludeDisabled bool `json:"d,omitempty"` //nolint:tagliatelle // PageToken Specific.
PageSize int `json:"s,omitempty"` //nolint:tagliatelle // PageToken Specific.
CursorSlug inferenceSpec.ProviderName `json:"c,omitempty"` //nolint:tagliatelle // PageToken Specific.
}
type ProviderPreset ¶
type ProviderPreset struct {
SchemaVersion string `json:"schemaVersion" required:"true"`
Name inferenceSpec.ProviderName `json:"name" required:"true"`
DisplayName ProviderDisplayName `json:"displayName" required:"true"`
SDKType inferenceSpec.ProviderSDKType `json:"sdkType" required:"true"`
IsEnabled bool `json:"isEnabled" required:"true"`
CreatedAt time.Time `json:"createdAt"`
ModifiedAt time.Time `json:"modifiedAt"`
IsBuiltIn bool `json:"isBuiltIn"`
Origin string `json:"origin" required:"true"`
ChatCompletionPathPrefix string `json:"chatCompletionPathPrefix" required:"true"`
APIKeyHeaderKey string `json:"apiKeyHeaderKey" required:"true"`
DefaultHeaders map[string]string `json:"defaultHeaders"`
// CapabilitiesOverride is a provider-wide stored override. Model overrides take precedence.
// This is NOT the derived/effective capability profile.
CapabilitiesOverride *ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
DefaultModelPresetID ModelPresetID `json:"defaultModelPresetID"`
ModelPresets map[ModelPresetID]ModelPreset `json:"modelPresets"`
}
type PutModelPresetRequest ¶
type PutModelPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
ModelPresetID ModelPresetID `path:"modelPresetID" required:"true"`
Body *PutModelPresetRequestBody
}
type PutModelPresetRequestBody ¶
type PutModelPresetRequestBody struct {
Name ModelName `json:"name" required:"true"`
Slug ModelSlug `json:"slug" required:"true"`
DisplayName ModelDisplayName `json:"displayName" required:"true"`
IsEnabled bool `json:"isEnabled" required:"true"`
Stream *bool `json:"stream,omitempty"`
MaxPromptLength *int `json:"maxPromptLength,omitempty"`
MaxOutputLength *int `json:"maxOutputLength,omitempty"`
Temperature *float64 `json:"temperature,omitempty"`
Reasoning *inferenceSpec.ReasoningParam `json:"reasoning,omitempty"`
SystemPrompt *string `json:"systemPrompt,omitempty"`
Timeout *int `json:"timeout,omitempty"`
OutputParam *inferenceSpec.OutputParam `json:"outputParam,omitempty"`
StopSequences []string `json:"stopSequences,omitempty"`
AdditionalParametersRawJSON *string `json:"additionalParametersRawJSON,omitempty"`
CapabilitiesOverride *ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
}
type PutModelPresetResponse ¶
type PutModelPresetResponse struct{}
type PutProviderPresetRequest ¶
type PutProviderPresetRequest struct {
ProviderName inferenceSpec.ProviderName `path:"providerName" required:"true"`
Body *PutProviderPresetRequestBody
}
type PutProviderPresetRequestBody ¶
type PutProviderPresetRequestBody struct {
DisplayName ProviderDisplayName `json:"displayName" required:"true"`
SDKType inferenceSpec.ProviderSDKType `json:"sdkType" required:"true"`
IsEnabled bool `json:"isEnabled" required:"true"`
Origin string `json:"origin" required:"true"`
ChatCompletionPathPrefix string `json:"chatCompletionPathPrefix" required:"true"`
APIKeyHeaderKey string `json:"apiKeyHeaderKey,omitempty"`
DefaultHeaders map[string]string `json:"defaultHeaders,omitempty"`
CapabilitiesOverride *ModelCapabilitiesOverride `json:"capabilitiesOverride,omitempty"`
}
type PutProviderPresetResponse ¶
type PutProviderPresetResponse struct{}
type ReasoningCapabilitiesOverride ¶ added in v0.0.81
type ReasoningCapabilitiesOverride struct {
SupportedReasoningTypes []inferenceSpec.ReasoningType `json:"supportedReasoningTypes,omitempty"`
SupportedReasoningLevels []inferenceSpec.ReasoningLevel `json:"supportedReasoningLevels,omitempty"`
SupportsSummaryStyle *bool `json:"supportsSummaryStyle,omitempty"`
SupportsEncryptedReasoningInput *bool `json:"supportsEncryptedReasoningInput,omitempty"`
TemperatureDisallowedWhenEnabled *bool `json:"temperatureDisallowedWhenEnabled,omitempty"`
}
type StopSequenceCapabilitiesOverride ¶ added in v0.0.81
type ToolCapabilitiesOverride ¶ added in v0.0.81
type ToolCapabilitiesOverride struct {
SupportedToolTypes []inferenceSpec.ToolType `json:"supportedToolTypes,omitempty"`
SupportedToolPolicyModes []inferenceSpec.ToolPolicyMode `json:"supportedToolPolicyModes,omitempty"`
SupportsParallelToolCalls *bool `json:"supportsParallelToolCalls,omitempty"`
MaxForcedTools *int `json:"maxForcedTools,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.