types.ConversationRecord
types.ConversationRecord()The CURRENT conversation record version (v2).
This name always tracks the current schema; the released forms are named by their versions (ConversationRecordV1, ConversationRecordV2). It is the validation/construction entry point, not the runtime record type: the controller and recorder build plain ConversationRecordV2 objects, which is the type stores receive in put() and should isinstance-check against. Validating v1-shaped input – a v1 dict or model instance – runs the v1→v2 import, so custom stores written against the v1 API that call ConversationRecord.model_validate* keep working and receive a v2 record. Stores may also hand back a ConversationRecordV1 instance directly; the controller upgrades it on read. Lossy-import warnings are discarded here (reads must not re-warn); use import_v1_record_with_warnings to collect them.