Skip to content

Variable: MessageEventSchema

const MessageEventSchema: ZodObject<{ conversation_id: ZodOptional<ZodString>; message: ZodObject<{ attachments: ZodOptional<ZodArray<ZodObject<{ attachment_id: ZodOptional<ZodString>; attachment_type: ZodOptional<ZodCustom<AttachmentType, AttachmentType>>; query: ZodOptional<ZodObject<{ description: …; id: …; last_updated_timestamp: …; parameters: …; query: …; query_result_metadata: …; statement_id: …; thoughts: …; title: …; }, $strip>>; suggested_questions: ZodOptional<ZodObject<{ questions: …; }, $strip>>; text: ZodOptional<ZodObject<{ content: …; id: …; purpose: …; }, $strip>>; }, $strip>>>; auto_regenerate_count: ZodOptional<ZodNumber>; content: ZodString; conversation_id: ZodString; created_timestamp: ZodOptional<ZodNumber>; error: ZodOptional<ZodObject<{ error: ZodOptional<ZodString>; type: ZodOptional<ZodUnion<readonly [ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>]>>; }, $strip>>; feedback: ZodOptional<ZodObject<{ rating: ZodOptional<ZodUnion<readonly [ZodLiteral<…>, ZodLiteral<…>, ZodLiteral<…>]>>; }, $strip>>; id: ZodString; last_updated_timestamp: ZodOptional<ZodNumber>; message_id: ZodString; query_result: ZodOptional<ZodObject<{ is_truncated: ZodOptional<ZodBoolean>; row_count: ZodOptional<ZodNumber>; statement_id: ZodOptional<ZodString>; statement_id_signature: ZodOptional<ZodString>; }, $strip>>; space_id: ZodString; status: ZodOptional<ZodUnion<readonly [ZodLiteral<"ASKING_AI">, ZodLiteral<"CANCELLED">, ZodLiteral<"COMPLETED">, ZodLiteral<"EXECUTING_QUERY">, ZodLiteral<"FAILED">, ZodLiteral<"FETCHING_METADATA">, ZodLiteral<"FILTERING_CONTEXT">, ZodLiteral<"PENDING_WAREHOUSE">, ZodLiteral<"QUERY_RESULT_EXPIRED">, ZodLiteral<"SUBMITTED">]>>; user_id: ZodOptional<ZodNumber>; }, $strip>; message_id: ZodOptional<ZodString>; space_id: ZodString; type: ZodLiteral<"message">; }, $strip>

Lifecycle event: raw GenieMessage snapshot for the active turn. Fires once per poll yield. The full message shape (including the widened thought / regen / attachment-type fields) is exposed inline as message; consumers narrow on event.type === "message" and reach for event.message.