// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 package dbgen import ( "net/netip" "time" "github.com/google/uuid" "github.com/jackc/pgx/v5/pgtype" pgvector "github.com/pgvector/pgvector-go" "github.com/shopspring/decimal" ) type AedtCalibrationBin struct { ModelKey string `json:"model_key"` Version int32 `json:"version"` BinIndex int32 `json:"bin_index"` BinLo decimal.Decimal `json:"bin_lo"` BinHi decimal.Decimal `json:"bin_hi"` EmpiricalRate decimal.Decimal `json:"empirical_rate"` } type AedtCandidateNotice struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` NoticeVersion string `json:"notice_version"` DataCategories []byte `json:"data_categories"` RetentionDays int32 `json:"retention_days"` DisclosedBy *uuid.UUID `json:"disclosed_by"` DisclosedAt time.Time `json:"disclosed_at"` } type AedtInventory struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` ToolKey string `json:"tool_key"` DisplayName string `json:"display_name"` Purpose string `json:"purpose"` ModelVersion *string `json:"model_version"` Active bool `json:"active"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type AedtLearnedModel struct { ModelKey string `json:"model_key"` Version int32 `json:"version"` Family string `json:"family"` OutputKind string `json:"output_kind"` FeatureSpec []byte `json:"feature_spec"` EffectiveFrom time.Time `json:"effective_from"` Champion bool `json:"champion"` Notes string `json:"notes"` } type AedtModelCoefficient struct { ModelKey string `json:"model_key"` Version int32 `json:"version"` FeatureName string `json:"feature_name"` Coefficient decimal.Decimal `json:"coefficient"` } type AedtModelVersion struct { Version string `json:"version"` Weights []byte `json:"weights"` BandCuts []byte `json:"band_cuts"` Notes *string `json:"notes"` EffectiveFrom time.Time `json:"effective_from"` CreatedAt time.Time `json:"created_at"` } type AiMemory struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` CandidateID *uuid.UUID `json:"candidate_id"` Kind string `json:"kind"` Content string `json:"content"` Embedding *pgvector.Vector `json:"embedding"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type AioeRun struct { ID uuid.UUID `json:"id"` RanAt time.Time `json:"ran_at"` AsOf time.Time `json:"as_of"` WindowDays int32 `json:"window_days"` OrgsScanned int32 `json:"orgs_scanned"` OutcomesSeen int32 `json:"outcomes_seen"` ProfilesUpdated int32 `json:"profiles_updated"` TriggeredBy string `json:"triggered_by"` } type AioeWeightAdjustment struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProfileID uuid.UUID `json:"profile_id"` ProducedVersion int32 `json:"produced_version"` Dimension string `json:"dimension"` OldValue decimal.Decimal `json:"old_value"` NewValue decimal.Decimal `json:"new_value"` WindowStart time.Time `json:"window_start"` WindowEnd time.Time `json:"window_end"` OutcomesUsed int32 `json:"outcomes_used"` Rationale string `json:"rationale"` CreatedAt time.Time `json:"created_at"` } type AioeWeightProfile struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProfileVersion int32 `json:"profile_version"` DimensionWeights []byte `json:"dimension_weights"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` } type Alert struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` AlertType string `json:"alert_type"` Severity string `json:"severity"` SubjectType string `json:"subject_type"` SubjectID *uuid.UUID `json:"subject_id"` Title string `json:"title"` Detail string `json:"detail"` DedupeKey string `json:"dedupe_key"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type Application struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` RequisitionID uuid.UUID `json:"requisition_id"` CandidateID uuid.UUID `json:"candidate_id"` Stage string `json:"stage"` StageChangedAt time.Time `json:"stage_changed_at"` DispositionReason *string `json:"disposition_reason"` SourceFirstTouch string `json:"source_first_touch"` SourceLastTouch string `json:"source_last_touch"` OwnerUserID *uuid.UUID `json:"owner_user_id"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` FurthestStageOrd int16 `json:"furthest_stage_ord"` DispositionCode *string `json:"disposition_code"` } type ApplicationStageEvent struct { OrganizationID uuid.UUID `json:"organization_id"` ID int64 `json:"id"` ApplicationID uuid.UUID `json:"application_id"` FromStage *string `json:"from_stage"` ToStage string `json:"to_stage"` Reason string `json:"reason"` ActorUserID *uuid.UUID `json:"actor_user_id"` OccurredAt time.Time `json:"occurred_at"` CreatedAt time.Time `json:"created_at"` DispositionCode *string `json:"disposition_code"` SecondsInFrom pgtype.Numeric `json:"seconds_in_from"` ActorName string `json:"actor_name"` } type AuditLog struct { ID int64 `json:"id"` OrganizationID *uuid.UUID `json:"organization_id"` ActorUserID *uuid.UUID `json:"actor_user_id"` Action string `json:"action"` EntityType *string `json:"entity_type"` EntityID *string `json:"entity_id"` OldValues []byte `json:"old_values"` NewValues []byte `json:"new_values"` IpAddress *string `json:"ip_address"` UserAgent *string `json:"user_agent"` CreatedAt time.Time `json:"created_at"` } type AuthCredential struct { UserID uuid.UUID `json:"user_id"` OrganizationID uuid.UUID `json:"organization_id"` EmailNormalized string `json:"email_normalized"` PasswordHash string `json:"password_hash"` PepperVersion int32 `json:"pepper_version"` FailedStreak int32 `json:"failed_streak"` LockedUntil *time.Time `json:"locked_until"` PasswordChangedAt time.Time `json:"password_changed_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type AuthSession struct { ID uuid.UUID `json:"id"` TokenHash []byte `json:"token_hash"` UserID uuid.UUID `json:"user_id"` OrganizationID uuid.UUID `json:"organization_id"` State string `json:"state"` MfaSatisfied bool `json:"mfa_satisfied"` CreatedAt time.Time `json:"created_at"` LastSeenAt time.Time `json:"last_seen_at"` IdleExpiresAt time.Time `json:"idle_expires_at"` AbsoluteExpiresAt time.Time `json:"absolute_expires_at"` RevokedAt *time.Time `json:"revoked_at"` RotatedFrom *uuid.UUID `json:"rotated_from"` IpAddress *string `json:"ip_address"` UserAgent *string `json:"user_agent"` } type AwardIncumbentRole struct { RecordTable string `json:"record_table"` RecordID string `json:"record_id"` LaborCategory string `json:"labor_category"` RoleCount int32 `json:"role_count"` Evidence string `json:"evidence"` ClassifiedAt time.Time `json:"classified_at"` } type BenchImportLog struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` CandidateID *uuid.UUID `json:"candidate_id"` Source string `json:"source"` FileOrBatch string `json:"file_or_batch"` LegalBasis string `json:"legal_basis"` CollectedAt time.Time `json:"collected_at"` } type BidOutcome struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` OpportunityID *uuid.UUID `json:"opportunity_id"` RequirementID *uuid.UUID `json:"requirement_id"` SlateID *uuid.UUID `json:"slate_id"` SubmittedAt *time.Time `json:"submitted_at"` Result string `json:"result"` AwardDate pgtype.Date `json:"award_date"` AwardeeUei string `json:"awardee_uei"` Notes string `json:"notes"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type BlsWage struct { SeriesID string `json:"series_id"` OccupationCode string `json:"occupation_code"` OccupationTitle string `json:"occupation_title"` Role string `json:"role"` Area string `json:"area"` AreaName string `json:"area_name"` Metric string `json:"metric"` PeriodYear string `json:"period_year"` Value *decimal.Decimal `json:"value"` Raw []byte `json:"raw"` SyncedAt time.Time `json:"synced_at"` } type Candidate struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` FullName string `json:"full_name"` Email *string `json:"email"` Headline *string `json:"headline"` ClearanceLevel string `json:"clearance_level"` ClearancePoly string `json:"clearance_poly"` ClearanceStatus string `json:"clearance_status"` ClearanceGrantedAt pgtype.Date `json:"clearance_granted_at"` ClearanceExpiresAt pgtype.Date `json:"clearance_expires_at"` ReinvestigationDueAt pgtype.Date `json:"reinvestigation_due_at"` YearsExperience int32 `json:"years_experience"` Location *string `json:"location"` Remote bool `json:"remote"` Relocatable bool `json:"relocatable"` Available bool `json:"available"` ResumeEmbedding *pgvector.Vector `json:"resume_embedding"` SearchTsv interface{} `json:"search_tsv"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at"` Source string `json:"source"` ExternalID *string `json:"external_id"` AnonymizedAt *time.Time `json:"anonymized_at"` ClearanceProvenance string `json:"clearance_provenance"` ClearanceVerifiedAt *time.Time `json:"clearance_verified_at"` ClearanceCompartments []string `json:"clearance_compartments"` SourceFirstTouch string `json:"source_first_touch"` SourceLastTouch string `json:"source_last_touch"` SourceDetail string `json:"source_detail"` Provenance string `json:"provenance"` OwnerUserID *uuid.UUID `json:"owner_user_id"` MergedIntoID *uuid.UUID `json:"merged_into_id"` CvEnrolled *bool `json:"cv_enrolled"` CvEnrolledOn pgtype.Date `json:"cv_enrolled_on"` AccessEndedOn pgtype.Date `json:"access_ended_on"` LastAdjudicatedOn pgtype.Date `json:"last_adjudicated_on"` } type CandidateCertification struct { OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` Name string `json:"name"` } type CandidateCustomerExperience struct { OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` Agency string `json:"agency"` } type CandidateDocument struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` CandidateID uuid.UUID `json:"candidate_id"` DocumentType string `json:"document_type"` FileName string `json:"file_name"` MediaType string `json:"media_type"` StorageKey string `json:"storage_key"` SizeBytes int64 `json:"size_bytes"` Sha256 string `json:"sha256"` UploadedByUserID *uuid.UUID `json:"uploaded_by_user_id"` ExtractionStatus string `json:"extraction_status"` ExtractionErrorCode string `json:"extraction_error_code"` SupersedesDocumentID *uuid.UUID `json:"supersedes_document_id"` IsCurrent bool `json:"is_current"` CreatedAt time.Time `json:"created_at"` } type CandidateEvaluation struct { OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` RequirementID uuid.UUID `json:"requirement_id"` TotalScore decimal.Decimal `json:"total_score"` Band string `json:"band"` ClearanceScore decimal.Decimal `json:"clearance_score"` SkillsScore decimal.Decimal `json:"skills_score"` CertsScore decimal.Decimal `json:"certs_score"` CustomerScore decimal.Decimal `json:"customer_score"` ExperienceScore decimal.Decimal `json:"experience_score"` LocationScore decimal.Decimal `json:"location_score"` Explanation string `json:"explanation"` MatchedSkills []byte `json:"matched_skills"` GapSummary []byte `json:"gap_summary"` ModelVersion string `json:"model_version"` EvaluatedBy *uuid.UUID `json:"evaluated_by"` EvaluatedAt time.Time `json:"evaluated_at"` UpdatedAt time.Time `json:"updated_at"` WeightProfileVersion string `json:"weight_profile_version"` } type CandidateList struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` Description string `json:"description"` OwnerUserID uuid.UUID `json:"owner_user_id"` Visibility string `json:"visibility"` Purpose string `json:"purpose"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type CandidateListMember struct { OrganizationID uuid.UUID `json:"organization_id"` ListID uuid.UUID `json:"list_id"` CandidateID uuid.UUID `json:"candidate_id"` Note string `json:"note"` AddedBy *uuid.UUID `json:"added_by"` AddedAt time.Time `json:"added_at"` } type CandidateMerge struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` KeptID uuid.UUID `json:"kept_id"` MergedID uuid.UUID `json:"merged_id"` Moved []byte `json:"moved"` Dropped []byte `json:"dropped"` Reason string `json:"reason"` MergedBy *uuid.UUID `json:"merged_by"` CreatedAt time.Time `json:"created_at"` } type CandidateMissionTag struct { OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` MissionCode string `json:"mission_code"` Mechanism string `json:"mechanism"` Evidence string `json:"evidence"` } type CandidateSkill struct { OrganizationID uuid.UUID `json:"organization_id"` CandidateID uuid.UUID `json:"candidate_id"` SkillID uuid.UUID `json:"skill_id"` } type CaptureGateDecision struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` Gate string `json:"gate"` Decision string `json:"decision"` DecidedBy *uuid.UUID `json:"decided_by"` DecidedAt time.Time `json:"decided_at"` Rationale string `json:"rationale"` ReadinessScore pgtype.Numeric `json:"readiness_score"` ReadinessBand *string `json:"readiness_band"` WinProbability pgtype.Numeric `json:"win_probability"` CreatedAt time.Time `json:"created_at"` } type ClearanceCompartment struct { Code string `json:"code"` Kind string `json:"kind"` Label string `json:"label"` } type ClearanceLevel struct { Code string `json:"code"` Rank int32 `json:"rank"` RequiresPolygraph bool `json:"requires_polygraph"` Label string `json:"label"` } type ClearanceReciprocity struct { HeldCode string `json:"held_code"` RequiredCode string `json:"required_code"` Satisfies bool `json:"satisfies"` Source string `json:"source"` } type Client struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` Uei string `json:"uei"` Industry string `json:"industry"` Website string `json:"website"` Status string `json:"status"` Notes string `json:"notes"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` OwnerUserID *uuid.UUID `json:"owner_user_id"` OwnerSince *time.Time `json:"owner_since"` } type ClientContact struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ClientID uuid.UUID `json:"client_id"` FullName string `json:"full_name"` Title string `json:"title"` Email string `json:"email"` Phone string `json:"phone"` IsHiringManager bool `json:"is_hiring_manager"` IsPrimary bool `json:"is_primary"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ConnectorSyncState struct { OrganizationID uuid.UUID `json:"organization_id"` ConnectorName string `json:"connector_name"` Watermark time.Time `json:"watermark"` LastRunAt *time.Time `json:"last_run_at"` RecordsSynced int64 `json:"records_synced"` } type CorpusChunk struct { ID int64 `json:"id"` DocumentID uuid.UUID `json:"document_id"` PageNumber *int32 `json:"page_number"` SectionLabel string `json:"section_label"` TextContent string `json:"text_content"` ContentHash string `json:"content_hash"` Embedding interface{} `json:"embedding"` ExtractionMethod string `json:"extraction_method"` Confidence *float32 `json:"confidence"` CreatedAt time.Time `json:"created_at"` Provenance string `json:"provenance"` } type CorpusDocument struct { ID uuid.UUID `json:"id"` OpportunityRecordID uuid.UUID `json:"opportunity_record_id"` ResourceID string `json:"resource_id"` FileName string `json:"file_name"` MediaType string `json:"media_type"` SizeBytes *int64 `json:"size_bytes"` Sha256 string `json:"sha256"` SourceUrl string `json:"source_url"` ExtractStatus string `json:"extract_status"` ExtractError string `json:"extract_error"` PageCount *int32 `json:"page_count"` FetchedBytes *int64 `json:"fetched_bytes"` FetchedAt *time.Time `json:"fetched_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Provenance string `json:"provenance"` } type CurationProposal struct { ID uuid.UUID `json:"id"` Kind string `json:"kind"` FromSkillID *uuid.UUID `json:"from_skill_id"` ToSkillID *uuid.UUID `json:"to_skill_id"` Relation *string `json:"relation"` ProposedStrength *decimal.Decimal `json:"proposed_strength"` EvidenceObservations int32 `json:"evidence_observations"` EvidenceSuccesses int32 `json:"evidence_successes"` ModelVersion string `json:"model_version"` Status string `json:"status"` Approver *uuid.UUID `json:"approver"` ApprovedAt *time.Time `json:"approved_at"` CreatedAt time.Time `json:"created_at"` } type DpBudgetLedger struct { ID uuid.UUID `json:"id"` ModelVersion string `json:"model_version"` TenantID *uuid.UUID `json:"tenant_id"` RdpOrders []byte `json:"rdp_orders"` AccumulatedRdp decimal.Decimal `json:"accumulated_rdp"` EpsilonAtDelta decimal.Decimal `json:"epsilon_at_delta"` Delta decimal.Decimal `json:"delta"` ContributingTenantCount int32 `json:"contributing_tenant_count"` ReleasedAt time.Time `json:"released_at"` } type FederalMissionTag struct { RecordTable string `json:"record_table"` RecordID string `json:"record_id"` MissionCode string `json:"mission_code"` Mechanism string `json:"mechanism"` Evidence string `json:"evidence"` Confidence decimal.Decimal `json:"confidence"` ClassifiedAt time.Time `json:"classified_at"` } type IngestManifest struct { ID uuid.UUID `json:"id"` Source string `json:"source"` Url string `json:"url"` License string `json:"license"` FetchedAt time.Time `json:"fetched_at"` RecordCount int32 `json:"record_count"` ContentHash string `json:"content_hash"` CreatedAt time.Time `json:"created_at"` } type Interview struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ApplicationID uuid.UUID `json:"application_id"` Round int32 `json:"round"` Kind string `json:"kind"` ScheduledAt *time.Time `json:"scheduled_at"` CompletedAt *time.Time `json:"completed_at"` Outcome string `json:"outcome"` Interviewer string `json:"interviewer"` Notes string `json:"notes"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type InterviewOffer struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ApplicationID uuid.UUID `json:"application_id"` PublicToken string `json:"public_token"` Kind string `json:"kind"` Round int32 `json:"round"` DurationMins int32 `json:"duration_mins"` LocationText string `json:"location_text"` Interviewer string `json:"interviewer"` Message string `json:"message"` Status string `json:"status"` ExpiresAt time.Time `json:"expires_at"` BookedSlotID *uuid.UUID `json:"booked_slot_id"` InterviewID *uuid.UUID `json:"interview_id"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type InterviewOfferSlot struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OfferID uuid.UUID `json:"offer_id"` StartsAt time.Time `json:"starts_at"` EndsAt time.Time `json:"ends_at"` Available bool `json:"available"` } type JobApplication struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` PostingID uuid.UUID `json:"posting_id"` FullName string `json:"full_name"` Email string `json:"email"` Phone string `json:"phone"` LocationText string `json:"location_text"` CoverNote string `json:"cover_note"` ClearanceSelfReported string `json:"clearance_self_reported"` ResumeStorageKey string `json:"resume_storage_key"` ResumeFileName string `json:"resume_file_name"` ResumeMediaType string `json:"resume_media_type"` ResumeSha256 string `json:"resume_sha256"` Status string `json:"status"` StatusReason string `json:"status_reason"` ReviewedBy *uuid.UUID `json:"reviewed_by"` ReviewedAt *time.Time `json:"reviewed_at"` CandidateID *uuid.UUID `json:"candidate_id"` Source string `json:"source"` ConsentText string `json:"consent_text"` ConsentedAt *time.Time `json:"consented_at"` SubmittedIp *netip.Addr `json:"submitted_ip"` CreatedAt time.Time `json:"created_at"` } type JobPosting struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` RequisitionID uuid.UUID `json:"requisition_id"` PublicToken string `json:"public_token"` Title string `json:"title"` Summary string `json:"summary"` Responsibilities string `json:"responsibilities"` Qualifications string `json:"qualifications"` LocationText string `json:"location_text"` RemoteAllowed bool `json:"remote_allowed"` EmploymentType string `json:"employment_type"` ClearanceText string `json:"clearance_text"` PayRangeText string `json:"pay_range_text"` Status string `json:"status"` PublishedAt *time.Time `json:"published_at"` ClosesAt *time.Time `json:"closes_at"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type KeyPersonnelCommitment struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` RequirementID uuid.UUID `json:"requirement_id"` CandidateID *uuid.UUID `json:"candidate_id"` TeamingPartnerID *uuid.UUID `json:"teaming_partner_id"` PartnerPersonName string `json:"partner_person_name"` RoleTitle string `json:"role_title"` CommitmentType string `json:"commitment_type"` Status string `json:"status"` SignedOn pgtype.Date `json:"signed_on"` ExpiresOn pgtype.Date `json:"expires_on"` Notes string `json:"notes"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type LoginAttempt struct { ID int64 `json:"id"` EmailNormalized string `json:"email_normalized"` OrganizationID *uuid.UUID `json:"organization_id"` IpAddress *string `json:"ip_address"` Succeeded bool `json:"succeeded"` Reason *string `json:"reason"` CreatedAt time.Time `json:"created_at"` } type MailAccount struct { OrganizationID uuid.UUID `json:"organization_id"` UserID uuid.UUID `json:"user_id"` ImapHost string `json:"imap_host"` ImapPort int32 `json:"imap_port"` ImapUsername string `json:"imap_username"` Mailbox string `json:"mailbox"` SyncSent bool `json:"sync_sent"` Enabled bool `json:"enabled"` VerifiedAt *time.Time `json:"verified_at"` LastSyncAt *time.Time `json:"last_sync_at"` LastError string `json:"last_error"` LookbackDays int32 `json:"lookback_days"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type Message struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` CandidateID *uuid.UUID `json:"candidate_id"` ContactID *uuid.UUID `json:"contact_id"` RequisitionID *uuid.UUID `json:"requisition_id"` ApplicationID *uuid.UUID `json:"application_id"` Channel string `json:"channel"` Direction string `json:"direction"` ToAddress string `json:"to_address"` FromAddress string `json:"from_address"` Subject string `json:"subject"` Body string `json:"body"` TemplateID *uuid.UUID `json:"template_id"` SentByUserID *uuid.UUID `json:"sent_by_user_id"` Status string `json:"status"` ErrorText string `json:"error_text"` CreatedAt time.Time `json:"created_at"` SentAt *time.Time `json:"sent_at"` } type MessageTemplate struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` Audience string `json:"audience"` Subject string `json:"subject"` Body string `json:"body"` Status string `json:"status"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type MfaRecoveryCode struct { ID uuid.UUID `json:"id"` UserID uuid.UUID `json:"user_id"` OrganizationID uuid.UUID `json:"organization_id"` CodeHash string `json:"code_hash"` PepperVersion int32 `json:"pepper_version"` LookupTag []byte `json:"lookup_tag"` UsedAt *time.Time `json:"used_at"` CreatedAt time.Time `json:"created_at"` } type MfaTotp struct { UserID uuid.UUID `json:"user_id"` OrganizationID uuid.UUID `json:"organization_id"` SecretCiphertext []byte `json:"secret_ciphertext"` SecretNonce []byte `json:"secret_nonce"` KeyVersion int32 `json:"key_version"` Status string `json:"status"` LastUsedStep int64 `json:"last_used_step"` CreatedAt time.Time `json:"created_at"` ActivatedAt *time.Time `json:"activated_at"` } type MissionArea struct { Code string `json:"code"` Name string `json:"name"` Description string `json:"description"` SpineTerm *string `json:"spine_term"` SortOrder int32 `json:"sort_order"` CreatedAt time.Time `json:"created_at"` } type MissionSpine struct { ID uuid.UUID `json:"id"` Version string `json:"version"` Term string `json:"term"` CanonicalDefinition string `json:"canonical_definition"` Authority string `json:"authority"` SourceDoc string `json:"source_doc"` SourceUrl string `json:"source_url"` EffectiveDate pgtype.Date `json:"effective_date"` } type Offer struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ApplicationID uuid.UUID `json:"application_id"` Status string `json:"status"` EmploymentType string `json:"employment_type"` BillRate pgtype.Numeric `json:"bill_rate"` PayRate pgtype.Numeric `json:"pay_rate"` Salary pgtype.Numeric `json:"salary"` FeePct pgtype.Numeric `json:"fee_pct"` ExtendedAt time.Time `json:"extended_at"` RespondedAt *time.Time `json:"responded_at"` ExpiresAt *time.Time `json:"expires_at"` DeclineReason string `json:"decline_reason"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` BurdenPct pgtype.Numeric `json:"burden_pct"` } type OntologyCrosswalk struct { ID uuid.UUID `json:"id"` FromSystem string `json:"from_system"` FromCode string `json:"from_code"` ToSystem string `json:"to_system"` ToCode string `json:"to_code"` Relation string `json:"relation"` SourceName string `json:"source_name"` SyncedAt time.Time `json:"synced_at"` } type OntologyTerm struct { ID uuid.UUID `json:"id"` SourceName string `json:"source_name"` SourceRecordID string `json:"source_record_id"` TermKind string `json:"term_kind"` Term string `json:"term"` Code string `json:"code"` Category string `json:"category"` Description string `json:"description"` RawObjectKey string `json:"raw_object_key"` RawSha256 string `json:"raw_sha256"` FetchedAt time.Time `json:"fetched_at"` SyncedAt time.Time `json:"synced_at"` } type Opportunity struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` Name string `json:"name"` SolicitationNumber *string `json:"solicitation_number"` CustomerAgency *string `json:"customer_agency"` DueDate pgtype.Date `json:"due_date"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Value *decimal.Decimal `json:"value"` ValueSource string `json:"value_source"` FederalRef *string `json:"federal_ref"` } type OpportunityDocument struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` OpportunityVersionID *uuid.UUID `json:"opportunity_version_id"` DocumentType string `json:"document_type"` FileName string `json:"file_name"` MediaType string `json:"media_type"` StorageKey string `json:"storage_key"` SizeBytes int64 `json:"size_bytes"` Sha256 string `json:"sha256"` SourceUrl string `json:"source_url"` SourceType string `json:"source_type"` UploadedByUserID *uuid.UUID `json:"uploaded_by_user_id"` ExtractionStatus string `json:"extraction_status"` ExtractionErrorCode string `json:"extraction_error_code"` SupersedesDocumentID *uuid.UUID `json:"supersedes_document_id"` IsCurrent bool `json:"is_current"` CreatedAt time.Time `json:"created_at"` Provenance string `json:"provenance"` } type OpportunityDocumentChunk struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` DocumentID uuid.UUID `json:"document_id"` PageNumber *int32 `json:"page_number"` SectionLabel string `json:"section_label"` TextContent string `json:"text_content"` ContentHash string `json:"content_hash"` ExtractionMethod string `json:"extraction_method"` Confidence float32 `json:"confidence"` CreatedAt time.Time `json:"created_at"` Provenance string `json:"provenance"` } type OpportunityRecord struct { ID uuid.UUID `json:"id"` SourceName string `json:"source_name"` SourceRecordID string `json:"source_record_id"` DedupeKey string `json:"dedupe_key"` RecordKind string `json:"record_kind"` Title string `json:"title"` Agency string `json:"agency"` SubAgency string `json:"sub_agency"` Naics string `json:"naics"` Psc string `json:"psc"` PopCity string `json:"pop_city"` PopState string `json:"pop_state"` PopCountry string `json:"pop_country"` PopZip string `json:"pop_zip"` SetAside string `json:"set_aside"` SetAsideCode string `json:"set_aside_code"` ContractVehicle string `json:"contract_vehicle"` EstimatedValue *decimal.Decimal `json:"estimated_value"` ValueSource string `json:"value_source"` IncumbentName string `json:"incumbent_name"` IncumbentUei string `json:"incumbent_uei"` PostedDate pgtype.Date `json:"posted_date"` ResponseDeadline *time.Time `json:"response_deadline"` AwardDate pgtype.Date `json:"award_date"` EstimatedAwardDate pgtype.Date `json:"estimated_award_date"` PopStartDate pgtype.Date `json:"pop_start_date"` PopEndDate pgtype.Date `json:"pop_end_date"` UiLink string `json:"ui_link"` IsPlanning bool `json:"is_planning"` RawObjectKey string `json:"raw_object_key"` RawSha256 string `json:"raw_sha256"` FetchedAt time.Time `json:"fetched_at"` SyncedAt time.Time `json:"synced_at"` Embedding *pgvector.Vector `json:"embedding"` SearchTsv interface{} `json:"search_tsv"` Provenance string `json:"provenance"` } type OpportunityScopeItem struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` ScopeType string `json:"scope_type"` Title string `json:"title"` Description string `json:"description"` SourceDocumentID *uuid.UUID `json:"source_document_id"` SourcePageNumber *int32 `json:"source_page_number"` SourceSectionLabel string `json:"source_section_label"` SourceQuoteHash string `json:"source_quote_hash"` ExtractionMethod string `json:"extraction_method"` ExtractionConfidence float32 `json:"extraction_confidence"` ReviewStatus string `json:"review_status"` ReviewedByUserID *uuid.UUID `json:"reviewed_by_user_id"` ReviewedAt *time.Time `json:"reviewed_at"` ParentScopeItemID *uuid.UUID `json:"parent_scope_item_id"` DisplayOrder int32 `json:"display_order"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Provenance string `json:"provenance"` } type OpportunityVersion struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` VersionNumber int32 `json:"version_number"` AmendmentNumber string `json:"amendment_number"` SourceVersionLabel string `json:"source_version_label"` SourcePayloadHash string `json:"source_payload_hash"` NormalizedPayload []byte `json:"normalized_payload"` FetchedAt time.Time `json:"fetched_at"` EffectiveAt *time.Time `json:"effective_at"` SupersedesVersionID *uuid.UUID `json:"supersedes_version_id"` IngestManifestID *uuid.UUID `json:"ingest_manifest_id"` IsCurrent bool `json:"is_current"` CreatedByUserID *uuid.UUID `json:"created_by_user_id"` CreatedAt time.Time `json:"created_at"` } type OrgSecret struct { OrganizationID uuid.UUID `json:"organization_id"` Name string `json:"name"` Ciphertext []byte `json:"ciphertext"` Nonce []byte `json:"nonce"` KeyVersion int32 `json:"key_version"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` UpdatedBy *uuid.UUID `json:"updated_by"` } type OrgSetting struct { OrganizationID uuid.UUID `json:"organization_id"` EmailDeliveryEnabled bool `json:"email_delivery_enabled"` EmailFromAddress *string `json:"email_from_address"` EmailFromName *string `json:"email_from_name"` EmailReplyTo *string `json:"email_reply_to"` SmtpHost *string `json:"smtp_host"` SmtpPort *int32 `json:"smtp_port"` SmtpUsername *string `json:"smtp_username"` SmtpSecurity string `json:"smtp_security"` SmtpVerifiedAt *time.Time `json:"smtp_verified_at"` SmtpLastAttemptAt *time.Time `json:"smtp_last_attempt_at"` SmtpLastError *string `json:"smtp_last_error"` WorkVisibility string `json:"work_visibility"` ShowActivityPresence bool `json:"show_activity_presence"` ClaimRequired bool `json:"claim_required"` ClaimExpiryHours int32 `json:"claim_expiry_hours"` RateVisibility string `json:"rate_visibility"` MarginVisibility string `json:"margin_visibility"` ContactVisibility string `json:"contact_visibility"` InviteExpiryHours int32 `json:"invite_expiry_hours"` DefaultInviteRole string `json:"default_invite_role"` UpdatedAt time.Time `json:"updated_at"` UpdatedBy *uuid.UUID `json:"updated_by"` StaffRecordScope string `json:"staff_record_scope"` ManagerRecordScope string `json:"manager_record_scope"` UnownedRecordsVisible bool `json:"unowned_records_visible"` DefaultBurdenPct pgtype.Numeric `json:"default_burden_pct"` AedtNoticeRequired bool `json:"aedt_notice_required"` } type Organization struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Slug string `json:"slug"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DisplayName *string `json:"display_name"` Logo []byte `json:"logo"` LogoMime *string `json:"logo_mime"` LogoUpdatedAt *time.Time `json:"logo_updated_at"` TimeZone string `json:"time_zone"` } type OutcomeEvent struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Module string `json:"module"` SubjectType string `json:"subject_type"` SubjectID uuid.UUID `json:"subject_id"` EventType string `json:"event_type"` SignalValue decimal.Decimal `json:"signal_value"` ReasonCode string `json:"reason_code"` ActorID *uuid.UUID `json:"actor_id"` OccurredAt time.Time `json:"occurred_at"` Metadata []byte `json:"metadata"` CreatedAt time.Time `json:"created_at"` } type Placement struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ApplicationID uuid.UUID `json:"application_id"` OfferID *uuid.UUID `json:"offer_id"` Status string `json:"status"` EmploymentType string `json:"employment_type"` StartDate pgtype.Date `json:"start_date"` EndDate pgtype.Date `json:"end_date"` BillRate pgtype.Numeric `json:"bill_rate"` PayRate pgtype.Numeric `json:"pay_rate"` Salary pgtype.Numeric `json:"salary"` FeeAmount pgtype.Numeric `json:"fee_amount"` GuaranteeDays int32 `json:"guarantee_days"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` BurdenPct pgtype.Numeric `json:"burden_pct"` } type PolygraphType struct { Code string `json:"code"` Rank int32 `json:"rank"` Label string `json:"label"` } type Proposal struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` Title string `json:"title"` Stage string `json:"stage"` Status string `json:"status"` ProposalOwnerUserID *uuid.UUID `json:"proposal_owner_user_id"` CaptureOwnerUserID *uuid.UUID `json:"capture_owner_user_id"` CustomerDeadline *time.Time `json:"customer_deadline"` InternalDeadline *time.Time `json:"internal_deadline"` SubmittedAt *time.Time `json:"submitted_at"` OutcomeRecordedAt *time.Time `json:"outcome_recorded_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalAttachment struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` AttachmentKind string `json:"attachment_kind"` Required bool `json:"required"` FileName string `json:"file_name"` ObjectKey string `json:"object_key"` ContentSha256 string `json:"content_sha256"` ByteSize int64 `json:"byte_size"` Status string `json:"status"` UploadedByUserID *uuid.UUID `json:"uploaded_by_user_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalComplianceItem struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` RequirementText string `json:"requirement_text"` SourceDocumentID *uuid.UUID `json:"source_document_id"` SourcePageNumber *int32 `json:"source_page_number"` SourceSectionLabel string `json:"source_section_label"` ResponseLocation string `json:"response_location"` OwnerUserID *uuid.UUID `json:"owner_user_id"` DueAt *time.Time `json:"due_at"` Required bool `json:"required"` Status string `json:"status"` EvidenceRef string `json:"evidence_ref"` ReviewerUserID *uuid.UUID `json:"reviewer_user_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalMilestone struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` Kind string `json:"kind"` DueAt *time.Time `json:"due_at"` CompletedAt *time.Time `json:"completed_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalReadinessSnapshot struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` Overall decimal.Decimal `json:"overall"` StaffingCoverage decimal.Decimal `json:"staffing_coverage"` ComplianceMatrix decimal.Decimal `json:"compliance_matrix"` RequiredSections decimal.Decimal `json:"required_sections"` ReviewAndApproval decimal.Decimal `json:"review_and_approval"` ScheduleHealth decimal.Decimal `json:"schedule_health"` RiskPosture decimal.Decimal `json:"risk_posture"` Blockers []byte `json:"blockers"` Drivers []byte `json:"drivers"` AlgorithmVersion string `json:"algorithm_version"` Stale bool `json:"stale"` CalculatedAt time.Time `json:"calculated_at"` } type ProposalRisk struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` Title string `json:"title"` Likelihood string `json:"likelihood"` Impact string `json:"impact"` OwnerUserID *uuid.UUID `json:"owner_user_id"` Mitigation string `json:"mitigation"` TriggerCondition string `json:"trigger_condition"` Status string `json:"status"` RelatedScopeItemID *uuid.UUID `json:"related_scope_item_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalSection struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` SectionCode string `json:"section_code"` Title string `json:"title"` OwnerUserID *uuid.UUID `json:"owner_user_id"` Required bool `json:"required"` PageOrWordLimit string `json:"page_or_word_limit"` DueAt *time.Time `json:"due_at"` DraftStatus string `json:"draft_status"` ReviewStatus string `json:"review_status"` ApprovedByUserID *uuid.UUID `json:"approved_by_user_id"` ApprovedAt *time.Time `json:"approved_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalSectionVersion struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` SectionID uuid.UUID `json:"section_id"` VersionNumber int32 `json:"version_number"` ContentRef string `json:"content_ref"` ContentSha256 string `json:"content_sha256"` AuthoredByUserID *uuid.UUID `json:"authored_by_user_id"` CreatedAt time.Time `json:"created_at"` } type ProposalStaffingLink struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` RequirementID uuid.UUID `json:"requirement_id"` SlateID *uuid.UUID `json:"slate_id"` RequiredQuantity int32 `json:"required_quantity"` ApprovedCount int32 `json:"approved_count"` LaborCategory string `json:"labor_category"` PayRate pgtype.Numeric `json:"pay_rate"` BurdenPct pgtype.Numeric `json:"burden_pct"` BillRate pgtype.Numeric `json:"bill_rate"` WageFloorID *uuid.UUID `json:"wage_floor_id"` RateSource string `json:"rate_source"` RateVersion string `json:"rate_version"` PricedByUserID *uuid.UUID `json:"priced_by_user_id"` PricedAt *time.Time `json:"priced_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ProposalTeamMember struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ProposalID uuid.UUID `json:"proposal_id"` UserID uuid.UUID `json:"user_id"` TeamRole string `json:"team_role"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type RecommendationRun struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` View string `json:"view"` ScopeRef *uuid.UUID `json:"scope_ref"` ModelVersion string `json:"model_version"` Parameters []byte `json:"parameters"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` } type RecruiterActivity struct { OrganizationID uuid.UUID `json:"organization_id"` ID int64 `json:"id"` ActorUserID *uuid.UUID `json:"actor_user_id"` Kind string `json:"kind"` Direction string `json:"direction"` Outcome string `json:"outcome"` CandidateID *uuid.UUID `json:"candidate_id"` ContactID *uuid.UUID `json:"contact_id"` RequisitionID *uuid.UUID `json:"requisition_id"` ApplicationID *uuid.UUID `json:"application_id"` Body string `json:"body"` AutoCaptured bool `json:"auto_captured"` OccurredAt time.Time `json:"occurred_at"` CreatedAt time.Time `json:"created_at"` ActorName string `json:"actor_name"` } type RecruitingGoal struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Scope string `json:"scope"` SubjectID *uuid.UUID `json:"subject_id"` Metric string `json:"metric"` PeriodStart pgtype.Date `json:"period_start"` PeriodDays int32 `json:"period_days"` Target decimal.Decimal `json:"target"` Note string `json:"note"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type RequiredCertification struct { OrganizationID uuid.UUID `json:"organization_id"` RequirementID uuid.UUID `json:"requirement_id"` Name string `json:"name"` } type RequiredSkill struct { OrganizationID uuid.UUID `json:"organization_id"` RequirementID uuid.UUID `json:"requirement_id"` SkillID uuid.UUID `json:"skill_id"` Mandatory bool `json:"mandatory"` } type Requirement struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` OpportunityID *uuid.UUID `json:"opportunity_id"` Title string `json:"title"` CustomerAgency *string `json:"customer_agency"` RequiredLevel string `json:"required_level"` RequiredPoly string `json:"required_poly"` RequiredYears int32 `json:"required_years"` WorkLocation *string `json:"work_location"` RemoteAllowed bool `json:"remote_allowed"` KeyPersonnel bool `json:"key_personnel"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at"` LaborCategory *string `json:"labor_category"` Quantity int32 `json:"quantity"` RequiredCompartments []string `json:"required_compartments"` } type RequirementDraft struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` SourceScopeItemID *uuid.UUID `json:"source_scope_item_id"` LaborCategory string `json:"labor_category"` Quantity int32 `json:"quantity"` ClearanceLevel string `json:"clearance_level"` Polygraph string `json:"polygraph"` Compartments []string `json:"compartments"` RequiredSkills []string `json:"required_skills"` MandatorySkillFlags []bool `json:"mandatory_skill_flags"` RequiredCertifications []string `json:"required_certifications"` MinimumYearsExperience int32 `json:"minimum_years_experience"` RequiredCustomerExperience []string `json:"required_customer_experience"` WorkLocation string `json:"work_location"` RemoteAllowed bool `json:"remote_allowed"` TravelPercent int32 `json:"travel_percent"` AvailabilityDate pgtype.Date `json:"availability_date"` EmploymentType string `json:"employment_type"` PayBandMin pgtype.Numeric `json:"pay_band_min"` PayBandMax pgtype.Numeric `json:"pay_band_max"` BillRateMin pgtype.Numeric `json:"bill_rate_min"` BillRateMax pgtype.Numeric `json:"bill_rate_max"` DerivationMethod string `json:"derivation_method"` DerivationConfidence float32 `json:"derivation_confidence"` ReviewStatus string `json:"review_status"` ReviewedByUserID *uuid.UUID `json:"reviewed_by_user_id"` ReviewedAt *time.Time `json:"reviewed_at"` ApprovedRequirementID *uuid.UUID `json:"approved_requirement_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type RequirementMissionTag struct { OrganizationID uuid.UUID `json:"organization_id"` RequirementID uuid.UUID `json:"requirement_id"` MissionCode string `json:"mission_code"` Mechanism string `json:"mechanism"` Evidence string `json:"evidence"` } type Requisition struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` ClientID *uuid.UUID `json:"client_id"` HiringManagerID *uuid.UUID `json:"hiring_manager_id"` OwnerUserID *uuid.UUID `json:"owner_user_id"` RequirementID *uuid.UUID `json:"requirement_id"` Title string `json:"title"` Description string `json:"description"` LaborCategory string `json:"labor_category"` Openings int32 `json:"openings"` Priority string `json:"priority"` EmploymentType string `json:"employment_type"` Status string `json:"status"` RequiredLevel string `json:"required_level"` RequiredPoly string `json:"required_poly"` WorkLocation string `json:"work_location"` RemoteAllowed bool `json:"remote_allowed"` BillRateMin pgtype.Numeric `json:"bill_rate_min"` BillRateMax pgtype.Numeric `json:"bill_rate_max"` PayRateMin pgtype.Numeric `json:"pay_rate_min"` PayRateMax pgtype.Numeric `json:"pay_rate_max"` SalaryMin pgtype.Numeric `json:"salary_min"` SalaryMax pgtype.Numeric `json:"salary_max"` OpenedAt time.Time `json:"opened_at"` TargetFillDate pgtype.Date `json:"target_fill_date"` ClosedAt *time.Time `json:"closed_at"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt *time.Time `json:"deleted_at"` HeldSeconds decimal.Decimal `json:"held_seconds"` HeldSince *time.Time `json:"held_since"` IntakeSource string `json:"intake_source"` VmsName string `json:"vms_name"` VmsRequisitionRef string `json:"vms_requisition_ref"` SubmissionDeadline *time.Time `json:"submission_deadline"` CompetingVendors *int32 `json:"competing_vendors"` MaxSubmissions *int32 `json:"max_submissions"` } type RequisitionEvent struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` RequisitionID uuid.UUID `json:"requisition_id"` FromStatus *string `json:"from_status"` ToStatus string `json:"to_status"` SecondsInFrom pgtype.Numeric `json:"seconds_in_from"` Note string `json:"note"` ActorUserID *uuid.UUID `json:"actor_user_id"` ActorName string `json:"actor_name"` OccurredAt time.Time `json:"occurred_at"` } type SamOpportunity struct { NoticeID string `json:"notice_id"` Title string `json:"title"` SolicitationNumber string `json:"solicitation_number"` Department string `json:"department"` FullParentPath string `json:"full_parent_path"` SubAgency string `json:"sub_agency"` NaicsCode string `json:"naics_code"` PscCode string `json:"psc_code"` SetAsideCode string `json:"set_aside_code"` SetAside string `json:"set_aside"` NoticeType string `json:"notice_type"` BaseType string `json:"base_type"` PostedDate pgtype.Date `json:"posted_date"` ResponseDeadline *time.Time `json:"response_deadline"` Active bool `json:"active"` PopCity string `json:"pop_city"` PopState string `json:"pop_state"` PopZip string `json:"pop_zip"` UiLink string `json:"ui_link"` DescriptionUrl string `json:"description_url"` ResourceLinks []byte `json:"resource_links"` Poc []byte `json:"poc"` Raw []byte `json:"raw"` Source string `json:"source"` SyncedAt time.Time `json:"synced_at"` Provenance string `json:"provenance"` } type SavedSearch struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` OwnerUserID uuid.UUID `json:"owner_user_id"` Visibility string `json:"visibility"` Criteria []byte `json:"criteria"` Pinned bool `json:"pinned"` LastRunAt *time.Time `json:"last_run_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type Skill struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Category *string `json:"category"` Embedding *pgvector.Vector `json:"embedding"` CreatedAt time.Time `json:"created_at"` Source string `json:"source"` SocCode string `json:"soc_code"` } type SkillAlias struct { ID uuid.UUID `json:"id"` SkillID uuid.UUID `json:"skill_id"` AliasText string `json:"alias_text"` AliasType string `json:"alias_type"` Source string `json:"source"` Confidence decimal.Decimal `json:"confidence"` VerifiedAt *time.Time `json:"verified_at"` CreatedAt time.Time `json:"created_at"` } type SkillRelationship struct { ID uuid.UUID `json:"id"` FromSkillID uuid.UUID `json:"from_skill_id"` ToSkillID uuid.UUID `json:"to_skill_id"` Relation string `json:"relation"` Strength decimal.Decimal `json:"strength"` Source string `json:"source"` VerifiedAt *time.Time `json:"verified_at"` CreatedAt time.Time `json:"created_at"` Verifier *uuid.UUID `json:"verifier"` } type Slate struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` RequirementID uuid.UUID `json:"requirement_id"` Name string `json:"name"` Status string `json:"status"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type SlateMember struct { OrganizationID uuid.UUID `json:"organization_id"` SlateID uuid.UUID `json:"slate_id"` CandidateID uuid.UUID `json:"candidate_id"` TotalScore decimal.Decimal `json:"total_score"` Band string `json:"band"` ClearanceScore decimal.Decimal `json:"clearance_score"` SkillsScore decimal.Decimal `json:"skills_score"` CertsScore decimal.Decimal `json:"certs_score"` CustomerScore decimal.Decimal `json:"customer_score"` ExperienceScore decimal.Decimal `json:"experience_score"` LocationScore decimal.Decimal `json:"location_score"` Explanation string `json:"explanation"` Trace []byte `json:"trace"` GapSummary []byte `json:"gap_summary"` Decision string `json:"decision"` DecidedBy *uuid.UUID `json:"decided_by"` DecidedAt *time.Time `json:"decided_at"` Rank *int32 `json:"rank"` CreatedAt time.Time `json:"created_at"` ModelVersion *string `json:"model_version"` DecisionNote *string `json:"decision_note"` Status string `json:"status"` ApprovedByUserID *uuid.UUID `json:"approved_by_user_id"` ApprovedAt *time.Time `json:"approved_at"` WithdrawnByUserID *uuid.UUID `json:"withdrawn_by_user_id"` WithdrawnAt *time.Time `json:"withdrawn_at"` WithdrawalReason string `json:"withdrawal_reason"` } type SolicitationExtraction struct { ID uuid.UUID `json:"id"` OpportunityRecordID uuid.UUID `json:"opportunity_record_id"` LaborCategory *string `json:"labor_category"` RequiredClearance *string `json:"required_clearance"` RequiredSkills []byte `json:"required_skills"` RequiredCertifications []byte `json:"required_certifications"` RequiredYears *int32 `json:"required_years"` Confidence pgtype.Numeric `json:"confidence"` ModelVersion string `json:"model_version"` SourceSignal *string `json:"source_signal"` ExtractStatus string `json:"extract_status"` ExtractedAt time.Time `json:"extracted_at"` } type SourcingLog struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` CandidateID *uuid.UUID `json:"candidate_id"` ExternalID string `json:"external_id"` Source string `json:"source"` Provider string `json:"provider"` Query string `json:"query"` LegalBasis string `json:"legal_basis"` CollectedAt time.Time `json:"collected_at"` CreatedAt time.Time `json:"created_at"` } type StaffingRecommendation struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` RunID uuid.UUID `json:"run_id"` RequirementID uuid.UUID `json:"requirement_id"` CandidateID *uuid.UUID `json:"candidate_id"` Action string `json:"action"` Rank int32 `json:"rank"` Confidence decimal.Decimal `json:"confidence"` ValueScore *int64 `json:"value_score"` Rationale string `json:"rationale"` RationaleSource string `json:"rationale_source"` Evidence []byte `json:"evidence"` Status string `json:"status"` DecidedBy *uuid.UUID `json:"decided_by"` DecidedAt *time.Time `json:"decided_at"` DecisionNote *string `json:"decision_note"` CreatedAt time.Time `json:"created_at"` } type StaffingVendor struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` Uei string `json:"uei"` VendorType string `json:"vendor_type"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type SyncedMessage struct { OrganizationID uuid.UUID `json:"organization_id"` MessageID string `json:"message_id"` UserID uuid.UUID `json:"user_id"` Direction string `json:"direction"` MatchedKind *string `json:"matched_kind"` MatchedID *uuid.UUID `json:"matched_id"` ActivityID *int64 `json:"activity_id"` SyncedAt time.Time `json:"synced_at"` } type Task struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` AssignedTo *uuid.UUID `json:"assigned_to"` Title string `json:"title"` Detail string `json:"detail"` Status string `json:"status"` Priority string `json:"priority"` DueAt *time.Time `json:"due_at"` CompletedAt *time.Time `json:"completed_at"` CandidateID *uuid.UUID `json:"candidate_id"` ContactID *uuid.UUID `json:"contact_id"` RequisitionID *uuid.UUID `json:"requisition_id"` ApplicationID *uuid.UUID `json:"application_id"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type TeachingSignalAggregate struct { ID uuid.UUID `json:"id"` TenantID *uuid.UUID `json:"tenant_id"` DpApplied bool `json:"dp_applied"` Pattern string `json:"pattern"` Band string `json:"band"` Outcome string `json:"outcome"` ModelVersion string `json:"model_version"` Observations int32 `json:"observations"` Successes int32 `json:"successes"` WindowStart pgtype.Date `json:"window_start"` WindowEnd pgtype.Date `json:"window_end"` CreatedAt time.Time `json:"created_at"` } type Team struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` Name string `json:"name"` LeadUserID *uuid.UUID `json:"lead_user_id"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type TeamMember struct { OrganizationID uuid.UUID `json:"organization_id"` TeamID uuid.UUID `json:"team_id"` UserID uuid.UUID `json:"user_id"` AddedAt time.Time `json:"added_at"` AddedBy *uuid.UUID `json:"added_by"` } type TeamingPartner struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` OpportunityID uuid.UUID `json:"opportunity_id"` CompanyName string `json:"company_name"` PartnerRole string `json:"partner_role"` Status string `json:"status"` Uei string `json:"uei"` CageCode string `json:"cage_code"` SetAsides []string `json:"set_asides"` ScopeSummary string `json:"scope_summary"` AgreementSignedOn pgtype.Date `json:"agreement_signed_on"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type TenantDirectory struct { OrganizationID uuid.UUID `json:"organization_id"` DbName string `json:"db_name"` DbHost string `json:"db_host"` DbPort int32 `json:"db_port"` ConnectionSecretRef string `json:"connection_secret_ref"` Status string `json:"status"` Cloud string `json:"cloud"` Region string `json:"region"` LastMigratedVersion *int64 `json:"last_migrated_version"` LastMigratedAt *time.Time `json:"last_migrated_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type TermExpansion struct { ID uuid.UUID `json:"id"` OrganizationID *uuid.UUID `json:"organization_id"` Alias string `json:"alias"` Expansion string `json:"expansion"` CreatedBy *uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` } type TrackedOpportunity struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` PublicOpportunityID *uuid.UUID `json:"public_opportunity_id"` SourceType string `json:"source_type"` SourceRecordID string `json:"source_record_id"` SamNoticeID string `json:"sam_notice_id"` Title string `json:"title"` SolicitationNumber string `json:"solicitation_number"` AgencyName string `json:"agency_name"` OfficeName string `json:"office_name"` NoticeType string `json:"notice_type"` SetAsideCode string `json:"set_aside_code"` NaicsCode string `json:"naics_code"` PscCode string `json:"psc_code"` PlaceOfPerformance string `json:"place_of_performance"` PostedAt *time.Time `json:"posted_at"` ResponseDeadline *time.Time `json:"response_deadline"` EstimatedValueMin pgtype.Numeric `json:"estimated_value_min"` EstimatedValueMax pgtype.Numeric `json:"estimated_value_max"` CeilingValue pgtype.Numeric `json:"ceiling_value"` PeriodOfPerformanceStart pgtype.Date `json:"period_of_performance_start"` PeriodOfPerformanceEnd pgtype.Date `json:"period_of_performance_end"` IncumbentName string `json:"incumbent_name"` PrimeOrSub string `json:"prime_or_sub"` CaptureOwnerUserID *uuid.UUID `json:"capture_owner_user_id"` Status string `json:"status"` SourceUrl string `json:"source_url"` SourceManifestID *uuid.UUID `json:"source_manifest_id"` CreatedByUserID *uuid.UUID `json:"created_by_user_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type UsaspendingAward struct { GeneratedInternalID string `json:"generated_internal_id"` AwardID string `json:"award_id"` RecipientName string `json:"recipient_name"` RecipientUei string `json:"recipient_uei"` RecipientID string `json:"recipient_id"` AwardAmount *decimal.Decimal `json:"award_amount"` AwardingAgency string `json:"awarding_agency"` AwardingSubAgency string `json:"awarding_sub_agency"` PopStartDate pgtype.Date `json:"pop_start_date"` PopEndDate pgtype.Date `json:"pop_end_date"` NaicsCode string `json:"naics_code"` NaicsDescription string `json:"naics_description"` Description string `json:"description"` IsGalapagos bool `json:"is_galapagos"` Raw []byte `json:"raw"` Source string `json:"source"` SyncedAt time.Time `json:"synced_at"` } type User struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` Email string `json:"email"` FullName string `json:"full_name"` Role string `json:"role"` Status string `json:"status"` LastLoginAt *time.Time `json:"last_login_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` MfaEnrolled bool `json:"mfa_enrolled"` Title string `json:"title"` Phone string `json:"phone"` } type UserInvite struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` EmailNormalized string `json:"email_normalized"` InvitedUserID uuid.UUID `json:"invited_user_id"` TokenHash []byte `json:"token_hash"` Role string `json:"role"` ExpiresAt time.Time `json:"expires_at"` AcceptedAt *time.Time `json:"accepted_at"` CreatedBy uuid.UUID `json:"created_by"` CreatedAt time.Time `json:"created_at"` } type UserToolAccess struct { OrganizationID uuid.UUID `json:"organization_id"` UserID uuid.UUID `json:"user_id"` Tool string `json:"tool"` GrantedBy *uuid.UUID `json:"granted_by"` GrantedAt time.Time `json:"granted_at"` } type VendorSubmission struct { OrganizationID uuid.UUID `json:"organization_id"` VendorID uuid.UUID `json:"vendor_id"` CandidateID uuid.UUID `json:"candidate_id"` RequirementID uuid.UUID `json:"requirement_id"` SubmittedAt time.Time `json:"submitted_at"` DecidedAt *time.Time `json:"decided_at"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` } type WageDeterminationFloor struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` WdNumber string `json:"wd_number"` WdRevision string `json:"wd_revision"` LaborCategory string `json:"labor_category"` Locality string `json:"locality"` HourlyFloor decimal.Decimal `json:"hourly_floor"` FringeHourly decimal.Decimal `json:"fringe_hourly"` EffectiveFrom pgtype.Date `json:"effective_from"` SourceNote string `json:"source_note"` RecordedByUserID uuid.UUID `json:"recorded_by_user_id"` CreatedAt time.Time `json:"created_at"` } type WorkClaim struct { OrganizationID uuid.UUID `json:"organization_id"` ID uuid.UUID `json:"id"` EntityType string `json:"entity_type"` EntityID uuid.UUID `json:"entity_id"` UserID uuid.UUID `json:"user_id"` Activity string `json:"activity"` Note string `json:"note"` ClaimedAt time.Time `json:"claimed_at"` ExpiresAt time.Time `json:"expires_at"` ReleasedAt *time.Time `json:"released_at"` ReleasedBy *uuid.UUID `json:"released_by"` } type WorkTouch struct { OrganizationID uuid.UUID `json:"organization_id"` EntityType string `json:"entity_type"` EntityID uuid.UUID `json:"entity_id"` UserID uuid.UUID `json:"user_id"` LastSeenAt time.Time `json:"last_seen_at"` }