cadenya 0.16.0 → 0.18.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/cadenya/models/ai_provider_key.rb +17 -3
  5. data/lib/cadenya/models/ai_provider_key_list_params.rb +11 -1
  6. data/lib/cadenya/models/model.rb +13 -23
  7. data/lib/cadenya/models/model_list_params.rb +11 -1
  8. data/lib/cadenya/models/model_swap_params.rb +11 -1
  9. data/lib/cadenya/models/objectives/objective_tool_call_data.rb +11 -1
  10. data/lib/cadenya/models/objectives/objective_tool_call_info.rb +27 -1
  11. data/lib/cadenya/models/objectives/objective_tool_call_with_result.rb +11 -1
  12. data/lib/cadenya/models/objectives/resolved_secret.rb +43 -0
  13. data/lib/cadenya/models/tool_sets/secret_create_params.rb +50 -0
  14. data/lib/cadenya/models/tool_sets/secret_delete_params.rb +34 -0
  15. data/lib/cadenya/models/tool_sets/secret_list_params.rb +86 -0
  16. data/lib/cadenya/models/tool_sets/secret_retrieve_params.rb +34 -0
  17. data/lib/cadenya/models/tool_sets/secret_update_params.rb +65 -0
  18. data/lib/cadenya/models/tool_sets/tool_set_secret.rb +41 -0
  19. data/lib/cadenya/models/tool_sets/tool_set_secret_info.rb +34 -0
  20. data/lib/cadenya/models/tool_sets/tool_set_secret_spec.rb +19 -0
  21. data/lib/cadenya/resources/ai_provider_keys.rb +3 -1
  22. data/lib/cadenya/resources/models.rb +4 -1
  23. data/lib/cadenya/resources/tool_sets/secrets.rb +224 -0
  24. data/lib/cadenya/resources/tool_sets.rb +9 -0
  25. data/lib/cadenya/version.rb +1 -1
  26. data/lib/cadenya.rb +10 -0
  27. data/rbi/cadenya/models/ai_provider_key.rbi +23 -5
  28. data/rbi/cadenya/models/ai_provider_key_list_params.rbi +15 -0
  29. data/rbi/cadenya/models/model.rbi +21 -43
  30. data/rbi/cadenya/models/model_list_params.rbi +15 -0
  31. data/rbi/cadenya/models/model_swap_params.rbi +21 -4
  32. data/rbi/cadenya/models/objectives/objective_tool_call_data.rbi +19 -0
  33. data/rbi/cadenya/models/objectives/objective_tool_call_info.rbi +45 -3
  34. data/rbi/cadenya/models/objectives/objective_tool_call_with_result.rbi +19 -0
  35. data/rbi/cadenya/models/objectives/resolved_secret.rbi +104 -0
  36. data/rbi/cadenya/models/tool_sets/secret_create_params.rbi +76 -0
  37. data/rbi/cadenya/models/tool_sets/secret_delete_params.rbi +53 -0
  38. data/rbi/cadenya/models/tool_sets/secret_list_params.rbi +129 -0
  39. data/rbi/cadenya/models/tool_sets/secret_retrieve_params.rbi +53 -0
  40. data/rbi/cadenya/models/tool_sets/secret_update_params.rbi +93 -0
  41. data/rbi/cadenya/models/tool_sets/tool_set_secret.rbi +64 -0
  42. data/rbi/cadenya/models/tool_sets/tool_set_secret_info.rbi +55 -0
  43. data/rbi/cadenya/models/tool_sets/tool_set_secret_spec.rbi +33 -0
  44. data/rbi/cadenya/resources/ai_provider_keys.rbi +5 -0
  45. data/rbi/cadenya/resources/models.rbi +5 -0
  46. data/rbi/cadenya/resources/tool_sets/secrets.rbi +164 -0
  47. data/rbi/cadenya/resources/tool_sets.rbi +8 -0
  48. data/sig/cadenya/models/ai_provider_key.rbs +13 -3
  49. data/sig/cadenya/models/ai_provider_key_list_params.rbs +7 -0
  50. data/sig/cadenya/models/model.rbs +10 -25
  51. data/sig/cadenya/models/model_list_params.rbs +7 -0
  52. data/sig/cadenya/models/model_swap_params.rbs +16 -2
  53. data/sig/cadenya/models/objectives/objective_tool_call_data.rbs +9 -0
  54. data/sig/cadenya/models/objectives/objective_tool_call_info.rbs +20 -3
  55. data/sig/cadenya/models/objectives/objective_tool_call_with_result.rbs +9 -0
  56. data/sig/cadenya/models/objectives/resolved_secret.rbs +50 -0
  57. data/sig/cadenya/models/tool_sets/secret_create_params.rbs +43 -0
  58. data/sig/cadenya/models/tool_sets/secret_delete_params.rbs +34 -0
  59. data/sig/cadenya/models/tool_sets/secret_list_params.rbs +82 -0
  60. data/sig/cadenya/models/tool_sets/secret_retrieve_params.rbs +34 -0
  61. data/sig/cadenya/models/tool_sets/secret_update_params.rbs +63 -0
  62. data/sig/cadenya/models/tool_sets/tool_set_secret.rbs +38 -0
  63. data/sig/cadenya/models/tool_sets/tool_set_secret_info.rbs +27 -0
  64. data/sig/cadenya/models/tool_sets/tool_set_secret_spec.rbs +19 -0
  65. data/sig/cadenya/resources/ai_provider_keys.rbs +1 -0
  66. data/sig/cadenya/resources/models.rbs +1 -0
  67. data/sig/cadenya/resources/tool_sets/secrets.rbs +54 -0
  68. data/sig/cadenya/resources/tool_sets.rbs +2 -0
  69. metadata +32 -2
@@ -0,0 +1,93 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module ToolSets
6
+ class SecretUpdateParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Cadenya::ToolSets::SecretUpdateParams,
14
+ Cadenya::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :tool_set_id
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :id
26
+
27
+ # UpdateResourceMetadata contains the user-provided fields for updating a
28
+ # workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
29
+ # profile_id, created_at) are excluded since they are set by the server.
30
+ sig { returns(T.nilable(Cadenya::UpdateResourceMetadata)) }
31
+ attr_reader :metadata
32
+
33
+ sig { params(metadata: Cadenya::UpdateResourceMetadata::OrHash).void }
34
+ attr_writer :metadata
35
+
36
+ sig { returns(T.nilable(Cadenya::ToolSets::ToolSetSecretSpec)) }
37
+ attr_reader :spec
38
+
39
+ sig { params(spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash).void }
40
+ attr_writer :spec
41
+
42
+ # Fields to update.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :update_mask
45
+
46
+ sig { params(update_mask: String).void }
47
+ attr_writer :update_mask
48
+
49
+ sig do
50
+ params(
51
+ workspace_id: String,
52
+ tool_set_id: String,
53
+ id: String,
54
+ metadata: Cadenya::UpdateResourceMetadata::OrHash,
55
+ spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash,
56
+ update_mask: String,
57
+ request_options: Cadenya::RequestOptions::OrHash
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ workspace_id:,
62
+ tool_set_id:,
63
+ id:,
64
+ # UpdateResourceMetadata contains the user-provided fields for updating a
65
+ # workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
66
+ # profile_id, created_at) are excluded since they are set by the server.
67
+ metadata: nil,
68
+ spec: nil,
69
+ # Fields to update.
70
+ update_mask: nil,
71
+ request_options: {}
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ workspace_id: String,
79
+ tool_set_id: String,
80
+ id: String,
81
+ metadata: Cadenya::UpdateResourceMetadata,
82
+ spec: Cadenya::ToolSets::ToolSetSecretSpec,
83
+ update_mask: String,
84
+ request_options: Cadenya::RequestOptions
85
+ }
86
+ )
87
+ end
88
+ def to_hash
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,64 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ ToolSetSecret = ToolSets::ToolSetSecret
6
+
7
+ module ToolSets
8
+ class ToolSetSecret < Cadenya::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Cadenya::ToolSets::ToolSetSecret, Cadenya::Internal::AnyHash)
12
+ end
13
+
14
+ # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
15
+ sig { returns(Cadenya::ResourceMetadata) }
16
+ attr_reader :metadata
17
+
18
+ sig { params(metadata: Cadenya::ResourceMetadata::OrHash).void }
19
+ attr_writer :metadata
20
+
21
+ sig { returns(Cadenya::ToolSets::ToolSetSecretSpec) }
22
+ attr_reader :spec
23
+
24
+ sig { params(spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash).void }
25
+ attr_writer :spec
26
+
27
+ # Tool set secret information
28
+ sig { returns(T.nilable(Cadenya::ToolSets::ToolSetSecretInfo)) }
29
+ attr_reader :info
30
+
31
+ sig { params(info: Cadenya::ToolSets::ToolSetSecretInfo::OrHash).void }
32
+ attr_writer :info
33
+
34
+ sig do
35
+ params(
36
+ metadata: Cadenya::ResourceMetadata::OrHash,
37
+ spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash,
38
+ info: Cadenya::ToolSets::ToolSetSecretInfo::OrHash
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
43
+ metadata:,
44
+ spec:,
45
+ # Tool set secret information
46
+ info: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ metadata: Cadenya::ResourceMetadata,
54
+ spec: Cadenya::ToolSets::ToolSetSecretSpec,
55
+ info: Cadenya::ToolSets::ToolSetSecretInfo
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ ToolSetSecretInfo = ToolSets::ToolSetSecretInfo
6
+
7
+ module ToolSets
8
+ class ToolSetSecretInfo < Cadenya::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Cadenya::ToolSets::ToolSetSecretInfo,
13
+ Cadenya::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # A profile identifies a user or non-human principal (such as an API key) at the
18
+ # account level. Profiles are account-scoped and can be granted access to multiple
19
+ # workspaces.
20
+ sig { returns(T.nilable(Cadenya::Profile)) }
21
+ attr_reader :created_by
22
+
23
+ sig { params(created_by: Cadenya::Profile::OrHash).void }
24
+ attr_writer :created_by
25
+
26
+ sig { returns(T.nilable(Time)) }
27
+ attr_reader :last_used_at
28
+
29
+ sig { params(last_used_at: Time).void }
30
+ attr_writer :last_used_at
31
+
32
+ sig do
33
+ params(
34
+ created_by: Cadenya::Profile::OrHash,
35
+ last_used_at: Time
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # A profile identifies a user or non-human principal (such as an API key) at the
40
+ # account level. Profiles are account-scoped and can be granted access to multiple
41
+ # workspaces.
42
+ created_by: nil,
43
+ last_used_at: nil
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns({ created_by: Cadenya::Profile, last_used_at: Time })
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ ToolSetSecretSpec = ToolSets::ToolSetSecretSpec
6
+
7
+ module ToolSets
8
+ class ToolSetSecretSpec < Cadenya::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Cadenya::ToolSets::ToolSetSecretSpec,
13
+ Cadenya::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :value
19
+
20
+ sig { params(value: String).void }
21
+ attr_writer :value
22
+
23
+ sig { params(value: String).returns(T.attached_class) }
24
+ def self.new(value: nil)
25
+ end
26
+
27
+ sig { override.returns({ value: String }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -78,6 +78,7 @@ module Cadenya
78
78
  include_info: T::Boolean,
79
79
  limit: Integer,
80
80
  prefix: String,
81
+ promotional: T::Boolean,
81
82
  query: String,
82
83
  sort_order: String,
83
84
  request_options: Cadenya::RequestOptions::OrHash
@@ -95,6 +96,10 @@ module Cadenya
95
96
  limit: nil,
96
97
  # Filter expression (query param: prefix)
97
98
  prefix: nil,
99
+ # When true, return only promotional keys (provided by Cadenya, e.g. for
100
+ # onboarding). Defaults to returning all keys, customer-provided and promotional
101
+ # alike.
102
+ promotional: nil,
98
103
  # Free-form search query
99
104
  query: nil,
100
105
  # Sort order for results (asc or desc by creation time)
@@ -31,6 +31,7 @@ module Cadenya
31
31
  bundle_key: String,
32
32
  cursor: String,
33
33
  include_info: T::Boolean,
34
+ is_assigned: T::Boolean,
34
35
  limit: Integer,
35
36
  prefix: String,
36
37
  query: String,
@@ -52,6 +53,10 @@ module Cadenya
52
53
  # When true, populate each item's info (e.g. the AI provider), at the cost of
53
54
  # extra lookups.
54
55
  include_info: nil,
56
+ # Filter models to only ones assigned to an active agent variation/agent. Draft
57
+ # agents count as assigned; archived agents do not. Assignment does not imply
58
+ # recent traffic — see ModelInfo.last_used_at for that.
59
+ is_assigned: nil,
55
60
  # Maximum number of results to return
56
61
  limit: nil,
57
62
  # Filter by name prefix
@@ -0,0 +1,164 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Resources
5
+ class ToolSets
6
+ # Manage tool sets and the tools they contain. Tool sets group related tools, and
7
+ # tools define specific capabilities available to agents.
8
+ #
9
+ # When a tool set is managed, only API key actors can modify its tools; human
10
+ # (profile) actors cannot.
11
+ class Secrets
12
+ # Creates a new secret scoped to the tool set
13
+ sig do
14
+ params(
15
+ tool_set_id: String,
16
+ workspace_id: String,
17
+ metadata: Cadenya::CreateResourceMetadata::OrHash,
18
+ spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash,
19
+ request_options: Cadenya::RequestOptions::OrHash
20
+ ).returns(Cadenya::ToolSets::ToolSetSecret)
21
+ end
22
+ def create(
23
+ # Path param: The tool set that will own this secret. Accepts the canonical ts\_…
24
+ # form or the external_id:<value> form.
25
+ tool_set_id,
26
+ # Path param: The workspace that owns the tool set.
27
+ workspace_id:,
28
+ # Body param: CreateResourceMetadata contains the user-provided fields for
29
+ # creating a workspace-scoped resource. Read-only fields (id, account_id,
30
+ # workspace_id, profile_id, created_at) are excluded since they are set by the
31
+ # server.
32
+ metadata:,
33
+ # Body param
34
+ spec:,
35
+ request_options: {}
36
+ )
37
+ end
38
+
39
+ # Retrieves a tool set secret by ID from the tool set
40
+ sig do
41
+ params(
42
+ id: String,
43
+ workspace_id: String,
44
+ tool_set_id: String,
45
+ request_options: Cadenya::RequestOptions::OrHash
46
+ ).returns(Cadenya::ToolSets::ToolSetSecret)
47
+ end
48
+ def retrieve(
49
+ # The secret to retrieve.
50
+ id,
51
+ # The workspace that owns the tool set.
52
+ workspace_id:,
53
+ # The tool set the secret belongs to. Accepts the canonical ts\_… form or the
54
+ # external_id:<value> form.
55
+ tool_set_id:,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ # Updates a secret scoped to the tool set
61
+ sig do
62
+ params(
63
+ id: String,
64
+ workspace_id: String,
65
+ tool_set_id: String,
66
+ metadata: Cadenya::UpdateResourceMetadata::OrHash,
67
+ spec: Cadenya::ToolSets::ToolSetSecretSpec::OrHash,
68
+ update_mask: String,
69
+ request_options: Cadenya::RequestOptions::OrHash
70
+ ).returns(Cadenya::ToolSets::ToolSetSecret)
71
+ end
72
+ def update(
73
+ # Path param: The secret to update.
74
+ id,
75
+ # Path param: The workspace that owns the tool set.
76
+ workspace_id:,
77
+ # Path param: The tool set the secret belongs to. Accepts the canonical ts\_… form
78
+ # or the external_id:<value> form.
79
+ tool_set_id:,
80
+ # Body param: UpdateResourceMetadata contains the user-provided fields for
81
+ # updating a workspace-scoped resource. Read-only fields (id, account_id,
82
+ # workspace_id, profile_id, created_at) are excluded since they are set by the
83
+ # server.
84
+ metadata: nil,
85
+ # Body param
86
+ spec: nil,
87
+ # Body param: Fields to update.
88
+ update_mask: nil,
89
+ request_options: {}
90
+ )
91
+ end
92
+
93
+ # Lists all secrets scoped to the tool set
94
+ sig do
95
+ params(
96
+ tool_set_id: String,
97
+ workspace_id: String,
98
+ bundle_key: String,
99
+ cursor: String,
100
+ include_info: T::Boolean,
101
+ limit: Integer,
102
+ prefix: String,
103
+ query: String,
104
+ sort_order: String,
105
+ request_options: Cadenya::RequestOptions::OrHash
106
+ ).returns(
107
+ Cadenya::Internal::CursorPagination[
108
+ Cadenya::ToolSets::ToolSetSecret
109
+ ]
110
+ )
111
+ end
112
+ def list(
113
+ # Path param: The tool set whose secrets will be listed. Accepts the canonical
114
+ # ts\_… form or the external_id:<value> form.
115
+ tool_set_id,
116
+ # Path param: The workspace that owns the tool set.
117
+ workspace_id:,
118
+ # Query param: Filter by bundle_key — return only resources owned by this bundle.
119
+ bundle_key: nil,
120
+ # Query param: Pagination cursor from previous response
121
+ cursor: nil,
122
+ # Query param: When set to true you may use more of your alloted API rate-limit
123
+ include_info: nil,
124
+ # Query param: Maximum number of results to return
125
+ limit: nil,
126
+ # Query param: Filter expression (query param: prefix)
127
+ prefix: nil,
128
+ # Query param: Free-form search query
129
+ query: nil,
130
+ # Query param: Sort order for results (asc or desc by creation time)
131
+ sort_order: nil,
132
+ request_options: {}
133
+ )
134
+ end
135
+
136
+ # Deletes a secret scoped to the tool set
137
+ sig do
138
+ params(
139
+ id: String,
140
+ workspace_id: String,
141
+ tool_set_id: String,
142
+ request_options: Cadenya::RequestOptions::OrHash
143
+ ).void
144
+ end
145
+ def delete(
146
+ # The secret to delete.
147
+ id,
148
+ # The workspace that owns the tool set.
149
+ workspace_id:,
150
+ # The tool set the secret belongs to. Accepts the canonical ts\_… form or the
151
+ # external_id:<value> form.
152
+ tool_set_id:,
153
+ request_options: {}
154
+ )
155
+ end
156
+
157
+ # @api private
158
+ sig { params(client: Cadenya::Client).returns(T.attached_class) }
159
+ def self.new(client:)
160
+ end
161
+ end
162
+ end
163
+ end
164
+ end
@@ -16,6 +16,14 @@ module Cadenya
16
16
  sig { returns(Cadenya::Resources::ToolSets::Tools) }
17
17
  attr_reader :tools
18
18
 
19
+ # Manage tool sets and the tools they contain. Tool sets group related tools, and
20
+ # tools define specific capabilities available to agents.
21
+ #
22
+ # When a tool set is managed, only API key actors can modify its tools; human
23
+ # (profile) actors cannot.
24
+ sig { returns(Cadenya::Resources::ToolSets::Secrets) }
25
+ attr_reader :secrets
26
+
19
27
  # Creates a new tool set in the workspace
20
28
  sig do
21
29
  params(
@@ -29,7 +29,11 @@ module Cadenya
29
29
  }
30
30
 
31
31
  type info =
32
- { disabled_model_count: Integer, enabled_model_count: Integer }
32
+ {
33
+ disabled_model_count: Integer,
34
+ enabled_model_count: Integer,
35
+ is_promotional: bool
36
+ }
33
37
 
34
38
  class Info < Cadenya::Internal::Type::BaseModel
35
39
  attr_reader disabled_model_count: Integer?
@@ -40,14 +44,20 @@ module Cadenya
40
44
 
41
45
  def enabled_model_count=: (Integer) -> Integer
42
46
 
47
+ attr_reader is_promotional: bool?
48
+
49
+ def is_promotional=: (bool) -> bool
50
+
43
51
  def initialize: (
44
52
  ?disabled_model_count: Integer,
45
- ?enabled_model_count: Integer
53
+ ?enabled_model_count: Integer,
54
+ ?is_promotional: bool
46
55
  ) -> void
47
56
 
48
57
  def to_hash: -> {
49
58
  disabled_model_count: Integer,
50
- enabled_model_count: Integer
59
+ enabled_model_count: Integer,
60
+ is_promotional: bool
51
61
  }
52
62
  end
53
63
  end
@@ -7,6 +7,7 @@ module Cadenya
7
7
  include_info: bool,
8
8
  limit: Integer,
9
9
  prefix: String,
10
+ promotional: bool,
10
11
  query: String,
11
12
  sort_order: String
12
13
  }
@@ -34,6 +35,10 @@ module Cadenya
34
35
 
35
36
  def prefix=: (String) -> String
36
37
 
38
+ attr_reader promotional: bool?
39
+
40
+ def promotional=: (bool) -> bool
41
+
37
42
  attr_reader query: String?
38
43
 
39
44
  def query=: (String) -> String
@@ -48,6 +53,7 @@ module Cadenya
48
53
  ?include_info: bool,
49
54
  ?limit: Integer,
50
55
  ?prefix: String,
56
+ ?promotional: bool,
51
57
  ?query: String,
52
58
  ?sort_order: String,
53
59
  ?request_options: Cadenya::request_opts
@@ -59,6 +65,7 @@ module Cadenya
59
65
  include_info: bool,
60
66
  limit: Integer,
61
67
  prefix: String,
68
+ promotional: bool,
62
69
  query: String,
63
70
  sort_order: String,
64
71
  request_options: Cadenya::RequestOptions
@@ -48,8 +48,8 @@ module Cadenya
48
48
  type info =
49
49
  {
50
50
  agent_variation_count: Integer,
51
- ai_provider_key: Cadenya::ResourceMetadata,
52
- provider: Cadenya::Models::Model::Info::provider
51
+ ai_provider_key: Cadenya::AIProviderKey,
52
+ last_used_at: Time
53
53
  }
54
54
 
55
55
  class Info < Cadenya::Internal::Type::BaseModel
@@ -57,40 +57,25 @@ module Cadenya
57
57
 
58
58
  def agent_variation_count=: (Integer) -> Integer
59
59
 
60
- attr_reader ai_provider_key: Cadenya::ResourceMetadata?
60
+ attr_reader ai_provider_key: Cadenya::AIProviderKey?
61
61
 
62
- def ai_provider_key=: (
63
- Cadenya::ResourceMetadata
64
- ) -> Cadenya::ResourceMetadata
62
+ def ai_provider_key=: (Cadenya::AIProviderKey) -> Cadenya::AIProviderKey
65
63
 
66
- attr_reader provider: Cadenya::Models::Model::Info::provider?
64
+ attr_reader last_used_at: Time?
67
65
 
68
- def provider=: (
69
- Cadenya::Models::Model::Info::provider
70
- ) -> Cadenya::Models::Model::Info::provider
66
+ def last_used_at=: (Time) -> Time
71
67
 
72
68
  def initialize: (
73
69
  ?agent_variation_count: Integer,
74
- ?ai_provider_key: Cadenya::ResourceMetadata,
75
- ?provider: Cadenya::Models::Model::Info::provider
70
+ ?ai_provider_key: Cadenya::AIProviderKey,
71
+ ?last_used_at: Time
76
72
  ) -> void
77
73
 
78
74
  def to_hash: -> {
79
75
  agent_variation_count: Integer,
80
- ai_provider_key: Cadenya::ResourceMetadata,
81
- provider: Cadenya::Models::Model::Info::provider
76
+ ai_provider_key: Cadenya::AIProviderKey,
77
+ last_used_at: Time
82
78
  }
83
-
84
- type provider = :AI_PROVIDER_UNSPECIFIED | :AI_PROVIDER_OPENROUTER
85
-
86
- module Provider
87
- extend Cadenya::Internal::Type::Enum
88
-
89
- AI_PROVIDER_UNSPECIFIED: :AI_PROVIDER_UNSPECIFIED
90
- AI_PROVIDER_OPENROUTER: :AI_PROVIDER_OPENROUTER
91
-
92
- def self?.values: -> ::Array[Cadenya::Models::Model::Info::provider]
93
- end
94
79
  end
95
80
  end
96
81
  end
@@ -7,6 +7,7 @@ module Cadenya
7
7
  bundle_key: String,
8
8
  cursor: String,
9
9
  include_info: bool,
10
+ is_assigned: bool,
10
11
  limit: Integer,
11
12
  prefix: String,
12
13
  query: String,
@@ -37,6 +38,10 @@ module Cadenya
37
38
 
38
39
  def include_info=: (bool) -> bool
39
40
 
41
+ attr_reader is_assigned: bool?
42
+
43
+ def is_assigned=: (bool) -> bool
44
+
40
45
  attr_reader limit: Integer?
41
46
 
42
47
  def limit=: (Integer) -> Integer
@@ -65,6 +70,7 @@ module Cadenya
65
70
  ?bundle_key: String,
66
71
  ?cursor: String,
67
72
  ?include_info: bool,
73
+ ?is_assigned: bool,
68
74
  ?limit: Integer,
69
75
  ?prefix: String,
70
76
  ?query: String,
@@ -79,6 +85,7 @@ module Cadenya
79
85
  bundle_key: String,
80
86
  cursor: String,
81
87
  include_info: bool,
88
+ is_assigned: bool,
82
89
  limit: Integer,
83
90
  prefix: String,
84
91
  query: String,
@@ -31,23 +31,37 @@ module Cadenya
31
31
  request_options: Cadenya::RequestOptions
32
32
  }
33
33
 
34
- type model_swap = { current_model_id: String, next_model_id: String }
34
+ type model_swap =
35
+ {
36
+ current_model_id: String,
37
+ disable_current_after_swap: bool,
38
+ next_model_id: String
39
+ }
35
40
 
36
41
  class ModelSwap < Cadenya::Internal::Type::BaseModel
37
42
  attr_reader current_model_id: String?
38
43
 
39
44
  def current_model_id=: (String) -> String
40
45
 
46
+ attr_reader disable_current_after_swap: bool?
47
+
48
+ def disable_current_after_swap=: (bool) -> bool
49
+
41
50
  attr_reader next_model_id: String?
42
51
 
43
52
  def next_model_id=: (String) -> String
44
53
 
45
54
  def initialize: (
46
55
  ?current_model_id: String,
56
+ ?disable_current_after_swap: bool,
47
57
  ?next_model_id: String
48
58
  ) -> void
49
59
 
50
- def to_hash: -> { current_model_id: String, next_model_id: String }
60
+ def to_hash: -> {
61
+ current_model_id: String,
62
+ disable_current_after_swap: bool,
63
+ next_model_id: String
64
+ }
51
65
  end
52
66
  end
53
67
  end