Documentation
¶
Index ¶
- type AgentRequest
- type AgentService
- type ApplicationState
- func (s *ApplicationState) ApproveCurrentTool() error
- func (s *ApplicationState) ClearApprovalUIState()
- func (s *ApplicationState) ClearFileSelectionState()
- func (s *ApplicationState) CompleteCurrentTool(result *ToolExecutionResult) error
- func (s *ApplicationState) DenyCurrentTool() error
- func (s *ApplicationState) EndChatSession()
- func (s *ApplicationState) EndToolExecution()
- func (s *ApplicationState) FailCurrentTool(result *ToolExecutionResult) error
- func (s *ApplicationState) GetApprovalUIState() *ApprovalUIState
- func (s *ApplicationState) GetChatSession() *ChatSession
- func (s *ApplicationState) GetCurrentView() ViewState
- func (s *ApplicationState) GetDimensions() (int, int)
- func (s *ApplicationState) GetFileSelectionState() *FileSelectionState
- func (s *ApplicationState) GetStateSnapshot() StateSnapshot
- func (s *ApplicationState) GetToolExecution() *ToolExecutionSession
- func (s *ApplicationState) IsDebugMode() bool
- func (s *ApplicationState) SetApprovalSelectedIndex(index int)
- func (s *ApplicationState) SetDebugMode(enabled bool)
- func (s *ApplicationState) SetDimensions(width, height int)
- func (s *ApplicationState) SetFileSelectedIndex(index int)
- func (s *ApplicationState) SetToolApprovalRequired(required bool) error
- func (s *ApplicationState) SetupApprovalUI()
- func (s *ApplicationState) SetupFileSelection(files []string)
- func (s *ApplicationState) StartChatSession(requestID, model string, eventChan <-chan ChatEvent)
- func (s *ApplicationState) StartToolExecution(tools []ToolCall)
- func (s *ApplicationState) TransitionToView(newView ViewState) error
- func (s *ApplicationState) UpdateChatStatus(status ChatStatus) error
- func (s *ApplicationState) UpdateFileSearchQuery(query string)
- type ApprovalAction
- type ApprovalRequestEvent
- type ApprovalResponseEvent
- type ApprovalUIState
- type BaseFormatter
- func (f BaseFormatter) FormatAsJSON(data any) string
- func (f BaseFormatter) FormatDataSection(dataContent string, hasMetadata bool) string
- func (f BaseFormatter) FormatDuration(result *ToolExecutionResult) string
- func (f BaseFormatter) FormatExpandedFooter(result *ToolExecutionResult, hasDataSection bool) string
- func (f BaseFormatter) FormatExpandedHeader(result *ToolExecutionResult) string
- func (f BaseFormatter) FormatStatus(success bool) string
- func (f BaseFormatter) FormatStatusIcon(success bool) string
- func (f BaseFormatter) FormatToolCall(args map[string]any, expanded bool) string
- func (f BaseFormatter) GetDomainFromURL(url string) string
- func (f BaseFormatter) GetFileName(path string) string
- func (f BaseFormatter) ShouldCollapseArg(key string) bool
- func (f BaseFormatter) TruncateText(text string, maxLength int) string
- type BashToolResult
- type CancelledEvent
- type ChatChunkEvent
- type ChatCompleteEvent
- type ChatErrorEvent
- type ChatEvent
- type ChatEventType
- type ChatMetrics
- type ChatService
- type ChatSession
- type ChatSessionSnapshot
- type ChatStartEvent
- type ChatStatus
- type ChatSyncResponse
- type ClearErrorEvent
- type ClearInputEvent
- type ConfigService
- type ConversationEntry
- type ConversationRepository
- type ConversationSelectedEvent
- type ConversationsLoadedEvent
- type CustomFormatter
- type DebugKeyEvent
- type DeleteToolResult
- type EditOperationResult
- type EditToolResult
- type ExitSelectionModeEvent
- type ExportFormat
- type FetchResult
- type FileInfo
- type FileReadToolResult
- type FileSelectedEvent
- type FileSelectionRequestEvent
- type FileSelectionState
- type FileService
- type FileWriteToolResult
- type FocusRequestEvent
- type FormatterType
- type GitHubBranch
- type GitHubComment
- type GitHubError
- type GitHubIssue
- type GitHubLabel
- type GitHubMilestone
- type GitHubPullRequest
- type GitHubRepository
- type GitHubUser
- type HideHelpBarEvent
- type InitializeConversationSelectionEvent
- type InitializeTextSelectionEvent
- type ModelSelectedEvent
- type ModelService
- type MultiEditToolResult
- type ResizeEvent
- type ScrollDirection
- type ScrollRequestEvent
- type SessionTokenStats
- type SetInputEvent
- type SetStatusEvent
- type SetupFileSelectionEvent
- type ShowErrorEvent
- type StateSnapshot
- type StatusProgress
- type StatusType
- type TodoItem
- type TodoWriteToolResult
- type ToggleHelpBarEvent
- type Tool
- type ToolApprovalRequestEvent
- type ToolApprovalResponseEvent
- type ToolCall
- type ToolCallEvent
- type ToolCallSnapshot
- type ToolCallStartEvent
- type ToolCallStatus
- type ToolDefinition
- type ToolExecutionCompletedEvent
- type ToolExecutionProgressEvent
- type ToolExecutionResult
- type ToolExecutionSession
- type ToolExecutionSnapshot
- type ToolExecutionStartedEvent
- type ToolExecutionStatus
- type ToolFactory
- type ToolFormatter
- type ToolService
- type TreeToolResult
- type UIEvent
- type UIEventType
- type UpdateHistoryEvent
- type UpdateStatusEvent
- type UserInputEvent
- type ViewState
- type WebFetchService
- type WebSearchResponse
- type WebSearchResult
- type WebSearchService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentRequest ¶ added in v0.36.0
type AgentRequest struct {
RequestID string `json:"request_id"`
Model string `json:"model"`
Messages []sdk.Message `json:"messages"`
}
AgentRequest represents a request to the agent service
type AgentService ¶ added in v0.36.0
type AgentService interface {
// Run executes an agent task synchronously (for background/batch processing)
Run(ctx context.Context, req *AgentRequest) (*ChatSyncResponse, error)
// RunWithStream executes an agent task with streaming (for interactive chat)
RunWithStream(ctx context.Context, req *AgentRequest) (<-chan ChatEvent, error)
// CancelRequest cancels an active request
CancelRequest(requestID string) error
// GetMetrics returns metrics for a completed request
GetMetrics(requestID string) *ChatMetrics
}
AgentService handles agent operations with both sync and streaming modes
type ApplicationState ¶ added in v0.27.0
type ApplicationState struct {
// contains filtered or unexported fields
}
ApplicationState represents the overall application state with proper typing
func NewApplicationState ¶ added in v0.27.0
func NewApplicationState() *ApplicationState
NewApplicationState creates a new application state
func (*ApplicationState) ApproveCurrentTool ¶ added in v0.27.0
func (s *ApplicationState) ApproveCurrentTool() error
ApproveCurrentTool approves the current tool for execution
func (*ApplicationState) ClearApprovalUIState ¶ added in v0.27.0
func (s *ApplicationState) ClearApprovalUIState()
ClearApprovalUIState clears the approval UI state
func (*ApplicationState) ClearFileSelectionState ¶ added in v0.27.0
func (s *ApplicationState) ClearFileSelectionState()
ClearFileSelectionState clears the file selection state
func (*ApplicationState) CompleteCurrentTool ¶ added in v0.27.0
func (s *ApplicationState) CompleteCurrentTool(result *ToolExecutionResult) error
CompleteCurrentTool marks the current tool as completed and moves to next
func (*ApplicationState) DenyCurrentTool ¶ added in v0.27.0
func (s *ApplicationState) DenyCurrentTool() error
DenyCurrentTool denies the current tool execution
func (*ApplicationState) EndChatSession ¶ added in v0.27.0
func (s *ApplicationState) EndChatSession()
EndChatSession cleans up the chat session
func (*ApplicationState) EndToolExecution ¶ added in v0.27.0
func (s *ApplicationState) EndToolExecution()
EndToolExecution cleans up the tool execution session
func (*ApplicationState) FailCurrentTool ¶ added in v0.27.0
func (s *ApplicationState) FailCurrentTool(result *ToolExecutionResult) error
FailCurrentTool marks the current tool as failed and moves to next
func (*ApplicationState) GetApprovalUIState ¶ added in v0.27.0
func (s *ApplicationState) GetApprovalUIState() *ApprovalUIState
GetApprovalUIState returns the current approval UI state
func (*ApplicationState) GetChatSession ¶ added in v0.27.0
func (s *ApplicationState) GetChatSession() *ChatSession
GetChatSession returns the current chat session
func (*ApplicationState) GetCurrentView ¶ added in v0.27.0
func (s *ApplicationState) GetCurrentView() ViewState
GetCurrentView returns the current view state
func (*ApplicationState) GetDimensions ¶ added in v0.27.0
func (s *ApplicationState) GetDimensions() (int, int)
GetDimensions returns the current UI dimensions
func (*ApplicationState) GetFileSelectionState ¶ added in v0.27.0
func (s *ApplicationState) GetFileSelectionState() *FileSelectionState
GetFileSelectionState returns the current file selection state
func (*ApplicationState) GetStateSnapshot ¶ added in v0.27.0
func (s *ApplicationState) GetStateSnapshot() StateSnapshot
GetStateSnapshot returns a complete snapshot of the current state
func (*ApplicationState) GetToolExecution ¶ added in v0.27.0
func (s *ApplicationState) GetToolExecution() *ToolExecutionSession
GetToolExecution returns the current tool execution session
func (*ApplicationState) IsDebugMode ¶ added in v0.27.0
func (s *ApplicationState) IsDebugMode() bool
IsDebugMode returns whether debug mode is enabled
func (*ApplicationState) SetApprovalSelectedIndex ¶ added in v0.27.0
func (s *ApplicationState) SetApprovalSelectedIndex(index int)
SetApprovalSelectedIndex sets the approval selection index
func (*ApplicationState) SetDebugMode ¶ added in v0.27.0
func (s *ApplicationState) SetDebugMode(enabled bool)
SetDebugMode enables or disables debug mode
func (*ApplicationState) SetDimensions ¶ added in v0.27.0
func (s *ApplicationState) SetDimensions(width, height int)
SetDimensions updates the UI dimensions
func (*ApplicationState) SetFileSelectedIndex ¶ added in v0.27.0
func (s *ApplicationState) SetFileSelectedIndex(index int)
SetFileSelectedIndex sets the selected file index
func (*ApplicationState) SetToolApprovalRequired ¶ added in v0.27.0
func (s *ApplicationState) SetToolApprovalRequired(required bool) error
SetToolApprovalRequired marks the current tool as requiring approval
func (*ApplicationState) SetupApprovalUI ¶ added in v0.27.0
func (s *ApplicationState) SetupApprovalUI()
SetupApprovalUI initializes approval UI state
func (*ApplicationState) SetupFileSelection ¶ added in v0.27.0
func (s *ApplicationState) SetupFileSelection(files []string)
SetupFileSelection initializes file selection state
func (*ApplicationState) StartChatSession ¶ added in v0.27.0
func (s *ApplicationState) StartChatSession(requestID, model string, eventChan <-chan ChatEvent)
StartChatSession initializes a new chat session
func (*ApplicationState) StartToolExecution ¶ added in v0.27.0
func (s *ApplicationState) StartToolExecution(tools []ToolCall)
StartToolExecution initializes a new tool execution session
func (*ApplicationState) TransitionToView ¶ added in v0.27.0
func (s *ApplicationState) TransitionToView(newView ViewState) error
TransitionToView changes the current view with validation
func (*ApplicationState) UpdateChatStatus ¶ added in v0.27.0
func (s *ApplicationState) UpdateChatStatus(status ChatStatus) error
UpdateChatStatus updates the chat session status
func (*ApplicationState) UpdateFileSearchQuery ¶ added in v0.27.0
func (s *ApplicationState) UpdateFileSearchQuery(query string)
UpdateFileSearchQuery updates the file search query
type ApprovalAction ¶
type ApprovalAction int
ApprovalAction defines the possible approval actions for tool calls
const ( ApprovalApprove ApprovalAction = iota ApprovalReject )
func (ApprovalAction) String ¶ added in v0.27.0
func (a ApprovalAction) String() string
type ApprovalRequestEvent ¶ added in v0.45.0
ApprovalRequestEvent requests user approval for an action
func (ApprovalRequestEvent) GetType ¶ added in v0.45.0
func (e ApprovalRequestEvent) GetType() UIEventType
type ApprovalResponseEvent ¶ added in v0.45.0
ApprovalResponseEvent provides approval response
func (ApprovalResponseEvent) GetType ¶ added in v0.45.0
func (e ApprovalResponseEvent) GetType() UIEventType
type ApprovalUIState ¶ added in v0.27.0
type ApprovalUIState struct {
SelectedIndex int `json:"selected_index"`
}
ApprovalUIState represents the state of approval UI
type BaseFormatter ¶ added in v0.33.4
type BaseFormatter struct {
// contains filtered or unexported fields
}
BaseFormatter provides common formatting functionality that tools can embed
func NewBaseFormatter ¶ added in v0.33.4
func NewBaseFormatter(toolName string) BaseFormatter
NewBaseFormatter creates a new base formatter for a tool
func (BaseFormatter) FormatAsJSON ¶ added in v0.33.4
func (f BaseFormatter) FormatAsJSON(data any) string
FormatAsJSON formats data as JSON if possible, falls back to string representation
func (BaseFormatter) FormatDataSection ¶ added in v0.33.4
func (f BaseFormatter) FormatDataSection(dataContent string, hasMetadata bool) string
FormatDataSection formats the data section with proper indentation
func (BaseFormatter) FormatDuration ¶ added in v0.33.4
func (f BaseFormatter) FormatDuration(result *ToolExecutionResult) string
FormatDuration formats a duration for display
func (BaseFormatter) FormatExpandedFooter ¶ added in v0.33.4
func (f BaseFormatter) FormatExpandedFooter(result *ToolExecutionResult, hasDataSection bool) string
FormatExpandedFooter formats the expanded view footer with metadata
func (BaseFormatter) FormatExpandedHeader ¶ added in v0.33.4
func (f BaseFormatter) FormatExpandedHeader(result *ToolExecutionResult) string
FormatExpandedHeader formats the expanded view header with tool call and metadata
func (BaseFormatter) FormatStatus ¶ added in v0.33.4
func (f BaseFormatter) FormatStatus(success bool) string
FormatStatus returns a formatted status with icon
func (BaseFormatter) FormatStatusIcon ¶ added in v0.33.4
func (f BaseFormatter) FormatStatusIcon(success bool) string
FormatStatusIcon returns just the status icon
func (BaseFormatter) FormatToolCall ¶ added in v0.33.4
func (f BaseFormatter) FormatToolCall(args map[string]any, expanded bool) string
FormatToolCall formats a tool call for consistent display
func (BaseFormatter) GetDomainFromURL ¶ added in v0.33.4
func (f BaseFormatter) GetDomainFromURL(url string) string
GetDomainFromURL extracts domain from URL
func (BaseFormatter) GetFileName ¶ added in v0.33.4
func (f BaseFormatter) GetFileName(path string) string
GetFileName extracts filename from a path
func (BaseFormatter) ShouldCollapseArg ¶ added in v0.33.4
func (f BaseFormatter) ShouldCollapseArg(key string) bool
ShouldCollapseArg provides default collapse behavior (can be overridden by tools)
func (BaseFormatter) TruncateText ¶ added in v0.33.4
func (f BaseFormatter) TruncateText(text string, maxLength int) string
TruncateText truncates text to specified length with ellipsis
type BashToolResult ¶ added in v0.13.1
type BashToolResult struct {
Command string `json:"command"`
Output string `json:"output"`
Error string `json:"error,omitempty"`
ExitCode int `json:"exit_code"`
Duration string `json:"duration"`
}
BashToolResult represents the result of a bash command execution
type CancelledEvent ¶
CancelledEvent indicates a request was cancelled
func (CancelledEvent) GetRequestID ¶
func (e CancelledEvent) GetRequestID() string
func (CancelledEvent) GetTimestamp ¶
func (e CancelledEvent) GetTimestamp() time.Time
func (CancelledEvent) GetType ¶
func (e CancelledEvent) GetType() ChatEventType
type ChatChunkEvent ¶
type ChatChunkEvent struct {
RequestID string
Timestamp time.Time
Content string
ReasoningContent string
ToolCalls []sdk.ChatCompletionMessageToolCall
Delta bool
}
ChatChunkEvent represents a streaming chunk of chat response
func (ChatChunkEvent) GetRequestID ¶
func (e ChatChunkEvent) GetRequestID() string
func (ChatChunkEvent) GetTimestamp ¶
func (e ChatChunkEvent) GetTimestamp() time.Time
func (ChatChunkEvent) GetType ¶
func (e ChatChunkEvent) GetType() ChatEventType
type ChatCompleteEvent ¶
type ChatCompleteEvent struct {
RequestID string
Timestamp time.Time
Message string
ToolCalls []sdk.ChatCompletionMessageToolCall
Metrics *ChatMetrics
}
ChatCompleteEvent indicates chat completion
func (ChatCompleteEvent) GetRequestID ¶
func (e ChatCompleteEvent) GetRequestID() string
func (ChatCompleteEvent) GetTimestamp ¶
func (e ChatCompleteEvent) GetTimestamp() time.Time
func (ChatCompleteEvent) GetType ¶
func (e ChatCompleteEvent) GetType() ChatEventType
type ChatErrorEvent ¶
ChatErrorEvent represents an error during chat
func (ChatErrorEvent) GetRequestID ¶
func (e ChatErrorEvent) GetRequestID() string
func (ChatErrorEvent) GetTimestamp ¶
func (e ChatErrorEvent) GetTimestamp() time.Time
func (ChatErrorEvent) GetType ¶
func (e ChatErrorEvent) GetType() ChatEventType
type ChatEvent ¶
type ChatEvent interface {
GetType() ChatEventType
GetRequestID() string
GetTimestamp() time.Time
}
ChatEvent represents events during chat operations
type ChatEventType ¶
type ChatEventType int
ChatEventType defines types of chat events
const ( EventChatStart ChatEventType = iota EventChatChunk EventChatComplete EventChatError EventToolCall EventToolCallStart EventCancelled )
type ChatMetrics ¶
type ChatMetrics struct {
Duration time.Duration
Usage *sdk.CompletionUsage
}
ChatMetrics holds performance and usage metrics
type ChatService ¶
type ChatService interface {
CancelRequest(requestID string) error
GetMetrics(requestID string) *ChatMetrics
}
ChatService handles chat completion operations
type ChatSession ¶ added in v0.27.0
type ChatSession struct {
RequestID string
Status ChatStatus
StartTime time.Time
Model string
EventChannel <-chan ChatEvent
IsFirstChunk bool
HasToolCalls bool
PendingMessages []sdk.Message
LastActivity time.Time
}
ChatSession represents an active chat session state
type ChatSessionSnapshot ¶ added in v0.27.0
type ChatSessionSnapshot struct {
RequestID string `json:"request_id"`
Status string `json:"status"`
Model string `json:"model"`
StartTime time.Time `json:"start_time"`
IsFirstChunk bool `json:"is_first_chunk"`
HasToolCalls bool `json:"has_tool_calls"`
LastActivity time.Time `json:"last_activity"`
}
ChatSessionSnapshot represents a snapshot of chat session state
type ChatStartEvent ¶
ChatStartEvent indicates a chat request has started
func (ChatStartEvent) GetRequestID ¶
func (e ChatStartEvent) GetRequestID() string
func (ChatStartEvent) GetTimestamp ¶
func (e ChatStartEvent) GetTimestamp() time.Time
func (ChatStartEvent) GetType ¶
func (e ChatStartEvent) GetType() ChatEventType
type ChatStatus ¶ added in v0.27.0
type ChatStatus int
ChatStatus represents the current chat operation status
const ( ChatStatusIdle ChatStatus = iota ChatStatusStarting ChatStatusThinking ChatStatusGenerating ChatStatusReceivingTools ChatStatusWaitingTools ChatStatusCompleted ChatStatusError ChatStatusCancelled )
func (ChatStatus) String ¶ added in v0.27.0
func (c ChatStatus) String() string
type ChatSyncResponse ¶ added in v0.36.0
type ChatSyncResponse struct {
RequestID string `json:"request_id"`
Content string `json:"content"`
ToolCalls []sdk.ChatCompletionMessageToolCall `json:"tool_calls,omitempty"`
Usage *sdk.CompletionUsage `json:"usage,omitempty"`
Duration time.Duration `json:"duration"`
}
ChatSyncResponse represents a synchronous chat completion response
type ClearErrorEvent ¶ added in v0.45.0
type ClearErrorEvent struct{}
ClearErrorEvent clears any displayed error
func (ClearErrorEvent) GetType ¶ added in v0.45.0
func (e ClearErrorEvent) GetType() UIEventType
type ClearInputEvent ¶ added in v0.45.0
type ClearInputEvent struct{}
ClearInputEvent clears the input field
func (ClearInputEvent) GetType ¶ added in v0.45.0
func (e ClearInputEvent) GetType() UIEventType
type ConfigService ¶ added in v0.27.0
type ConfigService interface {
// Tool approval configuration
IsApprovalRequired(toolName string) bool
// Debug and output configuration
GetOutputDirectory() string
// Gateway configuration
GetGatewayURL() string
GetAPIKey() string
GetTimeout() int
// Chat configuration
GetSystemPrompt() string
GetDefaultModel() string
// Sandbox configuration
GetSandboxDirectories() []string
GetProtectedPaths() []string
}
ConfigService provides configuration-related functionality
type ConversationEntry ¶
type ConversationEntry struct {
Message sdk.Message `json:"message"`
Model string `json:"model,omitempty"`
Time time.Time `json:"time"`
ToolExecution *ToolExecutionResult `json:"tool_execution,omitempty"`
IsSystemReminder bool `json:"is_system_reminder,omitempty"`
}
ConversationEntry represents a message in the conversation with metadata
type ConversationRepository ¶
type ConversationRepository interface {
AddMessage(msg ConversationEntry) error
GetMessages() []ConversationEntry
Clear() error
Export(format ExportFormat) ([]byte, error)
GetMessageCount() int
UpdateLastMessage(content string) error
UpdateLastMessageToolCalls(toolCalls *[]sdk.ChatCompletionMessageToolCall) error
AddTokenUsage(inputTokens, outputTokens, totalTokens int) error
GetSessionTokens() SessionTokenStats
}
ConversationRepository handles conversation storage and retrieval
type ConversationSelectedEvent ¶ added in v0.45.0
type ConversationSelectedEvent struct {
ConversationID string
}
ConversationSelectedEvent indicates conversation selection
func (ConversationSelectedEvent) GetType ¶ added in v0.45.0
func (e ConversationSelectedEvent) GetType() UIEventType
type ConversationsLoadedEvent ¶ added in v0.45.0
type ConversationsLoadedEvent struct {
Conversations []interface{} // Will be cast to ConversationSummary in component
Error error
}
ConversationsLoadedEvent indicates conversations have been loaded
func (ConversationsLoadedEvent) GetType ¶ added in v0.45.0
func (e ConversationsLoadedEvent) GetType() UIEventType
type CustomFormatter ¶ added in v0.33.4
type CustomFormatter struct {
BaseFormatter
// contains filtered or unexported fields
}
CustomFormatter extends BaseFormatter with customizable collapse behavior
func NewCustomFormatter ¶ added in v0.33.4
func NewCustomFormatter(toolName string, collapseFunc func(string) bool) CustomFormatter
NewCustomFormatter creates a formatter with custom collapse logic
func (CustomFormatter) FormatExpandedHeader ¶ added in v0.33.4
func (f CustomFormatter) FormatExpandedHeader(result *ToolExecutionResult) string
FormatExpandedHeader overrides BaseFormatter to use custom collapse logic
func (CustomFormatter) FormatToolCall ¶ added in v0.33.4
func (f CustomFormatter) FormatToolCall(args map[string]any, expanded bool) string
FormatToolCall overrides BaseFormatter to use custom collapse logic
func (CustomFormatter) ShouldCollapseArg ¶ added in v0.33.4
func (f CustomFormatter) ShouldCollapseArg(key string) bool
ShouldCollapseArg uses the custom collapse function if provided
type DebugKeyEvent ¶ added in v0.45.0
DebugKeyEvent provides debug information about key presses
func (DebugKeyEvent) GetType ¶ added in v0.45.0
func (e DebugKeyEvent) GetType() UIEventType
type DeleteToolResult ¶ added in v0.18.0
type DeleteToolResult struct {
Path string `json:"path"`
DeletedFiles []string `json:"deleted_files"`
DeletedDirs []string `json:"deleted_dirs"`
TotalFilesDeleted int `json:"total_files_deleted"`
TotalDirsDeleted int `json:"total_dirs_deleted"`
WildcardExpanded bool `json:"wildcard_expanded"`
Errors []string `json:"errors,omitempty"`
}
DeleteToolResult represents the result of a delete operation
type EditOperationResult ¶ added in v0.22.0
type EditOperationResult struct {
OldString string `json:"old_string"`
NewString string `json:"new_string"`
ReplaceAll bool `json:"replace_all"`
ReplacedCount int `json:"replaced_count"`
Success bool `json:"success"`
Error string `json:"error,omitempty"`
}
EditOperationResult represents the result of a single edit operation within MultiEdit
type EditToolResult ¶ added in v0.21.0
type EditToolResult struct {
FilePath string `json:"file_path"`
OldString string `json:"old_string"`
NewString string `json:"new_string"`
ReplacedCount int `json:"replaced_count"`
ReplaceAll bool `json:"replace_all"`
FileModified bool `json:"file_modified"`
OriginalSize int64 `json:"original_size"`
NewSize int64 `json:"new_size"`
BytesDifference int64 `json:"bytes_difference"`
Diff string `json:"diff,omitempty"`
}
EditToolResult represents the result of an edit operation
type ExitSelectionModeEvent ¶ added in v0.45.0
type ExitSelectionModeEvent struct{}
ExitSelectionModeEvent exits text selection mode
func (ExitSelectionModeEvent) GetType ¶ added in v0.45.0
func (e ExitSelectionModeEvent) GetType() UIEventType
type ExportFormat ¶
type ExportFormat string
ExportFormat defines the format for exporting conversations
const ( ExportMarkdown ExportFormat = "markdown" ExportJSON ExportFormat = "json" ExportText ExportFormat = "text" )
type FetchResult ¶ added in v0.11.0
type FetchResult struct {
Content string `json:"content"`
URL string `json:"url"`
Status int `json:"status"`
Size int64 `json:"size"`
ContentType string `json:"content_type"`
Cached bool `json:"cached"`
Metadata map[string]string `json:"metadata,omitempty"`
Warning string `json:"warning,omitempty"`
}
FetchResult represents the result of a fetch operation
type FileReadToolResult ¶ added in v0.13.1
type FileReadToolResult struct {
FilePath string `json:"file_path"`
Content string `json:"content"`
Size int64 `json:"size"`
StartLine int `json:"start_line,omitempty"`
EndLine int `json:"end_line,omitempty"`
Error string `json:"error,omitempty"`
}
FileReadToolResult represents the result of a file read operation
type FileSelectedEvent ¶ added in v0.45.0
type FileSelectedEvent struct {
FilePath string
}
FileSelectedEvent indicates file selection
func (FileSelectedEvent) GetType ¶ added in v0.45.0
func (e FileSelectedEvent) GetType() UIEventType
type FileSelectionRequestEvent ¶ added in v0.45.0
type FileSelectionRequestEvent struct{}
FileSelectionRequestEvent requests file selection UI
func (FileSelectionRequestEvent) GetType ¶ added in v0.45.0
func (e FileSelectionRequestEvent) GetType() UIEventType
type FileSelectionState ¶ added in v0.27.0
type FileSelectionState struct {
Files []string `json:"files"`
SearchQuery string `json:"search_query"`
SelectedIndex int `json:"selected_index"`
}
FileSelectionState represents the state of file selection UI
type FileService ¶
type FileService interface {
ListProjectFiles() ([]string, error)
ReadFile(path string) (string, error)
ReadFileLines(path string, startLine, endLine int) (string, error)
ValidateFile(path string) error
GetFileInfo(path string) (FileInfo, error)
}
FileService handles file operations
type FileWriteToolResult ¶ added in v0.17.0
type FileWriteToolResult struct {
FilePath string `json:"file_path"`
BytesWritten int64 `json:"bytes_written"`
LinesWritten int `json:"lines_written"`
Created bool `json:"created"`
Overwritten bool `json:"overwritten"`
DirsCreated bool `json:"dirs_created"`
Appended bool `json:"appended"`
ChunkIndex int `json:"chunk_index,omitempty"`
TotalChunks int `json:"total_chunks,omitempty"`
IsComplete bool `json:"is_complete"`
Error string `json:"error,omitempty"`
}
FileWriteToolResult represents the result of a file write operation
type FocusRequestEvent ¶ added in v0.45.0
type FocusRequestEvent struct {
ComponentID string
}
FocusRequestEvent requests focus change
func (FocusRequestEvent) GetType ¶ added in v0.45.0
func (e FocusRequestEvent) GetType() UIEventType
type FormatterType ¶ added in v0.33.4
type FormatterType string
FormatterType defines the context for formatting tool results
const ( FormatterUI FormatterType = "ui" // Compact display for UI FormatterLLM FormatterType = "llm" // Formatted for LLM consumption FormatterShort FormatterType = "short" // Brief summary format )
type GitHubBranch ¶ added in v0.31.0
type GitHubBranch struct {
Label string `json:"label"`
Ref string `json:"ref"`
SHA string `json:"sha"`
User GitHubUser `json:"user"`
Repo GitHubRepository `json:"repo"`
}
GitHubBranch represents a branch reference in a pull request
type GitHubComment ¶ added in v0.31.0
type GitHubComment struct {
ID int `json:"id"`
Body string `json:"body"`
User GitHubUser `json:"user"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
HTMLURL string `json:"html_url"`
}
GitHubComment represents a GitHub comment
type GitHubError ¶ added in v0.31.0
type GitHubError struct {
Message string `json:"message"`
DocumentationURL string `json:"documentation_url,omitempty"`
}
GitHubError represents a GitHub API error response
type GitHubIssue ¶ added in v0.31.0
type GitHubIssue struct {
ID int `json:"id"`
Number int `json:"number"`
Title string `json:"title"`
Body string `json:"body"`
State string `json:"state"`
User GitHubUser `json:"user"`
Assignees []GitHubUser `json:"assignees,omitempty"`
Labels []GitHubLabel `json:"labels,omitempty"`
Milestone *GitHubMilestone `json:"milestone,omitempty"`
Comments int `json:"comments"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
ClosedAt *time.Time `json:"closed_at,omitempty"`
HTMLURL string `json:"html_url"`
PullRequest *struct {
URL string `json:"url"`
HTMLURL string `json:"html_url"`
DiffURL string `json:"diff_url"`
PatchURL string `json:"patch_url"`
} `json:"pull_request,omitempty"`
}
GitHubIssue represents a GitHub issue
type GitHubLabel ¶ added in v0.31.0
type GitHubLabel struct {
ID int `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
Description string `json:"description,omitempty"`
}
GitHubLabel represents a GitHub label
type GitHubMilestone ¶ added in v0.31.0
type GitHubMilestone struct {
ID int `json:"id"`
Number int `json:"number"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
State string `json:"state"`
DueOn *time.Time `json:"due_on,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
GitHubMilestone represents a GitHub milestone
type GitHubPullRequest ¶ added in v0.31.0
type GitHubPullRequest struct {
ID int `json:"id"`
Number int `json:"number"`
Title string `json:"title"`
Body string `json:"body"`
State string `json:"state"`
User GitHubUser `json:"user"`
Assignees []GitHubUser `json:"assignees,omitempty"`
Labels []GitHubLabel `json:"labels,omitempty"`
Milestone *GitHubMilestone `json:"milestone,omitempty"`
Comments int `json:"comments"`
Commits int `json:"commits"`
Additions int `json:"additions"`
Deletions int `json:"deletions"`
ChangedFiles int `json:"changed_files"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
ClosedAt *time.Time `json:"closed_at,omitempty"`
MergedAt *time.Time `json:"merged_at,omitempty"`
Merged bool `json:"merged"`
Mergeable *bool `json:"mergeable,omitempty"`
Head GitHubBranch `json:"head"`
Base GitHubBranch `json:"base"`
HTMLURL string `json:"html_url"`
DiffURL string `json:"diff_url"`
PatchURL string `json:"patch_url"`
}
GitHubPullRequest represents a GitHub pull request
type GitHubRepository ¶ added in v0.31.0
type GitHubRepository struct {
ID int `json:"id"`
Name string `json:"name"`
FullName string `json:"full_name"`
Owner GitHubUser `json:"owner"`
Private bool `json:"private"`
HTMLURL string `json:"html_url"`
CloneURL string `json:"clone_url"`
}
GitHubRepository represents a GitHub repository
type GitHubUser ¶ added in v0.31.0
type GitHubUser struct {
ID int `json:"id"`
Login string `json:"login"`
AvatarURL string `json:"avatar_url"`
HTMLURL string `json:"html_url"`
Type string `json:"type"`
}
GitHubUser represents a GitHub user
type HideHelpBarEvent ¶ added in v0.45.0
type HideHelpBarEvent struct{}
HideHelpBarEvent hides the help bar when typing other characters
func (HideHelpBarEvent) GetType ¶ added in v0.45.0
func (e HideHelpBarEvent) GetType() UIEventType
type InitializeConversationSelectionEvent ¶ added in v0.45.0
type InitializeConversationSelectionEvent struct{}
InitializeConversationSelectionEvent indicates conversation selection view should be initialized
func (InitializeConversationSelectionEvent) GetType ¶ added in v0.45.0
func (e InitializeConversationSelectionEvent) GetType() UIEventType
type InitializeTextSelectionEvent ¶ added in v0.45.0
type InitializeTextSelectionEvent struct{}
InitializeTextSelectionEvent initializes text selection mode with current conversation
func (InitializeTextSelectionEvent) GetType ¶ added in v0.45.0
func (e InitializeTextSelectionEvent) GetType() UIEventType
type ModelSelectedEvent ¶ added in v0.45.0
type ModelSelectedEvent struct {
Model string
}
ModelSelectedEvent indicates model selection
func (ModelSelectedEvent) GetType ¶ added in v0.45.0
func (e ModelSelectedEvent) GetType() UIEventType
type ModelService ¶
type ModelService interface {
ListModels(ctx context.Context) ([]string, error)
SelectModel(modelID string) error
GetCurrentModel() string
IsModelAvailable(modelID string) bool
ValidateModel(modelID string) error
}
ModelService handles model selection and information
type MultiEditToolResult ¶ added in v0.22.0
type MultiEditToolResult struct {
FilePath string `json:"file_path"`
Edits []EditOperationResult `json:"edits"`
TotalEdits int `json:"total_edits"`
SuccessfulEdits int `json:"successful_edits"`
FileModified bool `json:"file_modified"`
OriginalSize int64 `json:"original_size"`
NewSize int64 `json:"new_size"`
BytesDifference int64 `json:"bytes_difference"`
}
MultiEditToolResult represents the result of a MultiEdit operation
type ResizeEvent ¶ added in v0.45.0
ResizeEvent handles terminal resize
func (ResizeEvent) GetType ¶ added in v0.45.0
func (e ResizeEvent) GetType() UIEventType
type ScrollDirection ¶ added in v0.45.0
type ScrollDirection int
ScrollDirection defines scroll direction
const ( ScrollUp ScrollDirection = iota ScrollDown ScrollLeft ScrollRight ScrollToTop ScrollToBottom )
type ScrollRequestEvent ¶ added in v0.45.0
type ScrollRequestEvent struct {
ComponentID string
Direction ScrollDirection
Amount int
}
ScrollRequestEvent requests scrolling in a component
func (ScrollRequestEvent) GetType ¶ added in v0.45.0
func (e ScrollRequestEvent) GetType() UIEventType
type SessionTokenStats ¶ added in v0.28.0
type SessionTokenStats struct {
TotalInputTokens int `json:"total_input_tokens"`
TotalOutputTokens int `json:"total_output_tokens"`
TotalTokens int `json:"total_tokens"`
RequestCount int `json:"request_count"`
}
SessionTokenStats tracks accumulated token usage across a session
type SetInputEvent ¶ added in v0.45.0
type SetInputEvent struct {
Text string
}
SetInputEvent sets text in the input field
func (SetInputEvent) GetType ¶ added in v0.45.0
func (e SetInputEvent) GetType() UIEventType
type SetStatusEvent ¶ added in v0.45.0
type SetStatusEvent struct {
Message string
Spinner bool
TokenUsage string
StatusType StatusType
Progress *StatusProgress
}
SetStatusEvent sets a status message
func (SetStatusEvent) GetType ¶ added in v0.45.0
func (e SetStatusEvent) GetType() UIEventType
type SetupFileSelectionEvent ¶ added in v0.45.0
type SetupFileSelectionEvent struct {
Files []string
}
SetupFileSelectionEvent sets up file selection state with files
func (SetupFileSelectionEvent) GetType ¶ added in v0.45.0
func (e SetupFileSelectionEvent) GetType() UIEventType
type ShowErrorEvent ¶ added in v0.45.0
ShowErrorEvent displays an error message
func (ShowErrorEvent) GetType ¶ added in v0.45.0
func (e ShowErrorEvent) GetType() UIEventType
type StateSnapshot ¶ added in v0.27.0
type StateSnapshot struct {
CurrentView string `json:"current_view"`
PreviousView string `json:"previous_view"`
Width int `json:"width"`
Height int `json:"height"`
DebugMode bool `json:"debug_mode"`
Timestamp time.Time `json:"timestamp"`
ChatSession *ChatSessionSnapshot `json:"chat_session,omitempty"`
ToolExecution *ToolExecutionSnapshot `json:"tool_execution,omitempty"`
}
StateSnapshot represents a point-in-time snapshot of application state
type StatusProgress ¶ added in v0.45.0
StatusProgress represents progress information for status messages
type StatusType ¶ added in v0.45.0
type StatusType int
StatusType represents different types of status messages
const ( StatusDefault StatusType = iota StatusThinking StatusGenerating StatusWorking StatusProcessing StatusPreparing )
type TodoItem ¶ added in v0.20.0
type TodoItem struct {
ID string `json:"id"`
Content string `json:"content"`
Status string `json:"status"`
}
TodoItem represents a single todo item
type TodoWriteToolResult ¶ added in v0.20.0
type TodoWriteToolResult struct {
Todos []TodoItem `json:"todos"`
TotalTasks int `json:"total_tasks"`
CompletedTasks int `json:"completed_tasks"`
InProgressTask string `json:"in_progress_task,omitempty"`
ValidationOK bool `json:"validation_ok"`
}
TodoWriteToolResult represents the result of a TodoWrite operation
type ToggleHelpBarEvent ¶ added in v0.45.0
type ToggleHelpBarEvent struct{}
ToggleHelpBarEvent toggles the help bar visibility
func (ToggleHelpBarEvent) GetType ¶ added in v0.45.0
func (e ToggleHelpBarEvent) GetType() UIEventType
type Tool ¶ added in v0.14.1
type Tool interface {
// Definition returns the tool definition for the LLM
Definition() ToolDefinition
// Execute runs the tool with given arguments
Execute(ctx context.Context, args map[string]any) (*ToolExecutionResult, error)
// Validate checks if the tool arguments are valid
Validate(args map[string]any) error
// IsEnabled returns whether this tool is enabled
IsEnabled() bool
// FormatResult formats tool execution results for different contexts
FormatResult(result *ToolExecutionResult, formatType FormatterType) string
// FormatPreview returns a short preview of the result for UI display
FormatPreview(result *ToolExecutionResult) string
// ShouldCollapseArg determines if an argument should be collapsed in display
ShouldCollapseArg(key string) bool
// ShouldAlwaysExpand determines if tool results should always be expanded in UI
ShouldAlwaysExpand() bool
}
Tool represents a single tool with its definition, handler, and validator
type ToolApprovalRequestEvent ¶ added in v0.45.0
type ToolApprovalRequestEvent struct {
SessionID string
ToolCall sdk.ChatCompletionMessageToolCall
ToolIndex int
TotalTools int
}
ToolApprovalRequestEvent requests approval for a specific tool
func (ToolApprovalRequestEvent) GetType ¶ added in v0.45.0
func (e ToolApprovalRequestEvent) GetType() UIEventType
type ToolApprovalResponseEvent ¶ added in v0.45.0
ToolApprovalResponseEvent provides the approval response
func (ToolApprovalResponseEvent) GetType ¶ added in v0.45.0
func (e ToolApprovalResponseEvent) GetType() UIEventType
type ToolCall ¶ added in v0.27.0
type ToolCall struct {
ID string `json:"id"`
Name string `json:"name"`
Arguments map[string]any `json:"arguments"`
Status ToolCallStatus `json:"status"`
Result *ToolExecutionResult `json:"result,omitempty"`
StartTime time.Time `json:"start_time"`
EndTime *time.Time `json:"end_time,omitempty"`
}
ToolCall represents a tool call with proper typing
type ToolCallEvent ¶
type ToolCallEvent struct {
RequestID string
Timestamp time.Time
ToolCallID string
ToolName string
Args string
}
ToolCallEvent represents a tool call request
func (ToolCallEvent) GetRequestID ¶
func (e ToolCallEvent) GetRequestID() string
func (ToolCallEvent) GetTimestamp ¶
func (e ToolCallEvent) GetTimestamp() time.Time
func (ToolCallEvent) GetType ¶
func (e ToolCallEvent) GetType() ChatEventType
type ToolCallSnapshot ¶ added in v0.27.0
type ToolCallSnapshot struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
StartTime time.Time `json:"start_time"`
}
ToolCallSnapshot represents a snapshot of tool call state
type ToolCallStartEvent ¶ added in v0.27.0
ToolCallStartEvent indicates tool calls have started being received
func (ToolCallStartEvent) GetRequestID ¶ added in v0.27.0
func (e ToolCallStartEvent) GetRequestID() string
func (ToolCallStartEvent) GetTimestamp ¶ added in v0.27.0
func (e ToolCallStartEvent) GetTimestamp() time.Time
func (ToolCallStartEvent) GetType ¶ added in v0.27.0
func (e ToolCallStartEvent) GetType() ChatEventType
type ToolCallStatus ¶ added in v0.27.0
type ToolCallStatus int
ToolCallStatus represents the status of an individual tool call
const ( ToolCallStatusPending ToolCallStatus = iota ToolCallStatusWaitingApproval ToolCallStatusExecuting ToolCallStatusCompleted ToolCallStatusFailed ToolCallStatusCancelled ToolCallStatusDenied )
func (ToolCallStatus) String ¶ added in v0.27.0
func (t ToolCallStatus) String() string
type ToolDefinition ¶
type ToolDefinition struct {
Name string `json:"name"`
Description string `json:"description"`
Parameters any `json:"parameters"`
}
ToolDefinition describes an available tool
type ToolExecutionCompletedEvent ¶ added in v0.45.0
type ToolExecutionCompletedEvent struct {
SessionID string
TotalExecuted int
SuccessCount int
FailureCount int
Results []*ToolExecutionResult
}
ToolExecutionCompletedEvent indicates tool execution is complete
func (ToolExecutionCompletedEvent) GetType ¶ added in v0.45.0
func (e ToolExecutionCompletedEvent) GetType() UIEventType
type ToolExecutionProgressEvent ¶ added in v0.45.0
type ToolExecutionProgressEvent struct {
SessionID string
CurrentTool int
TotalTools int
ToolName string
Status string
RequiresApproval bool
}
ToolExecutionProgressEvent indicates progress in tool execution
func (ToolExecutionProgressEvent) GetType ¶ added in v0.45.0
func (e ToolExecutionProgressEvent) GetType() UIEventType
type ToolExecutionResult ¶ added in v0.13.1
type ToolExecutionResult struct {
ToolName string `json:"tool_name"`
Arguments map[string]any `json:"arguments"`
Success bool `json:"success"`
Duration time.Duration `json:"duration"`
Error string `json:"error,omitempty"`
Data any `json:"data,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
Diff string `json:"diff,omitempty"`
}
ToolExecutionResult represents the complete result of a tool execution
type ToolExecutionSession ¶ added in v0.27.0
type ToolExecutionSession struct {
CurrentTool *ToolCall
RemainingTools []ToolCall
TotalTools int
CompletedTools int
Status ToolExecutionStatus
RequiresApproval bool
ApprovalChoice ApprovalAction
StartTime time.Time
}
ToolExecutionSession represents an active tool execution session
type ToolExecutionSnapshot ¶ added in v0.27.0
type ToolExecutionSnapshot struct {
Status string `json:"status"`
TotalTools int `json:"total_tools"`
CompletedTools int `json:"completed_tools"`
RequiresApproval bool `json:"requires_approval"`
StartTime time.Time `json:"start_time"`
CurrentTool *ToolCallSnapshot `json:"current_tool,omitempty"`
}
ToolExecutionSnapshot represents a snapshot of tool execution state
type ToolExecutionStartedEvent ¶ added in v0.45.0
ToolExecutionStartedEvent indicates tool execution has started
func (ToolExecutionStartedEvent) GetType ¶ added in v0.45.0
func (e ToolExecutionStartedEvent) GetType() UIEventType
type ToolExecutionStatus ¶ added in v0.27.0
type ToolExecutionStatus int
ToolExecutionStatus represents the overall tool execution session status
const ( ToolExecutionStatusIdle ToolExecutionStatus = iota ToolExecutionStatusProcessing ToolExecutionStatusWaitingApproval ToolExecutionStatusExecuting ToolExecutionStatusCompleted ToolExecutionStatusFailed )
func (ToolExecutionStatus) String ¶ added in v0.27.0
func (t ToolExecutionStatus) String() string
type ToolFactory ¶ added in v0.14.1
type ToolFactory interface {
// CreateTool creates a tool instance by name
CreateTool(name string) (Tool, error)
// ListAvailableTools returns names of all available tools
ListAvailableTools() []string
}
ToolFactory creates tool instances
type ToolFormatter ¶ added in v0.33.4
type ToolFormatter interface {
// FormatToolCall formats a tool call for consistent display
FormatToolCall(toolName string, args map[string]any) string
// FormatToolArgumentsForApproval formats tool arguments for approval display
FormatToolArgumentsForApproval(toolName string, args map[string]any) string
// FormatToolResultForUI formats tool execution results for UI display
FormatToolResultForUI(result *ToolExecutionResult, terminalWidth int) string
// FormatToolResultExpanded formats expanded tool execution results
FormatToolResultExpanded(result *ToolExecutionResult, terminalWidth int) string
// FormatToolResultForLLM formats tool execution results for LLM consumption
FormatToolResultForLLM(result *ToolExecutionResult) string
// ShouldAlwaysExpandTool checks if a tool result should always be expanded
ShouldAlwaysExpandTool(toolName string) bool
}
ToolFormatter provides formatting capabilities for tool results
type ToolService ¶
type ToolService interface {
ListTools() []ToolDefinition
ListAvailableTools() []string
ExecuteTool(ctx context.Context, name string, args map[string]any) (*ToolExecutionResult, error)
IsToolEnabled(name string) bool
ValidateTool(name string, args map[string]any) error
}
ToolService handles tool execution
type TreeToolResult ¶ added in v0.16.0
type TreeToolResult struct {
Path string `json:"path"`
Output string `json:"output"`
TotalFiles int `json:"total_files"`
TotalDirs int `json:"total_dirs"`
MaxDepth int `json:"max_depth"`
MaxFiles int `json:"max_files"`
ShowHidden bool `json:"show_hidden"`
Format string `json:"format"`
UsingNativeTree bool `json:"using_native_tree"`
Truncated bool `json:"truncated"`
}
TreeToolResult represents the result of a tree operation
type UIEvent ¶ added in v0.45.0
type UIEvent interface {
GetType() UIEventType
}
UIEvent interface for all UI-related events
type UIEventType ¶ added in v0.45.0
type UIEventType int
UIEventType defines types of UI events
const ( UIEventUpdateHistory UIEventType = iota UIEventSetStatus UIEventUpdateStatus UIEventShowError UIEventClearError UIEventClearInput UIEventSetInput UIEventUserInput UIEventModelSelected UIEventConversationSelected UIEventInitializeConversationSelection UIEventFileSelected UIEventFileSelectionRequest UIEventSetupFileSelection UIEventApprovalRequest UIEventApprovalResponse UIEventScrollRequest UIEventFocusRequest UIEventResize UIEventDebugKey UIEventToggleHelpBar UIEventHideHelpBar UIEventExitSelectionMode UIEventInitializeTextSelection UIEventConversationsLoaded UIEventToolExecutionStarted UIEventToolExecutionProgress UIEventToolExecutionCompleted UIEventToolApprovalRequest UIEventToolApprovalResponse )
type UpdateHistoryEvent ¶ added in v0.45.0
type UpdateHistoryEvent struct {
History []ConversationEntry
}
UpdateHistoryEvent updates the conversation history display
func (UpdateHistoryEvent) GetType ¶ added in v0.45.0
func (e UpdateHistoryEvent) GetType() UIEventType
type UpdateStatusEvent ¶ added in v0.45.0
type UpdateStatusEvent struct {
Message string
StatusType StatusType
}
UpdateStatusEvent updates an existing status message without resetting timer
func (UpdateStatusEvent) GetType ¶ added in v0.45.0
func (e UpdateStatusEvent) GetType() UIEventType
type UserInputEvent ¶ added in v0.45.0
type UserInputEvent struct {
Content string
}
UserInputEvent represents user input submission
func (UserInputEvent) GetType ¶ added in v0.45.0
func (e UserInputEvent) GetType() UIEventType
type ViewState ¶ added in v0.27.0
type ViewState int
ViewState represents the current view with proper state management
type WebFetchService ¶ added in v0.29.2
type WebFetchService interface {
ValidateURL(url string) error
FetchContent(ctx context.Context, target string) (*FetchResult, error)
ClearCache()
GetCacheStats() map[string]any
}
WebFetchService handles content fetching operations
type WebSearchResponse ¶ added in v0.13.0
type WebSearchResponse struct {
Query string `json:"query"`
Engine string `json:"engine"`
Results []WebSearchResult `json:"results"`
Total int `json:"total"`
Time time.Duration `json:"time"`
Error string `json:"error,omitempty"`
}
WebSearchResponse represents the complete search response
type WebSearchResult ¶ added in v0.13.0
type WebSearchResult struct {
Title string `json:"title"`
URL string `json:"url"`
Snippet string `json:"snippet"`
}
WebSearchResult represents a single search result
type WebSearchService ¶ added in v0.13.0
type WebSearchService interface {
SearchGoogle(ctx context.Context, query string, maxResults int) (*WebSearchResponse, error)
SearchDuckDuckGo(ctx context.Context, query string, maxResults int) (*WebSearchResponse, error)
IsEnabled() bool
SetEnabled(enabled bool)
}
WebSearchService handles web search operations