Class: Zavudev::Models::Senders::SendersAgent

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/zavudev/models/senders/agent.rb,
sig/zavudev/models/senders/agent.rbs

Defined Under Namespace

Classes: Stats, Voice

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(total_cost: nil, total_invocations: nil, total_tokens_used: nil) ⇒ Object

Parameters:

  • total_cost (Float) (defaults to: nil)

    Total cost in USD.

  • total_invocations (Integer) (defaults to: nil)
  • total_tokens_used (Integer) (defaults to: nil)


# File 'lib/zavudev/models/senders/agent.rb', line 116

Instance Attribute Details

#context_window_messagesInteger?

Number of previous messages to include as context.

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


60
# File 'lib/zavudev/models/senders/agent.rb', line 60

optional :context_window_messages, Integer, api_name: :contextWindowMessages

#created_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


15
# File 'lib/zavudev/models/senders/agent.rb', line 15

required :created_at, Time, api_name: :createdAt

#enabledBoolean

Whether the agent is active.

Parameters:

  • value (Boolean)

Returns:

  • (Boolean)


21
# File 'lib/zavudev/models/senders/agent.rb', line 21

required :enabled, Zavudev::Internal::Type::Boolean

#idString

Parameters:

  • value (String)

Returns:

  • (String)


10
# File 'lib/zavudev/models/senders/agent.rb', line 10

required :id, String

#include_contact_metadataBoolean?

Whether to include contact metadata in context.

Parameters:

  • (Boolean)

Returns:

  • (Boolean, nil)


66
67
68
# File 'lib/zavudev/models/senders/agent.rb', line 66

optional :include_contact_metadata,
Zavudev::Internal::Type::Boolean,
api_name: :includeContactMetadata

#max_tokensInteger?

Maximum tokens for LLM response.

Parameters:

  • value (Integer, nil)

Returns:

  • (Integer, nil)


74
# File 'lib/zavudev/models/senders/agent.rb', line 74

optional :max_tokens, Integer, api_name: :maxTokens, nil?: true

#modelString

Model ID (e.g., gpt-4o-mini, claude-3-5-sonnet).

Parameters:

  • value (String)

Returns:

  • (String)


27
# File 'lib/zavudev/models/senders/agent.rb', line 27

required :model, String

#nameString

Parameters:

  • value (String)

Returns:

  • (String)


32
# File 'lib/zavudev/models/senders/agent.rb', line 32

required :name, String

#providerSymbol, Zavudev::Models::Senders::AgentProvider

LLM provider for the AI agent.

Parameters:

  • value (Zavudev::Models::Senders::agent_provider)

Returns:



38
# File 'lib/zavudev/models/senders/agent.rb', line 38

required :provider, enum: -> { Zavudev::Senders::AgentProvider }

#sender_idString

Parameters:

  • value (String)

Returns:

  • (String)


43
# File 'lib/zavudev/models/senders/agent.rb', line 43

required :sender_id, String, api_name: :senderId

#sender_idsArray<String>?

Senders this agent answers on. An agent can serve several; senderId remains the primary one, for compatibility.

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


81
# File 'lib/zavudev/models/senders/agent.rb', line 81

optional :sender_ids, Zavudev::Internal::Type::ArrayOf[String], api_name: :senderIds

#statsZavudev::Models::Senders::SendersAgent::Stats?



86
# File 'lib/zavudev/models/senders/agent.rb', line 86

optional :stats, -> { Zavudev::Senders::SendersAgent::Stats }

#system_promptString

System prompt for the agent.

Parameters:

  • value (String)

Returns:

  • (String)


49
# File 'lib/zavudev/models/senders/agent.rb', line 49

required :system_prompt, String, api_name: :systemPrompt

#temperatureFloat?

LLM temperature (0-2).

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


92
# File 'lib/zavudev/models/senders/agent.rb', line 92

optional :temperature, Float, nil?: true

#trigger_on_channelsArray<String>?

Channels that trigger the agent.

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


98
# File 'lib/zavudev/models/senders/agent.rb', line 98

optional :trigger_on_channels, Zavudev::Internal::Type::ArrayOf[String], api_name: :triggerOnChannels

#trigger_on_message_typesArray<String>?

Message types that trigger the agent.

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


104
105
106
# File 'lib/zavudev/models/senders/agent.rb', line 104

optional :trigger_on_message_types,
Zavudev::Internal::Type::ArrayOf[String],
api_name: :triggerOnMessageTypes

#updated_atTime

Parameters:

  • value (Time)

Returns:

  • (Time)


54
# File 'lib/zavudev/models/senders/agent.rb', line 54

required :updated_at, Time, api_name: :updatedAt

#voiceZavudev::Models::Senders::SendersAgent::Voice?

Voice Agent configuration. When present and enabled, the agent can answer inbound phone calls and place outbound calls with Zavu's managed voice pipeline. Requires the Voice Agents feature to be enabled for your team.



114
# File 'lib/zavudev/models/senders/agent.rb', line 114

optional :voice, -> { Zavudev::Senders::SendersAgent::Voice }

Instance Method Details

#to_hash{

Returns:

  • ({)


102
# File 'sig/zavudev/models/senders/agent.rbs', line 102

def to_hash: -> {