SaaS / models.py
Nimisha1518's picture
πŸš€ Initial push: SaaS-Ops Dashboard with AI Strategy Recommendations and Baseline Agent
8442de9
from pydantic import BaseModel, Field
from typing import Dict, Any, Optional
class Action(BaseModel):
action_type: str = Field(
...,
description="Type of action: 'hire_dev', 'pay_debt', 'marketing_push'",
)
amount: float = Field(
default=0.0,
description="Amount to spend on pay_debt or marketing_push (in Rs.)",
)
count: int = Field(
default=1,
description="Number of items, e.g., developers to hire",
)
class DebtDetail(BaseModel):
score: float = Field(..., description="Quantitative tech debt from 0.0 to 1.0")
reasoning: str = Field(
..., description="Explanation of why debt is at this level and what it implies"
)
impact_on_revenue: str = Field(
..., description="How exactly this level of debt is affecting the bottom line"
)
recommendation: str = Field(
..., description="Suggested approach to handle currently observed debt"
)
class Observation(BaseModel):
cash: float
devs: int
features_completed: int
monthly_revenue: float
tech_debt: float
tech_debt_details: DebtDetail
current_month: int
is_bankrupt: bool
event_message: Optional[str] = Field(
default=None,
description="Description of any stochastic event that fired this month, or null.",
)
class Reward(BaseModel):
value: float
reason: str