# TranscriptRecorder

> **Class** in `deepagents_code`

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

Collect completed stream messages into a Hooks transcript runtime.

## Signature

```python
TranscriptRecorder(
    self,
    runtime: _TranscriptRuntime,
    thread_id: str,
    _chunks: dict[tuple[str | None, str], BaseMessageChunk] = dict(),
    _attempts: dict[str | None, _AttemptScope] = dict(),
)
```

## Constructors

```python
__init__(
    self,
    runtime: _TranscriptRuntime,
    thread_id: str,
    _chunks: dict[tuple[str | None, str], BaseMessageChunk] = dict(),
    _attempts: dict[str | None, _AttemptScope] = dict(),
) -> None
```

| Name | Type |
|------|------|
| `runtime` | `_TranscriptRuntime` |
| `thread_id` | `str` |
| `_chunks` | `dict[tuple[str \| None, str], BaseMessageChunk]` |
| `_attempts` | `dict[str \| None, _AttemptScope]` |


## Properties

- `runtime`
- `thread_id`

## Methods

- [`record()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/record)
- [`start_attempt()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/start_attempt)
- [`complete_attempt()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/complete_attempt)
- [`discard_attempt()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/discard_attempt)
- [`drop_uncommitted()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/drop_uncommitted)
- [`append()`](https://reference.langchain.com/python/deepagents-code/hooks/transcript/TranscriptRecorder/append)

---

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