# `SuperPi.Plugins.TranscriptLogger`
[🔗](https://github.com/oleksandr/super-pi-beam/blob/v0.1.0/lib/super_pi/plugins/transcript_logger.ex#L1)

Dual-Write JSONL Transcript Logger & MCP/Plugin Manager (`SuperPi.Extension` behaviour).

Implements:
- Dual-writes `<appDataDir>/brain/<conversation-id>/.system_generated/logs/transcript.jsonl` (compact,
  truncating fields over `4_096` bytes and setting `truncated_fields`) and `transcript_full.jsonl`
  (untruncated).
- Synchronizes transcript automatically after agent runs or on explicit calls.
- Manages `<globalConfigDir>/mcp_config.json` (`add`, `remove`, `list`, `enable`, `disable`).
- Manages `<globalConfigDir>/config.json` and `plugins/<name>/plugin.json` (`list`, `enable`, `disable`, `validate`).

# `description`

# `id`

# `mcp_add`

# `mcp_list`

# `mcp_remove`

# `mcp_set_enabled`

# `mcp_specs`

Enabled MCP servers from `mcp_config.json` as `%{name => spec}`. Disabled entries are left out.

# `name`

# `plugin_list`

# `plugin_set_enabled`

# `plugin_validate`

# `sync_transcript!`

Exports the derived conversation history to `transcript.jsonl` (compact) and `transcript_full.jsonl`
under `<appDataDir>/brain/<conversation_id>/.system_generated/logs/`.

# `transcript_steps`

```elixir
@spec transcript_steps(integer()) :: [map()]
```

The steps of a conversation as `sync_transcript!/2` writes them to `transcript.jsonl`: in order,
each field cut at 4096 bytes. Served as the MCP `superpi://conversation/{id}/transcript` resource.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
