capabilities

package
v0.0.0-beta Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package capabilities defines model capability flags.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Names

func Names() []string

Names returns the snake_case names of all known capabilities.

Types

type Capabilities

type Capabilities []Capability

Capabilities is a collection of model capability flags.

func (*Capabilities) Add

func (cs *Capabilities) Add(cap Capability)

Add adds a capability if not already present.

func (Capabilities) ContextOverride

func (cs Capabilities) ContextOverride() bool

ContextOverride returns true if the provider respects request.ContextLength.

func (Capabilities) Embedding

func (cs Capabilities) Embedding() bool

Embedding returns true if this is an embedding model.

func (Capabilities) Has

func (cs Capabilities) Has(cap Capability) bool

Has returns true if the capability is present.

func (Capabilities) Map

func (cs Capabilities) Map() map[string]bool

Map returns a flat map of capability names to booleans. Keys are snake_case to match condition syntax (e.g. "model_has:vision").

func (Capabilities) Reranking

func (cs Capabilities) Reranking() bool

Reranking returns true if reranking is supported.

func (Capabilities) Thinking

func (cs Capabilities) Thinking() bool

Thinking returns true if thinking capability is present.

func (Capabilities) ThinkingLevels

func (cs Capabilities) ThinkingLevels() bool

ThinkingLevels returns true if thinking levels are supported.

func (Capabilities) Tools

func (cs Capabilities) Tools() bool

Tools returns true if tool calling is supported.

func (Capabilities) Vision

func (cs Capabilities) Vision() bool

Vision returns true if vision/image input is supported.

type Capability

type Capability string

Capability represents a model capability flag.

const (
	// Thinking indicates support for reasoning/thinking output.
	Thinking Capability = "Thinking"
	// ThinkingLevels indicates support for configurable thinking depth.
	ThinkingLevels Capability = "ThinkingLevels"
	// Tools indicates support for tool/function calling.
	Tools Capability = "Tools"
	// Embedding indicates this is an embedding model.
	Embedding Capability = "Embedding"
	// Reranking indicates support for reranking operations.
	Reranking Capability = "Reranking"
	// Vision indicates support for vision input.
	Vision Capability = "Vision"
	// ContextOverride indicates the provider respects request.ContextLength.
	ContextOverride Capability = "ContextOverride"
)

func Parse

func Parse(s string) (Capability, error)

Parse converts a string to a Capability (case-insensitive). Accepts snake_case names ("thinking_levels") and PascalCase constants ("ThinkingLevels").

Jump to

Keyboard shortcuts

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