Tally

Storage

Pluggable backends for saving conversations and run artifacts.

@tally-evals/core provides storage primitives used by both Trajectories and Tally to persist artifacts (conversations, step traces, and evaluation reports).

Storage structure (local)

By default, artifacts live under .tally/:

.tally/
└── conversations/
    └── <conversation-id>/
        ├── meta.json
        ├── conversation.jsonl
        ├── stepTraces.json
        └── runs/
            └── tally/
                └── run-*.json

Local storage

import { LocalStorage } from '@tally-evals/core';

const storage = new LocalStorage({ rootPath: './.tally' });
await storage.write('reports/latest.json', JSON.stringify({ ok: true }));

TallyStore

TallyStore is a higher-level API for reading/writing conversations and runs.

import { TallyStore } from '@tally-evals/core';

const store = await TallyStore.open({ cwd: process.cwd() });
// e.g. used by @tally-evals/trajectories runTrajectory({ store, trajectoryId })

On this page