httpapi

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2026 License: Apache-2.0 Imports: 70 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)

func HasAgentPlatformRoute added in v0.5.0

func HasAgentPlatformRoute(method string, humanPath string) bool

HasAgentPlatformRoute reports whether the canonical human API operation has an /api/v1/platform counterpart.

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"`
	Reasoning     OpenAPIAgentProviderReasoningCapability `json:"reasoning,omitempty"`
}

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"`
	Reasoning     *OpenAPIAgentProviderModelReasoningCapability `json:"reasoning,omitempty"`
}

type OpenAPIAgentProviderModelReasoningCapability added in v0.5.0

type OpenAPIAgentProviderModelReasoningCapability struct {
	State                  string   `json:"state"`
	Reason                 *string  `json:"reason,omitempty"`
	SupportedEfforts       []string `json:"supported_efforts,omitempty"`
	DefaultEffort          *string  `json:"default_effort,omitempty"`
	SupportsProviderPreset bool     `json:"supports_provider_preset,omitempty"`
	SupportsModelOverride  bool     `json:"supports_model_override,omitempty"`
}

type OpenAPIAgentProviderReasoningCapability added in v0.5.0

type OpenAPIAgentProviderReasoningCapability struct {
	State                  string   `json:"state"`
	Reason                 *string  `json:"reason,omitempty"`
	SupportedEfforts       []string `json:"supported_efforts,omitempty"`
	DefaultEffort          *string  `json:"default_effort,omitempty"`
	SelectedEffort         *string  `json:"selected_effort,omitempty"`
	EffectiveEffort        *string  `json:"effective_effort,omitempty"`
	SupportsProviderPreset bool     `json:"supports_provider_preset,omitempty"`
	SupportsModelOverride  bool     `json:"supports_model_override,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"`
	AgentCLIPaths         map[string]string               `json:"agent_cli_paths,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 OpenAPIMachineSSHBootstrapRequest added in v0.7.0

type OpenAPIMachineSSHBootstrapRequest struct {
	Topology            string `json:"topology,omitempty"`
	ListenerAddress     string `json:"listener_address,omitempty"`
	ListenerPath        string `json:"listener_path,omitempty"`
	ListenerBearerToken string `json:"listener_bearer_token,omitempty"`
	ControlPlaneURL     string `json:"control_plane_url,omitempty"`
	TokenTTLSeconds     int    `json:"token_ttl_seconds,omitempty"`
}

type OpenAPIMachineSSHBootstrapResponse added in v0.7.0

type OpenAPIMachineSSHBootstrapResponse struct {
	Result OpenAPIMachineSSHBootstrapResult `json:"result"`
}

type OpenAPIMachineSSHBootstrapResult added in v0.7.0

type OpenAPIMachineSSHBootstrapResult struct {
	MachineID        string   `json:"machine_id"`
	MachineName      string   `json:"machine_name"`
	Topology         string   `json:"topology"`
	ServiceManager   string   `json:"service_manager"`
	ServiceName      string   `json:"service_name"`
	ServiceStatus    string   `json:"service_status"`
	ConnectionTarget string   `json:"connection_target"`
	RemoteHome       string   `json:"remote_home"`
	RemoteBinaryPath string   `json:"remote_binary_path"`
	EnvironmentFile  string   `json:"environment_file"`
	ServiceFile      string   `json:"service_file"`
	TokenID          string   `json:"token_id,omitempty"`
	Commands         []string `json:"commands"`
	RetryAdvice      []string `json:"retry_advice,omitempty"`
	RollbackAdvice   []string `json:"rollback_advice,omitempty"`
	Summary          string   `json:"summary"`
}

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"`
	ConversationID       *string                                        `json:"conversation_id,omitempty"`
	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"`
	WorkspaceRepoPath    *string                                        `json:"workspace_repo_path,omitempty"`
	WorkspaceFilePath    *string                                        `json:"workspace_file_path,omitempty"`
}

type OpenAPIProjectConversationTurnRequest

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

type OpenAPIProjectConversationTurnResponse

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

type OpenAPIProjectConversationWorkspaceBranchRef added in v0.5.0

type OpenAPIProjectConversationWorkspaceBranchRef struct {
	Name                     string `json:"name"`
	FullName                 string `json:"full_name"`
	Scope                    string `json:"scope"`
	Current                  bool   `json:"current"`
	CommitID                 string `json:"commit_id"`
	ShortCommitID            string `json:"short_commit_id"`
	Subject                  string `json:"subject"`
	UpstreamName             string `json:"upstream_name"`
	Ahead                    int    `json:"ahead"`
	Behind                   int    `json:"behind"`
	SuggestedLocalBranchName string `json:"suggested_local_branch_name"`
}

type OpenAPIProjectConversationWorkspaceCheckout added in v0.5.0

type OpenAPIProjectConversationWorkspaceCheckout struct {
	ConversationID     string                                        `json:"conversation_id"`
	RepoPath           string                                        `json:"repo_path"`
	CurrentRef         OpenAPIProjectConversationWorkspaceCurrentRef `json:"current_ref"`
	CreatedLocalBranch string                                        `json:"created_local_branch"`
}

type OpenAPIProjectConversationWorkspaceCheckoutRequest added in v0.5.0

type OpenAPIProjectConversationWorkspaceCheckoutRequest struct {
	RepoPath               string `json:"repo_path"`
	TargetKind             string `json:"target_kind"`
	TargetName             string `json:"target_name"`
	CreateTrackingBranch   bool   `json:"create_tracking_branch"`
	LocalBranchName        string `json:"local_branch_name"`
	ExpectedCleanWorkspace bool   `json:"expected_clean_workspace"`
}

type OpenAPIProjectConversationWorkspaceCheckoutResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceCheckoutResponse struct {
	Checkout OpenAPIProjectConversationWorkspaceCheckout `json:"checkout"`
}

type OpenAPIProjectConversationWorkspaceCurrentRef added in v0.5.0

type OpenAPIProjectConversationWorkspaceCurrentRef struct {
	Kind           string `json:"kind"`
	DisplayName    string `json:"display_name"`
	CacheKey       string `json:"cache_key"`
	BranchName     string `json:"branch_name"`
	BranchFullName string `json:"branch_full_name"`
	CommitID       string `json:"commit_id"`
	ShortCommitID  string `json:"short_commit_id"`
	Subject        string `json:"subject"`
}

type OpenAPIProjectConversationWorkspaceDiff

type OpenAPIProjectConversationWorkspaceDiff struct {
	ConversationID string                                         `json:"conversation_id"`
	WorkspacePath  string                                         `json:"workspace_path"`
	Preparing      bool                                           `json:"preparing"`
	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"`
	OldPath  string `json:"old_path,omitempty"`
	Status   string `json:"status"`
	Staged   bool   `json:"staged"`
	Unstaged bool   `json:"unstaged"`
	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 OpenAPIProjectConversationWorkspaceFileCreateRequest added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileCreateRequest struct {
	RepoPath string `json:"repo_path"`
	Path     string `json:"path"`
}

type OpenAPIProjectConversationWorkspaceFileDeleteRequest added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileDeleteRequest struct {
	RepoPath string `json:"repo_path"`
	Path     string `json:"path"`
}

type OpenAPIProjectConversationWorkspaceFileDeleted added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileDeleted struct {
	ConversationID string `json:"conversation_id"`
	RepoPath       string `json:"repo_path"`
	Path           string `json:"path"`
}

type OpenAPIProjectConversationWorkspaceFileDeletedResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileDeletedResponse struct {
	File OpenAPIProjectConversationWorkspaceFileDeleted `json:"file"`
}

type OpenAPIProjectConversationWorkspaceFileDraft added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileDraft struct {
	RepoPath   string `json:"repo_path"`
	Path       string `json:"path"`
	Content    string `json:"content"`
	Encoding   string `json:"encoding"`
	LineEnding string `json:"line_ending"`
}

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"`
	Revision       string `json:"revision"`
	Writable       bool   `json:"writable"`
	ReadOnlyReason string `json:"read_only_reason"`
	Encoding       string `json:"encoding"`
	LineEnding     string `json:"line_ending"`
}

type OpenAPIProjectConversationWorkspaceFilePreviewResponse added in v0.4.0

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

type OpenAPIProjectConversationWorkspaceFileRenameRequest added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileRenameRequest struct {
	RepoPath string `json:"repo_path"`
	FromPath string `json:"from_path"`
	ToPath   string `json:"to_path"`
}

type OpenAPIProjectConversationWorkspaceFileRenamed added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileRenamed struct {
	ConversationID string `json:"conversation_id"`
	RepoPath       string `json:"repo_path"`
	FromPath       string `json:"from_path"`
	ToPath         string `json:"to_path"`
}

type OpenAPIProjectConversationWorkspaceFileRenamedResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileRenamedResponse struct {
	File OpenAPIProjectConversationWorkspaceFileRenamed `json:"file"`
}

type OpenAPIProjectConversationWorkspaceFileSaveRequest added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileSaveRequest struct {
	RepoPath     string `json:"repo_path"`
	Path         string `json:"path"`
	BaseRevision string `json:"base_revision"`
	Content      string `json:"content"`
	Encoding     string `json:"encoding"`
	LineEnding   string `json:"line_ending"`
}

type OpenAPIProjectConversationWorkspaceFileSaved added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileSaved struct {
	ConversationID string `json:"conversation_id"`
	RepoPath       string `json:"repo_path"`
	Path           string `json:"path"`
	Revision       string `json:"revision"`
	SizeBytes      int64  `json:"size_bytes"`
	Encoding       string `json:"encoding"`
	LineEnding     string `json:"line_ending"`
}

type OpenAPIProjectConversationWorkspaceFileSavedResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceFileSavedResponse struct {
	File OpenAPIProjectConversationWorkspaceFileSaved `json:"file"`
}

type OpenAPIProjectConversationWorkspaceGitGraph added in v0.5.0

type OpenAPIProjectConversationWorkspaceGitGraph struct {
	ConversationID string                                              `json:"conversation_id"`
	RepoPath       string                                              `json:"repo_path"`
	Limit          int                                                 `json:"limit"`
	Commits        []OpenAPIProjectConversationWorkspaceGitGraphCommit `json:"commits"`
}

type OpenAPIProjectConversationWorkspaceGitGraphCommit added in v0.5.0

type OpenAPIProjectConversationWorkspaceGitGraphCommit struct {
	CommitID      string                                           `json:"commit_id"`
	ShortCommitID string                                           `json:"short_commit_id"`
	ParentIDs     []string                                         `json:"parent_ids"`
	Subject       string                                           `json:"subject"`
	AuthorName    string                                           `json:"author_name"`
	AuthoredAt    string                                           `json:"authored_at"`
	Labels        []OpenAPIProjectConversationWorkspaceGitRefLabel `json:"labels"`
	Head          bool                                             `json:"head"`
}

type OpenAPIProjectConversationWorkspaceGitGraphResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceGitGraphResponse struct {
	GitGraph OpenAPIProjectConversationWorkspaceGitGraph `json:"git_graph"`
}

type OpenAPIProjectConversationWorkspaceGitRefLabel added in v0.5.0

type OpenAPIProjectConversationWorkspaceGitRefLabel struct {
	Name     string `json:"name"`
	FullName string `json:"full_name"`
	Scope    string `json:"scope"`
	Current  bool   `json:"current"`
}

type OpenAPIProjectConversationWorkspaceMetadata added in v0.4.0

type OpenAPIProjectConversationWorkspaceMetadata struct {
	ConversationID string                                            `json:"conversation_id"`
	Available      bool                                              `json:"available"`
	WorkspacePath  string                                            `json:"workspace_path"`
	Preparing      bool                                              `json:"preparing"`
	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"`
	CurrentRef   OpenAPIProjectConversationWorkspaceCurrentRef `json:"current_ref"`
	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 OpenAPIProjectConversationWorkspaceRepoRefs added in v0.5.0

type OpenAPIProjectConversationWorkspaceRepoRefs struct {
	ConversationID string                                         `json:"conversation_id"`
	RepoPath       string                                         `json:"repo_path"`
	CurrentRef     OpenAPIProjectConversationWorkspaceCurrentRef  `json:"current_ref"`
	LocalBranches  []OpenAPIProjectConversationWorkspaceBranchRef `json:"local_branches"`
	RemoteBranches []OpenAPIProjectConversationWorkspaceBranchRef `json:"remote_branches"`
}

type OpenAPIProjectConversationWorkspaceRepoRefsResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceRepoRefsResponse struct {
	RepoRefs OpenAPIProjectConversationWorkspaceRepoRefs `json:"repo_refs"`
}

type OpenAPIProjectConversationWorkspaceSearch added in v0.5.0

type OpenAPIProjectConversationWorkspaceSearch struct {
	ConversationID string                                            `json:"conversation_id"`
	RepoPath       string                                            `json:"repo_path"`
	Query          string                                            `json:"query"`
	Truncated      bool                                              `json:"truncated"`
	Results        []OpenAPIProjectConversationWorkspaceSearchResult `json:"results"`
}

type OpenAPIProjectConversationWorkspaceSearchResponse added in v0.5.0

type OpenAPIProjectConversationWorkspaceSearchResponse struct {
	WorkspaceSearch OpenAPIProjectConversationWorkspaceSearch `json:"workspace_search"`
}

type OpenAPIProjectConversationWorkspaceSearchResult added in v0.5.0

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

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"`
	RepoScopes  []OpenAPIScheduledJobTicketTemplateRef `json:"repo_scopes,omitempty"`
}

type OpenAPIScheduledJobTicketTemplateRef added in v0.5.0

type OpenAPIScheduledJobTicketTemplateRef struct {
	RepoID     string  `json:"repo_id"`
	BranchName *string `json:"branch_name,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 OpenAPITicketRunActivitiesResponse added in v0.5.0

type OpenAPITicketRunActivitiesResponse struct {
	Activities []OpenAPITicketRunActivity `json:"activities"`
}

type OpenAPITicketRunActivity added in v0.5.0

type OpenAPITicketRunActivity struct {
	ID                 string         `json:"id"`
	Provider           string         `json:"provider"`
	ActivityKind       string         `json:"activity_kind"`
	ActivityID         string         `json:"activity_id"`
	IDSource           string         `json:"id_source"`
	IdentityConfidence string         `json:"identity_confidence"`
	ParentActivityID   *string        `json:"parent_activity_id,omitempty"`
	ThreadID           *string        `json:"thread_id,omitempty"`
	TurnID             *string        `json:"turn_id,omitempty"`
	Command            *string        `json:"command,omitempty"`
	ToolName           *string        `json:"tool_name,omitempty"`
	Title              *string        `json:"title,omitempty"`
	Status             string         `json:"status"`
	LiveText           *string        `json:"live_text,omitempty"`
	FinalText          *string        `json:"final_text,omitempty"`
	LiveTextBytes      int            `json:"live_text_bytes"`
	FinalTextBytes     int            `json:"final_text_bytes"`
	Metadata           map[string]any `json:"metadata"`
	StartedAt          *string        `json:"started_at,omitempty"`
	UpdatedAt          string         `json:"updated_at"`
	CompletedAt        *string        `json:"completed_at,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 OpenAPITicketRunRawEvent added in v0.5.0

type OpenAPITicketRunRawEvent struct {
	ID                   string         `json:"id"`
	Provider             string         `json:"provider"`
	ProviderEventKind    string         `json:"provider_event_kind"`
	ProviderEventSubtype string         `json:"provider_event_subtype"`
	ProviderEventID      *string        `json:"provider_event_id,omitempty"`
	ThreadID             *string        `json:"thread_id,omitempty"`
	TurnID               *string        `json:"turn_id,omitempty"`
	ActivityHintID       *string        `json:"activity_hint_id,omitempty"`
	OccurredAt           string         `json:"occurred_at"`
	Payload              map[string]any `json:"payload"`
	TextExcerpt          string         `json:"text_excerpt"`
}

type OpenAPITicketRunRawEventPage added in v0.5.0

type OpenAPITicketRunRawEventPage struct {
	Entries          []OpenAPITicketRunRawEvent `json:"entries"`
	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 OpenAPITicketRunRawEventsResponse added in v0.5.0

type OpenAPITicketRunRawEventsResponse struct {
	RawEventsPage OpenAPITicketRunRawEventPage `json:"raw_events_page"`
}

type OpenAPITicketRunResponse

type OpenAPITicketRunResponse struct {
	Run                   OpenAPITicketRun                      `json:"run"`
	TranscriptPage        OpenAPITicketRunTranscriptPage        `json:"transcript_page"`
	TraceEntries          []OpenAPITicketRunTraceEntry          `json:"trace_entries"`
	StepEntries           []OpenAPITicketRunStepEntry           `json:"step_entries"`
	Activities            []OpenAPITicketRunActivity            `json:"activities"`
	TranscriptEntriesPage OpenAPITicketRunTranscriptEntriesPage `json:"transcript_entries_page"`
}

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 OpenAPITicketRunTranscriptEntriesPage added in v0.5.0

type OpenAPITicketRunTranscriptEntriesPage struct {
	Entries          []OpenAPITicketRunTranscriptEntry `json:"entries"`
	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 OpenAPITicketRunTranscriptEntriesResponse added in v0.5.0

type OpenAPITicketRunTranscriptEntriesResponse struct {
	TranscriptEntriesPage OpenAPITicketRunTranscriptEntriesPage `json:"transcript_entries_page"`
}

type OpenAPITicketRunTranscriptEntry added in v0.5.0

type OpenAPITicketRunTranscriptEntry struct {
	ID           string         `json:"id"`
	Provider     string         `json:"provider"`
	EntryKey     string         `json:"entry_key"`
	EntryKind    string         `json:"entry_kind"`
	ActivityKind *string        `json:"activity_kind,omitempty"`
	ActivityID   *string        `json:"activity_id,omitempty"`
	Title        *string        `json:"title,omitempty"`
	Summary      *string        `json:"summary,omitempty"`
	BodyText     *string        `json:"body_text,omitempty"`
	Command      *string        `json:"command,omitempty"`
	ToolName     *string        `json:"tool_name,omitempty"`
	Metadata     map[string]any `json:"metadata"`
	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 NewServerWithServices added in v0.5.0

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

NewServerWithServices keeps production wiring on the explicit narrow catalog ports.

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 WithSSHBootstrapper added in v0.7.0

func WithSSHBootstrapper(bootstrapper machinesetup.Bootstrapper) 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