Versions in this module Expand all Collapse all v1 v1.0.0 Feb 23, 2026 Changes in this version + const EventAgentStart + const EventAgentStop + const EventContentBlockDelta + const EventContentBlockStart + const EventContentBlockStop + const EventError + const EventIterationStart + const EventIterationStop + const EventMessageDelta + const EventMessageStart + const EventMessageStop + const EventPing + const EventToolExecutionOutput + const EventToolExecutionResult + const EventToolExecutionStart + var ErrConcurrentExecution = errors.New("concurrent execution on same session is not allowed") + var ErrMissingModel = errors.New("api: model factory is required") + var ErrRuntimeClosed = errors.New("api: runtime is closed") + var ErrToolUseDenied = errors.New("api: tool use denied by hook") + var ErrToolUseRequiresApproval = errors.New("api: tool use requires approval") + func DefaultSubagentDefinitions() []subagents.Definition + func ResolveProjectRoot() (string, error) + func WithAutoCompact(config CompactConfig) func(*Options) + func WithMaxSessions(n int) func(*Options) + func WithModelPool(pool map[ModelTier]model.Model) func(*Options) + func WithOTEL(config OTELConfig) func(*Options) + func WithSubagentModelMapping(mapping map[string]ModelTier) func(*Options) + func WithTokenCallback(fn TokenCallback) func(*Options) + func WithTokenTracking(enabled bool) func(*Options) + type CIContext struct + Matrix map[string]string + Metadata map[string]string + Pipeline string + Provider string + Ref string + RunID string + SHA string + type CLIContext struct + Args []string + Flags map[string]string + User string + Workspace string + type CommandExecution struct + Definition commands.Definition + Err error + Result commands.Result + type CommandRegistration struct + Definition commands.Definition + Handler commands.Handler + type CompactConfig struct + Enabled bool + FallbackModel string + InitialCount int + MaxRetries int + PreserveCount int + PreserveInitial bool + PreserveUserText bool + RetryDelay time.Duration + RolloutDir string + SummaryModel string + Threshold float64 + UserTextTokens int + type CompactEvent struct + EstimatedTokensAfter int + EstimatedTokensBefore int + OriginalMessages int + PreservedMessages int + SessionID string + Summary string + Timestamp time.Time + type ContentBlock struct + ID string + Input json.RawMessage + Name string + Text string + Type string + type Delta struct + PartialJSON json.RawMessage + StopReason string + Text string + Type string + type EntryPoint string + const EntryPointCI + const EntryPointCLI + const EntryPointPlatform + type HookRecorder interface + Drain func() []coreevents.Event + Record func(coreevents.Event) + type Message struct + ID string + Model string + Role string + Type string + Usage *Usage + type ModeContext struct + CI *CIContext + CLI *CLIContext + EntryPoint EntryPoint + Platform *PlatformContext + type ModelFactory interface + Model func(ctx context.Context) (model.Model, error) + type ModelFactoryFunc func(context.Context) (model.Model, error) + func (fn ModelFactoryFunc) Model(ctx context.Context) (model.Model, error) + type ModelStats struct + CacheCreation int64 + CacheRead int64 + InputTokens int64 + OutputTokens int64 + RequestCount int + TotalTokens int64 + type ModelTier string + const ModelTierHigh + const ModelTierLow + const ModelTierMid + type OTELConfig struct + Enabled bool + Endpoint string + Headers map[string]string + Insecure bool + SampleRate float64 + ServiceName string + func DefaultOTELConfig() OTELConfig + type Options struct + ApprovalApprover string + ApprovalQueue *security.ApprovalQueue + ApprovalWait bool + ApprovalWhitelistTTL time.Duration + AutoCompact CompactConfig + Commands []CommandRegistration + CustomTools []tool.Tool + DefaultEnableCache bool + DisallowedTools []string + EmbedFS fs.FS + EnabledBuiltinTools []string + EntryPoint EntryPoint + HookMiddleware []coremw.Middleware + HookTimeout time.Duration + MCPServers []string + MaxIterations int + MaxSessions int + Middleware []middleware.Middleware + MiddlewareTimeout time.Duration + Mode ModeContext + Model model.Model + ModelFactory ModelFactory + ModelPool map[ModelTier]model.Model + OTEL OTELConfig + PermissionRequestHandler PermissionRequestHandler + ProjectRoot string + RulesEnabled *bool + Sandbox SandboxOptions + SettingsLoader *config.SettingsLoader + SettingsOverrides *config.Settings + SettingsPath string + Skills []SkillRegistration + SubagentModelMapping map[string]ModelTier + Subagents []SubagentRegistration + SystemPrompt string + TaskStore tasks.Store + Timeout time.Duration + TokenCallback TokenCallback + TokenLimit int + TokenTracking bool + Tools []tool.Tool + TypedHooks []corehooks.ShellHook + type PermissionRequest struct + Approval *security.ApprovalRecord + Reason string + Rule string + SessionID string + Target string + ToolName string + ToolParams map[string]any + type PermissionRequestHandler func(context.Context, PermissionRequest) (coreevents.PermissionDecisionType, error) + type PlatformContext struct + Environment string + Labels map[string]string + Organization string + Project string + type Request struct + Channels []string + ContentBlocks []model.ContentBlock + EnablePromptCache *bool + ForceSkills []string + Metadata map[string]any + Mode ModeContext + Model ModelTier + Prompt string + RequestID string + SessionID string + Tags map[string]string + TargetSubagent string + ToolWhitelist []string + Traits []string + type Response struct + CommandResults []CommandExecution + HookEvents []coreevents.Event + Mode ModeContext + ProjectConfig *config.Settings + RequestID string + Result *Result + SandboxSnapshot SandboxReport + Settings *config.Settings + SkillResults []SkillExecution + Subagent *subagents.Result + Tags map[string]string + type Result struct + Output string + StopReason string + ToolCalls []model.ToolCall + Usage model.Usage + type RolloutWriter struct + func (w *RolloutWriter) WriteCompactEvent(sessionID string, res compactResult) error + type Runtime struct + func New(ctx context.Context, opts Options) (*Runtime, error) + func (rt *Runtime) Close() error + func (rt *Runtime) Config() *config.Settings + func (rt *Runtime) GetSessionStats(sessionID string) *SessionTokenStats + func (rt *Runtime) GetTotalStats() *SessionTokenStats + func (rt *Runtime) Run(ctx context.Context, req Request) (*Response, error) + func (rt *Runtime) RunStream(ctx context.Context, req Request) (<-chan StreamEvent, error) + func (rt *Runtime) Sandbox() *sandbox.Manager + func (rt *Runtime) Settings() *config.Settings + type SandboxOptions struct + AllowedPaths []string + NetworkAllow []string + ResourceLimit sandbox.ResourceLimits + Root string + type SandboxReport struct + AllowedDomains []string + AllowedPaths []string + ResourceLimits sandbox.ResourceLimits + Roots []string + type SessionTokenStats struct + ByModel map[string]*ModelStats + CacheCreated int64 + CacheRead int64 + FirstRequest time.Time + LastRequest time.Time + RequestCount int + SessionID string + TotalInput int64 + TotalOutput int64 + TotalTokens int64 + type SkillExecution struct + Definition skills.Definition + Err error + Result skills.Result + type SkillRegistration struct + Definition skills.Definition + Handler skills.Handler + type SpanContext interface + IsRecording func() bool + SpanID func() string + TraceID func() string + type StreamEvent struct + ContentBlock *ContentBlock + Delta *Delta + Index *int + IsError *bool + IsStderr *bool + Iteration *int + Message *Message + Name string + Output interface{} + SessionID string + ToolUseID string + TotalIter *int + Type string + Usage *Usage + type SubagentRegistration struct + Definition subagents.Definition + Handler subagents.Handler + type TokenCallback func(stats TokenStats) + type TokenStats struct + CacheCreation int64 + CacheRead int64 + InputTokens int64 + Model string + OutputTokens int64 + RequestID string + SessionID string + Timestamp time.Time + TotalTokens int64 + type Tracer interface + EndSpan func(span SpanContext, attrs map[string]any, err error) + Shutdown func() error + StartAgentSpan func(sessionID, requestID string, iteration int) SpanContext + StartModelSpan func(parent SpanContext, modelName string) SpanContext + StartToolSpan func(parent SpanContext, toolName string) SpanContext + func NewTracer(_ OTELConfig) (Tracer, error) + type Usage struct + InputTokens int + OutputTokens int