plugins

package
v1.4.452 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const AnswerReset = "reset"
View Source
const SettingTypeBool = "bool"

Variables

This section is empty.

Functions

func BuildEnvVariable

func BuildEnvVariable(name string) string

func BuildEnvVariablePrefix

func BuildEnvVariablePrefix(name string) (ret string)

func ParseBool

func ParseBool(val string) (bool, error)

func ParseBoolElseFalse

func ParseBoolElseFalse(val string) (ret bool)

Types

type Plugin

type Plugin interface {
	GetName() string
	GetSetupDescription() string
	IsConfigured() bool
	Configure() error
	Setup() error
	SetupFillEnvFileContent(*bytes.Buffer)
}

type PluginBase

type PluginBase struct {
	Settings
	SetupQuestions

	Name             string
	SetupDescription string
	EnvNamePrefix    string

	ConfigureCustom func() error
}

func NewVendorPluginBase added in v1.4.376

func NewVendorPluginBase(name string, configure func() error) *PluginBase

NewVendorPluginBase creates a standardized PluginBase for AI vendor plugins. This centralizes the common initialization pattern used by all vendors.

func (*PluginBase) AddSetting

func (o *PluginBase) AddSetting(name string, required bool) (ret *Setting)

func (*PluginBase) AddSetupQuestion

func (o *PluginBase) AddSetupQuestion(name string, required bool) (ret *SetupQuestion)

func (*PluginBase) AddSetupQuestionBool

func (o *PluginBase) AddSetupQuestionBool(name string, required bool) (ret *SetupQuestion)

func (*PluginBase) AddSetupQuestionCustom

func (o *PluginBase) AddSetupQuestionCustom(name string, required bool, question string) (ret *SetupQuestion)

func (*PluginBase) AddSetupQuestionCustomBool

func (o *PluginBase) AddSetupQuestionCustomBool(name string, required bool, question string) (ret *SetupQuestion)

func (*PluginBase) AddSetupQuestionWithEnvName added in v1.4.356

func (o *PluginBase) AddSetupQuestionWithEnvName(envVarName string, required bool, question string) (ret *SetupQuestion)

AddSetupQuestionWithEnvName creates a setup question with an explicit environment variable name. This is useful when you want the environment variable name to remain constant across languages. The envVarName is used for the environment variable, while the question is localized.

func (*PluginBase) Configure

func (o *PluginBase) Configure() (err error)

func (*PluginBase) GetName

func (o *PluginBase) GetName() string

func (*PluginBase) GetSetupDescription

func (o *PluginBase) GetSetupDescription() (ret string)

func (*PluginBase) NeedsRawMode added in v1.4.423

func (o *PluginBase) NeedsRawMode(modelName string) bool

NeedsRawMode returns false by default. Vendors that need raw mode (e.g., perplexity, ollama, openai for certain models) override this method.

func (*PluginBase) Setup

func (o *PluginBase) Setup() (err error)

func (*PluginBase) SetupFillEnvFileContent

func (o *PluginBase) SetupFillEnvFileContent(fileEnvFileContent *bytes.Buffer)

func (*PluginBase) SetupOrSkip

func (o *PluginBase) SetupOrSkip() (err error)

type Setting

type Setting struct {
	EnvVariable string
	Value       string
	Required    bool
	Type        string // "string" (default), "bool"
}

func NewSetting

func NewSetting(envVariable string, required bool) *Setting

func (*Setting) Configure

func (o *Setting) Configure() error

func (*Setting) FillEnvFileContent

func (o *Setting) FillEnvFileContent(buffer *bytes.Buffer)

func (*Setting) IsDefined

func (o *Setting) IsDefined() bool

func (*Setting) IsValid

func (o *Setting) IsValid() bool

func (*Setting) IsValidErr

func (o *Setting) IsValidErr() (err error)

func (*Setting) Print

func (o *Setting) Print()

type Settings

type Settings []*Setting

func (Settings) Configure

func (o Settings) Configure() (err error)

func (Settings) FillEnvFileContent

func (o Settings) FillEnvFileContent(buffer *bytes.Buffer)

func (Settings) IsConfigured

func (o Settings) IsConfigured() (ret bool)

type SetupQuestion

type SetupQuestion struct {
	*Setting
	Question string
}

func NewSetupQuestion

func NewSetupQuestion(question string) *SetupQuestion

func (*SetupQuestion) Ask

func (o *SetupQuestion) Ask(label string) (err error)

func (*SetupQuestion) OnAnswer

func (o *SetupQuestion) OnAnswer(answer string) (err error)

func (*SetupQuestion) OnAnswerWithReset added in v1.4.341

func (o *SetupQuestion) OnAnswerWithReset(answer string, isReset bool) (err error)

type SetupQuestions

type SetupQuestions []*SetupQuestion

func (SetupQuestions) Ask

func (o SetupQuestions) Ask(label string) (err error)

Directories

Path Synopsis
ai
azureaigateway
Package azureaigateway provides a plugin for Azure API Management (APIM) Gateway fronting multiple AI backends (AWS Bedrock, Azure OpenAI, Google Vertex AI).
Package azureaigateway provides a plugin for Azure API Management (APIM) Gateway fronting multiple AI backends (AWS Bedrock, Azure OpenAI, Google Vertex AI).
bedrock
Package bedrock provides a plugin to use Amazon Bedrock models.
Package bedrock provides a plugin to use Amazon Bedrock models.
codex
Package codex provides a subscription-backed OpenAI OAuth vendor that talks to the private Codex backend for supported models.
Package codex provides a subscription-backed OpenAI OAuth vendor that talks to the private Codex backend for supported models.
copilot
Package copilot provides integration with Microsoft 365 Copilot Chat API.
Package copilot provides integration with Microsoft 365 Copilot Chat API.
geminicommon
Package geminicommon provides shared utilities for Gemini API integrations.
Package geminicommon provides shared utilities for Gemini API integrations.
db
Package template provides datetime operations for the template system
Package template provides datetime operations for the template system

Jump to

Keyboard shortcuts

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