@gg-world/deals
Version:
Zod schemas and TypeScript types for deal-related data structures
1,407 lines (1,406 loc) • 49.5 kB
TypeScript
import { z } from "zod";
export declare const InvestorCriteriaSchema: z.ZodNullable<z.ZodObject<{
business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
focus_geography: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
rounds: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
focus_geography: string[] | null;
rounds: string[] | null;
}, {
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
focus_geography: string[] | null;
rounds: string[] | null;
}>>;
export declare const InvestmentSizeSchema: z.ZodNullable<z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>>;
export declare const InvestorProfileSchema: z.ZodNullable<z.ZodObject<{
company: z.ZodNullable<z.ZodString>;
fund_type: z.ZodNullable<z.ZodString>;
fund_location: z.ZodNullable<z.ZodObject<{
fund_country: z.ZodNullable<z.ZodString>;
fund_city: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
fund_country: string | null;
fund_city: string | null;
}, {
fund_country: string | null;
fund_city: string | null;
}>>;
investment_focus: z.ZodNullable<z.ZodObject<{
investment_stage: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
check_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
round_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
pre_money_valuation: z.ZodNullable<z.ZodNumber>;
post_money_valuation: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
}, {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
}>>;
traction: z.ZodNullable<z.ZodObject<{
revenue: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
MRR: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
ARR: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
percent_growth: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
}, "strip", z.ZodTypeAny, {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
}, {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
}>>;
focus_geography_sales: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
startup_headquarters: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
team: z.ZodNullable<z.ZodObject<{
team_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
skills_focus: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
education_background: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
}, {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
}>>;
additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
key_metrics: z.ZodNullable<z.ZodArray<z.ZodObject<{
metric: z.ZodString;
description: z.ZodString;
weight: z.ZodDefault<z.ZodNumber>;
deal_breaker: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
description: string;
weight: number;
deal_breaker: boolean;
metric: string;
}, {
description: string;
metric: string;
weight?: number | undefined;
deal_breaker?: boolean | undefined;
}>, "many">>;
deal_questions: z.ZodNullable<z.ZodArray<z.ZodObject<{
title: z.ZodString;
description: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: string;
description: string;
}, {
title: string;
description: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
weight: number;
deal_breaker: boolean;
metric: string;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
}, {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
metric: string;
weight?: number | undefined;
deal_breaker?: boolean | undefined;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
}>>;
export declare const FileMetadataStatusSchema: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
export declare const InvestorFileMetadataSchema: z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodOptional<z.ZodString>;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}>;
export declare const LinkTypeEnum: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>;
export declare const InvestorLinkParsingResultSchema: z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>;
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" | "other";
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" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}>;
export declare const InvestorLinkParsingErrorSchema: z.ZodNullable<z.ZodObject<{
name: z.ZodNullable<z.ZodString>;
message: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
message: string | null;
name: string | null;
}, {
message: string | null;
name: string | null;
}>>;
export declare const InvestorDealsFileMetadataSchema: z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodString;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
signature: z.ZodString;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}>;
export declare const InvestorEnrichmentMetadataSchema: z.ZodObject<{
bio: z.ZodNullable<z.ZodString>;
files: z.ZodNullable<z.ZodArray<z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodOptional<z.ZodString>;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}>, "many">>;
links: z.ZodNullable<z.ZodObject<{
link_parsing_status: z.ZodEnum<["pending", "completed"]>;
link_parsing_error: z.ZodNullable<z.ZodObject<{
name: z.ZodNullable<z.ZodString>;
message: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
message: string | null;
name: string | null;
}, {
message: string | null;
name: string | null;
}>>;
link_parsing_results: z.ZodArray<z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>;
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" | "other";
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" | "other";
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";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
}, {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
}>>;
deals_csv: z.ZodNullable<z.ZodArray<z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodString;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
signature: z.ZodString;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
}, {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
}>;
export declare const InvestorTutorialsSchema: z.ZodObject<{
metrics_and_questions_stage: z.ZodNullable<z.ZodNumber>;
metrics_and_questions_stage_completed: z.ZodNullable<z.ZodDefault<z.ZodBoolean>>;
new_user_modal: z.ZodNullable<z.ZodBoolean>;
has_opened_tutorial_bot: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
metrics_and_questions_stage: number | null;
metrics_and_questions_stage_completed: boolean | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
}, {
metrics_and_questions_stage: number | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
metrics_and_questions_stage_completed?: boolean | null | undefined;
}>;
export declare const InvestorSchema: z.ZodObject<{
email: z.ZodString;
investor_profile: z.ZodNullable<z.ZodNullable<z.ZodObject<{
company: z.ZodNullable<z.ZodString>;
fund_type: z.ZodNullable<z.ZodString>;
fund_location: z.ZodNullable<z.ZodObject<{
fund_country: z.ZodNullable<z.ZodString>;
fund_city: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
fund_country: string | null;
fund_city: string | null;
}, {
fund_country: string | null;
fund_city: string | null;
}>>;
investment_focus: z.ZodNullable<z.ZodObject<{
investment_stage: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
check_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
round_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
pre_money_valuation: z.ZodNullable<z.ZodNumber>;
post_money_valuation: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
}, {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
}>>;
traction: z.ZodNullable<z.ZodObject<{
revenue: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
MRR: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
ARR: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
percent_growth: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
}, "strip", z.ZodTypeAny, {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
}, {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
}>>;
focus_geography_sales: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
startup_headquarters: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
team: z.ZodNullable<z.ZodObject<{
team_size: z.ZodObject<{
min: z.ZodNullable<z.ZodNumber>;
max: z.ZodNullable<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
min: number | null;
max: number | null;
}, {
min: number | null;
max: number | null;
}>;
skills_focus: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
education_background: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
}, {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
}>>;
additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
key_metrics: z.ZodNullable<z.ZodArray<z.ZodObject<{
metric: z.ZodString;
description: z.ZodString;
weight: z.ZodDefault<z.ZodNumber>;
deal_breaker: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
description: string;
weight: number;
deal_breaker: boolean;
metric: string;
}, {
description: string;
metric: string;
weight?: number | undefined;
deal_breaker?: boolean | undefined;
}>, "many">>;
deal_questions: z.ZodNullable<z.ZodArray<z.ZodObject<{
title: z.ZodString;
description: z.ZodString;
}, "strip", z.ZodTypeAny, {
title: string;
description: string;
}, {
title: string;
description: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
weight: number;
deal_breaker: boolean;
metric: string;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
}, {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
metric: string;
weight?: number | undefined;
deal_breaker?: boolean | undefined;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
}>>>;
enrichment_metadata: z.ZodNullable<z.ZodObject<{
bio: z.ZodNullable<z.ZodString>;
files: z.ZodNullable<z.ZodArray<z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodOptional<z.ZodString>;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}>, "many">>;
links: z.ZodNullable<z.ZodObject<{
link_parsing_status: z.ZodEnum<["pending", "completed"]>;
link_parsing_error: z.ZodNullable<z.ZodObject<{
name: z.ZodNullable<z.ZodString>;
message: z.ZodNullable<z.ZodString>;
}, "strip", z.ZodTypeAny, {
message: string | null;
name: string | null;
}, {
message: string | null;
name: string | null;
}>>;
link_parsing_results: z.ZodArray<z.ZodObject<{
url: z.ZodString;
status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>;
type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>;
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" | "other";
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" | "other";
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";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
}, {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
}>>;
deals_csv: z.ZodNullable<z.ZodArray<z.ZodObject<{
originalFileName: z.ZodString;
fileName: z.ZodString;
s3URL: z.ZodString;
uploadDate: z.ZodNumber;
status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>;
processingError: z.ZodNullable<z.ZodString>;
active: z.ZodBoolean;
signature: z.ZodString;
}, "strip", z.ZodTypeAny, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}, {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
}, {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
}>>;
settings: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
tutorials: z.ZodNullable<z.ZodObject<{
metrics_and_questions_stage: z.ZodNullable<z.ZodNumber>;
metrics_and_questions_stage_completed: z.ZodNullable<z.ZodDefault<z.ZodBoolean>>;
new_user_modal: z.ZodNullable<z.ZodBoolean>;
has_opened_tutorial_bot: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
metrics_and_questions_stage: number | null;
metrics_and_questions_stage_completed: boolean | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
}, {
metrics_and_questions_stage: number | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
metrics_and_questions_stage_completed?: boolean | null | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
email: string;
enrichment_metadata: {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries: number;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
} | null;
investor_profile: {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
weight: number;
deal_breaker: boolean;
metric: string;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
} | null;
settings: {};
tutorials: {
metrics_and_questions_stage: number | null;
metrics_and_questions_stage_completed: boolean | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
} | null;
}, {
email: string;
enrichment_metadata: {
bio: string | null;
files: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
uploadDate: number;
processingError: string | null;
s3URL?: string | undefined;
}[] | null;
links: {
link_parsing_status: "pending" | "completed";
link_parsing_results: {
type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other";
status: "parsing_pending" | "parsed_success" | "parsing_failed";
url: string;
parsed_at: Date | null;
error_message: string | null;
retries?: number | undefined;
}[];
link_parsing_error: {
message: string | null;
name: string | null;
} | null;
} | null;
deals_csv: {
status: "pending" | "completed" | "failed" | "in progress";
active: boolean;
originalFileName: string;
fileName: string;
s3URL: string;
uploadDate: number;
processingError: string | null;
signature: string;
}[] | null;
} | null;
investor_profile: {
startup_headquarters: string[] | null;
key_metrics: {
description: string;
metric: string;
weight?: number | undefined;
deal_breaker?: boolean | undefined;
}[] | null;
focus_geography_sales: string[] | null;
business_model: string[] | null;
verticals: string[] | null;
minorities: string[] | null;
company: string | null;
team: {
team_size: {
min: number | null;
max: number | null;
};
skills_focus: string[] | null;
education_background: string[] | null;
} | null;
traction: {
revenue: {
min: number | null;
max: number | null;
};
MRR: {
min: number | null;
max: number | null;
};
ARR: {
min: number | null;
max: number | null;
};
percent_growth: {
min: number | null;
max: number | null;
};
} | null;
additional_details: Record<string, any> | null;
fund_type: string | null;
fund_location: {
fund_country: string | null;
fund_city: string | null;
} | null;
investment_focus: {
investment_stage: string[] | null;
round_size: {
min: number | null;
max: number | null;
};
pre_money_valuation: number | null;
post_money_valuation: number | null;
check_size: {
min: number | null;
max: number | null;
};
} | null;
deal_questions: {
title: string;
description: string;
}[] | null;
} | null;
settings: {};
tutorials: {
metrics_and_questions_stage: number | null;
new_user_modal: boolean | null;
has_opened_tutorial_bot: boolean | null;
metrics_and_questions_stage_completed?: boolean | null | undefined;
} | null;
}>;
export type InvestorProfile = z.infer<typeof InvestorProfileSchema>;
export type InvestorEnrichmentMetadata = z.infer<typeof InvestorEnrichmentMetadataSchema>;
export type InvestorDocument = z.infer<typeof InvestorSchema>;
export type InvestorFileMetadata = z.infer<typeof InvestorFileMetadataSchema>;
export type InvestorLinkParsingResult = z.infer<typeof InvestorLinkParsingResultSchema>;
export type InvestorLinkParsingError = z.infer<typeof InvestorLinkParsingErrorSchema>;
export type InvestorDealsFileMetadata = z.infer<typeof InvestorDealsFileMetadataSchema>;