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

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

Defined Under Namespace

Classes: Stats

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(id:, created_at:, enabled:, model:, name:, provider:, sender_id:, system_prompt:, updated_at:, context_window_messages: nil, include_contact_metadata: nil, max_tokens: nil, stats: nil, temperature: nil, trigger_on_channels: nil, trigger_on_message_types: nil) ⇒ Object

AI Agent configuration for a sender.

Parameters:

  • id (String)
  • created_at (Time)
  • enabled (Boolean)

    Whether the agent is active.

  • model (String)

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

  • name (String)
  • provider (Symbol, Zavudev::Models::Senders::AgentProvider)

    LLM provider for the AI agent.

  • sender_id (String)
  • system_prompt (String)

    System prompt for the agent.

  • updated_at (Time)
  • context_window_messages (Integer) (defaults to: nil)

    Number of previous messages to include as context.

  • include_contact_metadata (Boolean) (defaults to: nil)

    Whether to include contact metadata in context.

  • max_tokens (Integer, nil) (defaults to: nil)

    Maximum tokens for LLM response.

  • stats (Zavudev::Models::Senders::SendersAgent::Stats) (defaults to: nil)
  • temperature (Float, nil) (defaults to: nil)

    LLM temperature (0-2).

  • trigger_on_channels (Array<String>) (defaults to: nil)

    Channels that trigger the agent.

  • trigger_on_message_types (Array<String>) (defaults to: nil)

    Message types that trigger the agent.



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

Instance Attribute Details

#context_window_messagesInteger?

Number of previous messages to include as context.

Returns:

  • (Integer, nil)


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

optional :context_window_messages, Integer, api_name: :contextWindowMessages

#created_atTime

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.

Returns:

  • (Boolean)


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

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

#idString

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.

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.

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).

Returns:

  • (String)


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

required :model, String

#nameString

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.



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

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

#sender_idString

Returns:

  • (String)


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

required :sender_id, String, api_name: :senderId

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



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

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

#system_promptString

System prompt for the agent.

Returns:

  • (String)


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

required :system_prompt, String, api_name: :systemPrompt

#temperatureFloat?

LLM temperature (0-2).

Returns:

  • (Float, nil)


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

optional :temperature, Float, nil?: true

#trigger_on_channelsArray<String>?

Channels that trigger the agent.

Returns:

  • (Array<String>, nil)


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

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

#trigger_on_message_typesArray<String>?

Message types that trigger the agent.

Returns:

  • (Array<String>, nil)


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

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

#updated_atTime

Returns:

  • (Time)


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

required :updated_at, Time, api_name: :updatedAt