httpapi

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2026 License: Apache-2.0 Imports: 65 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 OpenAPIAcceptOrganizationInvitationRequest added in v0.3.0

type OpenAPIAcceptOrganizationInvitationRequest acceptOrganizationInvitationRequest

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"`
	NextCursor string                 `json:"next_cursor,omitempty"`
	HasMore    bool                   `json:"has_more"`
}

type OpenAPIAddTicketDependencyRequest

type OpenAPIAddTicketDependencyRequest rawAddDependencyRequest

type OpenAPIAdminAuthModeTransitionResponse added in v0.3.0

type OpenAPIAdminAuthModeTransitionResponse struct {
	Transition OpenAPISecurityOIDCActivation `json:"transition"`
	Auth       OpenAPISecurityAuthSettings   `json:"auth"`
}

type OpenAPIAdminAuthResponse added in v0.3.0

type OpenAPIAdminAuthResponse struct {
	Auth OpenAPISecurityAuthSettings `json:"auth"`
}

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"`
	SecretBindings        []catalogdomain.AgentProviderSecretBinding `json:"secret_bindings"`
	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"`
}

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 OpenAPIAuthAuditEvent added in v0.3.0

type OpenAPIAuthAuditEvent struct {
	ID        string         `json:"id"`
	EventType string         `json:"event_type"`
	ActorID   string         `json:"actor_id,omitempty"`
	SessionID string         `json:"session_id,omitempty"`
	Message   string         `json:"message"`
	Metadata  map[string]any `json:"metadata,omitempty"`
	CreatedAt string         `json:"created_at"`
}

type OpenAPIAuthPermissionsResponse

type OpenAPIAuthPermissionsResponse struct {
	AuthMode                   string                        `json:"auth_mode"`
	LoginRequired              bool                          `json:"login_required"`
	Authenticated              bool                          `json:"authenticated"`
	PrincipalKind              string                        `json:"principal_kind"`
	AvailableAuthMethods       []string                      `json:"available_auth_methods,omitempty"`
	CurrentAuthMethod          string                        `json:"current_auth_method,omitempty"`
	AuthConfigured             bool                          `json:"auth_configured"`
	SessionGovernanceAvailable bool                          `json:"session_governance_available"`
	CanManageAuth              bool                          `json:"can_manage_auth"`
	User                       *OpenAPIAuthSessionUser       `json:"user,omitempty"`
	Scope                      OpenAPIHumanScope             `json:"scope"`
	Roles                      []string                      `json:"roles"`
	Permissions                []string                      `json:"permissions"`
	Groups                     []OpenAPIHumanGroupMembership `json:"groups"`
}

type OpenAPIAuthRevokeSessionsResponse added in v0.3.0

type OpenAPIAuthRevokeSessionsResponse struct {
	RevokedCount          int    `json:"revoked_count"`
	UserID                string `json:"user_id,omitempty"`
	CurrentSessionRevoked bool   `json:"current_session_revoked,omitempty"`
}

type OpenAPIAuthSessionDevice added in v0.3.0

type OpenAPIAuthSessionDevice struct {
	Kind    string `json:"kind"`
	OS      string `json:"os,omitempty"`
	Browser string `json:"browser,omitempty"`
	Label   string `json:"label"`
}

type OpenAPIAuthSessionResponse

type OpenAPIAuthSessionResponse struct {
	AuthMode                   string                  `json:"auth_mode"`
	LoginRequired              bool                    `json:"login_required"`
	Authenticated              bool                    `json:"authenticated"`
	PrincipalKind              string                  `json:"principal_kind"`
	AvailableAuthMethods       []string                `json:"available_auth_methods,omitempty"`
	CurrentAuthMethod          string                  `json:"current_auth_method,omitempty"`
	AuthConfigured             bool                    `json:"auth_configured"`
	SessionGovernanceAvailable bool                    `json:"session_governance_available"`
	CanManageAuth              bool                    `json:"can_manage_auth"`
	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 OpenAPIAuthSessionsResponse added in v0.3.0

type OpenAPIAuthSessionsResponse struct {
	AuthMode         string                      `json:"auth_mode"`
	CurrentSessionID string                      `json:"current_session_id,omitempty"`
	Sessions         []OpenAPIManagedAuthSession `json:"sessions"`
	AuditEvents      []OpenAPIAuthAuditEvent     `json:"audit_events"`
	StepUp           OpenAPIAuthStepUpCapability `json:"step_up"`
}

type OpenAPIAuthStepUpCapability added in v0.3.0

type OpenAPIAuthStepUpCapability struct {
	Status           string   `json:"status"`
	Summary          string   `json:"summary"`
	SupportedMethods []string `json:"supported_methods"`
}

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 OpenAPICreateScopedSecretBindingRequest added in v0.3.0

type OpenAPICreateScopedSecretBindingRequest rawCreateScopedSecretBindingRequest

type OpenAPICreateScopedSecretRequest added in v0.3.0

type OpenAPICreateScopedSecretRequest rawCreateScopedSecretRequest

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 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"`
	Login       string   `json:"login,omitempty"`
	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 OpenAPIInviteOrganizationMemberRequest added in v0.3.0

type OpenAPIInviteOrganizationMemberRequest inviteOrganizationMemberRequest

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"`
	ReachabilityMode      string                          `json:"reachability_mode"`
	ExecutionMode         string                          `json:"execution_mode"`
	ExecutionCapabilities []string                        `json:"execution_capabilities,omitempty"`
	SSHHelperEnabled      bool                            `json:"ssh_helper_enabled"`
	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 OpenAPIManagedAuthSession added in v0.3.0

type OpenAPIManagedAuthSession struct {
	ID            string                   `json:"id"`
	Current       bool                     `json:"current"`
	Device        OpenAPIAuthSessionDevice `json:"device"`
	IPSummary     string                   `json:"ip_summary,omitempty"`
	CreatedAt     string                   `json:"created_at"`
	LastActiveAt  string                   `json:"last_active_at"`
	ExpiresAt     string                   `json:"expires_at"`
	IdleExpiresAt string                   `json:"idle_expires_at"`
}

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"`
	Group           string `json:"group"`
	Level           string `json:"level"`
	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 OpenAPIOrganizationInvitation added in v0.3.0

type OpenAPIOrganizationInvitation struct {
	ID         string  `json:"id"`
	Status     string  `json:"status"`
	Email      string  `json:"email"`
	Role       string  `json:"role"`
	InvitedBy  string  `json:"invited_by"`
	SentAt     string  `json:"sent_at"`
	ExpiresAt  string  `json:"expires_at"`
	AcceptedAt *string `json:"accepted_at,omitempty"`
	CanceledAt *string `json:"canceled_at,omitempty"`
}

type OpenAPIOrganizationInvitationMutationResponse added in v0.3.0

type OpenAPIOrganizationInvitationMutationResponse struct {
	Membership  OpenAPIOrganizationMembership `json:"membership"`
	Invitation  OpenAPIOrganizationInvitation `json:"invitation"`
	AcceptToken string                        `json:"accept_token"`
}

type OpenAPIOrganizationMembership added in v0.3.0

type OpenAPIOrganizationMembership struct {
	ID               string                             `json:"id"`
	OrganizationID   string                             `json:"organization_id"`
	UserID           *string                            `json:"user_id,omitempty"`
	Email            string                             `json:"email"`
	Role             string                             `json:"role"`
	Status           string                             `json:"status"`
	InvitedBy        string                             `json:"invited_by"`
	InvitedAt        string                             `json:"invited_at"`
	AcceptedAt       *string                            `json:"accepted_at,omitempty"`
	SuspendedAt      *string                            `json:"suspended_at,omitempty"`
	RemovedAt        *string                            `json:"removed_at,omitempty"`
	CreatedAt        string                             `json:"created_at"`
	UpdatedAt        string                             `json:"updated_at"`
	User             *OpenAPIOrganizationMembershipUser `json:"user,omitempty"`
	ActiveInvitation *OpenAPIOrganizationInvitation     `json:"active_invitation,omitempty"`
}

type OpenAPIOrganizationMembershipResponse added in v0.3.0

type OpenAPIOrganizationMembershipResponse struct {
	Membership OpenAPIOrganizationMembership `json:"membership"`
}

type OpenAPIOrganizationMembershipUser added in v0.3.0

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

type OpenAPIOrganizationMembershipsResponse added in v0.3.0

type OpenAPIOrganizationMembershipsResponse struct {
	Memberships []OpenAPIOrganizationMembership `json:"memberships"`
}

type OpenAPIOrganizationOwnershipTransferResponse added in v0.3.0

type OpenAPIOrganizationOwnershipTransferResponse struct {
	Memberships []OpenAPIOrganizationMembership `json:"memberships"`
}

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"`
	ProjectAIPlatformAccessAllowed []string                  `json:"project_ai_platform_access_allowed"`
	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"`
	ProjectAIRetention             OpenAPIProjectAIRetention `json:"project_ai_retention"`
}

type OpenAPIProjectAIRetention added in v0.4.0

type OpenAPIProjectAIRetention struct {
	Enabled        bool `json:"enabled"`
	KeepLatestN    int  `json:"keep_latest_n"`
	KeepRecentDays int  `json:"keep_recent_days"`
}

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"`
	Title          string `json:"title"`
	RollingSummary string `json:"rolling_summary"`
	LastActivityAt string `json:"last_activity_at"`
	CreatedAt      string `json:"created_at"`
	UpdatedAt      string `json:"updated_at"`
}

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 OpenAPIProjectConversationTerminalSession added in v0.4.0

type OpenAPIProjectConversationTerminalSession struct {
	ID             string  `json:"id"`
	Mode           string  `json:"mode"`
	CWD            string  `json:"cwd"`
	WSPath         string  `json:"ws_path"`
	AttachToken    string  `json:"attach_token"`
	CreatedAt      string  `json:"created_at"`
	LastAttachedAt *string `json:"last_attached_at,omitempty"`
}

type OpenAPIProjectConversationTerminalSessionRequest added in v0.4.0

type OpenAPIProjectConversationTerminalSessionRequest struct {
	Mode     string  `json:"mode"`
	RepoPath *string `json:"repo_path,omitempty"`
	CWDPath  *string `json:"cwd_path,omitempty"`
	Cols     *int    `json:"cols,omitempty"`
	Rows     *int    `json:"rows,omitempty"`
}

type OpenAPIProjectConversationTerminalSessionResponse added in v0.4.0

type OpenAPIProjectConversationTerminalSessionResponse struct {
	TerminalSession OpenAPIProjectConversationTerminalSession `json:"terminal_session"`
}

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"`
	Conversation OpenAPIProjectConversation     `json:"conversation"`
}

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"`
	SyncPrompt     *OpenAPIProjectConversationWorkspaceSyncPrompt `json:"sync_prompt,omitempty"`
}

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 OpenAPIProjectConversationWorkspaceFilePatch added in v0.4.0

type OpenAPIProjectConversationWorkspaceFilePatch struct {
	ConversationID string `json:"conversation_id"`
	RepoPath       string `json:"repo_path"`
	Path           string `json:"path"`
	Status         string `json:"status"`
	DiffKind       string `json:"diff_kind"`
	Truncated      bool   `json:"truncated"`
	Diff           string `json:"diff"`
}

type OpenAPIProjectConversationWorkspaceFilePatchResponse added in v0.4.0

type OpenAPIProjectConversationWorkspaceFilePatchResponse struct {
	FilePatch OpenAPIProjectConversationWorkspaceFilePatch `json:"file_patch"`
}

type OpenAPIProjectConversationWorkspaceFilePreview added in v0.4.0

type OpenAPIProjectConversationWorkspaceFilePreview struct {
	ConversationID string `json:"conversation_id"`
	RepoPath       string `json:"repo_path"`
	Path           string `json:"path"`
	SizeBytes      int64  `json:"size_bytes"`
	MediaType      string `json:"media_type"`
	PreviewKind    string `json:"preview_kind"`
	Truncated      bool   `json:"truncated"`
	Content        string `json:"content"`
}

type OpenAPIProjectConversationWorkspaceFilePreviewResponse added in v0.4.0

type OpenAPIProjectConversationWorkspaceFilePreviewResponse struct {
	FilePreview OpenAPIProjectConversationWorkspaceFilePreview `json:"file_preview"`
}

type OpenAPIProjectConversationWorkspaceMetadata added in v0.4.0

type OpenAPIProjectConversationWorkspaceMetadata struct {
	ConversationID string                                            `json:"conversation_id"`
	Available      bool                                              `json:"available"`
	WorkspacePath  string                                            `json:"workspace_path"`
	Repos          []OpenAPIProjectConversationWorkspaceRepoMetadata `json:"repos"`
	SyncPrompt     *OpenAPIProjectConversationWorkspaceSyncPrompt    `json:"sync_prompt,omitempty"`
}

type OpenAPIProjectConversationWorkspaceMetadataResponse added in v0.4.0

type OpenAPIProjectConversationWorkspaceMetadataResponse struct {
	Workspace OpenAPIProjectConversationWorkspaceMetadata `json:"workspace"`
}

type OpenAPIProjectConversationWorkspaceMissingRepo added in v0.4.0

type OpenAPIProjectConversationWorkspaceMissingRepo struct {
	Name string `json:"name"`
	Path string `json:"path"`
}

type OpenAPIProjectConversationWorkspaceRepoMetadata added in v0.4.0

type OpenAPIProjectConversationWorkspaceRepoMetadata struct {
	Name         string `json:"name"`
	Path         string `json:"path"`
	Branch       string `json:"branch"`
	HeadCommit   string `json:"head_commit"`
	HeadSummary  string `json:"head_summary"`
	Dirty        bool   `json:"dirty"`
	FilesChanged int    `json:"files_changed"`
	Added        int    `json:"added"`
	Removed      int    `json:"removed"`
}

type OpenAPIProjectConversationWorkspaceSyncPrompt added in v0.4.0

type OpenAPIProjectConversationWorkspaceSyncPrompt struct {
	Reason       string                                           `json:"reason"`
	MissingRepos []OpenAPIProjectConversationWorkspaceMissingRepo `json:"missing_repos"`
}

type OpenAPIProjectConversationWorkspaceTree added in v0.4.0

type OpenAPIProjectConversationWorkspaceTree struct {
	ConversationID string                                         `json:"conversation_id"`
	RepoPath       string                                         `json:"repo_path"`
	Path           string                                         `json:"path"`
	Entries        []OpenAPIProjectConversationWorkspaceTreeEntry `json:"entries"`
}

type OpenAPIProjectConversationWorkspaceTreeEntry added in v0.4.0

type OpenAPIProjectConversationWorkspaceTreeEntry struct {
	Path      string `json:"path"`
	Name      string `json:"name"`
	Kind      string `json:"kind"`
	SizeBytes int64  `json:"size_bytes"`
}

type OpenAPIProjectConversationWorkspaceTreeResponse added in v0.4.0

type OpenAPIProjectConversationWorkspaceTreeResponse struct {
	WorkspaceTree OpenAPIProjectConversationWorkspaceTree `json:"workspace_tree"`
}

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"`
	NextCursor string                       `json:"next_cursor,omitempty"`
	HasMore    bool                         `json:"has_more"`
}

type OpenAPIProjectsResponse

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

type OpenAPIReplaceWorkflowReferencesRequest

type OpenAPIReplaceWorkflowReferencesRequest rawReplaceWorkflowReferencesRequest

type OpenAPIResolveScopedSecretsRequest added in v0.3.0

type OpenAPIResolveScopedSecretsRequest rawResolveScopedSecretsRequest

type OpenAPIResolveScopedSecretsResponse added in v0.3.0

type OpenAPIResolveScopedSecretsResponse struct {
	Resolved    []OpenAPIResolvedRuntimeSecret `json:"resolved"`
	MissingKeys []string                       `json:"missing_keys"`
}

type OpenAPIResolvedRuntimeSecret added in v0.3.0

type OpenAPIResolvedRuntimeSecret struct {
	BindingKey   string `json:"binding_key"`
	BindingScope string `json:"binding_scope"`
	SecretID     string `json:"secret_id"`
	SecretName   string `json:"secret_name"`
	SecretScope  string `json:"secret_scope"`
	SecretKind   string `json:"secret_kind"`
	Value        string `json:"value"`
}

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 OpenAPIRotateScopedSecretRequest added in v0.3.0

type OpenAPIRotateScopedSecretRequest rawRotateScopedSecretRequest

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 OpenAPIScopedSecret added in v0.3.0

type OpenAPIScopedSecret struct {
	ID             string                        `json:"id"`
	OrganizationID string                        `json:"organization_id"`
	ProjectID      *string                       `json:"project_id,omitempty"`
	Scope          string                        `json:"scope"`
	Name           string                        `json:"name"`
	Kind           string                        `json:"kind"`
	Description    string                        `json:"description"`
	Disabled       bool                          `json:"disabled"`
	DisabledAt     *string                       `json:"disabled_at,omitempty"`
	CreatedAt      string                        `json:"created_at"`
	UpdatedAt      string                        `json:"updated_at"`
	UsageCount     int                           `json:"usage_count"`
	UsageScopes    []string                      `json:"usage_scopes,omitempty"`
	Encryption     OpenAPIScopedSecretEncryption `json:"encryption"`
}

type OpenAPIScopedSecretBinding added in v0.3.0

type OpenAPIScopedSecretBinding struct {
	ID              string                           `json:"id"`
	OrganizationID  string                           `json:"organization_id"`
	ProjectID       string                           `json:"project_id"`
	SecretID        string                           `json:"secret_id"`
	Scope           string                           `json:"scope"`
	ScopeResourceID string                           `json:"scope_resource_id"`
	BindingKey      string                           `json:"binding_key"`
	CreatedAt       string                           `json:"created_at"`
	UpdatedAt       string                           `json:"updated_at"`
	Secret          OpenAPIScopedSecretBindingSecret `json:"secret"`
	Target          OpenAPIScopedSecretBindingTarget `json:"target"`
}

type OpenAPIScopedSecretBindingResponse added in v0.3.0

type OpenAPIScopedSecretBindingResponse struct {
	Binding OpenAPIScopedSecretBinding `json:"binding"`
}

type OpenAPIScopedSecretBindingSecret added in v0.3.0

type OpenAPIScopedSecretBindingSecret struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Scope       string  `json:"scope"`
	Kind        string  `json:"kind"`
	Description string  `json:"description"`
	ProjectID   *string `json:"project_id,omitempty"`
	Disabled    bool    `json:"disabled"`
}

type OpenAPIScopedSecretBindingTarget added in v0.3.0

type OpenAPIScopedSecretBindingTarget struct {
	ID         string `json:"id"`
	Scope      string `json:"scope"`
	Name       string `json:"name"`
	Identifier string `json:"identifier,omitempty"`
}

type OpenAPIScopedSecretBindingsResponse added in v0.3.0

type OpenAPIScopedSecretBindingsResponse struct {
	Bindings []OpenAPIScopedSecretBinding `json:"bindings"`
}

type OpenAPIScopedSecretEncryption added in v0.3.0

type OpenAPIScopedSecretEncryption struct {
	Algorithm    string `json:"algorithm"`
	KeySource    string `json:"key_source"`
	KeyID        string `json:"key_id"`
	ValuePreview string `json:"value_preview"`
	RotatedAt    string `json:"rotated_at"`
}

type OpenAPIScopedSecretResponse added in v0.3.0

type OpenAPIScopedSecretResponse struct {
	Secret OpenAPIScopedSecret `json:"secret"`
}

type OpenAPIScopedSecretsResponse added in v0.3.0

type OpenAPIScopedSecretsResponse struct {
	Secrets []OpenAPIScopedSecret `json:"secrets"`
}

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"`
	SupportedScopeGroups   []OpenAPISecurityScopeGroup `json:"supported_scope_groups"`
}

type OpenAPISecurityApprovalPolicies

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

type OpenAPISecurityAuthBootstrapState added in v0.3.0

type OpenAPISecurityAuthBootstrapState struct {
	Status      string   `json:"status"`
	AdminEmails []string `json:"admin_emails"`
	Summary     string   `json:"summary"`
}

type OpenAPISecurityAuthSessionPolicy added in v0.3.0

type OpenAPISecurityAuthSessionPolicy struct {
	SessionTTL     string `json:"session_ttl"`
	SessionIdleTTL string `json:"session_idle_ttl"`
}

type OpenAPISecurityAuthSettings added in v0.3.0

type OpenAPISecurityAuthSettings struct {
	ActiveMode         string                                   `json:"active_mode"`
	ConfiguredMode     string                                   `json:"configured_mode"`
	IssuerURL          string                                   `json:"issuer_url,omitempty"`
	LocalPrincipal     string                                   `json:"local_principal"`
	ModeSummary        string                                   `json:"mode_summary"`
	RecommendedMode    string                                   `json:"recommended_mode"`
	PublicExposureRisk string                                   `json:"public_exposure_risk"`
	Warnings           []string                                 `json:"warnings"`
	NextSteps          []string                                 `json:"next_steps"`
	ConfigPath         string                                   `json:"config_path,omitempty"`
	BootstrapState     OpenAPISecurityAuthBootstrapState        `json:"bootstrap_state"`
	SessionPolicy      OpenAPISecurityAuthSessionPolicy         `json:"session_policy"`
	LastValidation     OpenAPISecurityAuthValidationDiagnostics `json:"last_validation"`
	OIDCDraft          OpenAPISecurityOIDCDraft                 `json:"oidc_draft"`
	Docs               []OpenAPISecurityDocumentationLink       `json:"docs"`
}

type OpenAPISecurityAuthValidationDiagnostics added in v0.3.0

type OpenAPISecurityAuthValidationDiagnostics struct {
	Status                string   `json:"status"`
	Message               string   `json:"message"`
	CheckedAt             *string  `json:"checked_at,omitempty"`
	IssuerURL             string   `json:"issuer_url,omitempty"`
	AuthorizationEndpoint string   `json:"authorization_endpoint,omitempty"`
	TokenEndpoint         string   `json:"token_endpoint,omitempty"`
	RedirectURL           string   `json:"redirect_url,omitempty"`
	Warnings              []string `json:"warnings"`
}

type OpenAPISecurityDeferredCapability

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

type OpenAPISecurityOIDCActivation added in v0.3.0

type OpenAPISecurityOIDCActivation struct {
	Status          string   `json:"status"`
	Message         string   `json:"message"`
	RestartRequired bool     `json:"restart_required"`
	NextSteps       []string `json:"next_steps"`
}

type OpenAPISecurityOIDCDraft added in v0.3.0

type OpenAPISecurityOIDCDraft struct {
	IssuerURL              string   `json:"issuer_url"`
	ClientID               string   `json:"client_id"`
	ClientSecretConfigured bool     `json:"client_secret_configured"`
	RedirectMode           string   `json:"redirect_mode"`
	FixedRedirectURL       string   `json:"fixed_redirect_url"`
	Scopes                 []string `json:"scopes"`
	AllowedEmailDomains    []string `json:"allowed_email_domains"`
	BootstrapAdminEmails   []string `json:"bootstrap_admin_emails"`
}

type OpenAPISecurityOIDCDraftRequest added in v0.3.0

type OpenAPISecurityOIDCDraftRequest rawSecurityOIDCDraftRequest

type OpenAPISecurityOIDCEnableResponse added in v0.3.0

type OpenAPISecurityOIDCEnableResponse struct {
	Activation OpenAPISecurityOIDCActivation `json:"activation"`
	Security   OpenAPISecuritySettings       `json:"security"`
}

type OpenAPISecurityOIDCTestResponse added in v0.3.0

type OpenAPISecurityOIDCTestResponse struct {
	Status                string   `json:"status"`
	Message               string   `json:"message"`
	IssuerURL             string   `json:"issuer_url"`
	AuthorizationEndpoint string   `json:"authorization_endpoint"`
	TokenEndpoint         string   `json:"token_endpoint"`
	RedirectURL           string   `json:"redirect_url"`
	Warnings              []string `json:"warnings"`
}

type OpenAPISecurityScopeGroup added in v0.3.0

type OpenAPISecurityScopeGroup struct {
	Category string   `json:"category"`
	Scopes   []string `json:"scopes"`
}

type OpenAPISecuritySecretHygiene

type OpenAPISecuritySecretHygiene struct {
	NotificationChannelConfigsRedacted bool                                        `json:"notification_channel_configs_redacted"`
	MachineEnvVarsRedacted             bool                                        `json:"machine_env_vars_redacted"`
	RuntimeSecretResponsesRedacted     bool                                        `json:"runtime_secret_responses_redacted"`
	LegacyProvidersRequiringMigration  int                                         `json:"legacy_providers_requiring_migration"`
	LegacyProviderInlineSecretBindings int                                         `json:"legacy_provider_inline_secret_bindings"`
	LegacyMachinesRequiringMigration   int                                         `json:"legacy_machines_requiring_migration"`
	LegacyMachineSecretEnvVars         int                                         `json:"legacy_machine_secret_env_vars"`
	RolloutChecklist                   []OpenAPISecuritySecretRolloutChecklistItem `json:"rollout_checklist"`
}

type OpenAPISecuritySecretRolloutChecklistItem added in v0.3.0

type OpenAPISecuritySecretRolloutChecklistItem struct {
	Key     string `json:"key"`
	Title   string `json:"title"`
	Status  string `json:"status"`
	Summary string `json:"summary"`
}

type OpenAPISecuritySettings

type OpenAPISecuritySettings struct {
	ProjectID        string                              `json:"project_id"`
	Auth             OpenAPISecurityAuthSettings         `json:"auth"`
	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 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"`
	PullRequestURLs   []string                    `json:"pull_request_urls"`
	ExternalRef       string                      `json:"external_ref"`
	BudgetUSD         float64                     `json:"budget_usd"`
	CostTokensInput   int64                       `json:"cost_tokens_input"`
	CostTokensOutput  int64                       `json:"cost_tokens_output"`
	CostTokensTotal   int64                       `json:"cost_tokens_total"`
	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,omitempty"`
	URL        string `json:"url"`
	ExternalID string `json:"external_id"`
	Title      string `json:"title,omitempty"`
	Status     string `json:"status,omitempty"`
	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"`
	AdapterType        string                             `json:"adapter_type"`
	ModelName          string                             `json:"model_name"`
	Usage              OpenAPITicketRunUsage              `json:"usage"`
	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"`
	TranscriptPage OpenAPITicketRunTranscriptPage `json:"transcript_page"`
	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 OpenAPITicketRunTranscriptItem added in v0.2.0

type OpenAPITicketRunTranscriptItem struct {
	Kind       string                      `json:"kind"`
	Cursor     string                      `json:"cursor"`
	TraceEntry *OpenAPITicketRunTraceEntry `json:"trace_entry,omitempty"`
	StepEntry  *OpenAPITicketRunStepEntry  `json:"step_entry,omitempty"`
}

type OpenAPITicketRunTranscriptPage added in v0.2.0

type OpenAPITicketRunTranscriptPage struct {
	Items            []OpenAPITicketRunTranscriptItem `json:"items"`
	HasOlder         bool                             `json:"has_older"`
	HiddenOlderCount int                              `json:"hidden_older_count"`
	HasNewer         bool                             `json:"has_newer"`
	HiddenNewerCount int                              `json:"hidden_newer_count"`
	OldestCursor     string                           `json:"oldest_cursor,omitempty"`
	NewestCursor     string                           `json:"newest_cursor,omitempty"`
}

type OpenAPITicketRunUsage added in v0.2.0

type OpenAPITicketRunUsage struct {
	Total         int64 `json:"total"`
	Input         int64 `json:"input"`
	Output        int64 `json:"output"`
	CachedInput   int64 `json:"cached_input"`
	CacheCreation int64 `json:"cache_creation"`
	Reasoning     int64 `json:"reasoning"`
	Prompt        int64 `json:"prompt"`
	Candidate     int64 `json:"candidate"`
	Tool          int64 `json:"tool"`
}

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 OpenAPITransferOrganizationOwnershipRequest added in v0.3.0

type OpenAPITransferOrganizationOwnershipRequest transferOrganizationOwnershipRequest

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 OpenAPIUpdateOrganizationMembershipRequest added in v0.3.0

type OpenAPIUpdateOrganizationMembershipRequest updateOrganizationMembershipRequest

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 OpenAPIUpdateScopedSecretRequest added in v0.3.0

type OpenAPIUpdateScopedSecretRequest rawPatchScopedSecretRequest

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 OpenAPIUserDirectoryDetailResponse added in v0.3.0

type OpenAPIUserDirectoryDetailResponse struct {
	User               OpenAPIUserDirectoryEntry    `json:"user"`
	Identities         []OpenAPIUserIdentityDetail  `json:"identities"`
	Groups             []OpenAPIUserGroupMembership `json:"groups"`
	ActiveSessions     []OpenAPIManagedAuthSession  `json:"active_sessions"`
	ActiveSessionCount int                          `json:"active_session_count"`
	LatestStatusAudit  *OpenAPIUserStatusAudit      `json:"latest_status_audit,omitempty"`
	RecentAuditEvents  []OpenAPIAuthAuditEvent      `json:"recent_audit_events"`
}

type OpenAPIUserDirectoryEntry added in v0.3.0

type OpenAPIUserDirectoryEntry struct {
	ID              string                      `json:"id"`
	Status          string                      `json:"status"`
	PrimaryEmail    string                      `json:"primary_email"`
	DisplayName     string                      `json:"display_name"`
	AvatarURL       string                      `json:"avatar_url,omitempty"`
	LastLoginAt     *string                     `json:"last_login_at,omitempty"`
	CreatedAt       string                      `json:"created_at"`
	UpdatedAt       string                      `json:"updated_at"`
	PrimaryIdentity *OpenAPIUserIdentitySummary `json:"primary_identity,omitempty"`
}

type OpenAPIUserDirectoryListResponse added in v0.3.0

type OpenAPIUserDirectoryListResponse struct {
	Users []OpenAPIUserDirectoryEntry `json:"users"`
}

type OpenAPIUserGroupMembership added in v0.3.0

type OpenAPIUserGroupMembership struct {
	ID           string `json:"id"`
	Issuer       string `json:"issuer"`
	GroupKey     string `json:"group_key"`
	GroupName    string `json:"group_name"`
	LastSyncedAt string `json:"last_synced_at"`
}

type OpenAPIUserIdentityDetail added in v0.3.0

type OpenAPIUserIdentityDetail struct {
	ID            string `json:"id"`
	Issuer        string `json:"issuer"`
	Subject       string `json:"subject"`
	Email         string `json:"email"`
	EmailVerified bool   `json:"email_verified"`
	ClaimsVersion int    `json:"claims_version"`
	RawClaimsJSON string `json:"raw_claims_json"`
	LastSyncedAt  string `json:"last_synced_at"`
	CreatedAt     string `json:"created_at"`
	UpdatedAt     string `json:"updated_at"`
}

type OpenAPIUserIdentitySummary added in v0.3.0

type OpenAPIUserIdentitySummary struct {
	ID            string `json:"id"`
	Issuer        string `json:"issuer"`
	Subject       string `json:"subject"`
	Email         string `json:"email"`
	EmailVerified bool   `json:"email_verified"`
	LastSyncedAt  string `json:"last_synced_at"`
}

type OpenAPIUserStatusAudit added in v0.3.0

type OpenAPIUserStatusAudit struct {
	Status              string `json:"status"`
	Reason              string `json:"reason"`
	Source              string `json:"source"`
	ActorID             string `json:"actor_id"`
	ChangedAt           string `json:"changed_at"`
	RevokedSessionCount int    `json:"revoked_session_count"`
}

type OpenAPIUserStatusTransitionRequest added in v0.3.0

type OpenAPIUserStatusTransitionRequest rawUserStatusTransitionRequest

type OpenAPIUserStatusTransitionResponse added in v0.3.0

type OpenAPIUserStatusTransitionResponse struct {
	User                OpenAPIUserDirectoryEntry `json:"user"`
	Changed             bool                      `json:"changed"`
	RevokedSessionCount int                       `json:"revoked_session_count"`
	LatestStatusAudit   *OpenAPIUserStatusAudit   `json:"latest_status_audit,omitempty"`
}

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 WithConversationTerminalService added in v0.4.0

func WithConversationTerminalService(service *chatservice.ConversationTerminalService) ServerOption

func WithGitHubAuthService

func WithGitHubAuthService(service githubauthservice.SecurityManager) ServerOption

func WithGitHubRepoService

func WithGitHubRepoService(service githubreposervice.Service) ServerOption

func WithHomeDir added in v0.3.0

func WithHomeDir(path string) ServerOption

func WithHumanAuthConfig

func WithHumanAuthConfig(cfg config.AuthConfig) ServerOption

func WithHumanAuthService

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

func WithInstanceAuthService added in v0.3.0

func WithInstanceAuthService(service *accesscontrolservice.Service) 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 WithReverseRuntimeRelay added in v0.2.0

func WithReverseRuntimeRelay(relay *machinetransport.ReverseRuntimeRelayRegistry) ServerOption

func WithRuntimeConfigFile added in v0.3.0

func WithRuntimeConfigFile(path string) ServerOption

func WithScheduledJobService

func WithScheduledJobService(service *scheduledjobservice.Service) ServerOption

func WithSecretService added in v0.3.0

func WithSecretService(service secretsservice.Manager) 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