Variable: MessageEventSchema
constMessageEventSchema:ZodObject<{conversation_id:ZodOptional<ZodString>;message:ZodObject<{attachments:ZodOptional<ZodArray<ZodObject<{attachment_id:ZodOptional<ZodString>;attachment_type:ZodOptional<ZodString>;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: …;metadata: …;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.
MessageEvent fields
Section titled “MessageEvent fields”message.content: User message contentmessage.conversation_id: Conversation IDmessage.created_timestamp(optional): Timestamp when the message was createdmessage.error(optional): Error message if Genie failed to respond to the messagemessage.feedback(optional): User feedback for the message if providedmessage.feedback.rating(optional): The feedback ratingmessage.id: Message ID. Legacy identifier, use message_id insteadmessage.last_updated_timestamp(optional): Timestamp when the message was last updatedmessage.message_id: Message IDmessage.query_result(optional): The result of SQL query if the message includes a query attachment. Deprecated. Usequery_result_metadatainGenieQueryAttachmentinstead.message.query_result.is_truncated(optional): If result is truncatedmessage.query_result.row_count(optional): Row count of the resultmessage.query_result.statement_id(optional): Statement Execution API statement id. Use Get status, manifest, and result first chunk to get the full result data.message.query_result.statement_id_signature(optional): JWT corresponding to the statement contained in this resultmessage.space_id: Genie space IDmessage.status(optional): MessageStatus. The possible values are: *FETCHING_METADATA: Fetching metadata from the data sources. *FILTERING_CONTEXT: Running smart context step to determine relevant context. *ASKING_AI: Waiting for the LLM to respond to the user’s question. *PENDING_WAREHOUSE: Waiting for warehouse before the SQL query can start executing. *EXECUTING_QUERY: Executing a generated SQL query. Get the SQL query result by calling getMessageAttachmentQueryResult API. *FAILED: The response generation or query execution failed. Seeerrorfield. *COMPLETED: Message processing is completed. Results are in theattachmentsfield. Get the SQL query result by calling getMessageAttachmentQueryResult API. *SUBMITTED: Message has been submitted. *QUERY_RESULT_EXPIRED: SQL result is not available anymore. The user needs to rerun the query. Rerun the SQL query result by calling executeMessageAttachmentQuery API. *CANCELLED: Message has been cancelled.message.user_id(optional): ID of the user who created the message