voicebehavior

package
v0.40.7 Latest Latest
Warning

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

Go to latest
Published: May 28, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package voicebehavior contains the shared Voice Agent behavior catalog used by both the local desktop runtime and the Linux server target.

Index

Constants

View Source
const (
	DefaultID                = "default"
	BrainstormingCompanionID = "brainstorming_companion"
	HumorCompanionID         = "humor_companion"
	SupportCompanionID       = "support_companion"

	BrainstormingCompanionRoleID = BrainstormingCompanionID + "_role"
	HumorCompanionRoleID         = HumorCompanionID + "_role"
	SupportCompanionRoleID       = SupportCompanionID + "_role"

	BrainstormingCompanionSequenceID = BrainstormingCompanionID + "_sequence"
	HumorCompanionSequenceID         = HumorCompanionID + "_sequence"
	SupportCompanionSequenceID       = SupportCompanionID + "_sequence"
)

Variables

View Source
var (
	ErrPersonaNotFound  = errors.New("voicebehavior: persona not found")
	ErrRoleNotFound     = errors.New("voicebehavior: role not found")
	ErrSequenceNotFound = errors.New("voicebehavior: sequence not found")
	ErrStepNotFound     = errors.New("voicebehavior: sequence step not found")
)

Functions

func ComposePrompt

func ComposePrompt(rolePrompt, stepID, stepInstruction string) string

func NormalizeID

func NormalizeID(id string) string

Types

type Catalog

type Catalog struct {
	Personas  []Persona
	Roles     []Role
	Sequences []Sequence
}

func BuiltInCatalog

func BuiltInCatalog() Catalog

func (Catalog) Persona

func (c Catalog) Persona(id string) (Persona, bool)

func (Catalog) Resolve

func (c Catalog) Resolve(personaID, roleID, sequenceID string, stepIndex int) (ResolvedBehavior, error)

func (Catalog) Role

func (c Catalog) Role(id string) (Role, bool)

func (Catalog) Sequence

func (c Catalog) Sequence(id string) (Sequence, bool)

type Persona

type Persona struct {
	ID              string
	DisplayName     string
	Description     string
	Voice           string
	Locale          string
	DefaultRole     string
	DefaultSequence string
	Tags            []string
	Metadata        map[string]string
}

type Profile

type Profile struct {
	ID                string
	DisplayName       string
	Description       string
	Voice             string
	FrameworkPrompt   string
	RoleID            string
	DefaultSequenceID string
	BuiltIn           bool
	Tags              []string
}

func BuiltInProfiles

func BuiltInProfiles() []Profile

func ResolveProfile

func ResolveProfile(id string) (Profile, bool)

type ResolvedBehavior

type ResolvedBehavior struct {
	PersonaID           string
	RoleID              string
	SequenceID          string
	SequenceCompletion  string
	SequenceMaxTurns    int
	Voice               string
	Locale              string
	SystemPrompt        string
	StepID              string
	StepIndex           int
	StepCount           int
	StepInstruction     string
	StepExitCriteria    string
	StepMaxTurns        int
	StepRequiredToolIDs []string
}

type Role

type Role struct {
	ID              string
	DisplayName     string
	SystemPrompt    string
	ToolAllowlist   []string
	ThinkingLevel   string
	ThinkingEnabled bool
}

type Sequence

type Sequence struct {
	ID          string
	DisplayName string
	Description string
	Completion  string
	MaxTurns    int
	Steps       []SequenceStep
}

type SequenceStep

type SequenceStep struct {
	ID           string
	Instruction  string
	ExitCriteria string
	RequireTools []string
	MaxTurns     int
}

Jump to

Keyboard shortcuts

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