Versions in this module Expand all Collapse all v1 v1.1.0 Apr 1, 2026 Changes in this version + var ErrCircuitOpen = errors.New("runtime: circuit breaker open") + var ErrExecutionTimeout = errors.New("runtime: execution timeout") + var ErrPolicyRejected = errors.New("runtime: policy rejected execution") + var ErrResourceExhausted = errors.New("runtime: resource exhausted") + var ErrSkillNotLoaded = errors.New("runtime: skill not loaded") + type CircuitBreaker interface + Allow func(ctx context.Context, skillID string) (bool, error) + RecordFailure func(ctx context.Context, skillID string) + RecordSuccess func(ctx context.Context, skillID string) + State func(ctx context.Context, skillID string) (CircuitState, error) + type CircuitState string + const CircuitClosed + const CircuitHalfOpen + const CircuitOpen + type ExecutionContext struct + AssistantID string + Deadline time.Time + RequestID string + SessionID string + StartedAt time.Time + TenantID string + UserID string + func NewExecutionContext(ctx context.Context, reqID, asstID, sessionID, tenantID, userID string) *ExecutionContext + func (ec *ExecutionContext) AddResult(res StepResult) + func (ec *ExecutionContext) Results() []StepResult + type ExecutionLogRecord struct + AssistantID string + Duration time.Duration + Error string + Output any + RequestID string + Status string + StepName string + StepType string + Timestamp time.Time + type ExecutionLogger interface + LogPlanEnd func(ctx context.Context, requestID, assistantID string, err error) error + LogPlanStart func(ctx context.Context, requestID, assistantID string, plan ExecutionPlan) error + LogStep func(ctx context.Context, record ExecutionLogRecord) error + type ExecutionPlan struct + AssistantID string + Reasoning string + Steps []ExecutionStep + func (p *ExecutionPlan) Validate() error + type ExecutionRequest struct + Input []byte + RequestID string + SkillID string + TenantID string + Timeout time.Duration + UserID string + type ExecutionResult struct + Duration time.Duration + Error string + Output []byte + ResourceUsage ResourceUsage + Status ExecutionStatus + type ExecutionStatus string + const StatusCanceled + const StatusFailed + const StatusRejected + const StatusSuccess + const StatusTimeout + type ExecutionStep struct + Arguments map[string]any + Name string + Type StepType + func (s *ExecutionStep) ArgumentsJSON() ([]byte, error) + type ResourceUsage struct + CPUTimeMs int64 + MemoryMB int64 + TokensUsed int64 + type SkillExecutor interface + CanExecute func(ctx context.Context, skillID string) (bool, error) + Execute func(ctx context.Context, req ExecutionRequest) (*ExecutionResult, error) + ExecutePlan func(ctx context.Context, plan *ExecutionPlan, ec *ExecutionContext) error + LoadSkill func(ctx context.Context, pkg skills.Skill) error + type StepResult struct + Duration time.Duration + Error error + Output any + StepName string + Type string + type StepType string + const StepTypeSkill + const StepTypeTool