Documentation
¶
Index ¶
- Variables
- type BuildHarnessTemplateDataInput
- type CreateInput
- type CreateSkillBundleInput
- type CreateSkillInput
- type HarnessAccessibleMachineData
- type HarnessAgentData
- type HarnessDocument
- type HarnessMachineData
- type HarnessPlatformData
- type HarnessProjectData
- type HarnessProjectMachineData
- type HarnessProjectStatusData
- type HarnessProjectUpdateCommentData
- type HarnessProjectUpdateThreadData
- type HarnessProjectWorkflowData
- type HarnessProjectWorkflowTicketData
- type HarnessRepoData
- type HarnessTemplateData
- type HarnessTicketData
- type HarnessTicketDependencyData
- type HarnessTicketLinkData
- type HarnessVariableGroup
- type HarnessVariableMetadata
- type HarnessWorkflowData
- type MaterializeRuntimeSnapshotInput
- type MaterializedRuntimeSnapshot
- type Optional
- type RefreshSkillsInput
- type RefreshSkillsResult
- type ReplaceWorkflowReferencesInput
- type ReplaceWorkflowReferencesResult
- type ResolveRecordedRuntimeSnapshotInput
- type RuntimeSkillFileSnapshot
- type RuntimeSkillSnapshot
- type RuntimeSnapshot
- type RuntimeWorkflowSnapshot
- type Skill
- type SkillBundle
- type SkillBundleFile
- type SkillBundleFileInput
- type SkillDetail
- type SkillRecord
- type SkillVersionRecord
- type SkillWorkflowBinding
- type StatusBindingSet
- type Type
- type TypeLabel
- type UpdateHarnessInput
- type UpdateInput
- type UpdateSkillBindingsInput
- type UpdateSkillBundleInput
- type UpdateSkillInput
- type UpdateWorkflowSkillsInput
- type VersionSummary
- type Workflow
- type WorkflowAgentRunReference
- type WorkflowBlockingReferences
- type WorkflowClassification
- type WorkflowClassificationInput
- type WorkflowDetail
- type WorkflowFamily
- type WorkflowImpactAnalysis
- type WorkflowImpactConflict
- type WorkflowImpactSummary
- type WorkflowReplaceableReferences
- type WorkflowScheduledJobReference
- type WorkflowTicketReference
- type WorkflowVersionRecord
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrProjectNotFound = errors.New("project not found") ErrWorkflowNotFound = errors.New("workflow not found") ErrStatusNotFound = errors.New("workflow status not found in project") ErrAgentNotFound = errors.New("workflow agent not found in project") ErrWorkflowNameConflict = errors.New("workflow name already exists in this project") ErrWorkflowHarnessPathConflict = errors.New("workflow harness path already exists in this project") ErrWorkflowConflict = errors.New("workflow conflict") ErrPickupStatusConflict = errors.New("workflow pickup status conflict") ErrWorkflowStatusBindingOverlap = errors.New("workflow pickup and finish statuses must not overlap") ErrWorkflowReferencedByTickets = errors.New("workflow cannot be deleted because tickets still reference it") ErrWorkflowReferencedByScheduledJobs = errors.New("workflow cannot be deleted because scheduled jobs still reference it") ErrWorkflowInUse = errors.New("workflow is still referenced by project or tickets") ErrWorkflowReplacementRequired = errors.New("workflow references must be replaced before purge") ErrWorkflowActiveAgentRuns = errors.New("workflow has active agent runs") ErrWorkflowHistoricalAgentRuns = errors.New("workflow has historical agent runs") ErrWorkflowReplacementInvalid = errors.New("workflow replacement is invalid") ErrWorkflowReplacementNotFound = errors.New("replacement workflow not found") ErrWorkflowReplacementProjectMismatch = errors.New("replacement workflow must belong to the same project") ErrWorkflowReplacementInactive = errors.New("replacement workflow must be active") ErrSkillInvalid = errors.New("skill is invalid") ErrSkillNotFound = errors.New("skill not found") )
Functions ¶
This section is empty.
Types ¶
type BuildHarnessTemplateDataInput ¶
type BuildHarnessTemplateDataInput struct {
WorkflowID uuid.UUID
TicketID uuid.UUID
AgentID *uuid.UUID
Workspace string
Timestamp time.Time
OpenASEVersion string
TicketURL string
Platform HarnessPlatformData
Machine HarnessMachineData
AccessibleMachines []HarnessAccessibleMachineData
}
type CreateInput ¶
type CreateInput struct {
ProjectID uuid.UUID
AgentID uuid.UUID
Name string
Type Type
RoleSlug string
RoleName string
RoleDescription string
PlatformAccessAllowed []string
SkillNames []string
CreatedBy string
HarnessPath *string
HarnessContent string
Hooks map[string]any
MaxConcurrent int
MaxRetryAttempts int
TimeoutMinutes int
StallTimeoutMinutes int
IsActive bool
PickupStatusIDs StatusBindingSet
FinishStatusIDs StatusBindingSet
}
type CreateSkillBundleInput ¶
type CreateSkillInput ¶
type HarnessAgentData ¶
type HarnessDocument ¶
type HarnessMachineData ¶
type HarnessPlatformData ¶
type HarnessProjectData ¶
type HarnessProjectData struct {
ID string
Name string
Slug string
Description string
Status string
Workflows []HarnessProjectWorkflowData
Statuses []HarnessProjectStatusData
Machines []HarnessProjectMachineData
Updates []HarnessProjectUpdateThreadData
}
type HarnessProjectWorkflowData ¶
type HarnessProjectWorkflowData struct {
Name string
Type string
RoleName string
RoleDescription string
PickupStatus string
FinishStatus string
PickupStatuses []HarnessProjectStatusData
FinishStatuses []HarnessProjectStatusData
HarnessPath string
HarnessContent string
Skills []string
MaxConcurrent int
CurrentActive int
RecentTickets []HarnessProjectWorkflowTicketData
}
type HarnessRepoData ¶
type HarnessTemplateData ¶
type HarnessTemplateData struct {
Ticket HarnessTicketData
Project HarnessProjectData
Repos []HarnessRepoData
AllRepos []HarnessRepoData
Agent HarnessAgentData
Machine HarnessMachineData
AccessibleMachines []HarnessAccessibleMachineData
Attempt int
MaxAttempts int
Workspace string
Timestamp string
OpenASEVersion string
Workflow HarnessWorkflowData
Platform HarnessPlatformData
}
type HarnessTicketData ¶
type HarnessTicketData struct {
ID string
Identifier string
Title string
Description string
Status string
Priority string
Type string
CreatedBy string
CreatedAt string
AttemptCount int
MaxAttempts int
BudgetUSD float64
ExternalRef string
ParentIdentifier string
URL string
Links []HarnessTicketLinkData
Dependencies []HarnessTicketDependencyData
}
type HarnessTicketLinkData ¶
type HarnessVariableGroup ¶
type HarnessVariableGroup struct {
Name string `json:"name"`
Variables []HarnessVariableMetadata `json:"variables"`
}
type HarnessVariableMetadata ¶
type HarnessWorkflowData ¶
type MaterializeRuntimeSnapshotInput ¶
type MaterializeRuntimeSnapshotInput struct {
WorkspaceRoot string
AdapterType string
Snapshot RuntimeSnapshot
}
type RefreshSkillsInput ¶
type RefreshSkillsResult ¶
type ReplaceWorkflowReferencesResult ¶
type ReplaceWorkflowReferencesResult struct {
WorkflowID uuid.UUID `json:"workflow_id"`
ReplacementWorkflowID uuid.UUID `json:"replacement_workflow_id"`
TicketCount int `json:"ticket_count"`
ScheduledJobCount int `json:"scheduled_job_count"`
Tickets []WorkflowTicketReference `json:"tickets"`
ScheduledJobs []WorkflowScheduledJobReference `json:"scheduled_jobs"`
}
type RuntimeSkillSnapshot ¶
type RuntimeSnapshot ¶
type RuntimeSnapshot struct {
Workflow RuntimeWorkflowSnapshot
Skills []RuntimeSkillSnapshot
}
type RuntimeWorkflowSnapshot ¶
type Skill ¶
type Skill struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Path string `json:"path"`
CurrentVersion int `json:"current_version"`
IsBuiltin bool `json:"is_builtin"`
IsEnabled bool `json:"is_enabled"`
CreatedBy string `json:"created_by"`
CreatedAt time.Time `json:"created_at"`
BoundWorkflows []SkillWorkflowBinding `json:"bound_workflows"`
}
type SkillBundle ¶
type SkillBundle struct {
Name string `json:"name"`
Description string `json:"description"`
Files []SkillBundleFile `json:"files"`
FileCount int `json:"file_count"`
SizeBytes int64 `json:"size_bytes"`
BundleHash string `json:"bundle_hash"`
Manifest map[string]any `json:"manifest"`
EntrypointPath string `json:"entrypoint_path"`
EntrypointSHA256 string `json:"entrypoint_sha256"`
EntrypointBody string `json:"entrypoint_body"`
}
type SkillBundleFile ¶
type SkillBundleFileInput ¶
type SkillDetail ¶
type SkillDetail struct {
Skill `json:",inline"`
Content string `json:"content"`
BundleHash string `json:"bundle_hash"`
FileCount int `json:"file_count"`
Files []SkillBundleFile `json:"files"`
History []VersionSummary `json:"history"`
}
type SkillRecord ¶
type SkillVersionRecord ¶
type SkillWorkflowBinding ¶
type StatusBindingSet ¶
type StatusBindingSet struct {
// contains filtered or unexported fields
}
func MustStatusBindingSet ¶
func MustStatusBindingSet(ids ...uuid.UUID) StatusBindingSet
func ParseStatusBindingSet ¶
func ParseStatusBindingSet(fieldName string, raw []uuid.UUID) (StatusBindingSet, error)
func (StatusBindingSet) IDs ¶
func (s StatusBindingSet) IDs() []uuid.UUID
func (StatusBindingSet) Len ¶
func (s StatusBindingSet) Len() int
func (StatusBindingSet) Overlaps ¶
func (s StatusBindingSet) Overlaps(other StatusBindingSet) bool
type TypeLabel ¶
type TypeLabel string
func MustParseTypeLabel ¶
func ParseTypeLabel ¶
func (TypeLabel) NormalizedKey ¶
type UpdateHarnessInput ¶
type UpdateInput ¶
type UpdateInput struct {
WorkflowID uuid.UUID
AgentID Optional[uuid.UUID]
Name Optional[string]
Type Optional[Type]
RoleName Optional[string]
RoleDescription Optional[string]
PlatformAccessAllowed Optional[[]string]
EditedBy string
HarnessPath Optional[string]
Hooks Optional[map[string]any]
MaxConcurrent Optional[int]
MaxRetryAttempts Optional[int]
TimeoutMinutes Optional[int]
StallTimeoutMinutes Optional[int]
IsActive Optional[bool]
PickupStatusIDs Optional[StatusBindingSet]
FinishStatusIDs Optional[StatusBindingSet]
}
type UpdateSkillBundleInput ¶
type UpdateSkillInput ¶
type VersionSummary ¶
type Workflow ¶
type Workflow struct {
ID uuid.UUID `json:"id"`
ProjectID uuid.UUID `json:"project_id"`
AgentID *uuid.UUID `json:"agent_id"`
Name string `json:"name"`
Type Type `json:"type"`
RoleSlug string `json:"role_slug"`
RoleName string `json:"role_name"`
RoleDescription string `json:"role_description"`
PlatformAccessAllowed []string `json:"platform_access_allowed"`
HarnessPath string `json:"harness_path"`
Hooks map[string]any `json:"hooks"`
MaxConcurrent int `json:"max_concurrent"`
MaxRetryAttempts int `json:"max_retry_attempts"`
TimeoutMinutes int `json:"timeout_minutes"`
StallTimeoutMinutes int `json:"stall_timeout_minutes"`
Version int `json:"version"`
IsActive bool `json:"is_active"`
PickupStatusIDs []uuid.UUID `json:"pickup_status_ids"`
FinishStatusIDs []uuid.UUID `json:"finish_status_ids"`
}
type WorkflowBlockingReferences ¶
type WorkflowBlockingReferences struct {
ActiveAgentRuns []WorkflowAgentRunReference `json:"active_agent_runs"`
HistoricalAgentRuns []WorkflowAgentRunReference `json:"historical_agent_runs"`
}
type WorkflowClassification ¶
type WorkflowClassification struct {
Family WorkflowFamily `json:"family"`
Confidence float64 `json:"confidence"`
Reasons []string `json:"reasons"`
}
func ClassifyWorkflow ¶
func ClassifyWorkflow(input WorkflowClassificationInput) WorkflowClassification
type WorkflowDetail ¶
type WorkflowFamily ¶
type WorkflowFamily string
const ( WorkflowFamilyPlanning WorkflowFamily = "planning" WorkflowFamilyDispatcher WorkflowFamily = "dispatcher" WorkflowFamilyCoding WorkflowFamily = "coding" WorkflowFamilyReview WorkflowFamily = "review" WorkflowFamilyTest WorkflowFamily = "test" WorkflowFamilyDocs WorkflowFamily = "docs" WorkflowFamilyDeploy WorkflowFamily = "deploy" WorkflowFamilySecurity WorkflowFamily = "security" WorkflowFamilyHarness WorkflowFamily = "harness" WorkflowFamilyEnvironment WorkflowFamily = "environment" WorkflowFamilyResearch WorkflowFamily = "research" WorkflowFamilyReporting WorkflowFamily = "reporting" WorkflowFamilyUnknown WorkflowFamily = "unknown" )
type WorkflowImpactAnalysis ¶
type WorkflowImpactAnalysis struct {
WorkflowID uuid.UUID `json:"workflow_id"`
CanRetire bool `json:"can_retire"`
CanReplaceReferences bool `json:"can_replace_references"`
CanPurge bool `json:"can_purge"`
Summary WorkflowImpactSummary `json:"summary"`
ReplaceableReferences WorkflowReplaceableReferences `json:"replaceable_references"`
BlockingReferences WorkflowBlockingReferences `json:"blocking_references"`
}
type WorkflowImpactConflict ¶
type WorkflowImpactConflict struct {
Err error
Impact WorkflowImpactAnalysis
}
func (*WorkflowImpactConflict) Error ¶
func (e *WorkflowImpactConflict) Error() string
func (*WorkflowImpactConflict) Unwrap ¶
func (e *WorkflowImpactConflict) Unwrap() error
type WorkflowImpactSummary ¶
type WorkflowImpactSummary struct {
TicketCount int `json:"ticket_count"`
ScheduledJobCount int `json:"scheduled_job_count"`
ActiveAgentRunCount int `json:"active_agent_run_count"`
HistoricalAgentRunCount int `json:"historical_agent_run_count"`
ReplaceableReferenceCount int `json:"replaceable_reference_count"`
BlockingReferenceCount int `json:"blocking_reference_count"`
}
type WorkflowReplaceableReferences ¶
type WorkflowReplaceableReferences struct {
Tickets []WorkflowTicketReference `json:"tickets"`
ScheduledJobs []WorkflowScheduledJobReference `json:"scheduled_jobs"`
}
type WorkflowTicketReference ¶
type WorkflowVersionRecord ¶
type WorkflowVersionRecord struct {
ID uuid.UUID
WorkflowID uuid.UUID
Version int
ContentMarkdown string
Name string
Type Type
RoleSlug string
RoleName string
RoleDescription string
PickupStatusIDs []uuid.UUID
FinishStatusIDs []uuid.UUID
HarnessPath string
Hooks map[string]any
PlatformAccessAllowed []string
MaxConcurrent int
MaxRetryAttempts int
TimeoutMinutes int
StallTimeoutMinutes int
IsActive bool
ContentHash string
CreatedBy string
CreatedAt time.Time
}
Click to show internal directories.
Click to hide internal directories.