"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 22:18:26.851448
"""

```python
from typing import List, Dict

class ReasoningEngine:
    """
    A basic reasoning engine that can evaluate a set of rules against given facts.
    
    Attributes:
        rules (Dict[str, Callable]): A dictionary containing rules where keys are conditions and values are actions.
        
    Methods:
        add_rule: Adds a new rule to the engine.
        reason: Evaluates all added rules with the given facts and returns actions that should be taken.
    """
    
    def __init__(self):
        self.rules = {}
    
    def add_rule(self, condition: str, action: Callable) -> None:
        """
        Add a new rule to the reasoning engine.

        Args:
            condition (str): A string representing the condition under which the action should be taken.
            action (Callable): A function that will be executed if the condition is met.
        """
        self.rules[condition] = action
    
    def reason(self, facts: Dict[str, bool]) -> List[str]:
        """
        Evaluate all added rules with the given facts and return a list of actions that should be taken.

        Args:
            facts (Dict[str, bool]): A dictionary representing the current state of knowledge.

        Returns:
            List[str]: A list of strings indicating which actions were triggered.
        """
        results = []
        for condition, action in self.rules.items():
            if eval(condition, {}, facts):  # Simplified evaluation logic
                results.append(action.__name__)
        return results

# Example usage:

def handle_order(order: str) -> None:
    print(f"Handling order: {order}")

def ship_product() -> None:
    print("Shipping the product...")

engine = ReasoningEngine()
engine.add_rule(condition="order == 'book'", action=handle_order)
engine.add_rule(condition="order == 'electronics'", action=ship_product)

facts = {"order": "book"}
print(engine.reason(facts))  # Output: ['handle_order']

facts = {"order": "electronics"}
print(engine.reason(facts))  # Output: ['handle_order', 'ship_product']
```