# HookEngine

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/hooks/engine/HookEngine)

Execute Hooks v2 invocations against one immutable snapshot.

## Signature

```python
HookEngine(
    self,
    snapshot: HooksSnapshot,
    default_timeout: float | None = None,
    max_output_bytes: int = MAX_HOOK_OUTPUT_BYTES,
    adapter: HookEnvelopeAdapter = HookEnvelopeAdapter(),
)
```

## Constructors

```python
__init__(
    self,
    snapshot: HooksSnapshot,
    default_timeout: float | None = None,
    max_output_bytes: int = MAX_HOOK_OUTPUT_BYTES,
    adapter: HookEnvelopeAdapter = HookEnvelopeAdapter(),
) -> None
```

| Name | Type |
|------|------|
| `snapshot` | `HooksSnapshot` |
| `default_timeout` | `float \| None` |
| `max_output_bytes` | `int` |
| `adapter` | `HookEnvelopeAdapter` |


## Properties

- `snapshot`
- `default_timeout`
- `max_output_bytes`
- `adapter`

## Methods

- [`run()`](https://reference.langchain.com/python/deepagents-code/hooks/engine/HookEngine/run)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/2069079e09546060f5b52b2cd4f0e3c813e820f3/libs/code/deepagents_code/hooks/engine.py#L32)