tui

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigChangedMsg

type ConfigChangedMsg struct {
	Config *config.Config
}

ConfigChangedMsg is sent when the config has been modified by the settings screens. The app layer handles this by rebuilding the registry and pipeline.

type ConfirmActionMsg

type ConfirmActionMsg struct {
	Description string
	OnConfirm   func()
	OnReject    func()
}

ConfirmActionMsg asks the user to confirm an action.

type ConsensusChunkMsg

type ConsensusChunkMsg struct {
	Delta string
	Done  bool
	Error error
}

ConsensusChunkMsg delivers a streaming chunk from the consensus synthesis.

type Exchange

type Exchange struct {
	Prompt             string
	ConsensusResponse  string
	IndividualResponse map[string]string // provider name → response
}

Exchange represents a completed prompt/response pair in history.

type Model

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

Model is the main Bubble Tea model for the polycode TUI.

func NewModel

func NewModel(providerNames []string, primaryName string, version string) Model

NewModel creates a new TUI model.

func (Model) Init

func (m Model) Init() tea.Cmd

Init implements tea.Model.

func (Model) SendConsensusChunk

func (m Model) SendConsensusChunk(delta string, done bool, err error) tea.Cmd

func (Model) SendProviderChunk

func (m Model) SendProviderChunk(name, delta string, done bool, err error) tea.Cmd

func (*Model) SetConfig

func (m *Model) SetConfig(cfg *config.Config)

SetConfig sets the config reference on the model so settings screens can perform CRUD operations.

func (*Model) SetConfigChangeHandler

func (m *Model) SetConfigChangeHandler(handler func(*config.Config))

SetConfigChangeHandler sets the callback invoked when the config changes from the settings screen (add/edit/delete provider). The app layer uses this to rebuild the registry and pipeline.

func (*Model) SetSubmitHandler

func (m *Model) SetSubmitHandler(handler func(prompt string))

SetSubmitHandler sets the callback for when the user submits a prompt.

func (*Model) SetTestProviderHandler

func (m *Model) SetTestProviderHandler(handler func(providerName string))

SetTestProviderHandler sets the callback invoked when the user presses 't' in the settings screen to test a provider connection.

func (Model) Update

func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd)

Update implements tea.Model.

func (Model) View

func (m Model) View() string

View implements tea.Model.

type ProviderChunkMsg

type ProviderChunkMsg struct {
	ProviderName string
	Delta        string
	Done         bool
	Error        error
}

ProviderChunkMsg delivers a streaming chunk from a provider.

type ProviderPanel

type ProviderPanel struct {
	Name      string
	IsPrimary bool
	Status    ProviderStatus
	Content   strings.Builder
	Viewport  viewport.Model
}

ProviderPanel holds the state for one provider's response panel.

type ProviderStatus

type ProviderStatus int

ProviderStatus tracks the state of a single provider's response.

const (
	StatusIdle ProviderStatus = iota
	StatusLoading
	StatusDone
	StatusFailed
	StatusTimedOut
)

type QueryDoneMsg

type QueryDoneMsg struct{}

QueryDoneMsg signals that the full pipeline (fan-out + consensus) is complete.

type QueryStartMsg

type QueryStartMsg struct{}

QueryStartMsg signals that a query has begun.

type Styles

type Styles struct {
	App             lipgloss.Style
	StatusBar       lipgloss.Style
	StatusHealthy   lipgloss.Style
	StatusUnhealthy lipgloss.Style
	StatusPrimary   lipgloss.Style
	PanelBorder     lipgloss.Style
	ConsensusBorder lipgloss.Style
	InputBorder     lipgloss.Style
	Title           lipgloss.Style
	Prompt          lipgloss.Style
	Dimmed          lipgloss.Style
}

Styles holds all lipgloss styles for the TUI.

type TestResultMsg

type TestResultMsg struct {
	ProviderName string
	Success      bool
	Duration     string
	Error        error
}

TestResultMsg is sent when a provider connection test completes.

type TokenUpdateMsg

type TokenUpdateMsg struct {
	Usage []tokens.ProviderUsage
}

TokenUpdateMsg delivers a snapshot of token usage for all providers.

Jump to

Keyboard shortcuts

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