opencode source
pass
View version history →
opencode.parts
passAll message parts (text, tool calls, images, etc.) stored in the local OpenCode database. Each row carries the parent message and session ids, timestamps, and the full part payload — including the actual `text`, `tool_call`, or synthetic-tool fields — as JSON. This is the table to read when you want the transcript content.
To get the full text of a session's conversation:
no filters captured 2026-09-01 11:53:17Zmedian 9368 ms
Verdict: TRUE
All variants returned rows on ≥2 of 3 trials, 0 errors.
rendering…
Summary
| Variant | Trials | Min | Median | Max | Row counts | Errors |
|---|---|---|---|---|---|---|
| minimal | 3 | 9109 ms | 9368 ms | 9863 ms | [5, 5, 5] | 0 |
| by-session | 3 | 11181 ms | 13917 ms | 22737 ms | [25, 25, 25] | 0 |
| filter-type | 3 | 7759 ms | 8597 ms | 8881 ms | [25, 25, 25] | 0 |
| json-extract | 3 | 11079 ms | 11084 ms | 12159 ms | [16, 16, 16] | 0 |
| aggregate | 3 | 11032 ms | 14454 ms | 20984 ms | [8, 8, 8] | 0 |
| edge | 3 | 11890 ms | 12178 ms | 16836 ms | [200, 200, 200] | 0 |
Latency per trial
minimalmedian 9368ms
scale: 0–9863 ms
by-sessionmedian 13917ms
scale: 0–22737 ms
filter-typemedian 8597ms
scale: 0–8881 ms
json-extractmedian 11084ms
scale: 0–12159 ms
aggregatemedian 14454ms
scale: 0–20984 ms
edgemedian 12178ms
scale: 0–16836 ms
Probe variants — every command + output
minimal
3 trialsmin 9109ms · median 9368ms · max 9863ms · rows 5,5,5
parts with type
Command
SELECT id, message_id, session_id, json_as_text(data, 'type') AS part_type FROM opencode.parts LIMIT 5Trials + output
trial 1·9109ms·rows 5isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"part_type": "text"
}columns (4)
idmessage_idsession_idpart_type
trial 2·9368ms·rows 5isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"part_type": "text"
}columns (4)
idmessage_idsession_idpart_type
trial 3·9863ms·rows 5isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"part_type": "text"
}columns (4)
idmessage_idsession_idpart_type
by-session
3 trialsmin 11181ms · median 13917ms · max 22737ms · rows 25,25,25
parts for one session
Command
SELECT id, message_id, session_id, time_created, json_as_text(data, 'type') AS part_type FROM opencode.parts WHERE session_id = 'ses_0007c2a8dffeuGFtEVeqE25gqN' ORDER BY time_created ASC LIMIT 25Trials + output
trial 1·22737ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"time_created": "1786698257802",
"part_type": "text"
}columns (5)
idmessage_idsession_idtime_createdpart_type
trial 2·11181ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"time_created": "1786698257802",
"part_type": "text"
}columns (5)
idmessage_idsession_idtime_createdpart_type
trial 3·13917ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"message_id": "msg_fff83d584001qKyFsKAditiyIk",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN",
"time_created": "1786698257802",
"part_type": "text"
}columns (5)
idmessage_idsession_idtime_createdpart_type
filter-type
3 trialsmin 7759ms · median 8597ms · max 8881ms · rows 25,25,25
only text parts
Command
SELECT id, session_id FROM opencode.parts WHERE json_as_text(data, 'type') = 'text' LIMIT 25Trials + output
trial 1·7759ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN"
}columns (2)
idsession_id
trial 2·8597ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN"
}columns (2)
idsession_id
trial 3·8881ms·rows 25isError=false
First row (click to expand JSON)
{
"id": "prt_fff83d586001TrSL8DBA8Taanj",
"session_id": "ses_0007c2a8dffeuGFtEVeqE25gqN"
}columns (2)
idsession_id
json-extract
3 trialsmin 11079ms · median 11084ms · max 12159ms · rows 16,16,16
text body of one session
Command
SELECT json_as_text(data, 'type') AS part_type, json_as_text(data, 'text') AS body FROM opencode.parts WHERE session_id = 'ses_0007c2a8dffeuGFtEVeqE25gqN' AND json_as_text(data, 'type') = 'text' ORDER BY time_created ASC LIMIT 5Trials + output
trial 1·12159ms·rows 16isError=false
First row (click to expand JSON)
{
"part_type": "text",
"body": "check in opencode session is there where it store where i talked coral mcp benchmark and there is report details too"
}columns (2)
part_typebody
trial 2·11084ms·rows 16isError=false
First row (click to expand JSON)
{
"part_type": "text",
"body": "check in opencode session is there where it store where i talked coral mcp benchmark and there is report details too"
}columns (2)
part_typebody
trial 3·11079ms·rows 16isError=false
First row (click to expand JSON)
{
"part_type": "text",
"body": "check in opencode session is there where it store where i talked coral mcp benchmark and there is report details too"
}columns (2)
part_typebody
aggregate
3 trialsmin 11032ms · median 14454ms · max 20984ms · rows 8,8,8
distribution of part types
Command
SELECT json_as_text(data, 'type') AS part_type, COUNT(*) AS n FROM opencode.parts GROUP BY 1 ORDER BY n DESCTrials + output
trial 1·20984ms·rows 8isError=false
First row (click to expand JSON)
{
"part_type": "tool",
"n": "68010"
}columns (2)
part_typen
trial 2·14454ms·rows 8isError=false
First row (click to expand JSON)
{
"part_type": "tool",
"n": "68010"
}columns (2)
part_typen
trial 3·11032ms·rows 8isError=false
First row (click to expand JSON)
{
"part_type": "tool",
"n": "68010"
}columns (2)
part_typen
edge
3 trialsmin 11890ms · median 12178ms · max 16836ms · rows 200,200,200
edge: larger limit
Command
SELECT id FROM opencode.parts LIMIT 200Trials + output
trial 1·16836ms·rows 200isError=false
First row (click to expand JSON)
{
"id": "prt_fe4ffcfb3001RB5Z5ZThXtSn7D"
}columns (1)
id
trial 2·12178ms·rows 200isError=false
First row (click to expand JSON)
{
"id": "prt_fe4ffcfb3001RB5Z5ZThXtSn7D"
}columns (1)
id
trial 3·11890ms·rows 200isError=false
First row (click to expand JSON)
{
"id": "prt_fe4ffcfb3001RB5Z5ZThXtSn7D"
}columns (1)
id
All returned rowsacross all non-errored trials · filterable · paginated
516 rows stored · 1116 returned · 4 truncated · page 1/21
| 0 | 0 | prt_fff83d586001TrSL8DBA8Taanj | msg_fff83d584001qKyFsKAditiyIk | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 0 | 1 | prt_fff83fb720013Tjat5ZRZdIxxe | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-start | — | — | — |
| 0 | 2 | prt_fff83fb77001ZcHd027izEXlZu | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 0 | 3 | prt_fff83fb7f001mCFDkk0kZaTSjT | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | tool | — | — | — |
| 0 | 4 | prt_fff83fb9a0015cJ9kC8jmYrYre | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-finish | — | — | — |
| 1 | 5 | prt_fff83d586001TrSL8DBA8Taanj | msg_fff83d584001qKyFsKAditiyIk | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 1 | 6 | prt_fff83fb720013Tjat5ZRZdIxxe | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-start | — | — | — |
| 1 | 7 | prt_fff83fb77001ZcHd027izEXlZu | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 1 | 8 | prt_fff83fb7f001mCFDkk0kZaTSjT | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | tool | — | — | — |
| 1 | 9 | prt_fff83fb9a0015cJ9kC8jmYrYre | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-finish | — | — | — |
| 2 | 10 | prt_fff83d586001TrSL8DBA8Taanj | msg_fff83d584001qKyFsKAditiyIk | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 2 | 11 | prt_fff83fb720013Tjat5ZRZdIxxe | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-start | — | — | — |
| 2 | 12 | prt_fff83fb77001ZcHd027izEXlZu | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 2 | 13 | prt_fff83fb7f001mCFDkk0kZaTSjT | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | tool | — | — | — |
| 2 | 14 | prt_fff83fb9a0015cJ9kC8jmYrYre | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-finish | — | — | — |
| 3 | 15 | prt_fff83d586001TrSL8DBA8Taanj | msg_fff83d584001qKyFsKAditiyIk | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 3 | 16 | prt_fff83fb720013Tjat5ZRZdIxxe | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-start | — | — | — |
| 3 | 17 | prt_fff83fb77001ZcHd027izEXlZu | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | text | — | — | — |
| 3 | 18 | prt_fff83fb7f001mCFDkk0kZaTSjT | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | tool | — | — | — |
| 3 | 19 | prt_fff83fb9a0015cJ9kC8jmYrYre | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-finish | — | — | — |
| 0 | 20 | prt_fff83d586001TrSL8DBA8Taanj | msg_fff83d584001qKyFsKAditiyIk | ses_0007c2a8dffeuGFtEVeqE25gqN | text | 1786698257802 | — | — |
| 0 | 21 | prt_fff83fb720013Tjat5ZRZdIxxe | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-start | 1786698267506 | — | — |
| 0 | 22 | prt_fff83fb77001ZcHd027izEXlZu | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | text | 1786698267512 | — | — |
| 0 | 23 | prt_fff83fb7f001mCFDkk0kZaTSjT | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | tool | 1786698267519 | — | — |
| 0 | 24 | prt_fff83fb9a0015cJ9kC8jmYrYre | msg_fff83d594001jpnZ6STZzJGT3A | ses_0007c2a8dffeuGFtEVeqE25gqN | step-finish | 1786698267546 | — | — |
Truncated. 4 trials returned more rows than we stored (safety cap = 200/trial). Increase the
MAX_ROWS_RETURNED inscripts/probe_table.py and re-probe to capture more.Column profile
4 columns actually returned by coral. Catalog claims no required filters. Click a column to drill in.
| # | Column | Inferred type | Non-null | Nulls | Sample value(s) |
|---|---|---|---|---|---|
| 1 | id | string | 16 | 8 | "prt_fff83d586001TrSL8DBA8Taanj""prt_fe4ffcfb3001RB5Z5ZThXtSn7D" |
| 2 | message_id | string | 8 | 16 | "msg_fff83d584001qKyFsKAditiyIk" |
| 3 | session_id | string | 12 | 12 | "ses_0007c2a8dffeuGFtEVeqE25gqN" |
| 4 | part_type | string | 16 | 8 | "text""tool" |
Trial comparison
| Variant / combo | Trial # | Latency | Rows | Status | First key returned |
|---|---|---|---|---|---|
| minimal | t1 | 9109ms | 5 | ok | id, message_id, session_id |
| minimal | t2 | 9368ms | 5 | ok | id, message_id, session_id |
| minimal | t3 | 9863ms | 5 | ok | id, message_id, session_id |
| by-session | t1 | 22737ms | 25 | ok | id, message_id, session_id |
| by-session | t2 | 11181ms | 25 | ok | id, message_id, session_id |
| by-session | t3 | 13917ms | 25 | ok | id, message_id, session_id |
| filter-type | t1 | 7759ms | 25 | ok | id, session_id |
| filter-type | t2 | 8597ms | 25 | ok | id, session_id |
| filter-type | t3 | 8881ms | 25 | ok | id, session_id |
| json-extract | t1 | 12159ms | 16 | ok | part_type, body |
| json-extract | t2 | 11084ms | 16 | ok | part_type, body |
| json-extract | t3 | 11079ms | 16 | ok | part_type, body |
| aggregate | t1 | 20984ms | 8 | ok | part_type, n |
| aggregate | t2 | 14454ms | 8 | ok | part_type, n |
| aggregate | t3 | 11032ms | 8 | ok | part_type, n |
| edge | t1 | 16836ms | 200 | ok | id |
| edge | t2 | 12178ms | 200 | ok | id |
| edge | t3 | 11890ms | 200 | ok | id |
Catalog vs. response schemaclaimed guide vs columns coral actually returned
Catalog guide (verbatim)
To get the full text of a session's conversation:Columns coral returned (4)
idmessage_idsession_idpart_type
Probed by
bld-dabqr1nqj5pc73dgn3h0-676t6 at 2026-09-01T11:53:17ZJSON record:
reports/opencode/tables/parts.jsonfirst_run_at:
2026-09-01T08:43:44Zlast_retried_at:
2026-09-01T11:53:17Zretry_count:
3