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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -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 +66 -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 +73 -0
- data/lib/cadenya/models/ai_provider_key_retrieve_params.rb +26 -0
- data/lib/cadenya/models/ai_provider_key_spec.rb +51 -0
- data/lib/cadenya/models/ai_provider_key_update_params.rb +56 -0
- data/lib/cadenya/models/model.rb +56 -1
- data/lib/cadenya/models/model_list_params.rb +22 -1
- data/lib/cadenya/models.rb +14 -0
- data/lib/cadenya/resources/ai_provider_keys.rb +173 -0
- data/lib/cadenya/resources/models.rb +14 -2
- 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 +109 -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 +109 -0
- data/rbi/cadenya/models/ai_provider_key_retrieve_params.rbi +46 -0
- data/rbi/cadenya/models/ai_provider_key_spec.rbi +98 -0
- data/rbi/cadenya/models/ai_provider_key_update_params.rbi +82 -0
- data/rbi/cadenya/models/model.rbi +102 -3
- data/rbi/cadenya/models/model_list_params.rbi +26 -0
- data/rbi/cadenya/models.rbi +14 -0
- data/rbi/cadenya/resources/ai_provider_keys.rbi +129 -0
- data/rbi/cadenya/resources/models.rbi +8 -0
- data/sig/cadenya/client.rbs +2 -0
- data/sig/cadenya/models/ai_provider_key.rbs +55 -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 +68 -0
- data/sig/cadenya/models/ai_provider_key_retrieve_params.rbs +28 -0
- data/sig/cadenya/models/ai_provider_key_spec.rbs +49 -0
- data/sig/cadenya/models/ai_provider_key_update_params.rbs +54 -0
- data/sig/cadenya/models/model.rbs +52 -3
- data/sig/cadenya/models/model_list_params.rbs +14 -0
- data/sig/cadenya/models.rbs +14 -0
- data/sig/cadenya/resources/ai_provider_keys.rbs +46 -0
- data/sig/cadenya/resources/models.rbs +2 -0
- 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
|
-
{
|
|
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,
|
data/rbi/cadenya/models.rbi
CHANGED
|
@@ -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
|
data/sig/cadenya/client.rbs
CHANGED
|
@@ -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
|