cadenya 0.2.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.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +6 -6
  4. data/lib/cadenya/client.rb +18 -0
  5. data/lib/cadenya/internal/cursor_pagination.rb +2 -2
  6. data/lib/cadenya/models/agent_spec.rb +19 -4
  7. data/lib/cadenya/models/agents/webhook_delivery_data.rb +1 -0
  8. data/lib/cadenya/models/agents/webhook_delivery_list_params.rb +1 -0
  9. data/lib/cadenya/models/ai_provider_key.rb +30 -0
  10. data/lib/cadenya/models/ai_provider_key_create_params.rb +41 -0
  11. data/lib/cadenya/models/ai_provider_key_delete_params.rb +26 -0
  12. data/lib/cadenya/models/ai_provider_key_list_params.rb +61 -0
  13. data/lib/cadenya/models/ai_provider_key_retrieve_params.rb +26 -0
  14. data/lib/cadenya/models/ai_provider_key_spec.rb +36 -0
  15. data/lib/cadenya/models/ai_provider_key_update_params.rb +56 -0
  16. data/lib/cadenya/models/approval_requirement_filter.rb +26 -0
  17. data/lib/cadenya/models/attribute_filter.rb +38 -0
  18. data/lib/cadenya/models/objective_data.rb +21 -1
  19. data/lib/cadenya/models/objective_event_data.rb +32 -1
  20. data/lib/cadenya/models/objective_list_params.rb +2 -1
  21. data/lib/cadenya/models/objective_status.rb +2 -1
  22. data/lib/cadenya/models/profile_spec.rb +1 -0
  23. data/lib/cadenya/models/string_matcher.rb +47 -0
  24. data/lib/cadenya/models/tool_filter.rb +35 -0
  25. data/lib/cadenya/models/tool_set_adapter.rb +7 -1
  26. data/lib/cadenya/models/tool_set_adapter_mcp.rb +11 -33
  27. data/lib/cadenya/models/tool_set_adapter_openapi.rb +79 -0
  28. data/lib/cadenya/models/tool_set_get_openapi_spec_params.rb +26 -0
  29. data/lib/cadenya/models/tool_set_get_openapi_spec_response.rb +17 -0
  30. data/lib/cadenya/models/tool_sets/config_openapi.rb +29 -0
  31. data/lib/cadenya/models/tool_sets/tool_spec_config.rb +7 -1
  32. data/lib/cadenya/models/workspace.rb +27 -1
  33. data/lib/cadenya/models/workspace_admin/member_add_params.rb +39 -0
  34. data/lib/cadenya/models/workspace_admin/member_list_params.rb +39 -0
  35. data/lib/cadenya/models/workspace_admin/member_remove_params.rb +28 -0
  36. data/lib/cadenya/models/workspace_admin/profile_list_params.rb +44 -0
  37. data/lib/cadenya/models/workspace_admin_archive_params.rb +20 -0
  38. data/lib/cadenya/models/workspace_admin_create_params.rb +70 -0
  39. data/lib/cadenya/models/workspace_admin_list_params.rb +42 -0
  40. data/lib/cadenya/models/workspace_admin_retrieve_params.rb +20 -0
  41. data/lib/cadenya/models/workspace_admin_update_params.rb +85 -0
  42. data/lib/cadenya/models/workspace_member.rb +53 -0
  43. data/lib/cadenya/models.rb +40 -2
  44. data/lib/cadenya/resources/ai_provider_keys.rb +168 -0
  45. data/lib/cadenya/resources/tool_sets.rb +31 -0
  46. data/lib/cadenya/resources/workspace_admin/members.rb +107 -0
  47. data/lib/cadenya/resources/workspace_admin/profiles.rb +54 -0
  48. data/lib/cadenya/resources/workspace_admin.rb +173 -0
  49. data/lib/cadenya/resources/workspaces.rb +4 -0
  50. data/lib/cadenya/version.rb +1 -1
  51. data/lib/cadenya.rb +29 -1
  52. data/rbi/cadenya/client.rbi +16 -0
  53. data/rbi/cadenya/models/agent_spec.rbi +21 -4
  54. data/rbi/cadenya/models/agents/webhook_delivery_data.rbi +5 -0
  55. data/rbi/cadenya/models/agents/webhook_delivery_list_params.rbi +5 -0
  56. data/rbi/cadenya/models/ai_provider_key.rbi +51 -0
  57. data/rbi/cadenya/models/ai_provider_key_create_params.rbi +65 -0
  58. data/rbi/cadenya/models/ai_provider_key_delete_params.rbi +43 -0
  59. data/rbi/cadenya/models/ai_provider_key_list_params.rbi +96 -0
  60. data/rbi/cadenya/models/ai_provider_key_retrieve_params.rbi +46 -0
  61. data/rbi/cadenya/models/ai_provider_key_spec.rbi +56 -0
  62. data/rbi/cadenya/models/ai_provider_key_update_params.rbi +82 -0
  63. data/rbi/cadenya/models/approval_requirement_filter.rbi +45 -0
  64. data/rbi/cadenya/models/attribute_filter.rbi +84 -0
  65. data/rbi/cadenya/models/objective_data.rbi +26 -0
  66. data/rbi/cadenya/models/objective_event_data.rbi +52 -0
  67. data/rbi/cadenya/models/objective_list_params.rbi +7 -2
  68. data/rbi/cadenya/models/objective_status.rbi +4 -2
  69. data/rbi/cadenya/models/profile_spec.rbi +5 -0
  70. data/rbi/cadenya/models/string_matcher.rbi +84 -0
  71. data/rbi/cadenya/models/tool_filter.rbi +66 -0
  72. data/rbi/cadenya/models/tool_set_adapter.rbi +14 -3
  73. data/rbi/cadenya/models/tool_set_adapter_mcp.rbi +16 -62
  74. data/rbi/cadenya/models/tool_set_adapter_openapi.rbi +127 -0
  75. data/rbi/cadenya/models/tool_set_get_openapi_spec_params.rbi +46 -0
  76. data/rbi/cadenya/models/tool_set_get_openapi_spec_response.rbi +33 -0
  77. data/rbi/cadenya/models/tool_sets/config_openapi.rbi +48 -0
  78. data/rbi/cadenya/models/tool_sets/tool_spec_config.rbi +11 -3
  79. data/rbi/cadenya/models/workspace.rbi +39 -3
  80. data/rbi/cadenya/models/workspace_admin/member_add_params.rbi +68 -0
  81. data/rbi/cadenya/models/workspace_admin/member_list_params.rbi +68 -0
  82. data/rbi/cadenya/models/workspace_admin/member_remove_params.rbi +48 -0
  83. data/rbi/cadenya/models/workspace_admin/profile_list_params.rbi +75 -0
  84. data/rbi/cadenya/models/workspace_admin_archive_params.rbi +38 -0
  85. data/rbi/cadenya/models/workspace_admin_create_params.rbi +127 -0
  86. data/rbi/cadenya/models/workspace_admin_list_params.rbi +70 -0
  87. data/rbi/cadenya/models/workspace_admin_retrieve_params.rbi +38 -0
  88. data/rbi/cadenya/models/workspace_admin_update_params.rbi +144 -0
  89. data/rbi/cadenya/models/workspace_member.rbi +80 -0
  90. data/rbi/cadenya/models.rbi +40 -2
  91. data/rbi/cadenya/resources/ai_provider_keys.rbi +125 -0
  92. data/rbi/cadenya/resources/tool_sets.rbi +18 -0
  93. data/rbi/cadenya/resources/workspace_admin/members.rbi +83 -0
  94. data/rbi/cadenya/resources/workspace_admin/profiles.rbi +42 -0
  95. data/rbi/cadenya/resources/workspace_admin.rbi +131 -0
  96. data/rbi/cadenya/resources/workspaces.rbi +4 -0
  97. data/sig/cadenya/client.rbs +4 -0
  98. data/sig/cadenya/models/agent_spec.rbs +12 -5
  99. data/sig/cadenya/models/agents/webhook_delivery_data.rbs +2 -0
  100. data/sig/cadenya/models/agents/webhook_delivery_list_params.rbs +2 -0
  101. data/sig/cadenya/models/ai_provider_key.rbs +22 -0
  102. data/sig/cadenya/models/ai_provider_key_create_params.rbs +36 -0
  103. data/sig/cadenya/models/ai_provider_key_delete_params.rbs +28 -0
  104. data/sig/cadenya/models/ai_provider_key_list_params.rbs +61 -0
  105. data/sig/cadenya/models/ai_provider_key_retrieve_params.rbs +28 -0
  106. data/sig/cadenya/models/ai_provider_key_spec.rbs +28 -0
  107. data/sig/cadenya/models/ai_provider_key_update_params.rbs +54 -0
  108. data/sig/cadenya/models/approval_requirement_filter.rbs +20 -0
  109. data/sig/cadenya/models/attribute_filter.rbs +44 -0
  110. data/sig/cadenya/models/objective_data.rbs +14 -0
  111. data/sig/cadenya/models/objective_event_data.rbs +21 -0
  112. data/sig/cadenya/models/objective_list_params.rbs +4 -2
  113. data/sig/cadenya/models/objective_status.rbs +4 -2
  114. data/sig/cadenya/models/profile_spec.rbs +5 -1
  115. data/sig/cadenya/models/string_matcher.rbs +57 -0
  116. data/sig/cadenya/models/tool_filter.rbs +41 -0
  117. data/sig/cadenya/models/tool_set_adapter.rbs +15 -3
  118. data/sig/cadenya/models/tool_set_adapter_mcp.rbs +16 -32
  119. data/sig/cadenya/models/tool_set_adapter_openapi.rbs +73 -0
  120. data/sig/cadenya/models/tool_set_get_openapi_spec_params.rbs +28 -0
  121. data/sig/cadenya/models/tool_set_get_openapi_spec_response.rbs +15 -0
  122. data/sig/cadenya/models/tool_sets/config_openapi.rbs +30 -0
  123. data/sig/cadenya/models/tool_sets/tool_spec_config.rbs +12 -3
  124. data/sig/cadenya/models/workspace.rbs +24 -3
  125. data/sig/cadenya/models/workspace_admin/member_add_params.rbs +38 -0
  126. data/sig/cadenya/models/workspace_admin/member_list_params.rbs +38 -0
  127. data/sig/cadenya/models/workspace_admin/member_remove_params.rbs +30 -0
  128. data/sig/cadenya/models/workspace_admin/profile_list_params.rbs +40 -0
  129. data/sig/cadenya/models/workspace_admin_archive_params.rbs +23 -0
  130. data/sig/cadenya/models/workspace_admin_create_params.rbs +58 -0
  131. data/sig/cadenya/models/workspace_admin_list_params.rbs +38 -0
  132. data/sig/cadenya/models/workspace_admin_retrieve_params.rbs +23 -0
  133. data/sig/cadenya/models/workspace_admin_update_params.rbs +76 -0
  134. data/sig/cadenya/models/workspace_member.rbs +46 -0
  135. data/sig/cadenya/models.rbs +40 -2
  136. data/sig/cadenya/resources/ai_provider_keys.rbs +45 -0
  137. data/sig/cadenya/resources/tool_sets.rbs +6 -0
  138. data/sig/cadenya/resources/workspace_admin/members.rbs +29 -0
  139. data/sig/cadenya/resources/workspace_admin/profiles.rbs +16 -0
  140. data/sig/cadenya/resources/workspace_admin.rbs +42 -0
  141. metadata +89 -5
  142. data/lib/cadenya/models/mcp_tool_filter.rb +0 -111
  143. data/rbi/cadenya/models/mcp_tool_filter.rbi +0 -235
  144. data/sig/cadenya/models/mcp_tool_filter.rbs +0 -138
@@ -1,235 +0,0 @@
1
- # typed: strong
2
-
3
- module Cadenya
4
- module Models
5
- class McpToolFilter < Cadenya::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Cadenya::McpToolFilter, Cadenya::Internal::AnyHash)
9
- end
10
-
11
- sig { returns(Cadenya::McpToolFilter::Operator::OrSymbol) }
12
- attr_accessor :operator
13
-
14
- sig { returns(T.nilable(T::Array[Cadenya::McpToolFilter::Filter])) }
15
- attr_reader :filters
16
-
17
- sig do
18
- params(filters: T::Array[Cadenya::McpToolFilter::Filter::OrHash]).void
19
- end
20
- attr_writer :filters
21
-
22
- # Top-level filter with simple boolean logic (no nesting)
23
- sig do
24
- params(
25
- operator: Cadenya::McpToolFilter::Operator::OrSymbol,
26
- filters: T::Array[Cadenya::McpToolFilter::Filter::OrHash]
27
- ).returns(T.attached_class)
28
- end
29
- def self.new(operator:, filters: nil)
30
- end
31
-
32
- sig do
33
- override.returns(
34
- {
35
- operator: Cadenya::McpToolFilter::Operator::OrSymbol,
36
- filters: T::Array[Cadenya::McpToolFilter::Filter]
37
- }
38
- )
39
- end
40
- def to_hash
41
- end
42
-
43
- module Operator
44
- extend Cadenya::Internal::Type::Enum
45
-
46
- TaggedSymbol =
47
- T.type_alias { T.all(Symbol, Cadenya::McpToolFilter::Operator) }
48
- OrSymbol = T.type_alias { T.any(Symbol, String) }
49
-
50
- OPERATOR_UNSPECIFIED =
51
- T.let(
52
- :OPERATOR_UNSPECIFIED,
53
- Cadenya::McpToolFilter::Operator::TaggedSymbol
54
- )
55
- OPERATOR_AND =
56
- T.let(:OPERATOR_AND, Cadenya::McpToolFilter::Operator::TaggedSymbol)
57
- OPERATOR_OR =
58
- T.let(:OPERATOR_OR, Cadenya::McpToolFilter::Operator::TaggedSymbol)
59
-
60
- sig do
61
- override.returns(
62
- T::Array[Cadenya::McpToolFilter::Operator::TaggedSymbol]
63
- )
64
- end
65
- def self.values
66
- end
67
- end
68
-
69
- class Filter < Cadenya::Internal::Type::BaseModel
70
- OrHash =
71
- T.type_alias do
72
- T.any(Cadenya::McpToolFilter::Filter, Cadenya::Internal::AnyHash)
73
- end
74
-
75
- sig { returns(Cadenya::McpToolFilter::Filter::Attribute::OrSymbol) }
76
- attr_accessor :attribute
77
-
78
- # String matching operations
79
- sig { returns(T.nilable(Cadenya::McpToolFilter::Filter::Matcher)) }
80
- attr_reader :matcher
81
-
82
- sig do
83
- params(matcher: Cadenya::McpToolFilter::Filter::Matcher::OrHash).void
84
- end
85
- attr_writer :matcher
86
-
87
- # Single attribute filter
88
- sig do
89
- params(
90
- attribute: Cadenya::McpToolFilter::Filter::Attribute::OrSymbol,
91
- matcher: Cadenya::McpToolFilter::Filter::Matcher::OrHash
92
- ).returns(T.attached_class)
93
- end
94
- def self.new(
95
- attribute:,
96
- # String matching operations
97
- matcher: nil
98
- )
99
- end
100
-
101
- sig do
102
- override.returns(
103
- {
104
- attribute: Cadenya::McpToolFilter::Filter::Attribute::OrSymbol,
105
- matcher: Cadenya::McpToolFilter::Filter::Matcher
106
- }
107
- )
108
- end
109
- def to_hash
110
- end
111
-
112
- module Attribute
113
- extend Cadenya::Internal::Type::Enum
114
-
115
- TaggedSymbol =
116
- T.type_alias do
117
- T.all(Symbol, Cadenya::McpToolFilter::Filter::Attribute)
118
- end
119
- OrSymbol = T.type_alias { T.any(Symbol, String) }
120
-
121
- ATTRIBUTE_UNSPECIFIED =
122
- T.let(
123
- :ATTRIBUTE_UNSPECIFIED,
124
- Cadenya::McpToolFilter::Filter::Attribute::TaggedSymbol
125
- )
126
- ATTRIBUTE_NAME =
127
- T.let(
128
- :ATTRIBUTE_NAME,
129
- Cadenya::McpToolFilter::Filter::Attribute::TaggedSymbol
130
- )
131
- ATTRIBUTE_TITLE =
132
- T.let(
133
- :ATTRIBUTE_TITLE,
134
- Cadenya::McpToolFilter::Filter::Attribute::TaggedSymbol
135
- )
136
- ATTRIBUTE_DESCRIPTION =
137
- T.let(
138
- :ATTRIBUTE_DESCRIPTION,
139
- Cadenya::McpToolFilter::Filter::Attribute::TaggedSymbol
140
- )
141
-
142
- sig do
143
- override.returns(
144
- T::Array[Cadenya::McpToolFilter::Filter::Attribute::TaggedSymbol]
145
- )
146
- end
147
- def self.values
148
- end
149
- end
150
-
151
- class Matcher < Cadenya::Internal::Type::BaseModel
152
- OrHash =
153
- T.type_alias do
154
- T.any(
155
- Cadenya::McpToolFilter::Filter::Matcher,
156
- Cadenya::Internal::AnyHash
157
- )
158
- end
159
-
160
- sig { returns(T.nilable(T::Boolean)) }
161
- attr_reader :case_sensitive
162
-
163
- sig { params(case_sensitive: T::Boolean).void }
164
- attr_writer :case_sensitive
165
-
166
- sig { returns(T.nilable(String)) }
167
- attr_reader :contains
168
-
169
- sig { params(contains: String).void }
170
- attr_writer :contains
171
-
172
- sig { returns(T.nilable(String)) }
173
- attr_reader :ends_with
174
-
175
- sig { params(ends_with: String).void }
176
- attr_writer :ends_with
177
-
178
- sig { returns(T.nilable(String)) }
179
- attr_reader :exact
180
-
181
- sig { params(exact: String).void }
182
- attr_writer :exact
183
-
184
- sig { returns(T.nilable(String)) }
185
- attr_reader :regex
186
-
187
- sig { params(regex: String).void }
188
- attr_writer :regex
189
-
190
- sig { returns(T.nilable(String)) }
191
- attr_reader :starts_with
192
-
193
- sig { params(starts_with: String).void }
194
- attr_writer :starts_with
195
-
196
- # String matching operations
197
- sig do
198
- params(
199
- case_sensitive: T::Boolean,
200
- contains: String,
201
- ends_with: String,
202
- exact: String,
203
- regex: String,
204
- starts_with: String
205
- ).returns(T.attached_class)
206
- end
207
- def self.new(
208
- case_sensitive: nil,
209
- contains: nil,
210
- ends_with: nil,
211
- exact: nil,
212
- regex: nil,
213
- starts_with: nil
214
- )
215
- end
216
-
217
- sig do
218
- override.returns(
219
- {
220
- case_sensitive: T::Boolean,
221
- contains: String,
222
- ends_with: String,
223
- exact: String,
224
- regex: String,
225
- starts_with: String
226
- }
227
- )
228
- end
229
- def to_hash
230
- end
231
- end
232
- end
233
- end
234
- end
235
- end
@@ -1,138 +0,0 @@
1
- module Cadenya
2
- module Models
3
- type mcp_tool_filter =
4
- {
5
- operator: Cadenya::Models::McpToolFilter::operator,
6
- filters: ::Array[Cadenya::McpToolFilter::Filter]
7
- }
8
-
9
- class McpToolFilter < Cadenya::Internal::Type::BaseModel
10
- attr_accessor operator: Cadenya::Models::McpToolFilter::operator
11
-
12
- attr_reader filters: ::Array[Cadenya::McpToolFilter::Filter]?
13
-
14
- def filters=: (
15
- ::Array[Cadenya::McpToolFilter::Filter]
16
- ) -> ::Array[Cadenya::McpToolFilter::Filter]
17
-
18
- def initialize: (
19
- operator: Cadenya::Models::McpToolFilter::operator,
20
- ?filters: ::Array[Cadenya::McpToolFilter::Filter]
21
- ) -> void
22
-
23
- def to_hash: -> {
24
- operator: Cadenya::Models::McpToolFilter::operator,
25
- filters: ::Array[Cadenya::McpToolFilter::Filter]
26
- }
27
-
28
- type operator = :OPERATOR_UNSPECIFIED | :OPERATOR_AND | :OPERATOR_OR
29
-
30
- module Operator
31
- extend Cadenya::Internal::Type::Enum
32
-
33
- OPERATOR_UNSPECIFIED: :OPERATOR_UNSPECIFIED
34
- OPERATOR_AND: :OPERATOR_AND
35
- OPERATOR_OR: :OPERATOR_OR
36
-
37
- def self?.values: -> ::Array[Cadenya::Models::McpToolFilter::operator]
38
- end
39
-
40
- type filter =
41
- {
42
- attribute: Cadenya::Models::McpToolFilter::Filter::attribute,
43
- matcher: Cadenya::McpToolFilter::Filter::Matcher
44
- }
45
-
46
- class Filter < Cadenya::Internal::Type::BaseModel
47
- attr_accessor attribute: Cadenya::Models::McpToolFilter::Filter::attribute
48
-
49
- attr_reader matcher: Cadenya::McpToolFilter::Filter::Matcher?
50
-
51
- def matcher=: (
52
- Cadenya::McpToolFilter::Filter::Matcher
53
- ) -> Cadenya::McpToolFilter::Filter::Matcher
54
-
55
- def initialize: (
56
- attribute: Cadenya::Models::McpToolFilter::Filter::attribute,
57
- ?matcher: Cadenya::McpToolFilter::Filter::Matcher
58
- ) -> void
59
-
60
- def to_hash: -> {
61
- attribute: Cadenya::Models::McpToolFilter::Filter::attribute,
62
- matcher: Cadenya::McpToolFilter::Filter::Matcher
63
- }
64
-
65
- type attribute =
66
- :ATTRIBUTE_UNSPECIFIED
67
- | :ATTRIBUTE_NAME
68
- | :ATTRIBUTE_TITLE
69
- | :ATTRIBUTE_DESCRIPTION
70
-
71
- module Attribute
72
- extend Cadenya::Internal::Type::Enum
73
-
74
- ATTRIBUTE_UNSPECIFIED: :ATTRIBUTE_UNSPECIFIED
75
- ATTRIBUTE_NAME: :ATTRIBUTE_NAME
76
- ATTRIBUTE_TITLE: :ATTRIBUTE_TITLE
77
- ATTRIBUTE_DESCRIPTION: :ATTRIBUTE_DESCRIPTION
78
-
79
- def self?.values: -> ::Array[Cadenya::Models::McpToolFilter::Filter::attribute]
80
- end
81
-
82
- type matcher =
83
- {
84
- case_sensitive: bool,
85
- contains: String,
86
- ends_with: String,
87
- exact: String,
88
- regex: String,
89
- starts_with: String
90
- }
91
-
92
- class Matcher < Cadenya::Internal::Type::BaseModel
93
- attr_reader case_sensitive: bool?
94
-
95
- def case_sensitive=: (bool) -> bool
96
-
97
- attr_reader contains: String?
98
-
99
- def contains=: (String) -> String
100
-
101
- attr_reader ends_with: String?
102
-
103
- def ends_with=: (String) -> String
104
-
105
- attr_reader exact: String?
106
-
107
- def exact=: (String) -> String
108
-
109
- attr_reader regex: String?
110
-
111
- def regex=: (String) -> String
112
-
113
- attr_reader starts_with: String?
114
-
115
- def starts_with=: (String) -> String
116
-
117
- def initialize: (
118
- ?case_sensitive: bool,
119
- ?contains: String,
120
- ?ends_with: String,
121
- ?exact: String,
122
- ?regex: String,
123
- ?starts_with: String
124
- ) -> void
125
-
126
- def to_hash: -> {
127
- case_sensitive: bool,
128
- contains: String,
129
- ends_with: String,
130
- exact: String,
131
- regex: String,
132
- starts_with: String
133
- }
134
- end
135
- end
136
- end
137
- end
138
- end