store

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2026 License: MPL-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package store implements the provider / model-preset storage layer. It offers CRUD operations for both providers and model-presets, integrates read-only built-in data, performs structural validation and supports paged listing with opaque tokens.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitModelPresetStoreHandlers

func InitModelPresetStoreHandlers(api huma.API, modelPresetStoreAPI *ModelPresetStore)

InitModelPresetStoreHandlers registers all endpoints related to settings.

Types

type BuiltInPresets

type BuiltInPresets struct {
	// contains filtered or unexported fields
}

BuiltInPresets loads built-in preset assets and maintains an overlay store.

func NewBuiltInPresets

func NewBuiltInPresets(
	ctx context.Context,
	overlayBaseDir string,
	maxSnapshotAge time.Duration,
	opts ...PresetStoreOption,
) (bi *BuiltInPresets, err error)

NewBuiltInPresets prepares the presets store and loads a first snapshot.

func (*BuiltInPresets) Close added in v0.0.79

func (b *BuiltInPresets) Close() error

func (*BuiltInPresets) GetBuiltInDefaultProviderName

func (b *BuiltInPresets) GetBuiltInDefaultProviderName(
	ctx context.Context,
) (inferenceSpec.ProviderName, error)

GetBuiltInDefaultProviderName fetches the default provider name in builtin.

func (*BuiltInPresets) GetBuiltInModelPreset

func (b *BuiltInPresets) GetBuiltInModelPreset(
	ctx context.Context,
	provider inferenceSpec.ProviderName,
	modelID spec.ModelPresetID,
) (spec.ModelPreset, error)

GetBuiltInModelPreset fetches a model preset.

func (*BuiltInPresets) GetBuiltInProvider

func (b *BuiltInPresets) GetBuiltInProvider(
	ctx context.Context,
	name inferenceSpec.ProviderName,
) (spec.ProviderPreset, error)

GetBuiltInProvider fetches a provider from the snapshot.

func (*BuiltInPresets) ListBuiltInPresets

func (b *BuiltInPresets) ListBuiltInPresets(ctx context.Context) (
	providerPresets map[inferenceSpec.ProviderName]spec.ProviderPreset,
	modelPresets map[inferenceSpec.ProviderName]map[spec.ModelPresetID]spec.ModelPreset,
	err error,
)

ListBuiltInPresets returns deep-copied snapshots.

func (*BuiltInPresets) SetDefaultModelPreset

func (b *BuiltInPresets) SetDefaultModelPreset(
	ctx context.Context,
	provider inferenceSpec.ProviderName,
	modelID spec.ModelPresetID,
) (spec.ProviderPreset, error)

func (*BuiltInPresets) SetModelPresetEnabled

func (b *BuiltInPresets) SetModelPresetEnabled(
	ctx context.Context,
	provider inferenceSpec.ProviderName,
	modelID spec.ModelPresetID,
	enabled bool,
) (spec.ModelPreset, error)

SetModelPresetEnabled toggles a model preset.

func (*BuiltInPresets) SetProviderEnabled

func (b *BuiltInPresets) SetProviderEnabled(
	ctx context.Context,
	name inferenceSpec.ProviderName,
	enabled bool,
) (spec.ProviderPreset, error)

SetProviderEnabled toggles a provider.

type ModelPresetStore

type ModelPresetStore struct {
	// contains filtered or unexported fields
}

ModelPresetStore is the main storage façade for provider / model-preset data.

func NewModelPresetStore

func NewModelPresetStore(baseDir string) (*ModelPresetStore, error)

NewModelPresetStore initialises the storage in baseDir. Built-in data are automatically loaded and overlaid.

func (*ModelPresetStore) Close added in v0.0.79

func (s *ModelPresetStore) Close() error

func (*ModelPresetStore) DeleteModelPreset

DeleteModelPreset removes a model preset.

func (*ModelPresetStore) DeleteProviderPreset

DeleteProviderPreset removes a provider if it has no model presets.

func (*ModelPresetStore) GetDefaultProvider

func (*ModelPresetStore) GetModelPreset added in v0.0.81

func (*ModelPresetStore) ListProviderPresets

ListProviderPresets lists provider presets with optional filters and paging.

func (*ModelPresetStore) PatchDefaultProvider

func (*ModelPresetStore) PatchModelPreset

PatchModelPreset updates a model preset.

func (*ModelPresetStore) PatchProviderPreset

PatchProviderPreset updates a provider preset.

User providers support partial updates to metadata, default model, and capabilities override.

Built-in providers only support overlaying:

  • isEnabled
  • defaultModelPresetID

func (*ModelPresetStore) PostModelPreset added in v0.0.85

PostModelPreset creates a new model preset on a user provider.

func (*ModelPresetStore) PostProviderPreset added in v0.0.85

PostProviderPreset creates a new provider preset.

type PresetStoreOption

type PresetStoreOption func(*BuiltInPresets)

Jump to

Keyboard shortcuts

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