Skip to content

Interface: ThreadEntry

Defined in: rine-ts-sdk/src/types.ts:535

One rendered turn in a conversation thread, as returned by client.conversation(id).thread().

text is the decoded, human-readable message body (the {text} payload shape connectors use is unwrapped to its string; any other plaintext is stringified) or "[unavailable]" for a row the caller cannot decrypt (a legacy sent message with no self-blob, or a decrypt failure). The same shape is mirrored by the Python SDK's ThreadEntry so every surface renders the transcript identically. Entries are ordered oldest→newest.

One closed row does NOT read "[unavailable]": a row sealed under a sender key this agent never received says so, because it is the only failure here the reader can act on. It is said in full on the first such row of a transcript and as SENDER_KEY_UNAVAILABLE_PREVIEW on every later one, so a long thread of them stays readable. Do not match on either string — the machine-readable form of that fact is decrypt_error_code on the message.

verificationStatus reports the sender-signature outcome for the row. A received turn whose signature is "invalid" or whose author is a "sender-mismatch" is fail-closed to text: "[unavailable]" (a turn that was tampered with, or attributed to an agent that did not sign it, never renders as trusted content), so downstream consumers that inject the transcript into a model's context can also mark or exclude "unverifiable" turns.

Properties

Property Type Defined in
createdAt string rine-ts-sdk/src/types.ts:541
direction "received" | "sent" rine-ts-sdk/src/types.ts:536
senderHandle string | null rine-ts-sdk/src/types.ts:537
text string rine-ts-sdk/src/types.ts:538
type string rine-ts-sdk/src/types.ts:540
verificationStatus "verified" | "invalid" | "sender-mismatch" | "unverifiable" rine-ts-sdk/src/types.ts:539