Spaces:
Running
Running
| # backend/easter_eggs/registry.py | |
| # PURPOSE: Every Iron Man / Tony Stark Easter Egg in JARVIS OS. | |
| # CAUSAL CHAIN REQUIREMENT: Every Easter Egg here must have: | |
| # 1. A real trigger (input phrase, key sequence, or UI action) | |
| # 2. A real backend handler that returns a real response | |
| # 3. A real frontend component that renders the response | |
| # An Easter Egg that returns a stub is Crime 10. | |
| from dataclasses import dataclass | |
| from typing import Callable, Optional | |
| class EasterEgg: | |
| id: str | |
| trigger_phrases: list[str] # exact or fuzzy-matched user input phrases | |
| key_sequence: Optional[str] # e.g. "up up down down left right left right b a" | |
| ui_trigger: Optional[str] # e.g. "triple_click_arc_reactor" | |
| handler: Callable # async function that returns the response | |
| response_type: str # "voice_and_text" | "ui_takeover" | "voice_only" | "text_only" | |
| personality: str # "jarvis" | "friday" | "both" | |
| discoverable: bool # if True, shown in Secret Lab Easter Egg log after triggered | |
| EASTER_EGG_REGISTRY: list[EasterEgg] = [] # populated by decorators below | |