"""Code generated by scripts/generate_sdk_contracts.py. DO NOT EDIT."""

TOP_LEVEL_KEYS = frozenset(('hushspec', 'name', 'description', 'extends', 'merge_strategy', 'rules', 'extensions', 'metadata'))
RULE_KEYS = frozenset(('forbidden_paths', 'path_allowlist', 'egress', 'secret_patterns', 'patch_integrity', 'shell_commands', 'tool_access', 'computer_use', 'remote_desktop_channels', 'input_injection'))
EXTENSION_KEYS = frozenset(('posture', 'origins', 'detection'))
GOVERNANCE_METADATA_KEYS = frozenset(('author', 'approved_by', 'approval_date', 'classification', 'change_ticket', 'lifecycle_state', 'policy_version', 'effective_date', 'expiry_date'))
FORBIDDEN_PATH_KEYS = frozenset(('enabled', 'patterns', 'exceptions'))
PATH_ALLOWLIST_KEYS = frozenset(('enabled', 'read', 'write', 'patch'))
EGRESS_KEYS = frozenset(('enabled', 'allow', 'block', 'default'))
SECRET_PATTERNS_KEYS = frozenset(('enabled', 'patterns', 'skip_paths'))
SECRET_PATTERN_KEYS = frozenset(('name', 'pattern', 'severity', 'description'))
PATCH_INTEGRITY_KEYS = frozenset(('enabled', 'max_additions', 'max_deletions', 'forbidden_patterns', 'require_balance', 'max_imbalance_ratio'))
SHELL_COMMAND_KEYS = frozenset(('enabled', 'forbidden_patterns'))
TOOL_ACCESS_KEYS = frozenset(('enabled', 'allow', 'block', 'require_confirmation', 'default', 'max_args_size'))
COMPUTER_USE_KEYS = frozenset(('enabled', 'mode', 'allowed_actions'))
REMOTE_DESKTOP_KEYS = frozenset(('enabled', 'clipboard', 'file_transfer', 'audio', 'drive_mapping'))
INPUT_INJECTION_KEYS = frozenset(('enabled', 'allowed_types', 'require_postcondition_probe'))
POSTURE_KEYS = frozenset(('initial', 'states', 'transitions'))
POSTURE_STATE_KEYS = frozenset(('description', 'capabilities', 'budgets'))
POSTURE_TRANSITION_KEYS = frozenset(('from', 'to', 'on', 'after'))
ORIGINS_KEYS = frozenset(('default_behavior', 'profiles'))
ORIGIN_PROFILE_KEYS = frozenset(('id', 'match', 'posture', 'tool_access', 'egress', 'data', 'budgets', 'bridge', 'explanation'))
ORIGIN_MATCH_KEYS = frozenset(('provider', 'tenant_id', 'space_id', 'space_type', 'visibility', 'external_participants', 'tags', 'sensitivity', 'actor_role'))
ORIGIN_DATA_KEYS = frozenset(('allow_external_sharing', 'redact_before_send', 'block_sensitive_outputs'))
ORIGIN_BUDGET_KEYS = frozenset(('tool_calls', 'egress_calls', 'shell_commands'))
BRIDGE_POLICY_KEYS = frozenset(('allow_cross_origin', 'allowed_targets', 'require_approval'))
BRIDGE_TARGET_KEYS = frozenset(('provider', 'space_type', 'tags', 'visibility'))
DETECTION_KEYS = frozenset(('prompt_injection', 'jailbreak', 'threat_intel'))
PROMPT_INJECTION_KEYS = frozenset(('enabled', 'warn_at_or_above', 'block_at_or_above', 'max_scan_bytes'))
JAILBREAK_KEYS = frozenset(('enabled', 'block_threshold', 'warn_threshold', 'max_input_bytes'))
THREAT_INTEL_KEYS = frozenset(('enabled', 'pattern_db', 'similarity_threshold', 'top_k'))

MERGE_STRATEGIES = frozenset(('replace', 'merge', 'deep_merge'))
DEFAULT_ACTIONS = frozenset(('allow', 'block'))
SEVERITIES = frozenset(('critical', 'error', 'warn'))
COMPUTER_USE_MODES = frozenset(('observe', 'guardrail', 'fail_closed'))
TRANSITION_TRIGGERS = frozenset(('user_approval', 'user_denial', 'critical_violation', 'any_violation', 'timeout', 'budget_exhausted', 'pattern_match'))
ORIGIN_DEFAULT_BEHAVIORS = frozenset(('deny', 'minimal_profile'))
ORIGIN_SPACE_TYPES = frozenset(('channel', 'group', 'dm', 'thread', 'issue', 'ticket', 'pull_request', 'email_thread'))
ORIGIN_VISIBILITIES = frozenset(('private', 'internal', 'public', 'external_shared'))
DETECTION_LEVELS = frozenset(('safe', 'suspicious', 'high', 'critical'))
CLASSIFICATIONS = frozenset(('public', 'internal', 'confidential', 'restricted'))
LIFECYCLE_STATES = frozenset(('draft', 'review', 'approved', 'deployed', 'deprecated', 'archived'))
