Documentation
¶
Overview ¶
Package definitions contains workflow and activity type definitions.
Index ¶
- Constants
- Variables
- type AgentConfig
- type AgentResult
- type ExecuteAgentRequest
- type ExecuteAgentResponse
- type ExecuteTestCaseRequest
- type ExecuteTestCaseResponse
- type NotificationRequest
- type NotificationResult
- type PipelineInput
- type PipelineOutput
- type RetryConfig
- type SendNotificationRequest
- type Status
- type StorageResult
- type StorePipelineResultRequest
- type StoreTestSuiteResultRequest
- type TestCase
- type TestCaseResult
- type TestSuiteInput
- type TestSuiteOutput
- type ValidateInputRequest
- type ValidateTestSuiteRequest
- type ValidationResult
Constants ¶
const ( ValidateInputActivityName = "ValidateInput" ValidateTestSuiteActivityName = "ValidateTestSuite" ExecuteAgentActivityName = "ExecuteAgent" ExecuteTestCaseActivityName = "ExecuteTestCase" StorePipelineResultActivityName = "StorePipelineResult" StoreTestSuiteResultActivityName = "StoreTestSuiteResult" SendNotificationActivityName = "SendNotification" RollbackAgentExecutionActivityName = "RollbackAgentExecution" RollbackFileOperationActivityName = "RollbackFileOperation" RollbackExternalAPICallActivityName = "RollbackExternalAPICall" RollbackNotificationActivityName = "RollbackNotification" RollbackDatabaseOperationActivityName = "RollbackDatabaseOperation" )
Activity names for registration.
Variables ¶
var ( ValidateInputActivity func(ValidateInputRequest) (ValidationResult, error) ValidateTestSuiteActivity func(ValidateTestSuiteRequest) (ValidationResult, error) ExecuteAgentActivity func(ExecuteAgentRequest) (ExecuteAgentResponse, error) ExecuteTestCaseActivity func(ExecuteTestCaseRequest) (ExecuteTestCaseResponse, error) StorePipelineResultActivity func(StorePipelineResultRequest) (StorageResult, error) StoreTestSuiteResultActivity func(StoreTestSuiteResultRequest) (StorageResult, error) SendNotificationActivity func(NotificationRequest) (NotificationResult, error) RollbackAgentExecutionActivity interface{} RollbackFileOperationActivity interface{} RollbackExternalAPICallActivity interface{} RollbackNotificationActivity interface{} RollbackDatabaseOperationActivity interface{} )
Activity function type declarations for registration.
Functions ¶
This section is empty.
Types ¶
type AgentConfig ¶
type AgentConfig struct {
Name string `json:"name"`
Type string `json:"type"`
Config map[string]string `json:"config,omitempty"`
Timeout time.Duration `json:"timeout,omitempty"`
RetryPolicy RetryConfig `json:"retryPolicy,omitempty"`
}
AgentConfig defines configuration for an AI agent in a pipeline.
type AgentResult ¶
type AgentResult struct {
AgentName string `json:"agentName"`
Status Status `json:"status"`
Output json.RawMessage `json:"output,omitempty"`
Error string `json:"error,omitempty"`
Duration time.Duration `json:"duration"`
StartedAt time.Time `json:"startedAt"`
FinishedAt time.Time `json:"finishedAt"`
}
AgentResult holds the result from a single agent execution.
type ExecuteAgentRequest ¶
type ExecuteAgentRequest struct {
Agent AgentConfig `json:"agent"`
}
ExecuteAgentRequest is the input for ExecuteAgentActivity.
type ExecuteAgentResponse ¶
type ExecuteAgentResponse struct {
Result AgentResult `json:"result"`
}
ExecuteAgentResponse is the output from ExecuteAgentActivity.
type ExecuteTestCaseRequest ¶
type ExecuteTestCaseRequest struct {
TestCase TestCase `json:"testCase"`
}
ExecuteTestCaseRequest is the input for ExecuteTestCaseActivity.
type ExecuteTestCaseResponse ¶
type ExecuteTestCaseResponse struct {
Result TestCaseResult `json:"result"`
}
ExecuteTestCaseResponse is the output from ExecuteTestCaseActivity.
type NotificationRequest ¶
type NotificationRequest struct {
Type string `json:"type"`
WorkflowID string `json:"workflowId"`
Status Status `json:"status"`
Message string `json:"message"`
Metadata map[string]string `json:"metadata,omitempty"`
}
NotificationRequest is the input for SendNotificationActivity.
type NotificationResult ¶
NotificationResult is the output from SendNotificationActivity.
type PipelineInput ¶
type PipelineInput struct {
WorkflowID string `json:"workflowId"`
Agents []AgentConfig `json:"agents"`
Timeout time.Duration `json:"timeout,omitempty"`
RetryPolicy RetryConfig `json:"retryPolicy,omitempty"`
Parallel bool `json:"parallel,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
PipelineInput is the input for AIAgentPipelineWorkflow.
type PipelineOutput ¶
type PipelineOutput struct {
WorkflowID string `json:"workflowId"`
Status Status `json:"status"`
Results []AgentResult `json:"results"`
StartedAt time.Time `json:"startedAt"`
CompletedAt time.Time `json:"completedAt"`
TotalDuration time.Duration `json:"totalDuration"`
Error string `json:"error,omitempty"`
}
PipelineOutput is the output from AIAgentPipelineWorkflow.
func AIAgentPipelineWorkflow ¶
func AIAgentPipelineWorkflow(ctx workflow.Context, input PipelineInput) (PipelineOutput, error)
AIAgentPipelineWorkflow orchestrates multi-agent AI tasks.
func AIAgentPipelineWorkflowWithCompensation ¶
func AIAgentPipelineWorkflowWithCompensation(ctx workflow.Context, input PipelineInput) (PipelineOutput, error)
AIAgentPipelineWorkflowWithCompensation orchestrates multi-agent AI tasks with compensation support.
type RetryConfig ¶
type RetryConfig struct {
MaxAttempts int `json:"maxAttempts"`
InitialInterval time.Duration `json:"initialInterval"`
BackoffCoefficient float64 `json:"backoffCoefficient"`
MaximumInterval time.Duration `json:"maximumInterval"`
}
RetryConfig defines retry behavior for workflows and activities.
func DefaultRetryConfig ¶
func DefaultRetryConfig() RetryConfig
DefaultRetryConfig returns sensible retry defaults.
type SendNotificationRequest ¶
type SendNotificationRequest struct {
WorkflowID string `json:"workflowId"`
Type string `json:"type"`
Message string `json:"message"`
}
SendNotificationRequest is the input for SendNotificationActivity.
type StorageResult ¶
StorageResult is the output from storage activities.
type StorePipelineResultRequest ¶
type StorePipelineResultRequest struct {
WorkflowID string `json:"workflowId"`
Output PipelineOutput `json:"output"`
}
StorePipelineResultRequest is the input for StorePipelineResultActivity.
type StoreTestSuiteResultRequest ¶
type StoreTestSuiteResultRequest struct {
SuiteID string `json:"suiteId"`
Output TestSuiteOutput `json:"output"`
}
StoreTestSuiteResultRequest is the input for StoreTestSuiteResultActivity.
type TestCase ¶
type TestCase struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Input json.RawMessage `json:"input"`
Expected json.RawMessage `json:"expected,omitempty"`
Timeout time.Duration `json:"timeout,omitempty"`
Tags []string `json:"tags,omitempty"`
}
TestCase defines a single test case in a test suite.
type TestCaseResult ¶
type TestCaseResult struct {
TestCaseID string `json:"testCaseId"`
Name string `json:"name"`
Status Status `json:"status"`
Output json.RawMessage `json:"output,omitempty"`
Error string `json:"error,omitempty"`
Duration time.Duration `json:"duration"`
Attempts int `json:"attempts"`
StartedAt time.Time `json:"startedAt"`
FinishedAt time.Time `json:"finishedAt"`
}
TestCaseResult holds the result of a single test case execution.
type TestSuiteInput ¶
type TestSuiteInput struct {
SuiteID string `json:"suiteId"`
Name string `json:"name"`
TestCases []TestCase `json:"testCases"`
Timeout time.Duration `json:"timeout,omitempty"`
RetryPolicy RetryConfig `json:"retryPolicy,omitempty"`
Parallel bool `json:"parallel,omitempty"`
StopOnFailure bool `json:"stopOnFailure,omitempty"`
}
TestSuiteInput is the input for TestSuiteWorkflow.
type TestSuiteOutput ¶
type TestSuiteOutput struct {
SuiteID string `json:"suiteId"`
Name string `json:"name"`
Status Status `json:"status"`
Results []TestCaseResult `json:"results"`
TotalTests int `json:"totalTests"`
PassedTests int `json:"passedTests"`
FailedTests int `json:"failedTests"`
SkippedTests int `json:"skippedTests"`
StartedAt time.Time `json:"startedAt"`
CompletedAt time.Time `json:"completedAt"`
TotalDuration time.Duration `json:"totalDuration"`
Error string `json:"error,omitempty"`
}
TestSuiteOutput is the output from TestSuiteWorkflow.
func TestSuiteWorkflow ¶
func TestSuiteWorkflow(ctx workflow.Context, input TestSuiteInput) (TestSuiteOutput, error)
TestSuiteWorkflow executes AI test suites with retries.
type ValidateInputRequest ¶
type ValidateInputRequest struct {
Input PipelineInput `json:"input"`
}
ValidateInputRequest is the input for ValidateInputActivity.
type ValidateTestSuiteRequest ¶
type ValidateTestSuiteRequest struct {
Input TestSuiteInput `json:"input"`
}
ValidateTestSuiteRequest is the input for ValidateTestSuiteActivity.
type ValidationResult ¶
ValidationResult holds the result of input validation.