Documentation
¶
Overview ¶
Copyright 2026 Teradata
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2026 Teradata ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2026 Teradata ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2026 Teradata ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2026 Teradata ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StartSpinner ¶
StartSpinner returns a command to start the spinner animation.
func StaticColored ¶
StaticColored returns a colored static version (for terminal output)
Types ¶
type HelpView ¶
type HelpView struct {
// contains filtered or unexported fields
}
HelpView renders help text for key bindings.
func NewHelpView ¶
func NewHelpView(s *styles.Styles, bindings []KeyBinding) *HelpView
NewHelpView creates a new help view.
type KeyBinding ¶
KeyBinding represents a keyboard shortcut.
func DefaultKeyBindings ¶
func DefaultKeyBindings() []KeyBinding
DefaultKeyBindings returns the default key bindings.
type Logo ¶
type Logo struct {
// contains filtered or unexported fields
}
Logo is an animated ASCII logo with star field
type ModelItem ¶
type ModelItem struct {
// contains filtered or unexported fields
}
ModelItem represents a selectable LLM model.
func (ModelItem) Description ¶
Description returns the description for a model item.
func (ModelItem) FilterValue ¶
FilterValue implements list.Item.
type ModelSelectorModel ¶
type ModelSelectorModel struct {
// contains filtered or unexported fields
}
ModelSelectorModel is a UI component for selecting LLM models.
func NewModelSelector ¶
func NewModelSelector(models []*loomv1.ModelInfo, currentModel *loomv1.ModelInfo, s *styles.Styles) *ModelSelectorModel
NewModelSelector creates a new model selector.
func (*ModelSelectorModel) Init ¶
func (m *ModelSelectorModel) Init() tea.Cmd
Init initializes the model selector.
func (*ModelSelectorModel) IsDone ¶
func (m *ModelSelectorModel) IsDone() bool
IsDone returns true if the selector has finished (user selected or cancelled).
func (*ModelSelectorModel) Selected ¶
func (m *ModelSelectorModel) Selected() *loomv1.ModelInfo
Selected returns the selected model, if any.
func (*ModelSelectorModel) Update ¶
func (m *ModelSelectorModel) Update(msg tea.Msg) (*ModelSelectorModel, tea.Cmd)
Update handles messages.
func (*ModelSelectorModel) View ¶
func (m *ModelSelectorModel) View() string
View renders the model selector.
type PermissionPromptModel ¶
type PermissionPromptModel struct {
// contains filtered or unexported fields
}
PermissionPromptModel is a UI component for requesting tool execution permission.
func NewPermissionPrompt ¶
func NewPermissionPrompt(req *loomv1.ToolPermissionRequest, s *styles.Styles) *PermissionPromptModel
NewPermissionPrompt creates a new permission prompt.
func (*PermissionPromptModel) Init ¶
func (m *PermissionPromptModel) Init() tea.Cmd
Init initializes the permission prompt.
func (*PermissionPromptModel) Result ¶
func (m *PermissionPromptModel) Result() *PermissionResult
Result returns the permission result after user decision.
func (*PermissionPromptModel) Update ¶
func (m *PermissionPromptModel) Update(msg tea.Msg) (*PermissionPromptModel, tea.Cmd)
Update handles messages.
func (*PermissionPromptModel) View ¶
func (m *PermissionPromptModel) View() string
View renders the permission prompt.
type PermissionResult ¶
PermissionResult represents the user's permission decision.
type SpinnerModel ¶
type SpinnerModel struct {
// contains filtered or unexported fields
}
SpinnerModel is an enhanced spinner with gradient colors and animations inspired by Crush TUI.
func NewSpinner ¶
func NewSpinner(theme *styles.Theme) *SpinnerModel
NewSpinner creates a new enhanced spinner.
func (*SpinnerModel) IsActive ¶
func (s *SpinnerModel) IsActive() bool
IsActive returns whether the spinner is animating.
func (*SpinnerModel) SetMessage ¶
func (s *SpinnerModel) SetMessage(msg string)
SetMessage sets the spinner message.
func (*SpinnerModel) Update ¶
func (s *SpinnerModel) Update(msg tea.Msg) (*SpinnerModel, tea.Cmd)
Update handles spinner animation.