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

Classes¶

AgentMetadata

Metadata about agent contributions to content generation.

ChartData

Data structure for charts and visualizations.

ContentStatus

Status of content generation.

DataPoint

Represents a single data point that can be used in slides.

DesignStyle

Visual design styles for the pitch deck.

ExportFormat

Supported export formats for pitch decks.

FinancialMetrics

Financial metrics and projections.

FinancialSlideContent

Specialized content for financial slides.

PitchDeck

Complete pitch deck model.

PitchDeckMetadata

Metadata about the pitch deck.

PitchDeckTemplate

Template for creating pitch decks.

QualityMetrics

Metrics for assessing pitch deck quality.

Slide

A single slide in the pitch deck.

SlideContent

Base content for a slide with common fields.

SlideRevision

Tracks revisions to a slide.

SlideType

Types of slides commonly found in pitch decks.

TeamMember

Information about a team member.

TeamSlideContent

Specialized content for team slides.

Module Contents¶

class prebuilt.startup.pitchdeck.models.AgentMetadata(/, **data)¶

Bases: pydantic.BaseModel

Metadata about agent contributions to content generation.

Tracks which agents contributed to what content for auditing and improvement.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.ChartData(/, **data)¶

Bases: pydantic.BaseModel

Data structure for charts and visualizations.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

classmethod validate_data_points(v)¶

Ensure we have at least one data point.

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.ContentStatus¶

Bases: str, enum.Enum

Status of content generation.

Initialize self. See help(type(self)) for accurate signature.

class prebuilt.startup.pitchdeck.models.DataPoint(/, **data)¶

Bases: pydantic.BaseModel

Represents a single data point that can be used in slides.

This is useful for financial data, metrics, market statistics, etc.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

property formatted_value: str¶

Get formatted value with unit.

Return type:

str

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.DesignStyle¶

Bases: str, enum.Enum

Visual design styles for the pitch deck.

Initialize self. See help(type(self)) for accurate signature.

class prebuilt.startup.pitchdeck.models.ExportFormat¶

Bases: str, enum.Enum

Supported export formats for pitch decks.

Initialize self. See help(type(self)) for accurate signature.

class prebuilt.startup.pitchdeck.models.FinancialMetrics(/, **data)¶

Bases: pydantic.BaseModel

Financial metrics and projections.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

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)¶

Bases: SlideContent

Specialized content for financial slides.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

class prebuilt.startup.pitchdeck.models.PitchDeck(/, **data)¶

Bases: pydantic.BaseModel

Complete pitch deck model.

This is the main model that contains all slides and orchestrates the pitch deck creation process.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

add_slide(slide, position=None)¶

Add a slide to the deck.

Parameters:
Return type:

None

calculate_completion_percentage()¶

Calculate how complete the deck is.

Return type:

float

export_config(format)¶

Generate export configuration for the specified format.

Returns configuration that can be used by export agents.

Parameters:

format (ExportFormat)

Return type:

dict[str, Any]

get_next_slide_to_generate()¶

Get the next slide that needs generation.

Return type:

Slide[SlideContent] | None

get_slide_by_type(slide_type)¶

Get the first slide of a given type.

Parameters:

slide_type (SlideType)

Return type:

Slide[SlideContent] | None

get_slides_by_status(status)¶

Get all slides with a specific status.

Parameters:

status (ContentStatus)

Return type:

list[Slide[SlideContent]]

to_review_format()¶

Convert deck to a format suitable for review.

Returns a simplified version for review agents or humans.

Return type:

dict[str, Any]

validate_deck()¶

Validate deck structure and update indices.

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.PitchDeckMetadata(/, **data)¶

Bases: pydantic.BaseModel

Metadata about the pitch deck.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.PitchDeckTemplate(/, **data)¶

Bases: pydantic.BaseModel

Template for creating pitch decks.

Defines the structure and requirements for a type of pitch deck.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

create_deck_scaffold(metadata)¶

Create a new pitch deck scaffold from this template.

Parameters:

metadata (PitchDeckMetadata)

Return type:

PitchDeck

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.QualityMetrics(/, **data)¶

Bases: pydantic.BaseModel

Metrics for assessing pitch deck quality.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

get_improvement_areas()¶

Identify areas needing improvement.

Return type:

list[str]

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property overall_score: float¶

Calculate overall quality score.

Return type:

float

class prebuilt.startup.pitchdeck.models.Slide(/, **data)¶

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.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

add_agent_contribution(agent_metadata)¶

Track agent contribution to this slide.

Parameters:

agent_metadata (AgentMetadata)

Return type:

None

update_timestamp()¶

Update timestamp when model is modified.

validate_content()¶

Validate slide content and return any issues.

Override in subclasses for specific validation rules.

Return type:

list[str]

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.SlideContent(/, **data)¶

Bases: pydantic.BaseModel

Base content for a slide with common fields.

This can be extended for specific slide types with additional fields.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

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)¶

Bases: pydantic.BaseModel

Tracks revisions to a slide.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.SlideType¶

Bases: str, enum.Enum

Types of slides commonly found in pitch decks.

Initialize self. See help(type(self)) for accurate signature.

class prebuilt.startup.pitchdeck.models.TeamMember(/, **data)¶

Bases: pydantic.BaseModel

Information about a team member.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)

model_config¶

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class prebuilt.startup.pitchdeck.models.TeamSlideContent(/, **data)¶

Bases: SlideContent

Specialized content for team slides.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:

data (Any)