prebuilt.startup.pitchdeck.models¶
Pitch deck models for the Haive framework.
This module provides comprehensive data models for creating, managing, and generating pitch decks using AI agents. The models are designed to be composable, serializable, and extensible, following Haive’s dynamic architecture principles.
The models support: - Complete pitch deck structure with slides and sections - Content generation tracking and versioning - Agent collaboration metadata - Validation and quality scoring - Export to various formats
Attributes¶
Classes¶
Metadata about agent contributions to content generation. |
|
Data structure for charts and visualizations. |
|
Status of content generation. |
|
Represents a single data point that can be used in slides. |
|
Visual design styles for the pitch deck. |
|
Supported export formats for pitch decks. |
|
Financial metrics and projections. |
|
Specialized content for financial slides. |
|
Complete pitch deck model. |
|
Metadata about the pitch deck. |
|
Template for creating pitch decks. |
|
Metrics for assessing pitch deck quality. |
|
A single slide in the pitch deck. |
|
Base content for a slide with common fields. |
|
Tracks revisions to a slide. |
|
Types of slides commonly found in pitch decks. |
|
Information about a team member. |
|
Specialized content for team slides. |
Module Contents¶
- class prebuilt.startup.pitchdeck.models.AgentMetadata(/, **data: Any)¶
Bases:
pydantic.BaseModelMetadata about agent contributions to content generation.
Tracks which agents contributed to what content for auditing and improvement.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- timestamp: datetime.datetime = None¶
- class prebuilt.startup.pitchdeck.models.ChartData(/, **data: Any)¶
Bases:
pydantic.BaseModelData structure for charts and visualizations.
- classmethod validate_data_points(v)¶
Ensure we have at least one data point.
- chart_type: Literal['bar', 'line', 'pie', 'scatter', 'area', 'combo'] = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.ContentStatus¶
-
Status of content generation.
- APPROVED = 'approved'¶
- GENERATED = 'generated'¶
- GENERATING = 'generating'¶
- PENDING = 'pending'¶
- REJECTED = 'rejected'¶
- REVIEWING = 'reviewing'¶
- REVISION_NEEDED = 'revision_needed'¶
- class prebuilt.startup.pitchdeck.models.DataPoint(/, **data: Any)¶
Bases:
pydantic.BaseModelRepresents a single data point that can be used in slides.
This is useful for financial data, metrics, market statistics, etc.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- timestamp: datetime.datetime | None = None¶
- class prebuilt.startup.pitchdeck.models.DesignStyle¶
-
Visual design styles for the pitch deck.
- BOLD = 'bold'¶
- CORPORATE = 'corporate'¶
- CREATIVE = 'creative'¶
- ELEGANT = 'elegant'¶
- MINIMAL = 'minimal'¶
- MODERN = 'modern'¶
- PLAYFUL = 'playful'¶
- TECHNICAL = 'technical'¶
- class prebuilt.startup.pitchdeck.models.ExportFormat¶
-
Supported export formats for pitch decks.
- GOOGLE_SLIDES = 'google_slides'¶
- HTML = 'html'¶
- KEYNOTE = 'keynote'¶
- MARKDOWN = 'markdown'¶
- PDF = 'pdf'¶
- PPTX = 'pptx'¶
- class prebuilt.startup.pitchdeck.models.FinancialMetrics(/, **data: Any)¶
Bases:
pydantic.BaseModelFinancial metrics and projections.
- validate_metrics()¶
Validate financial metrics relationships.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.FinancialSlideContent(/, **data: Any)¶
Bases:
SlideContentSpecialized content for financial slides.
- financial_metrics: FinancialMetrics | None = None¶
- class prebuilt.startup.pitchdeck.models.PitchDeck(/, **data: Any)¶
Bases:
pydantic.BaseModelComplete pitch deck model.
This is the main model that contains all slides and orchestrates the pitch deck creation process.
- export_config(format: ExportFormat) dict[str, Any]¶
Generate export configuration for the specified format.
Returns configuration that can be used by export agents.
- get_next_slide_to_generate() Slide[SlideContent] | None¶
Get the next slide that needs generation.
- get_slide_by_type(slide_type: SlideType) Slide[SlideContent] | None¶
Get the first slide of a given type.
- get_slides_by_status(status: ContentStatus) list[Slide[SlideContent]]¶
Get all slides with a specific status.
- to_review_format() dict[str, Any]¶
Convert deck to a format suitable for review.
Returns a simplified version for review agents or humans.
- validate_deck()¶
Validate deck structure and update indices.
- agent_contributions: list[AgentMetadata] = None¶
- created_at: datetime.datetime = None¶
- metadata: PitchDeckMetadata = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- quality_metrics: QualityMetrics | None = None¶
- slides: list[Slide[SlideContent]] = None¶
- status: ContentStatus = None¶
- updated_at: datetime.datetime = None¶
- class prebuilt.startup.pitchdeck.models.PitchDeckMetadata(/, **data: Any)¶
Bases:
pydantic.BaseModelMetadata about the pitch deck.
- design_style: DesignStyle = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- stage: Literal['idea', 'pre_seed', 'seed', 'series_a', 'series_b', 'series_c', 'later'] = None¶
- class prebuilt.startup.pitchdeck.models.PitchDeckTemplate(/, **data: Any)¶
Bases:
pydantic.BaseModelTemplate for creating pitch decks.
Defines the structure and requirements for a type of pitch deck.
- create_deck_scaffold(metadata: PitchDeckMetadata) PitchDeck¶
Create a new pitch deck scaffold from this template.
- default_design_style: DesignStyle = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.QualityMetrics(/, **data: Any)¶
Bases:
pydantic.BaseModelMetrics for assessing pitch deck quality.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.Slide(/, **data: Any)¶
Bases:
pydantic.BaseModel,Generic[TContent]A single slide in the pitch deck.
Generic over content type to allow specialized slide content while maintaining type safety.
- add_agent_contribution(agent_metadata: AgentMetadata) None¶
Track agent contribution to this slide.
- update_timestamp()¶
Update timestamp when model is modified.
- validate_content() list[str]¶
Validate slide content and return any issues.
Override in subclasses for specific validation rules.
- agent_metadata: list[AgentMetadata] = None¶
- content: TContent = None¶
- created_at: datetime.datetime = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- revisions: list[SlideRevision] = None¶
- status: ContentStatus = None¶
- updated_at: datetime.datetime = None¶
- class prebuilt.startup.pitchdeck.models.SlideContent(/, **data: Any)¶
Bases:
pydantic.BaseModelBase content for a slide with common fields.
This can be extended for specific slide types with additional fields.
- classmethod validate_headline(v)¶
Ensure headline is not too long.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.SlideRevision(/, **data: Any)¶
Bases:
pydantic.BaseModelTracks revisions to a slide.
- agent_metadata: AgentMetadata | None = None¶
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- previous_content: SlideContent | None = None¶
- timestamp: datetime.datetime = None¶
- class prebuilt.startup.pitchdeck.models.SlideType¶
-
Types of slides commonly found in pitch decks.
- APPENDIX = 'appendix'¶
- BUSINESS_MODEL = 'business_model'¶
- CALL_TO_ACTION = 'call_to_action'¶
- COMPETITION = 'competition'¶
- COMPETITIVE_ADVANTAGE = 'competitive_advantage'¶
- CUSTOM = 'custom'¶
- FINANCIALS = 'financials'¶
- FUNDRAISING = 'fundraising'¶
- GO_TO_MARKET = 'go_to_market'¶
- MARKET_SIZE = 'market_size'¶
- PROBLEM = 'problem'¶
- ROADMAP = 'roadmap'¶
- SOLUTION = 'solution'¶
- TEAM = 'team'¶
- TITLE = 'title'¶
- TRACTION = 'traction'¶
- class prebuilt.startup.pitchdeck.models.TeamMember(/, **data: Any)¶
Bases:
pydantic.BaseModelInformation about a team member.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class prebuilt.startup.pitchdeck.models.TeamSlideContent(/, **data: Any)¶
Bases:
SlideContentSpecialized content for team slides.
- advisors: list[TeamMember] = None¶
- team_members: list[TeamMember] = None¶
- prebuilt.startup.pitchdeck.models.FinancialSlide¶
- prebuilt.startup.pitchdeck.models.StandardSlide¶
- prebuilt.startup.pitchdeck.models.TContent¶
- prebuilt.startup.pitchdeck.models.TMetrics¶
- prebuilt.startup.pitchdeck.models.TeamSlide¶