cadenya 0.20.0 → 0.22.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 +21 -0
- data/README.md +1 -1
- data/lib/cadenya/client.rb +0 -7
- data/lib/cadenya/models/agent_list_params.rb +1 -9
- data/lib/cadenya/models/agents/schedule_list_params.rb +1 -9
- data/lib/cadenya/models/agents/variation_list_params.rb +1 -9
- data/lib/cadenya/models/ai_provider_key_spec.rb +168 -14
- data/lib/cadenya/models/api_key_list_params.rb +1 -9
- data/lib/cadenya/models/create_resource_metadata.rb +1 -9
- data/lib/cadenya/models/memory_layer_list_params.rb +1 -9
- data/lib/cadenya/models/memory_layers/entry_list_params.rb +1 -9
- data/lib/cadenya/models/model_list_params.rb +1 -9
- data/lib/cadenya/models/resource_metadata.rb +1 -12
- data/lib/cadenya/models/tool_set_list_params.rb +1 -9
- data/lib/cadenya/models/tool_sets/secret_list_params.rb +1 -9
- data/lib/cadenya/models/tool_sets/tool_list_params.rb +1 -9
- data/lib/cadenya/models/update_resource_metadata.rb +1 -9
- data/lib/cadenya/models/workspace_secret_list_params.rb +1 -9
- data/lib/cadenya/models.rb +0 -34
- data/lib/cadenya/resources/agents/schedules.rb +2 -8
- data/lib/cadenya/resources/agents/variations.rb +2 -8
- data/lib/cadenya/resources/agents.rb +1 -4
- data/lib/cadenya/resources/api_keys.rb +2 -8
- data/lib/cadenya/resources/memory_layers/entries.rb +2 -8
- data/lib/cadenya/resources/memory_layers.rb +1 -4
- data/lib/cadenya/resources/models.rb +1 -4
- data/lib/cadenya/resources/tool_sets/secrets.rb +2 -8
- data/lib/cadenya/resources/tool_sets/tools.rb +1 -4
- data/lib/cadenya/resources/tool_sets.rb +2 -8
- data/lib/cadenya/resources/workspace_secrets.rb +2 -8
- data/lib/cadenya/version.rb +1 -1
- data/lib/cadenya.rb +0 -30
- data/rbi/cadenya/client.rbi +0 -6
- data/rbi/cadenya/models/agent_list_params.rbi +0 -11
- data/rbi/cadenya/models/agents/schedule_list_params.rbi +0 -11
- data/rbi/cadenya/models/agents/variation_list_params.rbi +0 -11
- data/rbi/cadenya/models/ai_provider_key_spec.rbi +363 -24
- data/rbi/cadenya/models/api_key_list_params.rbi +0 -11
- data/rbi/cadenya/models/create_resource_metadata.rbi +1 -16
- data/rbi/cadenya/models/memory_layer_list_params.rbi +0 -11
- data/rbi/cadenya/models/memory_layers/entry_list_params.rbi +0 -11
- data/rbi/cadenya/models/model_list_params.rbi +0 -11
- data/rbi/cadenya/models/resource_metadata.rbi +0 -17
- data/rbi/cadenya/models/tool_set_list_params.rbi +0 -11
- data/rbi/cadenya/models/tool_sets/secret_list_params.rbi +0 -11
- data/rbi/cadenya/models/tool_sets/tool_list_params.rbi +0 -11
- data/rbi/cadenya/models/update_resource_metadata.rbi +1 -16
- data/rbi/cadenya/models/workspace_secret_list_params.rbi +0 -11
- data/rbi/cadenya/models.rbi +0 -37
- data/rbi/cadenya/resources/agents/schedules.rbi +0 -3
- data/rbi/cadenya/resources/agents/variations.rbi +0 -3
- data/rbi/cadenya/resources/agents.rbi +0 -3
- data/rbi/cadenya/resources/api_keys.rbi +0 -3
- data/rbi/cadenya/resources/memory_layers/entries.rbi +0 -3
- data/rbi/cadenya/resources/memory_layers.rbi +0 -3
- data/rbi/cadenya/resources/models.rbi +0 -3
- data/rbi/cadenya/resources/tool_sets/secrets.rbi +0 -3
- data/rbi/cadenya/resources/tool_sets/tools.rbi +0 -3
- data/rbi/cadenya/resources/tool_sets.rbi +0 -3
- data/rbi/cadenya/resources/workspace_secrets.rbi +0 -3
- data/sig/cadenya/client.rbs +0 -2
- data/sig/cadenya/models/agent_list_params.rbs +0 -7
- data/sig/cadenya/models/agents/schedule_list_params.rbs +0 -7
- data/sig/cadenya/models/agents/variation_list_params.rbs +0 -7
- data/sig/cadenya/models/ai_provider_key_spec.rbs +161 -11
- data/sig/cadenya/models/api_key_list_params.rbs +0 -7
- data/sig/cadenya/models/create_resource_metadata.rbs +1 -12
- data/sig/cadenya/models/memory_layer_list_params.rbs +0 -7
- data/sig/cadenya/models/memory_layers/entry_list_params.rbs +0 -7
- data/sig/cadenya/models/model_list_params.rbs +0 -7
- data/sig/cadenya/models/resource_metadata.rbs +0 -7
- data/sig/cadenya/models/tool_set_list_params.rbs +0 -7
- data/sig/cadenya/models/tool_sets/secret_list_params.rbs +0 -7
- data/sig/cadenya/models/tool_sets/tool_list_params.rbs +0 -7
- data/sig/cadenya/models/update_resource_metadata.rbs +1 -12
- data/sig/cadenya/models/workspace_secret_list_params.rbs +0 -7
- data/sig/cadenya/models.rbs +0 -34
- data/sig/cadenya/resources/agents/schedules.rbs +0 -1
- data/sig/cadenya/resources/agents/variations.rbs +0 -1
- data/sig/cadenya/resources/agents.rbs +0 -1
- data/sig/cadenya/resources/api_keys.rbs +0 -1
- data/sig/cadenya/resources/memory_layers/entries.rbs +0 -1
- data/sig/cadenya/resources/memory_layers.rbs +0 -1
- data/sig/cadenya/resources/models.rbs +0 -1
- data/sig/cadenya/resources/tool_sets/secrets.rbs +0 -1
- data/sig/cadenya/resources/tool_sets/tools.rbs +0 -1
- data/sig/cadenya/resources/tool_sets.rbs +0 -1
- data/sig/cadenya/resources/workspace_secrets.rbs +0 -1
- metadata +2 -92
- data/lib/cadenya/models/agent_entry.rb +0 -76
- data/lib/cadenya/models/agent_schedule_entry.rb +0 -60
- data/lib/cadenya/models/agent_variation_entry.rb +0 -52
- data/lib/cadenya/models/bulk_workspace_apply.rb +0 -46
- data/lib/cadenya/models/bulk_workspace_apply_data.rb +0 -75
- data/lib/cadenya/models/bulk_workspace_apply_info.rb +0 -79
- data/lib/cadenya/models/bulk_workspace_apply_status.rb +0 -115
- data/lib/cadenya/models/bulk_workspace_resource_apply_params.rb +0 -26
- data/lib/cadenya/models/bulk_workspace_resource_list_params.rb +0 -78
- data/lib/cadenya/models/bulk_workspace_resource_retrieve_params.rb +0 -26
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result.rb +0 -40
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data.rb +0 -95
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_outcome.rb +0 -124
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_schedule_outcome.rb +0 -126
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_variation_outcome.rb +0 -125
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_entry_outcome.rb +0 -133
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_layer_outcome.rb +0 -130
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_outcome.rb +0 -123
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_set_outcome.rb +0 -123
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_assignment_outcome.rb +0 -125
- data/lib/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_memory_layer_outcome.rb +0 -123
- data/lib/cadenya/models/bulk_workspace_resources/result_list_params.rb +0 -85
- data/lib/cadenya/models/memory_entry_item.rb +0 -33
- data/lib/cadenya/models/memory_layer_entry.rb +0 -37
- data/lib/cadenya/models/tool_entry.rb +0 -57
- data/lib/cadenya/models/tool_set_entry.rb +0 -37
- data/lib/cadenya/models/variation_assignment_entry.rb +0 -27
- data/lib/cadenya/models/variation_memory_layer_entry.rb +0 -23
- data/lib/cadenya/resources/bulk_workspace_resources/results.rb +0 -66
- data/lib/cadenya/resources/bulk_workspace_resources.rb +0 -113
- data/rbi/cadenya/models/agent_entry.rbi +0 -124
- data/rbi/cadenya/models/agent_schedule_entry.rbi +0 -104
- data/rbi/cadenya/models/agent_variation_entry.rbi +0 -87
- data/rbi/cadenya/models/bulk_workspace_apply.rbi +0 -72
- data/rbi/cadenya/models/bulk_workspace_apply_data.rbi +0 -122
- data/rbi/cadenya/models/bulk_workspace_apply_info.rbi +0 -116
- data/rbi/cadenya/models/bulk_workspace_apply_status.rbi +0 -259
- data/rbi/cadenya/models/bulk_workspace_resource_apply_params.rbi +0 -49
- data/rbi/cadenya/models/bulk_workspace_resource_list_params.rbi +0 -169
- data/rbi/cadenya/models/bulk_workspace_resource_retrieve_params.rbi +0 -46
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result.rbi +0 -78
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data.rbi +0 -246
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_outcome.rbi +0 -291
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_schedule_outcome.rbi +0 -293
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_variation_outcome.rbi +0 -291
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_entry_outcome.rbi +0 -309
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_layer_outcome.rbi +0 -301
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_outcome.rbi +0 -289
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_set_outcome.rbi +0 -289
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_assignment_outcome.rbi +0 -298
- data/rbi/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_memory_layer_outcome.rbi +0 -298
- data/rbi/cadenya/models/bulk_workspace_resources/result_list_params.rbi +0 -175
- data/rbi/cadenya/models/memory_entry_item.rbi +0 -57
- data/rbi/cadenya/models/memory_layer_entry.rbi +0 -66
- data/rbi/cadenya/models/tool_entry.rbi +0 -88
- data/rbi/cadenya/models/tool_set_entry.rbi +0 -64
- data/rbi/cadenya/models/variation_assignment_entry.rbi +0 -48
- data/rbi/cadenya/models/variation_memory_layer_entry.rbi +0 -41
- data/rbi/cadenya/resources/bulk_workspace_resources/results.rbi +0 -54
- data/rbi/cadenya/resources/bulk_workspace_resources.rbi +0 -87
- data/sig/cadenya/models/agent_entry.rbs +0 -73
- data/sig/cadenya/models/agent_schedule_entry.rbs +0 -55
- data/sig/cadenya/models/agent_variation_entry.rbs +0 -50
- data/sig/cadenya/models/bulk_workspace_apply.rbs +0 -39
- data/sig/cadenya/models/bulk_workspace_apply_data.rbs +0 -61
- data/sig/cadenya/models/bulk_workspace_apply_info.rbs +0 -78
- data/sig/cadenya/models/bulk_workspace_apply_status.rbs +0 -108
- data/sig/cadenya/models/bulk_workspace_resource_apply_params.rbs +0 -28
- data/sig/cadenya/models/bulk_workspace_resource_list_params.rbs +0 -88
- data/sig/cadenya/models/bulk_workspace_resource_retrieve_params.rbs +0 -28
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result.rbs +0 -27
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data.rbs +0 -105
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_outcome.rbs +0 -117
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_schedule_outcome.rbs +0 -119
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_agent_variation_outcome.rbs +0 -119
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_entry_outcome.rbs +0 -119
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_memory_layer_outcome.rbs +0 -117
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_outcome.rbs +0 -117
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_tool_set_outcome.rbs +0 -117
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_assignment_outcome.rbs +0 -112
- data/sig/cadenya/models/bulk_workspace_resources/bulk_workspace_apply_result_data_variation_memory_layer_outcome.rbs +0 -112
- data/sig/cadenya/models/bulk_workspace_resources/result_list_params.rbs +0 -91
- data/sig/cadenya/models/memory_entry_item.rbs +0 -36
- data/sig/cadenya/models/memory_layer_entry.rbs +0 -41
- data/sig/cadenya/models/tool_entry.rbs +0 -55
- data/sig/cadenya/models/tool_set_entry.rbs +0 -41
- data/sig/cadenya/models/variation_assignment_entry.rbs +0 -32
- data/sig/cadenya/models/variation_memory_layer_entry.rbs +0 -20
- data/sig/cadenya/resources/bulk_workspace_resources/results.rbs +0 -20
- data/sig/cadenya/resources/bulk_workspace_resources.rbs +0 -31
|
@@ -21,13 +21,6 @@ module Cadenya
|
|
|
21
21
|
sig { returns(String) }
|
|
22
22
|
attr_accessor :agent_id
|
|
23
23
|
|
|
24
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
25
|
-
sig { returns(T.nilable(String)) }
|
|
26
|
-
attr_reader :bundle_key
|
|
27
|
-
|
|
28
|
-
sig { params(bundle_key: String).void }
|
|
29
|
-
attr_writer :bundle_key
|
|
30
|
-
|
|
31
24
|
# Pagination cursor from previous response
|
|
32
25
|
sig { returns(T.nilable(String)) }
|
|
33
26
|
attr_reader :cursor
|
|
@@ -61,7 +54,6 @@ module Cadenya
|
|
|
61
54
|
params(
|
|
62
55
|
workspace_id: String,
|
|
63
56
|
agent_id: String,
|
|
64
|
-
bundle_key: String,
|
|
65
57
|
cursor: String,
|
|
66
58
|
include_info: T::Boolean,
|
|
67
59
|
limit: Integer,
|
|
@@ -72,8 +64,6 @@ module Cadenya
|
|
|
72
64
|
def self.new(
|
|
73
65
|
workspace_id:,
|
|
74
66
|
agent_id:,
|
|
75
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
76
|
-
bundle_key: nil,
|
|
77
67
|
# Pagination cursor from previous response
|
|
78
68
|
cursor: nil,
|
|
79
69
|
# When true, the `info` field on each returned variation is populated. Requests
|
|
@@ -92,7 +82,6 @@ module Cadenya
|
|
|
92
82
|
{
|
|
93
83
|
workspace_id: String,
|
|
94
84
|
agent_id: String,
|
|
95
|
-
bundle_key: String,
|
|
96
85
|
cursor: String,
|
|
97
86
|
include_info: T::Boolean,
|
|
98
87
|
limit: Integer,
|
|
@@ -8,22 +8,29 @@ module Cadenya
|
|
|
8
8
|
T.any(Cadenya::AIProviderKeySpec, Cadenya::Internal::AnyHash)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
# AIProviderConfig holds non-secret, provider-specific settings. The set case must
|
|
12
|
+
# correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
|
|
13
|
+
# Gemini) simply leave this unset. The endpoint of a named provider is fixed and
|
|
14
|
+
# intentionally not overridable here; use the OpenAI-compatible provider to target
|
|
15
|
+
# a custom endpoint.
|
|
16
|
+
sig { returns(T.nilable(Cadenya::AIProviderKeySpec::Config)) }
|
|
17
|
+
attr_reader :config
|
|
15
18
|
|
|
16
|
-
sig { params(
|
|
17
|
-
attr_writer :
|
|
19
|
+
sig { params(config: Cadenya::AIProviderKeySpec::Config::OrHash).void }
|
|
20
|
+
attr_writer :config
|
|
18
21
|
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
sig { returns(T.nilable(
|
|
23
|
-
attr_reader :
|
|
22
|
+
# AIProviderCredential is the secret material used to authenticate with a
|
|
23
|
+
# provider. The set case must correspond to AIProviderKeySpec.provider. The server
|
|
24
|
+
# encrypts the serialized message at rest and never returns it on reads.
|
|
25
|
+
sig { returns(T.nilable(Cadenya::AIProviderKeySpec::Credentials)) }
|
|
26
|
+
attr_reader :credentials
|
|
24
27
|
|
|
25
|
-
sig
|
|
26
|
-
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
credentials: Cadenya::AIProviderKeySpec::Credentials::OrHash
|
|
31
|
+
).void
|
|
32
|
+
end
|
|
33
|
+
attr_writer :credentials
|
|
27
34
|
|
|
28
35
|
# The AI provider this key authenticates against.
|
|
29
36
|
sig { returns(T.nilable(Cadenya::AIProviderKeySpec::Provider::OrSymbol)) }
|
|
@@ -36,19 +43,22 @@ module Cadenya
|
|
|
36
43
|
|
|
37
44
|
sig do
|
|
38
45
|
params(
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
config: Cadenya::AIProviderKeySpec::Config::OrHash,
|
|
47
|
+
credentials: Cadenya::AIProviderKeySpec::Credentials::OrHash,
|
|
41
48
|
provider: Cadenya::AIProviderKeySpec::Provider::OrSymbol
|
|
42
49
|
).returns(T.attached_class)
|
|
43
50
|
end
|
|
44
51
|
def self.new(
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
# AIProviderConfig holds non-secret, provider-specific settings. The set case must
|
|
53
|
+
# correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
|
|
54
|
+
# Gemini) simply leave this unset. The endpoint of a named provider is fixed and
|
|
55
|
+
# intentionally not overridable here; use the OpenAI-compatible provider to target
|
|
56
|
+
# a custom endpoint.
|
|
57
|
+
config: nil,
|
|
58
|
+
# AIProviderCredential is the secret material used to authenticate with a
|
|
59
|
+
# provider. The set case must correspond to AIProviderKeySpec.provider. The server
|
|
60
|
+
# encrypts the serialized message at rest and never returns it on reads.
|
|
61
|
+
credentials: nil,
|
|
52
62
|
# The AI provider this key authenticates against.
|
|
53
63
|
provider: nil
|
|
54
64
|
)
|
|
@@ -57,8 +67,8 @@ module Cadenya
|
|
|
57
67
|
sig do
|
|
58
68
|
override.returns(
|
|
59
69
|
{
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
config: Cadenya::AIProviderKeySpec::Config,
|
|
71
|
+
credentials: Cadenya::AIProviderKeySpec::Credentials,
|
|
62
72
|
provider: Cadenya::AIProviderKeySpec::Provider::OrSymbol
|
|
63
73
|
}
|
|
64
74
|
)
|
|
@@ -66,6 +76,315 @@ module Cadenya
|
|
|
66
76
|
def to_hash
|
|
67
77
|
end
|
|
68
78
|
|
|
79
|
+
class Config < Cadenya::Internal::Type::BaseModel
|
|
80
|
+
OrHash =
|
|
81
|
+
T.type_alias do
|
|
82
|
+
T.any(
|
|
83
|
+
Cadenya::AIProviderKeySpec::Config,
|
|
84
|
+
Cadenya::Internal::AnyHash
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# OpenAIConfig holds OpenAI-specific settings.
|
|
89
|
+
sig { returns(T.nilable(Cadenya::AIProviderKeySpec::Config::OpenAI)) }
|
|
90
|
+
attr_reader :openai
|
|
91
|
+
|
|
92
|
+
sig do
|
|
93
|
+
params(
|
|
94
|
+
openai: Cadenya::AIProviderKeySpec::Config::OpenAI::OrHash
|
|
95
|
+
).void
|
|
96
|
+
end
|
|
97
|
+
attr_writer :openai
|
|
98
|
+
|
|
99
|
+
# OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
|
|
100
|
+
# Completions API. The base URL is required and its model catalog is discovered
|
|
101
|
+
# live via GET {base_url}/models.
|
|
102
|
+
sig do
|
|
103
|
+
returns(
|
|
104
|
+
T.nilable(Cadenya::AIProviderKeySpec::Config::OpenAICompatible)
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
attr_reader :openai_compatible
|
|
108
|
+
|
|
109
|
+
sig do
|
|
110
|
+
params(
|
|
111
|
+
openai_compatible:
|
|
112
|
+
Cadenya::AIProviderKeySpec::Config::OpenAICompatible::OrHash
|
|
113
|
+
).void
|
|
114
|
+
end
|
|
115
|
+
attr_writer :openai_compatible
|
|
116
|
+
|
|
117
|
+
# OpenRouterConfig holds OpenRouter-specific settings.
|
|
118
|
+
sig do
|
|
119
|
+
returns(T.nilable(Cadenya::AIProviderKeySpec::Config::Openrouter))
|
|
120
|
+
end
|
|
121
|
+
attr_reader :openrouter
|
|
122
|
+
|
|
123
|
+
sig do
|
|
124
|
+
params(
|
|
125
|
+
openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter::OrHash
|
|
126
|
+
).void
|
|
127
|
+
end
|
|
128
|
+
attr_writer :openrouter
|
|
129
|
+
|
|
130
|
+
# AIProviderConfig holds non-secret, provider-specific settings. The set case must
|
|
131
|
+
# correspond to AIProviderKeySpec.provider. Providers with no settings (Anthropic,
|
|
132
|
+
# Gemini) simply leave this unset. The endpoint of a named provider is fixed and
|
|
133
|
+
# intentionally not overridable here; use the OpenAI-compatible provider to target
|
|
134
|
+
# a custom endpoint.
|
|
135
|
+
sig do
|
|
136
|
+
params(
|
|
137
|
+
openai: Cadenya::AIProviderKeySpec::Config::OpenAI::OrHash,
|
|
138
|
+
openai_compatible:
|
|
139
|
+
Cadenya::AIProviderKeySpec::Config::OpenAICompatible::OrHash,
|
|
140
|
+
openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter::OrHash
|
|
141
|
+
).returns(T.attached_class)
|
|
142
|
+
end
|
|
143
|
+
def self.new(
|
|
144
|
+
# OpenAIConfig holds OpenAI-specific settings.
|
|
145
|
+
openai: nil,
|
|
146
|
+
# OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
|
|
147
|
+
# Completions API. The base URL is required and its model catalog is discovered
|
|
148
|
+
# live via GET {base_url}/models.
|
|
149
|
+
openai_compatible: nil,
|
|
150
|
+
# OpenRouterConfig holds OpenRouter-specific settings.
|
|
151
|
+
openrouter: nil
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
sig do
|
|
156
|
+
override.returns(
|
|
157
|
+
{
|
|
158
|
+
openai: Cadenya::AIProviderKeySpec::Config::OpenAI,
|
|
159
|
+
openai_compatible:
|
|
160
|
+
Cadenya::AIProviderKeySpec::Config::OpenAICompatible,
|
|
161
|
+
openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
end
|
|
165
|
+
def to_hash
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
class OpenAI < Cadenya::Internal::Type::BaseModel
|
|
169
|
+
OrHash =
|
|
170
|
+
T.type_alias do
|
|
171
|
+
T.any(
|
|
172
|
+
Cadenya::AIProviderKeySpec::Config::OpenAI,
|
|
173
|
+
Cadenya::Internal::AnyHash
|
|
174
|
+
)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Sent as the OpenAI-Organization header when set.
|
|
178
|
+
sig { returns(T.nilable(String)) }
|
|
179
|
+
attr_reader :organization_id
|
|
180
|
+
|
|
181
|
+
sig { params(organization_id: String).void }
|
|
182
|
+
attr_writer :organization_id
|
|
183
|
+
|
|
184
|
+
# Sent as the OpenAI-Project header when set.
|
|
185
|
+
sig { returns(T.nilable(String)) }
|
|
186
|
+
attr_reader :project_id
|
|
187
|
+
|
|
188
|
+
sig { params(project_id: String).void }
|
|
189
|
+
attr_writer :project_id
|
|
190
|
+
|
|
191
|
+
# OpenAIConfig holds OpenAI-specific settings.
|
|
192
|
+
sig do
|
|
193
|
+
params(organization_id: String, project_id: String).returns(
|
|
194
|
+
T.attached_class
|
|
195
|
+
)
|
|
196
|
+
end
|
|
197
|
+
def self.new(
|
|
198
|
+
# Sent as the OpenAI-Organization header when set.
|
|
199
|
+
organization_id: nil,
|
|
200
|
+
# Sent as the OpenAI-Project header when set.
|
|
201
|
+
project_id: nil
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
sig do
|
|
206
|
+
override.returns({ organization_id: String, project_id: String })
|
|
207
|
+
end
|
|
208
|
+
def to_hash
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
class OpenAICompatible < Cadenya::Internal::Type::BaseModel
|
|
213
|
+
OrHash =
|
|
214
|
+
T.type_alias do
|
|
215
|
+
T.any(
|
|
216
|
+
Cadenya::AIProviderKeySpec::Config::OpenAICompatible,
|
|
217
|
+
Cadenya::Internal::AnyHash
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
sig { returns(T.nilable(String)) }
|
|
222
|
+
attr_reader :base_url
|
|
223
|
+
|
|
224
|
+
sig { params(base_url: String).void }
|
|
225
|
+
attr_writer :base_url
|
|
226
|
+
|
|
227
|
+
# OpenAICompatibleConfig configures a generic endpoint that speaks the OpenAI Chat
|
|
228
|
+
# Completions API. The base URL is required and its model catalog is discovered
|
|
229
|
+
# live via GET {base_url}/models.
|
|
230
|
+
sig { params(base_url: String).returns(T.attached_class) }
|
|
231
|
+
def self.new(base_url: nil)
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
sig { override.returns({ base_url: String }) }
|
|
235
|
+
def to_hash
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
class Openrouter < Cadenya::Internal::Type::BaseModel
|
|
240
|
+
OrHash =
|
|
241
|
+
T.type_alias do
|
|
242
|
+
T.any(
|
|
243
|
+
Cadenya::AIProviderKeySpec::Config::Openrouter,
|
|
244
|
+
Cadenya::Internal::AnyHash
|
|
245
|
+
)
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
# Data-residency region (e.g. "us", "eu"). Empty uses the provider default.
|
|
249
|
+
sig { returns(T.nilable(String)) }
|
|
250
|
+
attr_reader :region
|
|
251
|
+
|
|
252
|
+
sig { params(region: String).void }
|
|
253
|
+
attr_writer :region
|
|
254
|
+
|
|
255
|
+
# OpenRouterConfig holds OpenRouter-specific settings.
|
|
256
|
+
sig { params(region: String).returns(T.attached_class) }
|
|
257
|
+
def self.new(
|
|
258
|
+
# Data-residency region (e.g. "us", "eu"). Empty uses the provider default.
|
|
259
|
+
region: nil
|
|
260
|
+
)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
sig { override.returns({ region: String }) }
|
|
264
|
+
def to_hash
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
class Credentials < Cadenya::Internal::Type::BaseModel
|
|
270
|
+
OrHash =
|
|
271
|
+
T.type_alias do
|
|
272
|
+
T.any(
|
|
273
|
+
Cadenya::AIProviderKeySpec::Credentials,
|
|
274
|
+
Cadenya::Internal::AnyHash
|
|
275
|
+
)
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# CredentialAPIKey carries a single bearer/header API key.
|
|
279
|
+
sig do
|
|
280
|
+
returns(T.nilable(Cadenya::AIProviderKeySpec::Credentials::APIKey))
|
|
281
|
+
end
|
|
282
|
+
attr_reader :api_key
|
|
283
|
+
|
|
284
|
+
sig do
|
|
285
|
+
params(
|
|
286
|
+
api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey::OrHash
|
|
287
|
+
).void
|
|
288
|
+
end
|
|
289
|
+
attr_writer :api_key
|
|
290
|
+
|
|
291
|
+
# CredentialHeaders carries arbitrary HTTP headers sent with every request to the
|
|
292
|
+
# provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
|
|
293
|
+
sig do
|
|
294
|
+
returns(T.nilable(Cadenya::AIProviderKeySpec::Credentials::Headers))
|
|
295
|
+
end
|
|
296
|
+
attr_reader :headers
|
|
297
|
+
|
|
298
|
+
sig do
|
|
299
|
+
params(
|
|
300
|
+
headers: Cadenya::AIProviderKeySpec::Credentials::Headers::OrHash
|
|
301
|
+
).void
|
|
302
|
+
end
|
|
303
|
+
attr_writer :headers
|
|
304
|
+
|
|
305
|
+
# AIProviderCredential is the secret material used to authenticate with a
|
|
306
|
+
# provider. The set case must correspond to AIProviderKeySpec.provider. The server
|
|
307
|
+
# encrypts the serialized message at rest and never returns it on reads.
|
|
308
|
+
sig do
|
|
309
|
+
params(
|
|
310
|
+
api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey::OrHash,
|
|
311
|
+
headers: Cadenya::AIProviderKeySpec::Credentials::Headers::OrHash
|
|
312
|
+
).returns(T.attached_class)
|
|
313
|
+
end
|
|
314
|
+
def self.new(
|
|
315
|
+
# CredentialAPIKey carries a single bearer/header API key.
|
|
316
|
+
api_key: nil,
|
|
317
|
+
# CredentialHeaders carries arbitrary HTTP headers sent with every request to the
|
|
318
|
+
# provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
|
|
319
|
+
headers: nil
|
|
320
|
+
)
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
sig do
|
|
324
|
+
override.returns(
|
|
325
|
+
{
|
|
326
|
+
api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey,
|
|
327
|
+
headers: Cadenya::AIProviderKeySpec::Credentials::Headers
|
|
328
|
+
}
|
|
329
|
+
)
|
|
330
|
+
end
|
|
331
|
+
def to_hash
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
class APIKey < Cadenya::Internal::Type::BaseModel
|
|
335
|
+
OrHash =
|
|
336
|
+
T.type_alias do
|
|
337
|
+
T.any(
|
|
338
|
+
Cadenya::AIProviderKeySpec::Credentials::APIKey,
|
|
339
|
+
Cadenya::Internal::AnyHash
|
|
340
|
+
)
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
sig { returns(T.nilable(String)) }
|
|
344
|
+
attr_reader :api_key
|
|
345
|
+
|
|
346
|
+
sig { params(api_key: String).void }
|
|
347
|
+
attr_writer :api_key
|
|
348
|
+
|
|
349
|
+
# CredentialAPIKey carries a single bearer/header API key.
|
|
350
|
+
sig { params(api_key: String).returns(T.attached_class) }
|
|
351
|
+
def self.new(api_key: nil)
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
sig { override.returns({ api_key: String }) }
|
|
355
|
+
def to_hash
|
|
356
|
+
end
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
class Headers < Cadenya::Internal::Type::BaseModel
|
|
360
|
+
OrHash =
|
|
361
|
+
T.type_alias do
|
|
362
|
+
T.any(
|
|
363
|
+
Cadenya::AIProviderKeySpec::Credentials::Headers,
|
|
364
|
+
Cadenya::Internal::AnyHash
|
|
365
|
+
)
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
369
|
+
attr_reader :headers
|
|
370
|
+
|
|
371
|
+
sig { params(headers: T::Hash[Symbol, String]).void }
|
|
372
|
+
attr_writer :headers
|
|
373
|
+
|
|
374
|
+
# CredentialHeaders carries arbitrary HTTP headers sent with every request to the
|
|
375
|
+
# provider (e.g. {"Authorization": "Bearer ...", "X-Api-Key": "..."}).
|
|
376
|
+
sig do
|
|
377
|
+
params(headers: T::Hash[Symbol, String]).returns(T.attached_class)
|
|
378
|
+
end
|
|
379
|
+
def self.new(headers: nil)
|
|
380
|
+
end
|
|
381
|
+
|
|
382
|
+
sig { override.returns({ headers: T::Hash[Symbol, String] }) }
|
|
383
|
+
def to_hash
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
end
|
|
387
|
+
|
|
69
388
|
# The AI provider this key authenticates against.
|
|
70
389
|
module Provider
|
|
71
390
|
extend Cadenya::Internal::Type::Enum
|
|
@@ -84,6 +403,26 @@ module Cadenya
|
|
|
84
403
|
:AI_PROVIDER_OPENROUTER,
|
|
85
404
|
Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
|
|
86
405
|
)
|
|
406
|
+
AI_PROVIDER_OPENAI =
|
|
407
|
+
T.let(
|
|
408
|
+
:AI_PROVIDER_OPENAI,
|
|
409
|
+
Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
|
|
410
|
+
)
|
|
411
|
+
AI_PROVIDER_ANTHROPIC =
|
|
412
|
+
T.let(
|
|
413
|
+
:AI_PROVIDER_ANTHROPIC,
|
|
414
|
+
Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
|
|
415
|
+
)
|
|
416
|
+
AI_PROVIDER_GEMINI =
|
|
417
|
+
T.let(
|
|
418
|
+
:AI_PROVIDER_GEMINI,
|
|
419
|
+
Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
|
|
420
|
+
)
|
|
421
|
+
AI_PROVIDER_OPENAI_COMPATIBLE =
|
|
422
|
+
T.let(
|
|
423
|
+
:AI_PROVIDER_OPENAI_COMPATIBLE,
|
|
424
|
+
Cadenya::AIProviderKeySpec::Provider::TaggedSymbol
|
|
425
|
+
)
|
|
87
426
|
|
|
88
427
|
sig do
|
|
89
428
|
override.returns(
|
|
@@ -11,13 +11,6 @@ module Cadenya
|
|
|
11
11
|
T.any(Cadenya::APIKeyListParams, Cadenya::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
15
|
-
sig { returns(T.nilable(String)) }
|
|
16
|
-
attr_reader :bundle_key
|
|
17
|
-
|
|
18
|
-
sig { params(bundle_key: String).void }
|
|
19
|
-
attr_writer :bundle_key
|
|
20
|
-
|
|
21
14
|
# Pagination cursor from previous response.
|
|
22
15
|
sig { returns(T.nilable(String)) }
|
|
23
16
|
attr_reader :cursor
|
|
@@ -63,7 +56,6 @@ module Cadenya
|
|
|
63
56
|
|
|
64
57
|
sig do
|
|
65
58
|
params(
|
|
66
|
-
bundle_key: String,
|
|
67
59
|
cursor: String,
|
|
68
60
|
include_info: T::Boolean,
|
|
69
61
|
limit: Integer,
|
|
@@ -74,8 +66,6 @@ module Cadenya
|
|
|
74
66
|
).returns(T.attached_class)
|
|
75
67
|
end
|
|
76
68
|
def self.new(
|
|
77
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
78
|
-
bundle_key: nil,
|
|
79
69
|
# Pagination cursor from previous response.
|
|
80
70
|
cursor: nil,
|
|
81
71
|
# When true, included info fields are populated. Requests with this flag count
|
|
@@ -96,7 +86,6 @@ module Cadenya
|
|
|
96
86
|
sig do
|
|
97
87
|
override.returns(
|
|
98
88
|
{
|
|
99
|
-
bundle_key: String,
|
|
100
89
|
cursor: String,
|
|
101
90
|
include_info: T::Boolean,
|
|
102
91
|
limit: Integer,
|
|
@@ -13,13 +13,6 @@ module Cadenya
|
|
|
13
13
|
sig { returns(String) }
|
|
14
14
|
attr_accessor :name
|
|
15
15
|
|
|
16
|
-
# Optional bundle ownership key. See ResourceMetadata.bundle_key.
|
|
17
|
-
sig { returns(T.nilable(String)) }
|
|
18
|
-
attr_reader :bundle_key
|
|
19
|
-
|
|
20
|
-
sig { params(bundle_key: String).void }
|
|
21
|
-
attr_writer :bundle_key
|
|
22
|
-
|
|
23
16
|
# External ID for the resource (e.g., a workflow ID from an external system)
|
|
24
17
|
sig { returns(T.nilable(String)) }
|
|
25
18
|
attr_reader :external_id
|
|
@@ -41,7 +34,6 @@ module Cadenya
|
|
|
41
34
|
sig do
|
|
42
35
|
params(
|
|
43
36
|
name: String,
|
|
44
|
-
bundle_key: String,
|
|
45
37
|
external_id: String,
|
|
46
38
|
labels: T::Hash[Symbol, String]
|
|
47
39
|
).returns(T.attached_class)
|
|
@@ -50,8 +42,6 @@ module Cadenya
|
|
|
50
42
|
# Human-readable name for the resource (e.g., "Customer Support Agent", "Email
|
|
51
43
|
# Tool")
|
|
52
44
|
name:,
|
|
53
|
-
# Optional bundle ownership key. See ResourceMetadata.bundle_key.
|
|
54
|
-
bundle_key: nil,
|
|
55
45
|
# External ID for the resource (e.g., a workflow ID from an external system)
|
|
56
46
|
external_id: nil,
|
|
57
47
|
# Arbitrary key-value pairs for categorization and filtering Examples:
|
|
@@ -62,12 +52,7 @@ module Cadenya
|
|
|
62
52
|
|
|
63
53
|
sig do
|
|
64
54
|
override.returns(
|
|
65
|
-
{
|
|
66
|
-
name: String,
|
|
67
|
-
bundle_key: String,
|
|
68
|
-
external_id: String,
|
|
69
|
-
labels: T::Hash[Symbol, String]
|
|
70
|
-
}
|
|
55
|
+
{ name: String, external_id: String, labels: T::Hash[Symbol, String] }
|
|
71
56
|
)
|
|
72
57
|
end
|
|
73
58
|
def to_hash
|
|
@@ -21,13 +21,6 @@ module Cadenya
|
|
|
21
21
|
sig { params(agent_id: String).void }
|
|
22
22
|
attr_writer :agent_id
|
|
23
23
|
|
|
24
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
25
|
-
sig { returns(T.nilable(String)) }
|
|
26
|
-
attr_reader :bundle_key
|
|
27
|
-
|
|
28
|
-
sig { params(bundle_key: String).void }
|
|
29
|
-
attr_writer :bundle_key
|
|
30
|
-
|
|
31
24
|
# Pagination cursor from previous response
|
|
32
25
|
sig { returns(T.nilable(String)) }
|
|
33
26
|
attr_reader :cursor
|
|
@@ -90,7 +83,6 @@ module Cadenya
|
|
|
90
83
|
params(
|
|
91
84
|
workspace_id: String,
|
|
92
85
|
agent_id: String,
|
|
93
|
-
bundle_key: String,
|
|
94
86
|
cursor: String,
|
|
95
87
|
episodic_key_prefix: String,
|
|
96
88
|
include_info: T::Boolean,
|
|
@@ -106,8 +98,6 @@ module Cadenya
|
|
|
106
98
|
workspace_id:,
|
|
107
99
|
# Filter to episodic layers belonging to this agent.
|
|
108
100
|
agent_id: nil,
|
|
109
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
110
|
-
bundle_key: nil,
|
|
111
101
|
# Pagination cursor from previous response
|
|
112
102
|
cursor: nil,
|
|
113
103
|
# Filter to episodic layers whose episodic key starts with this prefix (e.g.
|
|
@@ -135,7 +125,6 @@ module Cadenya
|
|
|
135
125
|
{
|
|
136
126
|
workspace_id: String,
|
|
137
127
|
agent_id: String,
|
|
138
|
-
bundle_key: String,
|
|
139
128
|
cursor: String,
|
|
140
129
|
episodic_key_prefix: String,
|
|
141
130
|
include_info: T::Boolean,
|
|
@@ -21,13 +21,6 @@ module Cadenya
|
|
|
21
21
|
sig { returns(String) }
|
|
22
22
|
attr_accessor :memory_layer_id
|
|
23
23
|
|
|
24
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
25
|
-
sig { returns(T.nilable(String)) }
|
|
26
|
-
attr_reader :bundle_key
|
|
27
|
-
|
|
28
|
-
sig { params(bundle_key: String).void }
|
|
29
|
-
attr_writer :bundle_key
|
|
30
|
-
|
|
31
24
|
# Pagination cursor from previous response
|
|
32
25
|
sig { returns(T.nilable(String)) }
|
|
33
26
|
attr_reader :cursor
|
|
@@ -75,7 +68,6 @@ module Cadenya
|
|
|
75
68
|
params(
|
|
76
69
|
workspace_id: String,
|
|
77
70
|
memory_layer_id: String,
|
|
78
|
-
bundle_key: String,
|
|
79
71
|
cursor: String,
|
|
80
72
|
include_info: T::Boolean,
|
|
81
73
|
limit: Integer,
|
|
@@ -88,8 +80,6 @@ module Cadenya
|
|
|
88
80
|
def self.new(
|
|
89
81
|
workspace_id:,
|
|
90
82
|
memory_layer_id:,
|
|
91
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
92
|
-
bundle_key: nil,
|
|
93
83
|
# Pagination cursor from previous response
|
|
94
84
|
cursor: nil,
|
|
95
85
|
# When set to true you may use more of your alloted API rate-limit
|
|
@@ -112,7 +102,6 @@ module Cadenya
|
|
|
112
102
|
{
|
|
113
103
|
workspace_id: String,
|
|
114
104
|
memory_layer_id: String,
|
|
115
|
-
bundle_key: String,
|
|
116
105
|
cursor: String,
|
|
117
106
|
include_info: T::Boolean,
|
|
118
107
|
limit: Integer,
|
|
@@ -22,13 +22,6 @@ module Cadenya
|
|
|
22
22
|
sig { params(ai_provider_key_id: String).void }
|
|
23
23
|
attr_writer :ai_provider_key_id
|
|
24
24
|
|
|
25
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
26
|
-
sig { returns(T.nilable(String)) }
|
|
27
|
-
attr_reader :bundle_key
|
|
28
|
-
|
|
29
|
-
sig { params(bundle_key: String).void }
|
|
30
|
-
attr_writer :bundle_key
|
|
31
|
-
|
|
32
25
|
# Pagination cursor from previous response
|
|
33
26
|
sig { returns(T.nilable(String)) }
|
|
34
27
|
attr_reader :cursor
|
|
@@ -92,7 +85,6 @@ module Cadenya
|
|
|
92
85
|
params(
|
|
93
86
|
workspace_id: String,
|
|
94
87
|
ai_provider_key_id: String,
|
|
95
|
-
bundle_key: String,
|
|
96
88
|
cursor: String,
|
|
97
89
|
include_info: T::Boolean,
|
|
98
90
|
is_assigned: T::Boolean,
|
|
@@ -109,8 +101,6 @@ module Cadenya
|
|
|
109
101
|
# Filter to models provisioned on a specific AI provider key. Accepts the key's id
|
|
110
102
|
# or an "external_id:"-prefixed slug.
|
|
111
103
|
ai_provider_key_id: nil,
|
|
112
|
-
# Filter by bundle_key — return only resources owned by this bundle.
|
|
113
|
-
bundle_key: nil,
|
|
114
104
|
# Pagination cursor from previous response
|
|
115
105
|
cursor: nil,
|
|
116
106
|
# When true, populate each item's info (e.g. the AI provider), at the cost of
|
|
@@ -139,7 +129,6 @@ module Cadenya
|
|
|
139
129
|
{
|
|
140
130
|
workspace_id: String,
|
|
141
131
|
ai_provider_key_id: String,
|
|
142
|
-
bundle_key: String,
|
|
143
132
|
cursor: String,
|
|
144
133
|
include_info: T::Boolean,
|
|
145
134
|
is_assigned: T::Boolean,
|