| 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).") | |