Class: Cadenya::Models::Objective

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

Overview

Defined Under Namespace

Modules: State Classes: EpisodicMemory

Instance Attribute Summary collapse

Class Method 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(config_snapshot:, initial_message:, metadata:, state:, system_prompt:, data: nil, episodic_memory: nil, info: nil, memory_cascade: nil, output: nil, parent_objective_id: nil, secrets: nil, state_message: nil, user_data: nil) ⇒ Object

Some parameter documentations has been truncated, see Cadenya::Models::Objective for more details.

Objective is the data for an objective. It contains the snapshotted fields for the selected agent and variation. Secrets are returned only with their names, and the output definition is copied from the agent’s configuration.

Parameters:

  • config_snapshot (Cadenya::Models::ObjectiveConfigSnapshot)

    ObjectiveConfigSnapshot is the point-in-time snapshot of the agent, variation, a

  • initial_message (String)

    The initial message sent to the agent. This becomes the first user message in th

  • metadata (Cadenya::Models::OperationMetadata)

    Metadata for ephemeral operations and activities (e.g., objectives, executions,

  • state (Symbol, Cadenya::Models::Objective::State)

    The current lifecycle state of the objective.

  • system_prompt (String)

    system_prompt is read-only, derived from the selected variation’s prompt

  • data (Hash{Symbol=>Object}) (defaults to: nil)

    Arbitrary data for the objective

  • episodic_memory (Cadenya::Models::Objective::EpisodicMemory) (defaults to: nil)

    Episodic is used to configure the episodic memory for the objective

  • info (Cadenya::Models::ObjectiveInfo) (defaults to: nil)

    ObjectiveInfo provides read-only aggregated statistics about an objective’s exec

  • memory_cascade (Array<Cadenya::Models::MemoryReference>) (defaults to: nil)

    Memory layers/entries layered over the baseline cascade inherited

  • output (Hash{Symbol=>Object}) (defaults to: nil)

    The output of the objective, populated when the objective completes. Will match

  • parent_objective_id (String) (defaults to: nil)

    A parent objective means the objective was spawned off using a separate agent to

  • secrets (Array<Cadenya::Models::ObjectiveSecret>) (defaults to: nil)

    Secrets that can be used in the headers for tool calls using the secret interpol

  • state_message (String) (defaults to: nil)

    Optional human-readable detail about the current state (e.g. a failure reason).

  • user_data (Hash{Symbol=>Object}) (defaults to: nil)

    Arbitrary data used to render the variation’s user_message_template



# File 'lib/cadenya/models/objective.rb', line 117

Instance Attribute Details

#episodic_memoryCadenya::Models::Objective::EpisodicMemory?

Episodic is used to configure the episodic memory for the objective



25
# File 'lib/cadenya/models/objective.rb', line 25

optional :episodic_memory, -> { Cadenya::Objective::EpisodicMemory }, api_name: :episodicMemory

#initial_messageString

The initial message sent to the agent. This becomes the first user message in the LLM chat history.

Returns:

  • (String)


12
# File 'lib/cadenya/models/objective.rb', line 12

required :initial_message, String, api_name: :initialMessage

#memory_cascadeArray<Cadenya::Models::MemoryReference>?

Memory layers/entries layered over the baseline cascade inherited from the selected variation — element-level rules over inherited styles, in CSS terms.

Array order is resolution order: EARLIER elements are more specific and are consulted first. Entries pinned via memory_entry_id behave as single-entry layers at their position.

System-managed layers (e.g., episodic) cannot be referenced here; they attach themselves automatically based on the episodic key.

Size cap: the TOTAL effective cascade (this field + the variation’s memory layer assignments) must not exceed 10 entries. A request that would produce a larger cascade is rejected with InvalidArgument.

Returns:



43
44
45
# File 'lib/cadenya/models/objective.rb', line 43

optional :memory_cascade,
-> { Cadenya::Internal::Type::ArrayOf[Cadenya::MemoryReference] },
api_name: :memoryCascade

#metadataCadenya::Models::OperationMetadata

Metadata for ephemeral operations and activities (e.g., objectives, executions, runs)



19
# File 'lib/cadenya/models/objective.rb', line 19

required :metadata, -> { Cadenya::OperationMetadata }

#secretsArray<Cadenya::Models::ObjectiveSecret>?

Secrets that can be used in the headers for tool calls using the secret interpolation format.

Returns:



52
# File 'lib/cadenya/models/objective.rb', line 52

optional :secrets, -> { Cadenya::Internal::Type::ArrayOf[Cadenya::ObjectiveSecret] }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/cadenya/models/objective.rb', line 167