// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.31.1

package sqlitegen

import (
	"database/sql"
)

type Project struct {
	ID                           string
	DisplayName                  string
	CreatedAtUnixMs              int64
	UpdatedAtUnixMs              int64
	MetadataJson                 string
	ProjectKey                   string
	NextTaskSeq                  int64
	DefaultProjectWorkflowLinkID string
	PrimaryWorkspaceID           string
}

type ProjectWorkflowLink struct {
	ID              string
	ProjectID       string
	WorkflowID      string
	CreatedAtUnixMs int64
	UpdatedAtUnixMs int64
}

type ProjectWorkflowLinkRecord struct {
	ID              string
	ProjectID       string
	WorkflowID      string
	IsDefault       int64
	CreatedAtUnixMs int64
	UpdatedAtUnixMs int64
}

type Session struct {
	ID                 string
	ProjectID          string
	WorkspaceID        sql.NullString
	WorktreeID         sql.NullString
	ArtifactRelpath    string
	Name               string
	FirstPromptPreview string
	InputDraft         string
	ParentSessionID    string
	CreatedAtUnixMs    int64
	UpdatedAtUnixMs    int64
	LastSequence       int64
	ModelRequestCount  int64
	LaunchVisible      int64
	CwdRelpath         string
	ContinuationJson   string
	LockedJson         string
	UsageStateJson     string
	MetadataJson       string
}

type SessionPromptHistoryEntry struct {
	Sequence        int64
	SessionID       string
	SourceID        string
	Text            string
	CreatedAtUnixMs int64
}

type Task struct {
	ID                    string
	ProjectWorkflowLinkID string
	WorkflowRevisionSeen  int64
	TaskSeq               int64
	ShortID               string
	Title                 string
	Body                  string
	SourceUrl             string
	SourceWorkspaceID     sql.NullString
	ManagedWorktreeID     sql.NullString
	CanceledAtUnixMs      int64
	CancellationReason    string
	CreatedAtUnixMs       int64
	UpdatedAtUnixMs       int64
	MetadataJson          string
}

type TaskComment struct {
	ID              string
	TaskID          string
	Body            string
	AuthorKind      string
	AuthorID        string
	CreatedAtUnixMs int64
	UpdatedAtUnixMs int64
}

type TaskNodePlacement struct {
	ID                        string
	TaskID                    string
	NodeID                    sql.NullString
	State                     string
	ParallelBatchTransitionID sql.NullString
	ParallelBranchEdgeID      sql.NullString
	CreatedAtUnixMs           int64
	UpdatedAtUnixMs           int64
}

type TaskNodePlacementRecord struct {
	ID                        string
	TaskID                    string
	NodeID                    sql.NullString
	State                     string
	CreatedByTransitionID     string
	ParallelBatchTransitionID sql.NullString
	ParallelBranchEdgeID      sql.NullString
	CreatedAtUnixMs           int64
	UpdatedAtUnixMs           int64
}

type TaskRecord struct {
	ID                    string
	ProjectID             string
	ProjectWorkflowLinkID string
	WorkflowID            string
	WorkflowRevisionSeen  int64
	TaskSeq               int64
	ShortID               string
	Title                 string
	Body                  string
	SourceUrl             string
	SourceWorkspaceID     sql.NullString
	ManagedWorktreeID     sql.NullString
	CanceledAtUnixMs      int64
	CancellationReason    string
	CreatedAtUnixMs       int64
	UpdatedAtUnixMs       int64
	MetadataJson          string
}

type TaskRun struct {
	ID                          string
	PlacementID                 string
	SessionID                   sql.NullString
	RunGeneration               int64
	WorkflowRevisionSeen        int64
	AutomationRequestedAtUnixMs int64
	CreatedAtUnixMs             int64
	UpdatedAtUnixMs             int64
	StartedAtUnixMs             int64
	CompletedAtUnixMs           int64
	InterruptedAtUnixMs         int64
	InterruptionReason          string
	InterruptionDetailJson      string
	WaitingAskID                string
	EffectiveCompletionMode     string
	InvalidCompletionCount      int64
	RunStartSnapshotJson        string
	MetadataJson                string
}

type TaskRunRecord struct {
	ID                          string
	TaskID                      string
	PlacementID                 string
	NodeID                      sql.NullString
	SessionID                   sql.NullString
	RunGeneration               int64
	WorkflowRevisionSeen        int64
	AutomationRequestedAtUnixMs int64
	CreatedAtUnixMs             int64
	UpdatedAtUnixMs             int64
	StartedAtUnixMs             int64
	CompletedAtUnixMs           int64
	InterruptedAtUnixMs         int64
	InterruptionReason          string
	InterruptionDetailJson      string
	WaitingAskID                string
	EffectiveCompletionMode     string
	InvalidCompletionCount      int64
	RunStartSnapshotJson        string
	MetadataJson                string
}

type TaskTransition struct {
	ID                    string
	TaskID                string
	SourceRunID           sql.NullString
	SourcePlacementID     sql.NullString
	SourceNodeKey         string
	SourceNodeDisplayName string
	TransitionID          string
	TransitionDisplayName string
	WorkflowRevisionSeen  int64
	Actor                 string
	State                 string
	Commentary            string
	OutputValuesJson      string
	CreatedAtUnixMs       int64
	AppliedAtUnixMs       int64
}

type TaskTransitionEdge struct {
	ID                     string
	TaskTransitionID       string
	WorkflowEdgeID         sql.NullString
	EdgeKey                string
	TargetNodeID           sql.NullString
	TargetNodeKey          string
	TargetNodeDisplayName  string
	TargetNodeKind         string
	TargetPlacementID      sql.NullString
	State                  string
	ContextMode            string
	RequiresApproval       int64
	InputBindingsJson      string
	OutputRequirementsJson string
	MetadataJson           string
}

type TaskTransitionEdgeRecord struct {
	ID                     string
	TaskTransitionID       string
	WorkflowEdgeID         sql.NullString
	EdgeKey                string
	WorkflowRevisionSeen   int64
	TargetNodeID           sql.NullString
	TargetNodeKey          string
	TargetNodeDisplayName  string
	TargetNodeKind         string
	TargetPlacementID      sql.NullString
	State                  string
	ContextMode            string
	RequiresApproval       int64
	InputBindingsJson      string
	OutputRequirementsJson string
	MetadataJson           string
}

type TaskTransitionRecord struct {
	ID                    string
	TaskID                string
	SourceRunID           sql.NullString
	SourcePlacementID     sql.NullString
	SourceNodeID          sql.NullString
	SourceNodeKey         string
	SourceNodeDisplayName string
	TransitionGroupID     sql.NullString
	TransitionID          string
	TransitionDisplayName string
	WorkflowRevisionSeen  int64
	Actor                 string
	State                 string
	Commentary            string
	OutputValuesJson      string
	CreatedAtUnixMs       int64
	AppliedAtUnixMs       int64
}

type Workflow struct {
	ID              string
	Name            string
	Description     string
	Version         int64
	CreatedAtUnixMs int64
	UpdatedAtUnixMs int64
}

type WorkflowEdge struct {
	ID                     string
	TransitionGroupID      string
	EdgeKey                string
	TargetNodeID           string
	RequiresApproval       int64
	ContextMode            string
	InputBindingsJson      string
	OutputRequirementsJson string
	SortOrder              int64
	ContextSourceKind      string
	ContextSourceNodeKey   string
	PromptTemplate         string
	ParametersJson         string
}

type WorkflowNode struct {
	ID                     string
	WorkflowID             string
	NodeKey                string
	Kind                   string
	DisplayName            string
	SubagentRole           string
	PromptTemplate         string
	OutputFieldsJson       string
	GroupID                sql.NullString
	SortOrder              int64
	InputFieldsJson        string
	JoinInputProvidersJson string
	CompletionMode         string
	ScriptPath             sql.NullString
}

type WorkflowNodeGroup struct {
	ID          string
	WorkflowID  string
	GroupKey    string
	DisplayName string
	SortOrder   int64
}

type WorkflowTransitionGroup struct {
	ID           string
	SourceNodeID string
	TransitionID string
	DisplayName  string
	SortOrder    int64
	Description  string
}

type Workspace struct {
	ID                string
	ProjectID         string
	CanonicalRootPath string
	GitMetadataJson   string
	CreatedAtUnixMs   int64
	UpdatedAtUnixMs   int64
}

type Worktree struct {
	ID                string
	WorkspaceID       string
	CanonicalRootPath string
	Managed           int64
	CreatedBranch     int64
	OriginSessionID   string
	GitMetadataJson   string
	CreatedAtUnixMs   int64
	UpdatedAtUnixMs   int64
}
