Versions in this module Expand all Collapse all v0 v0.2.4 Nov 12, 2026 v0.2.3 Nov 11, 2026 v0.2.2 Nov 10, 2026 v0.2.1 Nov 10, 2026 v0.2.0 Nov 9, 2026 Changes in this version + const AskUserToolName + const BuiltinAnalysisCoderID + const BuiltinArticleWriterID + const BuiltinDefaultProfileID + const BuiltinDefaultProfileName + const BuiltinPromptAnalysisCoder + const BuiltinPromptArticleWriter + const BuiltinPromptBaseCoder + const BuiltinPromptDefault + const BuiltinPromptSummary + const BuiltinSummaryProfileID + const DecisionAllow + const DecisionAsk + const DecisionDeny + const DefaultMemoryRetrieveLimit + const DefaultProvider + const InitialVersion + const KindAssistant + const KindAssistantFinal + const KindError + const KindReasoning + const KindToolCall + const KindToolResult + const KindUser + const MessageKindAssistant + const MessageKindAssistantFinal + const MessageKindReasoning + const MessageKindToolCall + const MessageKindToolResult + const MessageKindUser + const OperationAnalysisNode + const OperationDelete + const OperationExecute + const OperationMetadataToolCallID + const OperationMove + const OperationNetwork + const OperationRead + const OperationWrite + const ProviderClaudeCode + const ProviderCodex + const ProviderCopilot + const ProviderCustom + const ProviderMock + const QuestionTypeMultipleChoice + const QuestionTypeSingleChoice + const QuestionTypeText + const ResumeStateVersion + const RoleAssistant + const RoleSystem + const RoleTool + const RoleUser + const TitleSessionTitle + var ErrDuplicateVersion = errors.New("history: duplicate version") + var ErrHistoryNotFound = errors.New("history: file not found") + var ErrInvalidParentSession = errors.New("session: parent session id is required") + var ErrInvalidPermissionTransition = errors.New("agent: invalid permission state transition") + var ErrInvalidQuestionTransition = errors.New("agent: invalid question state transition") + var ErrInvalidTaskTransition = errors.New("agent: invalid task state transition") + var ErrMemoryNotConfigured = errors.New("agent: memory manager not configured") + var ErrMemoryNotFound = errors.New("agent: memory not found") + var ErrMessageNotFound = errors.New("message: not found") + var ErrNoUserInputResolver = errors.New("agent: no user input resolver in runtime") + var ErrNotImplemented = errors.New("agent: provider not implemented yet") + var ErrPermissionCanceled = errors.New("agent: permission request canceled") + var ErrPermissionDenied = errors.New("agent: permission denied") + var ErrPermissionExpired = errors.New("agent: permission request expired") + var ErrPermissionNotFound = errors.New("agent: permission request not found") + var ErrPermissionNotPending = errors.New("agent: permission request is not pending") + var ErrProfileNameRequired = errors.New("agent: profile name is required") + var ErrProfileNotFound = errors.New("agent: profile not found") + var ErrQuestionCanceled = errors.New("agent: question request canceled") + var ErrQuestionExpired = errors.New("agent: question request expired") + var ErrQuestionNotFound = errors.New("agent: question request not found") + var ErrQuestionNotPending = errors.New("agent: question request is not pending") + var ErrSessionNotFound = errors.New("session: not found") + var ErrTaskAlreadyRunning = errors.New("agent: task already running") + var ErrTaskNotFound = errors.New("agent: task not found") + var ErrTaskNotResumable = errors.New("agent: task not resumable") + var ErrUnknownQuestionID = errors.New("agent: unknown question id") + func BuildMemoryContext(memories []*Memory) string + func IsBlockEvent(t StreamEventType) bool + func IsBuiltinProfileID(id int64) bool + func ToolCallIDFromContext(ctx context.Context) string + func WithToolCallID(ctx context.Context, id string) context.Context + type AgentEvent struct + CreatedAt time.Time + ID int64 + Payload any + SessionID int64 + TaskID int64 + Type AgentEventType + UserID int64 + type AgentEventType string + const EventMemoryDeleted + const EventMemorySaved + const EventPermissionCreated + const EventPermissionResolved + const EventQuestionCreated + const EventQuestionResolved + const EventStream + const EventTaskCanceled + const EventTaskCompleted + const EventTaskCreated + const EventTaskFailed + const EventTaskStarted + const EventTaskWaiting + type AskUserAnswer struct + AnsweredIDs []string + Answers []QuestionAnswer + RequestID string + func (a AskUserAnswer) AnsweredQuestions(questions []Question) map[string]bool + func (a AskUserAnswer) IsComplete(questions []Question) bool + func (a AskUserAnswer) Merge(base *AskUserAnswer, questions []Question) AskUserAnswer + type AskUserInput struct + Description string + Questions []Question + RequestID string + Title string + func (in *AskUserInput) Normalize() + type ContextConfig struct + InjectMemory bool + type EventHandler func(ctx context.Context, event AgentEvent) error + type File struct + Content string + CreatedAt time.Time + ID int64 + Path string + SessionID int64 + UpdatedAt time.Time + Version string + func (File) TableName() string + func (f *File) BeforeCreate(_ *gorm.DB) error + type Memory struct + Content string + CreatedAt time.Time + ID int64 + Importance int + Kind MemoryKind + LastAccessedAt *time.Time + Metadata map[string]any + ProjectID int64 + SessionID int64 + UpdatedAt time.Time + UserID int64 + func NewMemory(userID int64, projectID int64, sessionID int64, kind MemoryKind, ...) *Memory + func (Memory) TableName() string + func (m *Memory) BeforeCreate(_ *gorm.DB) error + type MemoryExtractor interface + Extract func(ctx context.Context, turn MemoryTurn) ([]*Memory, error) + func MockMemoryExtractor() MemoryExtractor + type MemoryExtractorFunc func(ctx context.Context, turn MemoryTurn) ([]*Memory, error) + func (f MemoryExtractorFunc) Extract(ctx context.Context, turn MemoryTurn) ([]*Memory, error) + type MemoryKind string + const MemoryKindEvent + const MemoryKindFact + const MemoryKindNote + const MemoryKindSummary + type MemoryQuery struct + Limit int + ProjectID int64 + SessionID int64 + Text string + UserID int64 + type MemoryTurn struct + ProjectID int64 + Request Request + Result *Result + SessionID int64 + UserID int64 + type Message struct + Content string + CreatedAt time.Time + Data any + ID int64 + Kind string + Role string + Seq int + SessionID int64 + TaskID int64 + func (Message) TableName() string + func (m *Message) BeforeCreate(_ *gorm.DB) error + type MessageBlock struct + Content string + ID string + ToolCalls []ToolCall + TurnID string + type MessageCreateParams struct + Content string + Data any + Kind string + Role string + SessionID int64 + TaskID int64 + type Operation struct + Command string + Content string + Description string + ID string + Metadata map[string]any + Path string + Type OperationType + type OperationType = coretypes.OperationType + type PermissionDecision = coretypes.PermissionDecision + type PermissionRequest struct + CreatedAt time.Time + ID int64 + Operation Operation + ResolvedAt *time.Time + ResolvedBy *int64 + SessionID string + Status PermissionStatus + TaskID int64 + UpdatedAt time.Time + func NewPermissionRequest(taskID int64, sessionID string, operation Operation) *PermissionRequest + func (PermissionRequest) TableName() string + func (p *PermissionRequest) BeforeCreate(_ *gorm.DB) error + func (p *PermissionRequest) Decision() PermissionDecision + func (p *PermissionRequest) TransitionTo(next PermissionStatus) bool + type PermissionStatus string + const PermissionApproved + const PermissionCanceled + const PermissionConsumed + const PermissionDenied + const PermissionExpired + const PermissionPending + type Profile struct + Context ContextConfig + CreatedAt time.Time + Description string + ID int64 + IsBuiltin bool + IsDefault bool + Model string + Name string + Provider string + Skills []string + SystemPrompt string + UpdatedAt time.Time + func (Profile) TableName() string + func (p *Profile) BeforeCreate(_ *gorm.DB) error + type Question struct + AllowCustom bool + Description string + ID string + Options []QuestionOption + Placeholder string + Required bool + Title string + Type string + type QuestionAnswer struct + Custom string + ID string + Value string + Values []string + type QuestionOption struct + Description string + Label string + Value string + type QuestionRequest struct + Answer *AskUserAnswer + CreatedAt time.Time + Description string + ID int64 + Questions []Question + RequestID string + ResolvedAt *time.Time + ResolvedBy *int64 + SessionID string + Status QuestionStatus + TaskID int64 + Title string + ToolCallID string + UpdatedAt time.Time + func NewQuestionRequest(taskID int64, sessionID string, input AskUserInput) *QuestionRequest + func (QuestionRequest) TableName() string + func (q *QuestionRequest) BeforeCreate(_ *gorm.DB) error + func (q *QuestionRequest) TransitionTo(next QuestionStatus) bool + type QuestionStatus string + const QuestionAnswered + const QuestionCanceled + const QuestionExpired + const QuestionPending + type ReasoningBlock struct + Content string + ID string + type Request struct + Env map[string]string + MaxTokens int + Messages []Message + ModelID string + ProfileID int64 + Provider string + RuntimeContext *runtimecontext.RuntimeContext + Skills []string + Stream bool + SystemPrompt string + Timeout time.Duration + type Result struct + Content string + Raw json.RawMessage + TaskID int64 + Usage Usage + type ResumeMessage struct + Content string + Role string + ToolCalls []ResumeToolCall + ToolResults []ResumeToolResult + type ResumeToolCall struct + ID string + Input string + Name string + type ResumeToolResult struct + Content string + IsError bool + ToolCallID string + type ResumeTurn struct + Assistant ResumeMessage + Completed []ResumeToolResult + type Session struct + CreatedAt time.Time + CurrentTaskID int64 + ID int64 + Model string + ParentSessionID int64 + ProjectID int64 + Provider string + Title string + UpdatedAt time.Time + UserID int64 + func (Session) TableName() string + func (s *Session) BeforeCreate(_ *gorm.DB) error + type SessionChildParams struct + Model string + ParentSessionID int64 + ProjectID int64 + Provider string + Title string + UserID int64 + type SessionCreateParams struct + ID int64 + Model string + ParentSessionID int64 + ProjectID int64 + Provider string + Title string + UserID int64 + type SessionListParams struct + Limit int + Offset int + ProjectID int64 + UserID int64 + type StreamEvent struct + Content string + Data any + Err error + Type StreamEventType + type StreamEventType string + const StreamEventDone + const StreamEventError + const StreamEventMessage + const StreamEventPermission + const StreamEventPermissionResult + const StreamEventReasoning + const StreamEventReasoningDelta + const StreamEventText + const StreamEventToolCall + const StreamEventToolResult + const StreamEventTurnEnd + const StreamEventTurnStart + type StreamHandler func(ctx context.Context, event StreamEvent) error + type Task struct + CreatedAt time.Time + Error string + FinishedAt *time.Time + ID int64 + Model string + ProjectID int64 + Provider string + Request Request + Resumable bool + ResumeState *TaskResumeState + SessionID int64 + StartedAt *time.Time + Status TaskStatus + UpdatedAt time.Time + UserID int64 + WorkingDir string + func NewTask(req Request, facts TaskFacts) *Task + func (Task) TableName() string + func (t *Task) AfterFind(*gorm.DB) error + func (t *Task) BeforeCreate(_ *gorm.DB) error + func (t *Task) Facts() TaskFacts + func (t *Task) MarkResumed() bool + func (t *Task) TransitionTo(next TaskStatus) bool + type TaskFacts struct + ProjectID int64 + SessionID int64 + TaskID int64 + UserID int64 + WorkingDir string + type TaskFinishedHandler func(ctx context.Context, task *Task) + type TaskResumeState struct + History []ResumeMessage + Model string + Pending *ResumeTurn + Provider string + UpdatedAt time.Time + Version int + func (s *TaskResumeState) CompleteTurn() + func (s *TaskResumeState) CompletedResult(callID string) (ResumeToolResult, bool) + func (s *TaskResumeState) MarkToolResult(result ResumeToolResult) + type TaskStatus string + const TaskCanceled + const TaskCompleted + const TaskCreated + const TaskFailed + const TaskRunning + const TaskWaitingPermission + type ToolCall struct + Arguments any + ID string + Name string + type TurnBlock struct + Model string + TurnID string + type Usage struct + InputTokens int64 + OutputTokens int64 + type UserAgentConfig = coretypes.UserAgentConfig + func DefaultUserAgentConfig() UserAgentConfig