httpapi

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2026 License: MIT Imports: 59 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildOpenAPIDocument

func BuildOpenAPIDocument() (*openapi3.T, error)

func BuildOpenAPIJSON

func BuildOpenAPIJSON() ([]byte, error)

Types

type OpenAPIActivateHRRecommendationRequest

type OpenAPIActivateHRRecommendationRequest struct {
	RoleSlug              string `json:"role_slug"`
	CreateBootstrapTicket *bool  `json:"create_bootstrap_ticket,omitempty"`
}

type OpenAPIActivityEvent

type OpenAPIActivityEvent struct {
	ID        string         `json:"id"`
	ProjectID string         `json:"project_id"`
	TicketID  *string        `json:"ticket_id,omitempty"`
	AgentID   *string        `json:"agent_id,omitempty"`
	EventType string         `json:"event_type"`
	Message   string         `json:"message"`
	Metadata  map[string]any `json:"metadata"`
	CreatedAt string         `json:"created_at"`
}

type OpenAPIActivityEventsResponse

type OpenAPIActivityEventsResponse struct {
	Events []OpenAPIActivityEvent `json:"events"`
}

type OpenAPIAddTicketDependencyRequest

type OpenAPIAddTicketDependencyRequest rawAddDependencyRequest

type OpenAPIAgent

type OpenAPIAgent struct {
	ID                    string               `json:"id"`
	ProviderID            string               `json:"provider_id"`
	ProjectID             string               `json:"project_id"`
	Name                  string               `json:"name"`
	RuntimeControlState   string               `json:"runtime_control_state"`
	TotalTokensUsed       int64                `json:"total_tokens_used"`
	TotalTicketsCompleted int                  `json:"total_tickets_completed"`
	Runtime               *OpenAPIAgentRuntime `json:"runtime,omitempty"`
}

type OpenAPIAgentOutputEntriesResponse

type OpenAPIAgentOutputEntriesResponse struct {
	Entries []OpenAPIAgentOutputEntry `json:"entries"`
}

type OpenAPIAgentOutputEntry

type OpenAPIAgentOutputEntry struct {
	ID         string  `json:"id"`
	ProjectID  string  `json:"project_id"`
	AgentID    string  `json:"agent_id"`
	TicketID   *string `json:"ticket_id,omitempty"`
	AgentRunID string  `json:"agent_run_id"`
	Stream     string  `json:"stream"`
	Output     string  `json:"output"`
	CreatedAt  string  `json:"created_at"`
}

type OpenAPIAgentProvider

type OpenAPIAgentProvider struct {
	ID                    string                             `json:"id"`
	OrganizationID        string                             `json:"organization_id"`
	MachineID             string                             `json:"machine_id"`
	MachineName           string                             `json:"machine_name"`
	MachineHost           string                             `json:"machine_host"`
	MachineStatus         string                             `json:"machine_status"`
	MachineSSHUser        *string                            `json:"machine_ssh_user,omitempty"`
	MachineWorkspaceRoot  *string                            `json:"machine_workspace_root,omitempty"`
	Name                  string                             `json:"name"`
	AdapterType           string                             `json:"adapter_type"`
	PermissionProfile     string                             `json:"permission_profile"`
	AvailabilityState     string                             `json:"availability_state"`
	Available             bool                               `json:"available"`
	AvailabilityCheckedAt *string                            `json:"availability_checked_at,omitempty"`
	AvailabilityReason    *string                            `json:"availability_reason,omitempty"`
	Capabilities          OpenAPIAgentProviderCapabilities   `json:"capabilities"`
	CliCommand            string                             `json:"cli_command"`
	CliArgs               []string                           `json:"cli_args"`
	AuthConfig            map[string]any                     `json:"auth_config"`
	CLIRateLimit          *OpenAPIAgentProviderCLIRateLimit  `json:"cli_rate_limit,omitempty"`
	CLIRateLimitUpdatedAt *string                            `json:"cli_rate_limit_updated_at,omitempty"`
	ModelName             string                             `json:"model_name"`
	ModelTemperature      float64                            `json:"model_temperature"`
	ModelMaxTokens        int                                `json:"model_max_tokens"`
	MaxParallelRuns       int                                `json:"max_parallel_runs"`
	CostPerInputToken     float64                            `json:"cost_per_input_token"`
	CostPerOutputToken    float64                            `json:"cost_per_output_token"`
	PricingConfig         pricing.ProviderModelPricingConfig `json:"pricing_config"`
}

type OpenAPIAgentProviderCLIRateLimit

type OpenAPIAgentProviderCLIRateLimit struct {
	Provider   string                                   `json:"provider"`
	ClaudeCode *OpenAPIAgentProviderClaudeCodeRateLimit `json:"claude_code,omitempty"`
	Codex      *OpenAPIAgentProviderCodexRateLimit      `json:"codex,omitempty"`
	Gemini     *OpenAPIAgentProviderGeminiRateLimit     `json:"gemini,omitempty"`
	Raw        map[string]any                           `json:"raw,omitempty"`
}

type OpenAPIAgentProviderCapabilities

type OpenAPIAgentProviderCapabilities struct {
	EphemeralChat OpenAPIAgentProviderCapability `json:"ephemeral_chat"`
	HarnessAI     OpenAPIAgentProviderCapability `json:"harness_ai"`
	SkillAI       OpenAPIAgentProviderCapability `json:"skill_ai"`
}

type OpenAPIAgentProviderCapability

type OpenAPIAgentProviderCapability struct {
	State  string  `json:"state"`
	Reason *string `json:"reason,omitempty"`
}

type OpenAPIAgentProviderClaudeCodeRateLimit

type OpenAPIAgentProviderClaudeCodeRateLimit struct {
	Status                string   `json:"status,omitempty"`
	RateLimitType         string   `json:"rate_limit_type,omitempty"`
	ResetsAt              *string  `json:"resets_at,omitempty"`
	Utilization           *float64 `json:"utilization,omitempty"`
	SurpassedThreshold    *float64 `json:"surpassed_threshold,omitempty"`
	OverageStatus         string   `json:"overage_status,omitempty"`
	OverageDisabledReason string   `json:"overage_disabled_reason,omitempty"`
	IsUsingOverage        *bool    `json:"is_using_overage,omitempty"`
}

type OpenAPIAgentProviderCodexRateLimit

type OpenAPIAgentProviderCodexRateLimit struct {
	LimitID   string                                    `json:"limit_id,omitempty"`
	LimitName string                                    `json:"limit_name,omitempty"`
	Primary   *OpenAPIAgentProviderCodexRateLimitWindow `json:"primary,omitempty"`
	Secondary *OpenAPIAgentProviderCodexRateLimitWindow `json:"secondary,omitempty"`
	PlanType  string                                    `json:"plan_type,omitempty"`
}

type OpenAPIAgentProviderCodexRateLimitWindow

type OpenAPIAgentProviderCodexRateLimitWindow struct {
	UsedPercent   *float64 `json:"used_percent,omitempty"`
	WindowMinutes int64    `json:"window_minutes,omitempty"`
	ResetsAt      *string  `json:"resets_at,omitempty"`
}

type OpenAPIAgentProviderGeminiRateLimit

type OpenAPIAgentProviderGeminiRateLimit struct {
	AuthType  string                                      `json:"auth_type,omitempty"`
	Remaining *int64                                      `json:"remaining,omitempty"`
	Limit     *int64                                      `json:"limit,omitempty"`
	ResetTime *string                                     `json:"reset_time,omitempty"`
	Buckets   []OpenAPIAgentProviderGeminiRateLimitBucket `json:"buckets,omitempty"`
}

type OpenAPIAgentProviderGeminiRateLimitBucket

type OpenAPIAgentProviderGeminiRateLimitBucket struct {
	ModelID           string   `json:"model_id,omitempty"`
	TokenType         string   `json:"token_type,omitempty"`
	RemainingAmount   string   `json:"remaining_amount,omitempty"`
	RemainingFraction *float64 `json:"remaining_fraction,omitempty"`
	ResetTime         *string  `json:"reset_time,omitempty"`
}

type OpenAPIAgentProviderModelCatalogEntry

type OpenAPIAgentProviderModelCatalogEntry struct {
	AdapterType string                            `json:"adapter_type"`
	Options     []OpenAPIAgentProviderModelOption `json:"options"`
}

type OpenAPIAgentProviderModelCatalogResponse

type OpenAPIAgentProviderModelCatalogResponse struct {
	AdapterModelOptions []OpenAPIAgentProviderModelCatalogEntry `json:"adapter_model_options"`
}

type OpenAPIAgentProviderModelOption

type OpenAPIAgentProviderModelOption struct {
	ID            string                              `json:"id"`
	Label         string                              `json:"label"`
	Description   string                              `json:"description"`
	Recommended   bool                                `json:"recommended"`
	Preview       bool                                `json:"preview"`
	PricingConfig *pricing.ProviderModelPricingConfig `json:"pricing_config,omitempty"`
}

type OpenAPIAgentProviderResponse

type OpenAPIAgentProviderResponse struct {
	Provider OpenAPIAgentProvider `json:"provider"`
}

type OpenAPIAgentProvidersResponse

type OpenAPIAgentProvidersResponse struct {
	Providers []OpenAPIAgentProvider `json:"providers"`
}

type OpenAPIAgentResponse

type OpenAPIAgentResponse struct {
	Agent OpenAPIAgent `json:"agent"`
}

type OpenAPIAgentRun

type OpenAPIAgentRun struct {
	ID                string   `json:"id"`
	AgentID           string   `json:"agent_id"`
	WorkflowID        string   `json:"workflow_id"`
	WorkflowVersionID *string  `json:"workflow_version_id,omitempty"`
	TicketID          string   `json:"ticket_id"`
	ProviderID        string   `json:"provider_id"`
	SkillVersionIDs   []string `json:"skill_version_ids"`
	Status            string   `json:"status"`
	SessionID         string   `json:"session_id"`
	RuntimeStartedAt  *string  `json:"runtime_started_at,omitempty"`
	TerminalAt        *string  `json:"terminal_at,omitempty"`
	LastError         string   `json:"last_error"`
	LastHeartbeatAt   *string  `json:"last_heartbeat_at,omitempty"`
	CreatedAt         string   `json:"created_at"`
}

type OpenAPIAgentRunsResponse

type OpenAPIAgentRunsResponse struct {
	AgentRuns []OpenAPIAgentRun `json:"agent_runs"`
}

type OpenAPIAgentRuntime

type OpenAPIAgentRuntime struct {
	ActiveRunCount       int     `json:"active_run_count"`
	CurrentRunID         *string `json:"current_run_id,omitempty"`
	Status               string  `json:"status"`
	CurrentTicketID      *string `json:"current_ticket_id,omitempty"`
	SessionID            string  `json:"session_id"`
	RuntimePhase         string  `json:"runtime_phase"`
	RuntimeStartedAt     *string `json:"runtime_started_at,omitempty"`
	LastError            string  `json:"last_error"`
	LastHeartbeatAt      *string `json:"last_heartbeat_at,omitempty"`
	CurrentStepStatus    *string `json:"current_step_status,omitempty"`
	CurrentStepSummary   *string `json:"current_step_summary,omitempty"`
	CurrentStepChangedAt *string `json:"current_step_changed_at,omitempty"`
}

type OpenAPIAgentRuntimeControlResponse

type OpenAPIAgentRuntimeControlResponse struct {
	Agent       OpenAPIAgent `json:"agent"`
	Transition  string       `json:"transition"`
	RequestedAt string       `json:"requested_at"`
}

type OpenAPIAgentStepEntriesResponse

type OpenAPIAgentStepEntriesResponse struct {
	Entries []OpenAPIAgentStepEntry `json:"entries"`
}

type OpenAPIAgentStepEntry

type OpenAPIAgentStepEntry struct {
	ID                 string  `json:"id"`
	ProjectID          string  `json:"project_id"`
	AgentID            string  `json:"agent_id"`
	TicketID           *string `json:"ticket_id,omitempty"`
	AgentRunID         string  `json:"agent_run_id"`
	StepStatus         string  `json:"step_status"`
	Summary            string  `json:"summary"`
	SourceTraceEventID *string `json:"source_trace_event_id,omitempty"`
	CreatedAt          string  `json:"created_at"`
}

type OpenAPIAgentsResponse

type OpenAPIAgentsResponse struct {
	Agents []OpenAPIAgent `json:"agents"`
}

type OpenAPIArchivedTicketsResponse

type OpenAPIArchivedTicketsResponse struct {
	Tickets []OpenAPITicket `json:"tickets"`
	Total   int             `json:"total"`
	Page    int             `json:"page"`
	PerPage int             `json:"per_page"`
}

type OpenAPIAuthPermissionsResponse

type OpenAPIAuthPermissionsResponse struct {
	User        OpenAPIAuthSessionUser        `json:"user"`
	Scope       OpenAPIHumanScope             `json:"scope"`
	Roles       []string                      `json:"roles"`
	Permissions []string                      `json:"permissions"`
	Groups      []OpenAPIHumanGroupMembership `json:"groups"`
}

type OpenAPIAuthSessionResponse

type OpenAPIAuthSessionResponse struct {
	AuthMode      string                  `json:"auth_mode"`
	Authenticated bool                    `json:"authenticated"`
	IssuerURL     string                  `json:"issuer_url,omitempty"`
	User          *OpenAPIAuthSessionUser `json:"user,omitempty"`
	CSRFToken     string                  `json:"csrf_token,omitempty"`
	Roles         []string                `json:"roles,omitempty"`
	Permissions   []string                `json:"permissions,omitempty"`
}

type OpenAPIAuthSessionUser

type OpenAPIAuthSessionUser struct {
	ID           string `json:"id"`
	PrimaryEmail string `json:"primary_email"`
	DisplayName  string `json:"display_name"`
	AvatarURL    string `json:"avatar_url,omitempty"`
}

type OpenAPIBuiltinRole

type OpenAPIBuiltinRole struct {
	Slug            string `json:"slug"`
	Name            string `json:"name"`
	WorkflowType    string `json:"workflow_type"`
	WorkflowFamily  string `json:"workflow_family"`
	Summary         string `json:"summary"`
	HarnessPath     string `json:"harness_path"`
	Content         string `json:"content"`
	WorkflowContent string `json:"workflow_content"`
}

type OpenAPIChatContext

type OpenAPIChatContext struct {
	ProjectID    string  `json:"project_id"`
	WorkflowID   *string `json:"workflow_id,omitempty"`
	TicketID     *string `json:"ticket_id,omitempty"`
	HarnessDraft *string `json:"harness_draft,omitempty"`
}

type OpenAPIChatStartRequest

type OpenAPIChatStartRequest struct {
	Message    string             `json:"message"`
	Source     string             `json:"source"`
	ProviderID *string            `json:"provider_id,omitempty"`
	Context    OpenAPIChatContext `json:"context"`
	SessionID  *string            `json:"session_id,omitempty"`
}

type OpenAPICreateAgentProviderRequest

type OpenAPICreateAgentProviderRequest catalogdomain.AgentProviderInput

type OpenAPICreateAgentRequest

type OpenAPICreateAgentRequest catalogdomain.AgentInput

type OpenAPICreateGitHubRepositoryRequest

type OpenAPICreateGitHubRepositoryRequest githubrepodomain.CreateRepositoryRequest

type OpenAPICreateMachineRequest

type OpenAPICreateMachineRequest catalogdomain.MachineInput

type OpenAPICreateNotificationChannelRequest

type OpenAPICreateNotificationChannelRequest notificationdomain.ChannelInput

type OpenAPICreateNotificationRuleRequest

type OpenAPICreateNotificationRuleRequest notificationdomain.RuleInput

type OpenAPICreateOrganizationRequest

type OpenAPICreateOrganizationRequest catalogdomain.OrganizationInput

type OpenAPICreateProjectRepoRequest

type OpenAPICreateProjectRepoRequest catalogdomain.ProjectRepoInput

type OpenAPICreateProjectRequest

type OpenAPICreateProjectRequest catalogdomain.ProjectInput

type OpenAPICreateProjectUpdateCommentRequest

type OpenAPICreateProjectUpdateCommentRequest rawCreateProjectUpdateCommentRequest

type OpenAPICreateProjectUpdateThreadRequest

type OpenAPICreateProjectUpdateThreadRequest rawCreateProjectUpdateThreadRequest

type OpenAPICreateRoleBindingRequest

type OpenAPICreateRoleBindingRequest struct {
	SubjectKind string  `json:"subject_kind"`
	SubjectKey  string  `json:"subject_key"`
	RoleKey     string  `json:"role_key"`
	ExpiresAt   *string `json:"expires_at,omitempty"`
}

type OpenAPICreateScheduledJobRequest

type OpenAPICreateScheduledJobRequest rawCreateScheduledJobRequest

type OpenAPICreateSkillRequest

type OpenAPICreateSkillRequest rawCreateSkillRequest

type OpenAPICreateTicketCommentRequest

type OpenAPICreateTicketCommentRequest rawCreateTicketCommentRequest

type OpenAPICreateTicketExternalLinkRequest

type OpenAPICreateTicketExternalLinkRequest rawAddExternalLinkRequest

type OpenAPICreateTicketRepoScopeRequest

type OpenAPICreateTicketRepoScopeRequest catalogdomain.TicketRepoScopeInput

type OpenAPICreateTicketRequest

type OpenAPICreateTicketRequest rawCreateTicketRequest

type OpenAPICreateTicketStatusRequest

type OpenAPICreateTicketStatusRequest struct {
	Name          string `json:"name"`
	Stage         string `json:"stage"`
	Color         string `json:"color"`
	Icon          string `json:"icon"`
	Position      *int   `json:"position"`
	MaxActiveRuns *int   `json:"max_active_runs"`
	IsDefault     bool   `json:"is_default"`
	Description   string `json:"description"`
}

type OpenAPICreateWorkflowRequest

type OpenAPICreateWorkflowRequest rawCreateWorkflowRequest

type OpenAPIDeleteSkillResponse

type OpenAPIDeleteSkillResponse struct {
	DeletedSkillID string `json:"deleted_skill_id"`
}

type OpenAPIDeleteTicketExternalLinkResponse

type OpenAPIDeleteTicketExternalLinkResponse struct {
	DeletedExternalLinkID string `json:"deleted_external_link_id"`
}

type OpenAPIErrorResponse

type OpenAPIErrorResponse struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

type OpenAPIGitHubCredentialScopeRequest

type OpenAPIGitHubCredentialScopeRequest rawGitHubCredentialScopeRequest

type OpenAPIGitHubCredentialSlot

type OpenAPIGitHubCredentialSlot struct {
	Scope        string                  `json:"scope,omitempty"`
	Configured   bool                    `json:"configured"`
	Source       string                  `json:"source,omitempty"`
	TokenPreview string                  `json:"token_preview,omitempty"`
	Probe        OpenAPIGitHubTokenProbe `json:"probe"`
}

type OpenAPIGitHubOutboundCredential

type OpenAPIGitHubOutboundCredential struct {
	Effective       OpenAPIGitHubCredentialSlot `json:"effective"`
	Organization    OpenAPIGitHubCredentialSlot `json:"organization"`
	ProjectOverride OpenAPIGitHubCredentialSlot `json:"project_override"`
}

type OpenAPIGitHubRepositoriesResponse

type OpenAPIGitHubRepositoriesResponse struct {
	Repositories []OpenAPIGitHubRepository `json:"repositories"`
	NextCursor   string                    `json:"next_cursor,omitempty"`
}

type OpenAPIGitHubRepository

type OpenAPIGitHubRepository struct {
	ID            int64  `json:"id"`
	Name          string `json:"name"`
	FullName      string `json:"full_name"`
	Owner         string `json:"owner"`
	DefaultBranch string `json:"default_branch"`
	Visibility    string `json:"visibility"`
	Private       bool   `json:"private"`
	HTMLURL       string `json:"html_url"`
	CloneURL      string `json:"clone_url"`
}

type OpenAPIGitHubRepositoryNamespace

type OpenAPIGitHubRepositoryNamespace struct {
	Login string `json:"login"`
	Kind  string `json:"kind"`
}

type OpenAPIGitHubRepositoryNamespacesResponse

type OpenAPIGitHubRepositoryNamespacesResponse struct {
	Namespaces []OpenAPIGitHubRepositoryNamespace `json:"namespaces"`
}

type OpenAPIGitHubRepositoryResponse

type OpenAPIGitHubRepositoryResponse struct {
	Repository OpenAPIGitHubRepository `json:"repository"`
}

type OpenAPIGitHubTokenProbe

type OpenAPIGitHubTokenProbe struct {
	State       string   `json:"state"`
	Configured  bool     `json:"configured"`
	Valid       bool     `json:"valid"`
	Permissions []string `json:"permissions"`
	RepoAccess  string   `json:"repo_access"`
	CheckedAt   *string  `json:"checked_at,omitempty"`
	LastError   string   `json:"last_error,omitempty"`
}

type OpenAPIHRAdvisorActivationResponse

type OpenAPIHRAdvisorActivationResponse struct {
	ProjectID       string                                `json:"project_id"`
	RoleSlug        string                                `json:"role_slug"`
	Agent           OpenAPIAgent                          `json:"agent"`
	Workflow        OpenAPIWorkflow                       `json:"workflow"`
	BootstrapTicket OpenAPIHRAdvisorBootstrapTicketResult `json:"bootstrap_ticket"`
}

type OpenAPIHRAdvisorBootstrapTicketResult

type OpenAPIHRAdvisorBootstrapTicketResult struct {
	Requested bool           `json:"requested"`
	Status    string         `json:"status"`
	Message   string         `json:"message"`
	Ticket    *OpenAPITicket `json:"ticket,omitempty"`
}

type OpenAPIHRAdvisorRecommendation

type OpenAPIHRAdvisorRecommendation struct {
	RoleSlug                string   `json:"role_slug"`
	RoleName                string   `json:"role_name"`
	WorkflowType            string   `json:"workflow_type"`
	WorkflowFamily          string   `json:"workflow_family"`
	Summary                 string   `json:"summary"`
	HarnessPath             string   `json:"harness_path"`
	Priority                string   `json:"priority"`
	Reason                  string   `json:"reason"`
	Evidence                []string `json:"evidence"`
	SuggestedHeadcount      int      `json:"suggested_headcount"`
	SuggestedWorkflowName   string   `json:"suggested_workflow_name"`
	SuggestedWorkflowType   string   `json:"suggested_workflow_type"`
	SuggestedWorkflowFamily string   `json:"suggested_workflow_family"`
	ActivationReady         bool     `json:"activation_ready"`
	ActiveWorkflowName      *string  `json:"active_workflow_name,omitempty"`
}

type OpenAPIHRAdvisorResponse

type OpenAPIHRAdvisorResponse struct {
	ProjectID       string                           `json:"project_id"`
	Summary         OpenAPIHRAdvisorSummary          `json:"summary"`
	Staffing        OpenAPIHRAdvisorStaffing         `json:"staffing"`
	Recommendations []OpenAPIHRAdvisorRecommendation `json:"recommendations"`
}

type OpenAPIHRAdvisorStaffing

type OpenAPIHRAdvisorStaffing struct {
	Developers int `json:"developers"`
	QA         int `json:"qa"`
	Docs       int `json:"docs"`
	Security   int `json:"security"`
	Product    int `json:"product"`
	Research   int `json:"research"`
}

type OpenAPIHRAdvisorSummary

type OpenAPIHRAdvisorSummary struct {
	OpenTickets            int      `json:"open_tickets"`
	CodingTickets          int      `json:"coding_tickets"`
	FailingTickets         int      `json:"failing_tickets"`
	BlockedTickets         int      `json:"blocked_tickets"`
	ActiveAgents           int      `json:"active_agents"`
	WorkflowCount          int      `json:"workflow_count"`
	RecentActivityCount    int      `json:"recent_activity_count"`
	ActiveWorkflowFamilies []string `json:"active_workflow_families"`
}

type OpenAPIHarnessDocument

type OpenAPIHarnessDocument struct {
	WorkflowID string `json:"workflow_id"`
	Path       string `json:"path"`
	Content    string `json:"content"`
	Version    int    `json:"version"`
}

type OpenAPIHarnessResponse

type OpenAPIHarnessResponse struct {
	Harness OpenAPIHarnessDocument `json:"harness"`
}

type OpenAPIHarnessValidationResponse

type OpenAPIHarnessValidationResponse struct {
	Valid  bool                     `json:"valid"`
	Issues []OpenAPIValidationIssue `json:"issues"`
}

type OpenAPIHarnessVariableGroup

type OpenAPIHarnessVariableGroup struct {
	Name      string                           `json:"name"`
	Variables []OpenAPIHarnessVariableMetadata `json:"variables"`
}

type OpenAPIHarnessVariableMetadata

type OpenAPIHarnessVariableMetadata struct {
	Path        string `json:"path"`
	Type        string `json:"type"`
	Description string `json:"description"`
	Example     string `json:"example,omitempty"`
}

type OpenAPIHarnessVariablesResponse

type OpenAPIHarnessVariablesResponse struct {
	Groups []OpenAPIHarnessVariableGroup `json:"groups"`
}

type OpenAPIHumanGroupMembership

type OpenAPIHumanGroupMembership struct {
	GroupKey  string `json:"group_key"`
	GroupName string `json:"group_name"`
	Issuer    string `json:"issuer"`
}

type OpenAPIHumanScope

type OpenAPIHumanScope struct {
	Kind string `json:"kind"`
	ID   string `json:"id"`
}

type OpenAPIMachine

type OpenAPIMachine struct {
	ID                    string                          `json:"id"`
	OrganizationID        string                          `json:"organization_id"`
	Name                  string                          `json:"name"`
	Host                  string                          `json:"host"`
	Port                  int                             `json:"port"`
	ConnectionMode        string                          `json:"connection_mode"`
	TransportCapabilities []string                        `json:"transport_capabilities,omitempty"`
	SSHUser               *string                         `json:"ssh_user,omitempty"`
	SSHKeyPath            *string                         `json:"ssh_key_path,omitempty"`
	AdvertisedEndpoint    *string                         `json:"advertised_endpoint,omitempty"`
	DaemonStatus          OpenAPIMachineDaemonStatus      `json:"daemon_status"`
	DetectedOS            string                          `json:"detected_os"`
	DetectedArch          string                          `json:"detected_arch"`
	DetectionStatus       string                          `json:"detection_status"`
	DetectionMessage      string                          `json:"detection_message"`
	ChannelCredential     OpenAPIMachineChannelCredential `json:"channel_credential"`
	Description           string                          `json:"description"`
	Labels                []string                        `json:"labels,omitempty"`
	Status                string                          `json:"status"`
	WorkspaceRoot         *string                         `json:"workspace_root,omitempty"`
	AgentCLIPath          *string                         `json:"agent_cli_path,omitempty"`
	EnvVars               []string                        `json:"env_vars,omitempty"`
	LastHeartbeatAt       *string                         `json:"last_heartbeat_at,omitempty"`
	Resources             map[string]any                  `json:"resources"`
}

type OpenAPIMachineChannelCredential

type OpenAPIMachineChannelCredential struct {
	Kind          string  `json:"kind"`
	TokenID       *string `json:"token_id,omitempty"`
	CertificateID *string `json:"certificate_id,omitempty"`
}

type OpenAPIMachineDaemonStatus

type OpenAPIMachineDaemonStatus struct {
	Registered       bool    `json:"registered"`
	LastRegisteredAt *string `json:"last_registered_at,omitempty"`
	CurrentSessionID *string `json:"current_session_id,omitempty"`
	SessionState     string  `json:"session_state"`
}

type OpenAPIMachineEnvironmentIssue

type OpenAPIMachineEnvironmentIssue struct {
	Code      string  `json:"code"`
	Source    string  `json:"source"`
	Title     string  `json:"title"`
	Detail    string  `json:"detail"`
	SkillName *string `json:"skill_name,omitempty"`
}

type OpenAPIMachineEnvironmentProvisioning

type OpenAPIMachineEnvironmentProvisioning struct {
	Available         bool                             `json:"available"`
	Needed            bool                             `json:"needed"`
	Runnable          bool                             `json:"runnable"`
	RoleSlug          string                           `json:"role_slug"`
	RoleName          string                           `json:"role_name"`
	RequiredSkills    []string                         `json:"required_skills"`
	Summary           string                           `json:"summary"`
	Issues            []OpenAPIMachineEnvironmentIssue `json:"issues"`
	Notes             []string                         `json:"notes"`
	TicketTitle       string                           `json:"ticket_title"`
	TicketDescription string                           `json:"ticket_description"`
}

type OpenAPIMachineHealthRefreshResponse

type OpenAPIMachineHealthRefreshResponse struct {
	Machine OpenAPIMachine `json:"machine"`
}

type OpenAPIMachineProbe

type OpenAPIMachineProbe struct {
	CheckedAt        string         `json:"checked_at"`
	Transport        string         `json:"transport"`
	Output           string         `json:"output"`
	Resources        map[string]any `json:"resources"`
	DetectedOS       string         `json:"detected_os"`
	DetectedArch     string         `json:"detected_arch"`
	DetectionStatus  string         `json:"detection_status"`
	DetectionMessage string         `json:"detection_message"`
}

type OpenAPIMachineResourcesResponse

type OpenAPIMachineResourcesResponse struct {
	MachineID               string                                `json:"machine_id"`
	Status                  string                                `json:"status"`
	LastHeartbeatAt         *string                               `json:"last_heartbeat_at,omitempty"`
	Resources               map[string]any                        `json:"resources"`
	EnvironmentProvisioning OpenAPIMachineEnvironmentProvisioning `json:"environment_provisioning"`
}

type OpenAPIMachineResponse

type OpenAPIMachineResponse struct {
	Machine OpenAPIMachine `json:"machine"`
}

type OpenAPIMachineTestResponse

type OpenAPIMachineTestResponse struct {
	Machine OpenAPIMachine      `json:"machine"`
	Probe   OpenAPIMachineProbe `json:"probe"`
}

type OpenAPIMachinesResponse

type OpenAPIMachinesResponse struct {
	Machines []OpenAPIMachine `json:"machines"`
}

type OpenAPINotificationChannel

type OpenAPINotificationChannel struct {
	ID             string         `json:"id"`
	OrganizationID string         `json:"organization_id"`
	Name           string         `json:"name"`
	Type           string         `json:"type"`
	Config         map[string]any `json:"config"`
	IsEnabled      bool           `json:"is_enabled"`
	CreatedAt      string         `json:"created_at"`
}

type OpenAPINotificationChannelDeleteResponse

type OpenAPINotificationChannelDeleteResponse struct {
	DeletedChannelID string `json:"deleted_channel_id"`
}

type OpenAPINotificationChannelResponse

type OpenAPINotificationChannelResponse struct {
	Channel OpenAPINotificationChannel `json:"channel"`
}

type OpenAPINotificationChannelTestResponse

type OpenAPINotificationChannelTestResponse struct {
	Status string `json:"status"`
}

type OpenAPINotificationChannelsResponse

type OpenAPINotificationChannelsResponse struct {
	Channels []OpenAPINotificationChannel `json:"channels"`
}

type OpenAPINotificationRule

type OpenAPINotificationRule struct {
	ID        string                     `json:"id"`
	ProjectID string                     `json:"project_id"`
	ChannelID string                     `json:"channel_id"`
	Name      string                     `json:"name"`
	EventType string                     `json:"event_type"`
	Filter    map[string]any             `json:"filter"`
	Template  string                     `json:"template"`
	IsEnabled bool                       `json:"is_enabled"`
	CreatedAt string                     `json:"created_at"`
	Channel   OpenAPINotificationChannel `json:"channel"`
}

type OpenAPINotificationRuleDeleteResponse

type OpenAPINotificationRuleDeleteResponse struct {
	DeletedRuleID string `json:"deleted_rule_id"`
}

type OpenAPINotificationRuleEventType

type OpenAPINotificationRuleEventType struct {
	EventType       string `json:"event_type"`
	Label           string `json:"label"`
	DefaultTemplate string `json:"default_template"`
}

type OpenAPINotificationRuleEventTypesResponse

type OpenAPINotificationRuleEventTypesResponse struct {
	EventTypes []OpenAPINotificationRuleEventType `json:"event_types"`
}

type OpenAPINotificationRuleResponse

type OpenAPINotificationRuleResponse struct {
	Rule OpenAPINotificationRule `json:"rule"`
}

type OpenAPINotificationRulesResponse

type OpenAPINotificationRulesResponse struct {
	Rules []OpenAPINotificationRule `json:"rules"`
}

type OpenAPIOrganization

type OpenAPIOrganization struct {
	ID                     string  `json:"id"`
	Name                   string  `json:"name"`
	Slug                   string  `json:"slug"`
	Status                 string  `json:"status"`
	DefaultAgentProviderID *string `json:"default_agent_provider_id,omitempty"`
}

type OpenAPIOrganizationDashboardMetrics

type OpenAPIOrganizationDashboardMetrics struct {
	OrganizationID     string  `json:"organization_id"`
	ProjectCount       int     `json:"project_count"`
	ActiveProjectCount int     `json:"active_project_count"`
	ProviderCount      int     `json:"provider_count"`
	RunningAgents      int     `json:"running_agents"`
	ActiveTickets      int     `json:"active_tickets"`
	TodayCost          float64 `json:"today_cost"`
	TotalTokens        int64   `json:"total_tokens"`
}

type OpenAPIOrganizationProjectSummary

type OpenAPIOrganizationProjectSummary struct {
	ProjectID      string  `json:"project_id"`
	Name           string  `json:"name"`
	Description    string  `json:"description"`
	Status         string  `json:"status"`
	RunningAgents  int     `json:"running_agents"`
	ActiveTickets  int     `json:"active_tickets"`
	TodayCost      float64 `json:"today_cost"`
	TotalTokens    int64   `json:"total_tokens"`
	LastActivityAt *string `json:"last_activity_at,omitempty"`
}

type OpenAPIOrganizationResponse

type OpenAPIOrganizationResponse struct {
	Organization OpenAPIOrganization `json:"organization"`
}

type OpenAPIOrganizationSummaryResponse

type OpenAPIOrganizationSummaryResponse struct {
	Organization OpenAPIOrganizationDashboardMetrics `json:"organization"`
	Projects     []OpenAPIOrganizationProjectSummary `json:"projects"`
}

type OpenAPIOrganizationTokenUsageDay

type OpenAPIOrganizationTokenUsageDay struct {
	Date              string `json:"date"`
	InputTokens       int64  `json:"input_tokens"`
	OutputTokens      int64  `json:"output_tokens"`
	CachedInputTokens int64  `json:"cached_input_tokens"`
	ReasoningTokens   int64  `json:"reasoning_tokens"`
	TotalTokens       int64  `json:"total_tokens"`
	FinalizedRunCount int    `json:"finalized_run_count"`
}

type OpenAPIOrganizationTokenUsagePeakDay

type OpenAPIOrganizationTokenUsagePeakDay struct {
	Date        string `json:"date"`
	TotalTokens int64  `json:"total_tokens"`
}

type OpenAPIOrganizationTokenUsageResponse

type OpenAPIOrganizationTokenUsageResponse struct {
	Days    []OpenAPIOrganizationTokenUsageDay   `json:"days"`
	Summary OpenAPIOrganizationTokenUsageSummary `json:"summary"`
}

type OpenAPIOrganizationTokenUsageSummary

type OpenAPIOrganizationTokenUsageSummary struct {
	TotalTokens    int64                                 `json:"total_tokens"`
	AvgDailyTokens int64                                 `json:"avg_daily_tokens"`
	PeakDay        *OpenAPIOrganizationTokenUsagePeakDay `json:"peak_day,omitempty"`
}

type OpenAPIOrganizationsResponse

type OpenAPIOrganizationsResponse struct {
	Organizations []OpenAPIOrganization `json:"organizations"`
}

type OpenAPIProject

type OpenAPIProject struct {
	ID                             string   `json:"id"`
	OrganizationID                 string   `json:"organization_id"`
	Name                           string   `json:"name"`
	Slug                           string   `json:"slug"`
	Description                    string   `json:"description"`
	Status                         string   `json:"status"`
	DefaultAgentProviderID         *string  `json:"default_agent_provider_id,omitempty"`
	AccessibleMachineIDs           []string `json:"accessible_machine_ids,omitempty"`
	MaxConcurrentAgents            int      `json:"max_concurrent_agents"`
	AgentRunSummaryPrompt          *string  `json:"agent_run_summary_prompt,omitempty"`
	EffectiveAgentRunSummaryPrompt string   `json:"effective_agent_run_summary_prompt"`
	AgentRunSummaryPromptSource    string   `json:"agent_run_summary_prompt_source"`
}

type OpenAPIProjectConversation

type OpenAPIProjectConversation struct {
	ID             string `json:"id"`
	ProjectID      string `json:"project_id"`
	UserID         string `json:"user_id"`
	Source         string `json:"source"`
	ProviderID     string `json:"provider_id"`
	Status         string `json:"status"`
	RollingSummary string `json:"rolling_summary"`
	LastActivityAt string `json:"last_activity_at"`
	CreatedAt      string `json:"created_at"`
	UpdatedAt      string `json:"updated_at"`
}

type OpenAPIProjectConversationActionProposalExecutionResponse

type OpenAPIProjectConversationActionProposalExecutionResponse struct {
	ResultEntry OpenAPIProjectConversationEntry `json:"result_entry"`
	Results     []map[string]any                `json:"results"`
}

type OpenAPIProjectConversationContext

type OpenAPIProjectConversationContext struct {
	ProjectID string `json:"project_id"`
}

type OpenAPIProjectConversationCreateRequest

type OpenAPIProjectConversationCreateRequest struct {
	Source     string                            `json:"source"`
	ProviderID string                            `json:"provider_id"`
	Context    OpenAPIProjectConversationContext `json:"context"`
}

type OpenAPIProjectConversationEntriesResponse

type OpenAPIProjectConversationEntriesResponse struct {
	Entries []OpenAPIProjectConversationEntry `json:"entries"`
}

type OpenAPIProjectConversationEntry

type OpenAPIProjectConversationEntry struct {
	ID             string         `json:"id"`
	ConversationID string         `json:"conversation_id"`
	TurnID         *string        `json:"turn_id,omitempty"`
	Seq            int            `json:"seq"`
	Kind           string         `json:"kind"`
	Payload        map[string]any `json:"payload"`
	CreatedAt      string         `json:"created_at"`
}

type OpenAPIProjectConversationInterruptEnvelope

type OpenAPIProjectConversationInterruptEnvelope struct {
	Interrupt OpenAPIProjectConversationInterruptResponse `json:"interrupt"`
}

type OpenAPIProjectConversationInterruptResponse

type OpenAPIProjectConversationInterruptResponse struct {
	ID                string         `json:"id"`
	ConversationID    string         `json:"conversation_id"`
	TurnID            string         `json:"turn_id"`
	ProviderRequestID string         `json:"provider_request_id"`
	Kind              string         `json:"kind"`
	Payload           map[string]any `json:"payload"`
	Status            string         `json:"status"`
	Decision          *string        `json:"decision,omitempty"`
	ResolvedAt        *string        `json:"resolved_at,omitempty"`
}

type OpenAPIProjectConversationInterruptResponseRequest

type OpenAPIProjectConversationInterruptResponseRequest struct {
	Decision *string        `json:"decision,omitempty"`
	Answer   map[string]any `json:"answer,omitempty"`
}

type OpenAPIProjectConversationListResponse

type OpenAPIProjectConversationListResponse struct {
	Conversations []OpenAPIProjectConversation `json:"conversations"`
}

type OpenAPIProjectConversationResponse

type OpenAPIProjectConversationResponse struct {
	Conversation OpenAPIProjectConversation `json:"conversation"`
}

type OpenAPIProjectConversationTicketActivity

type OpenAPIProjectConversationTicketActivity struct {
	EventType *string `json:"event_type,omitempty"`
	Message   *string `json:"message,omitempty"`
	CreatedAt *string `json:"created_at,omitempty"`
}

type OpenAPIProjectConversationTicketAssignedAgent

type OpenAPIProjectConversationTicketAssignedAgent struct {
	ID                  *string `json:"id,omitempty"`
	Name                *string `json:"name,omitempty"`
	Provider            *string `json:"provider,omitempty"`
	RuntimeControlState *string `json:"runtime_control_state,omitempty"`
	RuntimePhase        *string `json:"runtime_phase,omitempty"`
}

type OpenAPIProjectConversationTicketDependency

type OpenAPIProjectConversationTicketDependency struct {
	Identifier *string `json:"identifier,omitempty"`
	Title      *string `json:"title,omitempty"`
	Relation   *string `json:"relation,omitempty"`
	Status     *string `json:"status,omitempty"`
}

type OpenAPIProjectConversationTicketHook

type OpenAPIProjectConversationTicketHook struct {
	HookName  *string `json:"hook_name,omitempty"`
	Status    *string `json:"status,omitempty"`
	Output    *string `json:"output,omitempty"`
	Timestamp *string `json:"timestamp,omitempty"`
}

type OpenAPIProjectConversationTicketRepoScope

type OpenAPIProjectConversationTicketRepoScope struct {
	RepoID         *string `json:"repo_id,omitempty"`
	RepoName       *string `json:"repo_name,omitempty"`
	BranchName     *string `json:"branch_name,omitempty"`
	PullRequestURL *string `json:"pull_request_url,omitempty"`
}

type OpenAPIProjectConversationTicketRun

type OpenAPIProjectConversationTicketRun struct {
	ID                 *string `json:"id,omitempty"`
	AttemptNumber      *int    `json:"attempt_number,omitempty"`
	Status             *string `json:"status,omitempty"`
	CurrentStepStatus  *string `json:"current_step_status,omitempty"`
	CurrentStepSummary *string `json:"current_step_summary,omitempty"`
	LastError          *string `json:"last_error,omitempty"`
}

type OpenAPIProjectConversationTicketTargetMachine

type OpenAPIProjectConversationTicketTargetMachine struct {
	ID   *string `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
	Host *string `json:"host,omitempty"`
}

type OpenAPIProjectConversationTurn

type OpenAPIProjectConversationTurn struct {
	ID        string `json:"id"`
	TurnIndex int    `json:"turn_index"`
	Status    string `json:"status"`
}

type OpenAPIProjectConversationTurnFocus

type OpenAPIProjectConversationTurnFocus struct {
	Kind                 string                                         `json:"kind"`
	WorkflowID           *string                                        `json:"workflow_id,omitempty"`
	WorkflowName         *string                                        `json:"workflow_name,omitempty"`
	WorkflowType         *string                                        `json:"workflow_type,omitempty"`
	HarnessPath          *string                                        `json:"harness_path,omitempty"`
	IsActive             *bool                                          `json:"is_active,omitempty"`
	SelectedArea         *string                                        `json:"selected_area,omitempty"`
	HasDirtyDraft        *bool                                          `json:"has_dirty_draft,omitempty"`
	SkillID              *string                                        `json:"skill_id,omitempty"`
	SkillName            *string                                        `json:"skill_name,omitempty"`
	SelectedFilePath     *string                                        `json:"selected_file_path,omitempty"`
	BoundWorkflowNames   []string                                       `json:"bound_workflow_names,omitempty"`
	TicketID             *string                                        `json:"ticket_id,omitempty"`
	TicketIdentifier     *string                                        `json:"ticket_identifier,omitempty"`
	TicketTitle          *string                                        `json:"ticket_title,omitempty"`
	TicketDescription    *string                                        `json:"ticket_description,omitempty"`
	TicketStatus         *string                                        `json:"ticket_status,omitempty"`
	TicketPriority       *string                                        `json:"ticket_priority,omitempty"`
	TicketAttemptCount   *int                                           `json:"ticket_attempt_count,omitempty"`
	TicketRetryPaused    *bool                                          `json:"ticket_retry_paused,omitempty"`
	TicketPauseReason    *string                                        `json:"ticket_pause_reason,omitempty"`
	TicketDependencies   []OpenAPIProjectConversationTicketDependency   `json:"ticket_dependencies,omitempty"`
	TicketRepoScopes     []OpenAPIProjectConversationTicketRepoScope    `json:"ticket_repo_scopes,omitempty"`
	TicketRecentActivity []OpenAPIProjectConversationTicketActivity     `json:"ticket_recent_activity,omitempty"`
	TicketHookHistory    []OpenAPIProjectConversationTicketHook         `json:"ticket_hook_history,omitempty"`
	TicketAssignedAgent  *OpenAPIProjectConversationTicketAssignedAgent `json:"ticket_assigned_agent,omitempty"`
	TicketCurrentRun     *OpenAPIProjectConversationTicketRun           `json:"ticket_current_run,omitempty"`
	TicketTargetMachine  *OpenAPIProjectConversationTicketTargetMachine `json:"ticket_target_machine,omitempty"`
	MachineID            *string                                        `json:"machine_id,omitempty"`
	MachineName          *string                                        `json:"machine_name,omitempty"`
	MachineHost          *string                                        `json:"machine_host,omitempty"`
	MachineStatus        *string                                        `json:"machine_status,omitempty"`
	HealthSummary        *string                                        `json:"health_summary,omitempty"`
}

type OpenAPIProjectConversationTurnRequest

type OpenAPIProjectConversationTurnRequest struct {
	Message string                               `json:"message"`
	Focus   *OpenAPIProjectConversationTurnFocus `json:"focus,omitempty"`
}

type OpenAPIProjectConversationTurnResponse

type OpenAPIProjectConversationTurnResponse struct {
	Turn OpenAPIProjectConversationTurn `json:"turn"`
}

type OpenAPIProjectConversationWorkspaceDiff

type OpenAPIProjectConversationWorkspaceDiff struct {
	ConversationID string                                        `json:"conversation_id"`
	WorkspacePath  string                                        `json:"workspace_path"`
	Dirty          bool                                          `json:"dirty"`
	ReposChanged   int                                           `json:"repos_changed"`
	FilesChanged   int                                           `json:"files_changed"`
	Added          int                                           `json:"added"`
	Removed        int                                           `json:"removed"`
	Repos          []OpenAPIProjectConversationWorkspaceDiffRepo `json:"repos"`
}

type OpenAPIProjectConversationWorkspaceDiffFile

type OpenAPIProjectConversationWorkspaceDiffFile struct {
	Path    string `json:"path"`
	Status  string `json:"status"`
	Added   int    `json:"added"`
	Removed int    `json:"removed"`
}

type OpenAPIProjectConversationWorkspaceDiffRepo

type OpenAPIProjectConversationWorkspaceDiffRepo struct {
	Name         string                                        `json:"name"`
	Path         string                                        `json:"path"`
	Branch       string                                        `json:"branch"`
	Dirty        bool                                          `json:"dirty"`
	FilesChanged int                                           `json:"files_changed"`
	Added        int                                           `json:"added"`
	Removed      int                                           `json:"removed"`
	Files        []OpenAPIProjectConversationWorkspaceDiffFile `json:"files"`
}

type OpenAPIProjectConversationWorkspaceDiffResponse

type OpenAPIProjectConversationWorkspaceDiffResponse struct {
	WorkspaceDiff OpenAPIProjectConversationWorkspaceDiff `json:"workspace_diff"`
}

type OpenAPIProjectRepo

type OpenAPIProjectRepo struct {
	ID               string   `json:"id"`
	ProjectID        string   `json:"project_id"`
	Name             string   `json:"name"`
	RepositoryURL    string   `json:"repository_url"`
	DefaultBranch    string   `json:"default_branch"`
	WorkspaceDirname string   `json:"workspace_dirname"`
	Labels           []string `json:"labels,omitempty"`
}

type OpenAPIProjectRepoResponse

type OpenAPIProjectRepoResponse struct {
	Repo OpenAPIProjectRepo `json:"repo"`
}

type OpenAPIProjectReposResponse

type OpenAPIProjectReposResponse struct {
	Repos []OpenAPIProjectRepo `json:"repos"`
}

type OpenAPIProjectResponse

type OpenAPIProjectResponse struct {
	Project OpenAPIProject `json:"project"`
}

type OpenAPIProjectTokenUsageDay

type OpenAPIProjectTokenUsageDay = OpenAPIOrganizationTokenUsageDay

type OpenAPIProjectTokenUsagePeakDay

type OpenAPIProjectTokenUsagePeakDay = OpenAPIOrganizationTokenUsagePeakDay

type OpenAPIProjectTokenUsageResponse

type OpenAPIProjectTokenUsageResponse = OpenAPIOrganizationTokenUsageResponse

type OpenAPIProjectTokenUsageSummary

type OpenAPIProjectTokenUsageSummary = OpenAPIOrganizationTokenUsageSummary

type OpenAPIProjectUpdateComment

type OpenAPIProjectUpdateComment struct {
	ID           string  `json:"id"`
	ThreadID     string  `json:"thread_id"`
	BodyMarkdown string  `json:"body_markdown"`
	CreatedBy    string  `json:"created_by"`
	CreatedAt    string  `json:"created_at"`
	UpdatedAt    string  `json:"updated_at"`
	EditedAt     *string `json:"edited_at,omitempty"`
	EditCount    int     `json:"edit_count"`
	LastEditedBy *string `json:"last_edited_by,omitempty"`
	IsDeleted    bool    `json:"is_deleted"`
	DeletedAt    *string `json:"deleted_at,omitempty"`
	DeletedBy    *string `json:"deleted_by,omitempty"`
}

type OpenAPIProjectUpdateCommentDeleteResponse

type OpenAPIProjectUpdateCommentDeleteResponse struct {
	DeletedCommentID string `json:"deleted_comment_id"`
}

type OpenAPIProjectUpdateCommentResponse

type OpenAPIProjectUpdateCommentResponse struct {
	Comment OpenAPIProjectUpdateComment `json:"comment"`
}

type OpenAPIProjectUpdateCommentRevision

type OpenAPIProjectUpdateCommentRevision struct {
	ID             string  `json:"id"`
	CommentID      string  `json:"comment_id"`
	RevisionNumber int     `json:"revision_number"`
	BodyMarkdown   string  `json:"body_markdown"`
	EditedBy       string  `json:"edited_by"`
	EditedAt       string  `json:"edited_at"`
	EditReason     *string `json:"edit_reason,omitempty"`
}

type OpenAPIProjectUpdateCommentRevisionsResponse

type OpenAPIProjectUpdateCommentRevisionsResponse struct {
	Revisions []OpenAPIProjectUpdateCommentRevision `json:"revisions"`
}

type OpenAPIProjectUpdateThread

type OpenAPIProjectUpdateThread struct {
	ID             string                        `json:"id"`
	ProjectID      string                        `json:"project_id"`
	Status         string                        `json:"status"`
	Title          string                        `json:"title"`
	BodyMarkdown   string                        `json:"body_markdown"`
	CreatedBy      string                        `json:"created_by"`
	CreatedAt      string                        `json:"created_at"`
	UpdatedAt      string                        `json:"updated_at"`
	EditedAt       *string                       `json:"edited_at,omitempty"`
	EditCount      int                           `json:"edit_count"`
	LastEditedBy   *string                       `json:"last_edited_by,omitempty"`
	IsDeleted      bool                          `json:"is_deleted"`
	DeletedAt      *string                       `json:"deleted_at,omitempty"`
	DeletedBy      *string                       `json:"deleted_by,omitempty"`
	LastActivityAt string                        `json:"last_activity_at"`
	CommentCount   int                           `json:"comment_count"`
	Comments       []OpenAPIProjectUpdateComment `json:"comments"`
}

type OpenAPIProjectUpdateThreadDeleteResponse

type OpenAPIProjectUpdateThreadDeleteResponse struct {
	DeletedThreadID string `json:"deleted_thread_id"`
}

type OpenAPIProjectUpdateThreadResponse

type OpenAPIProjectUpdateThreadResponse struct {
	Thread OpenAPIProjectUpdateThread `json:"thread"`
}

type OpenAPIProjectUpdateThreadRevision

type OpenAPIProjectUpdateThreadRevision struct {
	ID             string  `json:"id"`
	ThreadID       string  `json:"thread_id"`
	RevisionNumber int     `json:"revision_number"`
	Status         string  `json:"status"`
	Title          string  `json:"title"`
	BodyMarkdown   string  `json:"body_markdown"`
	EditedBy       string  `json:"edited_by"`
	EditedAt       string  `json:"edited_at"`
	EditReason     *string `json:"edit_reason,omitempty"`
}

type OpenAPIProjectUpdateThreadRevisionsResponse

type OpenAPIProjectUpdateThreadRevisionsResponse struct {
	Revisions []OpenAPIProjectUpdateThreadRevision `json:"revisions"`
}

type OpenAPIProjectUpdateThreadsResponse

type OpenAPIProjectUpdateThreadsResponse struct {
	Threads []OpenAPIProjectUpdateThread `json:"threads"`
}

type OpenAPIProjectsResponse

type OpenAPIProjectsResponse struct {
	Projects []OpenAPIProject `json:"projects"`
}

type OpenAPIReplaceWorkflowReferencesRequest

type OpenAPIReplaceWorkflowReferencesRequest rawReplaceWorkflowReferencesRequest

type OpenAPIRetireWorkflowRequest

type OpenAPIRetireWorkflowRequest rawRetireWorkflowRequest

type OpenAPIRoleBinding

type OpenAPIRoleBinding struct {
	ID          string  `json:"id"`
	ScopeKind   string  `json:"scope_kind"`
	ScopeID     string  `json:"scope_id"`
	SubjectKind string  `json:"subject_kind"`
	SubjectKey  string  `json:"subject_key"`
	RoleKey     string  `json:"role_key"`
	GrantedBy   string  `json:"granted_by"`
	ExpiresAt   *string `json:"expires_at,omitempty"`
	CreatedAt   string  `json:"created_at"`
}

type OpenAPIRoleBindingResponse

type OpenAPIRoleBindingResponse struct {
	RoleBinding OpenAPIRoleBinding `json:"role_binding"`
}

type OpenAPIRoleBindingsResponse

type OpenAPIRoleBindingsResponse struct {
	RoleBindings []OpenAPIRoleBinding `json:"role_bindings"`
}

type OpenAPIRoleResponse

type OpenAPIRoleResponse struct {
	Role OpenAPIBuiltinRole `json:"role"`
}

type OpenAPIRolesResponse

type OpenAPIRolesResponse struct {
	Roles []OpenAPIBuiltinRole `json:"roles"`
}

type OpenAPISaveGitHubOutboundCredentialRequest

type OpenAPISaveGitHubOutboundCredentialRequest rawSaveGitHubOutboundCredentialRequest

type OpenAPIScheduledJob

type OpenAPIScheduledJob struct {
	ID             string                            `json:"id"`
	ProjectID      string                            `json:"project_id"`
	Name           string                            `json:"name"`
	CronExpression string                            `json:"cron_expression"`
	TicketTemplate OpenAPIScheduledJobTicketTemplate `json:"ticket_template"`
	IsEnabled      bool                              `json:"is_enabled"`
	LastRunAt      *string                           `json:"last_run_at,omitempty"`
	NextRunAt      *string                           `json:"next_run_at,omitempty"`
}

type OpenAPIScheduledJobResponse

type OpenAPIScheduledJobResponse struct {
	ScheduledJob OpenAPIScheduledJob `json:"scheduled_job"`
}

type OpenAPIScheduledJobTicketTemplate

type OpenAPIScheduledJobTicketTemplate struct {
	Title       string  `json:"title"`
	Description string  `json:"description"`
	Status      string  `json:"status,omitempty"`
	Priority    string  `json:"priority"`
	Type        string  `json:"type"`
	CreatedBy   string  `json:"created_by"`
	BudgetUSD   float64 `json:"budget_usd,omitempty"`
}

type OpenAPIScheduledJobTriggerResponse

type OpenAPIScheduledJobTriggerResponse struct {
	ScheduledJob OpenAPIScheduledJob `json:"scheduled_job"`
	Ticket       OpenAPITicket       `json:"ticket"`
}

type OpenAPIScheduledJobsResponse

type OpenAPIScheduledJobsResponse struct {
	ScheduledJobs []OpenAPIScheduledJob `json:"scheduled_jobs"`
}

type OpenAPISecurityAgentTokens

type OpenAPISecurityAgentTokens struct {
	Transport              string   `json:"transport"`
	EnvironmentVariable    string   `json:"environment_variable"`
	TokenPrefix            string   `json:"token_prefix"`
	DefaultScopes          []string `json:"default_scopes"`
	SupportedProjectScopes []string `json:"supported_project_scopes"`
}

type OpenAPISecurityApprovalPolicies

type OpenAPISecurityApprovalPolicies struct {
	Status     string `json:"status"`
	RulesCount int    `json:"rules_count"`
	Summary    string `json:"summary"`
}

type OpenAPISecurityDeferredCapability

type OpenAPISecurityDeferredCapability struct {
	Key     string `json:"key"`
	Title   string `json:"title"`
	Summary string `json:"summary"`
}

type OpenAPISecuritySecretHygiene

type OpenAPISecuritySecretHygiene struct {
	NotificationChannelConfigsRedacted bool `json:"notification_channel_configs_redacted"`
}

type OpenAPISecuritySettings

type OpenAPISecuritySettings struct {
	ProjectID        string                              `json:"project_id"`
	AgentTokens      OpenAPISecurityAgentTokens          `json:"agent_tokens"`
	GitHub           OpenAPIGitHubOutboundCredential     `json:"github"`
	Webhooks         OpenAPISecurityWebhooks             `json:"webhooks"`
	SecretHygiene    OpenAPISecuritySecretHygiene        `json:"secret_hygiene"`
	ApprovalPolicies OpenAPISecurityApprovalPolicies     `json:"approval_policies"`
	Deferred         []OpenAPISecurityDeferredCapability `json:"deferred"`
}

type OpenAPISecuritySettingsResponse

type OpenAPISecuritySettingsResponse struct {
	Security OpenAPISecuritySettings `json:"security"`
}

type OpenAPISecurityWebhooks

type OpenAPISecurityWebhooks struct {
	ConnectorEndpoint string `json:"connector_endpoint"`
}

type OpenAPISkill

type OpenAPISkill struct {
	ID             string                        `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      string                        `json:"created_at"`
	BoundWorkflows []OpenAPISkillWorkflowBinding `json:"bound_workflows"`
}

type OpenAPISkillBundleFileRequest

type OpenAPISkillBundleFileRequest rawSkillBundleFileRequest

type OpenAPISkillDetailResponse

type OpenAPISkillDetailResponse struct {
	Skill   OpenAPISkill            `json:"skill"`
	Content string                  `json:"content"`
	Files   []OpenAPISkillFile      `json:"files,omitempty"`
	History []OpenAPIVersionSummary `json:"history"`
}

type OpenAPISkillFile

type OpenAPISkillFile struct {
	Path          string `json:"path"`
	FileKind      string `json:"file_kind"`
	MediaType     string `json:"media_type"`
	Encoding      string `json:"encoding"`
	IsExecutable  bool   `json:"is_executable"`
	SizeBytes     int64  `json:"size_bytes"`
	SHA256        string `json:"sha256"`
	Content       string `json:"content,omitempty"`
	ContentBase64 string `json:"content_base64,omitempty"`
}

type OpenAPISkillFilesResponse

type OpenAPISkillFilesResponse struct {
	Files []OpenAPISkillFile `json:"files"`
}

type OpenAPISkillHistoryResponse

type OpenAPISkillHistoryResponse struct {
	History []OpenAPIVersionSummary `json:"history"`
}

type OpenAPISkillRefinementRequest

type OpenAPISkillRefinementRequest rawSkillRefinementRequest

type OpenAPISkillSyncRequest

type OpenAPISkillSyncRequest rawSkillSyncRequest

type OpenAPISkillWorkflowBinding

type OpenAPISkillWorkflowBinding struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	HarnessPath string `json:"harness_path"`
}

type OpenAPISkillsResponse

type OpenAPISkillsResponse struct {
	Skills []OpenAPISkill `json:"skills"`
}

type OpenAPISystemDashboardResponse

type OpenAPISystemDashboardResponse struct {
	Memory OpenAPISystemMemorySnapshot `json:"memory"`
}

type OpenAPISystemMemorySnapshot

type OpenAPISystemMemorySnapshot struct {
	ObservedAt        string `json:"observed_at"`
	Goroutines        int    `json:"goroutines"`
	AllocBytes        uint64 `json:"alloc_bytes"`
	TotalAllocBytes   uint64 `json:"total_alloc_bytes"`
	SysBytes          uint64 `json:"sys_bytes"`
	HeapAllocBytes    uint64 `json:"heap_alloc_bytes"`
	HeapInuseBytes    uint64 `json:"heap_inuse_bytes"`
	HeapIdleBytes     uint64 `json:"heap_idle_bytes"`
	HeapReleasedBytes uint64 `json:"heap_released_bytes"`
	StackInuseBytes   uint64 `json:"stack_inuse_bytes"`
	NextGCBytes       uint64 `json:"next_gc_bytes"`
	GCCycles          uint32 `json:"gc_cycles"`
}

type OpenAPITicket

type OpenAPITicket struct {
	ID                string                      `json:"id"`
	ProjectID         string                      `json:"project_id"`
	Identifier        string                      `json:"identifier"`
	Title             string                      `json:"title"`
	Description       string                      `json:"description"`
	StatusID          string                      `json:"status_id"`
	StatusName        string                      `json:"status_name"`
	Archived          bool                        `json:"archived"`
	Priority          string                      `json:"priority"`
	Type              string                      `json:"type"`
	WorkflowID        *string                     `json:"workflow_id,omitempty"`
	CurrentRunID      *string                     `json:"current_run_id,omitempty"`
	TargetMachineID   *string                     `json:"target_machine_id,omitempty"`
	CreatedBy         string                      `json:"created_by"`
	Parent            *OpenAPITicketReference     `json:"parent,omitempty"`
	Children          []OpenAPITicketReference    `json:"children"`
	Dependencies      []OpenAPITicketDependency   `json:"dependencies"`
	ExternalLinks     []OpenAPITicketExternalLink `json:"external_links"`
	ExternalRef       string                      `json:"external_ref"`
	BudgetUSD         float64                     `json:"budget_usd"`
	CostTokensInput   int64                       `json:"cost_tokens_input"`
	CostTokensOutput  int64                       `json:"cost_tokens_output"`
	CostAmount        float64                     `json:"cost_amount"`
	AttemptCount      int                         `json:"attempt_count"`
	ConsecutiveErrors int                         `json:"consecutive_errors"`
	StartedAt         *string                     `json:"started_at,omitempty"`
	CompletedAt       *string                     `json:"completed_at,omitempty"`
	NextRetryAt       *string                     `json:"next_retry_at,omitempty"`
	RetryPaused       bool                        `json:"retry_paused"`
	PauseReason       string                      `json:"pause_reason,omitempty"`
	CreatedAt         string                      `json:"created_at"`
}

type OpenAPITicketAssignedAgent

type OpenAPITicketAssignedAgent struct {
	ID                  string  `json:"id"`
	Name                string  `json:"name"`
	Provider            string  `json:"provider"`
	RuntimeControlState string  `json:"runtime_control_state,omitempty"`
	RuntimePhase        *string `json:"runtime_phase,omitempty"`
}

type OpenAPITicketComment

type OpenAPITicketComment struct {
	ID           string  `json:"id"`
	TicketID     string  `json:"ticket_id"`
	Body         string  `json:"body,omitempty"`
	BodyMarkdown string  `json:"body_markdown"`
	CreatedBy    string  `json:"created_by"`
	CreatedAt    string  `json:"created_at"`
	UpdatedAt    *string `json:"updated_at,omitempty"`
	EditedAt     *string `json:"edited_at,omitempty"`
	EditCount    int     `json:"edit_count"`
	LastEditedBy *string `json:"last_edited_by,omitempty"`
	IsDeleted    bool    `json:"is_deleted"`
	DeletedAt    *string `json:"deleted_at,omitempty"`
	DeletedBy    *string `json:"deleted_by,omitempty"`
}

type OpenAPITicketCommentDeleteResponse

type OpenAPITicketCommentDeleteResponse struct {
	DeletedCommentID string `json:"deleted_comment_id"`
}

type OpenAPITicketCommentResponse

type OpenAPITicketCommentResponse struct {
	Comment OpenAPITicketComment `json:"comment"`
}

type OpenAPITicketCommentRevision

type OpenAPITicketCommentRevision struct {
	ID             string  `json:"id"`
	CommentID      string  `json:"comment_id"`
	RevisionNumber int     `json:"revision_number"`
	BodyMarkdown   string  `json:"body_markdown"`
	EditedBy       string  `json:"edited_by"`
	EditedAt       string  `json:"edited_at"`
	EditReason     *string `json:"edit_reason,omitempty"`
}

type OpenAPITicketCommentRevisionsResponse

type OpenAPITicketCommentRevisionsResponse struct {
	Revisions []OpenAPITicketCommentRevision `json:"revisions"`
}

type OpenAPITicketCommentsResponse

type OpenAPITicketCommentsResponse struct {
	Comments []OpenAPITicketComment `json:"comments"`
}

type OpenAPITicketDependency

type OpenAPITicketDependency struct {
	ID     string                 `json:"id"`
	Type   string                 `json:"type"`
	Target OpenAPITicketReference `json:"target"`
}

type OpenAPITicketDependencyDeleteResponse

type OpenAPITicketDependencyDeleteResponse struct {
	DeletedDependencyID string `json:"deleted_dependency_id"`
}

type OpenAPITicketDependencyResponse

type OpenAPITicketDependencyResponse struct {
	Dependency OpenAPITicketDependency `json:"dependency"`
}

type OpenAPITicketDetailResponse

type OpenAPITicketDetailResponse struct {
	AssignedAgent   *OpenAPITicketAssignedAgent    `json:"assigned_agent,omitempty"`
	PickupDiagnosis OpenAPITicketPickupDiagnosis   `json:"pickup_diagnosis"`
	Ticket          OpenAPITicket                  `json:"ticket"`
	RepoScopes      []OpenAPITicketRepoScopeDetail `json:"repo_scopes"`
	Comments        []OpenAPITicketComment         `json:"comments"`
	Timeline        []OpenAPITicketTimelineItem    `json:"timeline"`
	Activity        []OpenAPIActivityEvent         `json:"activity"`
	HookHistory     []OpenAPIActivityEvent         `json:"hook_history"`
}
type OpenAPITicketExternalLink struct {
	ID         string `json:"id"`
	Type       string `json:"type"`
	URL        string `json:"url"`
	ExternalID string `json:"external_id"`
	Title      string `json:"title,omitempty"`
	Status     string `json:"status,omitempty"`
	Relation   string `json:"relation"`
	CreatedAt  string `json:"created_at"`
}

type OpenAPITicketExternalLinkResponse

type OpenAPITicketExternalLinkResponse struct {
	ExternalLink OpenAPITicketExternalLink `json:"external_link"`
}

type OpenAPITicketPickupDiagnosis

type OpenAPITicketPickupDiagnosis struct {
	State                string                                      `json:"state"`
	PrimaryReasonCode    string                                      `json:"primary_reason_code"`
	PrimaryReasonMessage string                                      `json:"primary_reason_message"`
	NextActionHint       string                                      `json:"next_action_hint,omitempty"`
	Reasons              []OpenAPITicketPickupDiagnosisReason        `json:"reasons"`
	Workflow             *OpenAPITicketPickupDiagnosisWorkflow       `json:"workflow,omitempty"`
	Agent                *OpenAPITicketPickupDiagnosisAgent          `json:"agent,omitempty"`
	Provider             *OpenAPITicketPickupDiagnosisProvider       `json:"provider,omitempty"`
	Retry                OpenAPITicketPickupDiagnosisRetry           `json:"retry"`
	Capacity             OpenAPITicketPickupDiagnosisCapacity        `json:"capacity"`
	BlockedBy            []OpenAPITicketPickupDiagnosisBlockedTicket `json:"blocked_by"`
}

type OpenAPITicketPickupDiagnosisAgent

type OpenAPITicketPickupDiagnosisAgent struct {
	ID                  string `json:"id"`
	Name                string `json:"name"`
	RuntimeControlState string `json:"runtime_control_state"`
}

type OpenAPITicketPickupDiagnosisBlockedTicket

type OpenAPITicketPickupDiagnosisBlockedTicket struct {
	ID         string `json:"id"`
	Identifier string `json:"identifier"`
	Title      string `json:"title"`
	StatusID   string `json:"status_id"`
	StatusName string `json:"status_name"`
}

type OpenAPITicketPickupDiagnosisCapacity

type OpenAPITicketPickupDiagnosisCapacity struct {
	Workflow OpenAPITicketPickupDiagnosisCapacityBucket `json:"workflow"`
	Project  OpenAPITicketPickupDiagnosisCapacityBucket `json:"project"`
	Provider OpenAPITicketPickupDiagnosisCapacityBucket `json:"provider"`
	Status   OpenAPITicketPickupDiagnosisStatusCapacity `json:"status"`
}

type OpenAPITicketPickupDiagnosisCapacityBucket

type OpenAPITicketPickupDiagnosisCapacityBucket struct {
	Limited    bool `json:"limited"`
	ActiveRuns int  `json:"active_runs"`
	Capacity   int  `json:"capacity"`
}

type OpenAPITicketPickupDiagnosisProvider

type OpenAPITicketPickupDiagnosisProvider struct {
	ID                 string  `json:"id"`
	Name               string  `json:"name"`
	MachineID          string  `json:"machine_id"`
	MachineName        string  `json:"machine_name"`
	MachineStatus      string  `json:"machine_status"`
	AvailabilityState  string  `json:"availability_state"`
	AvailabilityReason *string `json:"availability_reason,omitempty"`
}

type OpenAPITicketPickupDiagnosisReason

type OpenAPITicketPickupDiagnosisReason struct {
	Code     string `json:"code"`
	Message  string `json:"message"`
	Severity string `json:"severity"`
}

type OpenAPITicketPickupDiagnosisRetry

type OpenAPITicketPickupDiagnosisRetry struct {
	AttemptCount int     `json:"attempt_count"`
	RetryPaused  bool    `json:"retry_paused"`
	PauseReason  string  `json:"pause_reason,omitempty"`
	NextRetryAt  *string `json:"next_retry_at,omitempty"`
}

type OpenAPITicketPickupDiagnosisStatusCapacity

type OpenAPITicketPickupDiagnosisStatusCapacity struct {
	Limited    bool `json:"limited"`
	ActiveRuns int  `json:"active_runs"`
	Capacity   *int `json:"capacity"`
}

type OpenAPITicketPickupDiagnosisWorkflow

type OpenAPITicketPickupDiagnosisWorkflow struct {
	ID                string `json:"id"`
	Name              string `json:"name"`
	IsActive          bool   `json:"is_active"`
	PickupStatusMatch bool   `json:"pickup_status_match"`
}

type OpenAPITicketReference

type OpenAPITicketReference struct {
	ID         string `json:"id"`
	Identifier string `json:"identifier"`
	Title      string `json:"title"`
	StatusID   string `json:"status_id"`
	StatusName string `json:"status_name"`
}

type OpenAPITicketRepoScope

type OpenAPITicketRepoScope struct {
	ID             string  `json:"id"`
	TicketID       string  `json:"ticket_id"`
	RepoID         string  `json:"repo_id"`
	BranchName     string  `json:"branch_name"`
	PullRequestURL *string `json:"pull_request_url,omitempty"`
}

type OpenAPITicketRepoScopeDetail

type OpenAPITicketRepoScopeDetail struct {
	ID                  string              `json:"id"`
	TicketID            string              `json:"ticket_id"`
	RepoID              string              `json:"repo_id"`
	Repo                *OpenAPIProjectRepo `json:"repo,omitempty"`
	BranchName          string              `json:"branch_name"`
	DefaultBranch       string              `json:"default_branch"`
	EffectiveBranchName string              `json:"effective_branch_name"`
	BranchSource        string              `json:"branch_source"`
	PullRequestURL      *string             `json:"pull_request_url,omitempty"`
}

type OpenAPITicketRepoScopeResponse

type OpenAPITicketRepoScopeResponse struct {
	RepoScope OpenAPITicketRepoScope `json:"repo_scope"`
}

type OpenAPITicketRepoScopesResponse

type OpenAPITicketRepoScopesResponse struct {
	RepoScopes []OpenAPITicketRepoScope `json:"repo_scopes"`
}

type OpenAPITicketResponse

type OpenAPITicketResponse struct {
	Ticket OpenAPITicket `json:"ticket"`
}

type OpenAPITicketRun

type OpenAPITicketRun struct {
	ID                 string                             `json:"id"`
	AttemptNumber      int                                `json:"attempt_number"`
	AgentID            string                             `json:"agent_id"`
	AgentName          string                             `json:"agent_name"`
	Provider           string                             `json:"provider"`
	Status             string                             `json:"status"`
	CurrentStepStatus  *string                            `json:"current_step_status,omitempty"`
	CurrentStepSummary *string                            `json:"current_step_summary,omitempty"`
	CreatedAt          string                             `json:"created_at"`
	RuntimeStartedAt   *string                            `json:"runtime_started_at,omitempty"`
	LastHeartbeatAt    *string                            `json:"last_heartbeat_at,omitempty"`
	TerminalAt         *string                            `json:"terminal_at,omitempty"`
	CompletedAt        *string                            `json:"completed_at,omitempty"`
	LastError          *string                            `json:"last_error,omitempty"`
	CompletionSummary  *OpenAPITicketRunCompletionSummary `json:"completion_summary,omitempty"`
}

type OpenAPITicketRunCompletionSummary

type OpenAPITicketRunCompletionSummary struct {
	Status      string         `json:"status"`
	Markdown    *string        `json:"markdown,omitempty"`
	JSON        map[string]any `json:"json,omitempty"`
	GeneratedAt *string        `json:"generated_at,omitempty"`
	Error       *string        `json:"error,omitempty"`
}

type OpenAPITicketRunResponse

type OpenAPITicketRunResponse struct {
	Run          OpenAPITicketRun             `json:"run"`
	TraceEntries []OpenAPITicketRunTraceEntry `json:"trace_entries"`
	StepEntries  []OpenAPITicketRunStepEntry  `json:"step_entries"`
}

type OpenAPITicketRunStepEntry

type OpenAPITicketRunStepEntry struct {
	ID                 string  `json:"id"`
	AgentRunID         string  `json:"agent_run_id"`
	StepStatus         string  `json:"step_status"`
	Summary            string  `json:"summary"`
	SourceTraceEventID *string `json:"source_trace_event_id,omitempty"`
	CreatedAt          string  `json:"created_at"`
}

type OpenAPITicketRunTraceEntry

type OpenAPITicketRunTraceEntry struct {
	ID         string         `json:"id"`
	AgentRunID string         `json:"agent_run_id"`
	Sequence   int64          `json:"sequence"`
	Provider   string         `json:"provider"`
	Kind       string         `json:"kind"`
	Stream     string         `json:"stream"`
	Output     string         `json:"output"`
	Payload    map[string]any `json:"payload"`
	CreatedAt  string         `json:"created_at"`
}

type OpenAPITicketRunsResponse

type OpenAPITicketRunsResponse struct {
	Runs []OpenAPITicketRun `json:"runs"`
}

type OpenAPITicketStatus

type OpenAPITicketStatus struct {
	ID            string `json:"id"`
	ProjectID     string `json:"project_id"`
	Name          string `json:"name"`
	Stage         string `json:"stage"`
	Color         string `json:"color"`
	Icon          string `json:"icon"`
	Position      int    `json:"position"`
	ActiveRuns    int    `json:"active_runs"`
	MaxActiveRuns *int   `json:"max_active_runs,omitempty"`
	IsDefault     bool   `json:"is_default"`
	Description   string `json:"description"`
}

type OpenAPITicketStatusDeleteResponse

type OpenAPITicketStatusDeleteResponse struct {
	DeletedStatusID     string `json:"deleted_status_id"`
	ReplacementStatusID string `json:"replacement_status_id"`
}

type OpenAPITicketStatusResponse

type OpenAPITicketStatusResponse struct {
	Status OpenAPITicketStatus `json:"status"`
}

type OpenAPITicketStatusesResponse

type OpenAPITicketStatusesResponse struct {
	Statuses []OpenAPITicketStatus `json:"statuses"`
}

type OpenAPITicketTimelineItem

type OpenAPITicketTimelineItem struct {
	ID            string         `json:"id"`
	TicketID      string         `json:"ticket_id"`
	ItemType      string         `json:"item_type"`
	ActorName     string         `json:"actor_name"`
	ActorType     string         `json:"actor_type"`
	Title         *string        `json:"title,omitempty"`
	BodyMarkdown  *string        `json:"body_markdown,omitempty"`
	BodyText      *string        `json:"body_text,omitempty"`
	CreatedAt     string         `json:"created_at"`
	UpdatedAt     string         `json:"updated_at"`
	EditedAt      *string        `json:"edited_at,omitempty"`
	IsCollapsible bool           `json:"is_collapsible"`
	IsDeleted     bool           `json:"is_deleted"`
	Metadata      map[string]any `json:"metadata"`
}

type OpenAPITicketWorkspaceResetResponse

type OpenAPITicketWorkspaceResetResponse struct {
	Reset bool `json:"reset"`
}

type OpenAPITicketsResponse

type OpenAPITicketsResponse struct {
	Tickets []OpenAPITicket `json:"tickets"`
}

type OpenAPIUpdateAgentProviderRequest

type OpenAPIUpdateAgentProviderRequest agentProviderPatchRequest

type OpenAPIUpdateAgentRequest

type OpenAPIUpdateAgentRequest agentPatchRequest

type OpenAPIUpdateHarnessRequest

type OpenAPIUpdateHarnessRequest rawUpdateHarnessRequest

type OpenAPIUpdateMachineRequest

type OpenAPIUpdateMachineRequest machinePatchRequest

type OpenAPIUpdateNotificationChannelRequest

type OpenAPIUpdateNotificationChannelRequest notificationdomain.ChannelPatchInput

type OpenAPIUpdateNotificationRuleRequest

type OpenAPIUpdateNotificationRuleRequest notificationdomain.RulePatchInput

type OpenAPIUpdateOrganizationRequest

type OpenAPIUpdateOrganizationRequest organizationPatchRequest

type OpenAPIUpdateProjectRepoRequest

type OpenAPIUpdateProjectRepoRequest projectRepoPatchRequest

type OpenAPIUpdateProjectRequest

type OpenAPIUpdateProjectRequest projectPatchRequest

type OpenAPIUpdateProjectUpdateCommentRequest

type OpenAPIUpdateProjectUpdateCommentRequest rawUpdateProjectUpdateCommentRequest

type OpenAPIUpdateProjectUpdateThreadRequest

type OpenAPIUpdateProjectUpdateThreadRequest rawUpdateProjectUpdateThreadRequest

type OpenAPIUpdateScheduledJobRequest

type OpenAPIUpdateScheduledJobRequest rawUpdateScheduledJobRequest

type OpenAPIUpdateSkillBindingsRequest

type OpenAPIUpdateSkillBindingsRequest rawUpdateSkillBindingsRequest

type OpenAPIUpdateSkillRequest

type OpenAPIUpdateSkillRequest rawUpdateSkillRequest

type OpenAPIUpdateTicketCommentRequest

type OpenAPIUpdateTicketCommentRequest rawUpdateTicketCommentRequest

type OpenAPIUpdateTicketRepoScopeRequest

type OpenAPIUpdateTicketRepoScopeRequest ticketRepoScopePatchRequest

type OpenAPIUpdateTicketRequest

type OpenAPIUpdateTicketRequest rawUpdateTicketRequest

type OpenAPIUpdateTicketStatusRequest

type OpenAPIUpdateTicketStatusRequest struct {
	Name          *string `json:"name"`
	Stage         *string `json:"stage"`
	Color         *string `json:"color"`
	Icon          *string `json:"icon"`
	Position      *int    `json:"position"`
	MaxActiveRuns *int    `json:"max_active_runs"`
	IsDefault     *bool   `json:"is_default"`
	Description   *string `json:"description"`
}

type OpenAPIUpdateWorkflowRequest

type OpenAPIUpdateWorkflowRequest rawUpdateWorkflowRequest

type OpenAPIUpdateWorkflowSkillsRequest

type OpenAPIUpdateWorkflowSkillsRequest rawUpdateWorkflowSkillsRequest

type OpenAPIValidateHarnessRequest

type OpenAPIValidateHarnessRequest rawValidateHarnessRequest

type OpenAPIValidationIssue

type OpenAPIValidationIssue struct {
	Level   string `json:"level"`
	Message string `json:"message"`
	Line    int    `json:"line,omitempty"`
	Column  int    `json:"column,omitempty"`
}

type OpenAPIVersionSummary

type OpenAPIVersionSummary struct {
	ID        string `json:"id"`
	Version   int    `json:"version"`
	CreatedBy string `json:"created_by"`
	CreatedAt string `json:"created_at"`
}

type OpenAPIWorkflow

type OpenAPIWorkflow struct {
	ID                  string                        `json:"id"`
	ProjectID           string                        `json:"project_id"`
	AgentID             *string                       `json:"agent_id,omitempty"`
	Name                string                        `json:"name"`
	Type                string                        `json:"type"`
	WorkflowFamily      string                        `json:"workflow_family"`
	Classification      OpenAPIWorkflowClassification `json:"workflow_classification"`
	HarnessPath         string                        `json:"harness_path"`
	HarnessContent      *string                       `json:"harness_content,omitempty"`
	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     []string                      `json:"pickup_status_ids"`
	FinishStatusIDs     []string                      `json:"finish_status_ids"`
}

type OpenAPIWorkflowClassification

type OpenAPIWorkflowClassification struct {
	Family     string   `json:"family"`
	Confidence float64  `json:"confidence"`
	Reasons    []string `json:"reasons"`
}

type OpenAPIWorkflowHistoryResponse

type OpenAPIWorkflowHistoryResponse struct {
	History []OpenAPIVersionSummary `json:"history"`
}

type OpenAPIWorkflowImpactAnalysis

type OpenAPIWorkflowImpactAnalysis workflowdomain.WorkflowImpactAnalysis

type OpenAPIWorkflowImpactResponse

type OpenAPIWorkflowImpactResponse struct {
	Impact OpenAPIWorkflowImpactAnalysis `json:"impact"`
}

type OpenAPIWorkflowImpactSummary

type OpenAPIWorkflowImpactSummary workflowdomain.WorkflowImpactSummary

type OpenAPIWorkflowReplaceReferencesResponse

type OpenAPIWorkflowReplaceReferencesResponse struct {
	Result OpenAPIWorkflowReplaceReferencesResult `json:"result"`
}

type OpenAPIWorkflowReplaceReferencesResult

type OpenAPIWorkflowReplaceReferencesResult struct {
	WorkflowID            string                                 `json:"workflow_id"`
	ReplacementWorkflowID string                                 `json:"replacement_workflow_id"`
	TicketCount           int                                    `json:"ticket_count"`
	ScheduledJobCount     int                                    `json:"scheduled_job_count"`
	Tickets               []OpenAPIWorkflowTicketReference       `json:"tickets"`
	ScheduledJobs         []OpenAPIWorkflowScheduledJobReference `json:"scheduled_jobs"`
}

type OpenAPIWorkflowResponse

type OpenAPIWorkflowResponse struct {
	Workflow OpenAPIWorkflow `json:"workflow"`
}

type OpenAPIWorkflowTicketReference

type OpenAPIWorkflowTicketReference workflowdomain.WorkflowTicketReference

type OpenAPIWorkflowsResponse

type OpenAPIWorkflowsResponse struct {
	Workflows []OpenAPIWorkflow `json:"workflows"`
}

type OpenAPIWorkspaceDashboardMetrics

type OpenAPIWorkspaceDashboardMetrics struct {
	OrganizationCount int     `json:"organization_count"`
	ProjectCount      int     `json:"project_count"`
	ProviderCount     int     `json:"provider_count"`
	RunningAgents     int     `json:"running_agents"`
	ActiveTickets     int     `json:"active_tickets"`
	TodayCost         float64 `json:"today_cost"`
	TotalTokens       int64   `json:"total_tokens"`
}

type OpenAPIWorkspaceOrganizationSummary

type OpenAPIWorkspaceOrganizationSummary struct {
	OrganizationID string  `json:"organization_id"`
	Name           string  `json:"name"`
	Slug           string  `json:"slug"`
	ProjectCount   int     `json:"project_count"`
	ProviderCount  int     `json:"provider_count"`
	RunningAgents  int     `json:"running_agents"`
	ActiveTickets  int     `json:"active_tickets"`
	TodayCost      float64 `json:"today_cost"`
	TotalTokens    int64   `json:"total_tokens"`
}

type OpenAPIWorkspaceSummaryResponse

type OpenAPIWorkspaceSummaryResponse struct {
	Workspace     OpenAPIWorkspaceDashboardMetrics      `json:"workspace"`
	Organizations []OpenAPIWorkspaceOrganizationSummary `json:"organizations"`
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(
	cfg config.ServerConfig,
	github config.GitHubConfig,
	logger *slog.Logger,
	events provider.EventProvider,
	ticketService *ticketservice.Service,
	ticketStatusService *ticketstatus.Service,
	agentPlatform *agentplatform.Service,
	catalog catalogservice.Service,
	workflowService *workflowservice.Service,
	opts ...ServerOption,
) *Server

func (*Server) Handler

func (s *Server) Handler() http.Handler

func (*Server) Run

func (s *Server) Run(ctx context.Context) error

type ServerOption

type ServerOption func(*Server)

func WithChatService

func WithChatService(service *chatservice.Service) ServerOption

func WithGitHubAuthService

func WithGitHubAuthService(service githubauthservice.SecurityManager) ServerOption

func WithGitHubRepoService

func WithGitHubRepoService(service githubreposervice.Service) ServerOption

func WithHumanAuthConfig

func WithHumanAuthConfig(cfg config.AuthConfig) ServerOption

func WithHumanAuthService

func WithHumanAuthService(service *humanauthservice.Service, authorizer *humanauthservice.Authorizer) ServerOption

func WithMetricsHandler

func WithMetricsHandler(handler http.Handler) ServerOption

func WithMetricsProvider

func WithMetricsProvider(metrics provider.MetricsProvider) ServerOption

func WithNotificationService

func WithNotificationService(service *notificationservice.Service) ServerOption

func WithProjectConversationService

func WithProjectConversationService(service *chatservice.ProjectConversationService) ServerOption

func WithProjectUpdateService

func WithProjectUpdateService(service *projectupdateservice.Service) ServerOption

func WithScheduledJobService

func WithScheduledJobService(service *scheduledjobservice.Service) ServerOption

func WithSkillRefinementService

func WithSkillRefinementService(service *chatservice.SkillRefinementService) ServerOption

func WithTicketWorkspaceResetter

func WithTicketWorkspaceResetter(service ticketWorkspaceResetter) ServerOption

func WithTraceProvider

func WithTraceProvider(trace provider.TraceProvider) ServerOption

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL