Class: Cadenya::Models::ModelSpec

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/cadenya/models/model_spec.rb

Defined Under Namespace

Modules: Status

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(family: nil, input_price_per_million_tokens: nil, max_input_tokens: nil, max_output_tokens: nil, output_price_per_million_tokens: nil, provider: nil, status: nil) ⇒ Object

Parameters:

  • family (String) (defaults to: nil)

    The model family (e.g., “claude-sonnet-4.6”, “gpt-5.4”, “gemini-2.5-flash”)

  • input_price_per_million_tokens (String) (defaults to: nil)

    Cost per million input tokens in cents (e.g., 300 = $3.00)

  • max_input_tokens (Integer) (defaults to: nil)

    Maximum number of input tokens the model supports

  • max_output_tokens (Integer) (defaults to: nil)

    Maximum number of output tokens the model can generate

  • output_price_per_million_tokens (String) (defaults to: nil)

    Cost per million output tokens in cents (e.g., 1500 = $15.00)

  • provider (String) (defaults to: nil)

    The model provider (e.g., “anthropic”, “openai”, “google”)

  • status (Symbol, Cadenya::Models::ModelSpec::Status) (defaults to: nil)

    The status of the model in the workspace



# File 'lib/cadenya/models/model_spec.rb', line 48

Instance Attribute Details

#familyString?

The model family (e.g., “claude-sonnet-4.6”, “gpt-5.4”, “gemini-2.5-flash”)

Returns:

  • (String, nil)


10
# File 'lib/cadenya/models/model_spec.rb', line 10

optional :family, String

#input_price_per_million_tokensString?

Cost per million input tokens in cents (e.g., 300 = $3.00)

Returns:

  • (String, nil)


16
# File 'lib/cadenya/models/model_spec.rb', line 16

optional :input_price_per_million_tokens, String, api_name: :inputPricePerMillionTokens

#max_input_tokensInteger?

Maximum number of input tokens the model supports

Returns:

  • (Integer, nil)


22
# File 'lib/cadenya/models/model_spec.rb', line 22

optional :max_input_tokens, Integer, api_name: :maxInputTokens

#max_output_tokensInteger?

Maximum number of output tokens the model can generate

Returns:

  • (Integer, nil)


28
# File 'lib/cadenya/models/model_spec.rb', line 28

optional :max_output_tokens, Integer, api_name: :maxOutputTokens

#output_price_per_million_tokensString?

Cost per million output tokens in cents (e.g., 1500 = $15.00)

Returns:

  • (String, nil)


34
# File 'lib/cadenya/models/model_spec.rb', line 34

optional :output_price_per_million_tokens, String, api_name: :outputPricePerMillionTokens

#providerString?

The model provider (e.g., “anthropic”, “openai”, “google”)

Returns:

  • (String, nil)


40
# File 'lib/cadenya/models/model_spec.rb', line 40

optional :provider, String

#statusSymbol, ...

The status of the model in the workspace

Returns:



46
# File 'lib/cadenya/models/model_spec.rb', line 46

optional :status, enum: -> { Cadenya::ModelSpec::Status }