Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateExecutionRequest ¶
type CreateExecutionRequest struct {
SessionID string `json:"session_id"`
Code string `json:"code"`
Result *string `json:"result,omitempty"`
ConsoleLog *string `json:"console_log,omitempty"`
Error *string `json:"error,omitempty"`
Source string `json:"source"`
}
CreateExecutionRequest contains data for creating a new script execution
type ExecutionFilter ¶
type ExecutionFilter struct {
Search string `json:"search,omitempty"`
SessionID string `json:"session_id,omitempty"`
Source string `json:"source,omitempty"`
FromDate *time.Time `json:"from_date,omitempty"`
ToDate *time.Time `json:"to_date,omitempty"`
}
ExecutionFilter provides filtering options for script execution queries
type ExecutionQueryResult ¶
type ExecutionQueryResult struct {
Executions []ScriptExecution `json:"executions"`
Total int `json:"total"`
Limit int `json:"limit"`
Offset int `json:"offset"`
}
ExecutionQueryResult contains paginated execution results
type ExecutionRepository ¶
type ExecutionRepository interface {
// CreateExecution stores a new script execution
CreateExecution(ctx context.Context, req CreateExecutionRequest) (*ScriptExecution, error)
// GetExecution retrieves a script execution by ID
GetExecution(ctx context.Context, id int) (*ScriptExecution, error)
// GetExecutionBySessionID retrieves a script execution by session ID
GetExecutionBySessionID(ctx context.Context, sessionID string) (*ScriptExecution, error)
// ListExecutions retrieves script executions with filtering and pagination
ListExecutions(ctx context.Context, filter ExecutionFilter, pagination PaginationOptions) (*ExecutionQueryResult, error)
// DeleteExecution removes a script execution by ID
DeleteExecution(ctx context.Context, id int) error
// DeleteExecutionsBySessionID removes all executions for a session
DeleteExecutionsBySessionID(ctx context.Context, sessionID string) error
// GetExecutionStats returns statistics about script executions
GetExecutionStats(ctx context.Context) (*ExecutionStats, error)
}
ExecutionRepository defines the interface for script execution storage
type ExecutionStats ¶
type ExecutionStats struct {
TotalExecutions int `json:"total_executions"`
SuccessfulExecutions int `json:"successful_executions"`
FailedExecutions int `json:"failed_executions"`
ExecutionsBySource map[string]int `json:"executions_by_source"`
AverageExecutionTime *float64 `json:"average_execution_time,omitempty"`
}
ExecutionStats contains statistics about script executions
type PaginationOptions ¶
PaginationOptions provides pagination parameters
type RepositoryManager ¶
type RepositoryManager interface {
Executions() ExecutionRepository
Close() error
}
RepositoryManager manages all repositories
func NewSQLiteRepositoryManager ¶
func NewSQLiteRepositoryManager(dbPath string) (RepositoryManager, error)
NewSQLiteRepositoryManager creates a new SQLite repository manager
type ScriptExecution ¶
type ScriptExecution struct {
ID int `json:"id" db:"id"`
SessionID string `json:"session_id" db:"session_id"`
Code string `json:"code" db:"code"`
Result *string `json:"result" db:"result"` // Nullable
ConsoleLog *string `json:"console_log" db:"console_log"` // Nullable
Error *string `json:"error" db:"error"` // Nullable
Timestamp time.Time `json:"timestamp" db:"timestamp"`
Source string `json:"source" db:"source"` // 'api', 'mcp', 'file'
}
ScriptExecution represents a stored script execution record
Click to show internal directories.
Click to hide internal directories.