prebuilt.perplexity.base.state¶

Base state schemas for the Perplexity multi-agent system.

This module defines the core state schemas that are shared across all Perplexity agents, including search results, citations, and performance metrics.

Classes¶

BasicSearchState

State for basic search mode.

Citation

Represents a citation for a piece of information.

LabsState

State for Labs mode with project-based workflows.

ModelChoice

Available model choices for different tasks.

PerformanceMetrics

Tracks performance metrics for the system.

PerplexityBaseState

Base state schema for all Perplexity agents.

ProSearchState

State for Pro search mode with enhanced reasoning.

QueryAnalysis

Results of query analysis.

QueryType

Types of queries that can be processed.

ResearchState

State for deep research mode.

SearchMode

Search execution modes.

SearchResult

Represents a search result from web search or retrieval.

SourceTrustLevel

Trust levels for information sources.

Module Contents¶

class prebuilt.perplexity.base.state.BasicSearchState(/, **data)¶

Bases: PerplexityBaseState

State for basic search mode.

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.perplexity.base.state.Citation(/, **data)¶

Bases: pydantic.BaseModel

Represents a citation for a piece of information.

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.perplexity.base.state.LabsState(/, **data)¶

Bases: PerplexityBaseState

State for Labs mode with project-based workflows.

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.perplexity.base.state.ModelChoice¶

Bases: str, enum.Enum

Available model choices for different tasks.

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

class prebuilt.perplexity.base.state.PerformanceMetrics(/, **data)¶

Bases: pydantic.BaseModel

Tracks performance metrics for the system.

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)

calculate_latency()¶

Calculate latency if start and end times are available.

Return type:

float | None

class prebuilt.perplexity.base.state.PerplexityBaseState(/, **data)¶

Bases: haive.core.schema.prebuilt.messages_state.MessagesState

Base state schema for all Perplexity agents.

This state extends MessagesState to provide conversation management while adding Perplexity-specific fields for search, retrieval, and quality assurance.

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_citation(citation)¶

Add a citation, avoiding duplicates.

Parameters:

citation (Citation)

Return type:

None

add_search_result(result)¶

Add a search result to the state.

Parameters:

result (SearchResult)

Return type:

None

get_high_confidence_citations()¶

Get citations above the confidence threshold.

Return type:

list[Citation]

should_continue()¶

Determine if searching should continue.

Return type:

bool

class prebuilt.perplexity.base.state.ProSearchState(/, **data)¶

Bases: PerplexityBaseState

State for Pro search mode with enhanced reasoning.

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.perplexity.base.state.QueryAnalysis(/, **data)¶

Bases: pydantic.BaseModel

Results of query analysis.

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.perplexity.base.state.QueryType¶

Bases: str, enum.Enum

Types of queries that can be processed.

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

class prebuilt.perplexity.base.state.ResearchState(/, **data)¶

Bases: PerplexityBaseState

State for deep research mode.

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.perplexity.base.state.SearchMode¶

Bases: str, enum.Enum

Search execution modes.

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

class prebuilt.perplexity.base.state.SearchResult(/, **data)¶

Bases: pydantic.BaseModel

Represents a search result from web search or retrieval.

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.perplexity.base.state.SourceTrustLevel¶

Bases: str, enum.Enum

Trust levels for information sources.

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