shortcuts

package
v0.68.1 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type A2AShortcut added in v0.48.0

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

func NewA2AShortcut added in v0.48.0

func NewA2AShortcut(cfg *config.Config, a2aAgentService domain.A2AAgentService, agentsConfigService AgentsConfigService, agentManager domain.AgentManager) *A2AShortcut

func (*A2AShortcut) CanExecute added in v0.48.0

func (a *A2AShortcut) CanExecute(args []string) bool

func (*A2AShortcut) Execute added in v0.48.0

func (a *A2AShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*A2AShortcut) GetA2AAgentService added in v0.49.0

func (a *A2AShortcut) GetA2AAgentService() domain.A2AAgentService

func (*A2AShortcut) GetDescription added in v0.48.0

func (a *A2AShortcut) GetDescription() string

func (*A2AShortcut) GetName added in v0.48.0

func (a *A2AShortcut) GetName() string

func (*A2AShortcut) GetUsage added in v0.48.0

func (a *A2AShortcut) GetUsage() string

type A2ATaskManagementShortcut added in v0.53.3

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

A2ATaskManagementShortcut shows the A2A task management dropdown

func NewA2ATaskManagementShortcut added in v0.53.3

func NewA2ATaskManagementShortcut(configService *config.Config) *A2ATaskManagementShortcut

NewA2ATaskManagementShortcut creates a new A2A task management shortcut

func (*A2ATaskManagementShortcut) CanExecute added in v0.53.3

func (t *A2ATaskManagementShortcut) CanExecute(args []string) bool

func (*A2ATaskManagementShortcut) Execute added in v0.53.3

func (*A2ATaskManagementShortcut) GetDescription added in v0.53.3

func (t *A2ATaskManagementShortcut) GetDescription() string

func (*A2ATaskManagementShortcut) GetName added in v0.53.3

func (t *A2ATaskManagementShortcut) GetName() string

func (*A2ATaskManagementShortcut) GetUsage added in v0.53.3

func (t *A2ATaskManagementShortcut) GetUsage() string

type AgentsConfigService added in v0.67.0

type AgentsConfigService interface {
	AddAgent(agent config.AgentEntry) error
	UpdateAgent(agent config.AgentEntry) error
	RemoveAgent(name string) error
	ListAgents() ([]config.AgentEntry, error)
	GetAgent(name string) (*config.AgentEntry, error)
	GetAgentURLs() ([]string, error)
}

AgentsConfigService interface for managing agent configurations

type ClearShortcut

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

ClearShortcut clears the conversation history

func NewClearShortcut

func NewClearShortcut(repo domain.ConversationRepository, taskTracker domain.TaskTracker) *ClearShortcut

func (*ClearShortcut) CanExecute

func (c *ClearShortcut) CanExecute(args []string) bool

func (*ClearShortcut) Execute

func (c *ClearShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ClearShortcut) GetDescription

func (c *ClearShortcut) GetDescription() string

func (*ClearShortcut) GetName

func (c *ClearShortcut) GetName() string

func (*ClearShortcut) GetUsage

func (c *ClearShortcut) GetUsage() string

type CompactShortcut added in v0.63.0

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

CompactShortcut runs conversation optimization to reduce token usage

func NewCompactShortcut added in v0.63.0

func NewCompactShortcut(repo domain.ConversationRepository) *CompactShortcut

func (*CompactShortcut) CanExecute added in v0.63.0

func (c *CompactShortcut) CanExecute(args []string) bool

func (*CompactShortcut) Execute added in v0.63.0

func (c *CompactShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*CompactShortcut) GetDescription added in v0.63.0

func (c *CompactShortcut) GetDescription() string

func (*CompactShortcut) GetName added in v0.63.0

func (c *CompactShortcut) GetName() string

func (*CompactShortcut) GetUsage added in v0.63.0

func (c *CompactShortcut) GetUsage() string

type ConfigShortcut

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

ConfigShortcut allows runtime configuration management

func NewConfigShortcut

func NewConfigShortcut(cfg *config.Config, reloadFunc func() (*config.Config, error), configService interface {
	SetValue(key, value string) error
}, modelService interface {
	GetCurrentModel() string
}) *ConfigShortcut

NewConfigShortcut creates a new config shortcut

func (*ConfigShortcut) CanExecute

func (c *ConfigShortcut) CanExecute(args []string) bool

func (*ConfigShortcut) Execute

func (c *ConfigShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ConfigShortcut) GetDescription

func (c *ConfigShortcut) GetDescription() string

func (*ConfigShortcut) GetName

func (c *ConfigShortcut) GetName() string

func (*ConfigShortcut) GetUsage

func (c *ConfigShortcut) GetUsage() string

type ContextShortcut added in v0.63.0

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

ContextShortcut shows context window usage information

func NewContextShortcut added in v0.63.0

func NewContextShortcut(repo domain.ConversationRepository, modelService domain.ModelService) *ContextShortcut

func (*ContextShortcut) CanExecute added in v0.63.0

func (c *ContextShortcut) CanExecute(args []string) bool

func (*ContextShortcut) Execute added in v0.63.0

func (c *ContextShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ContextShortcut) GetDescription added in v0.63.0

func (c *ContextShortcut) GetDescription() string

func (*ContextShortcut) GetName added in v0.63.0

func (c *ContextShortcut) GetName() string

func (*ContextShortcut) GetUsage added in v0.63.0

func (c *ContextShortcut) GetUsage() string

type ConversationMetadata added in v0.45.0

type ConversationMetadata struct {
	ID           string
	Title        string
	CreatedAt    string
	UpdatedAt    string
	MessageCount int
	TokenStats   TokenStats
	Model        string
	Tags         []string
	Summary      string
}

ConversationMetadata represents conversation metadata

type ConversationSelectShortcut added in v0.45.0

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

ConversationSelectShortcut shows the conversation selection dropdown

func NewConversationSelectShortcut added in v0.45.0

func NewConversationSelectShortcut(repo PersistentConversationRepository) *ConversationSelectShortcut

NewConversationSelectShortcut creates a new conversation select shortcut

func (*ConversationSelectShortcut) CanExecute added in v0.45.0

func (c *ConversationSelectShortcut) CanExecute(args []string) bool

func (*ConversationSelectShortcut) Execute added in v0.45.0

func (*ConversationSelectShortcut) GetDescription added in v0.45.0

func (c *ConversationSelectShortcut) GetDescription() string

func (*ConversationSelectShortcut) GetName added in v0.45.0

func (c *ConversationSelectShortcut) GetName() string

func (*ConversationSelectShortcut) GetUsage added in v0.45.0

func (c *ConversationSelectShortcut) GetUsage() string

type ConversationSummary added in v0.45.0

type ConversationSummary struct {
	ID           string
	Title        string
	CreatedAt    string
	UpdatedAt    string
	MessageCount int
	TokenStats   TokenStats
	Model        string
	Tags         []string
	Summary      string
}

ConversationSummary represents a saved conversation summary

type CustomShortcut added in v0.44.0

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

CustomShortcut implements the Shortcut interface for user-defined shortcuts

func NewCustomShortcut added in v0.44.0

func NewCustomShortcut(config CustomShortcutConfig) *CustomShortcut

NewCustomShortcut creates a new custom shortcut from configuration

func (*CustomShortcut) CanExecute added in v0.44.0

func (c *CustomShortcut) CanExecute(args []string) bool

func (*CustomShortcut) Execute added in v0.44.0

func (c *CustomShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*CustomShortcut) GetDescription added in v0.44.0

func (c *CustomShortcut) GetDescription() string

func (*CustomShortcut) GetName added in v0.44.0

func (c *CustomShortcut) GetName() string

func (*CustomShortcut) GetUsage added in v0.44.0

func (c *CustomShortcut) GetUsage() string

type CustomShortcutConfig added in v0.44.0

type CustomShortcutConfig struct {
	Name        string   `yaml:"name"`
	Description string   `yaml:"description"`
	Command     string   `yaml:"command"`
	Args        []string `yaml:"args,omitempty"`
	WorkingDir  string   `yaml:"working_dir,omitempty"`
}

CustomShortcutConfig represents a user-defined shortcut configuration

type CustomShortcutsConfig added in v0.44.0

type CustomShortcutsConfig struct {
	Shortcuts []CustomShortcutConfig `yaml:"shortcuts"`
}

CustomShortcutsConfig represents the structure of a custom shortcuts YAML file

type ExitShortcut

type ExitShortcut struct{}

ExitShortcut exits the application

func NewExitShortcut

func NewExitShortcut() *ExitShortcut

func (*ExitShortcut) CanExecute

func (c *ExitShortcut) CanExecute(args []string) bool

func (*ExitShortcut) Execute

func (c *ExitShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ExitShortcut) GetDescription

func (c *ExitShortcut) GetDescription() string

func (*ExitShortcut) GetName

func (c *ExitShortcut) GetName() string

func (*ExitShortcut) GetUsage

func (c *ExitShortcut) GetUsage() string

type ExportResult added in v0.49.0

type ExportResult struct {
	FilePath string
	Summary  string
}

ExportResult contains the results of an export operation

type ExportShortcut

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

ExportShortcut exports the conversation

func NewExportShortcut

func NewExportShortcut(repo domain.ConversationRepository, agentService domain.AgentService, modelService domain.ModelService, config *config.Config) *ExportShortcut

func (*ExportShortcut) CanExecute

func (c *ExportShortcut) CanExecute(args []string) bool

func (*ExportShortcut) Execute

func (c *ExportShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ExportShortcut) GetDescription

func (c *ExportShortcut) GetDescription() string

func (*ExportShortcut) GetName

func (c *ExportShortcut) GetName() string

func (*ExportShortcut) GetUsage

func (c *ExportShortcut) GetUsage() string

func (*ExportShortcut) PerformExport

func (c *ExportShortcut) PerformExport(ctx context.Context) (*ExportResult, error)

PerformExport performs the actual export operation (called by side effect handler)

type GitShortcut

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

GitShortcut handles all git operations (status, pull, log, commit, push, etc.)

func NewGitShortcut

func NewGitShortcut(commitClient sdk.Client, config *config.Config, modelService domain.ModelService) *GitShortcut

NewGitShortcut creates a new unified git shortcut

func (*GitShortcut) CanExecute

func (g *GitShortcut) CanExecute(args []string) bool

func (*GitShortcut) Execute

func (g *GitShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*GitShortcut) GenerateCommitCommand added in v0.60.0

func (g *GitShortcut) GenerateCommitCommand(ctx context.Context, args []string, diff string) (string, error)

GenerateCommitCommand generates an AI commit message and returns the git commit command string for the user to review and execute.

func (*GitShortcut) GetDescription

func (g *GitShortcut) GetDescription() string

func (*GitShortcut) GetName

func (g *GitShortcut) GetName() string

func (*GitShortcut) GetUsage

func (g *GitShortcut) GetUsage() string

type HelpShortcut

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

HelpShortcut shows available shortcuts

func NewHelpShortcut

func NewHelpShortcut(registry *Registry) *HelpShortcut

func (*HelpShortcut) CanExecute

func (c *HelpShortcut) CanExecute(args []string) bool

func (*HelpShortcut) Execute

func (c *HelpShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*HelpShortcut) GetDescription

func (c *HelpShortcut) GetDescription() string

func (*HelpShortcut) GetName

func (c *HelpShortcut) GetName() string

func (*HelpShortcut) GetUsage

func (c *HelpShortcut) GetUsage() string

type InitShortcut added in v0.59.0

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

InitShortcut sets the input field with a configurable prompt for project initialization

func NewInitShortcut added in v0.59.0

func NewInitShortcut(cfg *config.Config) *InitShortcut

NewInitShortcut creates a new init shortcut

func (*InitShortcut) CanExecute added in v0.59.0

func (c *InitShortcut) CanExecute(args []string) bool

func (*InitShortcut) Execute added in v0.59.0

func (c *InitShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*InitShortcut) GetDescription added in v0.59.0

func (c *InitShortcut) GetDescription() string

func (*InitShortcut) GetName added in v0.59.0

func (c *InitShortcut) GetName() string

func (*InitShortcut) GetUsage added in v0.59.0

func (c *InitShortcut) GetUsage() string

type NewShortcut added in v0.46.0

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

NewShortcut starts a new conversation

func NewNewShortcut added in v0.46.0

func NewNewShortcut(repo PersistentConversationRepository, taskTracker domain.TaskTracker) *NewShortcut

func (*NewShortcut) CanExecute added in v0.46.0

func (c *NewShortcut) CanExecute(args []string) bool

func (*NewShortcut) Execute added in v0.46.0

func (c *NewShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*NewShortcut) GetDescription added in v0.46.0

func (c *NewShortcut) GetDescription() string

func (*NewShortcut) GetName added in v0.46.0

func (c *NewShortcut) GetName() string

func (*NewShortcut) GetUsage added in v0.46.0

func (c *NewShortcut) GetUsage() string

type PersistentConversationRepository added in v0.45.0

type PersistentConversationRepository interface {
	ListSavedConversations(ctx context.Context, limit, offset int) ([]ConversationSummary, error)
	LoadConversation(ctx context.Context, conversationID string) error
	GetCurrentConversationMetadata() ConversationMetadata
	SaveConversation(ctx context.Context) error
	StartNewConversation(title string) error
	GetCurrentConversationID() string
	SetConversationTitle(title string)
	DeleteSavedConversation(ctx context.Context, conversationID string) error
}

PersistentConversationRepository interface for conversation persistence

type Registry

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

Registry manages all available shortcuts

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new shortcut registry

func (*Registry) Execute

func (r *Registry) Execute(ctx context.Context, name string, args []string) (ShortcutResult, error)

Execute executes a shortcut by name with arguments

func (*Registry) Get

func (r *Registry) Get(name string) (Shortcut, bool)

Get retrieves a shortcut by name

func (*Registry) GetAll

func (r *Registry) GetAll() []Shortcut

GetAll returns all registered shortcuts

func (*Registry) GetShortcuts

func (r *Registry) GetShortcuts() map[string]string

GetShortcuts returns a map of shortcut names to descriptions

func (*Registry) GetShortcutsStartingWith

func (r *Registry) GetShortcutsStartingWith(prefix string) []string

GetShortcutsStartingWith returns shortcuts that start with the given prefix

func (*Registry) List

func (r *Registry) List() []string

List returns all registered shortcut names

func (*Registry) LoadCustomShortcuts added in v0.44.0

func (r *Registry) LoadCustomShortcuts(baseDir string) error

LoadCustomShortcuts loads user-defined shortcuts from the specified base directory

func (*Registry) ParseShortcut

func (r *Registry) ParseShortcut(input string) (string, []string, error)

ParseShortcut parses a shortcut line input into shortcut name and arguments Handles quoted strings properly

func (*Registry) Register

func (r *Registry) Register(shortcut Shortcut)

Register adds a shortcut to the registry

func (*Registry) Unregister

func (r *Registry) Unregister(name string)

Unregister removes a shortcut from the registry

type SCMShortcut added in v0.62.0

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

SCMShortcut handles source control management operations for creating PRs

func NewSCMShortcut added in v0.62.0

func NewSCMShortcut(client sdk.Client, cfg *config.Config, modelService domain.ModelService) *SCMShortcut

NewSCMShortcut creates a new SCM shortcut

func (*SCMShortcut) CanExecute added in v0.62.0

func (s *SCMShortcut) CanExecute(args []string) bool

func (*SCMShortcut) Execute added in v0.62.0

func (s *SCMShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*SCMShortcut) GeneratePRPlan added in v0.62.0

func (s *SCMShortcut) GeneratePRPlan(ctx context.Context, diff, currentBranch string, isMainBranch bool) (string, error)

GeneratePRPlan generates a concise PR plan by calling the LLM

func (*SCMShortcut) GetDescription added in v0.62.0

func (s *SCMShortcut) GetDescription() string

func (*SCMShortcut) GetName added in v0.62.0

func (s *SCMShortcut) GetName() string

func (*SCMShortcut) GetUsage added in v0.62.0

func (s *SCMShortcut) GetUsage() string

type Shortcut

type Shortcut interface {
	GetName() string
	GetDescription() string
	GetUsage() string
	Execute(ctx context.Context, args []string) (ShortcutResult, error)
	CanExecute(args []string) bool
}

Shortcut interface represents a chat shortcut that can be executed

func LoadCustomShortcuts added in v0.44.0

func LoadCustomShortcuts(baseDir string) ([]Shortcut, error)

LoadCustomShortcuts loads user-defined shortcuts from shortcuts/ directory within the specified base directory

type ShortcutResult

type ShortcutResult struct {
	Output     string
	Success    bool
	SideEffect SideEffectType
	Data       any
}

ShortcutResult represents the result of a shortcut execution

type SideEffectType

type SideEffectType int

SideEffectType defines the types of side effects a shortcut can have

const (
	SideEffectNone SideEffectType = iota
	SideEffectClearConversation
	SideEffectExportConversation
	SideEffectExit
	SideEffectSwitchModel
	SideEffectSwitchTheme
	SideEffectShowHelp
	SideEffectReloadConfig
	SideEffectGenerateCommit
	SideEffectSaveConversation
	SideEffectShowConversationSelection
	SideEffectStartNewConversation
	SideEffectShowA2AServers
	SideEffectShowA2ATaskManagement
	SideEffectSetInput
	SideEffectGeneratePRPlan
	SideEffectCompactConversation
	SideEffectA2AAgentAdded
	SideEffectA2AAgentRemoved
)

type SwitchShortcut

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

SwitchShortcut switches the active model

func NewSwitchShortcut

func NewSwitchShortcut(modelService domain.ModelService) *SwitchShortcut

func (*SwitchShortcut) CanExecute

func (c *SwitchShortcut) CanExecute(args []string) bool

func (*SwitchShortcut) Execute

func (c *SwitchShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*SwitchShortcut) GetDescription

func (c *SwitchShortcut) GetDescription() string

func (*SwitchShortcut) GetName

func (c *SwitchShortcut) GetName() string

func (*SwitchShortcut) GetUsage

func (c *SwitchShortcut) GetUsage() string

type ThemeShortcut added in v0.47.0

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

ThemeShortcut switches the active theme

func NewThemeShortcut added in v0.47.0

func NewThemeShortcut(themeService domain.ThemeService) *ThemeShortcut

func (*ThemeShortcut) CanExecute added in v0.47.0

func (c *ThemeShortcut) CanExecute(args []string) bool

func (*ThemeShortcut) Execute added in v0.47.0

func (c *ThemeShortcut) Execute(ctx context.Context, args []string) (ShortcutResult, error)

func (*ThemeShortcut) GetDescription added in v0.47.0

func (c *ThemeShortcut) GetDescription() string

func (*ThemeShortcut) GetName added in v0.47.0

func (c *ThemeShortcut) GetName() string

func (*ThemeShortcut) GetUsage added in v0.47.0

func (c *ThemeShortcut) GetUsage() string

type TokenStats added in v0.45.0

type TokenStats struct {
	TotalInputTokens  int
	TotalOutputTokens int
	TotalTokens       int
	RequestCount      int
}

TokenStats represents token usage statistics

Jump to

Keyboard shortcuts

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