@gg-world/deals
Version:
Zod schemas and TypeScript types for deal-related data structures
1,140 lines (1,139 loc) • 49.7 kB
TypeScript
import { ObjectId } from "mongodb";
import { z } from "zod";
export declare const DealStatusEnum: z.ZodEnum<["default", "liked", "disliked", "deleted", "email"]>;
export declare const ProcessingStatusEnum: z.ZodEnum<["pending", "completed", "failed"]>;
export declare const LinkParsingStatusEnum: z.ZodEnum<["pending", "completed"]>;
export declare const LinkStatusEnum: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
export declare const SourceTypeEnum: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
export declare const DealSourceEnum: z.ZodEnum<["email", "file", "upload"]>;
export declare const CompanyInfoSchema: z.ZodObject<{
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>;
country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
website: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
}, {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
}>;
export declare const FounderInfoSchema: z.ZodObject<{
first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
position: z.ZodDefault<z.ZodNullable<z.ZodString>>;
bio: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
}, {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
}>;
export declare const BusinessMetricsSchema: z.ZodObject<{
business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
stage: z.ZodDefault<z.ZodNullable<z.ZodString>>;
arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
}, {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
}>;
export declare const FundraisingInfoSchema: z.ZodObject<{
round: z.ZodDefault<z.ZodNullable<z.ZodString>>;
target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
}, {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
}>;
export declare const DealProfileSchema: z.ZodObject<{
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
company_info: z.ZodNullable<z.ZodObject<{
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>;
country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
website: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
}, {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
}>>;
founder_info: z.ZodNullable<z.ZodObject<{
first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
position: z.ZodDefault<z.ZodNullable<z.ZodString>>;
bio: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
}, {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
}>>;
business_metrics: z.ZodNullable<z.ZodObject<{
business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
stage: z.ZodDefault<z.ZodNullable<z.ZodString>>;
arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
}, {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
}>>;
fundraising: z.ZodNullable<z.ZodObject<{
round: z.ZodDefault<z.ZodNullable<z.ZodString>>;
target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
}, {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
}>>;
additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
company_info: {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
} | null;
founder_info: {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
} | null;
business_metrics: {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
} | null;
fundraising: {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
}, {
company_info: {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
} | null;
founder_info: {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
} | null;
business_metrics: {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
} | null;
fundraising: {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
}>;
export declare const LinkParsingResultSchema: z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
parsed_at: z.ZodNullable<z.ZodDate>;
error_message: z.ZodNullable<z.ZodString>;
retries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}>;
export declare const FileAttachmentSchema: z.ZodObject<{
file_url: z.ZodString;
filename: z.ZodString;
uploaded_at: z.ZodDate;
}, "strip", z.ZodTypeAny, {
file_url: string;
filename: string;
uploaded_at: Date;
}, {
file_url: string;
filename: string;
uploaded_at: Date;
}>;
export declare const RawInputSchema: z.ZodObject<{
text: z.ZodDefault<z.ZodString>;
attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
file_url: z.ZodString;
filename: z.ZodString;
uploaded_at: z.ZodDate;
}, "strip", z.ZodTypeAny, {
file_url: string;
filename: string;
uploaded_at: Date;
}, {
file_url: string;
filename: string;
uploaded_at: Date;
}>, "many">>;
received_at: z.ZodDefault<z.ZodDate>;
}, "strip", z.ZodTypeAny, {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
}, {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
}>;
export declare const EnrichmentMetadataSchema: z.ZodObject<{
last_enrichment_date: z.ZodNullable<z.ZodDate>;
raw_input: z.ZodObject<{
text: z.ZodDefault<z.ZodString>;
attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
file_url: z.ZodString;
filename: z.ZodString;
uploaded_at: z.ZodDate;
}, "strip", z.ZodTypeAny, {
file_url: string;
filename: string;
uploaded_at: Date;
}, {
file_url: string;
filename: string;
uploaded_at: Date;
}>, "many">>;
received_at: z.ZodDefault<z.ZodDate>;
}, "strip", z.ZodTypeAny, {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
}, {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
}>;
source_data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
raw_data: z.ZodAny;
processed_at: z.ZodDate;
source_type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
}, "strip", z.ZodTypeAny, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}>>>;
processing_status: z.ZodObject<{
link_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>;
raw_input_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>;
link_parsing_results: z.ZodDefault<z.ZodArray<z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
parsed_at: z.ZodNullable<z.ZodDate>;
error_message: z.ZodNullable<z.ZodString>;
retries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
link_parsing_status: "pending" | "completed";
raw_input_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
}, {
link_parsing_status?: "pending" | "completed" | undefined;
raw_input_parsing_status?: "pending" | "completed" | undefined;
link_parsing_results?: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[] | undefined;
}>;
}, "strip", z.ZodTypeAny, {
last_enrichment_date: Date | null;
raw_input: {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
};
source_data: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}>;
processing_status: {
link_parsing_status: "pending" | "completed";
raw_input_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
};
}, {
last_enrichment_date: Date | null;
raw_input: {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
};
processing_status: {
link_parsing_status?: "pending" | "completed" | undefined;
raw_input_parsing_status?: "pending" | "completed" | undefined;
link_parsing_results?: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[] | undefined;
};
source_data?: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}> | undefined;
}>;
export declare const DealFactorSchema: z.ZodObject<{
factor: z.ZodString;
explanation: z.ZodString;
impact: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
factor: string;
explanation: string;
impact?: number | undefined;
}, {
factor: string;
explanation: string;
impact?: number | undefined;
}>;
export declare const DealScoringSchema: z.ZodObject<{
score: z.ZodDefault<z.ZodNumber>;
factors: z.ZodDefault<z.ZodArray<z.ZodObject<{
factor: z.ZodString;
explanation: z.ZodString;
impact: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
factor: string;
explanation: string;
impact?: number | undefined;
}, {
factor: string;
explanation: string;
impact?: number | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
score: number;
factors: {
factor: string;
explanation: string;
impact?: number | undefined;
}[];
}, {
score?: number | undefined;
factors?: {
factor: string;
explanation: string;
impact?: number | undefined;
}[] | undefined;
}>;
export declare const DealTagSchema: z.ZodObject<{
id: z.ZodNumber;
name: z.ZodDefault<z.ZodString>;
description: z.ZodDefault<z.ZodString>;
color: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
description: string;
id: number;
color: string;
}, {
id: number;
name?: string | undefined;
description?: string | undefined;
color?: string | undefined;
}>;
export declare const DealSchema: z.ZodObject<{
investor_email: z.ZodNullable<z.ZodString>;
status: z.ZodDefault<z.ZodEnum<["default", "liked", "disliked", "deleted", "email"]>>;
new: z.ZodDefault<z.ZodBoolean>;
stage: z.ZodDefault<z.ZodNullable<z.ZodString>>;
tags: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
source: z.ZodDefault<z.ZodEnum<["email", "file", "upload"]>>;
profile: z.ZodObject<{
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
company_info: z.ZodNullable<z.ZodObject<{
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
description: z.ZodDefault<z.ZodNullable<z.ZodString>>;
logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>;
country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>;
website: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
}, {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
}>>;
founder_info: z.ZodNullable<z.ZodObject<{
first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
position: z.ZodDefault<z.ZodNullable<z.ZodString>>;
bio: z.ZodDefault<z.ZodNullable<z.ZodString>>;
linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
}, {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
}>>;
business_metrics: z.ZodNullable<z.ZodObject<{
business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>;
verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
stage: z.ZodDefault<z.ZodNullable<z.ZodString>>;
arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
}, {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
}>>;
fundraising: z.ZodNullable<z.ZodObject<{
round: z.ZodDefault<z.ZodNullable<z.ZodString>>;
target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
}, {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
}>>;
additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
company_info: {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
} | null;
founder_info: {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
} | null;
business_metrics: {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
} | null;
fundraising: {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
}, {
company_info: {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
} | null;
founder_info: {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
} | null;
business_metrics: {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
} | null;
fundraising: {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
}>;
enrichment_metadata: z.ZodObject<{
last_enrichment_date: z.ZodNullable<z.ZodDate>;
raw_input: z.ZodObject<{
text: z.ZodDefault<z.ZodString>;
attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
file_url: z.ZodString;
filename: z.ZodString;
uploaded_at: z.ZodDate;
}, "strip", z.ZodTypeAny, {
file_url: string;
filename: string;
uploaded_at: Date;
}, {
file_url: string;
filename: string;
uploaded_at: Date;
}>, "many">>;
received_at: z.ZodDefault<z.ZodDate>;
}, "strip", z.ZodTypeAny, {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
}, {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
}>;
source_data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
raw_data: z.ZodAny;
processed_at: z.ZodDate;
source_type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
}, "strip", z.ZodTypeAny, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}>>>;
processing_status: z.ZodObject<{
link_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>;
raw_input_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>;
link_parsing_results: z.ZodDefault<z.ZodArray<z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>;
parsed_at: z.ZodNullable<z.ZodDate>;
error_message: z.ZodNullable<z.ZodString>;
retries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}, {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
link_parsing_status: "pending" | "completed";
raw_input_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
}, {
link_parsing_status?: "pending" | "completed" | undefined;
raw_input_parsing_status?: "pending" | "completed" | undefined;
link_parsing_results?: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[] | undefined;
}>;
}, "strip", z.ZodTypeAny, {
last_enrichment_date: Date | null;
raw_input: {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
};
source_data: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}>;
processing_status: {
link_parsing_status: "pending" | "completed";
raw_input_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
};
}, {
last_enrichment_date: Date | null;
raw_input: {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
};
processing_status: {
link_parsing_status?: "pending" | "completed" | undefined;
raw_input_parsing_status?: "pending" | "completed" | undefined;
link_parsing_results?: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[] | undefined;
};
source_data?: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}> | undefined;
}>;
scoring: z.ZodObject<{
score: z.ZodDefault<z.ZodNumber>;
factors: z.ZodDefault<z.ZodArray<z.ZodObject<{
factor: z.ZodString;
explanation: z.ZodString;
impact: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
factor: string;
explanation: string;
impact?: number | undefined;
}, {
factor: string;
explanation: string;
impact?: number | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
score: number;
factors: {
factor: string;
explanation: string;
impact?: number | undefined;
}[];
}, {
score?: number | undefined;
factors?: {
factor: string;
explanation: string;
impact?: number | undefined;
}[] | undefined;
}>;
processing_status: z.ZodDefault<z.ZodEnum<["pending", "completed", "failed"]>>;
created_at: z.ZodDefault<z.ZodDate>;
updated_at: z.ZodNullable<z.ZodDefault<z.ZodDate>>;
}, "strip", z.ZodTypeAny, {
status: "default" | "liked" | "disliked" | "deleted" | "email";
stage: string | null;
processing_status: "pending" | "completed" | "failed";
investor_email: string | null;
new: boolean;
tags: number[];
source: "email" | "file" | "upload";
profile: {
company_info: {
name: string | null;
description: string | null;
logo_url: string | null;
investment_status: string | null;
country_id: string | null;
website: string | null;
linkedin_url: string | null;
} | null;
founder_info: {
linkedin_url: string | null;
first_name: string | null;
last_name: string | null;
position: string | null;
bio: string | null;
} | null;
business_metrics: {
business_model: string | null;
verticals: string[] | null;
geography: string[] | null;
stage: string | null;
arr: number | null;
mrr: number | null;
sales_geography: string[] | null;
focus_geography: string[] | null;
} | null;
fundraising: {
round: string | null;
target_amount: number | null;
raised_amount: number | null;
valuation: number | null;
pitch_deck_url: string | null;
pitch_video_url: string | null;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
};
enrichment_metadata: {
last_enrichment_date: Date | null;
raw_input: {
text: string;
attachments: {
file_url: string;
filename: string;
uploaded_at: Date;
}[];
received_at: Date;
};
source_data: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}>;
processing_status: {
link_parsing_status: "pending" | "completed";
raw_input_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
};
};
scoring: {
score: number;
factors: {
factor: string;
explanation: string;
impact?: number | undefined;
}[];
};
created_at: Date;
updated_at: Date | null;
}, {
investor_email: string | null;
profile: {
company_info: {
name?: string | null | undefined;
description?: string | null | undefined;
logo_url?: string | null | undefined;
investment_status?: string | null | undefined;
country_id?: string | null | undefined;
website?: string | null | undefined;
linkedin_url?: string | null | undefined;
} | null;
founder_info: {
linkedin_url?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
position?: string | null | undefined;
bio?: string | null | undefined;
} | null;
business_metrics: {
business_model?: string | null | undefined;
verticals?: string[] | null | undefined;
geography?: string[] | null | undefined;
stage?: string | null | undefined;
arr?: number | null | undefined;
mrr?: number | null | undefined;
sales_geography?: string[] | null | undefined;
focus_geography?: string[] | null | undefined;
} | null;
fundraising: {
round?: string | null | undefined;
target_amount?: number | null | undefined;
raised_amount?: number | null | undefined;
valuation?: number | null | undefined;
pitch_deck_url?: string | null | undefined;
pitch_video_url?: string | null | undefined;
} | null;
additional_details: Record<string, any> | null;
external_id?: string | null | undefined;
};
enrichment_metadata: {
last_enrichment_date: Date | null;
raw_input: {
text?: string | undefined;
attachments?: {
file_url: string;
filename: string;
uploaded_at: Date;
}[] | undefined;
received_at?: Date | undefined;
};
processing_status: {
link_parsing_status?: "pending" | "completed" | undefined;
raw_input_parsing_status?: "pending" | "completed" | undefined;
link_parsing_results?: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[] | undefined;
};
source_data?: Record<string, {
processed_at: Date;
source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file";
raw_data?: any;
}> | undefined;
};
scoring: {
score?: number | undefined;
factors?: {
factor: string;
explanation: string;
impact?: number | undefined;
}[] | undefined;
};
status?: "default" | "liked" | "disliked" | "deleted" | "email" | undefined;
stage?: string | null | undefined;
processing_status?: "pending" | "completed" | "failed" | undefined;
new?: boolean | undefined;
tags?: number[] | undefined;
source?: "email" | "file" | "upload" | undefined;
created_at?: Date | undefined;
updated_at?: Date | null | undefined;
}>;
export declare const StageSchema: z.ZodObject<{
investor_email: z.ZodString;
name: z.ZodString;
order: z.ZodNumber;
color: z.ZodString;
created_at: z.ZodDefault<z.ZodDate>;
updated_at: z.ZodNullable<z.ZodDefault<z.ZodDate>>;
}, "strip", z.ZodTypeAny, {
name: string;
color: string;
investor_email: string;
created_at: Date;
updated_at: Date | null;
order: number;
}, {
name: string;
color: string;
investor_email: string;
order: number;
created_at?: Date | undefined;
updated_at?: Date | null | undefined;
}>;
export type Stage = z.infer<typeof StageSchema>;
export type DealType = z.infer<typeof DealSchema>;
export type DealDocument = DealType & {
_id: ObjectId;
};
export type StageDocument = Stage & {
_id: ObjectId;
};
export type DealStatus = z.infer<typeof DealStatusEnum>;
export type LinkParsingStatus = z.infer<typeof LinkParsingStatusEnum>;
export type LinkStatus = z.infer<typeof LinkStatusEnum>;
export type SourceType = z.infer<typeof SourceTypeEnum>;
export type DealSource = z.infer<typeof DealSourceEnum>;
export type ProcessingStatus = z.infer<typeof ProcessingStatusEnum>;
export type CompanyInfo = z.infer<typeof CompanyInfoSchema>;
export type FounderInfo = z.infer<typeof FounderInfoSchema>;
export type BusinessMetrics = z.infer<typeof BusinessMetricsSchema>;
export type FundraisingInfo = z.infer<typeof FundraisingInfoSchema>;
export type DealProfile = z.infer<typeof DealProfileSchema>;
export type LinkParsingResult = z.infer<typeof LinkParsingResultSchema>;
export type EnrichmentMetadata = z.infer<typeof EnrichmentMetadataSchema>;
export type DealFactor = z.infer<typeof DealFactorSchema>;
export type DealScoring = z.infer<typeof DealScoringSchema>;
export type FileAttachment = z.infer<typeof FileAttachmentSchema>;
export type RawInput = z.infer<typeof RawInputSchema>;
export type DealTag = z.infer<typeof DealTagSchema>;
export type DealStatusType = z.infer<typeof DealStatusEnum>;