Class: GenieAgentModeProjection
Stateful pure reducer from Agent Mode SSE events to Genie message snapshots.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new GenieAgentModeProjection(
spaceId,content):GenieAgentModeProjection
Parameters
Section titled “Parameters”spaceId
Section titled “spaceId”string
content
Section titled “content”string
Returns
Section titled “Returns”GenieAgentModeProjection
Accessors
Section titled “Accessors”conversationId
Section titled “conversationId”Get Signature
Section titled “Get Signature”get conversationId():
string|undefined
Current conversation id, once assigned by Genie.
Returns
Section titled “Returns”string | undefined
responseId
Section titled “responseId”Get Signature
Section titled “Get Signature”get responseId():
string|undefined
Current response id, once response.created has arrived.
Returns
Section titled “Returns”string | undefined
terminal
Section titled “terminal”Get Signature
Section titled “Get Signature”get terminal():
boolean
Whether the latest response status is terminal.
Returns
Section titled “Returns”boolean
Methods
Section titled “Methods”apply()
Section titled “apply()”apply(
event): {attachments?:object[];auto_regenerate_count?:number;content:string;conversation_id:string;created_timestamp?:number;error?: {error?:string;type?:"BLOCK_MULTIPLE_EXECUTIONS_EXCEPTION"|"CHAT_COMPLETION_CLIENT_EXCEPTION"|"CHAT_COMPLETION_CLIENT_TIMEOUT_EXCEPTION"|"CHAT_COMPLETION_NETWORK_EXCEPTION"|"CONTENT_FILTER_EXCEPTION"|"CONTEXT_EXCEEDED_EXCEPTION"|"COULD_NOT_GET_MODEL_DEPLOYMENTS_EXCEPTION"|"COULD_NOT_GET_UC_SCHEMA_EXCEPTION"|"DEPLOYMENT_NOT_FOUND_EXCEPTION"|"DESCRIBE_QUERY_INVALID_SQL_ERROR"|"DESCRIBE_QUERY_TIMEOUT"|"DESCRIBE_QUERY_UNEXPECTED_FAILURE"|"EXCEEDED_MAX_TOKEN_LENGTH_EXCEPTION"|"FUNCTIONS_NOT_AVAILABLE_EXCEPTION"|"FUNCTION_ARGUMENTS_INVALID_EXCEPTION"|"FUNCTION_ARGUMENTS_INVALID_JSON_EXCEPTION"|"FUNCTION_ARGUMENTS_INVALID_TYPE_EXCEPTION"|"FUNCTION_CALL_MISSING_PARAMETER_EXCEPTION"|"GENERATED_SQL_QUERY_TOO_LONG_EXCEPTION"|"GENERIC_CHAT_COMPLETION_EXCEPTION"|"GENERIC_CHAT_COMPLETION_SERVICE_EXCEPTION"|"GENERIC_SQL_EXEC_API_CALL_EXCEPTION"|"ILLEGAL_PARAMETER_DEFINITION_EXCEPTION"|"INTERNAL_CATALOG_ASSET_CREATION_FAILED_EXCEPTION"|"INTERNAL_CATALOG_ASSET_CREATION_ONGOING_EXCEPTION"|"INTERNAL_CATALOG_ASSET_CREATION_UNSUPPORTED_EXCEPTION"|"INTERNAL_CATALOG_MISSING_UC_PATH_EXCEPTION"|"INTERNAL_CATALOG_PATH_OVERLAP_EXCEPTION"|"INVALID_CERTIFIED_ANSWER_FUNCTION_EXCEPTION"|"INVALID_CERTIFIED_ANSWER_IDENTIFIER_EXCEPTION"|"INVALID_CHAT_COMPLETION_ARGUMENTS_JSON_EXCEPTION"|"INVALID_CHAT_COMPLETION_JSON_EXCEPTION"|"INVALID_COMPLETION_REQUEST_EXCEPTION"|"INVALID_FUNCTION_CALL_EXCEPTION"|"INVALID_SQL_MULTIPLE_DATASET_REFERENCES_EXCEPTION"|"INVALID_SQL_MULTIPLE_STATEMENTS_EXCEPTION"|"INVALID_SQL_UNKNOWN_TABLE_EXCEPTION"|"INVALID_TABLE_IDENTIFIER_EXCEPTION"|"LOCAL_CONTEXT_EXCEEDED_EXCEPTION"|"MESSAGE_ATTACHMENT_TOO_LONG_ERROR"|"MESSAGE_CANCELLED_WHILE_EXECUTING_EXCEPTION"|"MESSAGE_DELETED_WHILE_EXECUTING_EXCEPTION"|"MESSAGE_UPDATED_WHILE_EXECUTING_EXCEPTION"|"MISSING_SQL_QUERY_EXCEPTION"|"NO_DEPLOYMENTS_AVAILABLE_TO_WORKSPACE"|"NO_QUERY_TO_VISUALIZE_EXCEPTION"|"NO_TABLES_TO_QUERY_EXCEPTION"|"RATE_LIMIT_EXCEEDED_GENERIC_EXCEPTION"|"RATE_LIMIT_EXCEEDED_SPECIFIED_WAIT_EXCEPTION"|"REPLY_PROCESS_TIMEOUT_EXCEPTION"|"RETRYABLE_PROCESSING_EXCEPTION"|"SQL_EXECUTION_EXCEPTION"|"STOP_PROCESS_DUE_TO_AUTO_REGENERATE"|"TABLES_MISSING_EXCEPTION"|"TOO_MANY_CERTIFIED_ANSWERS_EXCEPTION"|"TOO_MANY_TABLES_EXCEPTION"|"UNEXPECTED_REPLY_PROCESS_EXCEPTION"|"UNKNOWN_AI_MODEL"|"UNSUPPORTED_CONVERSATION_TYPE_EXCEPTION"|"WAREHOUSE_ACCESS_MISSING_EXCEPTION"|"WAREHOUSE_NOT_FOUND_EXCEPTION"; };feedback?: {rating?:"NEGATIVE"|"NONE"|"POSITIVE"; };id:string;last_updated_timestamp?:number;message_id:string;query_result?: {is_truncated?:boolean;row_count?:number;statement_id?:string;statement_id_signature?:string; };space_id:string;status?:"ASKING_AI"|"CANCELLED"|"COMPLETED"|"EXECUTING_QUERY"|"FAILED"|"FETCHING_METADATA"|"FILTERING_CONTEXT"|"PENDING_WAREHOUSE"|"QUERY_RESULT_EXPIRED"|"SUBMITTED";user_id?:number; } |undefined
Apply one validated SSE event and return its projected snapshot.
Parameters
Section titled “Parameters”{[key: string]: unknown; arguments?: string; call_id?: string; content?: object[]; id?: string; name?: string; output?: string; status?: string; type: string; } = ...
item.arguments?
Section titled “item.arguments?”string = ...
item.call_id?
Section titled “item.call_id?”string = ...
item.content?
Section titled “item.content?”object[] = ...
item.id?
Section titled “item.id?”string = ...
item.name?
Section titled “item.name?”string = ...
item.output?
Section titled “item.output?”string = ...
item.status?
Section titled “item.status?”string = ...
item.type
Section titled “item.type”string = ...
output_index?
Section titled “output_index?”number = ...
response?
Section titled “response?”{[key: string]: unknown; conversation_id?: string; created_at?: number; error?: unknown; id: string; model?: string; object?: string; output?: object[]; status: string; } = ...
response.conversation_id?
Section titled “response.conversation_id?”string = ...
response.created_at?
Section titled “response.created_at?”number = ...
response.error?
Section titled “response.error?”unknown = ...
response.id
Section titled “response.id”string = ...
response.model?
Section titled “response.model?”string = ...
response.object?
Section titled “response.object?”string = ...
response.output?
Section titled “response.output?”object[] = ...
response.status
Section titled “response.status”string = ...
sequence_number?
Section titled “sequence_number?”number = ...
string = ...
Returns
Section titled “Returns”{ attachments?: object[]; auto_regenerate_count?: number; content: string; conversation_id: string; created_timestamp?: number; error?: { error?: string; type?: "BLOCK_MULTIPLE_EXECUTIONS_EXCEPTION" | "CHAT_COMPLETION_CLIENT_EXCEPTION" | "CHAT_COMPLETION_CLIENT_TIMEOUT_EXCEPTION" | "CHAT_COMPLETION_NETWORK_EXCEPTION" | "CONTENT_FILTER_EXCEPTION" | "CONTEXT_EXCEEDED_EXCEPTION" | "COULD_NOT_GET_MODEL_DEPLOYMENTS_EXCEPTION" | "COULD_NOT_GET_UC_SCHEMA_EXCEPTION" | "DEPLOYMENT_NOT_FOUND_EXCEPTION" | "DESCRIBE_QUERY_INVALID_SQL_ERROR" | "DESCRIBE_QUERY_TIMEOUT" | "DESCRIBE_QUERY_UNEXPECTED_FAILURE" | "EXCEEDED_MAX_TOKEN_LENGTH_EXCEPTION" | "FUNCTIONS_NOT_AVAILABLE_EXCEPTION" | "FUNCTION_ARGUMENTS_INVALID_EXCEPTION" | "FUNCTION_ARGUMENTS_INVALID_JSON_EXCEPTION" | "FUNCTION_ARGUMENTS_INVALID_TYPE_EXCEPTION" | "FUNCTION_CALL_MISSING_PARAMETER_EXCEPTION" | "GENERATED_SQL_QUERY_TOO_LONG_EXCEPTION" | "GENERIC_CHAT_COMPLETION_EXCEPTION" | "GENERIC_CHAT_COMPLETION_SERVICE_EXCEPTION" | "GENERIC_SQL_EXEC_API_CALL_EXCEPTION" | "ILLEGAL_PARAMETER_DEFINITION_EXCEPTION" | "INTERNAL_CATALOG_ASSET_CREATION_FAILED_EXCEPTION" | "INTERNAL_CATALOG_ASSET_CREATION_ONGOING_EXCEPTION" | "INTERNAL_CATALOG_ASSET_CREATION_UNSUPPORTED_EXCEPTION" | "INTERNAL_CATALOG_MISSING_UC_PATH_EXCEPTION" | "INTERNAL_CATALOG_PATH_OVERLAP_EXCEPTION" | "INVALID_CERTIFIED_ANSWER_FUNCTION_EXCEPTION" | "INVALID_CERTIFIED_ANSWER_IDENTIFIER_EXCEPTION" | "INVALID_CHAT_COMPLETION_ARGUMENTS_JSON_EXCEPTION" | "INVALID_CHAT_COMPLETION_JSON_EXCEPTION" | "INVALID_COMPLETION_REQUEST_EXCEPTION" | "INVALID_FUNCTION_CALL_EXCEPTION" | "INVALID_SQL_MULTIPLE_DATASET_REFERENCES_EXCEPTION" | "INVALID_SQL_MULTIPLE_STATEMENTS_EXCEPTION" | "INVALID_SQL_UNKNOWN_TABLE_EXCEPTION" | "INVALID_TABLE_IDENTIFIER_EXCEPTION" | "LOCAL_CONTEXT_EXCEEDED_EXCEPTION" | "MESSAGE_ATTACHMENT_TOO_LONG_ERROR" | "MESSAGE_CANCELLED_WHILE_EXECUTING_EXCEPTION" | "MESSAGE_DELETED_WHILE_EXECUTING_EXCEPTION" | "MESSAGE_UPDATED_WHILE_EXECUTING_EXCEPTION" | "MISSING_SQL_QUERY_EXCEPTION" | "NO_DEPLOYMENTS_AVAILABLE_TO_WORKSPACE" | "NO_QUERY_TO_VISUALIZE_EXCEPTION" | "NO_TABLES_TO_QUERY_EXCEPTION" | "RATE_LIMIT_EXCEEDED_GENERIC_EXCEPTION" | "RATE_LIMIT_EXCEEDED_SPECIFIED_WAIT_EXCEPTION" | "REPLY_PROCESS_TIMEOUT_EXCEPTION" | "RETRYABLE_PROCESSING_EXCEPTION" | "SQL_EXECUTION_EXCEPTION" | "STOP_PROCESS_DUE_TO_AUTO_REGENERATE" | "TABLES_MISSING_EXCEPTION" | "TOO_MANY_CERTIFIED_ANSWERS_EXCEPTION" | "TOO_MANY_TABLES_EXCEPTION" | "UNEXPECTED_REPLY_PROCESS_EXCEPTION" | "UNKNOWN_AI_MODEL" | "UNSUPPORTED_CONVERSATION_TYPE_EXCEPTION" | "WAREHOUSE_ACCESS_MISSING_EXCEPTION" | "WAREHOUSE_NOT_FOUND_EXCEPTION"; }; feedback?: { rating?: "NEGATIVE" | "NONE" | "POSITIVE"; }; id: string; last_updated_timestamp?: number; message_id: string; query_result?: { is_truncated?: boolean; row_count?: number; statement_id?: string; statement_id_signature?: string; }; space_id: string; status?: "ASKING_AI" | "CANCELLED" | "COMPLETED" | "EXECUTING_QUERY" | "FAILED" | "FETCHING_METADATA" | "FILTERING_CONTEXT" | "PENDING_WAREHOUSE" | "QUERY_RESULT_EXPIRED" | "SUBMITTED"; user_id?: number; } | undefined