cadenya 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +7 -7
  4. data/lib/cadenya/models/agent.rb +28 -1
  5. data/lib/cadenya/models/agent_archive_params.rb +26 -0
  6. data/lib/cadenya/models/agent_entry.rb +31 -1
  7. data/lib/cadenya/models/agent_list_params.rb +12 -12
  8. data/lib/cadenya/models/agent_publish_params.rb +26 -0
  9. data/lib/cadenya/models/agent_schedule_entry.rb +31 -1
  10. data/lib/cadenya/models/agent_spec.rb +1 -24
  11. data/lib/cadenya/models/agent_unarchive_params.rb +26 -0
  12. data/lib/cadenya/models/agent_unpublish_params.rb +26 -0
  13. data/lib/cadenya/models/agents/agent_schedule.rb +30 -1
  14. data/lib/cadenya/models/agents/agent_schedule_info.rb +1 -1
  15. data/lib/cadenya/models/agents/agent_schedule_spec.rb +1 -24
  16. data/lib/cadenya/models/agents/schedule_archive_params.rb +34 -0
  17. data/lib/cadenya/models/agents/schedule_pause_params.rb +34 -0
  18. data/lib/cadenya/models/agents/schedule_resume_params.rb +34 -0
  19. data/lib/cadenya/models/bulk_workspace_apply_data.rb +6 -7
  20. data/lib/cadenya/models/model.rb +25 -1
  21. data/lib/cadenya/models/model_disable_params.rb +26 -0
  22. data/lib/cadenya/models/model_enable_params.rb +26 -0
  23. data/lib/cadenya/models/model_list_params.rb +11 -11
  24. data/lib/cadenya/models/model_spec.rb +1 -23
  25. data/lib/cadenya/models/objective.rb +116 -18
  26. data/lib/cadenya/models/objective_config_snapshot.rb +39 -0
  27. data/lib/cadenya/models/objective_create_params.rb +65 -4
  28. data/lib/cadenya/models/objective_info.rb +45 -29
  29. data/lib/cadenya/models/objective_secret.rb +15 -0
  30. data/lib/cadenya/models/objectives/objective_tool_call.rb +19 -19
  31. data/lib/cadenya/models/resource_metadata.rb +9 -1
  32. data/lib/cadenya/models/tool_entry.rb +31 -1
  33. data/lib/cadenya/models/tool_set.rb +27 -1
  34. data/lib/cadenya/models/tool_set_archive_params.rb +26 -0
  35. data/lib/cadenya/models/tool_set_list_params.rb +26 -1
  36. data/lib/cadenya/models/tool_set_unarchive_params.rb +26 -0
  37. data/lib/cadenya/models/tool_sets/tool.rb +28 -1
  38. data/lib/cadenya/models/tool_sets/tool_list_params.rb +11 -12
  39. data/lib/cadenya/models/tool_sets/tool_omit_params.rb +34 -0
  40. data/lib/cadenya/models/tool_sets/tool_restore_params.rb +34 -0
  41. data/lib/cadenya/models/tool_sets/tool_spec.rb +3 -23
  42. data/lib/cadenya/models.rb +19 -7
  43. data/lib/cadenya/resources/account.rb +1 -1
  44. data/lib/cadenya/resources/agents/schedules.rb +112 -0
  45. data/lib/cadenya/resources/agents.rb +126 -2
  46. data/lib/cadenya/resources/api_keys.rb +2 -2
  47. data/lib/cadenya/resources/models.rb +39 -13
  48. data/lib/cadenya/resources/objectives/tool_calls.rb +4 -4
  49. data/lib/cadenya/resources/objectives.rb +11 -5
  50. data/lib/cadenya/resources/tool_sets/tools.rb +77 -3
  51. data/lib/cadenya/resources/tool_sets.rb +73 -2
  52. data/lib/cadenya/version.rb +1 -1
  53. data/lib/cadenya.rb +15 -4
  54. data/rbi/cadenya/models/agent.rbi +34 -0
  55. data/rbi/cadenya/models/agent_archive_params.rbi +43 -0
  56. data/rbi/cadenya/models/agent_entry.rbi +41 -0
  57. data/rbi/cadenya/models/agent_list_params.rbi +22 -31
  58. data/rbi/cadenya/models/agent_publish_params.rbi +43 -0
  59. data/rbi/cadenya/models/agent_schedule_entry.rbi +52 -3
  60. data/rbi/cadenya/models/agent_spec.rbi +0 -41
  61. data/rbi/cadenya/models/agent_unarchive_params.rbi +43 -0
  62. data/rbi/cadenya/models/agent_unpublish_params.rbi +43 -0
  63. data/rbi/cadenya/models/agents/agent_schedule.rbi +54 -0
  64. data/rbi/cadenya/models/agents/agent_schedule_info.rbi +2 -2
  65. data/rbi/cadenya/models/agents/agent_schedule_spec.rbi +0 -59
  66. data/rbi/cadenya/models/agents/schedule_archive_params.rbi +53 -0
  67. data/rbi/cadenya/models/agents/schedule_pause_params.rbi +53 -0
  68. data/rbi/cadenya/models/agents/schedule_resume_params.rbi +53 -0
  69. data/rbi/cadenya/models/bulk_workspace_apply_data.rbi +12 -14
  70. data/rbi/cadenya/models/model.rbi +30 -0
  71. data/rbi/cadenya/models/model_disable_params.rbi +43 -0
  72. data/rbi/cadenya/models/model_enable_params.rbi +43 -0
  73. data/rbi/cadenya/models/model_list_params.rbi +20 -26
  74. data/rbi/cadenya/models/model_spec.rbi +3 -42
  75. data/rbi/cadenya/models/objective.rbi +172 -32
  76. data/rbi/cadenya/models/objective_config_snapshot.rbi +70 -0
  77. data/rbi/cadenya/models/objective_create_params.rbi +112 -6
  78. data/rbi/cadenya/models/objective_info.rbi +50 -56
  79. data/rbi/cadenya/models/objective_secret.rbi +26 -0
  80. data/rbi/cadenya/models/objectives/objective_tool_call.rbi +47 -57
  81. data/rbi/cadenya/models/profile_spec.rbi +2 -2
  82. data/rbi/cadenya/models/resource_metadata.rbi +14 -3
  83. data/rbi/cadenya/models/tool_entry.rbi +44 -3
  84. data/rbi/cadenya/models/tool_set.rbi +35 -0
  85. data/rbi/cadenya/models/tool_set_archive_params.rbi +43 -0
  86. data/rbi/cadenya/models/tool_set_list_params.rbi +44 -0
  87. data/rbi/cadenya/models/tool_set_unarchive_params.rbi +43 -0
  88. data/rbi/cadenya/models/tool_sets/tool.rbi +43 -0
  89. data/rbi/cadenya/models/tool_sets/tool_list_params.rbi +26 -27
  90. data/rbi/cadenya/models/tool_sets/tool_omit_params.rbi +50 -0
  91. data/rbi/cadenya/models/tool_sets/tool_restore_params.rbi +53 -0
  92. data/rbi/cadenya/models/tool_sets/tool_spec.rbi +3 -49
  93. data/rbi/cadenya/models.rbi +19 -7
  94. data/rbi/cadenya/resources/agents/schedules.rbi +70 -0
  95. data/rbi/cadenya/resources/agents.rbi +79 -3
  96. data/rbi/cadenya/resources/models.rbi +26 -10
  97. data/rbi/cadenya/resources/objectives.rbi +29 -1
  98. data/rbi/cadenya/resources/tool_sets/tools.rbi +46 -4
  99. data/rbi/cadenya/resources/tool_sets.rbi +44 -0
  100. data/sig/cadenya/models/agent.rbs +19 -0
  101. data/sig/cadenya/models/agent_archive_params.rbs +28 -0
  102. data/sig/cadenya/models/agent_entry.rbs +23 -0
  103. data/sig/cadenya/models/agent_list_params.rbs +15 -18
  104. data/sig/cadenya/models/agent_publish_params.rbs +28 -0
  105. data/sig/cadenya/models/agent_schedule_entry.rbs +26 -3
  106. data/sig/cadenya/models/agent_spec.rbs +0 -22
  107. data/sig/cadenya/models/agent_unarchive_params.rbs +28 -0
  108. data/sig/cadenya/models/agent_unpublish_params.rbs +28 -0
  109. data/sig/cadenya/models/agents/agent_schedule.rbs +19 -0
  110. data/sig/cadenya/models/agents/agent_schedule_spec.rbs +0 -26
  111. data/sig/cadenya/models/agents/schedule_archive_params.rbs +34 -0
  112. data/sig/cadenya/models/agents/schedule_pause_params.rbs +34 -0
  113. data/sig/cadenya/models/agents/schedule_resume_params.rbs +34 -0
  114. data/sig/cadenya/models/model.rbs +17 -0
  115. data/sig/cadenya/models/model_disable_params.rbs +28 -0
  116. data/sig/cadenya/models/model_enable_params.rbs +28 -0
  117. data/sig/cadenya/models/model_list_params.rbs +13 -16
  118. data/sig/cadenya/models/model_spec.rbs +3 -27
  119. data/sig/cadenya/models/objective.rbs +85 -15
  120. data/sig/cadenya/models/objective_config_snapshot.rbs +40 -0
  121. data/sig/cadenya/models/objective_create_params.rbs +45 -4
  122. data/sig/cadenya/models/objective_info.rbs +26 -38
  123. data/sig/cadenya/models/objective_secret.rbs +15 -0
  124. data/sig/cadenya/models/objectives/objective_tool_call.rbs +23 -27
  125. data/sig/cadenya/models/resource_metadata.rbs +10 -3
  126. data/sig/cadenya/models/tool_entry.rbs +26 -3
  127. data/sig/cadenya/models/tool_set.rbs +17 -0
  128. data/sig/cadenya/models/tool_set_archive_params.rbs +28 -0
  129. data/sig/cadenya/models/tool_set_list_params.rbs +22 -1
  130. data/sig/cadenya/models/tool_set_unarchive_params.rbs +28 -0
  131. data/sig/cadenya/models/tool_sets/tool.rbs +22 -0
  132. data/sig/cadenya/models/tool_sets/tool_list_params.rbs +18 -18
  133. data/sig/cadenya/models/tool_sets/tool_omit_params.rbs +34 -0
  134. data/sig/cadenya/models/tool_sets/tool_restore_params.rbs +34 -0
  135. data/sig/cadenya/models/tool_sets/tool_spec.rbs +2 -26
  136. data/sig/cadenya/models.rbs +19 -7
  137. data/sig/cadenya/resources/agents/schedules.rbs +21 -0
  138. data/sig/cadenya/resources/agents.rbs +25 -1
  139. data/sig/cadenya/resources/models.rbs +8 -3
  140. data/sig/cadenya/resources/objectives.rbs +4 -1
  141. data/sig/cadenya/resources/tool_sets/tools.rbs +15 -1
  142. data/sig/cadenya/resources/tool_sets.rbs +13 -0
  143. metadata +47 -14
  144. data/lib/cadenya/models/model_set_status_params.rb +0 -48
  145. data/lib/cadenya/models/objective_data.rb +0 -127
  146. data/lib/cadenya/models/objective_data_secret.rb +0 -21
  147. data/lib/cadenya/models/objective_status.rb +0 -37
  148. data/rbi/cadenya/models/model_set_status_params.rbi +0 -95
  149. data/rbi/cadenya/models/objective_data.rbi +0 -198
  150. data/rbi/cadenya/models/objective_data_secret.rbi +0 -32
  151. data/rbi/cadenya/models/objective_status.rbi +0 -75
  152. data/sig/cadenya/models/model_set_status_params.rbs +0 -55
  153. data/sig/cadenya/models/objective_data.rbs +0 -98
  154. data/sig/cadenya/models/objective_data_secret.rbs +0 -19
  155. data/sig/cadenya/models/objective_status.rbs +0 -47
@@ -19,14 +19,13 @@ module Cadenya
19
19
  optional :agents, -> { Cadenya::Internal::Type::HashOf[Cadenya::AgentEntry] }
20
20
 
21
21
  # @!attribute automatically_publish_agents
22
- # When true, every agent created or updated by this Apply has its status forced to
23
- # AGENT_STATUS_PUBLISHED, regardless of the status declared in the agent's
24
- # AgentSpec. Useful when the bundle represents a production configuration and you
25
- # want all of its agents live without setting status: AGENT_STATUS_PUBLISHED on
26
- # each entry.
22
+ # When true, every agent created or updated by this Apply has its state forced to
23
+ # STATE_PUBLISHED, regardless of the state declared on the agent's entry. Useful
24
+ # when the bundle represents a production configuration and you want all of its
25
+ # agents live without setting state: STATE_PUBLISHED on each entry.
27
26
  #
28
- # Default false: each agent's AgentSpec.status controls (which is
29
- # AGENT_STATUS_DRAFT on create when unspecified).
27
+ # Default false: each agent entry's `state` controls (which is STATE_DRAFT on
28
+ # create when unspecified).
30
29
  #
31
30
  # @return [Boolean, nil]
32
31
  optional :automatically_publish_agents,
@@ -17,6 +17,13 @@ module Cadenya
17
17
  required :spec, -> { Cadenya::ModelSpec }
18
18
 
19
19
  response_only do
20
+ # @!attribute state
21
+ # Whether the model is usable in this workspace. Output only. Use the :enable and
22
+ # :disable actions to transition.
23
+ #
24
+ # @return [Symbol, Cadenya::Models::Model::State]
25
+ required :state, enum: -> { Cadenya::Model::State }
26
+
20
27
  # @!attribute info
21
28
  # ModelInfo carries server-derived, read-only details about a model.
22
29
  #
@@ -24,7 +31,7 @@ module Cadenya
24
31
  optional :info, -> { Cadenya::Model::Info }
25
32
  end
26
33
 
27
- # @!method initialize(metadata:, spec:, info: nil)
34
+ # @!method initialize(metadata:, spec:, state:, info: nil)
28
35
  # Some parameter documentations has been truncated, see {Cadenya::Models::Model}
29
36
  # for more details.
30
37
  #
@@ -32,8 +39,25 @@ module Cadenya
32
39
  #
33
40
  # @param spec [Cadenya::Models::ModelSpec] Model specification
34
41
  #
42
+ # @param state [Symbol, Cadenya::Models::Model::State] Whether the model is usable in this workspace. Output only. Use the
43
+ #
35
44
  # @param info [Cadenya::Models::Model::Info] ModelInfo carries server-derived, read-only details about a model.
36
45
 
46
+ # Whether the model is usable in this workspace. Output only. Use the :enable and
47
+ # :disable actions to transition.
48
+ #
49
+ # @see Cadenya::Models::Model#state
50
+ module State
51
+ extend Cadenya::Internal::Type::Enum
52
+
53
+ STATE_UNSPECIFIED = :STATE_UNSPECIFIED
54
+ STATE_ENABLED = :STATE_ENABLED
55
+ STATE_DISABLED = :STATE_DISABLED
56
+
57
+ # @!method self.values
58
+ # @return [Array<Symbol>]
59
+ end
60
+
37
61
  # @see Cadenya::Models::Model#info
38
62
  class Info < Cadenya::Internal::Type::BaseModel
39
63
  response_only do
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ # @see Cadenya::Resources::Models#disable
6
+ class ModelDisableParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ # @!attribute workspace_id
11
+ #
12
+ # @return [String]
13
+ required :workspace_id, String
14
+
15
+ # @!attribute id
16
+ #
17
+ # @return [String]
18
+ required :id, String
19
+
20
+ # @!method initialize(workspace_id:, id:, request_options: {})
21
+ # @param workspace_id [String]
22
+ # @param id [String]
23
+ # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ # @see Cadenya::Resources::Models#enable
6
+ class ModelEnableParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ # @!attribute workspace_id
11
+ #
12
+ # @return [String]
13
+ required :workspace_id, String
14
+
15
+ # @!attribute id
16
+ #
17
+ # @return [String]
18
+ required :id, String
19
+
20
+ # @!method initialize(workspace_id:, id:, request_options: {})
21
+ # @param workspace_id [String]
22
+ # @param id [String]
23
+ # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -62,13 +62,13 @@ module Cadenya
62
62
  # @return [String, nil]
63
63
  optional :sort_order, String
64
64
 
65
- # @!attribute status
66
- # Filter by model status
65
+ # @!attribute state
66
+ # Filter by model state
67
67
  #
68
- # @return [Symbol, Cadenya::Models::ModelListParams::Status, nil]
69
- optional :status, enum: -> { Cadenya::ModelListParams::Status }
68
+ # @return [Symbol, Cadenya::Models::ModelListParams::State, nil]
69
+ optional :state, enum: -> { Cadenya::ModelListParams::State }
70
70
 
71
- # @!method initialize(workspace_id:, ai_provider_key_id: nil, bundle_key: nil, cursor: nil, include_info: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, status: nil, request_options: {})
71
+ # @!method initialize(workspace_id:, ai_provider_key_id: nil, bundle_key: nil, cursor: nil, include_info: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, state: nil, request_options: {})
72
72
  # Some parameter documentations has been truncated, see
73
73
  # {Cadenya::Models::ModelListParams} for more details.
74
74
  #
@@ -90,17 +90,17 @@ module Cadenya
90
90
  #
91
91
  # @param sort_order [String] Sort order for results (asc or desc by creation time)
92
92
  #
93
- # @param status [Symbol, Cadenya::Models::ModelListParams::Status] Filter by model status
93
+ # @param state [Symbol, Cadenya::Models::ModelListParams::State] Filter by model state
94
94
  #
95
95
  # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
96
96
 
97
- # Filter by model status
98
- module Status
97
+ # Filter by model state
98
+ module State
99
99
  extend Cadenya::Internal::Type::Enum
100
100
 
101
- MODEL_STATUS_UNSPECIFIED = :MODEL_STATUS_UNSPECIFIED
102
- MODEL_STATUS_ENABLED = :MODEL_STATUS_ENABLED
103
- MODEL_STATUS_DISABLED = :MODEL_STATUS_DISABLED
101
+ STATE_UNSPECIFIED = :STATE_UNSPECIFIED
102
+ STATE_ENABLED = :STATE_ENABLED
103
+ STATE_DISABLED = :STATE_DISABLED
104
104
 
105
105
  # @!method self.values
106
106
  # @return [Array<Symbol>]
@@ -39,13 +39,7 @@ module Cadenya
39
39
  # @return [String, nil]
40
40
  optional :provider, String
41
41
 
42
- # @!attribute status
43
- # The status of the model in the workspace
44
- #
45
- # @return [Symbol, Cadenya::Models::ModelSpec::Status, nil]
46
- optional :status, enum: -> { Cadenya::ModelSpec::Status }
47
-
48
- # @!method 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)
42
+ # @!method 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)
49
43
  # @param family [String] The model family (e.g., "claude-sonnet-4.6", "gpt-5.4", "gemini-2.5-flash")
50
44
  #
51
45
  # @param input_price_per_million_tokens [String] Cost per million input tokens in cents (e.g., 300 = $3.00)
@@ -57,22 +51,6 @@ module Cadenya
57
51
  # @param output_price_per_million_tokens [String] Cost per million output tokens in cents (e.g., 1500 = $15.00)
58
52
  #
59
53
  # @param provider [String] The model provider (e.g., "anthropic", "openai", "google")
60
- #
61
- # @param status [Symbol, Cadenya::Models::ModelSpec::Status] The status of the model in the workspace
62
-
63
- # The status of the model in the workspace
64
- #
65
- # @see Cadenya::Models::ModelSpec#status
66
- module Status
67
- extend Cadenya::Internal::Type::Enum
68
-
69
- MODEL_STATUS_UNSPECIFIED = :MODEL_STATUS_UNSPECIFIED
70
- MODEL_STATUS_ENABLED = :MODEL_STATUS_ENABLED
71
- MODEL_STATUS_DISABLED = :MODEL_STATUS_DISABLED
72
-
73
- # @!method self.values
74
- # @return [Array<Symbol>]
75
- end
76
54
  end
77
55
  end
78
56
  end
@@ -4,10 +4,12 @@ module Cadenya
4
4
  module Models
5
5
  # @see Cadenya::Resources::Objectives#create
6
6
  class Objective < Cadenya::Internal::Type::BaseModel
7
- # @!attribute data
7
+ # @!attribute initial_message
8
+ # The initial message sent to the agent. This becomes the first user message in
9
+ # the LLM chat history.
8
10
  #
9
- # @return [Cadenya::Models::ObjectiveData]
10
- required :data, -> { Cadenya::ObjectiveData }
11
+ # @return [String]
12
+ required :initial_message, String, api_name: :initialMessage
11
13
 
12
14
  # @!attribute metadata
13
15
  # Metadata for ephemeral operations and activities (e.g., objectives, executions,
@@ -16,12 +18,61 @@ module Cadenya
16
18
  # @return [Cadenya::Models::OperationMetadata]
17
19
  required :metadata, -> { Cadenya::OperationMetadata }
18
20
 
19
- # @!attribute status
21
+ # @!attribute memory_stack
22
+ # Memory layers/entries to push onto this objective's memory stack on top of the
23
+ # baseline stack inherited from the selected variation.
20
24
  #
21
- # @return [Cadenya::Models::ObjectiveStatus]
22
- required :status, -> { Cadenya::ObjectiveStatus }
25
+ # Array order is push order: the first element sits lower in the objective's
26
+ # contribution to the stack; the LAST element ends up on top of the effective
27
+ # stack. Entries pinned via memory_entry_id behave as single-entry layers at their
28
+ # position.
29
+ #
30
+ # System-managed layers (e.g., episodic) cannot be referenced here; they attach
31
+ # themselves automatically based on episodic_key.
32
+ #
33
+ # Stack size cap: the TOTAL effective stack (variation's memory layers
34
+ #
35
+ # - this field) must not exceed 10 entries. A request that would produce an
36
+ # effective stack larger than 10 is rejected with InvalidArgument.
37
+ #
38
+ # @return [Array<Cadenya::Models::MemoryReference>, nil]
39
+ optional :memory_stack,
40
+ -> { Cadenya::Internal::Type::ArrayOf[Cadenya::MemoryReference] },
41
+ api_name: :memoryStack
42
+
43
+ # @!attribute secrets
44
+ # Secrets that can be used in the headers for tool calls using the secret
45
+ # interpolation format.
46
+ #
47
+ # @return [Array<Cadenya::Models::ObjectiveSecret>, nil]
48
+ optional :secrets, -> { Cadenya::Internal::Type::ArrayOf[Cadenya::ObjectiveSecret] }
23
49
 
24
50
  response_only do
51
+ # @!attribute config_snapshot
52
+ # ObjectiveConfigSnapshot is the point-in-time snapshot of the agent, variation,
53
+ # and (when applicable) schedule that an objective was started with.
54
+ #
55
+ # @return [Cadenya::Models::ObjectiveConfigSnapshot]
56
+ required :config_snapshot, -> { Cadenya::ObjectiveConfigSnapshot }, api_name: :configSnapshot
57
+
58
+ # @!attribute state
59
+ # The current lifecycle state of the objective.
60
+ #
61
+ # @return [Symbol, Cadenya::Models::Objective::State]
62
+ required :state, enum: -> { Cadenya::Objective::State }
63
+
64
+ # @!attribute system_prompt
65
+ # system_prompt is read-only, derived from the selected variation's prompt
66
+ #
67
+ # @return [String]
68
+ required :system_prompt, String, api_name: :systemPrompt
69
+
70
+ # @!attribute data
71
+ # Arbitrary data for the objective
72
+ #
73
+ # @return [Hash{Symbol=>Object}, nil]
74
+ optional :data, Cadenya::Internal::Type::HashOf[Cadenya::Internal::Type::Unknown]
75
+
25
76
  # @!attribute info
26
77
  # ObjectiveInfo provides read-only aggregated statistics about an objective's
27
78
  # execution
@@ -29,30 +80,77 @@ module Cadenya
29
80
  # @return [Cadenya::Models::ObjectiveInfo, nil]
30
81
  optional :info, -> { Cadenya::ObjectiveInfo }
31
82
 
32
- # @!attribute last_five_windows
33
- # Read-only list of the last five windows of execution for this objective, ordered
34
- # by most recent first. Is only included in singular RPC calls (GetObjective, for
35
- # example).
83
+ # @!attribute output
84
+ # The output of the objective, populated when the objective completes. Will match
85
+ # the schema of output_json_schema or output_json_inferred. This will only be set
86
+ # if the state of the objective is set to STATE_FINALIZED
87
+ #
88
+ # @return [Hash{Symbol=>Object}, nil]
89
+ optional :output, Cadenya::Internal::Type::HashOf[Cadenya::Internal::Type::Unknown]
90
+
91
+ # @!attribute parent_objective_id
92
+ # A parent objective means the objective was spawned off using a separate agent to
93
+ # complete an objective
36
94
  #
37
- # @return [Array<Cadenya::Models::ObjectiveContextWindow>, nil]
38
- optional :last_five_windows,
39
- -> { Cadenya::Internal::Type::ArrayOf[Cadenya::ObjectiveContextWindow] },
40
- api_name: :lastFiveWindows
95
+ # @return [String, nil]
96
+ optional :parent_objective_id, String, api_name: :parentObjectiveId
97
+
98
+ # @!attribute state_message
99
+ # Optional human-readable detail about the current state (e.g. a failure reason).
100
+ #
101
+ # @return [String, nil]
102
+ optional :state_message, String, api_name: :stateMessage
41
103
  end
42
104
 
43
- # @!method initialize(data:, metadata:, status:, info: nil, last_five_windows: nil)
105
+ # @!method initialize(config_snapshot:, initial_message:, metadata:, state:, system_prompt:, data: nil, info: nil, memory_stack: nil, output: nil, parent_objective_id: nil, secrets: nil, state_message: nil)
44
106
  # Some parameter documentations has been truncated, see
45
107
  # {Cadenya::Models::Objective} for more details.
46
108
  #
47
- # @param data [Cadenya::Models::ObjectiveData]
109
+ # Objective is the data for an objective. It contains the snapshotted fields for
110
+ # the selected agent and variation. Secrets are returned only with their names,
111
+ # and the output definition is copied from the agent's configuration.
112
+ #
113
+ # @param config_snapshot [Cadenya::Models::ObjectiveConfigSnapshot] ObjectiveConfigSnapshot is the point-in-time snapshot of the agent, variation, a
114
+ #
115
+ # @param initial_message [String] The initial message sent to the agent. This becomes the first user message in th
48
116
  #
49
117
  # @param metadata [Cadenya::Models::OperationMetadata] Metadata for ephemeral operations and activities (e.g., objectives, executions,
50
118
  #
51
- # @param status [Cadenya::Models::ObjectiveStatus]
119
+ # @param state [Symbol, Cadenya::Models::Objective::State] The current lifecycle state of the objective.
120
+ #
121
+ # @param system_prompt [String] system_prompt is read-only, derived from the selected variation's prompt
122
+ #
123
+ # @param data [Hash{Symbol=>Object}] Arbitrary data for the objective
52
124
  #
53
125
  # @param info [Cadenya::Models::ObjectiveInfo] ObjectiveInfo provides read-only aggregated statistics about an objective's exec
54
126
  #
55
- # @param last_five_windows [Array<Cadenya::Models::ObjectiveContextWindow>] Read-only list of the last five windows of execution for this objective, ordered
127
+ # @param memory_stack [Array<Cadenya::Models::MemoryReference>] Memory layers/entries to push onto this objective's memory stack on
128
+ #
129
+ # @param output [Hash{Symbol=>Object}] The output of the objective, populated when the objective completes. Will match
130
+ #
131
+ # @param parent_objective_id [String] A parent objective means the objective was spawned off using a separate agent to
132
+ #
133
+ # @param secrets [Array<Cadenya::Models::ObjectiveSecret>] Secrets that can be used in the headers for tool calls using the secret interpol
134
+ #
135
+ # @param state_message [String] Optional human-readable detail about the current state (e.g. a failure reason).
136
+
137
+ # The current lifecycle state of the objective.
138
+ #
139
+ # @see Cadenya::Models::Objective#state
140
+ module State
141
+ extend Cadenya::Internal::Type::Enum
142
+
143
+ STATE_UNSPECIFIED = :STATE_UNSPECIFIED
144
+ STATE_PENDING = :STATE_PENDING
145
+ STATE_RUNNING = :STATE_RUNNING
146
+ STATE_WAITING = :STATE_WAITING
147
+ STATE_FAILED = :STATE_FAILED
148
+ STATE_CANCELLED = :STATE_CANCELLED
149
+ STATE_FINALIZED = :STATE_FINALIZED
150
+
151
+ # @!method self.values
152
+ # @return [Array<Symbol>]
153
+ end
56
154
  end
57
155
  end
58
156
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class ObjectiveConfigSnapshot < Cadenya::Internal::Type::BaseModel
6
+ # @!attribute agent
7
+ # Agent resource
8
+ #
9
+ # @return [Cadenya::Models::Agent, nil]
10
+ optional :agent, -> { Cadenya::Agent }
11
+
12
+ # @!attribute agent_schedule
13
+ # AgentSchedule resource — a recurring trigger attached to an agent that creates
14
+ # objectives on its cadence.
15
+ #
16
+ # @return [Cadenya::Models::Agents::AgentSchedule, nil]
17
+ optional :agent_schedule, -> { Cadenya::Agents::AgentSchedule }, api_name: :agentSchedule
18
+
19
+ # @!attribute agent_variation
20
+ # AgentVariation resource
21
+ #
22
+ # @return [Cadenya::Models::Agents::AgentVariation, nil]
23
+ optional :agent_variation, -> { Cadenya::Agents::AgentVariation }, api_name: :agentVariation
24
+
25
+ # @!method initialize(agent: nil, agent_schedule: nil, agent_variation: nil)
26
+ # Some parameter documentations has been truncated, see
27
+ # {Cadenya::Models::ObjectiveConfigSnapshot} for more details.
28
+ #
29
+ # ObjectiveConfigSnapshot is the point-in-time snapshot of the agent, variation,
30
+ # and (when applicable) schedule that an objective was started with.
31
+ #
32
+ # @param agent [Cadenya::Models::Agent] Agent resource
33
+ #
34
+ # @param agent_schedule [Cadenya::Models::Agents::AgentSchedule] AgentSchedule resource — a recurring trigger attached to an agent that
35
+ #
36
+ # @param agent_variation [Cadenya::Models::Agents::AgentVariation] AgentVariation resource
37
+ end
38
+ end
39
+ end
@@ -18,9 +18,41 @@ module Cadenya
18
18
  required :agent_id, String, api_name: :agentId
19
19
 
20
20
  # @!attribute data
21
+ # Arbitrary data for the objective. May be used in liquid templates for prompts
22
+ # configured on the agent variation
21
23
  #
22
- # @return [Cadenya::Models::ObjectiveData]
23
- required :data, -> { Cadenya::ObjectiveData }
24
+ # @return [Hash{Symbol=>Object}]
25
+ required :data, Cadenya::Internal::Type::HashOf[Cadenya::Internal::Type::Unknown]
26
+
27
+ # @!attribute initial_message
28
+ # Optional override for initial message sent to the agent. This becomes the first
29
+ # user message in the LLM chat history. The agent variation is used to set this if
30
+ # not present.
31
+ #
32
+ # @return [String, nil]
33
+ optional :initial_message, String, api_name: :initialMessage
34
+
35
+ # @!attribute memory_stack
36
+ # Memory layers/entries to push onto this objective's memory stack on top of the
37
+ # baseline stack inherited from the selected variation.
38
+ #
39
+ # Array order is push order: the first element sits lower in the objective's
40
+ # contribution to the stack; the LAST element ends up on top of the effective
41
+ # stack. Entries pinned via memory_entry_id behave as single-entry layers at their
42
+ # position.
43
+ #
44
+ # System-managed layers (e.g., episodic) cannot be referenced here; they attach
45
+ # themselves automatically based on episodic_key.
46
+ #
47
+ # Stack size cap: the TOTAL effective stack (variation's memory layers
48
+ #
49
+ # - this field) must not exceed 10 entries. A request that would produce an
50
+ # effective stack larger than 10 is rejected with InvalidArgument.
51
+ #
52
+ # @return [Array<Cadenya::Models::MemoryReference>, nil]
53
+ optional :memory_stack,
54
+ -> { Cadenya::Internal::Type::ArrayOf[Cadenya::MemoryReference] },
55
+ api_name: :memoryStack
24
56
 
25
57
  # @!attribute metadata
26
58
  # CreateOperationMetadata contains the user-provided fields for creating an
@@ -30,6 +62,13 @@ module Cadenya
30
62
  # @return [Cadenya::Models::CreateOperationMetadata, nil]
31
63
  optional :metadata, -> { Cadenya::CreateOperationMetadata }
32
64
 
65
+ # @!attribute secrets
66
+ # Secrets that can be used in the headers for tool calls using the secret
67
+ # interpolation format.
68
+ #
69
+ # @return [Array<Cadenya::Models::ObjectiveCreateParams::Secret>, nil]
70
+ optional :secrets, -> { Cadenya::Internal::Type::ArrayOf[Cadenya::ObjectiveCreateParams::Secret] }
71
+
33
72
  # @!attribute variation_id
34
73
  # Optional explicit variation selection. Overrides the agent's
35
74
  # variation_selection_mode.
@@ -37,7 +76,7 @@ module Cadenya
37
76
  # @return [String, nil]
38
77
  optional :variation_id, String, api_name: :variationId
39
78
 
40
- # @!method initialize(workspace_id:, agent_id:, data:, metadata: nil, variation_id: nil, request_options: {})
79
+ # @!method initialize(workspace_id:, agent_id:, data:, initial_message: nil, memory_stack: nil, metadata: nil, secrets: nil, variation_id: nil, request_options: {})
41
80
  # Some parameter documentations has been truncated, see
42
81
  # {Cadenya::Models::ObjectiveCreateParams} for more details.
43
82
  #
@@ -45,13 +84,35 @@ module Cadenya
45
84
  #
46
85
  # @param agent_id [String]
47
86
  #
48
- # @param data [Cadenya::Models::ObjectiveData]
87
+ # @param data [Hash{Symbol=>Object}] Arbitrary data for the objective. May be used in liquid templates for prompts co
88
+ #
89
+ # @param initial_message [String] Optional override for initial message sent to the agent. This becomes the first
90
+ #
91
+ # @param memory_stack [Array<Cadenya::Models::MemoryReference>] Memory layers/entries to push onto this objective's memory stack on
49
92
  #
50
93
  # @param metadata [Cadenya::Models::CreateOperationMetadata] CreateOperationMetadata contains the user-provided fields for creating
51
94
  #
95
+ # @param secrets [Array<Cadenya::Models::ObjectiveCreateParams::Secret>] Secrets that can be used in the headers for tool calls using the secret interpol
96
+ #
52
97
  # @param variation_id [String] Optional explicit variation selection. Overrides the agent's variation_selection
53
98
  #
54
99
  # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
100
+
101
+ class Secret < Cadenya::Internal::Type::BaseModel
102
+ # @!attribute name
103
+ #
104
+ # @return [String, nil]
105
+ optional :name, String
106
+
107
+ # @!attribute value
108
+ #
109
+ # @return [String, nil]
110
+ optional :value, String
111
+
112
+ # @!method initialize(name: nil, value: nil)
113
+ # @param name [String]
114
+ # @param value [String]
115
+ end
55
116
  end
56
117
  end
57
118
  end
@@ -3,72 +3,84 @@
3
3
  module Cadenya
4
4
  module Models
5
5
  class ObjectiveInfo < Cadenya::Internal::Type::BaseModel
6
- # @!attribute agent
7
- # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
8
- #
9
- # @return [Cadenya::Models::ResourceMetadata, nil]
10
- optional :agent, -> { Cadenya::ResourceMetadata }
11
-
12
- # @!attribute agent_variation
13
- # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
14
- #
15
- # @return [Cadenya::Models::ResourceMetadata, nil]
16
- optional :agent_variation, -> { Cadenya::ResourceMetadata }, api_name: :agentVariation
17
-
18
6
  # @!attribute created_by
19
7
  # A profile identifies a user or non-human principal (such as an API key) at the
20
8
  # account level. Profiles are account-scoped and can be granted access to multiple
21
9
  # workspaces.
22
10
  #
23
- # @return [Cadenya::Models::Profile, nil]
24
- optional :created_by, -> { Cadenya::Profile }, api_name: :createdBy
11
+ # @return [Cadenya::Models::Profile]
12
+ required :created_by, -> { Cadenya::Profile }, api_name: :createdBy
25
13
 
26
14
  response_only do
15
+ # @!attribute agent
16
+ # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
17
+ #
18
+ # @return [Cadenya::Models::ResourceMetadata]
19
+ required :agent, -> { Cadenya::ResourceMetadata }
20
+
21
+ # @!attribute agent_variation
22
+ # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
23
+ #
24
+ # @return [Cadenya::Models::ResourceMetadata]
25
+ required :agent_variation, -> { Cadenya::ResourceMetadata }, api_name: :agentVariation
26
+
27
+ # @!attribute current_context_window_id
28
+ # ID of the objective's current (most recent) context window. Hydrated on demand;
29
+ # empty when the objective has not yet produced a context window.
30
+ #
31
+ # @return [String]
32
+ required :current_context_window_id, String, api_name: :currentContextWindowId
33
+
27
34
  # @!attribute effective_memory_stack
28
35
  # The effective memory stack at objective creation time, flattened from the
29
- # variation's baseline plus ObjectiveData.memory_stack. Order is push order (last
30
- # = top). Returned on reads so clients can see exactly what stack the objective is
36
+ # variation's baseline plus Objective.memory_stack. Order is push order (last =
37
+ # top). Returned on reads so clients can see exactly what stack the objective is
31
38
  # using without having to re-join variation state.
32
39
  #
33
- # @return [Array<Cadenya::Models::MemoryReference>, nil]
34
- optional :effective_memory_stack,
40
+ # @return [Array<Cadenya::Models::MemoryReference>]
41
+ required :effective_memory_stack,
35
42
  -> { Cadenya::Internal::Type::ArrayOf[Cadenya::MemoryReference] },
36
43
  api_name: :effectiveMemoryStack
37
44
 
38
45
  # @!attribute total_context_windows
39
46
  # Total number of context windows that this objective has generated
40
47
  #
41
- # @return [Integer, nil]
42
- optional :total_context_windows, Integer, api_name: :totalContextWindows
48
+ # @return [Integer]
49
+ required :total_context_windows, Integer, api_name: :totalContextWindows
43
50
 
44
51
  # @!attribute total_events
45
52
  # Total number of events generated during this objective's execution
46
53
  #
47
- # @return [Integer, nil]
48
- optional :total_events, Integer, api_name: :totalEvents
54
+ # @return [Integer]
55
+ required :total_events, Integer, api_name: :totalEvents
49
56
 
50
57
  # @!attribute total_input_tokens
51
58
  # Total input tokens consumed across all LLM completions across all context
52
59
  # windows
53
60
  #
54
- # @return [Integer, nil]
55
- optional :total_input_tokens, Integer, api_name: :totalInputTokens
61
+ # @return [Integer]
62
+ required :total_input_tokens, Integer, api_name: :totalInputTokens
63
+
64
+ # @!attribute total_iterations
65
+ #
66
+ # @return [Integer]
67
+ required :total_iterations, Integer, api_name: :totalIterations
56
68
 
57
69
  # @!attribute total_output_tokens
58
70
  # Total output tokens generated across all LLM completions across all context
59
71
  # windows
60
72
  #
61
- # @return [Integer, nil]
62
- optional :total_output_tokens, Integer, api_name: :totalOutputTokens
73
+ # @return [Integer]
74
+ required :total_output_tokens, Integer, api_name: :totalOutputTokens
63
75
 
64
76
  # @!attribute total_tool_calls
65
77
  # Total number of tool calls made during execution
66
78
  #
67
- # @return [Integer, nil]
68
- optional :total_tool_calls, Integer, api_name: :totalToolCalls
79
+ # @return [Integer]
80
+ required :total_tool_calls, Integer, api_name: :totalToolCalls
69
81
  end
70
82
 
71
- # @!method initialize(agent: nil, agent_variation: nil, created_by: nil, effective_memory_stack: nil, total_context_windows: nil, total_events: nil, total_input_tokens: nil, total_output_tokens: nil, total_tool_calls: nil)
83
+ # @!method initialize(agent:, agent_variation:, created_by:, current_context_window_id:, effective_memory_stack:, total_context_windows:, total_events:, total_input_tokens:, total_iterations:, total_output_tokens:, total_tool_calls:)
72
84
  # Some parameter documentations has been truncated, see
73
85
  # {Cadenya::Models::ObjectiveInfo} for more details.
74
86
  #
@@ -81,6 +93,8 @@ module Cadenya
81
93
  #
82
94
  # @param created_by [Cadenya::Models::Profile] A profile identifies a user or non-human principal (such as an API key)
83
95
  #
96
+ # @param current_context_window_id [String] ID of the objective's current (most recent) context window. Hydrated on
97
+ #
84
98
  # @param effective_memory_stack [Array<Cadenya::Models::MemoryReference>] The effective memory stack at objective creation time, flattened
85
99
  #
86
100
  # @param total_context_windows [Integer] Total number of context windows that this objective has generated
@@ -89,6 +103,8 @@ module Cadenya
89
103
  #
90
104
  # @param total_input_tokens [Integer] Total input tokens consumed across all LLM completions across all context window
91
105
  #
106
+ # @param total_iterations [Integer]
107
+ #
92
108
  # @param total_output_tokens [Integer] Total output tokens generated across all LLM completions across all context wind
93
109
  #
94
110
  # @param total_tool_calls [Integer] Total number of tool calls made during execution