prebuilt.ai_insight.state¶

State schema for News Reporter System.

Classes¶

NewsReporterState

State for news reporting workflow.

Module Contents¶

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

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

State for news reporting workflow.

__shared_fields__ = ['messages', 'search_config', 'article_summaries', 'categories', 'news_report']¶
article_summaries: List[haive.prebuilt.ai_insight.models.ArticleSummary] = None¶
property articles_found: int¶

Number of articles found.

property articles_processed: int¶

Number of articles processed.

categories: List[haive.prebuilt.ai_insight.models.NewsCategory] = None¶
end_time: datetime.datetime | None = None¶
filtered_articles: List[haive.prebuilt.ai_insight.models.Article] = None¶
property has_sufficient_content: bool¶

Check if we have enough content for a report.

news_report: haive.prebuilt.ai_insight.models.NewsReport | None = None¶
property processing_time: float | None¶

Total processing time in seconds.

raw_articles: List[haive.prebuilt.ai_insight.models.Article] = None¶
report_config: haive.prebuilt.ai_insight.models.ReportConfig = None¶
report_output: str | None = None¶
saved_filename: str | None = None¶
search_config: haive.prebuilt.ai_insight.models.NewsSearchConfig = None¶
spotlight_article: haive.prebuilt.ai_insight.models.ArticleSummary | None = None¶
start_time: datetime.datetime = None¶
summary_style: haive.prebuilt.ai_insight.models.SummaryStyle = None¶
property topic: str¶

Get the search topic.

trends: List[str] = None¶