cadenya 0.23.0 → 0.25.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.
@@ -2,19 +2,23 @@ module Cadenya
2
2
  module Models
3
3
  type ai_provider_key_spec =
4
4
  {
5
- api_key: String,
6
- openrouter: top,
5
+ config: Cadenya::AIProviderKeySpec::Config,
6
+ credentials: Cadenya::AIProviderKeySpec::Credentials,
7
7
  provider: Cadenya::Models::AIProviderKeySpec::provider
8
8
  }
9
9
 
10
10
  class AIProviderKeySpec < Cadenya::Internal::Type::BaseModel
11
- attr_reader api_key: String?
11
+ attr_reader config: Cadenya::AIProviderKeySpec::Config?
12
12
 
13
- def api_key=: (String) -> String
13
+ def config=: (
14
+ Cadenya::AIProviderKeySpec::Config
15
+ ) -> Cadenya::AIProviderKeySpec::Config
14
16
 
15
- attr_reader openrouter: top?
17
+ attr_reader credentials: Cadenya::AIProviderKeySpec::Credentials?
16
18
 
17
- def openrouter=: (top) -> top
19
+ def credentials=: (
20
+ Cadenya::AIProviderKeySpec::Credentials
21
+ ) -> Cadenya::AIProviderKeySpec::Credentials
18
22
 
19
23
  attr_reader provider: Cadenya::Models::AIProviderKeySpec::provider?
20
24
 
@@ -23,24 +27,170 @@ module Cadenya
23
27
  ) -> Cadenya::Models::AIProviderKeySpec::provider
24
28
 
25
29
  def initialize: (
26
- ?api_key: String,
27
- ?openrouter: top,
30
+ ?config: Cadenya::AIProviderKeySpec::Config,
31
+ ?credentials: Cadenya::AIProviderKeySpec::Credentials,
28
32
  ?provider: Cadenya::Models::AIProviderKeySpec::provider
29
33
  ) -> void
30
34
 
31
35
  def to_hash: -> {
32
- api_key: String,
33
- openrouter: top,
36
+ config: Cadenya::AIProviderKeySpec::Config,
37
+ credentials: Cadenya::AIProviderKeySpec::Credentials,
34
38
  provider: Cadenya::Models::AIProviderKeySpec::provider
35
39
  }
36
40
 
37
- type provider = :AI_PROVIDER_UNSPECIFIED | :AI_PROVIDER_OPENROUTER
41
+ type config =
42
+ {
43
+ openai: Cadenya::AIProviderKeySpec::Config::OpenAI,
44
+ openai_compatible: Cadenya::AIProviderKeySpec::Config::OpenAICompatible,
45
+ openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter
46
+ }
47
+
48
+ class Config < Cadenya::Internal::Type::BaseModel
49
+ attr_reader openai: Cadenya::AIProviderKeySpec::Config::OpenAI?
50
+
51
+ def openai=: (
52
+ Cadenya::AIProviderKeySpec::Config::OpenAI
53
+ ) -> Cadenya::AIProviderKeySpec::Config::OpenAI
54
+
55
+ attr_reader openai_compatible: Cadenya::AIProviderKeySpec::Config::OpenAICompatible?
56
+
57
+ def openai_compatible=: (
58
+ Cadenya::AIProviderKeySpec::Config::OpenAICompatible
59
+ ) -> Cadenya::AIProviderKeySpec::Config::OpenAICompatible
60
+
61
+ attr_reader openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter?
62
+
63
+ def openrouter=: (
64
+ Cadenya::AIProviderKeySpec::Config::Openrouter
65
+ ) -> Cadenya::AIProviderKeySpec::Config::Openrouter
66
+
67
+ def initialize: (
68
+ ?openai: Cadenya::AIProviderKeySpec::Config::OpenAI,
69
+ ?openai_compatible: Cadenya::AIProviderKeySpec::Config::OpenAICompatible,
70
+ ?openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter
71
+ ) -> void
72
+
73
+ def to_hash: -> {
74
+ openai: Cadenya::AIProviderKeySpec::Config::OpenAI,
75
+ openai_compatible: Cadenya::AIProviderKeySpec::Config::OpenAICompatible,
76
+ openrouter: Cadenya::AIProviderKeySpec::Config::Openrouter
77
+ }
78
+
79
+ type openai = { organization_id: String, project_id: String }
80
+
81
+ class OpenAI < Cadenya::Internal::Type::BaseModel
82
+ attr_reader organization_id: String?
83
+
84
+ def organization_id=: (String) -> String
85
+
86
+ attr_reader project_id: String?
87
+
88
+ def project_id=: (String) -> String
89
+
90
+ def initialize: (
91
+ ?organization_id: String,
92
+ ?project_id: String
93
+ ) -> void
94
+
95
+ def to_hash: -> { organization_id: String, project_id: String }
96
+ end
97
+
98
+ type openai_compatible = { base_url: String }
99
+
100
+ class OpenAICompatible < Cadenya::Internal::Type::BaseModel
101
+ attr_reader base_url: String?
102
+
103
+ def base_url=: (String) -> String
104
+
105
+ def initialize: (?base_url: String) -> void
106
+
107
+ def to_hash: -> { base_url: String }
108
+ end
109
+
110
+ type openrouter = { region: String }
111
+
112
+ class Openrouter < Cadenya::Internal::Type::BaseModel
113
+ attr_reader region: String?
114
+
115
+ def region=: (String) -> String
116
+
117
+ def initialize: (?region: String) -> void
118
+
119
+ def to_hash: -> { region: String }
120
+ end
121
+ end
122
+
123
+ type credentials =
124
+ {
125
+ api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey,
126
+ headers: Cadenya::AIProviderKeySpec::Credentials::Headers
127
+ }
128
+
129
+ class Credentials < Cadenya::Internal::Type::BaseModel
130
+ attr_reader api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey?
131
+
132
+ def api_key=: (
133
+ Cadenya::AIProviderKeySpec::Credentials::APIKey
134
+ ) -> Cadenya::AIProviderKeySpec::Credentials::APIKey
135
+
136
+ attr_reader headers: Cadenya::AIProviderKeySpec::Credentials::Headers?
137
+
138
+ def headers=: (
139
+ Cadenya::AIProviderKeySpec::Credentials::Headers
140
+ ) -> Cadenya::AIProviderKeySpec::Credentials::Headers
141
+
142
+ def initialize: (
143
+ ?api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey,
144
+ ?headers: Cadenya::AIProviderKeySpec::Credentials::Headers
145
+ ) -> void
146
+
147
+ def to_hash: -> {
148
+ api_key: Cadenya::AIProviderKeySpec::Credentials::APIKey,
149
+ headers: Cadenya::AIProviderKeySpec::Credentials::Headers
150
+ }
151
+
152
+ type api_key = { api_key: String }
153
+
154
+ class APIKey < Cadenya::Internal::Type::BaseModel
155
+ attr_reader api_key: String?
156
+
157
+ def api_key=: (String) -> String
158
+
159
+ def initialize: (?api_key: String) -> void
160
+
161
+ def to_hash: -> { api_key: String }
162
+ end
163
+
164
+ type headers = { headers: ::Hash[Symbol, String] }
165
+
166
+ class Headers < Cadenya::Internal::Type::BaseModel
167
+ attr_reader headers: ::Hash[Symbol, String]?
168
+
169
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
170
+
171
+ def initialize: (?headers: ::Hash[Symbol, String]) -> void
172
+
173
+ def to_hash: -> { headers: ::Hash[Symbol, String] }
174
+ end
175
+ end
176
+
177
+ type provider =
178
+ :AI_PROVIDER_UNSPECIFIED
179
+ | :AI_PROVIDER_OPENROUTER
180
+ | :AI_PROVIDER_OPENAI
181
+ | :AI_PROVIDER_ANTHROPIC
182
+ | :AI_PROVIDER_GEMINI
183
+ | :AI_PROVIDER_OPENAI_COMPATIBLE
38
184
 
39
185
  module Provider
40
186
  extend Cadenya::Internal::Type::Enum
41
187
 
42
188
  AI_PROVIDER_UNSPECIFIED: :AI_PROVIDER_UNSPECIFIED
43
189
  AI_PROVIDER_OPENROUTER: :AI_PROVIDER_OPENROUTER
190
+ AI_PROVIDER_OPENAI: :AI_PROVIDER_OPENAI
191
+ AI_PROVIDER_ANTHROPIC: :AI_PROVIDER_ANTHROPIC
192
+ AI_PROVIDER_GEMINI: :AI_PROVIDER_GEMINI
193
+ AI_PROVIDER_OPENAI_COMPATIBLE: :AI_PROVIDER_OPENAI_COMPATIBLE
44
194
 
45
195
  def self?.values: -> ::Array[Cadenya::Models::AIProviderKeySpec::provider]
46
196
  end
@@ -1,7 +1,21 @@
1
1
  module Cadenya
2
2
  module Models
3
3
  module ToolSets
4
- ConfigMcp: Cadenya::Internal::Type::Converter
4
+ type config_mcp = { annotations: Cadenya::ToolSets::McpAnnotations }
5
+
6
+ class ConfigMcp < Cadenya::Internal::Type::BaseModel
7
+ attr_reader annotations: Cadenya::ToolSets::McpAnnotations?
8
+
9
+ def annotations=: (
10
+ Cadenya::ToolSets::McpAnnotations
11
+ ) -> Cadenya::ToolSets::McpAnnotations
12
+
13
+ def initialize: (
14
+ ?annotations: Cadenya::ToolSets::McpAnnotations
15
+ ) -> void
16
+
17
+ def to_hash: -> { annotations: Cadenya::ToolSets::McpAnnotations }
18
+ end
5
19
  end
6
20
  end
7
21
  end
@@ -0,0 +1,52 @@
1
+ module Cadenya
2
+ module Models
3
+ module ToolSets
4
+ type mcp_annotations =
5
+ {
6
+ destructive_hint: bool,
7
+ idempotent_hint: bool,
8
+ open_world_hint: bool,
9
+ read_only_hint: bool,
10
+ title: String
11
+ }
12
+
13
+ class McpAnnotations < Cadenya::Internal::Type::BaseModel
14
+ attr_reader destructive_hint: bool?
15
+
16
+ def destructive_hint=: (bool) -> bool
17
+
18
+ attr_reader idempotent_hint: bool?
19
+
20
+ def idempotent_hint=: (bool) -> bool
21
+
22
+ attr_reader open_world_hint: bool?
23
+
24
+ def open_world_hint=: (bool) -> bool
25
+
26
+ attr_reader read_only_hint: bool?
27
+
28
+ def read_only_hint=: (bool) -> bool
29
+
30
+ attr_reader title: String?
31
+
32
+ def title=: (String) -> String
33
+
34
+ def initialize: (
35
+ ?destructive_hint: bool,
36
+ ?idempotent_hint: bool,
37
+ ?open_world_hint: bool,
38
+ ?read_only_hint: bool,
39
+ ?title: String
40
+ ) -> void
41
+
42
+ def to_hash: -> {
43
+ destructive_hint: bool,
44
+ idempotent_hint: bool,
45
+ open_world_hint: bool,
46
+ read_only_hint: bool,
47
+ title: String
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -4,7 +4,7 @@ module Cadenya
4
4
  type tool_spec_config =
5
5
  {
6
6
  http: Cadenya::ToolSets::ConfigHTTP,
7
- mcp: top,
7
+ mcp: Cadenya::ToolSets::ConfigMcp,
8
8
  openapi: Cadenya::ToolSets::ConfigOpenAPI
9
9
  }
10
10
 
@@ -15,9 +15,9 @@ module Cadenya
15
15
  Cadenya::ToolSets::ConfigHTTP
16
16
  ) -> Cadenya::ToolSets::ConfigHTTP
17
17
 
18
- attr_reader mcp: top?
18
+ attr_reader mcp: Cadenya::ToolSets::ConfigMcp?
19
19
 
20
- def mcp=: (top) -> top
20
+ def mcp=: (Cadenya::ToolSets::ConfigMcp) -> Cadenya::ToolSets::ConfigMcp
21
21
 
22
22
  attr_reader openapi: Cadenya::ToolSets::ConfigOpenAPI?
23
23
 
@@ -27,13 +27,13 @@ module Cadenya
27
27
 
28
28
  def initialize: (
29
29
  ?http: Cadenya::ToolSets::ConfigHTTP,
30
- ?mcp: top,
30
+ ?mcp: Cadenya::ToolSets::ConfigMcp,
31
31
  ?openapi: Cadenya::ToolSets::ConfigOpenAPI
32
32
  ) -> void
33
33
 
34
34
  def to_hash: -> {
35
35
  http: Cadenya::ToolSets::ConfigHTTP,
36
- mcp: top,
36
+ mcp: Cadenya::ToolSets::ConfigMcp,
37
37
  openapi: Cadenya::ToolSets::ConfigOpenAPI
38
38
  }
39
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cadenya
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cadenya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-01 00:00:00.000000000 Z
11
+ date: 2026-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -291,6 +291,7 @@ files:
291
291
  - lib/cadenya/models/tool_sets/config_http.rb
292
292
  - lib/cadenya/models/tool_sets/config_mcp.rb
293
293
  - lib/cadenya/models/tool_sets/config_openapi.rb
294
+ - lib/cadenya/models/tool_sets/mcp_annotations.rb
294
295
  - lib/cadenya/models/tool_sets/secret_create_params.rb
295
296
  - lib/cadenya/models/tool_sets/secret_delete_params.rb
296
297
  - lib/cadenya/models/tool_sets/secret_list_params.rb
@@ -602,6 +603,7 @@ files:
602
603
  - rbi/cadenya/models/tool_sets/config_http.rbi
603
604
  - rbi/cadenya/models/tool_sets/config_mcp.rbi
604
605
  - rbi/cadenya/models/tool_sets/config_openapi.rbi
606
+ - rbi/cadenya/models/tool_sets/mcp_annotations.rbi
605
607
  - rbi/cadenya/models/tool_sets/secret_create_params.rbi
606
608
  - rbi/cadenya/models/tool_sets/secret_delete_params.rbi
607
609
  - rbi/cadenya/models/tool_sets/secret_list_params.rbi
@@ -912,6 +914,7 @@ files:
912
914
  - sig/cadenya/models/tool_sets/config_http.rbs
913
915
  - sig/cadenya/models/tool_sets/config_mcp.rbs
914
916
  - sig/cadenya/models/tool_sets/config_openapi.rbs
917
+ - sig/cadenya/models/tool_sets/mcp_annotations.rbs
915
918
  - sig/cadenya/models/tool_sets/secret_create_params.rbs
916
919
  - sig/cadenya/models/tool_sets/secret_delete_params.rbs
917
920
  - sig/cadenya/models/tool_sets/secret_list_params.rbs