dmChatbotBackend / src /runtime /cdm_runtime.py
github-actions
Auto deploy from GitHub
cb505ff
Raw History Blame Contribute Delete
615 Bytes
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any, Dict
@dataclass(frozen=True)
class TrendAnalysis:
"""Deterministic CDM output passed to the coaching skill."""
summary: str
metrics: Dict[str, Any] = field(default_factory=dict)
def as_dict(self) -> Dict[str, Any]:
return {"trend_analysis": self.summary, "trend_data": self.metrics}
def trend_analysis_from_state(state: Dict[str, Any]) -> TrendAnalysis:
return TrendAnalysis(
summary=state.get("trend_analysis") or "",
metrics=state.get("trend_data") or {},
)