cadenya 0.3.0 → 0.4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +6 -6
- data/lib/cadenya/client.rb +4 -0
- data/lib/cadenya/internal/cursor_pagination.rb +2 -2
- data/lib/cadenya/models/ai_provider_key.rb +30 -0
- data/lib/cadenya/models/ai_provider_key_create_params.rb +41 -0
- data/lib/cadenya/models/ai_provider_key_delete_params.rb +26 -0
- data/lib/cadenya/models/ai_provider_key_list_params.rb +61 -0
- data/lib/cadenya/models/ai_provider_key_retrieve_params.rb +26 -0
- data/lib/cadenya/models/ai_provider_key_spec.rb +36 -0
- data/lib/cadenya/models/ai_provider_key_update_params.rb +56 -0
- data/lib/cadenya/models.rb +14 -0
- data/lib/cadenya/resources/ai_provider_keys.rb +168 -0
- data/lib/cadenya/version.rb +1 -1
- data/lib/cadenya.rb +8 -0
- data/rbi/cadenya/client.rbi +3 -0
- data/rbi/cadenya/models/ai_provider_key.rbi +51 -0
- data/rbi/cadenya/models/ai_provider_key_create_params.rbi +65 -0
- data/rbi/cadenya/models/ai_provider_key_delete_params.rbi +43 -0
- data/rbi/cadenya/models/ai_provider_key_list_params.rbi +96 -0
- data/rbi/cadenya/models/ai_provider_key_retrieve_params.rbi +46 -0
- data/rbi/cadenya/models/ai_provider_key_spec.rbi +56 -0
- data/rbi/cadenya/models/ai_provider_key_update_params.rbi +82 -0
- data/rbi/cadenya/models.rbi +14 -0
- data/rbi/cadenya/resources/ai_provider_keys.rbi +125 -0
- data/sig/cadenya/client.rbs +2 -0
- data/sig/cadenya/models/ai_provider_key.rbs +22 -0
- data/sig/cadenya/models/ai_provider_key_create_params.rbs +36 -0
- data/sig/cadenya/models/ai_provider_key_delete_params.rbs +28 -0
- data/sig/cadenya/models/ai_provider_key_list_params.rbs +61 -0
- data/sig/cadenya/models/ai_provider_key_retrieve_params.rbs +28 -0
- data/sig/cadenya/models/ai_provider_key_spec.rbs +28 -0
- data/sig/cadenya/models/ai_provider_key_update_params.rbs +54 -0
- data/sig/cadenya/models.rbs +14 -0
- data/sig/cadenya/resources/ai_provider_keys.rbs +45 -0
- metadata +26 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e7f15c89788992e84faa1b1a059033314f7c115317be1f0fdba0e49793bc0aa6
|
|
4
|
+
data.tar.gz: d56587810401e084e8b5497254d6a6680fc22b3eff1bf70af6bc20461a3b19e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c696765a5ffb6e7c97c6b3cb729b711fe424626b45e6e0732ef37a5dc9b56bde28f8ca54d0db305657bf459b4e3dfa3081f905e26a17a6e503b3b5709b82ef38
|
|
7
|
+
data.tar.gz: 9f178edbcaf810c598ccf931ee62bc8c68479f41128c63143852a255b673dcd69e1306706407cf7c0bb7f2ced5c8c581be9d45be426d04ab0306e3ce13e934cc
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 (2026-06-07)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.3.0...v0.4.0](https://github.com/cadenya/cadenya-ruby/compare/v0.3.0...v0.4.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add AI Provider CRUD endpoints ([91caf5c](https://github.com/cadenya/cadenya-ruby/commit/91caf5c762a8e75460076b4a9a864c9a34345720))
|
|
10
|
+
|
|
3
11
|
## 0.3.0 (2026-06-05)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.2.0...v0.3.0](https://github.com/cadenya/cadenya-ruby/compare/v0.2.0...v0.3.0)
|
data/README.md
CHANGED
|
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
26
26
|
<!-- x-release-please-start-version -->
|
|
27
27
|
|
|
28
28
|
```ruby
|
|
29
|
-
gem "cadenya", "~> 0.
|
|
29
|
+
gem "cadenya", "~> 0.4.0"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
<!-- x-release-please-end -->
|
|
@@ -53,15 +53,15 @@ List methods in the Cadenya API are paginated.
|
|
|
53
53
|
This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
|
|
54
54
|
|
|
55
55
|
```ruby
|
|
56
|
-
page = cadenya.
|
|
56
|
+
page = cadenya.ai_provider_keys.list
|
|
57
57
|
|
|
58
58
|
# Fetch single item from page.
|
|
59
|
-
|
|
60
|
-
puts(
|
|
59
|
+
ai_provider_key = page.items[0]
|
|
60
|
+
puts(ai_provider_key.metadata)
|
|
61
61
|
|
|
62
62
|
# Automatically fetches more pages as needed.
|
|
63
|
-
page.auto_paging_each do |
|
|
64
|
-
puts(
|
|
63
|
+
page.auto_paging_each do |ai_provider_key|
|
|
64
|
+
puts(ai_provider_key.metadata)
|
|
65
65
|
end
|
|
66
66
|
```
|
|
67
67
|
|
data/lib/cadenya/client.rb
CHANGED
|
@@ -21,6 +21,9 @@ module Cadenya
|
|
|
21
21
|
# @return [String, nil]
|
|
22
22
|
attr_reader :webhook_key
|
|
23
23
|
|
|
24
|
+
# @return [Cadenya::Resources::AIProviderKeys]
|
|
25
|
+
attr_reader :ai_provider_keys
|
|
26
|
+
|
|
24
27
|
# Manage the authenticated account. Accounts are the top-level organizational unit
|
|
25
28
|
# and contain one or more workspaces.
|
|
26
29
|
# @return [Cadenya::Resources::Account]
|
|
@@ -163,6 +166,7 @@ module Cadenya
|
|
|
163
166
|
headers: headers
|
|
164
167
|
)
|
|
165
168
|
|
|
169
|
+
@ai_provider_keys = Cadenya::Resources::AIProviderKeys.new(client: self)
|
|
166
170
|
@account = Cadenya::Resources::Account.new(client: self)
|
|
167
171
|
@agents = Cadenya::Resources::Agents.new(client: self)
|
|
168
172
|
@objectives = Cadenya::Resources::Objectives.new(client: self)
|
|
@@ -10,8 +10,8 @@ module Cadenya
|
|
|
10
10
|
# end
|
|
11
11
|
#
|
|
12
12
|
# @example
|
|
13
|
-
# cursor_pagination.auto_paging_each do |
|
|
14
|
-
# puts(
|
|
13
|
+
# cursor_pagination.auto_paging_each do |ai_provider_key|
|
|
14
|
+
# puts(ai_provider_key)
|
|
15
15
|
# end
|
|
16
16
|
class CursorPagination
|
|
17
17
|
include Cadenya::Internal::Type::BasePage
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#create
|
|
6
|
+
class AIProviderKey < Cadenya::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute metadata
|
|
8
|
+
# Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
9
|
+
#
|
|
10
|
+
# @return [Cadenya::Models::ResourceMetadata]
|
|
11
|
+
required :metadata, -> { Cadenya::ResourceMetadata }
|
|
12
|
+
|
|
13
|
+
# @!attribute spec
|
|
14
|
+
#
|
|
15
|
+
# @return [Cadenya::Models::AIProviderKeySpec]
|
|
16
|
+
required :spec, -> { Cadenya::AIProviderKeySpec }
|
|
17
|
+
|
|
18
|
+
# @!method initialize(metadata:, spec:)
|
|
19
|
+
# Some parameter documentations has been truncated, see
|
|
20
|
+
# {Cadenya::Models::AIProviderKey} for more details.
|
|
21
|
+
#
|
|
22
|
+
# AIProviderKey is a customer-provided (BYOK) credential for an AI provider,
|
|
23
|
+
# scoped to a workspace. The secret value is never returned in responses.
|
|
24
|
+
#
|
|
25
|
+
# @param metadata [Cadenya::Models::ResourceMetadata] Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
26
|
+
#
|
|
27
|
+
# @param spec [Cadenya::Models::AIProviderKeySpec]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#create
|
|
6
|
+
class AIProviderKeyCreateParams < 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 metadata
|
|
16
|
+
# CreateResourceMetadata contains the user-provided fields for creating a
|
|
17
|
+
# workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
|
|
18
|
+
# profile_id, created_at) are excluded since they are set by the server.
|
|
19
|
+
#
|
|
20
|
+
# @return [Cadenya::Models::CreateResourceMetadata]
|
|
21
|
+
required :metadata, -> { Cadenya::CreateResourceMetadata }
|
|
22
|
+
|
|
23
|
+
# @!attribute spec
|
|
24
|
+
#
|
|
25
|
+
# @return [Cadenya::Models::AIProviderKeySpec]
|
|
26
|
+
required :spec, -> { Cadenya::AIProviderKeySpec }
|
|
27
|
+
|
|
28
|
+
# @!method initialize(workspace_id:, metadata:, spec:, request_options: {})
|
|
29
|
+
# Some parameter documentations has been truncated, see
|
|
30
|
+
# {Cadenya::Models::AIProviderKeyCreateParams} for more details.
|
|
31
|
+
#
|
|
32
|
+
# @param workspace_id [String]
|
|
33
|
+
#
|
|
34
|
+
# @param metadata [Cadenya::Models::CreateResourceMetadata] CreateResourceMetadata contains the user-provided fields for creating
|
|
35
|
+
#
|
|
36
|
+
# @param spec [Cadenya::Models::AIProviderKeySpec]
|
|
37
|
+
#
|
|
38
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#delete
|
|
6
|
+
class AIProviderKeyDeleteParams < 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,61 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#list
|
|
6
|
+
class AIProviderKeyListParams < 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 cursor
|
|
16
|
+
# Pagination cursor from previous response
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :cursor, String
|
|
20
|
+
|
|
21
|
+
# @!attribute limit
|
|
22
|
+
# Maximum number of results to return
|
|
23
|
+
#
|
|
24
|
+
# @return [Integer, nil]
|
|
25
|
+
optional :limit, Integer
|
|
26
|
+
|
|
27
|
+
# @!attribute prefix
|
|
28
|
+
# Filter expression (query param: prefix)
|
|
29
|
+
#
|
|
30
|
+
# @return [String, nil]
|
|
31
|
+
optional :prefix, String
|
|
32
|
+
|
|
33
|
+
# @!attribute query
|
|
34
|
+
# Free-form search query
|
|
35
|
+
#
|
|
36
|
+
# @return [String, nil]
|
|
37
|
+
optional :query, String
|
|
38
|
+
|
|
39
|
+
# @!attribute sort_order
|
|
40
|
+
# Sort order for results (asc or desc by creation time)
|
|
41
|
+
#
|
|
42
|
+
# @return [String, nil]
|
|
43
|
+
optional :sort_order, String
|
|
44
|
+
|
|
45
|
+
# @!method initialize(workspace_id:, cursor: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, request_options: {})
|
|
46
|
+
# @param workspace_id [String]
|
|
47
|
+
#
|
|
48
|
+
# @param cursor [String] Pagination cursor from previous response
|
|
49
|
+
#
|
|
50
|
+
# @param limit [Integer] Maximum number of results to return
|
|
51
|
+
#
|
|
52
|
+
# @param prefix [String] Filter expression (query param: prefix)
|
|
53
|
+
#
|
|
54
|
+
# @param query [String] Free-form search query
|
|
55
|
+
#
|
|
56
|
+
# @param sort_order [String] Sort order for results (asc or desc by creation time)
|
|
57
|
+
#
|
|
58
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#retrieve
|
|
6
|
+
class AIProviderKeyRetrieveParams < 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,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class AIProviderKeySpec < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute api_key
|
|
7
|
+
# The provider credential. Accepted on create/update; never populated in responses
|
|
8
|
+
# (the server returns an empty value to avoid leaking it).
|
|
9
|
+
#
|
|
10
|
+
# @return [String, nil]
|
|
11
|
+
optional :api_key, String, api_name: :apiKey
|
|
12
|
+
|
|
13
|
+
# @!attribute provider
|
|
14
|
+
# The AI provider this key authenticates against. Currently "openrouter".
|
|
15
|
+
#
|
|
16
|
+
# @return [String, nil]
|
|
17
|
+
optional :provider, String
|
|
18
|
+
|
|
19
|
+
# @!attribute region
|
|
20
|
+
# The provider region. "us" or "eu". Defaults to "us".
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :region, String
|
|
24
|
+
|
|
25
|
+
# @!method initialize(api_key: nil, provider: nil, region: nil)
|
|
26
|
+
# Some parameter documentations has been truncated, see
|
|
27
|
+
# {Cadenya::Models::AIProviderKeySpec} for more details.
|
|
28
|
+
#
|
|
29
|
+
# @param api_key [String] The provider credential. Accepted on create/update; never populated in
|
|
30
|
+
#
|
|
31
|
+
# @param provider [String] The AI provider this key authenticates against. Currently "openrouter".
|
|
32
|
+
#
|
|
33
|
+
# @param region [String] The provider region. "us" or "eu". Defaults to "us".
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
# @see Cadenya::Resources::AIProviderKeys#update
|
|
6
|
+
class AIProviderKeyUpdateParams < 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
|
+
# @!attribute metadata
|
|
21
|
+
# UpdateResourceMetadata contains the user-provided fields for updating a
|
|
22
|
+
# workspace-scoped resource. Read-only fields (id, account_id, workspace_id,
|
|
23
|
+
# profile_id, created_at) are excluded since they are set by the server.
|
|
24
|
+
#
|
|
25
|
+
# @return [Cadenya::Models::UpdateResourceMetadata, nil]
|
|
26
|
+
optional :metadata, -> { Cadenya::UpdateResourceMetadata }
|
|
27
|
+
|
|
28
|
+
# @!attribute spec
|
|
29
|
+
#
|
|
30
|
+
# @return [Cadenya::Models::AIProviderKeySpec, nil]
|
|
31
|
+
optional :spec, -> { Cadenya::AIProviderKeySpec }
|
|
32
|
+
|
|
33
|
+
# @!attribute update_mask
|
|
34
|
+
# Fields to update.
|
|
35
|
+
#
|
|
36
|
+
# @return [String, nil]
|
|
37
|
+
optional :update_mask, String, api_name: :updateMask
|
|
38
|
+
|
|
39
|
+
# @!method initialize(workspace_id:, id:, metadata: nil, spec: nil, update_mask: nil, request_options: {})
|
|
40
|
+
# Some parameter documentations has been truncated, see
|
|
41
|
+
# {Cadenya::Models::AIProviderKeyUpdateParams} for more details.
|
|
42
|
+
#
|
|
43
|
+
# @param workspace_id [String]
|
|
44
|
+
#
|
|
45
|
+
# @param id [String]
|
|
46
|
+
#
|
|
47
|
+
# @param metadata [Cadenya::Models::UpdateResourceMetadata] UpdateResourceMetadata contains the user-provided fields for updating
|
|
48
|
+
#
|
|
49
|
+
# @param spec [Cadenya::Models::AIProviderKeySpec]
|
|
50
|
+
#
|
|
51
|
+
# @param update_mask [String] Fields to update.
|
|
52
|
+
#
|
|
53
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
data/lib/cadenya/models.rb
CHANGED
|
@@ -75,6 +75,20 @@ module Cadenya
|
|
|
75
75
|
|
|
76
76
|
AgentVariationEntry = Cadenya::Models::AgentVariationEntry
|
|
77
77
|
|
|
78
|
+
AIProviderKey = Cadenya::Models::AIProviderKey
|
|
79
|
+
|
|
80
|
+
AIProviderKeyCreateParams = Cadenya::Models::AIProviderKeyCreateParams
|
|
81
|
+
|
|
82
|
+
AIProviderKeyDeleteParams = Cadenya::Models::AIProviderKeyDeleteParams
|
|
83
|
+
|
|
84
|
+
AIProviderKeyListParams = Cadenya::Models::AIProviderKeyListParams
|
|
85
|
+
|
|
86
|
+
AIProviderKeyRetrieveParams = Cadenya::Models::AIProviderKeyRetrieveParams
|
|
87
|
+
|
|
88
|
+
AIProviderKeySpec = Cadenya::Models::AIProviderKeySpec
|
|
89
|
+
|
|
90
|
+
AIProviderKeyUpdateParams = Cadenya::Models::AIProviderKeyUpdateParams
|
|
91
|
+
|
|
78
92
|
APIKey = Cadenya::Models::APIKey
|
|
79
93
|
|
|
80
94
|
APIKeyCreateParams = Cadenya::Models::APIKeyCreateParams
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Resources
|
|
5
|
+
class AIProviderKeys
|
|
6
|
+
# Some parameter documentations has been truncated, see
|
|
7
|
+
# {Cadenya::Models::AIProviderKeyCreateParams} for more details.
|
|
8
|
+
#
|
|
9
|
+
# Creates a new customer-provided AI provider key in the workspace
|
|
10
|
+
#
|
|
11
|
+
# @overload create(workspace_id, metadata:, spec:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param workspace_id [String] The workspace that will own this key.
|
|
14
|
+
#
|
|
15
|
+
# @param metadata [Cadenya::Models::CreateResourceMetadata] CreateResourceMetadata contains the user-provided fields for creating
|
|
16
|
+
#
|
|
17
|
+
# @param spec [Cadenya::Models::AIProviderKeySpec]
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
20
|
+
#
|
|
21
|
+
# @return [Cadenya::Models::AIProviderKey]
|
|
22
|
+
#
|
|
23
|
+
# @see Cadenya::Models::AIProviderKeyCreateParams
|
|
24
|
+
def create(workspace_id, params)
|
|
25
|
+
parsed, options = Cadenya::AIProviderKeyCreateParams.dump_request(params)
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :post,
|
|
28
|
+
path: ["v1/workspaces/%1$s/ai_provider_keys", workspace_id],
|
|
29
|
+
body: parsed,
|
|
30
|
+
model: Cadenya::AIProviderKey,
|
|
31
|
+
options: options
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Retrieves an AI provider key by ID from the workspace
|
|
36
|
+
#
|
|
37
|
+
# @overload retrieve(id, workspace_id:, request_options: {})
|
|
38
|
+
#
|
|
39
|
+
# @param id [String] The key to retrieve.
|
|
40
|
+
#
|
|
41
|
+
# @param workspace_id [String] The workspace the key belongs to.
|
|
42
|
+
#
|
|
43
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
44
|
+
#
|
|
45
|
+
# @return [Cadenya::Models::AIProviderKey]
|
|
46
|
+
#
|
|
47
|
+
# @see Cadenya::Models::AIProviderKeyRetrieveParams
|
|
48
|
+
def retrieve(id, params)
|
|
49
|
+
parsed, options = Cadenya::AIProviderKeyRetrieveParams.dump_request(params)
|
|
50
|
+
workspace_id =
|
|
51
|
+
parsed.delete(:workspace_id) do
|
|
52
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
53
|
+
end
|
|
54
|
+
@client.request(
|
|
55
|
+
method: :get,
|
|
56
|
+
path: ["v1/workspaces/%1$s/ai_provider_keys/%2$s", workspace_id, id],
|
|
57
|
+
model: Cadenya::AIProviderKey,
|
|
58
|
+
options: options
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Some parameter documentations has been truncated, see
|
|
63
|
+
# {Cadenya::Models::AIProviderKeyUpdateParams} for more details.
|
|
64
|
+
#
|
|
65
|
+
# Updates an AI provider key's name or key value in the workspace
|
|
66
|
+
#
|
|
67
|
+
# @overload update(id, workspace_id:, metadata: nil, spec: nil, update_mask: nil, request_options: {})
|
|
68
|
+
#
|
|
69
|
+
# @param id [String] Path param: The key to update.
|
|
70
|
+
#
|
|
71
|
+
# @param workspace_id [String] Path param: The workspace the key belongs to.
|
|
72
|
+
#
|
|
73
|
+
# @param metadata [Cadenya::Models::UpdateResourceMetadata] Body param: UpdateResourceMetadata contains the user-provided fields for updatin
|
|
74
|
+
#
|
|
75
|
+
# @param spec [Cadenya::Models::AIProviderKeySpec] Body param
|
|
76
|
+
#
|
|
77
|
+
# @param update_mask [String] Body param: Fields to update.
|
|
78
|
+
#
|
|
79
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
80
|
+
#
|
|
81
|
+
# @return [Cadenya::Models::AIProviderKey]
|
|
82
|
+
#
|
|
83
|
+
# @see Cadenya::Models::AIProviderKeyUpdateParams
|
|
84
|
+
def update(id, params)
|
|
85
|
+
parsed, options = Cadenya::AIProviderKeyUpdateParams.dump_request(params)
|
|
86
|
+
workspace_id =
|
|
87
|
+
parsed.delete(:workspace_id) do
|
|
88
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
89
|
+
end
|
|
90
|
+
@client.request(
|
|
91
|
+
method: :patch,
|
|
92
|
+
path: ["v1/workspaces/%1$s/ai_provider_keys/%2$s", workspace_id, id],
|
|
93
|
+
body: parsed,
|
|
94
|
+
model: Cadenya::AIProviderKey,
|
|
95
|
+
options: options
|
|
96
|
+
)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Lists all customer-provided AI provider keys in the workspace
|
|
100
|
+
#
|
|
101
|
+
# @overload list(workspace_id, cursor: nil, limit: nil, prefix: nil, query: nil, sort_order: nil, request_options: {})
|
|
102
|
+
#
|
|
103
|
+
# @param workspace_id [String] The workspace whose keys will be listed.
|
|
104
|
+
#
|
|
105
|
+
# @param cursor [String] Pagination cursor from previous response
|
|
106
|
+
#
|
|
107
|
+
# @param limit [Integer] Maximum number of results to return
|
|
108
|
+
#
|
|
109
|
+
# @param prefix [String] Filter expression (query param: prefix)
|
|
110
|
+
#
|
|
111
|
+
# @param query [String] Free-form search query
|
|
112
|
+
#
|
|
113
|
+
# @param sort_order [String] Sort order for results (asc or desc by creation time)
|
|
114
|
+
#
|
|
115
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
116
|
+
#
|
|
117
|
+
# @return [Cadenya::Internal::CursorPagination<Cadenya::Models::AIProviderKey>]
|
|
118
|
+
#
|
|
119
|
+
# @see Cadenya::Models::AIProviderKeyListParams
|
|
120
|
+
def list(workspace_id, params = {})
|
|
121
|
+
parsed, options = Cadenya::AIProviderKeyListParams.dump_request(params)
|
|
122
|
+
query = Cadenya::Internal::Util.encode_query_params(parsed)
|
|
123
|
+
@client.request(
|
|
124
|
+
method: :get,
|
|
125
|
+
path: ["v1/workspaces/%1$s/ai_provider_keys", workspace_id],
|
|
126
|
+
query: query.transform_keys(sort_order: "sortOrder"),
|
|
127
|
+
page: Cadenya::Internal::CursorPagination,
|
|
128
|
+
model: Cadenya::AIProviderKey,
|
|
129
|
+
options: options
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Deletes an AI provider key from the workspace
|
|
134
|
+
#
|
|
135
|
+
# @overload delete(id, workspace_id:, request_options: {})
|
|
136
|
+
#
|
|
137
|
+
# @param id [String] The key to delete.
|
|
138
|
+
#
|
|
139
|
+
# @param workspace_id [String] The workspace the key belongs to.
|
|
140
|
+
#
|
|
141
|
+
# @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
142
|
+
#
|
|
143
|
+
# @return [nil]
|
|
144
|
+
#
|
|
145
|
+
# @see Cadenya::Models::AIProviderKeyDeleteParams
|
|
146
|
+
def delete(id, params)
|
|
147
|
+
parsed, options = Cadenya::AIProviderKeyDeleteParams.dump_request(params)
|
|
148
|
+
workspace_id =
|
|
149
|
+
parsed.delete(:workspace_id) do
|
|
150
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
151
|
+
end
|
|
152
|
+
@client.request(
|
|
153
|
+
method: :delete,
|
|
154
|
+
path: ["v1/workspaces/%1$s/ai_provider_keys/%2$s", workspace_id, id],
|
|
155
|
+
model: NilClass,
|
|
156
|
+
options: options
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# @api private
|
|
161
|
+
#
|
|
162
|
+
# @param client [Cadenya::Client]
|
|
163
|
+
def initialize(client:)
|
|
164
|
+
@client = client
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
data/lib/cadenya/version.rb
CHANGED
data/lib/cadenya.rb
CHANGED
|
@@ -108,6 +108,13 @@ require_relative "cadenya/models/agent_schedule_entry"
|
|
|
108
108
|
require_relative "cadenya/models/agent_spec"
|
|
109
109
|
require_relative "cadenya/models/agent_update_params"
|
|
110
110
|
require_relative "cadenya/models/agent_variation_entry"
|
|
111
|
+
require_relative "cadenya/models/ai_provider_key"
|
|
112
|
+
require_relative "cadenya/models/ai_provider_key_create_params"
|
|
113
|
+
require_relative "cadenya/models/ai_provider_key_delete_params"
|
|
114
|
+
require_relative "cadenya/models/ai_provider_key_list_params"
|
|
115
|
+
require_relative "cadenya/models/ai_provider_key_retrieve_params"
|
|
116
|
+
require_relative "cadenya/models/ai_provider_key_spec"
|
|
117
|
+
require_relative "cadenya/models/ai_provider_key_update_params"
|
|
111
118
|
require_relative "cadenya/models/api_key"
|
|
112
119
|
require_relative "cadenya/models/api_key_create_params"
|
|
113
120
|
require_relative "cadenya/models/api_key_delete_params"
|
|
@@ -309,6 +316,7 @@ require_relative "cadenya/resources/agents/feedback"
|
|
|
309
316
|
require_relative "cadenya/resources/agents/schedules"
|
|
310
317
|
require_relative "cadenya/resources/agents/variations"
|
|
311
318
|
require_relative "cadenya/resources/agents/webhook_deliveries"
|
|
319
|
+
require_relative "cadenya/resources/ai_provider_keys"
|
|
312
320
|
require_relative "cadenya/resources/api_keys"
|
|
313
321
|
require_relative "cadenya/resources/api_keys/access"
|
|
314
322
|
require_relative "cadenya/resources/bulk_workspace_resources"
|
data/rbi/cadenya/client.rbi
CHANGED
|
@@ -16,6 +16,9 @@ module Cadenya
|
|
|
16
16
|
sig { returns(T.nilable(String)) }
|
|
17
17
|
attr_reader :webhook_key
|
|
18
18
|
|
|
19
|
+
sig { returns(Cadenya::Resources::AIProviderKeys) }
|
|
20
|
+
attr_reader :ai_provider_keys
|
|
21
|
+
|
|
19
22
|
# Manage the authenticated account. Accounts are the top-level organizational unit
|
|
20
23
|
# and contain one or more workspaces.
|
|
21
24
|
sig { returns(Cadenya::Resources::Account) }
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class AIProviderKey < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Cadenya::AIProviderKey, Cadenya::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
12
|
+
sig { returns(Cadenya::ResourceMetadata) }
|
|
13
|
+
attr_reader :metadata
|
|
14
|
+
|
|
15
|
+
sig { params(metadata: Cadenya::ResourceMetadata::OrHash).void }
|
|
16
|
+
attr_writer :metadata
|
|
17
|
+
|
|
18
|
+
sig { returns(Cadenya::AIProviderKeySpec) }
|
|
19
|
+
attr_reader :spec
|
|
20
|
+
|
|
21
|
+
sig { params(spec: Cadenya::AIProviderKeySpec::OrHash).void }
|
|
22
|
+
attr_writer :spec
|
|
23
|
+
|
|
24
|
+
# AIProviderKey is a customer-provided (BYOK) credential for an AI provider,
|
|
25
|
+
# scoped to a workspace. The secret value is never returned in responses.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
metadata: Cadenya::ResourceMetadata::OrHash,
|
|
29
|
+
spec: Cadenya::AIProviderKeySpec::OrHash
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(
|
|
33
|
+
# Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
34
|
+
metadata:,
|
|
35
|
+
spec:
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
sig do
|
|
40
|
+
override.returns(
|
|
41
|
+
{
|
|
42
|
+
metadata: Cadenya::ResourceMetadata,
|
|
43
|
+
spec: Cadenya::AIProviderKeySpec
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
def to_hash
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|