prebuilt.search_and_summarize.state¶

State schema for Search & Summarize Agent System.

Classes¶

SearchSummarizeState

State for search and summarize workflow.

Module Contents¶

class prebuilt.search_and_summarize.state.SearchSummarizeState(messages: list[dict[str, Any]] | None = None, **data)¶

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

State for search and summarize workflow.

__shared_fields__ = ['messages', 'search_query', 'search_results', 'content_summaries', 'research_report']¶
additional_searches: List[haive.prebuilt.search_and_summarize.models.SearchResults] = None¶
content_summaries: List[haive.prebuilt.search_and_summarize.models.ContentSummary] = None¶
end_time: datetime.datetime | None = None¶
fetched_content: Dict[str, str] = None¶
property has_sufficient_results: bool¶

Check if we have enough results to create a report.

property processing_time: float | None¶

Total processing time in seconds.

quality_scores: Dict[str, float] = None¶
property query_text: str¶

Extract query text from messages or search_query.

research_report: haive.prebuilt.search_and_summarize.models.ResearchReport | None = None¶
search_query: haive.prebuilt.search_and_summarize.models.SearchQuery | None = None¶
search_results: haive.prebuilt.search_and_summarize.models.SearchResults | None = None¶
property sources_summarized: int¶

Number of sources actually summarized.

start_time: datetime.datetime = None¶
summary_config: haive.prebuilt.search_and_summarize.models.SummaryConfig = None¶
property total_sources: int¶

Total number of sources found.