Documentation
¶
Index ¶
- type AgentHandler
- type BaseHandler
- type ExecutionMode
- type Manager
- func (m *Manager) GetHandlerByMode(mode ExecutionMode) ModeHandler
- func (m *Manager) GetHandlerCount() int
- func (m *Manager) GetHandlers() []ModeHandler
- func (m *Manager) ProcessEvent(ctx context.Context, event models.GitHubContext) error
- func (m *Manager) RegisterHandler(handler ModeHandler)
- func (m *Manager) SelectHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
- type ModeHandler
- type ModeManager
- func (mm *ModeManager) DisableMode(mode ExecutionMode)
- func (mm *ModeManager) EnableMode(mode ExecutionMode)
- func (mm *ModeManager) Execute(ctx context.Context, event models.GitHubContext) error
- func (mm *ModeManager) FindHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
- func (mm *ModeManager) GetEnabledModes() []ExecutionMode
- func (mm *ModeManager) GetHandlerCount() int
- func (mm *ModeManager) GetRegisteredHandlers() []ModeHandler
- func (mm *ModeManager) IsEnabled(mode ExecutionMode) bool
- func (mm *ModeManager) RegisterHandler(handler ModeHandler)
- func (mm *ModeManager) SelectHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
- type ReviewHandler
- type TagHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentHandler ¶
type AgentHandler struct { *BaseHandler // contains filtered or unexported fields }
AgentHandler Agent模式处理器 处理自动化触发的事件(Issue分配、标签添加等)
func NewAgentHandler ¶
func NewAgentHandler(github *ghclient.Client, workspace *workspace.Manager, mcpClient mcp.MCPClient) *AgentHandler
NewAgentHandler 创建Agent模式处理器
func (*AgentHandler) CanHandle ¶
func (ah *AgentHandler) CanHandle(ctx context.Context, event models.GitHubContext) bool
CanHandle 检查是否能处理给定的事件
func (*AgentHandler) Execute ¶
func (ah *AgentHandler) Execute(ctx context.Context, event models.GitHubContext) error
Execute 执行Agent模式处理逻辑
type BaseHandler ¶
type BaseHandler struct {
// contains filtered or unexported fields
}
BaseHandler 基础处理器,提供通用功能
func NewBaseHandler ¶
func NewBaseHandler(mode ExecutionMode, priority int, description string) *BaseHandler
NewBaseHandler 创建基础处理器
func (*BaseHandler) GetDescription ¶
func (bh *BaseHandler) GetDescription() string
func (*BaseHandler) GetHandlerName ¶
func (bh *BaseHandler) GetHandlerName() string
func (*BaseHandler) GetMode ¶
func (bh *BaseHandler) GetMode() ExecutionMode
func (*BaseHandler) GetPriority ¶
func (bh *BaseHandler) GetPriority() int
type ExecutionMode ¶
type ExecutionMode string
ExecutionMode 执行模式类型
const ( // TagMode @codeagent 提及模式 TagMode ExecutionMode = "tag" // AgentMode 自动化模式 AgentMode ExecutionMode = "agent" // ReviewMode 自动审查模式 ReviewMode ExecutionMode = "review" )
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager 模式管理器
func (*Manager) GetHandlerByMode ¶
func (m *Manager) GetHandlerByMode(mode ExecutionMode) ModeHandler
GetHandlerByMode 根据模式类型获取处理器
func (*Manager) ProcessEvent ¶
ProcessEvent 处理事件(选择合适的处理器并执行)
func (*Manager) RegisterHandler ¶
func (m *Manager) RegisterHandler(handler ModeHandler)
RegisterHandler 注册模式处理器
func (*Manager) SelectHandler ¶
func (m *Manager) SelectHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
SelectHandler 选择合适的处理器处理事件
type ModeHandler ¶
type ModeHandler interface { // CanHandle 检查是否能处理给定的事件上下文 CanHandle(ctx context.Context, event models.GitHubContext) bool // Execute 执行模式逻辑 Execute(ctx context.Context, event models.GitHubContext) error // GetPriority 获取处理器优先级(数字越小优先级越高) GetPriority() int // GetMode 获取模式类型 GetMode() ExecutionMode // GetDescription 获取模式描述 GetDescription() string // GetHandlerName 获取处理器名称 GetHandlerName() string }
ModeHandler 模式处理器接口
type ModeManager ¶
type ModeManager struct {
// contains filtered or unexported fields
}
ModeManager 模式管理器
func (*ModeManager) DisableMode ¶
func (mm *ModeManager) DisableMode(mode ExecutionMode)
DisableMode 禁用指定模式
func (*ModeManager) EnableMode ¶
func (mm *ModeManager) EnableMode(mode ExecutionMode)
EnableMode 启用指定模式
func (*ModeManager) Execute ¶
func (mm *ModeManager) Execute(ctx context.Context, event models.GitHubContext) error
Execute 执行事件处理
func (*ModeManager) FindHandler ¶
func (mm *ModeManager) FindHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
FindHandler 根据事件上下文找到合适的处理器
func (*ModeManager) GetEnabledModes ¶
func (mm *ModeManager) GetEnabledModes() []ExecutionMode
GetEnabledModes 获取所有启用的模式
func (*ModeManager) GetHandlerCount ¶
func (mm *ModeManager) GetHandlerCount() int
GetHandlerCount 获取注册的处理器数量
func (*ModeManager) GetRegisteredHandlers ¶
func (mm *ModeManager) GetRegisteredHandlers() []ModeHandler
GetRegisteredHandlers 获取所有注册的处理器
func (*ModeManager) IsEnabled ¶
func (mm *ModeManager) IsEnabled(mode ExecutionMode) bool
IsEnabled 检查模式是否启用
func (*ModeManager) RegisterHandler ¶
func (mm *ModeManager) RegisterHandler(handler ModeHandler)
RegisterHandler 注册模式处理器
func (*ModeManager) SelectHandler ¶
func (mm *ModeManager) SelectHandler(ctx context.Context, event models.GitHubContext) (ModeHandler, error)
SelectHandler 选择合适的处理器(FindHandler的别名)
type ReviewHandler ¶
type ReviewHandler struct { *BaseHandler // contains filtered or unexported fields }
ReviewHandler Review模式处理器 处理自动代码审查相关的事件
func NewReviewHandler ¶
func NewReviewHandler(github *ghclient.Client, workspace *workspace.Manager, mcpClient mcp.MCPClient, sessionManager *code.SessionManager) *ReviewHandler
NewReviewHandler 创建Review模式处理器
func (*ReviewHandler) CanHandle ¶
func (rh *ReviewHandler) CanHandle(ctx context.Context, event models.GitHubContext) bool
CanHandle 检查是否能处理给定的事件
func (*ReviewHandler) Execute ¶
func (rh *ReviewHandler) Execute(ctx context.Context, event models.GitHubContext) error
Execute 执行Review模式处理逻辑
type TagHandler ¶
type TagHandler struct { *BaseHandler // contains filtered or unexported fields }
TagHandler Tag mode handler Handles GitHub events containing commands (/code, /continue, /fix)
func NewTagHandler ¶
func NewTagHandler(defaultAIModel string, github *ghclient.Client, workspace *workspace.Manager, mcpClient mcp.MCPClient, sessionManager *code.SessionManager) *TagHandler
NewTagHandler creates a Tag mode handler
func (*TagHandler) CanHandle ¶
func (th *TagHandler) CanHandle(ctx context.Context, event models.GitHubContext) bool
CanHandle checks if the given event can be handled
func (*TagHandler) Execute ¶
func (th *TagHandler) Execute(ctx context.Context, event models.GitHubContext) error
Execute executes Tag mode processing logic