cadenya 0.3.0 → 0.5.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +6 -6
  4. data/lib/cadenya/client.rb +4 -0
  5. data/lib/cadenya/internal/cursor_pagination.rb +2 -2
  6. data/lib/cadenya/models/ai_provider_key.rb +66 -0
  7. data/lib/cadenya/models/ai_provider_key_create_params.rb +41 -0
  8. data/lib/cadenya/models/ai_provider_key_delete_params.rb +26 -0
  9. data/lib/cadenya/models/ai_provider_key_list_params.rb +73 -0
  10. data/lib/cadenya/models/ai_provider_key_retrieve_params.rb +26 -0
  11. data/lib/cadenya/models/ai_provider_key_spec.rb +51 -0
  12. data/lib/cadenya/models/ai_provider_key_update_params.rb +56 -0
  13. data/lib/cadenya/models/model.rb +56 -1
  14. data/lib/cadenya/models/model_list_params.rb +22 -1
  15. data/lib/cadenya/models.rb +14 -0
  16. data/lib/cadenya/resources/ai_provider_keys.rb +173 -0
  17. data/lib/cadenya/resources/models.rb +14 -2
  18. data/lib/cadenya/version.rb +1 -1
  19. data/lib/cadenya.rb +8 -0
  20. data/rbi/cadenya/client.rbi +3 -0
  21. data/rbi/cadenya/models/ai_provider_key.rbi +109 -0
  22. data/rbi/cadenya/models/ai_provider_key_create_params.rbi +65 -0
  23. data/rbi/cadenya/models/ai_provider_key_delete_params.rbi +43 -0
  24. data/rbi/cadenya/models/ai_provider_key_list_params.rbi +109 -0
  25. data/rbi/cadenya/models/ai_provider_key_retrieve_params.rbi +46 -0
  26. data/rbi/cadenya/models/ai_provider_key_spec.rbi +98 -0
  27. data/rbi/cadenya/models/ai_provider_key_update_params.rbi +82 -0
  28. data/rbi/cadenya/models/model.rbi +102 -3
  29. data/rbi/cadenya/models/model_list_params.rbi +26 -0
  30. data/rbi/cadenya/models.rbi +14 -0
  31. data/rbi/cadenya/resources/ai_provider_keys.rbi +129 -0
  32. data/rbi/cadenya/resources/models.rbi +8 -0
  33. data/sig/cadenya/client.rbs +2 -0
  34. data/sig/cadenya/models/ai_provider_key.rbs +55 -0
  35. data/sig/cadenya/models/ai_provider_key_create_params.rbs +36 -0
  36. data/sig/cadenya/models/ai_provider_key_delete_params.rbs +28 -0
  37. data/sig/cadenya/models/ai_provider_key_list_params.rbs +68 -0
  38. data/sig/cadenya/models/ai_provider_key_retrieve_params.rbs +28 -0
  39. data/sig/cadenya/models/ai_provider_key_spec.rbs +49 -0
  40. data/sig/cadenya/models/ai_provider_key_update_params.rbs +54 -0
  41. data/sig/cadenya/models/model.rbs +52 -3
  42. data/sig/cadenya/models/model_list_params.rbs +14 -0
  43. data/sig/cadenya/models.rbs +14 -0
  44. data/sig/cadenya/resources/ai_provider_keys.rbs +46 -0
  45. data/sig/cadenya/resources/models.rbs +2 -0
  46. metadata +26 -2
@@ -0,0 +1,98 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class AIProviderKeySpec < Cadenya::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Cadenya::AIProviderKeySpec, Cadenya::Internal::AnyHash)
9
+ end
10
+
11
+ # The provider credential. Accepted on create/update; never populated in responses
12
+ # (the server returns an empty value to avoid leaking it).
13
+ sig { returns(T.nilable(String)) }
14
+ attr_reader :api_key
15
+
16
+ sig { params(api_key: String).void }
17
+ attr_writer :api_key
18
+
19
+ # OpenRouterConfig holds OpenRouter-specific settings. Empty for now; it exists as
20
+ # the oneof seam so provider-specific options (region, base URL, etc.) can be
21
+ # added later without restructuring the spec.
22
+ sig { returns(T.nilable(T.anything)) }
23
+ attr_reader :openrouter
24
+
25
+ sig { params(openrouter: T.anything).void }
26
+ attr_writer :openrouter
27
+
28
+ # The AI provider this key authenticates against.
29
+ sig { returns(T.nilable(Cadenya::AIProviderKeySpec::Provider::OrSymbol)) }
30
+ attr_reader :provider
31
+
32
+ sig do
33
+ params(provider: Cadenya::AIProviderKeySpec::Provider::OrSymbol).void
34
+ end
35
+ attr_writer :provider
36
+
37
+ sig do
38
+ params(
39
+ api_key: String,
40
+ openrouter: T.anything,
41
+ provider: Cadenya::AIProviderKeySpec::Provider::OrSymbol
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # The provider credential. Accepted on create/update; never populated in responses
46
+ # (the server returns an empty value to avoid leaking it).
47
+ api_key: nil,
48
+ # OpenRouterConfig holds OpenRouter-specific settings. Empty for now; it exists as
49
+ # the oneof seam so provider-specific options (region, base URL, etc.) can be
50
+ # added later without restructuring the spec.
51
+ openrouter: nil,
52
+ # The AI provider this key authenticates against.
53
+ provider: nil
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ api_key: String,
61
+ openrouter: T.anything,
62
+ provider: Cadenya::AIProviderKeySpec::Provider::OrSymbol
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+
69
+ # The AI provider this key authenticates against.
70
+ module Provider
71
+ extend Cadenya::Internal::Type::Enum
72
+
73
+ TaggedSymbol =
74
+ T.type_alias { T.all(Symbol, Cadenya::AIProviderKeySpec::Provider) }
75
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
76
+
77
+ AI_PROVIDER_UNSPECIFIED =
78
+ T.let(
79
+ :AI_PROVIDER_UNSPECIFIED,
80
+ Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
81
+ )
82
+ AI_PROVIDER_OPENROUTER =
83
+ T.let(
84
+ :AI_PROVIDER_OPENROUTER,
85
+ Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
86
+ )
87
+
88
+ sig do
89
+ override.returns(
90
+ T::Array[Cadenya::AIProviderKeySpec::Provider::TaggedSymbol]
91
+ )
92
+ end
93
+ def self.values
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,82 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class AIProviderKeyUpdateParams < Cadenya::Internal::Type::BaseModel
6
+ extend Cadenya::Internal::Type::RequestParameters::Converter
7
+ include Cadenya::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Cadenya::AIProviderKeyUpdateParams, Cadenya::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :workspace_id
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # UpdateResourceMetadata contains the user-provided fields for updating a
21
+ # workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
22
+ # profile_id, created_at) are excluded since they are set by the server.
23
+ sig { returns(T.nilable(Cadenya::UpdateResourceMetadata)) }
24
+ attr_reader :metadata
25
+
26
+ sig { params(metadata: Cadenya::UpdateResourceMetadata::OrHash).void }
27
+ attr_writer :metadata
28
+
29
+ sig { returns(T.nilable(Cadenya::AIProviderKeySpec)) }
30
+ attr_reader :spec
31
+
32
+ sig { params(spec: Cadenya::AIProviderKeySpec::OrHash).void }
33
+ attr_writer :spec
34
+
35
+ # Fields to update.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :update_mask
38
+
39
+ sig { params(update_mask: String).void }
40
+ attr_writer :update_mask
41
+
42
+ sig do
43
+ params(
44
+ workspace_id: String,
45
+ id: String,
46
+ metadata: Cadenya::UpdateResourceMetadata::OrHash,
47
+ spec: Cadenya::AIProviderKeySpec::OrHash,
48
+ update_mask: String,
49
+ request_options: Cadenya::RequestOptions::OrHash
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ workspace_id:,
54
+ id:,
55
+ # UpdateResourceMetadata contains the user-provided fields for updating a
56
+ # workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
57
+ # profile_id, created_at) are excluded since they are set by the server.
58
+ metadata: nil,
59
+ spec: nil,
60
+ # Fields to update.
61
+ update_mask: nil,
62
+ request_options: {}
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ workspace_id: String,
70
+ id: String,
71
+ metadata: Cadenya::UpdateResourceMetadata,
72
+ spec: Cadenya::AIProviderKeySpec,
73
+ update_mask: String,
74
+ request_options: Cadenya::RequestOptions
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+ end
81
+ end
82
+ end
@@ -20,27 +20,126 @@ module Cadenya
20
20
  sig { params(spec: Cadenya::ModelSpec::OrHash).void }
21
21
  attr_writer :spec
22
22
 
23
+ # ModelInfo carries server-derived, read-only details about a model.
24
+ sig { returns(T.nilable(Cadenya::Model::Info)) }
25
+ attr_reader :info
26
+
27
+ sig { params(info: Cadenya::Model::Info::OrHash).void }
28
+ attr_writer :info
29
+
23
30
  sig do
24
31
  params(
25
32
  metadata: Cadenya::ResourceMetadata::OrHash,
26
- spec: Cadenya::ModelSpec::OrHash
33
+ spec: Cadenya::ModelSpec::OrHash,
34
+ info: Cadenya::Model::Info::OrHash
27
35
  ).returns(T.attached_class)
28
36
  end
29
37
  def self.new(
30
38
  # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
31
39
  metadata:,
32
40
  # Model specification
33
- spec:
41
+ spec:,
42
+ # ModelInfo carries server-derived, read-only details about a model.
43
+ info: nil
34
44
  )
35
45
  end
36
46
 
37
47
  sig do
38
48
  override.returns(
39
- { metadata: Cadenya::ResourceMetadata, spec: Cadenya::ModelSpec }
49
+ {
50
+ metadata: Cadenya::ResourceMetadata,
51
+ spec: Cadenya::ModelSpec,
52
+ info: Cadenya::Model::Info
53
+ }
40
54
  )
41
55
  end
42
56
  def to_hash
43
57
  end
58
+
59
+ class Info < Cadenya::Internal::Type::BaseModel
60
+ OrHash =
61
+ T.type_alias do
62
+ T.any(Cadenya::Model::Info, Cadenya::Internal::AnyHash)
63
+ end
64
+
65
+ # BareMetadata contains the minimal metadata for a resource: the ID and an
66
+ # optional human-readable name. These are used for reference fields where the full
67
+ # metadata (account scoping, timestamps, labels, external IDs) is not needed —
68
+ # e.g., the tool references inside an agent variation spec or the tools assigned
69
+ # to an objective. Both fields are server-populated; clients provide IDs through
70
+ # sibling fields rather than by constructing a BareMetadata themselves.
71
+ sig { returns(T.nilable(Cadenya::BareMetadata)) }
72
+ attr_reader :ai_provider_key
73
+
74
+ sig { params(ai_provider_key: Cadenya::BareMetadata::OrHash).void }
75
+ attr_writer :ai_provider_key
76
+
77
+ # The AI provider this model routes through (via its provider key).
78
+ sig { returns(T.nilable(Cadenya::Model::Info::Provider::TaggedSymbol)) }
79
+ attr_reader :provider
80
+
81
+ sig { params(provider: Cadenya::Model::Info::Provider::OrSymbol).void }
82
+ attr_writer :provider
83
+
84
+ # ModelInfo carries server-derived, read-only details about a model.
85
+ sig do
86
+ params(
87
+ ai_provider_key: Cadenya::BareMetadata::OrHash,
88
+ provider: Cadenya::Model::Info::Provider::OrSymbol
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # BareMetadata contains the minimal metadata for a resource: the ID and an
93
+ # optional human-readable name. These are used for reference fields where the full
94
+ # metadata (account scoping, timestamps, labels, external IDs) is not needed —
95
+ # e.g., the tool references inside an agent variation spec or the tools assigned
96
+ # to an objective. Both fields are server-populated; clients provide IDs through
97
+ # sibling fields rather than by constructing a BareMetadata themselves.
98
+ ai_provider_key: nil,
99
+ # The AI provider this model routes through (via its provider key).
100
+ provider: nil
101
+ )
102
+ end
103
+
104
+ sig do
105
+ override.returns(
106
+ {
107
+ ai_provider_key: Cadenya::BareMetadata,
108
+ provider: Cadenya::Model::Info::Provider::TaggedSymbol
109
+ }
110
+ )
111
+ end
112
+ def to_hash
113
+ end
114
+
115
+ # The AI provider this model routes through (via its provider key).
116
+ module Provider
117
+ extend Cadenya::Internal::Type::Enum
118
+
119
+ TaggedSymbol =
120
+ T.type_alias { T.all(Symbol, Cadenya::Model::Info::Provider) }
121
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
122
+
123
+ AI_PROVIDER_UNSPECIFIED =
124
+ T.let(
125
+ :AI_PROVIDER_UNSPECIFIED,
126
+ Cadenya::Model::Info::Provider::TaggedSymbol
127
+ )
128
+ AI_PROVIDER_OPENROUTER =
129
+ T.let(
130
+ :AI_PROVIDER_OPENROUTER,
131
+ Cadenya::Model::Info::Provider::TaggedSymbol
132
+ )
133
+
134
+ sig do
135
+ override.returns(
136
+ T::Array[Cadenya::Model::Info::Provider::TaggedSymbol]
137
+ )
138
+ end
139
+ def self.values
140
+ end
141
+ end
142
+ end
44
143
  end
45
144
  end
46
145
  end
@@ -14,6 +14,14 @@ module Cadenya
14
14
  sig { returns(String) }
15
15
  attr_accessor :workspace_id
16
16
 
17
+ # Filter to models provisioned on a specific AI provider key. Accepts the key's id
18
+ # or an "external_id:"-prefixed slug.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :ai_provider_key_id
21
+
22
+ sig { params(ai_provider_key_id: String).void }
23
+ attr_writer :ai_provider_key_id
24
+
17
25
  # Filter by bundle_key — return only resources owned by this bundle.
18
26
  sig { returns(T.nilable(String)) }
19
27
  attr_reader :bundle_key
@@ -28,6 +36,14 @@ module Cadenya
28
36
  sig { params(cursor: String).void }
29
37
  attr_writer :cursor
30
38
 
39
+ # When true, populate each item's info (e.g. the AI provider), at the cost of
40
+ # extra lookups.
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :include_info
43
+
44
+ sig { params(include_info: T::Boolean).void }
45
+ attr_writer :include_info
46
+
31
47
  # Maximum number of results to return
32
48
  sig { returns(T.nilable(Integer)) }
33
49
  attr_reader :limit
@@ -66,8 +82,10 @@ module Cadenya
66
82
  sig do
67
83
  params(
68
84
  workspace_id: String,
85
+ ai_provider_key_id: String,
69
86
  bundle_key: String,
70
87
  cursor: String,
88
+ include_info: T::Boolean,
71
89
  limit: Integer,
72
90
  prefix: String,
73
91
  query: String,
@@ -78,10 +96,16 @@ module Cadenya
78
96
  end
79
97
  def self.new(
80
98
  workspace_id:,
99
+ # Filter to models provisioned on a specific AI provider key. Accepts the key's id
100
+ # or an "external_id:"-prefixed slug.
101
+ ai_provider_key_id: nil,
81
102
  # Filter by bundle_key — return only resources owned by this bundle.
82
103
  bundle_key: nil,
83
104
  # Pagination cursor from previous response
84
105
  cursor: nil,
106
+ # When true, populate each item's info (e.g. the AI provider), at the cost of
107
+ # extra lookups.
108
+ include_info: nil,
85
109
  # Maximum number of results to return
86
110
  limit: nil,
87
111
  # Filter by name prefix
@@ -100,8 +124,10 @@ module Cadenya
100
124
  override.returns(
101
125
  {
102
126
  workspace_id: String,
127
+ ai_provider_key_id: String,
103
128
  bundle_key: String,
104
129
  cursor: String,
130
+ include_info: T::Boolean,
105
131
  limit: Integer,
106
132
  prefix: String,
107
133
  query: String,
@@ -38,6 +38,20 @@ module Cadenya
38
38
 
39
39
  AgentVariationEntry = Cadenya::Models::AgentVariationEntry
40
40
 
41
+ AIProviderKey = Cadenya::Models::AIProviderKey
42
+
43
+ AIProviderKeyCreateParams = Cadenya::Models::AIProviderKeyCreateParams
44
+
45
+ AIProviderKeyDeleteParams = Cadenya::Models::AIProviderKeyDeleteParams
46
+
47
+ AIProviderKeyListParams = Cadenya::Models::AIProviderKeyListParams
48
+
49
+ AIProviderKeyRetrieveParams = Cadenya::Models::AIProviderKeyRetrieveParams
50
+
51
+ AIProviderKeySpec = Cadenya::Models::AIProviderKeySpec
52
+
53
+ AIProviderKeyUpdateParams = Cadenya::Models::AIProviderKeyUpdateParams
54
+
41
55
  APIKey = Cadenya::Models::APIKey
42
56
 
43
57
  APIKeyCreateParams = Cadenya::Models::APIKeyCreateParams
@@ -0,0 +1,129 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Resources
5
+ class AIProviderKeys
6
+ # Creates a new customer-provided AI provider key in the workspace
7
+ sig do
8
+ params(
9
+ workspace_id: String,
10
+ metadata: Cadenya::CreateResourceMetadata::OrHash,
11
+ spec: Cadenya::AIProviderKeySpec::OrHash,
12
+ request_options: Cadenya::RequestOptions::OrHash
13
+ ).returns(Cadenya::AIProviderKey)
14
+ end
15
+ def create(
16
+ # The workspace that will own this key.
17
+ workspace_id,
18
+ # CreateResourceMetadata contains the user-provided fields for creating a
19
+ # workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
20
+ # profile_id, created_at) are excluded since they are set by the server.
21
+ metadata:,
22
+ spec:,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ # Retrieves an AI provider key by ID from the workspace
28
+ sig do
29
+ params(
30
+ id: String,
31
+ workspace_id: String,
32
+ request_options: Cadenya::RequestOptions::OrHash
33
+ ).returns(Cadenya::AIProviderKey)
34
+ end
35
+ def retrieve(
36
+ # The key to retrieve.
37
+ id,
38
+ # The workspace the key belongs to.
39
+ workspace_id:,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ # Updates an AI provider key's name or key value in the workspace
45
+ sig do
46
+ params(
47
+ id: String,
48
+ workspace_id: String,
49
+ metadata: Cadenya::UpdateResourceMetadata::OrHash,
50
+ spec: Cadenya::AIProviderKeySpec::OrHash,
51
+ update_mask: String,
52
+ request_options: Cadenya::RequestOptions::OrHash
53
+ ).returns(Cadenya::AIProviderKey)
54
+ end
55
+ def update(
56
+ # Path param: The key to update.
57
+ id,
58
+ # Path param: The workspace the key belongs to.
59
+ workspace_id:,
60
+ # Body param: UpdateResourceMetadata contains the user-provided fields for
61
+ # updating a workspace-scoped resource. Read-only fields (id, account_id,
62
+ # workspace_id, profile_id, created_at) are excluded since they are set by the
63
+ # server.
64
+ metadata: nil,
65
+ # Body param
66
+ spec: nil,
67
+ # Body param: Fields to update.
68
+ update_mask: nil,
69
+ request_options: {}
70
+ )
71
+ end
72
+
73
+ # Lists all customer-provided AI provider keys in the workspace
74
+ sig do
75
+ params(
76
+ workspace_id: String,
77
+ cursor: String,
78
+ include_info: T::Boolean,
79
+ limit: Integer,
80
+ prefix: String,
81
+ query: String,
82
+ sort_order: String,
83
+ request_options: Cadenya::RequestOptions::OrHash
84
+ ).returns(Cadenya::Internal::CursorPagination[Cadenya::AIProviderKey])
85
+ end
86
+ def list(
87
+ # The workspace whose keys will be listed.
88
+ workspace_id,
89
+ # Pagination cursor from previous response
90
+ cursor: nil,
91
+ # When true, populate each item's info (model counts), at the cost of extra
92
+ # lookups.
93
+ include_info: nil,
94
+ # Maximum number of results to return
95
+ limit: nil,
96
+ # Filter expression (query param: prefix)
97
+ prefix: nil,
98
+ # Free-form search query
99
+ query: nil,
100
+ # Sort order for results (asc or desc by creation time)
101
+ sort_order: nil,
102
+ request_options: {}
103
+ )
104
+ end
105
+
106
+ # Deletes an AI provider key from the workspace
107
+ sig do
108
+ params(
109
+ id: String,
110
+ workspace_id: String,
111
+ request_options: Cadenya::RequestOptions::OrHash
112
+ ).void
113
+ end
114
+ def delete(
115
+ # The key to delete.
116
+ id,
117
+ # The workspace the key belongs to.
118
+ workspace_id:,
119
+ request_options: {}
120
+ )
121
+ end
122
+
123
+ # @api private
124
+ sig { params(client: Cadenya::Client).returns(T.attached_class) }
125
+ def self.new(client:)
126
+ end
127
+ end
128
+ end
129
+ end
@@ -27,8 +27,10 @@ module Cadenya
27
27
  sig do
28
28
  params(
29
29
  workspace_id: String,
30
+ ai_provider_key_id: String,
30
31
  bundle_key: String,
31
32
  cursor: String,
33
+ include_info: T::Boolean,
32
34
  limit: Integer,
33
35
  prefix: String,
34
36
  query: String,
@@ -40,10 +42,16 @@ module Cadenya
40
42
  def list(
41
43
  # Workspace ID.
42
44
  workspace_id,
45
+ # Filter to models provisioned on a specific AI provider key. Accepts the key's id
46
+ # or an "external_id:"-prefixed slug.
47
+ ai_provider_key_id: nil,
43
48
  # Filter by bundle_key — return only resources owned by this bundle.
44
49
  bundle_key: nil,
45
50
  # Pagination cursor from previous response
46
51
  cursor: nil,
52
+ # When true, populate each item's info (e.g. the AI provider), at the cost of
53
+ # extra lookups.
54
+ include_info: nil,
47
55
  # Maximum number of results to return
48
56
  limit: nil,
49
57
  # Filter by name prefix
@@ -12,6 +12,8 @@ module Cadenya
12
12
 
13
13
  attr_reader webhook_key: String?
14
14
 
15
+ attr_reader ai_provider_keys: Cadenya::Resources::AIProviderKeys
16
+
15
17
  attr_reader account: Cadenya::Resources::Account
16
18
 
17
19
  attr_reader agents: Cadenya::Resources::Agents
@@ -0,0 +1,55 @@
1
+ module Cadenya
2
+ module Models
3
+ type ai_provider_key =
4
+ {
5
+ metadata: Cadenya::ResourceMetadata,
6
+ spec: Cadenya::AIProviderKeySpec,
7
+ info: Cadenya::AIProviderKey::Info
8
+ }
9
+
10
+ class AIProviderKey < Cadenya::Internal::Type::BaseModel
11
+ attr_accessor metadata: Cadenya::ResourceMetadata
12
+
13
+ attr_accessor spec: Cadenya::AIProviderKeySpec
14
+
15
+ attr_reader info: Cadenya::AIProviderKey::Info?
16
+
17
+ def info=: (Cadenya::AIProviderKey::Info) -> Cadenya::AIProviderKey::Info
18
+
19
+ def initialize: (
20
+ metadata: Cadenya::ResourceMetadata,
21
+ spec: Cadenya::AIProviderKeySpec,
22
+ ?info: Cadenya::AIProviderKey::Info
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ metadata: Cadenya::ResourceMetadata,
27
+ spec: Cadenya::AIProviderKeySpec,
28
+ info: Cadenya::AIProviderKey::Info
29
+ }
30
+
31
+ type info =
32
+ { disabled_model_count: Integer, enabled_model_count: Integer }
33
+
34
+ class Info < Cadenya::Internal::Type::BaseModel
35
+ attr_reader disabled_model_count: Integer?
36
+
37
+ def disabled_model_count=: (Integer) -> Integer
38
+
39
+ attr_reader enabled_model_count: Integer?
40
+
41
+ def enabled_model_count=: (Integer) -> Integer
42
+
43
+ def initialize: (
44
+ ?disabled_model_count: Integer,
45
+ ?enabled_model_count: Integer
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ disabled_model_count: Integer,
50
+ enabled_model_count: Integer
51
+ }
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,36 @@
1
+ module Cadenya
2
+ module Models
3
+ type ai_provider_key_create_params =
4
+ {
5
+ workspace_id: String,
6
+ metadata: Cadenya::CreateResourceMetadata,
7
+ spec: Cadenya::AIProviderKeySpec
8
+ }
9
+ & Cadenya::Internal::Type::request_parameters
10
+
11
+ class AIProviderKeyCreateParams < Cadenya::Internal::Type::BaseModel
12
+ extend Cadenya::Internal::Type::RequestParameters::Converter
13
+ include Cadenya::Internal::Type::RequestParameters
14
+
15
+ attr_accessor workspace_id: String
16
+
17
+ attr_accessor metadata: Cadenya::CreateResourceMetadata
18
+
19
+ attr_accessor spec: Cadenya::AIProviderKeySpec
20
+
21
+ def initialize: (
22
+ workspace_id: String,
23
+ metadata: Cadenya::CreateResourceMetadata,
24
+ spec: Cadenya::AIProviderKeySpec,
25
+ ?request_options: Cadenya::request_opts
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ workspace_id: String,
30
+ metadata: Cadenya::CreateResourceMetadata,
31
+ spec: Cadenya::AIProviderKeySpec,
32
+ request_options: Cadenya::RequestOptions
33
+ }
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,28 @@
1
+ module Cadenya
2
+ module Models
3
+ type ai_provider_key_delete_params =
4
+ { workspace_id: String, id: String }
5
+ & Cadenya::Internal::Type::request_parameters
6
+
7
+ class AIProviderKeyDeleteParams < Cadenya::Internal::Type::BaseModel
8
+ extend Cadenya::Internal::Type::RequestParameters::Converter
9
+ include Cadenya::Internal::Type::RequestParameters
10
+
11
+ attr_accessor workspace_id: String
12
+
13
+ attr_accessor id: String
14
+
15
+ def initialize: (
16
+ workspace_id: String,
17
+ id: String,
18
+ ?request_options: Cadenya::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ workspace_id: String,
23
+ id: String,
24
+ request_options: Cadenya::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end