// @generated by protoc-gen-es v1.10.1 with parameter "target=dts+js"
// @generated from file agent/livekit_agent_session.proto (package livekit.agent, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import { Duration, proto3, Struct, Timestamp } from "@bufbuild/protobuf";

/**
 * @generated from enum livekit.agent.ChatRole
 */
export const ChatRole = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.ChatRole",
  [
    {no: 0, name: "DEVELOPER"},
    {no: 1, name: "SYSTEM"},
    {no: 2, name: "USER"},
    {no: 3, name: "ASSISTANT"},
  ],
);

/**
 * @generated from enum livekit.agent.AgentState
 */
export const AgentState = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.AgentState",
  [
    {no: 0, name: "AS_INITIALIZING"},
    {no: 1, name: "AS_IDLE"},
    {no: 2, name: "AS_LISTENING"},
    {no: 3, name: "AS_THINKING"},
    {no: 4, name: "AS_SPEAKING"},
  ],
);

/**
 * @generated from enum livekit.agent.UserState
 */
export const UserState = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.UserState",
  [
    {no: 0, name: "US_SPEAKING"},
    {no: 1, name: "US_LISTENING"},
    {no: 2, name: "US_AWAY"},
  ],
);

/**
 * @generated from enum livekit.agent.ToolCallStatus
 */
export const ToolCallStatus = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.ToolCallStatus",
  [
    {no: 0, name: "TC_RUNNING"},
    {no: 1, name: "TC_DONE"},
    {no: 2, name: "TC_ERROR"},
    {no: 3, name: "TC_CANCELLED"},
  ],
);

/**
 * @generated from enum livekit.agent.ToolReplyStatus
 */
export const ToolReplyStatus = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.ToolReplyStatus",
  [
    {no: 0, name: "TR_SCHEDULED"},
    {no: 1, name: "TR_COMPLETED"},
    {no: 2, name: "TR_INTERRUPTED"},
    {no: 3, name: "TR_SKIPPED"},
  ],
);

/**
 * @generated from enum livekit.agent.AmdCategory
 */
export const AmdCategory = /*@__PURE__*/ proto3.makeEnum(
  "livekit.agent.AmdCategory",
  [
    {no: 0, name: "AMD_UNKNOWN"},
    {no: 1, name: "AMD_HUMAN"},
    {no: 2, name: "AMD_MACHINE_IVR"},
    {no: 3, name: "AMD_MACHINE_VM"},
    {no: 4, name: "AMD_MACHINE_UNAVAILABLE"},
    {no: 5, name: "AMD_UNCERTAIN"},
  ],
);

/**
 * @generated from message livekit.agent.MetricsReport
 */
export const MetricsReport = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.MetricsReport",
  () => [
    { no: 1, name: "started_speaking_at", kind: "message", T: Timestamp },
    { no: 2, name: "stopped_speaking_at", kind: "message", T: Timestamp },
    { no: 3, name: "transcription_delay", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 4, name: "end_of_turn_delay", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 5, name: "on_user_turn_completed_delay", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 6, name: "llm_node_ttft", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 7, name: "tts_node_ttfb", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 8, name: "e2e_latency", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 9, name: "llm_node_tps", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 10, name: "llm_node_ttfs", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
  ],
);

/**
 * @generated from message livekit.agent.TimedString
 */
export const TimedString = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.TimedString",
  () => [
    { no: 1, name: "text", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "start_time", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 3, name: "end_time", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 4, name: "confidence", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 5, name: "start_time_offset", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 6, name: "speaker_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
);

/**
 * @generated from message livekit.agent.ChatMessage
 */
export const ChatMessage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.ChatMessage",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "role", kind: "enum", T: proto3.getEnumType(ChatRole) },
    { no: 3, name: "content", kind: "message", T: ChatMessage_ChatContent, repeated: true },
    { no: 4, name: "interrupted", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 5, name: "transcript_confidence", kind: "scalar", T: 1 /* ScalarType.DOUBLE */, opt: true },
    { no: 6, name: "extra", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
    { no: 7, name: "metrics", kind: "message", T: MetricsReport },
    { no: 8, name: "created_at", kind: "message", T: Timestamp },
  ],
);

/**
 * @generated from message livekit.agent.ChatMessage.ChatContent
 */
export const ChatMessage_ChatContent = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.ChatMessage.ChatContent",
  () => [
    { no: 1, name: "text", kind: "scalar", T: 9 /* ScalarType.STRING */, oneof: "payload" },
  ],
  {localName: "ChatMessage_ChatContent"},
);

/**
 * @generated from message livekit.agent.FunctionCall
 */
export const FunctionCall = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.FunctionCall",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "arguments", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "created_at", kind: "message", T: Timestamp },
  ],
);

/**
 * @generated from message livekit.agent.FunctionCallOutput
 */
export const FunctionCallOutput = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.FunctionCallOutput",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "output", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "is_error", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 6, name: "created_at", kind: "message", T: Timestamp },
  ],
);

/**
 * @generated from message livekit.agent.AgentHandoff
 */
export const AgentHandoff = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentHandoff",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "old_agent_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "new_agent_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "created_at", kind: "message", T: Timestamp },
  ],
);

/**
 * @generated from message livekit.agent.AgentConfigUpdate
 */
export const AgentConfigUpdate = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentConfigUpdate",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "instructions", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "tools_added", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 4, name: "tools_removed", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 5, name: "created_at", kind: "message", T: Timestamp },
  ],
);

/**
 * @generated from message livekit.agent.ChatContext
 */
export const ChatContext = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.ChatContext",
  () => [
    { no: 1, name: "items", kind: "message", T: ChatContext_ChatItem, repeated: true },
  ],
);

/**
 * @generated from message livekit.agent.ChatContext.ChatItem
 */
export const ChatContext_ChatItem = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.ChatContext.ChatItem",
  () => [
    { no: 1, name: "message", kind: "message", T: ChatMessage, oneof: "item" },
    { no: 2, name: "function_call", kind: "message", T: FunctionCall, oneof: "item" },
    { no: 3, name: "function_call_output", kind: "message", T: FunctionCallOutput, oneof: "item" },
    { no: 4, name: "agent_handoff", kind: "message", T: AgentHandoff, oneof: "item" },
    { no: 5, name: "agent_config_update", kind: "message", T: AgentConfigUpdate, oneof: "item" },
  ],
  {localName: "ChatContext_ChatItem"},
);

/**
 * @generated from message livekit.agent.LLMModelUsage
 */
export const LLMModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.LLMModelUsage",
  () => [
    { no: 1, name: "provider", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "input_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 4, name: "input_cached_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 5, name: "input_audio_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 6, name: "input_cached_audio_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 7, name: "input_text_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 8, name: "input_cached_text_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 9, name: "input_image_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 10, name: "input_cached_image_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 11, name: "output_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 12, name: "output_audio_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 13, name: "output_text_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 14, name: "session_duration", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
  ],
);

/**
 * @generated from message livekit.agent.TTSModelUsage
 */
export const TTSModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.TTSModelUsage",
  () => [
    { no: 1, name: "provider", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "input_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 4, name: "output_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 5, name: "characters_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 6, name: "audio_duration", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
  ],
);

/**
 * @generated from message livekit.agent.STTModelUsage
 */
export const STTModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.STTModelUsage",
  () => [
    { no: 1, name: "provider", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "input_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 4, name: "output_tokens", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 5, name: "audio_duration", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
  ],
);

/**
 * @generated from message livekit.agent.InterruptionModelUsage
 */
export const InterruptionModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.InterruptionModelUsage",
  () => [
    { no: 1, name: "provider", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "total_requests", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
  ],
);

/**
 * @generated from message livekit.agent.EotModelUsage
 */
export const EotModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.EotModelUsage",
  () => [
    { no: 1, name: "provider", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "model", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "total_requests", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
  ],
);

/**
 * @generated from message livekit.agent.ModelUsage
 */
export const ModelUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.ModelUsage",
  () => [
    { no: 1, name: "llm", kind: "message", T: LLMModelUsage, oneof: "usage" },
    { no: 2, name: "tts", kind: "message", T: TTSModelUsage, oneof: "usage" },
    { no: 3, name: "stt", kind: "message", T: STTModelUsage, oneof: "usage" },
    { no: 4, name: "interruption", kind: "message", T: InterruptionModelUsage, oneof: "usage" },
    { no: 5, name: "eot", kind: "message", T: EotModelUsage, oneof: "usage" },
  ],
);

/**
 * @generated from message livekit.agent.AgentSessionUsage
 */
export const AgentSessionUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionUsage",
  () => [
    { no: 1, name: "model_usage", kind: "message", T: ModelUsage, repeated: true },
  ],
);

/**
 * Debug/trace payload carried over the remote session wire.
 * Internal: surfaced only to the debugger/recorder, not to user code.
 *
 * @generated from message livekit.agent.DebugMessage
 */
export const DebugMessage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.DebugMessage",
  () => [
    { no: 1, name: "payload", kind: "message", T: Struct },
  ],
);

/**
 * @generated from message livekit.agent.AgentSessionEvent
 */
export const AgentSessionEvent = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent",
  () => [
    { no: 1, name: "created_at", kind: "message", T: Timestamp },
    { no: 10, name: "agent_state_changed", kind: "message", T: AgentSessionEvent_AgentStateChanged, oneof: "event" },
    { no: 11, name: "user_state_changed", kind: "message", T: AgentSessionEvent_UserStateChanged, oneof: "event" },
    { no: 12, name: "conversation_item_added", kind: "message", T: AgentSessionEvent_ConversationItemAdded, oneof: "event" },
    { no: 13, name: "user_input_transcribed", kind: "message", T: AgentSessionEvent_UserInputTranscribed, oneof: "event" },
    { no: 14, name: "function_tools_executed", kind: "message", T: AgentSessionEvent_FunctionToolsExecuted, oneof: "event" },
    { no: 15, name: "error", kind: "message", T: AgentSessionEvent_Error, oneof: "event" },
    { no: 16, name: "overlapping_speech", kind: "message", T: AgentSessionEvent_OverlappingSpeech, oneof: "event" },
    { no: 17, name: "session_usage_updated", kind: "message", T: AgentSessionEvent_SessionUsageUpdated, oneof: "event" },
    { no: 18, name: "amd_prediction", kind: "message", T: AgentSessionEvent_AmdPrediction, oneof: "event" },
    { no: 19, name: "eot_prediction", kind: "message", T: AgentSessionEvent_EotPrediction, oneof: "event" },
    { no: 20, name: "function_tools_started", kind: "message", T: AgentSessionEvent_FunctionToolsStarted, oneof: "event" },
    { no: 21, name: "debug_message", kind: "message", T: DebugMessage, oneof: "event" },
    { no: 22, name: "tool_execution_updated", kind: "message", T: AgentSessionEvent_ToolExecutionUpdated, oneof: "event" },
    { no: 23, name: "agent_false_interruption", kind: "message", T: AgentSessionEvent_AgentFalseInterruption, oneof: "event" },
  ],
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.AgentStateChanged
 */
export const AgentSessionEvent_AgentStateChanged = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.AgentStateChanged",
  () => [
    { no: 1, name: "old_state", kind: "enum", T: proto3.getEnumType(AgentState) },
    { no: 2, name: "new_state", kind: "enum", T: proto3.getEnumType(AgentState) },
  ],
  {localName: "AgentSessionEvent_AgentStateChanged"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.UserStateChanged
 */
export const AgentSessionEvent_UserStateChanged = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.UserStateChanged",
  () => [
    { no: 1, name: "old_state", kind: "enum", T: proto3.getEnumType(UserState) },
    { no: 2, name: "new_state", kind: "enum", T: proto3.getEnumType(UserState) },
  ],
  {localName: "AgentSessionEvent_UserStateChanged"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.ConversationItemAdded
 */
export const AgentSessionEvent_ConversationItemAdded = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ConversationItemAdded",
  () => [
    { no: 1, name: "item", kind: "message", T: ChatContext_ChatItem },
  ],
  {localName: "AgentSessionEvent_ConversationItemAdded"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.UserInputTranscribed
 */
export const AgentSessionEvent_UserInputTranscribed = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.UserInputTranscribed",
  () => [
    { no: 1, name: "transcript", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "is_final", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 3, name: "language", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
  {localName: "AgentSessionEvent_UserInputTranscribed"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.FunctionToolsStarted
 */
export const AgentSessionEvent_FunctionToolsStarted = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.FunctionToolsStarted",
  () => [
    { no: 1, name: "function_calls", kind: "message", T: FunctionCall, repeated: true },
  ],
  {localName: "AgentSessionEvent_FunctionToolsStarted"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.FunctionToolsExecuted
 */
export const AgentSessionEvent_FunctionToolsExecuted = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.FunctionToolsExecuted",
  () => [
    { no: 1, name: "function_calls", kind: "message", T: FunctionCall, repeated: true },
    { no: 2, name: "function_call_outputs", kind: "message", T: FunctionCallOutput, repeated: true },
  ],
  {localName: "AgentSessionEvent_FunctionToolsExecuted"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.Error
 */
export const AgentSessionEvent_Error = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.Error",
  () => [
    { no: 1, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "AgentSessionEvent_Error"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.OverlappingSpeech
 */
export const AgentSessionEvent_OverlappingSpeech = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.OverlappingSpeech",
  () => [
    { no: 1, name: "is_interruption", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 2, name: "overlap_started_at", kind: "message", T: Timestamp, opt: true },
    { no: 3, name: "detection_delay", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
    { no: 4, name: "detected_at", kind: "message", T: Timestamp },
  ],
  {localName: "AgentSessionEvent_OverlappingSpeech"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.AmdPrediction
 */
export const AgentSessionEvent_AmdPrediction = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.AmdPrediction",
  () => [
    { no: 1, name: "speech_duration", kind: "message", T: Duration },
    { no: 2, name: "category", kind: "enum", T: proto3.getEnumType(AmdCategory) },
    { no: 3, name: "reason", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "transcript", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "delay", kind: "message", T: Duration },
  ],
  {localName: "AgentSessionEvent_AmdPrediction"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.EotPrediction
 */
export const AgentSessionEvent_EotPrediction = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.EotPrediction",
  () => [
    { no: 1, name: "probability", kind: "scalar", T: 2 /* ScalarType.FLOAT */ },
    { no: 2, name: "threshold", kind: "scalar", T: 2 /* ScalarType.FLOAT */ },
    { no: 3, name: "inference_duration", kind: "message", T: Duration },
    { no: 4, name: "delay", kind: "message", T: Duration },
  ],
  {localName: "AgentSessionEvent_EotPrediction"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.SessionUsageUpdated
 */
export const AgentSessionEvent_SessionUsageUpdated = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.SessionUsageUpdated",
  () => [
    { no: 1, name: "usage", kind: "message", T: AgentSessionUsage },
  ],
  {localName: "AgentSessionEvent_SessionUsageUpdated"},
);

/**
 * Per-call tool lifecycle. One flat update per occurrence: a call started ->
 * progress updates while it runs (CallUpdated) -> the single terminal entry (Ended),
 * with the deferred reply voicing buffered updates advancing separately (ReplyUpdated).
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated
 */
export const AgentSessionEvent_ToolExecutionUpdated = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ToolExecutionUpdated",
  () => [
    { no: 1, name: "started", kind: "message", T: AgentSessionEvent_ToolExecutionUpdated_Started, oneof: "update" },
    { no: 2, name: "call_updated", kind: "message", T: AgentSessionEvent_ToolExecutionUpdated_CallUpdated, oneof: "update" },
    { no: 3, name: "reply_updated", kind: "message", T: AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated, oneof: "update" },
    { no: 4, name: "ended", kind: "message", T: AgentSessionEvent_ToolExecutionUpdated_Ended, oneof: "update" },
  ],
  {localName: "AgentSessionEvent_ToolExecutionUpdated"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started
 */
export const AgentSessionEvent_ToolExecutionUpdated_Started = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started",
  () => [
    { no: 1, name: "function_call", kind: "message", T: FunctionCall },
  ],
  {localName: "AgentSessionEvent_ToolExecutionUpdated_Started"},
);

/**
 * a progress update emitted via ctx.update() while the call runs
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated
 */
export const AgentSessionEvent_ToolExecutionUpdated_CallUpdated = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "AgentSessionEvent_ToolExecutionUpdated_CallUpdated"},
);

/**
 * the call's single terminal entry
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended
 */
export const AgentSessionEvent_ToolExecutionUpdated_Ended = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 4, name: "status", kind: "enum", T: proto3.getEnumType(ToolCallStatus) },
  ],
  {localName: "AgentSessionEvent_ToolExecutionUpdated_Ended"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated
 */
export const AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated",
  () => [
    { no: 1, name: "update_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 2, name: "status", kind: "enum", T: proto3.getEnumType(ToolReplyStatus) },
    { no: 3, name: "speech_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated"},
);

/**
 * @generated from message livekit.agent.AgentSessionEvent.AgentFalseInterruption
 */
export const AgentSessionEvent_AgentFalseInterruption = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionEvent.AgentFalseInterruption",
  () => [
    { no: 1, name: "resumed", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ],
  {localName: "AgentSessionEvent_AgentFalseInterruption"},
);

/**
 * @generated from message livekit.agent.SessionRequest
 */
export const SessionRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest",
  () => [
    { no: 1, name: "request_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "ping", kind: "message", T: SessionRequest_Ping, oneof: "request" },
    { no: 4, name: "get_chat_history", kind: "message", T: SessionRequest_GetChatHistory, oneof: "request" },
    { no: 5, name: "run_input", kind: "message", T: SessionRequest_RunInput, oneof: "request" },
    { no: 6, name: "get_agent_info", kind: "message", T: SessionRequest_GetAgentInfo, oneof: "request" },
    { no: 7, name: "get_session_state", kind: "message", T: SessionRequest_GetSessionState, oneof: "request" },
    { no: 8, name: "get_rtc_stats", kind: "message", T: SessionRequest_GetRTCStats, oneof: "request" },
    { no: 9, name: "get_session_usage", kind: "message", T: SessionRequest_GetSessionUsage, oneof: "request" },
    { no: 10, name: "get_framework_info", kind: "message", T: SessionRequest_GetFrameworkInfo, oneof: "request" },
    { no: 11, name: "update_io", kind: "message", T: SessionRequest_UpdateIO, oneof: "request" },
    { no: 12, name: "finalize_simulation", kind: "message", T: SessionRequest_FinalizeSimulation, oneof: "request" },
  ],
);

/**
 * @generated from message livekit.agent.SessionRequest.Ping
 */
export const SessionRequest_Ping = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.Ping",
  [],
  {localName: "SessionRequest_Ping"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetChatHistory
 */
export const SessionRequest_GetChatHistory = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetChatHistory",
  [],
  {localName: "SessionRequest_GetChatHistory"},
);

/**
 * @generated from message livekit.agent.SessionRequest.RunInput
 */
export const SessionRequest_RunInput = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.RunInput",
  () => [
    { no: 1, name: "text", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "SessionRequest_RunInput"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetAgentInfo
 */
export const SessionRequest_GetAgentInfo = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetAgentInfo",
  [],
  {localName: "SessionRequest_GetAgentInfo"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetSessionState
 */
export const SessionRequest_GetSessionState = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetSessionState",
  [],
  {localName: "SessionRequest_GetSessionState"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetRTCStats
 */
export const SessionRequest_GetRTCStats = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetRTCStats",
  [],
  {localName: "SessionRequest_GetRTCStats"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetSessionUsage
 */
export const SessionRequest_GetSessionUsage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetSessionUsage",
  [],
  {localName: "SessionRequest_GetSessionUsage"},
);

/**
 * @generated from message livekit.agent.SessionRequest.GetFrameworkInfo
 */
export const SessionRequest_GetFrameworkInfo = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.GetFrameworkInfo",
  [],
  {localName: "SessionRequest_GetFrameworkInfo"},
);

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO
 */
export const SessionRequest_UpdateIO = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.UpdateIO",
  () => [
    { no: 1, name: "input", kind: "message", T: SessionRequest_UpdateIO_Input, opt: true },
    { no: 2, name: "output", kind: "message", T: SessionRequest_UpdateIO_Output, opt: true },
  ],
  {localName: "SessionRequest_UpdateIO"},
);

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO.Input
 */
export const SessionRequest_UpdateIO_Input = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.UpdateIO.Input",
  () => [
    { no: 1, name: "audio_enabled", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
    { no: 2, name: "video_enabled", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
  ],
  {localName: "SessionRequest_UpdateIO_Input"},
);

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO.Output
 */
export const SessionRequest_UpdateIO_Output = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.UpdateIO.Output",
  () => [
    { no: 1, name: "audio_enabled", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
    { no: 2, name: "video_enabled", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
    { no: 3, name: "transcription_enabled", kind: "scalar", T: 8 /* ScalarType.BOOL */, opt: true },
  ],
  {localName: "SessionRequest_UpdateIO_Output"},
);

/**
 * @generated from message livekit.agent.SessionRequest.FinalizeSimulation
 */
export const SessionRequest_FinalizeSimulation = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionRequest.FinalizeSimulation",
  () => [
    { no: 1, name: "provisional_success", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 2, name: "provisional_reason", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "SessionRequest_FinalizeSimulation"},
);

/**
 * @generated from message livekit.agent.SessionResponse
 */
export const SessionResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse",
  () => [
    { no: 1, name: "request_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "error", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "pong", kind: "message", T: SessionResponse_Pong, oneof: "response" },
    { no: 5, name: "get_chat_history", kind: "message", T: SessionResponse_GetChatHistoryResponse, oneof: "response" },
    { no: 6, name: "run_input", kind: "message", T: SessionResponse_RunInputResponse, oneof: "response" },
    { no: 7, name: "get_agent_info", kind: "message", T: SessionResponse_GetAgentInfoResponse, oneof: "response" },
    { no: 8, name: "get_session_state", kind: "message", T: SessionResponse_GetSessionStateResponse, oneof: "response" },
    { no: 9, name: "get_rtc_stats", kind: "message", T: SessionResponse_GetRTCStatsResponse, oneof: "response" },
    { no: 10, name: "get_session_usage", kind: "message", T: SessionResponse_GetSessionUsageResponse, oneof: "response" },
    { no: 11, name: "get_framework_info", kind: "message", T: SessionResponse_GetFrameworkInfoResponse, oneof: "response" },
    { no: 12, name: "update_io", kind: "message", T: SessionResponse_UpdateIOResponse, oneof: "response" },
    { no: 13, name: "finalize_simulation", kind: "message", T: SessionResponse_FinalizeSimulationResponse, oneof: "response" },
  ],
);

/**
 * @generated from message livekit.agent.SessionResponse.Pong
 */
export const SessionResponse_Pong = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.Pong",
  [],
  {localName: "SessionResponse_Pong"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetChatHistoryResponse
 */
export const SessionResponse_GetChatHistoryResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetChatHistoryResponse",
  () => [
    { no: 1, name: "items", kind: "message", T: ChatContext_ChatItem, repeated: true },
  ],
  {localName: "SessionResponse_GetChatHistoryResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetAgentInfoResponse
 */
export const SessionResponse_GetAgentInfoResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetAgentInfoResponse",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "instructions", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "tools", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 4, name: "chat_ctx", kind: "message", T: ChatContext_ChatItem, repeated: true },
  ],
  {localName: "SessionResponse_GetAgentInfoResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.RunInputResponse
 */
export const SessionResponse_RunInputResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.RunInputResponse",
  () => [
    { no: 1, name: "items", kind: "message", T: ChatContext_ChatItem, repeated: true },
  ],
  {localName: "SessionResponse_RunInputResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetSessionStateResponse
 */
export const SessionResponse_GetSessionStateResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetSessionStateResponse",
  () => [
    { no: 1, name: "agent_state", kind: "enum", T: proto3.getEnumType(AgentState) },
    { no: 2, name: "user_state", kind: "enum", T: proto3.getEnumType(UserState) },
    { no: 3, name: "agent_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "options", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
    { no: 5, name: "created_at", kind: "message", T: Timestamp },
  ],
  {localName: "SessionResponse_GetSessionStateResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetRTCStatsResponse
 */
export const SessionResponse_GetRTCStatsResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetRTCStatsResponse",
  () => [
    { no: 1, name: "publisher_stats", kind: "message", T: Struct, repeated: true },
    { no: 2, name: "subscriber_stats", kind: "message", T: Struct, repeated: true },
  ],
  {localName: "SessionResponse_GetRTCStatsResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetSessionUsageResponse
 */
export const SessionResponse_GetSessionUsageResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetSessionUsageResponse",
  () => [
    { no: 1, name: "usage", kind: "message", T: AgentSessionUsage },
    { no: 2, name: "created_at", kind: "message", T: Timestamp },
  ],
  {localName: "SessionResponse_GetSessionUsageResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.GetFrameworkInfoResponse
 */
export const SessionResponse_GetFrameworkInfoResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.GetFrameworkInfoResponse",
  () => [
    { no: 1, name: "sdk", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "sdk_version", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "SessionResponse_GetFrameworkInfoResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.UpdateIOResponse
 */
export const SessionResponse_UpdateIOResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.UpdateIOResponse",
  [],
  {localName: "SessionResponse_UpdateIOResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.FinalizeSimulationResponse
 */
export const SessionResponse_FinalizeSimulationResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.FinalizeSimulationResponse",
  () => [
    { no: 1, name: "user_verdict", kind: "message", T: SessionResponse_FinalizeSimulationResponse_SimulationVerdict },
  ],
  {localName: "SessionResponse_FinalizeSimulationResponse"},
);

/**
 * @generated from message livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict
 */
export const SessionResponse_FinalizeSimulationResponse_SimulationVerdict = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict",
  () => [
    { no: 1, name: "success", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 2, name: "reason", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
  {localName: "SessionResponse_FinalizeSimulationResponse_SimulationVerdict"},
);

/**
 * @generated from message livekit.agent.AgentSessionMessage
 */
export const AgentSessionMessage = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage",
  () => [
    { no: 1, name: "audio_input", kind: "message", T: AgentSessionMessage_ConsoleIO_AudioFrame, oneof: "message" },
    { no: 2, name: "audio_output", kind: "message", T: AgentSessionMessage_ConsoleIO_AudioFrame, oneof: "message" },
    { no: 3, name: "event", kind: "message", T: AgentSessionEvent, oneof: "message" },
    { no: 4, name: "request", kind: "message", T: SessionRequest, oneof: "message" },
    { no: 5, name: "response", kind: "message", T: SessionResponse, oneof: "message" },
    { no: 6, name: "audio_playback_flush", kind: "message", T: AgentSessionMessage_ConsoleIO_AudioPlaybackFlush, oneof: "message" },
    { no: 7, name: "audio_playback_clear", kind: "message", T: AgentSessionMessage_ConsoleIO_AudioPlaybackClear, oneof: "message" },
    { no: 8, name: "audio_playback_finished", kind: "message", T: AgentSessionMessage_ConsoleIO_AudioPlaybackFinished, oneof: "message" },
  ],
);

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO
 */
export const AgentSessionMessage_ConsoleIO = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage.ConsoleIO",
  [],
  {localName: "AgentSessionMessage_ConsoleIO"},
);

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame
 */
export const AgentSessionMessage_ConsoleIO_AudioFrame = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame",
  () => [
    { no: 1, name: "data", kind: "scalar", T: 12 /* ScalarType.BYTES */ },
    { no: 2, name: "sample_rate", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
    { no: 3, name: "num_channels", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
    { no: 4, name: "samples_per_channel", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
  ],
  {localName: "AgentSessionMessage_ConsoleIO_AudioFrame"},
);

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush
 */
export const AgentSessionMessage_ConsoleIO_AudioPlaybackFlush = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush",
  [],
  {localName: "AgentSessionMessage_ConsoleIO_AudioPlaybackFlush"},
);

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear
 */
export const AgentSessionMessage_ConsoleIO_AudioPlaybackClear = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear",
  [],
  {localName: "AgentSessionMessage_ConsoleIO_AudioPlaybackClear"},
);

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished
 */
export const AgentSessionMessage_ConsoleIO_AudioPlaybackFinished = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished",
  [],
  {localName: "AgentSessionMessage_ConsoleIO_AudioPlaybackFinished"},
);

