from typing import Dict, Any from pydantic import Field from openenv.core.env_server.types import Action, Observation class VcGeminiAction(Action): """Action for the Multi-Agent VC Negotiator.""" action_type: str = Field(..., description="Type of action: 'read_file', 'email_founder', 'submit_term_sheet', 'propose_syndicate', 'pass_on_deal', 'wait', 'email_competitor', 'sell_secondary_shares'") parameters: Dict[str, Any] = Field(default_factory=dict, description="Parameters for the specific action type. For email_competitor, provide 'competitor_id' and 'body'. For sell_secondary_shares, provide 'startup_name'.") class VcGeminiObservation(Observation): """Observation from the VC Environment.""" observation_text: str = Field(..., description="The immediate result or narrative of your action.") inbox: list = Field(default_factory=list, description="Any new emails or messages received in your inbox this turn.") data: Dict[str, Any] = Field(default_factory=dict, description="Structured data returned (e.g. file contents or cap table rows).")