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

"""Context attribute keys for Highflame Cedar policies."""

class ContextKey:
    """Context attribute keys for Cedar policy evaluation."""

    # Guardrails/Core context attributes
    # Name of tool being called
    TOOL_NAME: str = "tool_name"
    # Name of resource being accessed
    RESOURCE_NAME: str = "resource_name"
    # Name of prompt
    PROMPT_NAME: str = "prompt_name"
    # Raw prompt text
    PROMPT_TEXT: str = "prompt_text"
    # Response size in megabytes
    RESPONSE_SIZE_MB: str = "response_size_mb"
    # Set of detected YARA threat names
    YARA_THREATS: str = "yara_threats"
    # Number of threats detected
    THREAT_COUNT: str = "threat_count"
    # Highest severity (0-4)
    MAX_THREAT_SEVERITY: str = "max_threat_severity"
    # User type: external or internal
    USER_TYPE: str = "user_type"
    # Whether monitoring is active
    MONITORING_ENABLED: str = "monitoring_enabled"
    # File path
    PATH: str = "path"
    # HTTP hostname
    HOSTNAME: str = "hostname"
    # IP address
    IP_ADDRESS: str = "ip_address"
    # Whether the IP is private/loopback (set by application layer)
    IS_PRIVATE_IP: str = "is_private_ip"
    # HTTP scheme
    SCHEME: str = "scheme"
    # Port number
    PORT: str = "port"

    # Palisade context attributes
    # Environment: production, development, research
    ENVIRONMENT: str = "environment"
    # Format: pickle, safetensors, gguf, onnx
    ARTIFACT_FORMAT: str = "artifact_format"
    # Whether artifact has signature
    ARTIFACT_SIGNED: str = "artifact_signed"
    # Severity: CRITICAL, HIGH, MEDIUM, LOW, INFO
    SEVERITY: str = "severity"
    # Type of security finding
    FINDING_TYPE: str = "finding_type"
    # Who signed the artifact
    PROVENANCE_SIGNER: str = "provenance_signer"
    # RCE path found in pickle
    PICKLE_EXEC_PATH_DETECTED: str = "pickle_exec_path_detected"
    # Malicious pattern in metadata
    METADATA_MALICIOUS_PATTERN: str = "metadata_malicious_pattern"
    # Number of added tokens
    TOKENIZER_ADDED_TOKENS_COUNT: str = "tokenizer_added_tokens_count"
    # Safetensors integrity failed
    SAFETENSORS_INTEGRITY_VIOLATION: str = "safetensors_integrity_violation"
    # Suspicious GGUF metadata
    GGUF_SUSPICIOUS_METADATA: str = "gguf_suspicious_metadata"
    # LoRA adapter digest mismatch
    ADAPTER_BASE_DIGEST_MISMATCH: str = "adapter_base_digest_mismatch"
    # CoSAI maturity level (0-5)
    METADATA_COSAI_LEVEL_NUMERIC: str = "metadata_cosai_level_numeric"

    # Overwatch context attributes
    # IDE source: cursor, claudecode, vscode, geminicli
    SOURCE: str = "source"
    # Hook event type: beforeShellExecution, PreToolUse, etc.
    EVENT: str = "event"
    # The prompt/request content being evaluated
    CONTENT: str = "content"
    # User's email address (or 'anonymous')
    USER_EMAIL: str = "user_email"
    # Custom principal ID for policy evaluation
    CEDAR_PRINCIPAL: str = "cedar_principal"
    # MCP server name: filesystem, playwright, etc.
    SERVER_NAME: str = "server_name"
    # Whether the path is within the workspace
    IS_WITHIN_WORKSPACE: str = "is_within_workspace"
    # Response content from tool execution
    RESPONSE_CONTENT: str = "response_content"
    # Highest severity level: critical, high, medium, low
    HIGHEST_SEVERITY: str = "highest_severity"
    # Array of threat types detected
    THREAT_TYPES: str = "threat_types"
    # Array of threat categories found
    THREAT_CATEGORIES: str = "threat_categories"
    # Whether secrets were detected in the content
    CONTAINS_SECRETS: str = "contains_secrets"
    # Number of concurrent calls
    CONCURRENT_CALLS: str = "concurrent_calls"
    # Request rate per minute
    REQUESTS_PER_MINUTE: str = "requests_per_minute"
    # User trust level: high, medium, low
    USER_TRUST_LEVEL: str = "user_trust_level"
    # Whether alerting is enabled for this request
    ALERT_ENABLED: str = "alert_enabled"
    # Type of security scan being performed
    SCAN_TYPE: str = "scan_type"
