Class: ActiveAgent::Providers::OpenRouter::Requests::Messages::MessagesType
- Inherits:
-
ActiveModel::Type::Value
- Object
- ActiveModel::Type::Value
- ActiveAgent::Providers::OpenRouter::Requests::Messages::MessagesType
- Defined in:
- lib/active_agent/providers/open_router/requests/messages/_types.rb
Overview
ActiveModel type for casting and normalizing messages
Delegates to OpenRouter transforms which use OpenAI’s message normalization.
Direct Known Subclasses
Instance Method Summary collapse
-
#cast(value) ⇒ Array?
Casts value to normalized messages array.
- #deserialize(value) ⇒ Array?
-
#serialize(value) ⇒ Array?
Serializes messages to hash array.
Instance Method Details
#cast(value) ⇒ Array?
Casts value to normalized messages array
18 19 20 21 |
# File 'lib/active_agent/providers/open_router/requests/messages/_types.rb', line 18 def cast(value) return nil if value.nil? Transforms.(value) end |
#deserialize(value) ⇒ Array?
39 40 41 |
# File 'lib/active_agent/providers/open_router/requests/messages/_types.rb', line 39 def deserialize(value) cast(value) end |
#serialize(value) ⇒ Array?
Serializes messages to hash array
27 28 29 30 31 32 33 34 35 |
# File 'lib/active_agent/providers/open_router/requests/messages/_types.rb', line 27 def serialize(value) return nil if value.nil? # If already serialized as hashes, return as-is return value if value.is_a?(Array) && value.all? { |m| m.is_a?(Hash) } # Otherwise convert gem objects to hashes value.map { |msg| Transforms.gem_to_hash(msg) } end |