telescope-prisma-client 0.0.172 → 0.0.173

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1539,8 +1539,8 @@ const config = {
1539
1539
  }
1540
1540
  }
1541
1541
  },
1542
- "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"fullTextSearchPostgres\", \"metrics\"]\n output = \"./src/generatedClient\"\n binaryTargets = [\"native\", \"linux-musl\", \"linux-musl-openssl-3.0.x\", \"darwin\", \"rhel-openssl-1.0.x\", \"debian-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n clientOutput = \"./src/generatedClient\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"POSTGRES_DATABASE_URL\")\n}\n\nmodel User {\n id String @id\n // This is only set if the user came from cognito.\n old_user_id String?\n is_nlp_icp_enabled Boolean? @default(false)\n is_outreach_enabled Boolean? @default(false)\n is_linkedin_outreach_enabled Boolean? @default(false)\n is_csv_export_enabled Boolean? @default(false)\n first_name String? // must be nullable to allow for gdpr deletion\n last_name String? // must be nullable to allow for gdpr deletion\n email String? // @unique\n timezone String?\n onboarded_at DateTime?\n lead_selection_toured_at DateTime?\n email_sequencing_toured_at DateTime?\n campaign_review_toured_at DateTime?\n campaign_homepage_toured_at DateTime?\n browser_extension_last_ping_at DateTime?\n browser_extension_linkedin_url String?\n registered_at DateTime?\n updated_at DateTime? @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n connected_mailboxes ConnectedMailbox[]\n ideal_customer_profiles IdealCustomerProfile[]\n /// [ExtractedWebsitesIdealCustomerProfiles]\n extracted_ideal_customer_profiles Json?\n merge_connection MergeConnection[]\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n ProspectSequenceStep ProspectSequenceStep[]\n recommendations Recommendation[]\n sequences Sequence[]\n SequenceStep SequenceStep[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n credits Int @default(100)\n purchased_slots PurchasedSlots?\n stripe_customer_id String? @unique\n stripe_subscription_id String? @unique\n subscription_expiration DateTime @default(dbgenerated(\"(now() + '1 mon'::interval)\"))\n subscription_tier SubscriptionTierType @default(FREE)\n subscription_billing_interval SubscriptionBillingInterval?\n subscription_cancel_at_period_end Boolean?\n google_click_id String?\n linkedin_click_id String?\n facebook_click_id String?\n reddit_click_id String?\n registered_on_mobile Boolean?\n last_visited_upgrade_pro DateTime?\n assistant_events AssistantEvent[]\n abused_skip_nudges DateTime[]\n referred_by String?\n is_beta Boolean? @default(false)\n /// [LockedActions]\n locked_actions Json?\n is_public_api_enabled Boolean? @default(false)\n email_personalisation_instructions String?\n api_keys ApiKey[]\n outreach_offers OutreachOffer[]\n connected_linkedin_accounts ConnectedLinkedinAccount[]\n mailbox_provider_users MailboxProviderUser[]\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n outreach_messages OutreachMessage[]\n}\n\nmodel ApiKey {\n id String @id @default(uuid())\n key String\n is_valid Boolean @default(true)\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel MergeConnection {\n id String @id @default(uuid())\n user_id String\n account_token String\n webhook_listener_url String?\n crm_name String\n image String?\n image_square String?\n status String?\n crm_slug_name String\n linked_account_id String @unique\n accounts_last_sync_at DateTime?\n contacts_last_sync_at DateTime?\n leads_last_sync_at DateTime?\n deleted_at DateTime?\n user User @relation(fields: [user_id], references: [id])\n merge_crm_accounts MergeCrmAccount[]\n merge_crm_contacts MergeCrmContact[]\n merge_crm_leads MergeCrmLead[]\n\n @@index([linked_account_id])\n}\n\nmodel MergeCrmAccount {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n name String?\n description String?\n industry String?\n website String?\n domain String?\n number_of_employees Int?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n company_id String?\n remote_owner String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n textsearchable_index_col Unsupported(\"tsvector\")? @default(dbgenerated(\"to_tsvector('english'::regconfig, ((COALESCE(name, ''::text) || ' '::text) || COALESCE(description, ''::text)))\"))\n company_prospects CompanyProspect[]\n\n @@index([textsearchable_index_col], type: Gin)\n @@index([company_id, linked_account_id])\n}\n\nmodel MergeCrmContact {\n id String @id @default(uuid())\n created_at DateTime? @default(now())\n merge_crm_account_id String?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n person_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel MergeCrmLead {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n remote_owner String?\n lead_source String?\n remote_was_deleted Boolean?\n merge_crm_converted_account_id String?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n remote_created_at DateTime?\n person_id String?\n remote_updated_at DateTime?\n converted_date DateTime?\n merge_crm_converted_contact_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_converted_account MergeCrmAccount? @relation(fields: [merge_crm_converted_account_id], references: [merge_crm_id])\n merge_crm_converted_contact MergeCrmContact? @relation(fields: [merge_crm_converted_contact_id], references: [merge_crm_id])\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel Campaign {\n id String @id @default(uuid())\n name String\n outreach_status OutreachStatus @default(DISABLED)\n recommendation_mode RecommendationMode @default(LEAD)\n created_from CampaignCreatedFrom @default(CHAT)\n active_icp_id String? @unique\n sequence_id String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n /// [ICPAssistantChatHistory]\n icp_assistant_chat_history Json?\n /// [SelectedExtractedICP]\n selected_extracted_icp Json?\n company_profile_data Json?\n prospect_profile_data Json?\n company_profile_builder_messages Json?\n prospect_profile_builder_messages Json?\n active_recommendations_list_id String? @unique\n clay_webhook_url String?\n clay_auto_sync Boolean? @default(false)\n telescope_v4_type TelescopeV4CampaignType?\n telescope_v4_thread_id String?\n active_recommendations_list RecommendationsList? @relation(\"activeRecommendationsList\", fields: [active_recommendations_list_id], references: [id])\n active_icp IdealCustomerProfile? @relation(\"activeICP\", fields: [active_icp_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n icps IdealCustomerProfile[] @relation(\"ICPs\")\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n recommendations Recommendation[]\n assistant_events AssistantEvent[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[] @relation(\"campaignRecommendationsLists\")\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n prospect_sequence_steps ProspectSequenceStep[]\n}\n\nmodel AssistantEvent {\n id String @id @default(uuid())\n owner_id String\n campaign_id String\n type String\n icp_updated_data Json? // for ManualICPUpdateEvent\n content String? // for UserChatMessageEvent, UserMockedMessageEvent, AssistantAIMessageEvent, AssistantMockedAIMessageEvent\n source String? // for all\n ai_message_json String? // for AssistantAIMessageEvent\n tool_calls Json? // for AssistantAIMessageEvent\n user_interaction_event_id String? // for AssistantAIMessageEvent, AssistantMockedAIMessageEvent, AssistantToolMessageEvent\n rejected_company_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n rejected_person_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n tool_message_json String? // for AssistantToolMessageEvent\n error_message String? // for ErrorEvent\n rejection_reason String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n @@index([owner_id, campaign_id])\n}\n\nmodel Prospect {\n id String @id @default(uuid())\n campaign_id String\n source ProspectSource @default(SWIPING)\n company_name String\n email String?\n email_verification_status VerificationStatus @default(UNVERIFIED)\n linkedin_url String?\n first_name String\n last_name String\n job_title String\n phone_numbers String[]\n phone_number_verification_status VerificationStatus @default(UNVERIFIED)\n person_id String\n company_id String\n recommendation_id String?\n company_prospect_id String?\n merge_crm_account_id String?\n merge_crm_contact_id String?\n merge_crm_lead_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n is_outreach_paused Boolean?\n iana_timezone_name String?\n sequence_id String?\n sequence_mailbox_id String?\n sequence_linkedin_account_id String?\n outreach_status ProspectOutreachStatus?\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n clay_export_status ClayExportStatus?\n clay_exported_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n deleted_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [merge_crm_id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n prospect_interaction_events ProspectInteractionEvent[]\n prospect_sequence_steps ProspectSequenceStep[]\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n sequence_linkedin_account ConnectedLinkedinAccount? @relation(fields: [sequence_linkedin_account_id], references: [id])\n sequence_mailbox ConnectedMailbox? @relation(fields: [sequence_mailbox_id], references: [id])\n outreach_messages OutreachMessage[]\n\n @@index([owner_id])\n @@index([person_id])\n @@index([company_id])\n @@index([campaign_id])\n @@index([owner_id, company_id, deleted_at])\n}\n\nmodel CompanyProspect {\n id String @id @default(uuid())\n source CompanyProspectSource @default(SWIPING)\n company_id String\n company_name String\n linkedin_url String?\n website String?\n industry_tags String[]\n hq_city String?\n hq_admin_division_1 String?\n hq_country String?\n hq_standard_location_ids String[]\n campaign_id String\n recommendation_id String?\n merge_crm_account_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n updated_at DateTime @updatedAt\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n\n @@index([owner_id])\n @@index([company_id])\n @@index([campaign_id])\n}\n\nmodel Recommendation {\n id String @id @default(uuid())\n campaign_id String\n recommendations_list_id String?\n type RecommendationType @default(STANDARD)\n status RecommendationStatus\n mode RecommendationMode @default(COMPANY)\n recommendation_reason String?\n candidate_origin String?\n candidate_version String?\n ranker_score String?\n person_id String?\n person_record_id String?\n company_id String\n company_record_id String\n icp_id String\n icp_match_confidence Int? @default(3)\n merge_crm_lead_id String? @unique\n merge_crm_contact_id String? @unique\n merge_crm_account_id String? @unique\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n owner_id String\n created_at DateTime @default(now())\n resolved_at DateTime?\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n model_info Json?\n /// [RecommendationAdditionalData]\n additional_data Json?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n rejection_reason RecommendationRejectionReason?\n ranker_version Float?\n prospects Prospect[]\n company_prospects CompanyProspect[]\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n company_recommendation_id String?\n company_recommendation Recommendation? @relation(\"CompanyEmployees\", fields: [company_recommendation_id], references: [id])\n employee_recommendations Recommendation[] @relation(\"CompanyEmployees\")\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n recommendations_list RecommendationsList? @relation(fields: [recommendations_list_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n\n @@index([company_recommendation_id])\n @@index([campaign_id, type])\n @@index([person_id])\n @@index([recommendations_list_id])\n @@index([owner_id, recommendations_list_id])\n @@index([resolved_at])\n @@index([owner_id, status, person_id, campaign_id]) // seems like it's not used/working as intended (els query)\n @@index([owner_id, deleted_at, campaign_id, status, person_id])\n}\n\nmodel IdealCustomerProfile {\n id String @id @default(uuid())\n name String?\n campaign_id String\n icp_description String?\n keywords String[]\n negative_keywords String[]\n job_titles String[]\n excluded_job_titles String[]\n /// [ExampleCompanies]\n example_companies Json @default(\"[]\")\n fictive_example_company_descriptions String[]\n /// [CountryCodes]\n country_codes Json?\n /// [CountryCodes]\n employee_country_codes Json?\n /// [FilterableLocations]\n hq_location_filters Json?\n /// [FilterableLocations]\n hq_location_excludes Json?\n /// [FilterableLocations]\n employee_location_filters Json?\n /// [FilterableLocations]\n employee_location_excludes Json?\n industries String[]\n /// [CompanySizeRange]\n company_size_range Json?\n /// [FoundedYearRange]\n founded_year_range Json?\n /// [CompanyRevenueRange]\n company_revenue_range Json?\n company_types String[]\n enrich_email Boolean @default(false)\n require_email Boolean? @default(false)\n only_show_verified_emails Boolean? @default(false)\n enrich_phone_number Boolean @default(false)\n require_phone_number Boolean @default(false)\n only_show_verified_phone_numbers Boolean @default(false)\n hide_companies_in_campaign_ids String[]\n hide_leads_in_campaign_ids String[]\n hide_companies_in_another_campaign Boolean? @default(false)\n hide_leads_in_another_campaign Boolean? @default(false)\n summary_company_descriptive_info String?\n summary_contact_descriptive_info String?\n full_company_descriptive_info String?\n full_contact_descriptive_info String?\n clean_company_descriptive_info String?\n /// [SpecialCriteria]\n special_criteria Json? @default(\"[]\")\n /// [SmartColumns]\n smart_columns Json? @default(\"[]\")\n company_types_description String[]\n /// [CompanySearchTypedKeywords]\n company_search_typed_keywords Json?\n /// [ExtractedCompanyProfiles]\n extracted_company_profiles Json?\n min_company_matching_score Float?\n target_entity ICPTargetEntity @default(LEAD)\n raw_filtering_criteria String[]\n /// [AppliedStandardCriteria]\n applied_standard_criteria Json?\n relevant_data_points ICPRelevantDataPoint[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaign_active_icp Campaign? @relation(\"activeICP\")\n campaign Campaign @relation(\"ICPs\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendations Recommendation[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n}\n\nmodel ConnectedMailbox {\n id String @id @default(uuid())\n status ConnectedMailboxStatus\n type ConnectedMailboxType\n tokens Json?\n email String\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n purchased_email_account_id String? @unique\n max_emails_per_day Int?\n max_emails_per_hour Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n smartlead_email_account_id Int?\n smartlead_account_username String? @default(\"ceo@gotelescope.ai\")\n warmup_enabled Boolean @default(false)\n smartlead_reputation_last_fetched_at DateTime?\n warmup_reputation Float?\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_steps ProspectSequenceStep[]\n purchased_email_account PurchasedEmailAccount? @relation(fields: [purchased_email_account_id], references: [id])\n outreach_messages OutreachMessage[]\n}\n\nmodel MailboxProviderUser {\n id String @id @default(uuid())\n type MailboxProviderType\n provider_user_id String\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n\n @@unique([owner_id, type])\n}\n\nenum MailboxProviderType {\n MAILDOSO\n}\n\nmodel PurchasedSlots {\n id String @id @default(uuid())\n domains_base_slots Int @default(0)\n domains_additional_slots Int @default(0)\n mailboxes_base_slots Int @default(0)\n mailboxes_additional_slots Int @default(0)\n linkedin_base_slots Int @default(0)\n linkedin_additional_slots Int @default(0)\n stripe_subscription_id String? @unique\n owner_id String @unique\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n}\n\nenum PurchaseStatus {\n PENDING\n FULFILLED\n FAILED\n CANCELLED\n}\n\nmodel PurchasedDomain {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n domain_name String\n redirect_to String?\n provider_domain_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_email_accounts PurchasedEmailAccount[]\n}\n\nmodel PurchasedEmailAccount {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n email String\n first_name String?\n last_name String?\n provider_email_account_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n purchased_domain_id String\n purchased_domain PurchasedDomain @relation(fields: [purchased_domain_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n connected_mailbox ConnectedMailbox?\n}\n\nmodel ConnectedLinkedinAccount {\n id String @id @default(uuid())\n unipile_instant_messaging_id String?\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n max_messages_per_hour Int?\n max_messages_per_day Int?\n max_invites_per_hour Int?\n max_invites_per_day Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n prospect_sequence_steps ProspectSequenceStep[]\n outreach_messages OutreachMessage[]\n}\n\nmodel Sequence {\n id String @id @default(uuid())\n steps_ids String[]\n iana_timezone_name String\n /// [ScheduleHourlyRange]\n schedule_hourly_range Json\n /// [ScheduleDailyRanges]\n schedule_daily_ranges Json?\n prioritize_prospect_time_zone Boolean @default(false)\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n owner User @relation(fields: [owner_id], references: [id])\n steps SequenceStep[]\n prospects Prospect[]\n}\n\nmodel SequenceStep {\n id String @id @default(uuid())\n sequence_id String\n type SequenceStepType\n condition SequenceStepCondition?\n seconds_from_previous_step Int\n email_subject String?\n email_body String?\n prompt String?\n outreach_offer_id String?\n linkedin_message String?\n message_generation_mode MessageGenerationMode?\n model_name OutreachPersonalisationModelName?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner_id String\n prospect_sequence_steps ProspectSequenceStep[]\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence @relation(fields: [sequence_id], references: [id])\n outreach_offer OutreachOffer? @relation(fields: [outreach_offer_id], references: [id])\n}\n\nmodel ProspectSequenceStep {\n id String @id @default(uuid())\n prospect_id String\n campaign_id String\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n sequence_step_id String\n status ProspectSequenceStepStatus?\n dispatched_at DateTime?\n confirmed_at DateTime?\n failed_at DateTime?\n thread_id String? // unused now\n message_id String? // unipile email id\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n unipile_email_tracking_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n email_body String?\n email_subject String?\n // TODO: sent to email\n mailbox_id String?\n mailbox ConnectedMailbox? @relation(fields: [mailbox_id], references: [id])\n reply_to_message_id String? // unipile email id\n send_to_thread_id String? // unused now\n linkedin_account_id String?\n linkedin_account ConnectedLinkedinAccount? @relation(fields: [linkedin_account_id], references: [id])\n linkedin_message String?\n owner_id String\n scheduled_at DateTime?\n prospect_interaction_events_responses ProspectInteractionEvent[]\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n sequence_step SequenceStep @relation(fields: [sequence_step_id], references: [id])\n deleted_at DateTime?\n\n @@index([prospect_id, owner_id])\n @@index([owner_id])\n}\n\nmodel ProspectInteractionEvent {\n id String @id @default(uuid())\n campaign_id String\n prospect_id String\n in_resp_to_prospect_sequence_step_id String\n type ProspectInteractionEventType\n thread_id String? // unused now\n message_id String?\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n sent_at DateTime\n is_auto_reply Boolean?\n text_reply String?\n html_reply String?\n prospect_interest ProspectInterestType\n prospect_interest_value Float?\n prospect_interest_reason String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n interest_analysed_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n in_resp_to_prospect_sequence_step ProspectSequenceStep @relation(fields: [in_resp_to_prospect_sequence_step_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n deleted_at DateTime?\n}\n\nenum MessageChannelType {\n EMAIL\n LINKEDIN\n}\n\nenum MessageDirection {\n SENT\n RECEIVED\n}\n\nmodel OutreachMessage {\n id String @id @default(uuid())\n unipile_tracking_id String? @unique\n unipile_message_id String? @unique\n channel_type MessageChannelType\n direction MessageDirection\n content String\n date DateTime?\n read_at DateTime?\n // Email-specific fields\n email_subject String?\n /// [EmailAttendees]\n email_to Json?\n /// [EmailAttendee]\n email_from Json?\n email_cc String[]\n // LinkedIn-specific fields \n linkedin_is_inmail Boolean?\n linkedin_api_type String?\n // Relations\n prospect_id String?\n prospect Prospect? @relation(fields: [prospect_id], references: [id])\n connected_mailbox_id String?\n connected_mailbox ConnectedMailbox? @relation(fields: [connected_mailbox_id], references: [id])\n connected_linkedin_account_id String?\n connected_linkedin_account ConnectedLinkedinAccount? @relation(fields: [connected_linkedin_account_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_step ProspectSequenceStep?\n prospect_interaction_event ProspectInteractionEvent?\n\n @@index([unipile_tracking_id])\n @@index([unipile_message_id])\n @@index([prospect_id, owner_id])\n}\n\nmodel EmailEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n email String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verification_provider String?\n neverbounce_raw_response Json?\n verification_raw_response Json?\n verified_at DateTime?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nmodel PhoneNumberEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n phone_number String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verified_at DateTime?\n verification_provider String?\n verification_raw_response Json?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nenum VerificationStatus {\n VALID\n INVALID\n UNKNOWN\n UNVERIFIED\n}\n\nenum EvaluatedCandidateType {\n COMPANY\n PERSON\n}\n\nmodel EvaluatedCandidate {\n id String @id\n icp_id String\n entity_type EvaluatedCandidateType\n company_id String\n company_candidate_person_ids String[]\n person_id String?\n recommendation_reason String?\n company_matching_score Float?\n company_matching_result String?\n person_matching_score Float?\n person_matching_result String?\n loaded_special_criteria_data_points Json?\n evaluation_score Float?\n generator_name String?\n generator_version String?\n version Float?\n campaign_id String\n owner_id String\n metadata Json?\n created_at DateTime @default(now())\n\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n evaluated_candidate_special_criteria_evaluation_results EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([company_id])\n @@index([icp_id, company_id])\n @@index([icp_id, entity_type, version, created_at])\n @@index([icp_id, company_matching_score, entity_type, version, company_id, created_at])\n}\n\nmodel EvaluatedCandidateSpecialCriteriaEvaluationResult {\n evaluated_candidate_id String\n special_criteria_evaluation_result_id String\n\n evaluated_candidate EvaluatedCandidate @relation(fields: [evaluated_candidate_id], references: [id])\n special_criteria_evaluation_result SpecialCriteriaEvaluationResult @relation(fields: [special_criteria_evaluation_result_id], references: [id])\n\n @@id([evaluated_candidate_id, special_criteria_evaluation_result_id])\n}\n\nmodel SpecialCriteriaEvaluationResult {\n id String @id\n entity_type EvaluatedCandidateType\n entity_id String\n special_criterion Json\n special_criterion_text String\n matching_result String\n evaluation_score Float?\n reason String?\n expanded_reason String?\n version Float?\n\n created_at DateTime @default(now())\n\n evaluated_candidates EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([entity_type, entity_id, special_criterion_text])\n}\n\nmodel RecommendationsList {\n id String @id @default(uuid())\n icp_id String\n campaign_id String\n owner_id String\n status RecommendationsListStatus\n user_feedback_level RecommendationsListUserFeedbackLevel?\n user_feedback_text String?\n requested_size Int\n parent_list_id String?\n max_employee_results Int?\n auto_add_prospects Boolean?\n auto_add_company_prospects Boolean?\n auto_add_recommendations Boolean? @default(true)\n credit_cost_policy RecommendationsListCreditCostPolicy @default(FREE)\n webhook_url String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n recommendations Recommendation[]\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n active_campaign Campaign? @relation(\"activeRecommendationsList\")\n campaign Campaign @relation(\"campaignRecommendationsLists\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel OutreachOffer {\n id String @id @default(uuid())\n name String\n company_name String\n source_url String?\n source_type OutreachOfferSourceType\n\n raw_text String?\n\n ideal_customer_profile String?\n problem_statement String? // can be multiple problems, pain points, etc.\n status_quo String?\n solution String?\n concerns String?\n competitive_advantage String?\n results String? // proofs, case studies, etc.\n\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner User @relation(fields: [owner_id], references: [id])\n sequence_steps SequenceStep[]\n}\n\nenum OutreachOfferSourceType {\n WEBPAGE\n RAW_TEXT\n FORM\n}\n\nenum RecommendationsListStatus {\n GENERATING\n FETCH_MORE\n PAUSING\n PAUSED\n ERROR\n SUCCESS\n NO_RESULTS\n}\n\nenum RecommendationsListUserFeedbackLevel {\n INFO\n WARNING\n ERROR\n}\n\nenum MergeCrmExportStatus {\n SUCCESS\n FAILED\n}\n\nenum OutreachStatus {\n RUNNING\n PAUSED\n DISABLED\n}\n\nenum RecommendationStatus {\n ACCEPTED\n REJECTED\n PENDING\n SKIPPED\n IGNORED\n NOT_SEEN\n}\n\nenum RecommendationMode {\n LEAD\n COMPANY\n}\n\nenum RecommendationType {\n STANDARD\n DAILY\n LIST\n}\n\nenum RecommendationRejectionReason {\n NOT_RELEVANT\n WRONG_POSITION_RIGHT_COMPANY\n RIGHT_POSITION_WRONG_COMPANY\n EXISTING_CUSTOMER\n ALREADY_CONTACTED\n OTHER\n DISCARDED\n}\n\nenum ConnectedMailboxStatus {\n CONNECTED\n DISCONNECTED\n}\n\nenum ConnectedMailboxType {\n GMAIL\n OUTLOOK\n IMAP\n}\n\nenum SequenceStepType {\n EMAIL\n LINKEDIN_CONNECTION\n LINKEDIN_MESSAGE\n}\n\nenum SequenceStepCondition {\n LINKEDIN_ACCEPTED_CONNECTION\n LINKEDIN_CONNECTION_NOT_ACCEPTED\n}\n\nenum ProspectSequenceStepStatus {\n PENDING\n COMPLETED\n ERROR\n SCHEDULED\n}\n\nenum ProspectInterestType {\n POSITIVE\n NEGATIVE\n UNKNOWN\n}\n\nenum ProspectInteractionEventType {\n EMAIL_REPLY\n EMAIL_BOUNCE_NOTIFICATION\n EMAIL_OOO_NOTIFICATION\n EMAIL_UNSUBSCRIBE_REQUEST\n EMAIL_NO_LONGER_AT_COMPANY_NOTIFICATION\n EMAIL_OPENED\n LINKEDIN_CONNECTION_ACCEPTED\n LINKEDIN_REPLY\n}\n\nenum SubscriptionTierType {\n FREE\n BASIC\n PRO\n PRO_OUTREACH\n OUTREACH_SCALE\n UNLIMITED\n}\n\nenum SubscriptionBillingInterval {\n MONTH\n YEAR\n}\n\nenum ClayExportStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum ContactDataType {\n EMAIL\n PHONE_NUMBER\n}\n\nenum ContactDataEnrichmentJobStatus {\n PENDING\n RUNNING\n SUCCESS\n FAILED\n STOPPING\n STOPPED\n}\n\nenum ContactDataEnrichmentEntityType {\n RECOMMENDATION\n PROSPECT\n}\n\nmodel ContactDataEnrichmentJob {\n id String @id @default(uuid())\n campaign_id String\n contact_data_type ContactDataType\n entity ContactDataEnrichmentEntityType\n status ContactDataEnrichmentJobStatus\n entity_ids String[]\n enriched_entities_count Int @default(0)\n started_at DateTime\n notify_by_email Boolean @default(false)\n finished_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n\n @@index([status, started_at, campaign_id, owner_id])\n}\n\nenum ContactDataEnrichmentStatus {\n PENDING\n LOADING\n SUCCESS\n ERROR\n}\n\nenum CampaignCreatedFrom {\n CHAT\n UPLOAD\n API\n TELESCOPE_V4\n SIMILAR_COMPANIES\n}\n\nenum ProspectSource {\n SWIPING\n GENERATED_LIST\n MORE_PROSPECTS_MODAL\n IMPORTED\n}\n\nenum CompanyProspectSource {\n SWIPING\n GENERATED_LIST\n IMPORTED\n SIMILAR\n}\n\nenum ICPTargetEntity {\n LEAD\n COMPANY\n PERSON\n}\n\nenum ICPRelevantDataPoint {\n COMPANY_HQ_LOCATION\n COMPANY_HEADCOUNT\n COMPANY_REVENUE\n COMPANY_FOUNDED_YEAR\n COMPANY_TYPE\n COMPANY_STAGE\n COMPANY_INDUSTRIES\n COMPANY_TECHNOLOGIES\n COMPANY_PRODUCTS\n COMPANY_SERVICES\n COMPANY_B2B_B2C\n PERSON_JOB_TITLE\n PERSON_LOCATION\n PERSON_EMAIL\n PERSON_PHONE_NUMBER\n PERSON_DEGREE\n PERSON_UNIVERSITY\n PERSON_EDUCATION\n PERSON_EXPERIENCE\n PERSON_SKILLS\n}\n\nenum TelescopeV4CampaignType {\n GENERATED_LIST\n UPLOADED_LIST\n SAMPLE\n}\n\nenum RecommendationsListCreditCostPolicy {\n FREE\n SIMPLE // 1 credit per lead\n COST_BASED // 1 credit per lead + 1 / emails + 5 / phone number + 1 / per lead per advanced data point required\n}\n\nenum ProspectOutreachStatus {\n RUNNING\n COMPLETED\n}\n\nenum MessageGenerationMode {\n PROMPT\n TEMPLATE\n}\n\nenum OutreachPersonalisationModelName {\n GEMINI_2_0_FLASH\n CLAUDE_3_7_SONNET\n GPT_4O\n}\n",
1543
- "inlineSchemaHash": "15090deb94026b811024be344751dbd62b2092298a9d4d9fe53daefdbb07b5e8",
1542
+ "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"fullTextSearchPostgres\", \"metrics\"]\n output = \"./src/generatedClient\"\n binaryTargets = [\"native\", \"linux-musl\", \"linux-musl-openssl-3.0.x\", \"darwin\", \"rhel-openssl-1.0.x\", \"debian-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n clientOutput = \"./src/generatedClient\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"POSTGRES_DATABASE_URL\")\n}\n\nmodel User {\n id String @id\n // This is only set if the user came from cognito.\n old_user_id String?\n is_nlp_icp_enabled Boolean? @default(false)\n is_outreach_enabled Boolean? @default(false)\n is_linkedin_outreach_enabled Boolean? @default(false)\n is_csv_export_enabled Boolean? @default(false)\n first_name String? // must be nullable to allow for gdpr deletion\n last_name String? // must be nullable to allow for gdpr deletion\n email String? // @unique\n timezone String?\n onboarded_at DateTime?\n lead_selection_toured_at DateTime?\n email_sequencing_toured_at DateTime?\n campaign_review_toured_at DateTime?\n campaign_homepage_toured_at DateTime?\n browser_extension_last_ping_at DateTime?\n browser_extension_linkedin_url String?\n registered_at DateTime?\n updated_at DateTime? @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n connected_mailboxes ConnectedMailbox[]\n ideal_customer_profiles IdealCustomerProfile[]\n /// [ExtractedWebsitesIdealCustomerProfiles]\n extracted_ideal_customer_profiles Json?\n merge_connection MergeConnection[]\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n ProspectSequenceStep ProspectSequenceStep[]\n recommendations Recommendation[]\n sequences Sequence[]\n SequenceStep SequenceStep[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n credits Int @default(100)\n purchased_slots PurchasedSlots?\n stripe_customer_id String? @unique\n stripe_subscription_id String? @unique\n subscription_expiration DateTime @default(dbgenerated(\"(now() + '1 mon'::interval)\"))\n subscription_tier SubscriptionTierType @default(FREE)\n subscription_billing_interval SubscriptionBillingInterval?\n subscription_cancel_at_period_end Boolean?\n google_click_id String?\n linkedin_click_id String?\n facebook_click_id String?\n reddit_click_id String?\n registered_on_mobile Boolean?\n last_visited_upgrade_pro DateTime?\n assistant_events AssistantEvent[]\n abused_skip_nudges DateTime[]\n referred_by String?\n is_beta Boolean? @default(false)\n /// [LockedActions]\n locked_actions Json?\n is_public_api_enabled Boolean? @default(false)\n email_personalisation_instructions String?\n api_keys ApiKey[]\n outreach_offers OutreachOffer[]\n connected_linkedin_accounts ConnectedLinkedinAccount[]\n mailbox_provider_users MailboxProviderUser[]\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n outreach_messages OutreachMessage[]\n}\n\nmodel ApiKey {\n id String @id @default(uuid())\n key String\n is_valid Boolean @default(true)\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel MergeConnection {\n id String @id @default(uuid())\n user_id String\n account_token String\n webhook_listener_url String?\n crm_name String\n image String?\n image_square String?\n status String?\n crm_slug_name String\n linked_account_id String @unique\n accounts_last_sync_at DateTime?\n contacts_last_sync_at DateTime?\n leads_last_sync_at DateTime?\n deleted_at DateTime?\n user User @relation(fields: [user_id], references: [id])\n merge_crm_accounts MergeCrmAccount[]\n merge_crm_contacts MergeCrmContact[]\n merge_crm_leads MergeCrmLead[]\n\n @@index([linked_account_id])\n}\n\nmodel MergeCrmAccount {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n name String?\n description String?\n industry String?\n website String?\n domain String?\n number_of_employees Int?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n company_id String?\n remote_owner String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n textsearchable_index_col Unsupported(\"tsvector\")? @default(dbgenerated(\"to_tsvector('english'::regconfig, ((COALESCE(name, ''::text) || ' '::text) || COALESCE(description, ''::text)))\"))\n company_prospects CompanyProspect[]\n\n @@index([textsearchable_index_col], type: Gin)\n @@index([company_id, linked_account_id])\n}\n\nmodel MergeCrmContact {\n id String @id @default(uuid())\n created_at DateTime? @default(now())\n merge_crm_account_id String?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n person_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel MergeCrmLead {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n remote_owner String?\n lead_source String?\n remote_was_deleted Boolean?\n merge_crm_converted_account_id String?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n remote_created_at DateTime?\n person_id String?\n remote_updated_at DateTime?\n converted_date DateTime?\n merge_crm_converted_contact_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_converted_account MergeCrmAccount? @relation(fields: [merge_crm_converted_account_id], references: [merge_crm_id])\n merge_crm_converted_contact MergeCrmContact? @relation(fields: [merge_crm_converted_contact_id], references: [merge_crm_id])\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel Campaign {\n id String @id @default(uuid())\n name String\n outreach_status OutreachStatus @default(DISABLED)\n recommendation_mode RecommendationMode @default(LEAD)\n created_from CampaignCreatedFrom @default(CHAT)\n active_icp_id String? @unique\n sequence_id String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n /// [ICPAssistantChatHistory]\n icp_assistant_chat_history Json?\n /// [SelectedExtractedICP]\n selected_extracted_icp Json?\n company_profile_data Json?\n prospect_profile_data Json?\n company_profile_builder_messages Json?\n prospect_profile_builder_messages Json?\n active_recommendations_list_id String? @unique\n clay_webhook_url String?\n clay_auto_sync Boolean? @default(false)\n telescope_v4_type TelescopeV4CampaignType?\n telescope_v4_thread_id String?\n active_recommendations_list RecommendationsList? @relation(\"activeRecommendationsList\", fields: [active_recommendations_list_id], references: [id])\n active_icp IdealCustomerProfile? @relation(\"activeICP\", fields: [active_icp_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n icps IdealCustomerProfile[] @relation(\"ICPs\")\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n recommendations Recommendation[]\n assistant_events AssistantEvent[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[] @relation(\"campaignRecommendationsLists\")\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n prospect_sequence_steps ProspectSequenceStep[]\n}\n\nmodel AssistantEvent {\n id String @id @default(uuid())\n owner_id String\n campaign_id String\n type String\n icp_updated_data Json? // for ManualICPUpdateEvent\n content String? // for UserChatMessageEvent, UserMockedMessageEvent, AssistantAIMessageEvent, AssistantMockedAIMessageEvent\n source String? // for all\n ai_message_json String? // for AssistantAIMessageEvent\n tool_calls Json? // for AssistantAIMessageEvent\n user_interaction_event_id String? // for AssistantAIMessageEvent, AssistantMockedAIMessageEvent, AssistantToolMessageEvent\n rejected_company_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n rejected_person_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n tool_message_json String? // for AssistantToolMessageEvent\n error_message String? // for ErrorEvent\n rejection_reason String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n @@index([owner_id, campaign_id])\n}\n\nmodel Prospect {\n id String @id @default(uuid())\n campaign_id String\n source ProspectSource @default(SWIPING)\n company_name String\n email String?\n email_verification_status VerificationStatus @default(UNVERIFIED)\n linkedin_url String?\n first_name String\n last_name String\n job_title String\n phone_numbers String[]\n phone_number_verification_status VerificationStatus @default(UNVERIFIED)\n person_id String\n company_id String\n recommendation_id String?\n company_prospect_id String?\n merge_crm_account_id String?\n merge_crm_contact_id String?\n merge_crm_lead_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n is_outreach_paused Boolean?\n iana_timezone_name String?\n sequence_id String?\n sequence_mailbox_id String?\n sequence_linkedin_account_id String?\n outreach_status ProspectOutreachStatus?\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n clay_export_status ClayExportStatus?\n clay_exported_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n deleted_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [merge_crm_id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n prospect_interaction_events ProspectInteractionEvent[]\n prospect_sequence_steps ProspectSequenceStep[]\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n sequence_linkedin_account ConnectedLinkedinAccount? @relation(fields: [sequence_linkedin_account_id], references: [id])\n sequence_mailbox ConnectedMailbox? @relation(fields: [sequence_mailbox_id], references: [id])\n outreach_messages OutreachMessage[]\n\n @@index([owner_id])\n @@index([person_id])\n @@index([company_id])\n @@index([campaign_id])\n @@index([owner_id, company_id, deleted_at])\n @@index([email])\n @@index([email_verification_status])\n}\n\nmodel CompanyProspect {\n id String @id @default(uuid())\n source CompanyProspectSource @default(SWIPING)\n company_id String\n company_name String\n linkedin_url String?\n website String?\n industry_tags String[]\n hq_city String?\n hq_admin_division_1 String?\n hq_country String?\n hq_standard_location_ids String[]\n campaign_id String\n recommendation_id String?\n merge_crm_account_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n updated_at DateTime @updatedAt\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n\n @@index([owner_id])\n @@index([company_id])\n @@index([campaign_id])\n}\n\nmodel Recommendation {\n id String @id @default(uuid())\n campaign_id String\n recommendations_list_id String?\n type RecommendationType @default(STANDARD)\n status RecommendationStatus\n mode RecommendationMode @default(COMPANY)\n recommendation_reason String?\n candidate_origin String?\n candidate_version String?\n ranker_score String?\n person_id String?\n person_record_id String?\n company_id String\n company_record_id String\n icp_id String\n icp_match_confidence Int? @default(3)\n merge_crm_lead_id String? @unique\n merge_crm_contact_id String? @unique\n merge_crm_account_id String? @unique\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n owner_id String\n created_at DateTime @default(now())\n resolved_at DateTime?\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n model_info Json?\n /// [RecommendationAdditionalData]\n additional_data Json?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n rejection_reason RecommendationRejectionReason?\n ranker_version Float?\n prospects Prospect[]\n company_prospects CompanyProspect[]\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n company_recommendation_id String?\n company_recommendation Recommendation? @relation(\"CompanyEmployees\", fields: [company_recommendation_id], references: [id])\n employee_recommendations Recommendation[] @relation(\"CompanyEmployees\")\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n recommendations_list RecommendationsList? @relation(fields: [recommendations_list_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n\n @@index([company_recommendation_id])\n @@index([campaign_id, type])\n @@index([person_id])\n @@index([recommendations_list_id])\n @@index([owner_id, recommendations_list_id])\n @@index([resolved_at])\n @@index([owner_id, status, person_id, campaign_id]) // seems like it's not used/working as intended (els query)\n @@index([owner_id, deleted_at, campaign_id, status, person_id])\n}\n\nmodel IdealCustomerProfile {\n id String @id @default(uuid())\n name String?\n campaign_id String\n icp_description String?\n keywords String[]\n negative_keywords String[]\n job_titles String[]\n excluded_job_titles String[]\n /// [ExampleCompanies]\n example_companies Json @default(\"[]\")\n fictive_example_company_descriptions String[]\n /// [CountryCodes]\n country_codes Json?\n /// [CountryCodes]\n employee_country_codes Json?\n /// [FilterableLocations]\n hq_location_filters Json?\n /// [FilterableLocations]\n hq_location_excludes Json?\n /// [FilterableLocations]\n employee_location_filters Json?\n /// [FilterableLocations]\n employee_location_excludes Json?\n industries String[]\n /// [CompanySizeRange]\n company_size_range Json?\n /// [FoundedYearRange]\n founded_year_range Json?\n /// [CompanyRevenueRange]\n company_revenue_range Json?\n company_types String[]\n enrich_email Boolean @default(false)\n require_email Boolean? @default(false)\n only_show_verified_emails Boolean? @default(false)\n enrich_phone_number Boolean @default(false)\n require_phone_number Boolean @default(false)\n only_show_verified_phone_numbers Boolean @default(false)\n hide_companies_in_campaign_ids String[]\n hide_leads_in_campaign_ids String[]\n hide_companies_in_another_campaign Boolean? @default(false)\n hide_leads_in_another_campaign Boolean? @default(false)\n summary_company_descriptive_info String?\n summary_contact_descriptive_info String?\n full_company_descriptive_info String?\n full_contact_descriptive_info String?\n clean_company_descriptive_info String?\n /// [SpecialCriteria]\n special_criteria Json? @default(\"[]\")\n /// [SmartColumns]\n smart_columns Json? @default(\"[]\")\n company_types_description String[]\n /// [CompanySearchTypedKeywords]\n company_search_typed_keywords Json?\n /// [ExtractedCompanyProfiles]\n extracted_company_profiles Json?\n min_company_matching_score Float?\n target_entity ICPTargetEntity @default(LEAD)\n raw_filtering_criteria String[]\n /// [AppliedStandardCriteria]\n applied_standard_criteria Json?\n relevant_data_points ICPRelevantDataPoint[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaign_active_icp Campaign? @relation(\"activeICP\")\n campaign Campaign @relation(\"ICPs\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendations Recommendation[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n}\n\nmodel ConnectedMailbox {\n id String @id @default(uuid())\n status ConnectedMailboxStatus\n type ConnectedMailboxType\n tokens Json?\n email String\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n purchased_email_account_id String? @unique\n max_emails_per_day Int?\n max_emails_per_hour Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n smartlead_email_account_id Int?\n smartlead_account_username String? @default(\"ceo@gotelescope.ai\")\n warmup_enabled Boolean @default(false)\n smartlead_reputation_last_fetched_at DateTime?\n warmup_reputation Float?\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_steps ProspectSequenceStep[]\n purchased_email_account PurchasedEmailAccount? @relation(fields: [purchased_email_account_id], references: [id])\n outreach_messages OutreachMessage[]\n}\n\nmodel MailboxProviderUser {\n id String @id @default(uuid())\n type MailboxProviderType\n provider_user_id String\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n\n @@unique([owner_id, type])\n}\n\nenum MailboxProviderType {\n MAILDOSO\n}\n\nmodel PurchasedSlots {\n id String @id @default(uuid())\n domains_base_slots Int @default(0)\n domains_additional_slots Int @default(0)\n mailboxes_base_slots Int @default(0)\n mailboxes_additional_slots Int @default(0)\n linkedin_base_slots Int @default(0)\n linkedin_additional_slots Int @default(0)\n stripe_subscription_id String? @unique\n owner_id String @unique\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n}\n\nenum PurchaseStatus {\n PENDING\n FULFILLED\n FAILED\n CANCELLED\n}\n\nmodel PurchasedDomain {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n domain_name String\n redirect_to String?\n provider_domain_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_email_accounts PurchasedEmailAccount[]\n}\n\nmodel PurchasedEmailAccount {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n email String\n first_name String?\n last_name String?\n provider_email_account_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n purchased_domain_id String\n purchased_domain PurchasedDomain @relation(fields: [purchased_domain_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n connected_mailbox ConnectedMailbox?\n}\n\nmodel ConnectedLinkedinAccount {\n id String @id @default(uuid())\n unipile_instant_messaging_id String?\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n max_messages_per_hour Int?\n max_messages_per_day Int?\n max_invites_per_hour Int?\n max_invites_per_day Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n prospect_sequence_steps ProspectSequenceStep[]\n outreach_messages OutreachMessage[]\n}\n\nmodel Sequence {\n id String @id @default(uuid())\n steps_ids String[]\n iana_timezone_name String\n /// [ScheduleHourlyRange]\n schedule_hourly_range Json\n /// [ScheduleDailyRanges]\n schedule_daily_ranges Json?\n prioritize_prospect_time_zone Boolean @default(false)\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n owner User @relation(fields: [owner_id], references: [id])\n steps SequenceStep[]\n prospects Prospect[]\n}\n\nmodel SequenceStep {\n id String @id @default(uuid())\n sequence_id String\n type SequenceStepType\n condition SequenceStepCondition?\n seconds_from_previous_step Int\n email_subject String?\n email_body String?\n prompt String?\n outreach_offer_id String?\n linkedin_message String?\n message_generation_mode MessageGenerationMode?\n model_name OutreachPersonalisationModelName?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner_id String\n prospect_sequence_steps ProspectSequenceStep[]\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence @relation(fields: [sequence_id], references: [id])\n outreach_offer OutreachOffer? @relation(fields: [outreach_offer_id], references: [id])\n}\n\nmodel ProspectSequenceStep {\n id String @id @default(uuid())\n prospect_id String\n campaign_id String\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n sequence_step_id String\n status ProspectSequenceStepStatus?\n dispatched_at DateTime?\n confirmed_at DateTime?\n failed_at DateTime?\n thread_id String? // unused now\n message_id String? // unipile email id\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n unipile_email_tracking_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n email_body String?\n email_subject String?\n // TODO: sent to email\n mailbox_id String?\n mailbox ConnectedMailbox? @relation(fields: [mailbox_id], references: [id])\n reply_to_message_id String? // unipile email id\n send_to_thread_id String? // unused now\n linkedin_account_id String?\n linkedin_account ConnectedLinkedinAccount? @relation(fields: [linkedin_account_id], references: [id])\n linkedin_message String?\n owner_id String\n scheduled_at DateTime?\n prospect_interaction_events_responses ProspectInteractionEvent[]\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n sequence_step SequenceStep @relation(fields: [sequence_step_id], references: [id])\n deleted_at DateTime?\n\n @@index([prospect_id, owner_id])\n @@index([owner_id])\n}\n\nmodel ProspectInteractionEvent {\n id String @id @default(uuid())\n campaign_id String\n prospect_id String\n in_resp_to_prospect_sequence_step_id String\n type ProspectInteractionEventType\n thread_id String? // unused now\n message_id String?\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n sent_at DateTime\n is_auto_reply Boolean?\n text_reply String?\n html_reply String?\n prospect_interest ProspectInterestType\n prospect_interest_value Float?\n prospect_interest_reason String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n interest_analysed_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n in_resp_to_prospect_sequence_step ProspectSequenceStep @relation(fields: [in_resp_to_prospect_sequence_step_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n deleted_at DateTime?\n}\n\nenum MessageChannelType {\n EMAIL\n LINKEDIN\n}\n\nenum MessageDirection {\n SENT\n RECEIVED\n}\n\nmodel OutreachMessage {\n id String @id @default(uuid())\n unipile_tracking_id String? @unique\n unipile_message_id String? @unique\n channel_type MessageChannelType\n direction MessageDirection\n content String\n date DateTime?\n read_at DateTime?\n // Email-specific fields\n email_subject String?\n /// [EmailAttendees]\n email_to Json?\n /// [EmailAttendee]\n email_from Json?\n email_cc String[]\n // LinkedIn-specific fields \n linkedin_is_inmail Boolean?\n linkedin_api_type String?\n // Relations\n prospect_id String?\n prospect Prospect? @relation(fields: [prospect_id], references: [id])\n connected_mailbox_id String?\n connected_mailbox ConnectedMailbox? @relation(fields: [connected_mailbox_id], references: [id])\n connected_linkedin_account_id String?\n connected_linkedin_account ConnectedLinkedinAccount? @relation(fields: [connected_linkedin_account_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_step ProspectSequenceStep?\n prospect_interaction_event ProspectInteractionEvent?\n\n @@index([unipile_tracking_id])\n @@index([unipile_message_id])\n @@index([prospect_id, owner_id])\n}\n\nmodel EmailEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n email String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verification_provider String?\n neverbounce_raw_response Json?\n verification_raw_response Json?\n verified_at DateTime?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nmodel PhoneNumberEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n phone_number String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verified_at DateTime?\n verification_provider String?\n verification_raw_response Json?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nenum VerificationStatus {\n VALID\n INVALID\n UNKNOWN\n UNVERIFIED\n}\n\nenum EvaluatedCandidateType {\n COMPANY\n PERSON\n}\n\nmodel EvaluatedCandidate {\n id String @id\n icp_id String\n entity_type EvaluatedCandidateType\n company_id String\n company_candidate_person_ids String[]\n person_id String?\n recommendation_reason String?\n company_matching_score Float?\n company_matching_result String?\n person_matching_score Float?\n person_matching_result String?\n loaded_special_criteria_data_points Json?\n evaluation_score Float?\n generator_name String?\n generator_version String?\n version Float?\n campaign_id String\n owner_id String\n metadata Json?\n created_at DateTime @default(now())\n\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n evaluated_candidate_special_criteria_evaluation_results EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([company_id])\n @@index([icp_id, company_id])\n @@index([icp_id, entity_type, version, created_at])\n @@index([icp_id, company_matching_score, entity_type, version, company_id, created_at])\n}\n\nmodel EvaluatedCandidateSpecialCriteriaEvaluationResult {\n evaluated_candidate_id String\n special_criteria_evaluation_result_id String\n\n evaluated_candidate EvaluatedCandidate @relation(fields: [evaluated_candidate_id], references: [id])\n special_criteria_evaluation_result SpecialCriteriaEvaluationResult @relation(fields: [special_criteria_evaluation_result_id], references: [id])\n\n @@id([evaluated_candidate_id, special_criteria_evaluation_result_id])\n}\n\nmodel SpecialCriteriaEvaluationResult {\n id String @id\n entity_type EvaluatedCandidateType\n entity_id String\n special_criterion Json\n special_criterion_text String\n matching_result String\n evaluation_score Float?\n reason String?\n expanded_reason String?\n version Float?\n\n created_at DateTime @default(now())\n\n evaluated_candidates EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([entity_type, entity_id, special_criterion_text])\n}\n\nmodel RecommendationsList {\n id String @id @default(uuid())\n icp_id String\n campaign_id String\n owner_id String\n status RecommendationsListStatus\n user_feedback_level RecommendationsListUserFeedbackLevel?\n user_feedback_text String?\n requested_size Int\n parent_list_id String?\n max_employee_results Int?\n auto_add_prospects Boolean?\n auto_add_company_prospects Boolean?\n auto_add_recommendations Boolean? @default(true)\n credit_cost_policy RecommendationsListCreditCostPolicy @default(FREE)\n webhook_url String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n recommendations Recommendation[]\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n active_campaign Campaign? @relation(\"activeRecommendationsList\")\n campaign Campaign @relation(\"campaignRecommendationsLists\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel OutreachOffer {\n id String @id @default(uuid())\n name String\n company_name String\n source_url String?\n source_type OutreachOfferSourceType\n\n raw_text String?\n\n ideal_customer_profile String?\n problem_statement String? // can be multiple problems, pain points, etc.\n status_quo String?\n solution String?\n concerns String?\n competitive_advantage String?\n results String? // proofs, case studies, etc.\n\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner User @relation(fields: [owner_id], references: [id])\n sequence_steps SequenceStep[]\n}\n\nenum OutreachOfferSourceType {\n WEBPAGE\n RAW_TEXT\n FORM\n}\n\nenum RecommendationsListStatus {\n GENERATING\n FETCH_MORE\n PAUSING\n PAUSED\n ERROR\n SUCCESS\n NO_RESULTS\n}\n\nenum RecommendationsListUserFeedbackLevel {\n INFO\n WARNING\n ERROR\n}\n\nenum MergeCrmExportStatus {\n SUCCESS\n FAILED\n}\n\nenum OutreachStatus {\n RUNNING\n PAUSED\n DISABLED\n}\n\nenum RecommendationStatus {\n ACCEPTED\n REJECTED\n PENDING\n SKIPPED\n IGNORED\n NOT_SEEN\n}\n\nenum RecommendationMode {\n LEAD\n COMPANY\n}\n\nenum RecommendationType {\n STANDARD\n DAILY\n LIST\n}\n\nenum RecommendationRejectionReason {\n NOT_RELEVANT\n WRONG_POSITION_RIGHT_COMPANY\n RIGHT_POSITION_WRONG_COMPANY\n EXISTING_CUSTOMER\n ALREADY_CONTACTED\n OTHER\n DISCARDED\n}\n\nenum ConnectedMailboxStatus {\n CONNECTED\n DISCONNECTED\n}\n\nenum ConnectedMailboxType {\n GMAIL\n OUTLOOK\n IMAP\n}\n\nenum SequenceStepType {\n EMAIL\n LINKEDIN_CONNECTION\n LINKEDIN_MESSAGE\n}\n\nenum SequenceStepCondition {\n LINKEDIN_ACCEPTED_CONNECTION\n LINKEDIN_CONNECTION_NOT_ACCEPTED\n}\n\nenum ProspectSequenceStepStatus {\n PENDING\n COMPLETED\n ERROR\n SCHEDULED\n}\n\nenum ProspectInterestType {\n POSITIVE\n NEGATIVE\n UNKNOWN\n}\n\nenum ProspectInteractionEventType {\n EMAIL_REPLY\n EMAIL_BOUNCE_NOTIFICATION\n EMAIL_OOO_NOTIFICATION\n EMAIL_UNSUBSCRIBE_REQUEST\n EMAIL_NO_LONGER_AT_COMPANY_NOTIFICATION\n EMAIL_OPENED\n LINKEDIN_CONNECTION_ACCEPTED\n LINKEDIN_REPLY\n}\n\nenum SubscriptionTierType {\n FREE\n BASIC\n PRO\n PRO_OUTREACH\n OUTREACH_SCALE\n UNLIMITED\n}\n\nenum SubscriptionBillingInterval {\n MONTH\n YEAR\n}\n\nenum ClayExportStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum ContactDataType {\n EMAIL\n PHONE_NUMBER\n}\n\nenum ContactDataEnrichmentJobStatus {\n PENDING\n RUNNING\n SUCCESS\n FAILED\n STOPPING\n STOPPED\n}\n\nenum ContactDataEnrichmentEntityType {\n RECOMMENDATION\n PROSPECT\n}\n\nmodel ContactDataEnrichmentJob {\n id String @id @default(uuid())\n campaign_id String\n contact_data_type ContactDataType\n entity ContactDataEnrichmentEntityType\n status ContactDataEnrichmentJobStatus\n entity_ids String[]\n enriched_entities_count Int @default(0)\n started_at DateTime\n notify_by_email Boolean @default(false)\n finished_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n\n @@index([status, started_at, campaign_id, owner_id])\n}\n\nenum ContactDataEnrichmentStatus {\n PENDING\n LOADING\n SUCCESS\n ERROR\n}\n\nenum CampaignCreatedFrom {\n CHAT\n UPLOAD\n API\n TELESCOPE_V4\n SIMILAR_COMPANIES\n}\n\nenum ProspectSource {\n SWIPING\n GENERATED_LIST\n MORE_PROSPECTS_MODAL\n IMPORTED\n}\n\nenum CompanyProspectSource {\n SWIPING\n GENERATED_LIST\n IMPORTED\n SIMILAR\n}\n\nenum ICPTargetEntity {\n LEAD\n COMPANY\n PERSON\n}\n\nenum ICPRelevantDataPoint {\n COMPANY_HQ_LOCATION\n COMPANY_HEADCOUNT\n COMPANY_REVENUE\n COMPANY_FOUNDED_YEAR\n COMPANY_TYPE\n COMPANY_STAGE\n COMPANY_INDUSTRIES\n COMPANY_TECHNOLOGIES\n COMPANY_PRODUCTS\n COMPANY_SERVICES\n COMPANY_B2B_B2C\n PERSON_JOB_TITLE\n PERSON_LOCATION\n PERSON_EMAIL\n PERSON_PHONE_NUMBER\n PERSON_DEGREE\n PERSON_UNIVERSITY\n PERSON_EDUCATION\n PERSON_EXPERIENCE\n PERSON_SKILLS\n}\n\nenum TelescopeV4CampaignType {\n GENERATED_LIST\n UPLOADED_LIST\n SAMPLE\n}\n\nenum RecommendationsListCreditCostPolicy {\n FREE\n SIMPLE // 1 credit per lead\n COST_BASED // 1 credit per lead + 1 / emails + 5 / phone number + 1 / per lead per advanced data point required\n}\n\nenum ProspectOutreachStatus {\n RUNNING\n COMPLETED\n}\n\nenum MessageGenerationMode {\n PROMPT\n TEMPLATE\n}\n\nenum OutreachPersonalisationModelName {\n GEMINI_2_0_FLASH\n CLAUDE_3_7_SONNET\n GPT_4O\n}\n",
1543
+ "inlineSchemaHash": "563be59479d6fedfa35eb043bfc2ab801b6092a8ae65dd78dcf37788a0e37237",
1544
1544
  "copyEngine": true
1545
1545
  }
1546
1546
  config.dirname = '/'
@@ -1540,8 +1540,8 @@ const config = {
1540
1540
  }
1541
1541
  }
1542
1542
  },
1543
- "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"fullTextSearchPostgres\", \"metrics\"]\n output = \"./src/generatedClient\"\n binaryTargets = [\"native\", \"linux-musl\", \"linux-musl-openssl-3.0.x\", \"darwin\", \"rhel-openssl-1.0.x\", \"debian-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n clientOutput = \"./src/generatedClient\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"POSTGRES_DATABASE_URL\")\n}\n\nmodel User {\n id String @id\n // This is only set if the user came from cognito.\n old_user_id String?\n is_nlp_icp_enabled Boolean? @default(false)\n is_outreach_enabled Boolean? @default(false)\n is_linkedin_outreach_enabled Boolean? @default(false)\n is_csv_export_enabled Boolean? @default(false)\n first_name String? // must be nullable to allow for gdpr deletion\n last_name String? // must be nullable to allow for gdpr deletion\n email String? // @unique\n timezone String?\n onboarded_at DateTime?\n lead_selection_toured_at DateTime?\n email_sequencing_toured_at DateTime?\n campaign_review_toured_at DateTime?\n campaign_homepage_toured_at DateTime?\n browser_extension_last_ping_at DateTime?\n browser_extension_linkedin_url String?\n registered_at DateTime?\n updated_at DateTime? @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n connected_mailboxes ConnectedMailbox[]\n ideal_customer_profiles IdealCustomerProfile[]\n /// [ExtractedWebsitesIdealCustomerProfiles]\n extracted_ideal_customer_profiles Json?\n merge_connection MergeConnection[]\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n ProspectSequenceStep ProspectSequenceStep[]\n recommendations Recommendation[]\n sequences Sequence[]\n SequenceStep SequenceStep[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n credits Int @default(100)\n purchased_slots PurchasedSlots?\n stripe_customer_id String? @unique\n stripe_subscription_id String? @unique\n subscription_expiration DateTime @default(dbgenerated(\"(now() + '1 mon'::interval)\"))\n subscription_tier SubscriptionTierType @default(FREE)\n subscription_billing_interval SubscriptionBillingInterval?\n subscription_cancel_at_period_end Boolean?\n google_click_id String?\n linkedin_click_id String?\n facebook_click_id String?\n reddit_click_id String?\n registered_on_mobile Boolean?\n last_visited_upgrade_pro DateTime?\n assistant_events AssistantEvent[]\n abused_skip_nudges DateTime[]\n referred_by String?\n is_beta Boolean? @default(false)\n /// [LockedActions]\n locked_actions Json?\n is_public_api_enabled Boolean? @default(false)\n email_personalisation_instructions String?\n api_keys ApiKey[]\n outreach_offers OutreachOffer[]\n connected_linkedin_accounts ConnectedLinkedinAccount[]\n mailbox_provider_users MailboxProviderUser[]\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n outreach_messages OutreachMessage[]\n}\n\nmodel ApiKey {\n id String @id @default(uuid())\n key String\n is_valid Boolean @default(true)\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel MergeConnection {\n id String @id @default(uuid())\n user_id String\n account_token String\n webhook_listener_url String?\n crm_name String\n image String?\n image_square String?\n status String?\n crm_slug_name String\n linked_account_id String @unique\n accounts_last_sync_at DateTime?\n contacts_last_sync_at DateTime?\n leads_last_sync_at DateTime?\n deleted_at DateTime?\n user User @relation(fields: [user_id], references: [id])\n merge_crm_accounts MergeCrmAccount[]\n merge_crm_contacts MergeCrmContact[]\n merge_crm_leads MergeCrmLead[]\n\n @@index([linked_account_id])\n}\n\nmodel MergeCrmAccount {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n name String?\n description String?\n industry String?\n website String?\n domain String?\n number_of_employees Int?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n company_id String?\n remote_owner String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n textsearchable_index_col Unsupported(\"tsvector\")? @default(dbgenerated(\"to_tsvector('english'::regconfig, ((COALESCE(name, ''::text) || ' '::text) || COALESCE(description, ''::text)))\"))\n company_prospects CompanyProspect[]\n\n @@index([textsearchable_index_col], type: Gin)\n @@index([company_id, linked_account_id])\n}\n\nmodel MergeCrmContact {\n id String @id @default(uuid())\n created_at DateTime? @default(now())\n merge_crm_account_id String?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n person_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel MergeCrmLead {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n remote_owner String?\n lead_source String?\n remote_was_deleted Boolean?\n merge_crm_converted_account_id String?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n remote_created_at DateTime?\n person_id String?\n remote_updated_at DateTime?\n converted_date DateTime?\n merge_crm_converted_contact_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_converted_account MergeCrmAccount? @relation(fields: [merge_crm_converted_account_id], references: [merge_crm_id])\n merge_crm_converted_contact MergeCrmContact? @relation(fields: [merge_crm_converted_contact_id], references: [merge_crm_id])\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel Campaign {\n id String @id @default(uuid())\n name String\n outreach_status OutreachStatus @default(DISABLED)\n recommendation_mode RecommendationMode @default(LEAD)\n created_from CampaignCreatedFrom @default(CHAT)\n active_icp_id String? @unique\n sequence_id String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n /// [ICPAssistantChatHistory]\n icp_assistant_chat_history Json?\n /// [SelectedExtractedICP]\n selected_extracted_icp Json?\n company_profile_data Json?\n prospect_profile_data Json?\n company_profile_builder_messages Json?\n prospect_profile_builder_messages Json?\n active_recommendations_list_id String? @unique\n clay_webhook_url String?\n clay_auto_sync Boolean? @default(false)\n telescope_v4_type TelescopeV4CampaignType?\n telescope_v4_thread_id String?\n active_recommendations_list RecommendationsList? @relation(\"activeRecommendationsList\", fields: [active_recommendations_list_id], references: [id])\n active_icp IdealCustomerProfile? @relation(\"activeICP\", fields: [active_icp_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n icps IdealCustomerProfile[] @relation(\"ICPs\")\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n recommendations Recommendation[]\n assistant_events AssistantEvent[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[] @relation(\"campaignRecommendationsLists\")\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n prospect_sequence_steps ProspectSequenceStep[]\n}\n\nmodel AssistantEvent {\n id String @id @default(uuid())\n owner_id String\n campaign_id String\n type String\n icp_updated_data Json? // for ManualICPUpdateEvent\n content String? // for UserChatMessageEvent, UserMockedMessageEvent, AssistantAIMessageEvent, AssistantMockedAIMessageEvent\n source String? // for all\n ai_message_json String? // for AssistantAIMessageEvent\n tool_calls Json? // for AssistantAIMessageEvent\n user_interaction_event_id String? // for AssistantAIMessageEvent, AssistantMockedAIMessageEvent, AssistantToolMessageEvent\n rejected_company_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n rejected_person_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n tool_message_json String? // for AssistantToolMessageEvent\n error_message String? // for ErrorEvent\n rejection_reason String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n @@index([owner_id, campaign_id])\n}\n\nmodel Prospect {\n id String @id @default(uuid())\n campaign_id String\n source ProspectSource @default(SWIPING)\n company_name String\n email String?\n email_verification_status VerificationStatus @default(UNVERIFIED)\n linkedin_url String?\n first_name String\n last_name String\n job_title String\n phone_numbers String[]\n phone_number_verification_status VerificationStatus @default(UNVERIFIED)\n person_id String\n company_id String\n recommendation_id String?\n company_prospect_id String?\n merge_crm_account_id String?\n merge_crm_contact_id String?\n merge_crm_lead_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n is_outreach_paused Boolean?\n iana_timezone_name String?\n sequence_id String?\n sequence_mailbox_id String?\n sequence_linkedin_account_id String?\n outreach_status ProspectOutreachStatus?\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n clay_export_status ClayExportStatus?\n clay_exported_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n deleted_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [merge_crm_id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n prospect_interaction_events ProspectInteractionEvent[]\n prospect_sequence_steps ProspectSequenceStep[]\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n sequence_linkedin_account ConnectedLinkedinAccount? @relation(fields: [sequence_linkedin_account_id], references: [id])\n sequence_mailbox ConnectedMailbox? @relation(fields: [sequence_mailbox_id], references: [id])\n outreach_messages OutreachMessage[]\n\n @@index([owner_id])\n @@index([person_id])\n @@index([company_id])\n @@index([campaign_id])\n @@index([owner_id, company_id, deleted_at])\n}\n\nmodel CompanyProspect {\n id String @id @default(uuid())\n source CompanyProspectSource @default(SWIPING)\n company_id String\n company_name String\n linkedin_url String?\n website String?\n industry_tags String[]\n hq_city String?\n hq_admin_division_1 String?\n hq_country String?\n hq_standard_location_ids String[]\n campaign_id String\n recommendation_id String?\n merge_crm_account_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n updated_at DateTime @updatedAt\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n\n @@index([owner_id])\n @@index([company_id])\n @@index([campaign_id])\n}\n\nmodel Recommendation {\n id String @id @default(uuid())\n campaign_id String\n recommendations_list_id String?\n type RecommendationType @default(STANDARD)\n status RecommendationStatus\n mode RecommendationMode @default(COMPANY)\n recommendation_reason String?\n candidate_origin String?\n candidate_version String?\n ranker_score String?\n person_id String?\n person_record_id String?\n company_id String\n company_record_id String\n icp_id String\n icp_match_confidence Int? @default(3)\n merge_crm_lead_id String? @unique\n merge_crm_contact_id String? @unique\n merge_crm_account_id String? @unique\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n owner_id String\n created_at DateTime @default(now())\n resolved_at DateTime?\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n model_info Json?\n /// [RecommendationAdditionalData]\n additional_data Json?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n rejection_reason RecommendationRejectionReason?\n ranker_version Float?\n prospects Prospect[]\n company_prospects CompanyProspect[]\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n company_recommendation_id String?\n company_recommendation Recommendation? @relation(\"CompanyEmployees\", fields: [company_recommendation_id], references: [id])\n employee_recommendations Recommendation[] @relation(\"CompanyEmployees\")\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n recommendations_list RecommendationsList? @relation(fields: [recommendations_list_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n\n @@index([company_recommendation_id])\n @@index([campaign_id, type])\n @@index([person_id])\n @@index([recommendations_list_id])\n @@index([owner_id, recommendations_list_id])\n @@index([resolved_at])\n @@index([owner_id, status, person_id, campaign_id]) // seems like it's not used/working as intended (els query)\n @@index([owner_id, deleted_at, campaign_id, status, person_id])\n}\n\nmodel IdealCustomerProfile {\n id String @id @default(uuid())\n name String?\n campaign_id String\n icp_description String?\n keywords String[]\n negative_keywords String[]\n job_titles String[]\n excluded_job_titles String[]\n /// [ExampleCompanies]\n example_companies Json @default(\"[]\")\n fictive_example_company_descriptions String[]\n /// [CountryCodes]\n country_codes Json?\n /// [CountryCodes]\n employee_country_codes Json?\n /// [FilterableLocations]\n hq_location_filters Json?\n /// [FilterableLocations]\n hq_location_excludes Json?\n /// [FilterableLocations]\n employee_location_filters Json?\n /// [FilterableLocations]\n employee_location_excludes Json?\n industries String[]\n /// [CompanySizeRange]\n company_size_range Json?\n /// [FoundedYearRange]\n founded_year_range Json?\n /// [CompanyRevenueRange]\n company_revenue_range Json?\n company_types String[]\n enrich_email Boolean @default(false)\n require_email Boolean? @default(false)\n only_show_verified_emails Boolean? @default(false)\n enrich_phone_number Boolean @default(false)\n require_phone_number Boolean @default(false)\n only_show_verified_phone_numbers Boolean @default(false)\n hide_companies_in_campaign_ids String[]\n hide_leads_in_campaign_ids String[]\n hide_companies_in_another_campaign Boolean? @default(false)\n hide_leads_in_another_campaign Boolean? @default(false)\n summary_company_descriptive_info String?\n summary_contact_descriptive_info String?\n full_company_descriptive_info String?\n full_contact_descriptive_info String?\n clean_company_descriptive_info String?\n /// [SpecialCriteria]\n special_criteria Json? @default(\"[]\")\n /// [SmartColumns]\n smart_columns Json? @default(\"[]\")\n company_types_description String[]\n /// [CompanySearchTypedKeywords]\n company_search_typed_keywords Json?\n /// [ExtractedCompanyProfiles]\n extracted_company_profiles Json?\n min_company_matching_score Float?\n target_entity ICPTargetEntity @default(LEAD)\n raw_filtering_criteria String[]\n /// [AppliedStandardCriteria]\n applied_standard_criteria Json?\n relevant_data_points ICPRelevantDataPoint[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaign_active_icp Campaign? @relation(\"activeICP\")\n campaign Campaign @relation(\"ICPs\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendations Recommendation[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n}\n\nmodel ConnectedMailbox {\n id String @id @default(uuid())\n status ConnectedMailboxStatus\n type ConnectedMailboxType\n tokens Json?\n email String\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n purchased_email_account_id String? @unique\n max_emails_per_day Int?\n max_emails_per_hour Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n smartlead_email_account_id Int?\n smartlead_account_username String? @default(\"ceo@gotelescope.ai\")\n warmup_enabled Boolean @default(false)\n smartlead_reputation_last_fetched_at DateTime?\n warmup_reputation Float?\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_steps ProspectSequenceStep[]\n purchased_email_account PurchasedEmailAccount? @relation(fields: [purchased_email_account_id], references: [id])\n outreach_messages OutreachMessage[]\n}\n\nmodel MailboxProviderUser {\n id String @id @default(uuid())\n type MailboxProviderType\n provider_user_id String\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n\n @@unique([owner_id, type])\n}\n\nenum MailboxProviderType {\n MAILDOSO\n}\n\nmodel PurchasedSlots {\n id String @id @default(uuid())\n domains_base_slots Int @default(0)\n domains_additional_slots Int @default(0)\n mailboxes_base_slots Int @default(0)\n mailboxes_additional_slots Int @default(0)\n linkedin_base_slots Int @default(0)\n linkedin_additional_slots Int @default(0)\n stripe_subscription_id String? @unique\n owner_id String @unique\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n}\n\nenum PurchaseStatus {\n PENDING\n FULFILLED\n FAILED\n CANCELLED\n}\n\nmodel PurchasedDomain {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n domain_name String\n redirect_to String?\n provider_domain_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_email_accounts PurchasedEmailAccount[]\n}\n\nmodel PurchasedEmailAccount {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n email String\n first_name String?\n last_name String?\n provider_email_account_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n purchased_domain_id String\n purchased_domain PurchasedDomain @relation(fields: [purchased_domain_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n connected_mailbox ConnectedMailbox?\n}\n\nmodel ConnectedLinkedinAccount {\n id String @id @default(uuid())\n unipile_instant_messaging_id String?\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n max_messages_per_hour Int?\n max_messages_per_day Int?\n max_invites_per_hour Int?\n max_invites_per_day Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n prospect_sequence_steps ProspectSequenceStep[]\n outreach_messages OutreachMessage[]\n}\n\nmodel Sequence {\n id String @id @default(uuid())\n steps_ids String[]\n iana_timezone_name String\n /// [ScheduleHourlyRange]\n schedule_hourly_range Json\n /// [ScheduleDailyRanges]\n schedule_daily_ranges Json?\n prioritize_prospect_time_zone Boolean @default(false)\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n owner User @relation(fields: [owner_id], references: [id])\n steps SequenceStep[]\n prospects Prospect[]\n}\n\nmodel SequenceStep {\n id String @id @default(uuid())\n sequence_id String\n type SequenceStepType\n condition SequenceStepCondition?\n seconds_from_previous_step Int\n email_subject String?\n email_body String?\n prompt String?\n outreach_offer_id String?\n linkedin_message String?\n message_generation_mode MessageGenerationMode?\n model_name OutreachPersonalisationModelName?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner_id String\n prospect_sequence_steps ProspectSequenceStep[]\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence @relation(fields: [sequence_id], references: [id])\n outreach_offer OutreachOffer? @relation(fields: [outreach_offer_id], references: [id])\n}\n\nmodel ProspectSequenceStep {\n id String @id @default(uuid())\n prospect_id String\n campaign_id String\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n sequence_step_id String\n status ProspectSequenceStepStatus?\n dispatched_at DateTime?\n confirmed_at DateTime?\n failed_at DateTime?\n thread_id String? // unused now\n message_id String? // unipile email id\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n unipile_email_tracking_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n email_body String?\n email_subject String?\n // TODO: sent to email\n mailbox_id String?\n mailbox ConnectedMailbox? @relation(fields: [mailbox_id], references: [id])\n reply_to_message_id String? // unipile email id\n send_to_thread_id String? // unused now\n linkedin_account_id String?\n linkedin_account ConnectedLinkedinAccount? @relation(fields: [linkedin_account_id], references: [id])\n linkedin_message String?\n owner_id String\n scheduled_at DateTime?\n prospect_interaction_events_responses ProspectInteractionEvent[]\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n sequence_step SequenceStep @relation(fields: [sequence_step_id], references: [id])\n deleted_at DateTime?\n\n @@index([prospect_id, owner_id])\n @@index([owner_id])\n}\n\nmodel ProspectInteractionEvent {\n id String @id @default(uuid())\n campaign_id String\n prospect_id String\n in_resp_to_prospect_sequence_step_id String\n type ProspectInteractionEventType\n thread_id String? // unused now\n message_id String?\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n sent_at DateTime\n is_auto_reply Boolean?\n text_reply String?\n html_reply String?\n prospect_interest ProspectInterestType\n prospect_interest_value Float?\n prospect_interest_reason String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n interest_analysed_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n in_resp_to_prospect_sequence_step ProspectSequenceStep @relation(fields: [in_resp_to_prospect_sequence_step_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n deleted_at DateTime?\n}\n\nenum MessageChannelType {\n EMAIL\n LINKEDIN\n}\n\nenum MessageDirection {\n SENT\n RECEIVED\n}\n\nmodel OutreachMessage {\n id String @id @default(uuid())\n unipile_tracking_id String? @unique\n unipile_message_id String? @unique\n channel_type MessageChannelType\n direction MessageDirection\n content String\n date DateTime?\n read_at DateTime?\n // Email-specific fields\n email_subject String?\n /// [EmailAttendees]\n email_to Json?\n /// [EmailAttendee]\n email_from Json?\n email_cc String[]\n // LinkedIn-specific fields \n linkedin_is_inmail Boolean?\n linkedin_api_type String?\n // Relations\n prospect_id String?\n prospect Prospect? @relation(fields: [prospect_id], references: [id])\n connected_mailbox_id String?\n connected_mailbox ConnectedMailbox? @relation(fields: [connected_mailbox_id], references: [id])\n connected_linkedin_account_id String?\n connected_linkedin_account ConnectedLinkedinAccount? @relation(fields: [connected_linkedin_account_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_step ProspectSequenceStep?\n prospect_interaction_event ProspectInteractionEvent?\n\n @@index([unipile_tracking_id])\n @@index([unipile_message_id])\n @@index([prospect_id, owner_id])\n}\n\nmodel EmailEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n email String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verification_provider String?\n neverbounce_raw_response Json?\n verification_raw_response Json?\n verified_at DateTime?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nmodel PhoneNumberEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n phone_number String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verified_at DateTime?\n verification_provider String?\n verification_raw_response Json?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nenum VerificationStatus {\n VALID\n INVALID\n UNKNOWN\n UNVERIFIED\n}\n\nenum EvaluatedCandidateType {\n COMPANY\n PERSON\n}\n\nmodel EvaluatedCandidate {\n id String @id\n icp_id String\n entity_type EvaluatedCandidateType\n company_id String\n company_candidate_person_ids String[]\n person_id String?\n recommendation_reason String?\n company_matching_score Float?\n company_matching_result String?\n person_matching_score Float?\n person_matching_result String?\n loaded_special_criteria_data_points Json?\n evaluation_score Float?\n generator_name String?\n generator_version String?\n version Float?\n campaign_id String\n owner_id String\n metadata Json?\n created_at DateTime @default(now())\n\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n evaluated_candidate_special_criteria_evaluation_results EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([company_id])\n @@index([icp_id, company_id])\n @@index([icp_id, entity_type, version, created_at])\n @@index([icp_id, company_matching_score, entity_type, version, company_id, created_at])\n}\n\nmodel EvaluatedCandidateSpecialCriteriaEvaluationResult {\n evaluated_candidate_id String\n special_criteria_evaluation_result_id String\n\n evaluated_candidate EvaluatedCandidate @relation(fields: [evaluated_candidate_id], references: [id])\n special_criteria_evaluation_result SpecialCriteriaEvaluationResult @relation(fields: [special_criteria_evaluation_result_id], references: [id])\n\n @@id([evaluated_candidate_id, special_criteria_evaluation_result_id])\n}\n\nmodel SpecialCriteriaEvaluationResult {\n id String @id\n entity_type EvaluatedCandidateType\n entity_id String\n special_criterion Json\n special_criterion_text String\n matching_result String\n evaluation_score Float?\n reason String?\n expanded_reason String?\n version Float?\n\n created_at DateTime @default(now())\n\n evaluated_candidates EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([entity_type, entity_id, special_criterion_text])\n}\n\nmodel RecommendationsList {\n id String @id @default(uuid())\n icp_id String\n campaign_id String\n owner_id String\n status RecommendationsListStatus\n user_feedback_level RecommendationsListUserFeedbackLevel?\n user_feedback_text String?\n requested_size Int\n parent_list_id String?\n max_employee_results Int?\n auto_add_prospects Boolean?\n auto_add_company_prospects Boolean?\n auto_add_recommendations Boolean? @default(true)\n credit_cost_policy RecommendationsListCreditCostPolicy @default(FREE)\n webhook_url String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n recommendations Recommendation[]\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n active_campaign Campaign? @relation(\"activeRecommendationsList\")\n campaign Campaign @relation(\"campaignRecommendationsLists\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel OutreachOffer {\n id String @id @default(uuid())\n name String\n company_name String\n source_url String?\n source_type OutreachOfferSourceType\n\n raw_text String?\n\n ideal_customer_profile String?\n problem_statement String? // can be multiple problems, pain points, etc.\n status_quo String?\n solution String?\n concerns String?\n competitive_advantage String?\n results String? // proofs, case studies, etc.\n\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner User @relation(fields: [owner_id], references: [id])\n sequence_steps SequenceStep[]\n}\n\nenum OutreachOfferSourceType {\n WEBPAGE\n RAW_TEXT\n FORM\n}\n\nenum RecommendationsListStatus {\n GENERATING\n FETCH_MORE\n PAUSING\n PAUSED\n ERROR\n SUCCESS\n NO_RESULTS\n}\n\nenum RecommendationsListUserFeedbackLevel {\n INFO\n WARNING\n ERROR\n}\n\nenum MergeCrmExportStatus {\n SUCCESS\n FAILED\n}\n\nenum OutreachStatus {\n RUNNING\n PAUSED\n DISABLED\n}\n\nenum RecommendationStatus {\n ACCEPTED\n REJECTED\n PENDING\n SKIPPED\n IGNORED\n NOT_SEEN\n}\n\nenum RecommendationMode {\n LEAD\n COMPANY\n}\n\nenum RecommendationType {\n STANDARD\n DAILY\n LIST\n}\n\nenum RecommendationRejectionReason {\n NOT_RELEVANT\n WRONG_POSITION_RIGHT_COMPANY\n RIGHT_POSITION_WRONG_COMPANY\n EXISTING_CUSTOMER\n ALREADY_CONTACTED\n OTHER\n DISCARDED\n}\n\nenum ConnectedMailboxStatus {\n CONNECTED\n DISCONNECTED\n}\n\nenum ConnectedMailboxType {\n GMAIL\n OUTLOOK\n IMAP\n}\n\nenum SequenceStepType {\n EMAIL\n LINKEDIN_CONNECTION\n LINKEDIN_MESSAGE\n}\n\nenum SequenceStepCondition {\n LINKEDIN_ACCEPTED_CONNECTION\n LINKEDIN_CONNECTION_NOT_ACCEPTED\n}\n\nenum ProspectSequenceStepStatus {\n PENDING\n COMPLETED\n ERROR\n SCHEDULED\n}\n\nenum ProspectInterestType {\n POSITIVE\n NEGATIVE\n UNKNOWN\n}\n\nenum ProspectInteractionEventType {\n EMAIL_REPLY\n EMAIL_BOUNCE_NOTIFICATION\n EMAIL_OOO_NOTIFICATION\n EMAIL_UNSUBSCRIBE_REQUEST\n EMAIL_NO_LONGER_AT_COMPANY_NOTIFICATION\n EMAIL_OPENED\n LINKEDIN_CONNECTION_ACCEPTED\n LINKEDIN_REPLY\n}\n\nenum SubscriptionTierType {\n FREE\n BASIC\n PRO\n PRO_OUTREACH\n OUTREACH_SCALE\n UNLIMITED\n}\n\nenum SubscriptionBillingInterval {\n MONTH\n YEAR\n}\n\nenum ClayExportStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum ContactDataType {\n EMAIL\n PHONE_NUMBER\n}\n\nenum ContactDataEnrichmentJobStatus {\n PENDING\n RUNNING\n SUCCESS\n FAILED\n STOPPING\n STOPPED\n}\n\nenum ContactDataEnrichmentEntityType {\n RECOMMENDATION\n PROSPECT\n}\n\nmodel ContactDataEnrichmentJob {\n id String @id @default(uuid())\n campaign_id String\n contact_data_type ContactDataType\n entity ContactDataEnrichmentEntityType\n status ContactDataEnrichmentJobStatus\n entity_ids String[]\n enriched_entities_count Int @default(0)\n started_at DateTime\n notify_by_email Boolean @default(false)\n finished_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n\n @@index([status, started_at, campaign_id, owner_id])\n}\n\nenum ContactDataEnrichmentStatus {\n PENDING\n LOADING\n SUCCESS\n ERROR\n}\n\nenum CampaignCreatedFrom {\n CHAT\n UPLOAD\n API\n TELESCOPE_V4\n SIMILAR_COMPANIES\n}\n\nenum ProspectSource {\n SWIPING\n GENERATED_LIST\n MORE_PROSPECTS_MODAL\n IMPORTED\n}\n\nenum CompanyProspectSource {\n SWIPING\n GENERATED_LIST\n IMPORTED\n SIMILAR\n}\n\nenum ICPTargetEntity {\n LEAD\n COMPANY\n PERSON\n}\n\nenum ICPRelevantDataPoint {\n COMPANY_HQ_LOCATION\n COMPANY_HEADCOUNT\n COMPANY_REVENUE\n COMPANY_FOUNDED_YEAR\n COMPANY_TYPE\n COMPANY_STAGE\n COMPANY_INDUSTRIES\n COMPANY_TECHNOLOGIES\n COMPANY_PRODUCTS\n COMPANY_SERVICES\n COMPANY_B2B_B2C\n PERSON_JOB_TITLE\n PERSON_LOCATION\n PERSON_EMAIL\n PERSON_PHONE_NUMBER\n PERSON_DEGREE\n PERSON_UNIVERSITY\n PERSON_EDUCATION\n PERSON_EXPERIENCE\n PERSON_SKILLS\n}\n\nenum TelescopeV4CampaignType {\n GENERATED_LIST\n UPLOADED_LIST\n SAMPLE\n}\n\nenum RecommendationsListCreditCostPolicy {\n FREE\n SIMPLE // 1 credit per lead\n COST_BASED // 1 credit per lead + 1 / emails + 5 / phone number + 1 / per lead per advanced data point required\n}\n\nenum ProspectOutreachStatus {\n RUNNING\n COMPLETED\n}\n\nenum MessageGenerationMode {\n PROMPT\n TEMPLATE\n}\n\nenum OutreachPersonalisationModelName {\n GEMINI_2_0_FLASH\n CLAUDE_3_7_SONNET\n GPT_4O\n}\n",
1544
- "inlineSchemaHash": "15090deb94026b811024be344751dbd62b2092298a9d4d9fe53daefdbb07b5e8",
1543
+ "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n previewFeatures = [\"fullTextSearchPostgres\", \"metrics\"]\n output = \"./src/generatedClient\"\n binaryTargets = [\"native\", \"linux-musl\", \"linux-musl-openssl-3.0.x\", \"darwin\", \"rhel-openssl-1.0.x\", \"debian-openssl-3.0.x\"]\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n clientOutput = \"./src/generatedClient\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"POSTGRES_DATABASE_URL\")\n}\n\nmodel User {\n id String @id\n // This is only set if the user came from cognito.\n old_user_id String?\n is_nlp_icp_enabled Boolean? @default(false)\n is_outreach_enabled Boolean? @default(false)\n is_linkedin_outreach_enabled Boolean? @default(false)\n is_csv_export_enabled Boolean? @default(false)\n first_name String? // must be nullable to allow for gdpr deletion\n last_name String? // must be nullable to allow for gdpr deletion\n email String? // @unique\n timezone String?\n onboarded_at DateTime?\n lead_selection_toured_at DateTime?\n email_sequencing_toured_at DateTime?\n campaign_review_toured_at DateTime?\n campaign_homepage_toured_at DateTime?\n browser_extension_last_ping_at DateTime?\n browser_extension_linkedin_url String?\n registered_at DateTime?\n updated_at DateTime? @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n connected_mailboxes ConnectedMailbox[]\n ideal_customer_profiles IdealCustomerProfile[]\n /// [ExtractedWebsitesIdealCustomerProfiles]\n extracted_ideal_customer_profiles Json?\n merge_connection MergeConnection[]\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n ProspectSequenceStep ProspectSequenceStep[]\n recommendations Recommendation[]\n sequences Sequence[]\n SequenceStep SequenceStep[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n credits Int @default(100)\n purchased_slots PurchasedSlots?\n stripe_customer_id String? @unique\n stripe_subscription_id String? @unique\n subscription_expiration DateTime @default(dbgenerated(\"(now() + '1 mon'::interval)\"))\n subscription_tier SubscriptionTierType @default(FREE)\n subscription_billing_interval SubscriptionBillingInterval?\n subscription_cancel_at_period_end Boolean?\n google_click_id String?\n linkedin_click_id String?\n facebook_click_id String?\n reddit_click_id String?\n registered_on_mobile Boolean?\n last_visited_upgrade_pro DateTime?\n assistant_events AssistantEvent[]\n abused_skip_nudges DateTime[]\n referred_by String?\n is_beta Boolean? @default(false)\n /// [LockedActions]\n locked_actions Json?\n is_public_api_enabled Boolean? @default(false)\n email_personalisation_instructions String?\n api_keys ApiKey[]\n outreach_offers OutreachOffer[]\n connected_linkedin_accounts ConnectedLinkedinAccount[]\n mailbox_provider_users MailboxProviderUser[]\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n outreach_messages OutreachMessage[]\n}\n\nmodel ApiKey {\n id String @id @default(uuid())\n key String\n is_valid Boolean @default(true)\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel MergeConnection {\n id String @id @default(uuid())\n user_id String\n account_token String\n webhook_listener_url String?\n crm_name String\n image String?\n image_square String?\n status String?\n crm_slug_name String\n linked_account_id String @unique\n accounts_last_sync_at DateTime?\n contacts_last_sync_at DateTime?\n leads_last_sync_at DateTime?\n deleted_at DateTime?\n user User @relation(fields: [user_id], references: [id])\n merge_crm_accounts MergeCrmAccount[]\n merge_crm_contacts MergeCrmContact[]\n merge_crm_leads MergeCrmLead[]\n\n @@index([linked_account_id])\n}\n\nmodel MergeCrmAccount {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n name String?\n description String?\n industry String?\n website String?\n domain String?\n number_of_employees Int?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n company_id String?\n remote_owner String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n textsearchable_index_col Unsupported(\"tsvector\")? @default(dbgenerated(\"to_tsvector('english'::regconfig, ((COALESCE(name, ''::text) || ' '::text) || COALESCE(description, ''::text)))\"))\n company_prospects CompanyProspect[]\n\n @@index([textsearchable_index_col], type: Gin)\n @@index([company_id, linked_account_id])\n}\n\nmodel MergeCrmContact {\n id String @id @default(uuid())\n created_at DateTime? @default(now())\n merge_crm_account_id String?\n remote_was_deleted Boolean?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n last_activity_at DateTime?\n remote_created_at DateTime?\n person_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_lead MergeCrmLead[]\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel MergeCrmLead {\n id String @id @default(uuid())\n created_at DateTime @default(now())\n remote_owner String?\n lead_source String?\n remote_was_deleted Boolean?\n merge_crm_converted_account_id String?\n merge_crm_id String @unique\n remote_id String\n telescope_user_id String\n linked_account_id String\n remote_created_at DateTime?\n person_id String?\n remote_updated_at DateTime?\n converted_date DateTime?\n merge_crm_converted_contact_id String?\n merge_connection MergeConnection @relation(fields: [linked_account_id], references: [linked_account_id])\n merge_crm_converted_account MergeCrmAccount? @relation(fields: [merge_crm_converted_account_id], references: [merge_crm_id])\n merge_crm_converted_contact MergeCrmContact? @relation(fields: [merge_crm_converted_contact_id], references: [merge_crm_id])\n prospects Prospect[]\n recommendations Recommendation?\n\n @@index([person_id, linked_account_id])\n}\n\nmodel Campaign {\n id String @id @default(uuid())\n name String\n outreach_status OutreachStatus @default(DISABLED)\n recommendation_mode RecommendationMode @default(LEAD)\n created_from CampaignCreatedFrom @default(CHAT)\n active_icp_id String? @unique\n sequence_id String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n /// [ICPAssistantChatHistory]\n icp_assistant_chat_history Json?\n /// [SelectedExtractedICP]\n selected_extracted_icp Json?\n company_profile_data Json?\n prospect_profile_data Json?\n company_profile_builder_messages Json?\n prospect_profile_builder_messages Json?\n active_recommendations_list_id String? @unique\n clay_webhook_url String?\n clay_auto_sync Boolean? @default(false)\n telescope_v4_type TelescopeV4CampaignType?\n telescope_v4_thread_id String?\n active_recommendations_list RecommendationsList? @relation(\"activeRecommendationsList\", fields: [active_recommendations_list_id], references: [id])\n active_icp IdealCustomerProfile? @relation(\"activeICP\", fields: [active_icp_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n icps IdealCustomerProfile[] @relation(\"ICPs\")\n prospects Prospect[]\n company_prospects CompanyProspect[]\n prospect_interaction_events ProspectInteractionEvent[]\n recommendations Recommendation[]\n assistant_events AssistantEvent[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[] @relation(\"campaignRecommendationsLists\")\n contact_data_enrichment_jobs ContactDataEnrichmentJob[]\n prospect_sequence_steps ProspectSequenceStep[]\n}\n\nmodel AssistantEvent {\n id String @id @default(uuid())\n owner_id String\n campaign_id String\n type String\n icp_updated_data Json? // for ManualICPUpdateEvent\n content String? // for UserChatMessageEvent, UserMockedMessageEvent, AssistantAIMessageEvent, AssistantMockedAIMessageEvent\n source String? // for all\n ai_message_json String? // for AssistantAIMessageEvent\n tool_calls Json? // for AssistantAIMessageEvent\n user_interaction_event_id String? // for AssistantAIMessageEvent, AssistantMockedAIMessageEvent, AssistantToolMessageEvent\n rejected_company_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n rejected_person_id String? // for AssistantAIMessageEvent, AssistantToolMessageEvent, RejectionReasonEvent, RejectionReasonFollowupMessageEvent\n tool_message_json String? // for AssistantToolMessageEvent\n error_message String? // for ErrorEvent\n rejection_reason String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n user User @relation(fields: [owner_id], references: [id])\n\n @@index([owner_id, campaign_id])\n}\n\nmodel Prospect {\n id String @id @default(uuid())\n campaign_id String\n source ProspectSource @default(SWIPING)\n company_name String\n email String?\n email_verification_status VerificationStatus @default(UNVERIFIED)\n linkedin_url String?\n first_name String\n last_name String\n job_title String\n phone_numbers String[]\n phone_number_verification_status VerificationStatus @default(UNVERIFIED)\n person_id String\n company_id String\n recommendation_id String?\n company_prospect_id String?\n merge_crm_account_id String?\n merge_crm_contact_id String?\n merge_crm_lead_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n is_outreach_paused Boolean?\n iana_timezone_name String?\n sequence_id String?\n sequence_mailbox_id String?\n sequence_linkedin_account_id String?\n outreach_status ProspectOutreachStatus?\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n clay_export_status ClayExportStatus?\n clay_exported_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n updated_at DateTime @updatedAt\n created_at DateTime @default(now())\n deleted_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [merge_crm_id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence? @relation(fields: [sequence_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n prospect_interaction_events ProspectInteractionEvent[]\n prospect_sequence_steps ProspectSequenceStep[]\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n sequence_linkedin_account ConnectedLinkedinAccount? @relation(fields: [sequence_linkedin_account_id], references: [id])\n sequence_mailbox ConnectedMailbox? @relation(fields: [sequence_mailbox_id], references: [id])\n outreach_messages OutreachMessage[]\n\n @@index([owner_id])\n @@index([person_id])\n @@index([company_id])\n @@index([campaign_id])\n @@index([owner_id, company_id, deleted_at])\n @@index([email])\n @@index([email_verification_status])\n}\n\nmodel CompanyProspect {\n id String @id @default(uuid())\n source CompanyProspectSource @default(SWIPING)\n company_id String\n company_name String\n linkedin_url String?\n website String?\n industry_tags String[]\n hq_city String?\n hq_admin_division_1 String?\n hq_country String?\n hq_standard_location_ids String[]\n campaign_id String\n recommendation_id String?\n merge_crm_account_id String?\n merge_crm_export_status MergeCrmExportStatus?\n first_crm_export_at DateTime?\n last_crm_export_at DateTime?\n last_csv_export_at DateTime?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n /// [EnrichedSmartColumns]\n enriched_smart_columns Json?\n owner_id String\n created_at DateTime @default(now())\n deleted_at DateTime?\n updated_at DateTime @updatedAt\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [merge_crm_id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendation Recommendation? @relation(fields: [recommendation_id], references: [id])\n\n @@index([owner_id])\n @@index([company_id])\n @@index([campaign_id])\n}\n\nmodel Recommendation {\n id String @id @default(uuid())\n campaign_id String\n recommendations_list_id String?\n type RecommendationType @default(STANDARD)\n status RecommendationStatus\n mode RecommendationMode @default(COMPANY)\n recommendation_reason String?\n candidate_origin String?\n candidate_version String?\n ranker_score String?\n person_id String?\n person_record_id String?\n company_id String\n company_record_id String\n icp_id String\n icp_match_confidence Int? @default(3)\n merge_crm_lead_id String? @unique\n merge_crm_contact_id String? @unique\n merge_crm_account_id String? @unique\n email_enrichment_result_id String?\n phone_number_enrichment_result_id String?\n owner_id String\n created_at DateTime @default(now())\n resolved_at DateTime?\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n model_info Json?\n /// [RecommendationAdditionalData]\n additional_data Json?\n /// [SpecialCriteriaEvaluationResults]\n special_criteria_evaluation_results Json?\n rejection_reason RecommendationRejectionReason?\n ranker_version Float?\n prospects Prospect[]\n company_prospects CompanyProspect[]\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n merge_crm_account MergeCrmAccount? @relation(fields: [merge_crm_account_id], references: [id])\n merge_crm_contact MergeCrmContact? @relation(fields: [merge_crm_contact_id], references: [id])\n merge_crm_lead MergeCrmLead? @relation(fields: [merge_crm_lead_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n company_recommendation_id String?\n company_recommendation Recommendation? @relation(\"CompanyEmployees\", fields: [company_recommendation_id], references: [id])\n employee_recommendations Recommendation[] @relation(\"CompanyEmployees\")\n email_enrichment_result EmailEnrichmentResult? @relation(fields: [email_enrichment_result_id], references: [id])\n phone_number_enrichment_result PhoneNumberEnrichmentResult? @relation(fields: [phone_number_enrichment_result_id], references: [id])\n recommendations_list RecommendationsList? @relation(fields: [recommendations_list_id], references: [id])\n email_enrichment_status ContactDataEnrichmentStatus?\n phone_number_enrichment_status ContactDataEnrichmentStatus?\n\n @@index([company_recommendation_id])\n @@index([campaign_id, type])\n @@index([person_id])\n @@index([recommendations_list_id])\n @@index([owner_id, recommendations_list_id])\n @@index([resolved_at])\n @@index([owner_id, status, person_id, campaign_id]) // seems like it's not used/working as intended (els query)\n @@index([owner_id, deleted_at, campaign_id, status, person_id])\n}\n\nmodel IdealCustomerProfile {\n id String @id @default(uuid())\n name String?\n campaign_id String\n icp_description String?\n keywords String[]\n negative_keywords String[]\n job_titles String[]\n excluded_job_titles String[]\n /// [ExampleCompanies]\n example_companies Json @default(\"[]\")\n fictive_example_company_descriptions String[]\n /// [CountryCodes]\n country_codes Json?\n /// [CountryCodes]\n employee_country_codes Json?\n /// [FilterableLocations]\n hq_location_filters Json?\n /// [FilterableLocations]\n hq_location_excludes Json?\n /// [FilterableLocations]\n employee_location_filters Json?\n /// [FilterableLocations]\n employee_location_excludes Json?\n industries String[]\n /// [CompanySizeRange]\n company_size_range Json?\n /// [FoundedYearRange]\n founded_year_range Json?\n /// [CompanyRevenueRange]\n company_revenue_range Json?\n company_types String[]\n enrich_email Boolean @default(false)\n require_email Boolean? @default(false)\n only_show_verified_emails Boolean? @default(false)\n enrich_phone_number Boolean @default(false)\n require_phone_number Boolean @default(false)\n only_show_verified_phone_numbers Boolean @default(false)\n hide_companies_in_campaign_ids String[]\n hide_leads_in_campaign_ids String[]\n hide_companies_in_another_campaign Boolean? @default(false)\n hide_leads_in_another_campaign Boolean? @default(false)\n summary_company_descriptive_info String?\n summary_contact_descriptive_info String?\n full_company_descriptive_info String?\n full_contact_descriptive_info String?\n clean_company_descriptive_info String?\n /// [SpecialCriteria]\n special_criteria Json? @default(\"[]\")\n /// [SmartColumns]\n smart_columns Json? @default(\"[]\")\n company_types_description String[]\n /// [CompanySearchTypedKeywords]\n company_search_typed_keywords Json?\n /// [ExtractedCompanyProfiles]\n extracted_company_profiles Json?\n min_company_matching_score Float?\n target_entity ICPTargetEntity @default(LEAD)\n raw_filtering_criteria String[]\n /// [AppliedStandardCriteria]\n applied_standard_criteria Json?\n relevant_data_points ICPRelevantDataPoint[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaign_active_icp Campaign? @relation(\"activeICP\")\n campaign Campaign @relation(\"ICPs\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n recommendations Recommendation[]\n evaluated_candidates EvaluatedCandidate[]\n recommendations_lists RecommendationsList[]\n}\n\nmodel ConnectedMailbox {\n id String @id @default(uuid())\n status ConnectedMailboxStatus\n type ConnectedMailboxType\n tokens Json?\n email String\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n purchased_email_account_id String? @unique\n max_emails_per_day Int?\n max_emails_per_hour Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n smartlead_email_account_id Int?\n smartlead_account_username String? @default(\"ceo@gotelescope.ai\")\n warmup_enabled Boolean @default(false)\n smartlead_reputation_last_fetched_at DateTime?\n warmup_reputation Float?\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_steps ProspectSequenceStep[]\n purchased_email_account PurchasedEmailAccount? @relation(fields: [purchased_email_account_id], references: [id])\n outreach_messages OutreachMessage[]\n}\n\nmodel MailboxProviderUser {\n id String @id @default(uuid())\n type MailboxProviderType\n provider_user_id String\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_domains PurchasedDomain[]\n purchased_email_accounts PurchasedEmailAccount[]\n\n @@unique([owner_id, type])\n}\n\nenum MailboxProviderType {\n MAILDOSO\n}\n\nmodel PurchasedSlots {\n id String @id @default(uuid())\n domains_base_slots Int @default(0)\n domains_additional_slots Int @default(0)\n mailboxes_base_slots Int @default(0)\n mailboxes_additional_slots Int @default(0)\n linkedin_base_slots Int @default(0)\n linkedin_additional_slots Int @default(0)\n stripe_subscription_id String? @unique\n owner_id String @unique\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n}\n\nenum PurchaseStatus {\n PENDING\n FULFILLED\n FAILED\n CANCELLED\n}\n\nmodel PurchasedDomain {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n domain_name String\n redirect_to String?\n provider_domain_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n purchased_email_accounts PurchasedEmailAccount[]\n}\n\nmodel PurchasedEmailAccount {\n id String @id @default(uuid())\n type MailboxProviderType\n status PurchaseStatus @default(PENDING)\n email String\n first_name String?\n last_name String?\n provider_email_account_id String?\n mailbox_provider_user_id String\n mailbox_provider_user MailboxProviderUser @relation(fields: [mailbox_provider_user_id], references: [id])\n purchased_domain_id String\n purchased_domain PurchasedDomain @relation(fields: [purchased_domain_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n connected_mailbox ConnectedMailbox?\n}\n\nmodel ConnectedLinkedinAccount {\n id String @id @default(uuid())\n unipile_instant_messaging_id String?\n unipile_account_id String?\n unipile_account_status String?\n unipile_account_name String?\n max_messages_per_hour Int?\n max_messages_per_day Int?\n max_invites_per_hour Int?\n max_invites_per_day Int?\n pause_new_sequences Boolean @default(false)\n ramp_up_started_at DateTime?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n\n owner User @relation(fields: [owner_id], references: [id])\n prospects Prospect[]\n prospect_sequence_steps ProspectSequenceStep[]\n outreach_messages OutreachMessage[]\n}\n\nmodel Sequence {\n id String @id @default(uuid())\n steps_ids String[]\n iana_timezone_name String\n /// [ScheduleHourlyRange]\n schedule_hourly_range Json\n /// [ScheduleDailyRanges]\n schedule_daily_ranges Json?\n prioritize_prospect_time_zone Boolean @default(false)\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n campaigns Campaign[]\n owner User @relation(fields: [owner_id], references: [id])\n steps SequenceStep[]\n prospects Prospect[]\n}\n\nmodel SequenceStep {\n id String @id @default(uuid())\n sequence_id String\n type SequenceStepType\n condition SequenceStepCondition?\n seconds_from_previous_step Int\n email_subject String?\n email_body String?\n prompt String?\n outreach_offer_id String?\n linkedin_message String?\n message_generation_mode MessageGenerationMode?\n model_name OutreachPersonalisationModelName?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner_id String\n prospect_sequence_steps ProspectSequenceStep[]\n owner User @relation(fields: [owner_id], references: [id])\n sequence Sequence @relation(fields: [sequence_id], references: [id])\n outreach_offer OutreachOffer? @relation(fields: [outreach_offer_id], references: [id])\n}\n\nmodel ProspectSequenceStep {\n id String @id @default(uuid())\n prospect_id String\n campaign_id String\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n sequence_step_id String\n status ProspectSequenceStepStatus?\n dispatched_at DateTime?\n confirmed_at DateTime?\n failed_at DateTime?\n thread_id String? // unused now\n message_id String? // unipile email id\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n unipile_email_tracking_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n email_body String?\n email_subject String?\n // TODO: sent to email\n mailbox_id String?\n mailbox ConnectedMailbox? @relation(fields: [mailbox_id], references: [id])\n reply_to_message_id String? // unipile email id\n send_to_thread_id String? // unused now\n linkedin_account_id String?\n linkedin_account ConnectedLinkedinAccount? @relation(fields: [linkedin_account_id], references: [id])\n linkedin_message String?\n owner_id String\n scheduled_at DateTime?\n prospect_interaction_events_responses ProspectInteractionEvent[]\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n sequence_step SequenceStep @relation(fields: [sequence_step_id], references: [id])\n deleted_at DateTime?\n\n @@index([prospect_id, owner_id])\n @@index([owner_id])\n}\n\nmodel ProspectInteractionEvent {\n id String @id @default(uuid())\n campaign_id String\n prospect_id String\n in_resp_to_prospect_sequence_step_id String\n type ProspectInteractionEventType\n thread_id String? // unused now\n message_id String?\n outreach_message_id String? @unique\n outreach_message OutreachMessage? @relation(fields: [outreach_message_id], references: [id])\n sent_at DateTime\n is_auto_reply Boolean?\n text_reply String?\n html_reply String?\n prospect_interest ProspectInterestType\n prospect_interest_value Float?\n prospect_interest_reason String?\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n interest_analysed_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n in_resp_to_prospect_sequence_step ProspectSequenceStep @relation(fields: [in_resp_to_prospect_sequence_step_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n prospect Prospect @relation(fields: [prospect_id], references: [id])\n deleted_at DateTime?\n}\n\nenum MessageChannelType {\n EMAIL\n LINKEDIN\n}\n\nenum MessageDirection {\n SENT\n RECEIVED\n}\n\nmodel OutreachMessage {\n id String @id @default(uuid())\n unipile_tracking_id String? @unique\n unipile_message_id String? @unique\n channel_type MessageChannelType\n direction MessageDirection\n content String\n date DateTime?\n read_at DateTime?\n // Email-specific fields\n email_subject String?\n /// [EmailAttendees]\n email_to Json?\n /// [EmailAttendee]\n email_from Json?\n email_cc String[]\n // LinkedIn-specific fields \n linkedin_is_inmail Boolean?\n linkedin_api_type String?\n // Relations\n prospect_id String?\n prospect Prospect? @relation(fields: [prospect_id], references: [id])\n connected_mailbox_id String?\n connected_mailbox ConnectedMailbox? @relation(fields: [connected_mailbox_id], references: [id])\n connected_linkedin_account_id String?\n connected_linkedin_account ConnectedLinkedinAccount? @relation(fields: [connected_linkedin_account_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n prospect_sequence_step ProspectSequenceStep?\n prospect_interaction_event ProspectInteractionEvent?\n\n @@index([unipile_tracking_id])\n @@index([unipile_message_id])\n @@index([prospect_id, owner_id])\n}\n\nmodel EmailEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n email String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verification_provider String?\n neverbounce_raw_response Json?\n verification_raw_response Json?\n verified_at DateTime?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nmodel PhoneNumberEnrichmentResult {\n id String @id @default(uuid())\n person_id String\n company_id String\n phone_number String?\n enriched_at DateTime @default(now())\n enrichment_duration_ms Int\n provider String?\n providers_checked_results Json? // TODO: types\n verification_status VerificationStatus?\n verified_at DateTime?\n verification_provider String?\n verification_raw_response Json?\n deleted_at DateTime?\n\n prospects Prospect[]\n recommendations Recommendation[]\n\n @@index([person_id, company_id])\n}\n\nenum VerificationStatus {\n VALID\n INVALID\n UNKNOWN\n UNVERIFIED\n}\n\nenum EvaluatedCandidateType {\n COMPANY\n PERSON\n}\n\nmodel EvaluatedCandidate {\n id String @id\n icp_id String\n entity_type EvaluatedCandidateType\n company_id String\n company_candidate_person_ids String[]\n person_id String?\n recommendation_reason String?\n company_matching_score Float?\n company_matching_result String?\n person_matching_score Float?\n person_matching_result String?\n loaded_special_criteria_data_points Json?\n evaluation_score Float?\n generator_name String?\n generator_version String?\n version Float?\n campaign_id String\n owner_id String\n metadata Json?\n created_at DateTime @default(now())\n\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n evaluated_candidate_special_criteria_evaluation_results EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([company_id])\n @@index([icp_id, company_id])\n @@index([icp_id, entity_type, version, created_at])\n @@index([icp_id, company_matching_score, entity_type, version, company_id, created_at])\n}\n\nmodel EvaluatedCandidateSpecialCriteriaEvaluationResult {\n evaluated_candidate_id String\n special_criteria_evaluation_result_id String\n\n evaluated_candidate EvaluatedCandidate @relation(fields: [evaluated_candidate_id], references: [id])\n special_criteria_evaluation_result SpecialCriteriaEvaluationResult @relation(fields: [special_criteria_evaluation_result_id], references: [id])\n\n @@id([evaluated_candidate_id, special_criteria_evaluation_result_id])\n}\n\nmodel SpecialCriteriaEvaluationResult {\n id String @id\n entity_type EvaluatedCandidateType\n entity_id String\n special_criterion Json\n special_criterion_text String\n matching_result String\n evaluation_score Float?\n reason String?\n expanded_reason String?\n version Float?\n\n created_at DateTime @default(now())\n\n evaluated_candidates EvaluatedCandidateSpecialCriteriaEvaluationResult[]\n\n @@index([entity_type, entity_id, special_criterion_text])\n}\n\nmodel RecommendationsList {\n id String @id @default(uuid())\n icp_id String\n campaign_id String\n owner_id String\n status RecommendationsListStatus\n user_feedback_level RecommendationsListUserFeedbackLevel?\n user_feedback_text String?\n requested_size Int\n parent_list_id String?\n max_employee_results Int?\n auto_add_prospects Boolean?\n auto_add_company_prospects Boolean?\n auto_add_recommendations Boolean? @default(true)\n credit_cost_policy RecommendationsListCreditCostPolicy @default(FREE)\n webhook_url String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n recommendations Recommendation[]\n icp IdealCustomerProfile @relation(fields: [icp_id], references: [id])\n active_campaign Campaign? @relation(\"activeRecommendationsList\")\n campaign Campaign @relation(\"campaignRecommendationsLists\", fields: [campaign_id], references: [id])\n owner User @relation(fields: [owner_id], references: [id])\n}\n\nmodel OutreachOffer {\n id String @id @default(uuid())\n name String\n company_name String\n source_url String?\n source_type OutreachOfferSourceType\n\n raw_text String?\n\n ideal_customer_profile String?\n problem_statement String? // can be multiple problems, pain points, etc.\n status_quo String?\n solution String?\n concerns String?\n competitive_advantage String?\n results String? // proofs, case studies, etc.\n\n owner_id String\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n deleted_at DateTime?\n owner User @relation(fields: [owner_id], references: [id])\n sequence_steps SequenceStep[]\n}\n\nenum OutreachOfferSourceType {\n WEBPAGE\n RAW_TEXT\n FORM\n}\n\nenum RecommendationsListStatus {\n GENERATING\n FETCH_MORE\n PAUSING\n PAUSED\n ERROR\n SUCCESS\n NO_RESULTS\n}\n\nenum RecommendationsListUserFeedbackLevel {\n INFO\n WARNING\n ERROR\n}\n\nenum MergeCrmExportStatus {\n SUCCESS\n FAILED\n}\n\nenum OutreachStatus {\n RUNNING\n PAUSED\n DISABLED\n}\n\nenum RecommendationStatus {\n ACCEPTED\n REJECTED\n PENDING\n SKIPPED\n IGNORED\n NOT_SEEN\n}\n\nenum RecommendationMode {\n LEAD\n COMPANY\n}\n\nenum RecommendationType {\n STANDARD\n DAILY\n LIST\n}\n\nenum RecommendationRejectionReason {\n NOT_RELEVANT\n WRONG_POSITION_RIGHT_COMPANY\n RIGHT_POSITION_WRONG_COMPANY\n EXISTING_CUSTOMER\n ALREADY_CONTACTED\n OTHER\n DISCARDED\n}\n\nenum ConnectedMailboxStatus {\n CONNECTED\n DISCONNECTED\n}\n\nenum ConnectedMailboxType {\n GMAIL\n OUTLOOK\n IMAP\n}\n\nenum SequenceStepType {\n EMAIL\n LINKEDIN_CONNECTION\n LINKEDIN_MESSAGE\n}\n\nenum SequenceStepCondition {\n LINKEDIN_ACCEPTED_CONNECTION\n LINKEDIN_CONNECTION_NOT_ACCEPTED\n}\n\nenum ProspectSequenceStepStatus {\n PENDING\n COMPLETED\n ERROR\n SCHEDULED\n}\n\nenum ProspectInterestType {\n POSITIVE\n NEGATIVE\n UNKNOWN\n}\n\nenum ProspectInteractionEventType {\n EMAIL_REPLY\n EMAIL_BOUNCE_NOTIFICATION\n EMAIL_OOO_NOTIFICATION\n EMAIL_UNSUBSCRIBE_REQUEST\n EMAIL_NO_LONGER_AT_COMPANY_NOTIFICATION\n EMAIL_OPENED\n LINKEDIN_CONNECTION_ACCEPTED\n LINKEDIN_REPLY\n}\n\nenum SubscriptionTierType {\n FREE\n BASIC\n PRO\n PRO_OUTREACH\n OUTREACH_SCALE\n UNLIMITED\n}\n\nenum SubscriptionBillingInterval {\n MONTH\n YEAR\n}\n\nenum ClayExportStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum ContactDataType {\n EMAIL\n PHONE_NUMBER\n}\n\nenum ContactDataEnrichmentJobStatus {\n PENDING\n RUNNING\n SUCCESS\n FAILED\n STOPPING\n STOPPED\n}\n\nenum ContactDataEnrichmentEntityType {\n RECOMMENDATION\n PROSPECT\n}\n\nmodel ContactDataEnrichmentJob {\n id String @id @default(uuid())\n campaign_id String\n contact_data_type ContactDataType\n entity ContactDataEnrichmentEntityType\n status ContactDataEnrichmentJobStatus\n entity_ids String[]\n enriched_entities_count Int @default(0)\n started_at DateTime\n notify_by_email Boolean @default(false)\n finished_at DateTime?\n campaign Campaign @relation(fields: [campaign_id], references: [id])\n owner_id String\n owner User @relation(fields: [owner_id], references: [id])\n\n @@index([status, started_at, campaign_id, owner_id])\n}\n\nenum ContactDataEnrichmentStatus {\n PENDING\n LOADING\n SUCCESS\n ERROR\n}\n\nenum CampaignCreatedFrom {\n CHAT\n UPLOAD\n API\n TELESCOPE_V4\n SIMILAR_COMPANIES\n}\n\nenum ProspectSource {\n SWIPING\n GENERATED_LIST\n MORE_PROSPECTS_MODAL\n IMPORTED\n}\n\nenum CompanyProspectSource {\n SWIPING\n GENERATED_LIST\n IMPORTED\n SIMILAR\n}\n\nenum ICPTargetEntity {\n LEAD\n COMPANY\n PERSON\n}\n\nenum ICPRelevantDataPoint {\n COMPANY_HQ_LOCATION\n COMPANY_HEADCOUNT\n COMPANY_REVENUE\n COMPANY_FOUNDED_YEAR\n COMPANY_TYPE\n COMPANY_STAGE\n COMPANY_INDUSTRIES\n COMPANY_TECHNOLOGIES\n COMPANY_PRODUCTS\n COMPANY_SERVICES\n COMPANY_B2B_B2C\n PERSON_JOB_TITLE\n PERSON_LOCATION\n PERSON_EMAIL\n PERSON_PHONE_NUMBER\n PERSON_DEGREE\n PERSON_UNIVERSITY\n PERSON_EDUCATION\n PERSON_EXPERIENCE\n PERSON_SKILLS\n}\n\nenum TelescopeV4CampaignType {\n GENERATED_LIST\n UPLOADED_LIST\n SAMPLE\n}\n\nenum RecommendationsListCreditCostPolicy {\n FREE\n SIMPLE // 1 credit per lead\n COST_BASED // 1 credit per lead + 1 / emails + 5 / phone number + 1 / per lead per advanced data point required\n}\n\nenum ProspectOutreachStatus {\n RUNNING\n COMPLETED\n}\n\nenum MessageGenerationMode {\n PROMPT\n TEMPLATE\n}\n\nenum OutreachPersonalisationModelName {\n GEMINI_2_0_FLASH\n CLAUDE_3_7_SONNET\n GPT_4O\n}\n",
1544
+ "inlineSchemaHash": "563be59479d6fedfa35eb043bfc2ab801b6092a8ae65dd78dcf37788a0e37237",
1545
1545
  "copyEngine": true
1546
1546
  }
1547
1547
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-1cc019f87722471f966bebb2ab575c60cbec9f05b16149b722d686fa48feeeb2",
2
+ "name": "prisma-client-9772e2b6bc3bc9f3aaa629b8e71fb729391684c70ac7ff4eadb5c116601c237f",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "index-browser.js",
@@ -324,6 +324,8 @@ model Prospect {
324
324
  @@index([company_id])
325
325
  @@index([campaign_id])
326
326
  @@index([owner_id, company_id, deleted_at])
327
+ @@index([email])
328
+ @@index([email_verification_status])
327
329
  }
328
330
 
329
331
  model CompanyProspect {
@@ -324,6 +324,8 @@ model Prospect {
324
324
  @@index([company_id])
325
325
  @@index([campaign_id])
326
326
  @@index([owner_id, company_id, deleted_at])
327
+ @@index([email])
328
+ @@index([email_verification_status])
327
329
  }
328
330
 
329
331
  model CompanyProspect {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "telescope-prisma-client",
3
- "version": "0.0.172",
3
+ "version": "0.0.173",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/schema.prisma CHANGED
@@ -324,6 +324,8 @@ model Prospect {
324
324
  @@index([company_id])
325
325
  @@index([campaign_id])
326
326
  @@index([owner_id, company_id, deleted_at])
327
+ @@index([email])
328
+ @@index([email_verification_status])
327
329
  }
328
330
 
329
331
  model CompanyProspect {