cadenya 0.26.0 → 0.27.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/cadenya/models/account_info.rb +13 -1
  5. data/lib/cadenya/models/account_rotate_challenge_token_params.rb +14 -0
  6. data/lib/cadenya/models/agents/webhook_delivery_data.rb +1 -0
  7. data/lib/cadenya/models/agents/webhook_delivery_list_params.rb +1 -0
  8. data/lib/cadenya/models/objective_continue_params.rb +1 -26
  9. data/lib/cadenya/models/objective_event_data.rb +63 -1
  10. data/lib/cadenya/models/rotate_challenge_token_response.rb +18 -0
  11. data/lib/cadenya/models/tool_set_adapter_mcp.rb +38 -1
  12. data/lib/cadenya/models/tool_sets/tool_info.rb +14 -1
  13. data/lib/cadenya/models.rb +4 -0
  14. data/lib/cadenya/resources/account.rb +19 -0
  15. data/lib/cadenya/resources/objectives.rb +1 -3
  16. data/lib/cadenya/version.rb +1 -1
  17. data/lib/cadenya.rb +2 -0
  18. data/rbi/cadenya/models/account_info.rbi +19 -0
  19. data/rbi/cadenya/models/account_rotate_challenge_token_params.rbi +30 -0
  20. data/rbi/cadenya/models/agents/webhook_delivery_data.rbi +5 -0
  21. data/rbi/cadenya/models/agents/webhook_delivery_list_params.rbi +5 -0
  22. data/rbi/cadenya/models/objective_continue_params.rbi +0 -49
  23. data/rbi/cadenya/models/objective_event_data.rbi +128 -0
  24. data/rbi/cadenya/models/rotate_challenge_token_response.rbi +30 -0
  25. data/rbi/cadenya/models/tool_set_adapter_mcp.rbi +69 -0
  26. data/rbi/cadenya/models/tool_sets/tool_info.rbi +17 -0
  27. data/rbi/cadenya/models.rbi +5 -0
  28. data/rbi/cadenya/resources/account.rbi +10 -0
  29. data/rbi/cadenya/resources/objectives.rbi +0 -5
  30. data/sig/cadenya/models/account_info.rbs +11 -1
  31. data/sig/cadenya/models/account_rotate_challenge_token_params.rbs +15 -0
  32. data/sig/cadenya/models/agents/webhook_delivery_data.rbs +2 -0
  33. data/sig/cadenya/models/agents/webhook_delivery_list_params.rbs +2 -0
  34. data/sig/cadenya/models/objective_continue_params.rbs +1 -26
  35. data/sig/cadenya/models/objective_event_data.rbs +56 -0
  36. data/sig/cadenya/models/rotate_challenge_token_response.rbs +15 -0
  37. data/sig/cadenya/models/tool_set_adapter_mcp.rbs +32 -0
  38. data/sig/cadenya/models/tool_sets/tool_info.rbs +11 -1
  39. data/sig/cadenya/models.rbs +4 -0
  40. data/sig/cadenya/resources/account.rbs +4 -0
  41. data/sig/cadenya/resources/objectives.rbs +0 -1
  42. metadata +8 -2
@@ -61,6 +61,17 @@ module Cadenya
61
61
  sig { params(memory_read: Cadenya::MemoryRead::OrHash).void }
62
62
  attr_writer :memory_read
63
63
 
64
+ # Notice is a non-terminal diagnostic emitted by the runtime when something
65
+ # noteworthy but non-fatal happens during an objective — for example a
66
+ # just-in-time tool set failing to load, or a previously loaded tool being dropped
67
+ # because it was archived. Notices carry no structured payload; they exist to make
68
+ # the objective timeline self-explanatory.
69
+ sig { returns(T.nilable(Cadenya::ObjectiveEventData::Notice)) }
70
+ attr_reader :notice
71
+
72
+ sig { params(notice: Cadenya::ObjectiveEventData::Notice::OrHash).void }
73
+ attr_writer :notice
74
+
64
75
  sig { returns(T.nilable(Cadenya::SubAgentSpawned)) }
65
76
  attr_reader :sub_agent_spawned
66
77
 
@@ -133,6 +144,7 @@ module Cadenya
133
144
  error: Cadenya::ObjectiveError::OrHash,
134
145
  finalized: Cadenya::ObjectiveEventData::Finalized::OrHash,
135
146
  memory_read: Cadenya::MemoryRead::OrHash,
147
+ notice: Cadenya::ObjectiveEventData::Notice::OrHash,
136
148
  sub_agent_spawned: Cadenya::SubAgentSpawned::OrHash,
137
149
  sub_agent_updated: Cadenya::SubAgentUpdated::OrHash,
138
150
  tool_approval_requested: Cadenya::ToolApprovalRequested::OrHash,
@@ -161,6 +173,12 @@ module Cadenya
161
173
  # cascade and loads an entry. Lookups that miss (key not found in any layer) do
162
174
  # not emit this event.
163
175
  memory_read: nil,
176
+ # Notice is a non-terminal diagnostic emitted by the runtime when something
177
+ # noteworthy but non-fatal happens during an objective — for example a
178
+ # just-in-time tool set failing to load, or a previously loaded tool being dropped
179
+ # because it was archived. Notices carry no structured payload; they exist to make
180
+ # the objective timeline self-explanatory.
181
+ notice: nil,
164
182
  sub_agent_spawned: nil,
165
183
  sub_agent_updated: nil,
166
184
  tool_approval_requested: nil,
@@ -183,6 +201,7 @@ module Cadenya
183
201
  error: Cadenya::ObjectiveError,
184
202
  finalized: Cadenya::ObjectiveEventData::Finalized,
185
203
  memory_read: Cadenya::MemoryRead,
204
+ notice: Cadenya::ObjectiveEventData::Notice,
186
205
  sub_agent_spawned: Cadenya::SubAgentSpawned,
187
206
  sub_agent_updated: Cadenya::SubAgentUpdated,
188
207
  tool_approval_requested: Cadenya::ToolApprovalRequested,
@@ -268,6 +287,115 @@ module Cadenya
268
287
  def to_hash
269
288
  end
270
289
  end
290
+
291
+ class Notice < Cadenya::Internal::Type::BaseModel
292
+ OrHash =
293
+ T.type_alias do
294
+ T.any(
295
+ Cadenya::ObjectiveEventData::Notice,
296
+ Cadenya::Internal::AnyHash
297
+ )
298
+ end
299
+
300
+ # Stable machine-readable identifier for the notice kind (for example
301
+ # "tool_set_load_failed", "tool_archived"). Clients can switch on it or use it as
302
+ # an i18n key; the message is the English fallback.
303
+ sig { returns(T.nilable(String)) }
304
+ attr_reader :key
305
+
306
+ sig { params(key: String).void }
307
+ attr_writer :key
308
+
309
+ sig do
310
+ returns(
311
+ T.nilable(Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol)
312
+ )
313
+ end
314
+ attr_reader :level
315
+
316
+ sig do
317
+ params(
318
+ level: Cadenya::ObjectiveEventData::Notice::Level::OrSymbol
319
+ ).void
320
+ end
321
+ attr_writer :level
322
+
323
+ # Human-readable description of what happened.
324
+ sig { returns(T.nilable(String)) }
325
+ attr_reader :message
326
+
327
+ sig { params(message: String).void }
328
+ attr_writer :message
329
+
330
+ # Notice is a non-terminal diagnostic emitted by the runtime when something
331
+ # noteworthy but non-fatal happens during an objective — for example a
332
+ # just-in-time tool set failing to load, or a previously loaded tool being dropped
333
+ # because it was archived. Notices carry no structured payload; they exist to make
334
+ # the objective timeline self-explanatory.
335
+ sig do
336
+ params(
337
+ key: String,
338
+ level: Cadenya::ObjectiveEventData::Notice::Level::OrSymbol,
339
+ message: String
340
+ ).returns(T.attached_class)
341
+ end
342
+ def self.new(
343
+ # Stable machine-readable identifier for the notice kind (for example
344
+ # "tool_set_load_failed", "tool_archived"). Clients can switch on it or use it as
345
+ # an i18n key; the message is the English fallback.
346
+ key: nil,
347
+ level: nil,
348
+ # Human-readable description of what happened.
349
+ message: nil
350
+ )
351
+ end
352
+
353
+ sig do
354
+ override.returns(
355
+ {
356
+ key: String,
357
+ level: Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol,
358
+ message: String
359
+ }
360
+ )
361
+ end
362
+ def to_hash
363
+ end
364
+
365
+ module Level
366
+ extend Cadenya::Internal::Type::Enum
367
+
368
+ TaggedSymbol =
369
+ T.type_alias do
370
+ T.all(Symbol, Cadenya::ObjectiveEventData::Notice::Level)
371
+ end
372
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
373
+
374
+ LEVEL_UNSPECIFIED =
375
+ T.let(
376
+ :LEVEL_UNSPECIFIED,
377
+ Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol
378
+ )
379
+ LEVEL_INFO =
380
+ T.let(
381
+ :LEVEL_INFO,
382
+ Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol
383
+ )
384
+ LEVEL_WARN =
385
+ T.let(
386
+ :LEVEL_WARN,
387
+ Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol
388
+ )
389
+
390
+ sig do
391
+ override.returns(
392
+ T::Array[Cadenya::ObjectiveEventData::Notice::Level::TaggedSymbol]
393
+ )
394
+ end
395
+ def self.values
396
+ end
397
+ end
398
+ end
271
399
  end
272
400
  end
273
401
  end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class RotateChallengeTokenResponse < Cadenya::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Cadenya::RotateChallengeTokenResponse,
10
+ Cadenya::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :challenge_token
16
+
17
+ sig { params(challenge_token: String).void }
18
+ attr_writer :challenge_token
19
+
20
+ # Response containing the newly generated challenge token.
21
+ sig { params(challenge_token: String).returns(T.attached_class) }
22
+ def self.new(challenge_token: nil)
23
+ end
24
+
25
+ sig { override.returns({ challenge_token: String }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -28,6 +28,17 @@ module Cadenya
28
28
  sig { params(include_tools: Cadenya::ToolFilter::OrHash).void }
29
29
  attr_writer :include_tools
30
30
 
31
+ # Defines behavior for just-in-time capable tool set adapters (IE: MCP).
32
+ sig { returns(T.nilable(Cadenya::ToolSetAdapterMcp::JustInTime)) }
33
+ attr_reader :just_in_time
34
+
35
+ sig do
36
+ params(
37
+ just_in_time: Cadenya::ToolSetAdapterMcp::JustInTime::OrHash
38
+ ).void
39
+ end
40
+ attr_writer :just_in_time
41
+
31
42
  # Approval filters that will automatically set the approval requirement on tools
32
43
  # synced from an external source
33
44
  sig { returns(T.nilable(Cadenya::ApprovalRequirementFilter)) }
@@ -49,6 +60,7 @@ module Cadenya
49
60
  exclude_tools: Cadenya::ToolFilter::OrHash,
50
61
  headers: T::Hash[Symbol, String],
51
62
  include_tools: Cadenya::ToolFilter::OrHash,
63
+ just_in_time: Cadenya::ToolSetAdapterMcp::JustInTime::OrHash,
52
64
  tool_approvals: Cadenya::ApprovalRequirementFilter::OrHash,
53
65
  url: String
54
66
  ).returns(T.attached_class)
@@ -59,6 +71,8 @@ module Cadenya
59
71
  headers: nil,
60
72
  # Top-level filter with simple boolean logic (no nesting)
61
73
  include_tools: nil,
74
+ # Defines behavior for just-in-time capable tool set adapters (IE: MCP).
75
+ just_in_time: nil,
62
76
  # Approval filters that will automatically set the approval requirement on tools
63
77
  # synced from an external source
64
78
  tool_approvals: nil,
@@ -72,6 +86,7 @@ module Cadenya
72
86
  exclude_tools: Cadenya::ToolFilter,
73
87
  headers: T::Hash[Symbol, String],
74
88
  include_tools: Cadenya::ToolFilter,
89
+ just_in_time: Cadenya::ToolSetAdapterMcp::JustInTime,
75
90
  tool_approvals: Cadenya::ApprovalRequirementFilter,
76
91
  url: String
77
92
  }
@@ -79,6 +94,60 @@ module Cadenya
79
94
  end
80
95
  def to_hash
81
96
  end
97
+
98
+ class JustInTime < Cadenya::Internal::Type::BaseModel
99
+ OrHash =
100
+ T.type_alias do
101
+ T.any(
102
+ Cadenya::ToolSetAdapterMcp::JustInTime,
103
+ Cadenya::Internal::AnyHash
104
+ )
105
+ end
106
+
107
+ sig { returns(T.nilable(T::Boolean)) }
108
+ attr_reader :enabled
109
+
110
+ sig { params(enabled: T::Boolean).void }
111
+ attr_writer :enabled
112
+
113
+ # If set, an objective will automatically be failed if tools cannot be loaded in
114
+ # the initial stages of an objective being created. Tools are loaded
115
+ # asynchronously, so this setting is useful for ensuring that an objective
116
+ # continued any further if tools are not available.
117
+ sig { returns(T.nilable(T::Boolean)) }
118
+ attr_reader :fail_objective_on_tool_list_error
119
+
120
+ sig { params(fail_objective_on_tool_list_error: T::Boolean).void }
121
+ attr_writer :fail_objective_on_tool_list_error
122
+
123
+ # Defines behavior for just-in-time capable tool set adapters (IE: MCP).
124
+ sig do
125
+ params(
126
+ enabled: T::Boolean,
127
+ fail_objective_on_tool_list_error: T::Boolean
128
+ ).returns(T.attached_class)
129
+ end
130
+ def self.new(
131
+ enabled: nil,
132
+ # If set, an objective will automatically be failed if tools cannot be loaded in
133
+ # the initial stages of an objective being created. Tools are loaded
134
+ # asynchronously, so this setting is useful for ensuring that an objective
135
+ # continued any further if tools are not available.
136
+ fail_objective_on_tool_list_error: nil
137
+ )
138
+ end
139
+
140
+ sig do
141
+ override.returns(
142
+ {
143
+ enabled: T::Boolean,
144
+ fail_objective_on_tool_list_error: T::Boolean
145
+ }
146
+ )
147
+ end
148
+ def to_hash
149
+ end
150
+ end
82
151
  end
83
152
  end
84
153
  end
@@ -25,9 +25,20 @@ module Cadenya
25
25
  sig { params(tool_set: Cadenya::ResourceMetadata::OrHash).void }
26
26
  attr_writer :tool_set
27
27
 
28
+ # Content signature identifying the tool within its tool set: a hash of the
29
+ # sanitized llm_tool_name, description, and canonical parameters. Two tools with
30
+ # the same llm_tool_name but different parameters or description (as MCP servers
31
+ # may return per user) have distinct signatures.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :signature
34
+
35
+ sig { params(signature: String).void }
36
+ attr_writer :signature
37
+
28
38
  sig do
29
39
  params(
30
40
  created_by: Cadenya::Profile::OrHash,
41
+ signature: String,
31
42
  tool_set: Cadenya::ResourceMetadata::OrHash
32
43
  ).returns(T.attached_class)
33
44
  end
@@ -36,6 +47,11 @@ module Cadenya
36
47
  # account level. Profiles are account-scoped and can be granted access to multiple
37
48
  # workspaces.
38
49
  created_by: nil,
50
+ # Content signature identifying the tool within its tool set: a hash of the
51
+ # sanitized llm_tool_name, description, and canonical parameters. Two tools with
52
+ # the same llm_tool_name but different parameters or description (as MCP servers
53
+ # may return per user) have distinct signatures.
54
+ signature: nil,
39
55
  # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
40
56
  tool_set: nil
41
57
  )
@@ -45,6 +61,7 @@ module Cadenya
45
61
  override.returns(
46
62
  {
47
63
  created_by: Cadenya::Profile,
64
+ signature: String,
48
65
  tool_set: Cadenya::ResourceMetadata
49
66
  }
50
67
  )
@@ -9,6 +9,9 @@ module Cadenya
9
9
 
10
10
  AccountRetrieveParams = Cadenya::Models::AccountRetrieveParams
11
11
 
12
+ AccountRotateChallengeTokenParams =
13
+ Cadenya::Models::AccountRotateChallengeTokenParams
14
+
12
15
  AccountRotateWebhookSigningKeyParams =
13
16
  Cadenya::Models::AccountRotateWebhookSigningKeyParams
14
17
 
@@ -183,6 +186,8 @@ module Cadenya
183
186
 
184
187
  ResourceMetadata = Cadenya::Models::ResourceMetadata
185
188
 
189
+ RotateChallengeTokenResponse = Cadenya::Models::RotateChallengeTokenResponse
190
+
186
191
  RotateWebhookSigningKeyResponse =
187
192
  Cadenya::Models::RotateWebhookSigningKeyResponse
188
193
 
@@ -15,6 +15,16 @@ module Cadenya
15
15
  def retrieve(request_options: {})
16
16
  end
17
17
 
18
+ # Rotates the challenge token sent in the X-Cadenya-Challenge-Token header on MCP
19
+ # tools/list requests. Returns only the new token.
20
+ sig do
21
+ params(request_options: Cadenya::RequestOptions::OrHash).returns(
22
+ Cadenya::RotateChallengeTokenResponse
23
+ )
24
+ end
25
+ def rotate_challenge_token(request_options: {})
26
+ end
27
+
18
28
  # Rotates the webhook signing key for the account. Returns only the new key.
19
29
  sig do
20
30
  params(request_options: Cadenya::RequestOptions::OrHash).returns(
@@ -182,7 +182,6 @@ module Cadenya
182
182
  workspace_id: String,
183
183
  enqueue: T::Boolean,
184
184
  message: String,
185
- secrets: T::Array[Cadenya::ObjectiveContinueParams::Secret::OrHash],
186
185
  request_options: Cadenya::RequestOptions::OrHash
187
186
  ).returns(Cadenya::ObjectiveEvent)
188
187
  end
@@ -199,10 +198,6 @@ module Cadenya
199
198
  # Body param: The message to continue an objective that has completed (or you are
200
199
  # enqueing)
201
200
  message: nil,
202
- # Body param: Secrets that should be included with the message. Helpful for when
203
- # you need to update secrets on the objective (IE: A secret expires and needs to
204
- # be refreshed)
205
- secrets: nil,
206
201
  request_options: {}
207
202
  )
208
203
  end
@@ -1,9 +1,17 @@
1
1
  module Cadenya
2
2
  module Models
3
3
  type account_info =
4
- { global_api_key: Cadenya::APIKey, webhook_events_hmac_secret: String }
4
+ {
5
+ challenge_token: String,
6
+ global_api_key: Cadenya::APIKey,
7
+ webhook_events_hmac_secret: String
8
+ }
5
9
 
6
10
  class AccountInfo < Cadenya::Internal::Type::BaseModel
11
+ attr_reader challenge_token: String?
12
+
13
+ def challenge_token=: (String) -> String
14
+
7
15
  attr_reader global_api_key: Cadenya::APIKey?
8
16
 
9
17
  def global_api_key=: (Cadenya::APIKey) -> Cadenya::APIKey
@@ -13,11 +21,13 @@ module Cadenya
13
21
  def webhook_events_hmac_secret=: (String) -> String
14
22
 
15
23
  def initialize: (
24
+ ?challenge_token: String,
16
25
  ?global_api_key: Cadenya::APIKey,
17
26
  ?webhook_events_hmac_secret: String
18
27
  ) -> void
19
28
 
20
29
  def to_hash: -> {
30
+ challenge_token: String,
21
31
  global_api_key: Cadenya::APIKey,
22
32
  webhook_events_hmac_secret: String
23
33
  }
@@ -0,0 +1,15 @@
1
+ module Cadenya
2
+ module Models
3
+ type account_rotate_challenge_token_params =
4
+ { } & Cadenya::Internal::Type::request_parameters
5
+
6
+ class AccountRotateChallengeTokenParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Cadenya::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Cadenya::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -105,6 +105,7 @@ module Cadenya
105
105
  | :OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
106
106
  | :OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
107
107
  | :OBJECTIVE_EVENT_TYPE_FINALIZED
108
+ | :OBJECTIVE_EVENT_TYPE_NOTICE
108
109
 
109
110
  module EventType
110
111
  extend Cadenya::Internal::Type::Enum
@@ -125,6 +126,7 @@ module Cadenya
125
126
  OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED: :OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
126
127
  OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED: :OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
127
128
  OBJECTIVE_EVENT_TYPE_FINALIZED: :OBJECTIVE_EVENT_TYPE_FINALIZED
129
+ OBJECTIVE_EVENT_TYPE_NOTICE: :OBJECTIVE_EVENT_TYPE_NOTICE
128
130
 
129
131
  def self?.values: -> ::Array[Cadenya::Models::Agents::WebhookDeliveryData::event_type]
130
132
  end
@@ -75,6 +75,7 @@ module Cadenya
75
75
  | :OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
76
76
  | :OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
77
77
  | :OBJECTIVE_EVENT_TYPE_FINALIZED
78
+ | :OBJECTIVE_EVENT_TYPE_NOTICE
78
79
 
79
80
  module EventType
80
81
  extend Cadenya::Internal::Type::Enum
@@ -95,6 +96,7 @@ module Cadenya
95
96
  OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED: :OBJECTIVE_EVENT_TYPE_SUB_AGENT_SPAWNED
96
97
  OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED: :OBJECTIVE_EVENT_TYPE_SUB_AGENT_UPDATED
97
98
  OBJECTIVE_EVENT_TYPE_FINALIZED: :OBJECTIVE_EVENT_TYPE_FINALIZED
99
+ OBJECTIVE_EVENT_TYPE_NOTICE: :OBJECTIVE_EVENT_TYPE_NOTICE
98
100
 
99
101
  def self?.values: -> ::Array[Cadenya::Models::Agents::WebhookDeliveryListParams::event_type]
100
102
  end
@@ -5,8 +5,7 @@ module Cadenya
5
5
  workspace_id: String,
6
6
  objective_id: String,
7
7
  enqueue: bool,
8
- message: String,
9
- secrets: ::Array[Cadenya::ObjectiveContinueParams::Secret]
8
+ message: String
10
9
  }
11
10
  & Cadenya::Internal::Type::request_parameters
12
11
 
@@ -26,18 +25,11 @@ module Cadenya
26
25
 
27
26
  def message=: (String) -> String
28
27
 
29
- attr_reader secrets: ::Array[Cadenya::ObjectiveContinueParams::Secret]?
30
-
31
- def secrets=: (
32
- ::Array[Cadenya::ObjectiveContinueParams::Secret]
33
- ) -> ::Array[Cadenya::ObjectiveContinueParams::Secret]
34
-
35
28
  def initialize: (
36
29
  workspace_id: String,
37
30
  objective_id: String,
38
31
  ?enqueue: bool,
39
32
  ?message: String,
40
- ?secrets: ::Array[Cadenya::ObjectiveContinueParams::Secret],
41
33
  ?request_options: Cadenya::request_opts
42
34
  ) -> void
43
35
 
@@ -46,25 +38,8 @@ module Cadenya
46
38
  objective_id: String,
47
39
  enqueue: bool,
48
40
  message: String,
49
- secrets: ::Array[Cadenya::ObjectiveContinueParams::Secret],
50
41
  request_options: Cadenya::RequestOptions
51
42
  }
52
-
53
- type secret = { name: String, value: String }
54
-
55
- class Secret < Cadenya::Internal::Type::BaseModel
56
- attr_reader name: String?
57
-
58
- def name=: (String) -> String
59
-
60
- attr_reader value: String?
61
-
62
- def value=: (String) -> String
63
-
64
- def initialize: (?name: String, ?value: String) -> void
65
-
66
- def to_hash: -> { name: String, value: String }
67
- end
68
43
  end
69
44
  end
70
45
  end
@@ -8,6 +8,7 @@ module Cadenya
8
8
  error: Cadenya::ObjectiveError,
9
9
  finalized: Cadenya::ObjectiveEventData::Finalized,
10
10
  memory_read: Cadenya::MemoryRead,
11
+ notice: Cadenya::ObjectiveEventData::Notice,
11
12
  sub_agent_spawned: Cadenya::SubAgentSpawned,
12
13
  sub_agent_updated: Cadenya::SubAgentUpdated,
13
14
  tool_approval_requested: Cadenya::ToolApprovalRequested,
@@ -53,6 +54,12 @@ module Cadenya
53
54
 
54
55
  def memory_read=: (Cadenya::MemoryRead) -> Cadenya::MemoryRead
55
56
 
57
+ attr_reader notice: Cadenya::ObjectiveEventData::Notice?
58
+
59
+ def notice=: (
60
+ Cadenya::ObjectiveEventData::Notice
61
+ ) -> Cadenya::ObjectiveEventData::Notice
62
+
56
63
  attr_reader sub_agent_spawned: Cadenya::SubAgentSpawned?
57
64
 
58
65
  def sub_agent_spawned=: (
@@ -106,6 +113,7 @@ module Cadenya
106
113
  ?error: Cadenya::ObjectiveError,
107
114
  ?finalized: Cadenya::ObjectiveEventData::Finalized,
108
115
  ?memory_read: Cadenya::MemoryRead,
116
+ ?notice: Cadenya::ObjectiveEventData::Notice,
109
117
  ?sub_agent_spawned: Cadenya::SubAgentSpawned,
110
118
  ?sub_agent_updated: Cadenya::SubAgentUpdated,
111
119
  ?tool_approval_requested: Cadenya::ToolApprovalRequested,
@@ -125,6 +133,7 @@ module Cadenya
125
133
  error: Cadenya::ObjectiveError,
126
134
  finalized: Cadenya::ObjectiveEventData::Finalized,
127
135
  memory_read: Cadenya::MemoryRead,
136
+ notice: Cadenya::ObjectiveEventData::Notice,
128
137
  sub_agent_spawned: Cadenya::SubAgentSpawned,
129
138
  sub_agent_updated: Cadenya::SubAgentUpdated,
130
139
  tool_approval_requested: Cadenya::ToolApprovalRequested,
@@ -160,6 +169,53 @@ module Cadenya
160
169
 
161
170
  def to_hash: -> { output: top }
162
171
  end
172
+
173
+ type notice =
174
+ {
175
+ key: String,
176
+ level: Cadenya::Models::ObjectiveEventData::Notice::level,
177
+ message: String
178
+ }
179
+
180
+ class Notice < Cadenya::Internal::Type::BaseModel
181
+ attr_reader key: String?
182
+
183
+ def key=: (String) -> String
184
+
185
+ attr_reader level: Cadenya::Models::ObjectiveEventData::Notice::level?
186
+
187
+ def level=: (
188
+ Cadenya::Models::ObjectiveEventData::Notice::level
189
+ ) -> Cadenya::Models::ObjectiveEventData::Notice::level
190
+
191
+ attr_reader message: String?
192
+
193
+ def message=: (String) -> String
194
+
195
+ def initialize: (
196
+ ?key: String,
197
+ ?level: Cadenya::Models::ObjectiveEventData::Notice::level,
198
+ ?message: String
199
+ ) -> void
200
+
201
+ def to_hash: -> {
202
+ key: String,
203
+ level: Cadenya::Models::ObjectiveEventData::Notice::level,
204
+ message: String
205
+ }
206
+
207
+ type level = :LEVEL_UNSPECIFIED | :LEVEL_INFO | :LEVEL_WARN
208
+
209
+ module Level
210
+ extend Cadenya::Internal::Type::Enum
211
+
212
+ LEVEL_UNSPECIFIED: :LEVEL_UNSPECIFIED
213
+ LEVEL_INFO: :LEVEL_INFO
214
+ LEVEL_WARN: :LEVEL_WARN
215
+
216
+ def self?.values: -> ::Array[Cadenya::Models::ObjectiveEventData::Notice::level]
217
+ end
218
+ end
163
219
  end
164
220
  end
165
221
  end
@@ -0,0 +1,15 @@
1
+ module Cadenya
2
+ module Models
3
+ type rotate_challenge_token_response = { challenge_token: String }
4
+
5
+ class RotateChallengeTokenResponse < Cadenya::Internal::Type::BaseModel
6
+ attr_reader challenge_token: String?
7
+
8
+ def challenge_token=: (String) -> String
9
+
10
+ def initialize: (?challenge_token: String) -> void
11
+
12
+ def to_hash: -> { challenge_token: String }
13
+ end
14
+ end
15
+ end