# Code generated by highflame-policy-codegen. DO NOT EDIT.
# Source: schema/highflame.cedarschema

"""Action types for Highflame Cedar policies."""

from .entities import EntityUID

class ActionType:
    """Action types defined in the Highflame Cedar schema."""

    ACCESS_SERVER_RESOURCE: str = "access_server_resource"
    CALL_TOOL: str = "call_tool"
    CONNECT_SERVER: str = "connect_server"
    DEPLOY_MODEL: str = "deploy_model"
    HTTP_REQUEST: str = "http_request"
    LOAD_MODEL: str = "load_model"
    PROCESS_PROMPT: str = "process_prompt"
    PROCESS_RESPONSE: str = "process_response"
    QUARANTINE_ARTIFACT: str = "quarantine_artifact"
    READ_FILE: str = "read_file"
    SCAN_ARTIFACT: str = "scan_artifact"
    SCAN_PACKAGE: str = "scan_package"
    SCAN_TARGET: str = "scan_target"
    SKIP_GUARDRAILS: str = "skip_guardrails"
    VALIDATE_INTEGRITY: str = "validate_integrity"
    VALIDATE_PROVENANCE: str = "validate_provenance"
    WRITE_FILE: str = "write_file"


def action_uid(action: str) -> EntityUID:
    """Create an EntityUID for an action."""
    return {"type": "Action", "id": action}
