Support hermes traces

Parse hermes agent traces export using teich

supports both single session export and multi-sessions export

```bash
# single session
>>> hermes sessions export session.jsonl --session-id 20250305_091523_a1b2c3d4
# multi-sessions
>>> hermes sessions export sessions.jsonl
```

+ bump teich to 0.1.2

breaking change: "trace" is now Json() instead of List(Json())

example using [dacorvo/hf-hub-session-hermes-traces](https://huggingface.co/datasets/dacorvo/hf-hub-session-hermes-traces):

```python
In [1]: from datasets import load_dataset

In [2]: ds = load_dataset("dacorvo/hf-hub-session-hermes-traces", split="train")

In [3]: ds
Out[3]: 
Dataset({
    features: ['harness', 'session_id', 'prompt', 'messages', 'tools', 'metadata', 'sent_at', 'num_user_messages', 'num_tool_calls', 'trace', 'file_path'],
    num_rows: 228
})
```

this also makes me think we should document more how to use `teich` with `datasets`


The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/datasets/pr_8255). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

do we want to use teich for trace detection too to simplify somethings?

```python
from teich import detect_trace_type
```

will just want to make sure it works well for existing trace datasets

I think it doesn't differentiate openclaw and pi yet so I'm keeping it like this for now, but in the next update I plan to use detect_trace_type and use a fork/PR of teich. They can surely be interested in this improvement too

cc @armand0e for viz

Thanks for bringing me in the loop here.

Hermes and Openclaw were the two biggest unknowns I had for teich, given the lack of working trace examples on huggingface. If this native hermes trace support works:
```
# single session
>>> hermes sessions export session.jsonl --session-id 20250305_091523_a1b2c3d4
# multi-sessions
>>> hermes sessions export sessions.jsonl
```
then teich should be working as expected with hermes. As for openclaw I just never got around to that implementation yet, mainly because I'm not familar with how openclaw does their session storage, but if it's just a native trace format I can at least implement it into `detect_trace_type` to avoid that pi detection mixup. Thanks again!


> Thanks for bringing me in the loop here.
> 
> Hermes and Openclaw were the two biggest unknowns I had for teich, given the lack of working trace examples on huggingface. If this native hermes trace support works:
> 
> ```
> # single session
> >>> hermes sessions export session.jsonl --session-id 20250305_091523_a1b2c3d4
> # multi-sessions
> >>> hermes sessions export sessions.jsonl
> ```
> 
> then teich should be working as expected with hermes. As for openclaw I just never got around to that implementation yet, mainly because I'm not familar with how openclaw does their session storage, but if it's just a native trace format I can at least implement it into `detect_trace_type` to avoid that pi detection mixup. Thanks again!

Yeah openclaw uses Pi under the hood. We just check for the openclaw directory within the Pi cwd to label it differently. Everything else remains the same as Pi.

https://github.com/huggingface/datasets/blob/35a7f29c88a085a3658aa239b58f8a3af6a1ef53/src/datasets/packaged_modules/json/json.py#L402