122 lines
2.6 KiB
TypeScript
122 lines
2.6 KiB
TypeScript
|
|
|
|
export interface Evidence {
|
|
url: string;
|
|
snippet: string;
|
|
}
|
|
|
|
export interface Product {
|
|
name: string;
|
|
purpose: string;
|
|
evidence: Evidence[];
|
|
}
|
|
|
|
export interface TargetIndustry {
|
|
name: string;
|
|
evidence: Evidence[];
|
|
}
|
|
|
|
export interface Keyword {
|
|
term: string;
|
|
rationale: string;
|
|
}
|
|
|
|
export interface CompetitorCandidate {
|
|
name: string;
|
|
url: string;
|
|
confidence: number;
|
|
why: string;
|
|
evidence: Evidence[];
|
|
manual_urls?: string;
|
|
}
|
|
|
|
export interface ShortlistedCompetitor {
|
|
name: string;
|
|
url: string;
|
|
}
|
|
|
|
export interface Analysis {
|
|
competitor: {
|
|
name: string;
|
|
url: string;
|
|
};
|
|
portfolio: {
|
|
product: string;
|
|
purpose: string;
|
|
category?: string;
|
|
}[];
|
|
target_industries: string[];
|
|
delivery_model: string;
|
|
overlap_score: number;
|
|
differentiators: string[];
|
|
evidence: Evidence[];
|
|
}
|
|
|
|
export interface SilverBullet {
|
|
competitor_name: string;
|
|
statement: string;
|
|
}
|
|
|
|
export interface Conclusion {
|
|
product_matrix: {
|
|
product: string;
|
|
availability: { competitor: string; has_offering: boolean; }[];
|
|
}[];
|
|
industry_matrix: {
|
|
industry: string;
|
|
availability: { competitor: string; has_offering: boolean; }[];
|
|
}[];
|
|
overlap_scores: { competitor: string; score: number }[];
|
|
summary: string;
|
|
opportunities: string;
|
|
next_questions: string[];
|
|
}
|
|
|
|
export interface Battlecard {
|
|
competitor_name: string;
|
|
competitor_profile: {
|
|
focus: string;
|
|
positioning: string;
|
|
};
|
|
strengths_vs_weaknesses: (string | { text: string; category: string })[];
|
|
landmine_questions: (string | { text: string; category: string })[];
|
|
silver_bullet: string;
|
|
}
|
|
|
|
export interface ReferenceCustomer {
|
|
name: string;
|
|
industry: string;
|
|
testimonial_snippet: string;
|
|
case_study_url: string;
|
|
}
|
|
|
|
export interface ReferenceAnalysis {
|
|
competitor_name: string;
|
|
references: ReferenceCustomer[];
|
|
}
|
|
|
|
|
|
export interface AppState {
|
|
step: number;
|
|
initial_params: {
|
|
start_url: string;
|
|
max_competitors: number;
|
|
market_scope: string;
|
|
language: 'de' | 'en';
|
|
};
|
|
company: {
|
|
name: string;
|
|
start_url: string;
|
|
};
|
|
products: Product[];
|
|
target_industries: TargetIndustry[];
|
|
keywords: Keyword[];
|
|
competitor_candidates: CompetitorCandidate[];
|
|
competitors_shortlist: ShortlistedCompetitor[];
|
|
analyses: Analysis[];
|
|
silver_bullets: SilverBullet[];
|
|
conclusion: Conclusion | null;
|
|
battlecards: Battlecard[];
|
|
reference_analysis: ReferenceAnalysis[];
|
|
reference_analysis_grounding: any[];
|
|
} |