Spaces:
Sleeping
Sleeping
| """ | |
| Data models for PrivilegeDesk — Zero-Standing-Privilege Ops Environment. | |
| """ | |
| from typing import Any, Dict, List, Optional | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class PrivilegeDeskAction(Action): | |
| """Action for PrivilegeDesk — a structured tool call.""" | |
| tool_name: str = Field( | |
| ..., | |
| description=( | |
| "Name of the tool to call e.g. 'policy.lookup', 'access.decide', " | |
| "'entitlement.revoke'. Check available_tools in the observation." | |
| ), | |
| ) | |
| arguments: Dict[str, Any] = Field( | |
| default_factory=dict, | |
| description="Tool-specific arguments as key-value pairs", | |
| ) | |
| class PrivilegeDeskObservation(Observation): | |
| """Observation from PrivilegeDesk — the agent's partial view of the IAM world.""" | |
| # Task context | |
| task_id: str = Field(default="", description="Active task identifier") | |
| task_goal: str = Field(default="", description="Natural language description of the goal") | |
| step: int = Field(default=0, description="Current step number") | |
| max_steps: int = Field(default=25, description="Maximum steps before truncation") | |
| current_time: str = Field(default="", description="Simulated current time (ISO)") | |
| available_tools: List[str] = Field(default_factory=list, description="Tools available for this task") | |
| # Org & resources | |
| users: Dict[str, Any] = Field(default_factory=dict, description="Users in the org") | |
| org_graph: Dict[str, Any] = Field(default_factory=dict, description="Manager hierarchy") | |
| resources: Dict[str, Any] = Field(default_factory=dict, description="Resources (databases, repos, etc.)") | |
| policies: Dict[str, Any] = Field(default_factory=dict, description="Access policies") | |
| groups: Dict[str, Any] = Field(default_factory=dict, description="User groups") | |
| # Access state | |
| entitlements: Dict[str, Any] = Field(default_factory=dict, description="Current entitlements (sanitized)") | |
| pending_requests: Dict[str, Any] = Field(default_factory=dict, description="Pending access requests") | |
| approval_chains: Dict[str, Any] = Field(default_factory=dict, description="Approval chain state") | |
| workflows: Dict[str, Any] = Field(default_factory=dict, description="Active workflows") | |
| # Objectives & last action | |
| objectives: List[Dict[str, Any]] = Field(default_factory=list, description="Task subgoals") | |
| audit_log: List[Dict[str, Any]] = Field(default_factory=list, description="Last 5 actions taken") | |
| notifications: List[Dict[str, Any]] = Field(default_factory=list, description="System notifications") | |
| # Review task | |
| review_target_user_id: Optional[str] = Field(default=None, description="User to review (access_review task)") | |
| # Last tool result | |
| tool_result: Optional[Dict[str, Any]] = Field(default=None, description="Result of the last tool call") | |