cadenya 0.24.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56345beed04805e02e3d9160438370098e235277a458b4d99964df96d689d1fa
4
- data.tar.gz: 48e4a95347381ea29f7f4523d1098af4aab96e1a9a43e5187a6c115120848087
3
+ metadata.gz: 85a23df17834062235e1de7898d6d6c30f688f8a42a0cb899446c44b860625cf
4
+ data.tar.gz: fb33b235dc855b0bf55c8ef4a968db692d3a06f652997d9c572a00627c7c544a
5
5
  SHA512:
6
- metadata.gz: 9e343691120327cdd8c6c1d14df4f15d77344f9a625ec59fff2d743999330aacecb0fad0fe0290ebd8bd2094bce006b60e95e225ef4c1f403700542bfe03feff
7
- data.tar.gz: 218de860735ffcfcc65da64a9ca06675bfee2a54f45c5588ec400e5d330d9cedd7e9730a3078592ad4924d4698a291c2a26fe0baf79f181bbdc527c6b58d540b
6
+ metadata.gz: c8439ad320e591096765d4ea8b9a4537999afc841fcbf55b4ff0d6e09c5f9693f8faf48eadd8f373a56aa805c80347bab004b64db484f81a2498bd8efd605a8d
7
+ data.tar.gz: e65efdeaabac43576f78ad4e2f32c96de41cd4674679eeffaa815c7222de795b34f3b758b40137da6302aabee78b0efe0ac2f2dc918fd33abd75866fa90e6efa
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.25.0 (2026-07-02)
4
+
5
+ Full Changelog: [v0.24.0...v0.25.0](https://github.com/cadenya/cadenya-ruby/compare/v0.24.0...v0.25.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([9adf4ad](https://github.com/cadenya/cadenya-ruby/commit/9adf4adeaf93b4774163acaad8ad941d55e6e3d0))
10
+
3
11
  ## 0.24.0 (2026-07-01)
4
12
 
5
13
  Full Changelog: [v0.23.0...v0.24.0](https://github.com/cadenya/cadenya-ruby/compare/v0.23.0...v0.24.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "cadenya", "~> 0.24.0"
20
+ gem "cadenya", "~> 0.25.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -3,8 +3,23 @@
3
3
  module Cadenya
4
4
  module Models
5
5
  module ToolSets
6
- # @type [Cadenya::Internal::Type::Converter]
7
- ConfigMcp = Cadenya::Internal::Type::Unknown
6
+ class ConfigMcp < Cadenya::Internal::Type::BaseModel
7
+ # @!attribute annotations
8
+ # Behavior hints synced from the MCP server's tool definition (ToolAnnotations in
9
+ # the MCP specification). All hints are advisory: servers are not required to send
10
+ # them, and clients should not rely on them for security decisions. Absent hints
11
+ # keep the MCP spec defaults (destructiveHint and openWorldHint default to true;
12
+ # readOnlyHint and idempotentHint default to false).
13
+ #
14
+ # @return [Cadenya::Models::ToolSets::McpAnnotations, nil]
15
+ optional :annotations, -> { Cadenya::ToolSets::McpAnnotations }
16
+
17
+ # @!method initialize(annotations: nil)
18
+ # Some parameter documentations has been truncated, see
19
+ # {Cadenya::Models::ToolSets::ConfigMcp} for more details.
20
+ #
21
+ # @param annotations [Cadenya::Models::ToolSets::McpAnnotations] Behavior hints synced from the MCP server's tool definition
22
+ end
8
23
  end
9
24
  end
10
25
  end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ module ToolSets
6
+ class McpAnnotations < Cadenya::Internal::Type::BaseModel
7
+ # @!attribute destructive_hint
8
+ # If true, the tool may perform destructive updates to its environment. Only
9
+ # meaningful when read_only_hint is false.
10
+ #
11
+ # @return [Boolean, nil]
12
+ optional :destructive_hint, Cadenya::Internal::Type::Boolean, api_name: :destructiveHint
13
+
14
+ # @!attribute idempotent_hint
15
+ # If true, calling the tool repeatedly with the same arguments has no additional
16
+ # effect. Only meaningful when read_only_hint is false.
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :idempotent_hint, Cadenya::Internal::Type::Boolean, api_name: :idempotentHint
20
+
21
+ # @!attribute open_world_hint
22
+ # If true, the tool may interact with an "open world" of external entities (e.g.
23
+ # web search); if false, its domain is closed.
24
+ #
25
+ # @return [Boolean, nil]
26
+ optional :open_world_hint, Cadenya::Internal::Type::Boolean, api_name: :openWorldHint
27
+
28
+ # @!attribute read_only_hint
29
+ # If true, the tool does not modify its environment.
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :read_only_hint, Cadenya::Internal::Type::Boolean, api_name: :readOnlyHint
33
+
34
+ # @!attribute title
35
+ # A human-readable title for the tool.
36
+ #
37
+ # @return [String, nil]
38
+ optional :title, String
39
+
40
+ # @!method initialize(destructive_hint: nil, idempotent_hint: nil, open_world_hint: nil, read_only_hint: nil, title: nil)
41
+ # Some parameter documentations has been truncated, see
42
+ # {Cadenya::Models::ToolSets::McpAnnotations} for more details.
43
+ #
44
+ # Behavior hints synced from the MCP server's tool definition (ToolAnnotations in
45
+ # the MCP specification). All hints are advisory: servers are not required to send
46
+ # them, and clients should not rely on them for security decisions. Absent hints
47
+ # keep the MCP spec defaults (destructiveHint and openWorldHint default to true;
48
+ # readOnlyHint and idempotentHint default to false).
49
+ #
50
+ # @param destructive_hint [Boolean] If true, the tool may perform destructive updates to its environment.
51
+ #
52
+ # @param idempotent_hint [Boolean] If true, calling the tool repeatedly with the same arguments has no
53
+ #
54
+ # @param open_world_hint [Boolean] If true, the tool may interact with an "open world" of external
55
+ #
56
+ # @param read_only_hint [Boolean] If true, the tool does not modify its environment.
57
+ #
58
+ # @param title [String] A human-readable title for the tool.
59
+ end
60
+ end
61
+ end
62
+ end
@@ -11,8 +11,8 @@ module Cadenya
11
11
 
12
12
  # @!attribute mcp
13
13
  #
14
- # @return [Object, nil]
15
- optional :mcp, Cadenya::Internal::Type::Unknown
14
+ # @return [Cadenya::Models::ToolSets::ConfigMcp, nil]
15
+ optional :mcp, -> { Cadenya::ToolSets::ConfigMcp }
16
16
 
17
17
  # @!attribute openapi
18
18
  #
@@ -25,7 +25,7 @@ module Cadenya
25
25
  # be Http. If the tool is an inline tool, the adapter will be Inline.
26
26
  #
27
27
  # @param http [Cadenya::Models::ToolSets::ConfigHTTP]
28
- # @param mcp [Object]
28
+ # @param mcp [Cadenya::Models::ToolSets::ConfigMcp]
29
29
  # @param openapi [Cadenya::Models::ToolSets::ConfigOpenAPI]
30
30
  end
31
31
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cadenya
4
- VERSION = "0.24.0"
4
+ VERSION = "0.25.0"
5
5
  end
data/lib/cadenya.rb CHANGED
@@ -258,6 +258,7 @@ require_relative "cadenya/models/tool_set_retrieve_params"
258
258
  require_relative "cadenya/models/tool_sets/config_http"
259
259
  require_relative "cadenya/models/tool_sets/config_mcp"
260
260
  require_relative "cadenya/models/tool_sets/config_openapi"
261
+ require_relative "cadenya/models/tool_sets/mcp_annotations"
261
262
  require_relative "cadenya/models/tool_sets/secret_create_params"
262
263
  require_relative "cadenya/models/tool_sets/secret_delete_params"
263
264
  require_relative "cadenya/models/tool_sets/secret_list_params"
@@ -3,7 +3,46 @@
3
3
  module Cadenya
4
4
  module Models
5
5
  module ToolSets
6
- ConfigMcp = T.let(T.anything, Cadenya::Internal::Type::Converter)
6
+ class ConfigMcp < Cadenya::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Cadenya::ToolSets::ConfigMcp, Cadenya::Internal::AnyHash)
10
+ end
11
+
12
+ # Behavior hints synced from the MCP server's tool definition (ToolAnnotations in
13
+ # the MCP specification). All hints are advisory: servers are not required to send
14
+ # them, and clients should not rely on them for security decisions. Absent hints
15
+ # keep the MCP spec defaults (destructiveHint and openWorldHint default to true;
16
+ # readOnlyHint and idempotentHint default to false).
17
+ sig { returns(T.nilable(Cadenya::ToolSets::McpAnnotations)) }
18
+ attr_reader :annotations
19
+
20
+ sig do
21
+ params(annotations: Cadenya::ToolSets::McpAnnotations::OrHash).void
22
+ end
23
+ attr_writer :annotations
24
+
25
+ sig do
26
+ params(
27
+ annotations: Cadenya::ToolSets::McpAnnotations::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ # Behavior hints synced from the MCP server's tool definition (ToolAnnotations in
32
+ # the MCP specification). All hints are advisory: servers are not required to send
33
+ # them, and clients should not rely on them for security decisions. Absent hints
34
+ # keep the MCP spec defaults (destructiveHint and openWorldHint default to true;
35
+ # readOnlyHint and idempotentHint default to false).
36
+ annotations: nil
37
+ )
38
+ end
39
+
40
+ sig do
41
+ override.returns({ annotations: Cadenya::ToolSets::McpAnnotations })
42
+ end
43
+ def to_hash
44
+ end
45
+ end
7
46
  end
8
47
  end
9
48
  end
@@ -0,0 +1,97 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module ToolSets
6
+ class McpAnnotations < Cadenya::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Cadenya::ToolSets::McpAnnotations, Cadenya::Internal::AnyHash)
10
+ end
11
+
12
+ # If true, the tool may perform destructive updates to its environment. Only
13
+ # meaningful when read_only_hint is false.
14
+ sig { returns(T.nilable(T::Boolean)) }
15
+ attr_reader :destructive_hint
16
+
17
+ sig { params(destructive_hint: T::Boolean).void }
18
+ attr_writer :destructive_hint
19
+
20
+ # If true, calling the tool repeatedly with the same arguments has no additional
21
+ # effect. Only meaningful when read_only_hint is false.
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :idempotent_hint
24
+
25
+ sig { params(idempotent_hint: T::Boolean).void }
26
+ attr_writer :idempotent_hint
27
+
28
+ # If true, the tool may interact with an "open world" of external entities (e.g.
29
+ # web search); if false, its domain is closed.
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :open_world_hint
32
+
33
+ sig { params(open_world_hint: T::Boolean).void }
34
+ attr_writer :open_world_hint
35
+
36
+ # If true, the tool does not modify its environment.
37
+ sig { returns(T.nilable(T::Boolean)) }
38
+ attr_reader :read_only_hint
39
+
40
+ sig { params(read_only_hint: T::Boolean).void }
41
+ attr_writer :read_only_hint
42
+
43
+ # A human-readable title for the tool.
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :title
46
+
47
+ sig { params(title: String).void }
48
+ attr_writer :title
49
+
50
+ # Behavior hints synced from the MCP server's tool definition (ToolAnnotations in
51
+ # the MCP specification). All hints are advisory: servers are not required to send
52
+ # them, and clients should not rely on them for security decisions. Absent hints
53
+ # keep the MCP spec defaults (destructiveHint and openWorldHint default to true;
54
+ # readOnlyHint and idempotentHint default to false).
55
+ sig do
56
+ params(
57
+ destructive_hint: T::Boolean,
58
+ idempotent_hint: T::Boolean,
59
+ open_world_hint: T::Boolean,
60
+ read_only_hint: T::Boolean,
61
+ title: String
62
+ ).returns(T.attached_class)
63
+ end
64
+ def self.new(
65
+ # If true, the tool may perform destructive updates to its environment. Only
66
+ # meaningful when read_only_hint is false.
67
+ destructive_hint: nil,
68
+ # If true, calling the tool repeatedly with the same arguments has no additional
69
+ # effect. Only meaningful when read_only_hint is false.
70
+ idempotent_hint: nil,
71
+ # If true, the tool may interact with an "open world" of external entities (e.g.
72
+ # web search); if false, its domain is closed.
73
+ open_world_hint: nil,
74
+ # If true, the tool does not modify its environment.
75
+ read_only_hint: nil,
76
+ # A human-readable title for the tool.
77
+ title: nil
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ destructive_hint: T::Boolean,
85
+ idempotent_hint: T::Boolean,
86
+ open_world_hint: T::Boolean,
87
+ read_only_hint: T::Boolean,
88
+ title: String
89
+ }
90
+ )
91
+ end
92
+ def to_hash
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -15,10 +15,10 @@ module Cadenya
15
15
  sig { params(http: Cadenya::ToolSets::ConfigHTTP::OrHash).void }
16
16
  attr_writer :http
17
17
 
18
- sig { returns(T.nilable(T.anything)) }
18
+ sig { returns(T.nilable(Cadenya::ToolSets::ConfigMcp)) }
19
19
  attr_reader :mcp
20
20
 
21
- sig { params(mcp: T.anything).void }
21
+ sig { params(mcp: Cadenya::ToolSets::ConfigMcp::OrHash).void }
22
22
  attr_writer :mcp
23
23
 
24
24
  sig { returns(T.nilable(Cadenya::ToolSets::ConfigOpenAPI)) }
@@ -33,7 +33,7 @@ module Cadenya
33
33
  sig do
34
34
  params(
35
35
  http: Cadenya::ToolSets::ConfigHTTP::OrHash,
36
- mcp: T.anything,
36
+ mcp: Cadenya::ToolSets::ConfigMcp::OrHash,
37
37
  openapi: Cadenya::ToolSets::ConfigOpenAPI::OrHash
38
38
  ).returns(T.attached_class)
39
39
  end
@@ -44,7 +44,7 @@ module Cadenya
44
44
  override.returns(
45
45
  {
46
46
  http: Cadenya::ToolSets::ConfigHTTP,
47
- mcp: T.anything,
47
+ mcp: Cadenya::ToolSets::ConfigMcp,
48
48
  openapi: Cadenya::ToolSets::ConfigOpenAPI
49
49
  }
50
50
  )
@@ -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.24.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