Documentation
¶
Overview ¶
* ChatCLI - Command Line Interface for LLM interaction * Copyright (c) 2024 Edilson Freitas * License: MIT
* ChatCLI - Command Line Interface for LLM interaction * Copyright (c) 2024 Edilson Freitas * License: MIT
* ChatCLI - Command Line Interface for LLM interaction * Copyright (c) 2024 Edilson Freitas * License: MIT
* ChatCLI - Command Line Interface for LLM interaction * Copyright (c) 2024 Edilson Freitas * License: MIT
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentMode ¶
type AgentMode struct {
// contains filtered or unexported fields
}
AgentMode representa a funcionalidade de agente autônomo no ChatCLI
func NewAgentMode ¶
NewAgentMode cria uma nova instância do modo agente
type AnimationManager ¶
type AnimationManager struct {
// contains filtered or unexported fields
}
func NewAnimationManager ¶
func NewAnimationManager() *AnimationManager
func (*AnimationManager) ShowThinkingAnimation ¶
func (am *AnimationManager) ShowThinkingAnimation(message string)
ShowThinkingAnimation inicia ou atualiza a animação "pensando"
func (*AnimationManager) StopThinkingAnimation ¶
func (am *AnimationManager) StopThinkingAnimation()
StopThinkingAnimation para a animação de forma segura
func (*AnimationManager) UpdateMessage ¶
func (am *AnimationManager) UpdateMessage(message string)
UpdateMessage atualiza a mensagem sem parar e reiniciar a animação
type ChatCLI ¶
ChatCLI representa a interface de linha de comando do chat
func NewChatCLI ¶
NewChatCLI cria uma nova instância de ChatCLI
type CommandBlock ¶
type CommandBlock struct {
Description string
Commands []string
Language string
ContextInfo CommandContextInfo
}
CommandBlock representa um bloco de comandos executáveis
type CommandContextInfo ¶
type CommandContextInfo struct {
SourceType SourceType
FileExtension string
IsScript bool
ScriptType string // shell, python, etc.
}
CommandContextInfo contém metadados sobre a origem e natureza de um comando
type CommandHandler ¶
type CommandHandler struct {
// contains filtered or unexported fields
}
func NewCommandHandler ¶
func NewCommandHandler(cli *ChatCLI) *CommandHandler
func (*CommandHandler) HandleCommand ¶
func (ch *CommandHandler) HandleCommand(userInput string) bool
Atualizar o método HandleCommand no CommandHandler para incluir os novos comandos
type CommandOutput ¶
type CommandOutput struct {
CommandBlock CommandBlock
Output string
ErrorMsg string
}
type HistoryManager ¶
type HistoryManager struct {
// contains filtered or unexported fields
}
func NewHistoryManager ¶
func NewHistoryManager(logger *zap.Logger) *HistoryManager
func (*HistoryManager) LoadHistory ¶
func (hm *HistoryManager) LoadHistory() ([]string, error)
LoadHistory carrega o histórico do arquivo
func (*HistoryManager) SaveHistory ¶
func (hm *HistoryManager) SaveHistory(commandHistory []string) error
SaveHistory salva o histórico no arquivo e faz backup se o tamanho exceder o limite
type Liner ¶
type Liner interface {
Prompt(string) (string, error)
Close() error
SetCtrlCAborts(bool)
AppendHistory(string)
SetCompleter(liner.Completer)
}
Adicione a interface Liner
type Logger ¶
type Logger interface {
Info(msg string, fields ...zap.Field)
Error(msg string, fields ...zap.Field)
Warn(msg string, fields ...zap.Field)
Sync() error
}
Logger interface para facilitar a testabilidade
type SourceType ¶
type SourceType int
const ( SourceTypeUserInput SourceType = iota SourceTypeFile SourceTypeCommandOutput )