// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 package jobssqlc import ( "net/netip" "github.com/jackc/pgx/v5/pgtype" "github.com/pgvector/pgvector-go" ) type AcpAgentKind struct { ID pgtype.UUID `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` Description string `json:"description"` BinaryPath string `json:"binary_path"` Args []string `json:"args"` EncryptedEnv []byte `json:"encrypted_env"` Enabled bool `json:"enabled"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` ToolAllowlist []string `json:"tool_allowlist"` ClientType string `json:"client_type"` EncryptedMcpServers []byte `json:"encrypted_mcp_servers"` ModelID pgtype.UUID `json:"model_id"` MaxCostUsd pgtype.Numeric `json:"max_cost_usd"` MaxTokens *int64 `json:"max_tokens"` MaxWallClockSeconds *int32 `json:"max_wall_clock_seconds"` KeyVersion int16 `json:"key_version"` } type AcpAgentKindConfigFile struct { ID pgtype.UUID `json:"id"` AgentKindID pgtype.UUID `json:"agent_kind_id"` RelPath string `json:"rel_path"` EncryptedContent []byte `json:"encrypted_content"` UpdatedBy pgtype.UUID `json:"updated_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` KeyVersion int16 `json:"key_version"` } type AcpEvent struct { ID int64 `json:"id"` SessionID pgtype.UUID `json:"session_id"` Direction string `json:"direction"` RpcKind string `json:"rpc_kind"` Method *string `json:"method"` Payload []byte `json:"payload"` PayloadSize int32 `json:"payload_size"` Truncated bool `json:"truncated"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type AcpPermissionRequest struct { ID pgtype.UUID `json:"id"` SessionID pgtype.UUID `json:"session_id"` AgentRequestID string `json:"agent_request_id"` ToolName string `json:"tool_name"` ToolCall []byte `json:"tool_call"` Options []byte `json:"options"` Status string `json:"status"` ChosenOptionID *string `json:"chosen_option_id"` DecidedBy pgtype.UUID `json:"decided_by"` DecidedAt pgtype.Timestamptz `json:"decided_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type AcpSession struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` ProjectID pgtype.UUID `json:"project_id"` AgentKindID pgtype.UUID `json:"agent_kind_id"` UserID pgtype.UUID `json:"user_id"` IssueID pgtype.UUID `json:"issue_id"` RequirementID pgtype.UUID `json:"requirement_id"` AgentSessionID *string `json:"agent_session_id"` Branch string `json:"branch"` CwdPath string `json:"cwd_path"` IsMainWorktree bool `json:"is_main_worktree"` Status string `json:"status"` Pid *int32 `json:"pid"` ExitCode *int32 `json:"exit_code"` LastError *string `json:"last_error"` StartedAt pgtype.Timestamptz `json:"started_at"` EndedAt pgtype.Timestamptz `json:"ended_at"` LastStopReason *string `json:"last_stop_reason"` OrchestratorStepID pgtype.UUID `json:"orchestrator_step_id"` PromptTokens int64 `json:"prompt_tokens"` CompletionTokens int64 `json:"completion_tokens"` ThinkingTokens int64 `json:"thinking_tokens"` TotalCostUsd pgtype.Numeric `json:"total_cost_usd"` LastActivityAt pgtype.Timestamptz `json:"last_activity_at"` BudgetMaxCostUsd pgtype.Numeric `json:"budget_max_cost_usd"` BudgetMaxTokens *int64 `json:"budget_max_tokens"` BudgetMaxWallClockSeconds *int32 `json:"budget_max_wall_clock_seconds"` TerminatedReason *string `json:"terminated_reason"` SandboxMode *string `json:"sandbox_mode"` CostUsd pgtype.Numeric `json:"cost_usd"` TokensTotal int64 `json:"tokens_total"` } type AcpSessionUsage struct { ID int64 `json:"id"` SessionID pgtype.UUID `json:"session_id"` UserID pgtype.UUID `json:"user_id"` ProjectID pgtype.UUID `json:"project_id"` AgentKindID pgtype.UUID `json:"agent_kind_id"` ModelID pgtype.UUID `json:"model_id"` PromptTokens int64 `json:"prompt_tokens"` CompletionTokens int64 `json:"completion_tokens"` ThinkingTokens int64 `json:"thinking_tokens"` CostUsd pgtype.Numeric `json:"cost_usd"` SourceEventID *int64 `json:"source_event_id"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type AcpTurn struct { ID int64 `json:"id"` SessionID pgtype.UUID `json:"session_id"` TurnIndex int32 `json:"turn_index"` PromptRequestID *string `json:"prompt_request_id"` Status string `json:"status"` StopReason *string `json:"stop_reason"` UpdateCount int32 `json:"update_count"` StartedAt pgtype.Timestamptz `json:"started_at"` CompletedAt pgtype.Timestamptz `json:"completed_at"` } type AuditLog struct { ID int64 `json:"id"` UserID pgtype.UUID `json:"user_id"` Action string `json:"action"` TargetType *string `json:"target_type"` TargetID *string `json:"target_id"` Ip *netip.Addr `json:"ip"` Metadata []byte `json:"metadata"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type ChangeRequest struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` WorkspaceID pgtype.UUID `json:"workspace_id"` RequirementID pgtype.UUID `json:"requirement_id"` IssueID pgtype.UUID `json:"issue_id"` Number int32 `json:"number"` Title string `json:"title"` Description string `json:"description"` SourceBranch string `json:"source_branch"` TargetBranch string `json:"target_branch"` State string `json:"state"` ReviewVerdict string `json:"review_verdict"` CiState string `json:"ci_state"` Provider string `json:"provider"` ExternalID *int64 `json:"external_id"` ExternalUrl string `json:"external_url"` MergeCommitSha string `json:"merge_commit_sha"` ReviewedBy pgtype.UUID `json:"reviewed_by"` ReviewedAt pgtype.Timestamptz `json:"reviewed_at"` CreatedBy pgtype.UUID `json:"created_by"` MergedAt pgtype.Timestamptz `json:"merged_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type CodeChunk struct { ID pgtype.UUID `json:"id"` RunID pgtype.UUID `json:"run_id"` WorkspaceID pgtype.UUID `json:"workspace_id"` CommitSha string `json:"commit_sha"` FilePath string `json:"file_path"` Lang *string `json:"lang"` StartLine int32 `json:"start_line"` EndLine int32 `json:"end_line"` Content string `json:"content"` ContentSha []byte `json:"content_sha"` TokenCount *int32 `json:"token_count"` Embedding *pgvector.Vector `json:"embedding"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type CodeIndexRun struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` WorktreeID pgtype.UUID `json:"worktree_id"` Branch string `json:"branch"` CommitSha string `json:"commit_sha"` Status string `json:"status"` EmbeddingEndpointID pgtype.UUID `json:"embedding_endpoint_id"` EmbeddingModel string `json:"embedding_model"` Dims int32 `json:"dims"` FilesIndexed int32 `json:"files_indexed"` ChunksIndexed int32 `json:"chunks_indexed"` Error *string `json:"error"` StartedAt pgtype.Timestamptz `json:"started_at"` FinishedAt pgtype.Timestamptz `json:"finished_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type CommitSummary struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` WorktreeID pgtype.UUID `json:"worktree_id"` Branch string `json:"branch"` CommitSha string `json:"commit_sha"` Kind string `json:"kind"` Title *string `json:"title"` BodyMd string `json:"body_md"` Model *string `json:"model"` Status string `json:"status"` Error *string `json:"error"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type Conversation struct { ID pgtype.UUID `json:"id"` UserID pgtype.UUID `json:"user_id"` ProjectID pgtype.UUID `json:"project_id"` WorkspaceID pgtype.UUID `json:"workspace_id"` IssueID pgtype.UUID `json:"issue_id"` ModelID pgtype.UUID `json:"model_id"` SystemPrompt string `json:"system_prompt"` Title *string `json:"title"` TitleGeneratedAt pgtype.Timestamptz `json:"title_generated_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` DeletedAt pgtype.Timestamptz `json:"deleted_at"` RequirementID pgtype.UUID `json:"requirement_id"` } type CryptoKey struct { Version int32 `json:"version"` Provider string `json:"provider"` KeyRef *string `json:"key_ref"` Status string `json:"status"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type GitCredential struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` Kind string `json:"kind"` Username *string `json:"username"` EncryptedSecret []byte `json:"encrypted_secret"` Fingerprint *string `json:"fingerprint"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` KeyVersion int16 `json:"key_version"` } type Issue struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` RequirementID pgtype.UUID `json:"requirement_id"` Number int32 `json:"number"` Title string `json:"title"` Description string `json:"description"` Status string `json:"status"` AssigneeID pgtype.UUID `json:"assignee_id"` CreatedBy pgtype.UUID `json:"created_by"` ClosedAt pgtype.Timestamptz `json:"closed_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` WorkspaceID pgtype.UUID `json:"workspace_id"` ParentID pgtype.UUID `json:"parent_id"` Priority int32 `json:"priority"` } type IssueDependency struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` BlockedID pgtype.UUID `json:"blocked_id"` BlockerID pgtype.UUID `json:"blocker_id"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type Job struct { ID pgtype.UUID `json:"id"` Type string `json:"type"` Payload []byte `json:"payload"` Status string `json:"status"` ScheduledAt pgtype.Timestamptz `json:"scheduled_at"` Attempts int32 `json:"attempts"` MaxAttempts int32 `json:"max_attempts"` LeasedAt pgtype.Timestamptz `json:"leased_at"` LeasedBy *string `json:"leased_by"` LastError *string `json:"last_error"` CompletedAt pgtype.Timestamptz `json:"completed_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type LlmEndpoint struct { ID pgtype.UUID `json:"id"` Provider string `json:"provider"` DisplayName string `json:"display_name"` BaseUrl string `json:"base_url"` ApiKeyEncrypted []byte `json:"api_key_encrypted"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` KeyVersion int16 `json:"key_version"` } type LlmModel struct { ID pgtype.UUID `json:"id"` EndpointID pgtype.UUID `json:"endpoint_id"` ModelID string `json:"model_id"` DisplayName string `json:"display_name"` Capabilities []byte `json:"capabilities"` ContextWindow int32 `json:"context_window"` MaxOutputTokens int32 `json:"max_output_tokens"` PromptPricePerMillionUsd pgtype.Numeric `json:"prompt_price_per_million_usd"` CompletionPricePerMillionUsd pgtype.Numeric `json:"completion_price_per_million_usd"` ThinkingPricePerMillionUsd pgtype.Numeric `json:"thinking_price_per_million_usd"` IsTitleGenerator bool `json:"is_title_generator"` Enabled bool `json:"enabled"` SortOrder int32 `json:"sort_order"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type LlmUsage struct { ID int64 `json:"id"` ConversationID pgtype.UUID `json:"conversation_id"` MessageID int64 `json:"message_id"` UserID pgtype.UUID `json:"user_id"` EndpointID pgtype.UUID `json:"endpoint_id"` ModelID pgtype.UUID `json:"model_id"` PromptTokens int32 `json:"prompt_tokens"` CompletionTokens int32 `json:"completion_tokens"` ThinkingTokens int32 `json:"thinking_tokens"` CostUsd pgtype.Numeric `json:"cost_usd"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type McpToken struct { ID pgtype.UUID `json:"id"` TokenHash []byte `json:"token_hash"` UserID pgtype.UUID `json:"user_id"` Name string `json:"name"` Issuer string `json:"issuer"` Scope []byte `json:"scope"` AcpSessionID pgtype.UUID `json:"acp_session_id"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` LastUsedAt pgtype.Timestamptz `json:"last_used_at"` RevokedAt pgtype.Timestamptz `json:"revoked_at"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type Message struct { ID int64 `json:"id"` ConversationID pgtype.UUID `json:"conversation_id"` Role string `json:"role"` Content string `json:"content"` Thinking *string `json:"thinking"` ToolCalls []byte `json:"tool_calls"` Status string `json:"status"` ErrorMessage *string `json:"error_message"` PromptTokens *int32 `json:"prompt_tokens"` CompletionTokens *int32 `json:"completion_tokens"` ThinkingTokens *int32 `json:"thinking_tokens"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type MessageAttachment struct { ID pgtype.UUID `json:"id"` UserID pgtype.UUID `json:"user_id"` MessageID *int64 `json:"message_id"` Filename string `json:"filename"` MimeType string `json:"mime_type"` SizeBytes int64 `json:"size_bytes"` Sha256 string `json:"sha256"` StoragePath string `json:"storage_path"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type Notification struct { ID pgtype.UUID `json:"id"` UserID pgtype.UUID `json:"user_id"` Topic string `json:"topic"` Severity string `json:"severity"` Title string `json:"title"` Body string `json:"body"` Link *string `json:"link"` Metadata []byte `json:"metadata"` ReadAt pgtype.Timestamptz `json:"read_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type NotificationPref struct { UserID pgtype.UUID `json:"user_id"` EmailEnabled bool `json:"email_enabled"` ImEnabled bool `json:"im_enabled"` ImWebhookUrlEnc []byte `json:"im_webhook_url_enc"` MinSeverity string `json:"min_severity"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type OrchestratorRun struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` RequirementID pgtype.UUID `json:"requirement_id"` WorkspaceID pgtype.UUID `json:"workspace_id"` OwnerID pgtype.UUID `json:"owner_id"` Status string `json:"status"` CurrentPhase string `json:"current_phase"` Config []byte `json:"config"` LastError *string `json:"last_error"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` EndedAt pgtype.Timestamptz `json:"ended_at"` } type OrchestratorStep struct { ID pgtype.UUID `json:"id"` RunID pgtype.UUID `json:"run_id"` Phase string `json:"phase"` Attempt int32 `json:"attempt"` ParentStepID pgtype.UUID `json:"parent_step_id"` Depth int32 `json:"depth"` Status string `json:"status"` AgentKindID pgtype.UUID `json:"agent_kind_id"` AcpSessionID pgtype.UUID `json:"acp_session_id"` Prompt string `json:"prompt"` StopReason *string `json:"stop_reason"` GateResult []byte `json:"gate_result"` LastError *string `json:"last_error"` JobID pgtype.UUID `json:"job_id"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` EndedAt pgtype.Timestamptz `json:"ended_at"` } type Project struct { ID pgtype.UUID `json:"id"` Slug string `json:"slug"` Name string `json:"name"` Description string `json:"description"` Visibility string `json:"visibility"` OwnerID pgtype.UUID `json:"owner_id"` ArchivedAt pgtype.Timestamptz `json:"archived_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type ProjectMember struct { ProjectID pgtype.UUID `json:"project_id"` UserID pgtype.UUID `json:"user_id"` Role string `json:"role"` CreatedAt pgtype.Timestamptz `json:"created_at"` AddedBy pgtype.UUID `json:"added_by"` } type ProjectMemory struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` WorkspaceID pgtype.UUID `json:"workspace_id"` Kind string `json:"kind"` Title string `json:"title"` Body string `json:"body"` Tags []string `json:"tags"` Source string `json:"source"` Embedding *pgvector.Vector `json:"embedding"` EmbeddingModel *string `json:"embedding_model"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type PromptTemplate struct { ID pgtype.UUID `json:"id"` Name string `json:"name"` Content string `json:"content"` Scope string `json:"scope"` OwnerID pgtype.UUID `json:"owner_id"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type Requirement struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` Number int32 `json:"number"` Title string `json:"title"` Description string `json:"description"` Phase string `json:"phase"` Status string `json:"status"` OwnerID pgtype.UUID `json:"owner_id"` ClosedAt pgtype.Timestamptz `json:"closed_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` WorkspaceID pgtype.UUID `json:"workspace_id"` } type RequirementArtifact struct { ID pgtype.UUID `json:"id"` RequirementID pgtype.UUID `json:"requirement_id"` Phase string `json:"phase"` Version int32 `json:"version"` Content string `json:"content"` Note string `json:"note"` SourceMessageID *int64 `json:"source_message_id"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` Verdict string `json:"verdict"` } type RequirementPhasePointer struct { RequirementID pgtype.UUID `json:"requirement_id"` Phase string `json:"phase"` ApprovedArtifactID pgtype.UUID `json:"approved_artifact_id"` ApprovedBy pgtype.UUID `json:"approved_by"` ApprovedAt pgtype.Timestamptz `json:"approved_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } type User struct { ID pgtype.UUID `json:"id"` Email string `json:"email"` PasswordHash string `json:"password_hash"` DisplayName string `json:"display_name"` IsAdmin bool `json:"is_admin"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` Enabled bool `json:"enabled"` } type UserSession struct { ID pgtype.UUID `json:"id"` UserID pgtype.UUID `json:"user_id"` TokenHash []byte `json:"token_hash"` ExpiresAt pgtype.Timestamptz `json:"expires_at"` LastSeenAt pgtype.Timestamptz `json:"last_seen_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` } type Workspace struct { ID pgtype.UUID `json:"id"` ProjectID pgtype.UUID `json:"project_id"` Slug string `json:"slug"` Name string `json:"name"` Description string `json:"description"` GitRemoteUrl string `json:"git_remote_url"` DefaultBranch string `json:"default_branch"` MainPath string `json:"main_path"` SyncStatus string `json:"sync_status"` LastSyncedAt pgtype.Timestamptz `json:"last_synced_at"` LastSyncError *string `json:"last_sync_error"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` ActiveMainSessionID pgtype.UUID `json:"active_main_session_id"` } type WorkspaceRunProfile struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` Slug string `json:"slug"` Name string `json:"name"` Description string `json:"description"` Command string `json:"command"` Args []string `json:"args"` EncryptedEnv []byte `json:"encrypted_env"` Enabled bool `json:"enabled"` LastStartedAt pgtype.Timestamptz `json:"last_started_at"` LastExitCode *int32 `json:"last_exit_code"` LastError string `json:"last_error"` CreatedBy pgtype.UUID `json:"created_by"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` KeyVersion int16 `json:"key_version"` } type WorkspaceWorktree struct { ID pgtype.UUID `json:"id"` WorkspaceID pgtype.UUID `json:"workspace_id"` Branch string `json:"branch"` Path string `json:"path"` Status string `json:"status"` ActiveHolder *string `json:"active_holder"` AcquiredAt pgtype.Timestamptz `json:"acquired_at"` LastUsedAt pgtype.Timestamptz `json:"last_used_at"` CreatedAt pgtype.Timestamptz `json:"created_at"` PruneWarningAt pgtype.Timestamptz `json:"prune_warning_at"` }