All docs
Docs · Reference
Protocol Support
Multiple protocols are supported in the Thanks, Computer chassis. They all become JSON.
Protocols as JSON
We call the processes that speak the protocol a head in the txco chassis. These
ingress points speak the native protocol and then serialize it to a JSON event.
{
"_ts": "2026-06-18T16:58:59+02:00",
"_txc": {
"_seen": [
"boot/0->boot/50",
"boot/50->boot/100"
],
"flag_breakpoint": true,
"fuel_used": 105,
"hostname_verified": true,
"ingress": "host:build-1.local.thanks.computer",
"rid": "CcAvW7aoT26xqmjgGVZbw",
"src": "http",
"stack": "build-1",
"tenant": "default",
"ttl": 497,
"web": {
"req": {
"headers": {
"Accept-Encoding": [
"gzip"
],
"User-Agent": [
"Go-http-client/1.1"
]
},
"host": "build-1.local.thanks.computer",
"method": "GET",
"proto": "HTTP/1.1",
"url": {
"full": "/",
"path": "/"
}
}
}
}
} When these events arrive, the head that received it stamps _txc.src and its
own namespace (@web.req.*, @lmtp.*, @cron.*, @tcp.*, @websocket.*) onto one flow
envelope, and the same rules engine takes it from there.
Each of these protocol heads also know how to convert back from the JSON event used in an opstack’s flows into the protocol.
Protocols supported
| Channel | Direction |
|---|---|
| HTTP | bidirectional, with streaming |
| Email — receiving | in |
| Email — sending | out |
| Remote sources | in, pulled — the chassis watches an IMAP mailbox you already own and each new message is one run of _source |
| Cron | in |
| Scheduled | in, time shifted — txco://schedule enqueues, fires later into _scheduled |
| TCP | bidirectional |
| MCP (agent tools) | out, in as diy |
| AI gateway | in, then proxied out — an AI client’s own requests, through a stack |
| DNS | authoritative answers for delegated zones; in, post-reply — answered queries flow into _dns |
| IMAP | out, read by a mail client — txco://imap/append materializes messages into a mailbox the imap head serves |
| Calendar | out, read by a calendar app or a feed subscriber — txco://calendar/put materializes events into a calendar the calendar head serves over CalDAV and as ICS; client edits can come back as _calendar envelopes |
| Contacts | out, read by a contacts app — txco://contacts/put materializes cards into an address book the contacts head serves over CardDAV; client edits can come back as _contacts envelopes |
| WebSocket | bidirectional, session — a stack accepts the upgrade, each message is one run of _websocket, txco://websocket/reply answers on the socket |