cadenya 0.1.0 → 0.3.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 +33 -0
- data/README.md +1 -1
- data/lib/cadenya/client.rb +14 -0
- data/lib/cadenya/internal/cursor_pagination.rb +1 -1
- data/lib/cadenya/internal/transport/base_client.rb +2 -0
- data/lib/cadenya/models/agent_spec.rb +19 -4
- data/lib/cadenya/models/agents/webhook_delivery_data.rb +3 -1
- data/lib/cadenya/models/agents/webhook_delivery_list_params.rb +3 -1
- data/lib/cadenya/models/approval_requirement_filter.rb +26 -0
- data/lib/cadenya/models/attribute_filter.rb +38 -0
- data/lib/cadenya/models/objective_create_params.rb +3 -3
- data/lib/cadenya/models/objective_data.rb +21 -1
- data/lib/cadenya/models/objective_event_data.rb +43 -5
- data/lib/cadenya/models/objective_list_events_params.rb +9 -1
- data/lib/cadenya/models/objective_list_params.rb +2 -1
- data/lib/cadenya/models/objective_status.rb +2 -1
- data/lib/cadenya/models/profile_spec.rb +1 -0
- data/lib/cadenya/models/string_matcher.rb +47 -0
- data/lib/cadenya/models/sub_agent_spawned.rb +35 -0
- data/lib/cadenya/models/sub_agent_updated.rb +66 -0
- data/lib/cadenya/models/tool_filter.rb +35 -0
- data/lib/cadenya/models/tool_set_adapter.rb +7 -1
- data/lib/cadenya/models/tool_set_adapter_mcp.rb +11 -33
- data/lib/cadenya/models/tool_set_adapter_openapi.rb +79 -0
- data/lib/cadenya/models/tool_set_get_openapi_spec_params.rb +26 -0
- data/lib/cadenya/models/tool_set_get_openapi_spec_response.rb +17 -0
- data/lib/cadenya/models/tool_sets/config_openapi.rb +29 -0
- data/lib/cadenya/models/tool_sets/tool_spec_config.rb +7 -1
- data/lib/cadenya/models/workspace.rb +27 -1
- data/lib/cadenya/models/workspace_admin/member_add_params.rb +39 -0
- data/lib/cadenya/models/workspace_admin/member_list_params.rb +39 -0
- data/lib/cadenya/models/workspace_admin/member_remove_params.rb +28 -0
- data/lib/cadenya/models/workspace_admin/profile_list_params.rb +44 -0
- data/lib/cadenya/models/workspace_admin_archive_params.rb +20 -0
- data/lib/cadenya/models/workspace_admin_create_params.rb +70 -0
- data/lib/cadenya/models/workspace_admin_list_params.rb +42 -0
- data/lib/cadenya/models/workspace_admin_retrieve_params.rb +20 -0
- data/lib/cadenya/models/workspace_admin_update_params.rb +85 -0
- data/lib/cadenya/models/workspace_member.rb +53 -0
- data/lib/cadenya/models.rb +29 -3
- data/lib/cadenya/resources/objectives.rb +5 -2
- data/lib/cadenya/resources/tool_sets.rb +31 -0
- data/lib/cadenya/resources/workspace_admin/members.rb +107 -0
- data/lib/cadenya/resources/workspace_admin/profiles.rb +54 -0
- data/lib/cadenya/resources/workspace_admin.rb +173 -0
- data/lib/cadenya/resources/workspaces.rb +4 -0
- data/lib/cadenya/version.rb +1 -1
- data/lib/cadenya.rb +23 -2
- data/rbi/cadenya/client.rbi +13 -0
- data/rbi/cadenya/models/agent_spec.rbi +21 -4
- data/rbi/cadenya/models/agents/webhook_delivery_data.rbi +15 -5
- data/rbi/cadenya/models/agents/webhook_delivery_list_params.rbi +15 -5
- data/rbi/cadenya/models/approval_requirement_filter.rbi +45 -0
- data/rbi/cadenya/models/attribute_filter.rbi +84 -0
- data/rbi/cadenya/models/objective_create_params.rbi +2 -2
- data/rbi/cadenya/models/objective_data.rbi +26 -0
- data/rbi/cadenya/models/objective_event_data.rbi +68 -9
- data/rbi/cadenya/models/objective_list_events_params.rbi +11 -0
- data/rbi/cadenya/models/objective_list_params.rbi +7 -2
- data/rbi/cadenya/models/objective_status.rbi +4 -2
- data/rbi/cadenya/models/profile_spec.rbi +5 -0
- data/rbi/cadenya/models/string_matcher.rbi +84 -0
- data/rbi/cadenya/models/sub_agent_spawned.rbi +62 -0
- data/rbi/cadenya/models/sub_agent_updated.rbi +127 -0
- data/rbi/cadenya/models/tool_filter.rbi +66 -0
- data/rbi/cadenya/models/tool_set_adapter.rbi +14 -3
- data/rbi/cadenya/models/tool_set_adapter_mcp.rbi +16 -62
- data/rbi/cadenya/models/tool_set_adapter_openapi.rbi +127 -0
- data/rbi/cadenya/models/tool_set_get_openapi_spec_params.rbi +46 -0
- data/rbi/cadenya/models/tool_set_get_openapi_spec_response.rbi +33 -0
- data/rbi/cadenya/models/tool_sets/config_openapi.rbi +48 -0
- data/rbi/cadenya/models/tool_sets/tool_spec_config.rbi +11 -3
- data/rbi/cadenya/models/workspace.rbi +39 -3
- data/rbi/cadenya/models/workspace_admin/member_add_params.rbi +68 -0
- data/rbi/cadenya/models/workspace_admin/member_list_params.rbi +68 -0
- data/rbi/cadenya/models/workspace_admin/member_remove_params.rbi +48 -0
- data/rbi/cadenya/models/workspace_admin/profile_list_params.rbi +75 -0
- data/rbi/cadenya/models/workspace_admin_archive_params.rbi +38 -0
- data/rbi/cadenya/models/workspace_admin_create_params.rbi +127 -0
- data/rbi/cadenya/models/workspace_admin_list_params.rbi +70 -0
- data/rbi/cadenya/models/workspace_admin_retrieve_params.rbi +38 -0
- data/rbi/cadenya/models/workspace_admin_update_params.rbi +144 -0
- data/rbi/cadenya/models/workspace_member.rbi +80 -0
- data/rbi/cadenya/models.rbi +29 -3
- data/rbi/cadenya/resources/objectives.rbi +4 -1
- data/rbi/cadenya/resources/tool_sets.rbi +18 -0
- data/rbi/cadenya/resources/workspace_admin/members.rbi +83 -0
- data/rbi/cadenya/resources/workspace_admin/profiles.rbi +42 -0
- data/rbi/cadenya/resources/workspace_admin.rbi +131 -0
- data/rbi/cadenya/resources/workspaces.rbi +4 -0
- data/sig/cadenya/client.rbs +2 -0
- data/sig/cadenya/models/agent_spec.rbs +12 -5
- data/sig/cadenya/models/agents/webhook_delivery_data.rbs +6 -2
- data/sig/cadenya/models/agents/webhook_delivery_list_params.rbs +6 -2
- data/sig/cadenya/models/approval_requirement_filter.rbs +20 -0
- data/sig/cadenya/models/attribute_filter.rbs +44 -0
- data/sig/cadenya/models/objective_create_params.rbs +6 -2
- data/sig/cadenya/models/objective_data.rbs +14 -0
- data/sig/cadenya/models/objective_event_data.rbs +37 -7
- data/sig/cadenya/models/objective_list_events_params.rbs +7 -0
- data/sig/cadenya/models/objective_list_params.rbs +4 -2
- data/sig/cadenya/models/objective_status.rbs +4 -2
- data/sig/cadenya/models/profile_spec.rbs +5 -1
- data/sig/cadenya/models/string_matcher.rbs +57 -0
- data/sig/cadenya/models/sub_agent_spawned.rbs +36 -0
- data/sig/cadenya/models/sub_agent_updated.rbs +66 -0
- data/sig/cadenya/models/tool_filter.rbs +41 -0
- data/sig/cadenya/models/tool_set_adapter.rbs +15 -3
- data/sig/cadenya/models/tool_set_adapter_mcp.rbs +16 -32
- data/sig/cadenya/models/tool_set_adapter_openapi.rbs +73 -0
- data/sig/cadenya/models/tool_set_get_openapi_spec_params.rbs +28 -0
- data/sig/cadenya/models/tool_set_get_openapi_spec_response.rbs +15 -0
- data/sig/cadenya/models/tool_sets/config_openapi.rbs +30 -0
- data/sig/cadenya/models/tool_sets/tool_spec_config.rbs +12 -3
- data/sig/cadenya/models/workspace.rbs +24 -3
- data/sig/cadenya/models/workspace_admin/member_add_params.rbs +38 -0
- data/sig/cadenya/models/workspace_admin/member_list_params.rbs +38 -0
- data/sig/cadenya/models/workspace_admin/member_remove_params.rbs +30 -0
- data/sig/cadenya/models/workspace_admin/profile_list_params.rbs +40 -0
- data/sig/cadenya/models/workspace_admin_archive_params.rbs +23 -0
- data/sig/cadenya/models/workspace_admin_create_params.rbs +58 -0
- data/sig/cadenya/models/workspace_admin_list_params.rbs +38 -0
- data/sig/cadenya/models/workspace_admin_retrieve_params.rbs +23 -0
- data/sig/cadenya/models/workspace_admin_update_params.rbs +76 -0
- data/sig/cadenya/models/workspace_member.rbs +46 -0
- data/sig/cadenya/models.rbs +29 -3
- data/sig/cadenya/resources/objectives.rbs +2 -1
- data/sig/cadenya/resources/tool_sets.rbs +6 -0
- data/sig/cadenya/resources/workspace_admin/members.rbs +29 -0
- data/sig/cadenya/resources/workspace_admin/profiles.rbs +16 -0
- data/sig/cadenya/resources/workspace_admin.rbs +42 -0
- metadata +71 -8
- data/lib/cadenya/models/mcp_tool_filter.rb +0 -111
- data/lib/cadenya/models/sub_objective_created.rb +0 -20
- data/rbi/cadenya/models/mcp_tool_filter.rbi +0 -235
- data/rbi/cadenya/models/sub_objective_created.rbi +0 -36
- data/sig/cadenya/models/mcp_tool_filter.rbs +0 -138
- data/sig/cadenya/models/sub_objective_created.rbs +0 -15
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class StringMatcher < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Cadenya::StringMatcher, Cadenya::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
12
|
+
attr_reader :case_sensitive
|
|
13
|
+
|
|
14
|
+
sig { params(case_sensitive: T::Boolean).void }
|
|
15
|
+
attr_writer :case_sensitive
|
|
16
|
+
|
|
17
|
+
sig { returns(T.nilable(String)) }
|
|
18
|
+
attr_reader :contains
|
|
19
|
+
|
|
20
|
+
sig { params(contains: String).void }
|
|
21
|
+
attr_writer :contains
|
|
22
|
+
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :ends_with
|
|
25
|
+
|
|
26
|
+
sig { params(ends_with: String).void }
|
|
27
|
+
attr_writer :ends_with
|
|
28
|
+
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_reader :exact
|
|
31
|
+
|
|
32
|
+
sig { params(exact: String).void }
|
|
33
|
+
attr_writer :exact
|
|
34
|
+
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_reader :regex
|
|
37
|
+
|
|
38
|
+
sig { params(regex: String).void }
|
|
39
|
+
attr_writer :regex
|
|
40
|
+
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_reader :starts_with
|
|
43
|
+
|
|
44
|
+
sig { params(starts_with: String).void }
|
|
45
|
+
attr_writer :starts_with
|
|
46
|
+
|
|
47
|
+
# String matching operations
|
|
48
|
+
sig do
|
|
49
|
+
params(
|
|
50
|
+
case_sensitive: T::Boolean,
|
|
51
|
+
contains: String,
|
|
52
|
+
ends_with: String,
|
|
53
|
+
exact: String,
|
|
54
|
+
regex: String,
|
|
55
|
+
starts_with: String
|
|
56
|
+
).returns(T.attached_class)
|
|
57
|
+
end
|
|
58
|
+
def self.new(
|
|
59
|
+
case_sensitive: nil,
|
|
60
|
+
contains: nil,
|
|
61
|
+
ends_with: nil,
|
|
62
|
+
exact: nil,
|
|
63
|
+
regex: nil,
|
|
64
|
+
starts_with: nil
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
sig do
|
|
69
|
+
override.returns(
|
|
70
|
+
{
|
|
71
|
+
case_sensitive: T::Boolean,
|
|
72
|
+
contains: String,
|
|
73
|
+
ends_with: String,
|
|
74
|
+
exact: String,
|
|
75
|
+
regex: String,
|
|
76
|
+
starts_with: String
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
def to_hash
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class SubAgentSpawned < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Cadenya::SubAgentSpawned, Cadenya::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
12
|
+
sig { returns(T.nilable(Cadenya::ResourceMetadata)) }
|
|
13
|
+
attr_reader :agent
|
|
14
|
+
|
|
15
|
+
sig { params(agent: Cadenya::ResourceMetadata::OrHash).void }
|
|
16
|
+
attr_writer :agent
|
|
17
|
+
|
|
18
|
+
# Metadata for ephemeral operations and activities (e.g., objectives, executions,
|
|
19
|
+
# runs)
|
|
20
|
+
sig { returns(T.nilable(Cadenya::OperationMetadata)) }
|
|
21
|
+
attr_reader :objective
|
|
22
|
+
|
|
23
|
+
sig { params(objective: Cadenya::OperationMetadata::OrHash).void }
|
|
24
|
+
attr_writer :objective
|
|
25
|
+
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :task
|
|
28
|
+
|
|
29
|
+
sig { params(task: String).void }
|
|
30
|
+
attr_writer :task
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
agent: Cadenya::ResourceMetadata::OrHash,
|
|
35
|
+
objective: Cadenya::OperationMetadata::OrHash,
|
|
36
|
+
task: String
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
# Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
|
|
41
|
+
agent: nil,
|
|
42
|
+
# Metadata for ephemeral operations and activities (e.g., objectives, executions,
|
|
43
|
+
# runs)
|
|
44
|
+
objective: nil,
|
|
45
|
+
task: nil
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
sig do
|
|
50
|
+
override.returns(
|
|
51
|
+
{
|
|
52
|
+
agent: Cadenya::ResourceMetadata,
|
|
53
|
+
objective: Cadenya::OperationMetadata,
|
|
54
|
+
task: String
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
def to_hash
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class SubAgentUpdated < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Cadenya::SubAgentUpdated, Cadenya::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# BareMetadata contains the minimal metadata for a resource: the ID and an
|
|
12
|
+
# optional human-readable name. These are used for reference fields where the full
|
|
13
|
+
# metadata (account scoping, timestamps, labels, external IDs) is not needed —
|
|
14
|
+
# e.g., the tool references inside an agent variation spec or the tools assigned
|
|
15
|
+
# to an objective. Both fields are server-populated; clients provide IDs through
|
|
16
|
+
# sibling fields rather than by constructing a BareMetadata themselves.
|
|
17
|
+
sig { returns(T.nilable(Cadenya::BareMetadata)) }
|
|
18
|
+
attr_reader :agent
|
|
19
|
+
|
|
20
|
+
sig { params(agent: Cadenya::BareMetadata::OrHash).void }
|
|
21
|
+
attr_writer :agent
|
|
22
|
+
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :message
|
|
25
|
+
|
|
26
|
+
sig { params(message: String).void }
|
|
27
|
+
attr_writer :message
|
|
28
|
+
|
|
29
|
+
# BareMetadata contains the minimal metadata for a resource: the ID and an
|
|
30
|
+
# optional human-readable name. These are used for reference fields where the full
|
|
31
|
+
# metadata (account scoping, timestamps, labels, external IDs) is not needed —
|
|
32
|
+
# e.g., the tool references inside an agent variation spec or the tools assigned
|
|
33
|
+
# to an objective. Both fields are server-populated; clients provide IDs through
|
|
34
|
+
# sibling fields rather than by constructing a BareMetadata themselves.
|
|
35
|
+
sig { returns(T.nilable(Cadenya::BareMetadata)) }
|
|
36
|
+
attr_reader :objective
|
|
37
|
+
|
|
38
|
+
sig { params(objective: Cadenya::BareMetadata::OrHash).void }
|
|
39
|
+
attr_writer :objective
|
|
40
|
+
|
|
41
|
+
sig { returns(T.nilable(Cadenya::SubAgentUpdated::Status::TaggedSymbol)) }
|
|
42
|
+
attr_reader :status
|
|
43
|
+
|
|
44
|
+
sig { params(status: Cadenya::SubAgentUpdated::Status::OrSymbol).void }
|
|
45
|
+
attr_writer :status
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
agent: Cadenya::BareMetadata::OrHash,
|
|
50
|
+
message: String,
|
|
51
|
+
objective: Cadenya::BareMetadata::OrHash,
|
|
52
|
+
status: Cadenya::SubAgentUpdated::Status::OrSymbol
|
|
53
|
+
).returns(T.attached_class)
|
|
54
|
+
end
|
|
55
|
+
def self.new(
|
|
56
|
+
# BareMetadata contains the minimal metadata for a resource: the ID and an
|
|
57
|
+
# optional human-readable name. These are used for reference fields where the full
|
|
58
|
+
# metadata (account scoping, timestamps, labels, external IDs) is not needed —
|
|
59
|
+
# e.g., the tool references inside an agent variation spec or the tools assigned
|
|
60
|
+
# to an objective. Both fields are server-populated; clients provide IDs through
|
|
61
|
+
# sibling fields rather than by constructing a BareMetadata themselves.
|
|
62
|
+
agent: nil,
|
|
63
|
+
message: nil,
|
|
64
|
+
# BareMetadata contains the minimal metadata for a resource: the ID and an
|
|
65
|
+
# optional human-readable name. These are used for reference fields where the full
|
|
66
|
+
# metadata (account scoping, timestamps, labels, external IDs) is not needed —
|
|
67
|
+
# e.g., the tool references inside an agent variation spec or the tools assigned
|
|
68
|
+
# to an objective. Both fields are server-populated; clients provide IDs through
|
|
69
|
+
# sibling fields rather than by constructing a BareMetadata themselves.
|
|
70
|
+
objective: nil,
|
|
71
|
+
status: nil
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig do
|
|
76
|
+
override.returns(
|
|
77
|
+
{
|
|
78
|
+
agent: Cadenya::BareMetadata,
|
|
79
|
+
message: String,
|
|
80
|
+
objective: Cadenya::BareMetadata,
|
|
81
|
+
status: Cadenya::SubAgentUpdated::Status::TaggedSymbol
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
def to_hash
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
module Status
|
|
89
|
+
extend Cadenya::Internal::Type::Enum
|
|
90
|
+
|
|
91
|
+
TaggedSymbol =
|
|
92
|
+
T.type_alias { T.all(Symbol, Cadenya::SubAgentUpdated::Status) }
|
|
93
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
94
|
+
|
|
95
|
+
STATUS_UNSPECIFIED =
|
|
96
|
+
T.let(
|
|
97
|
+
:STATUS_UNSPECIFIED,
|
|
98
|
+
Cadenya::SubAgentUpdated::Status::TaggedSymbol
|
|
99
|
+
)
|
|
100
|
+
STATUS_PENDING =
|
|
101
|
+
T.let(:STATUS_PENDING, Cadenya::SubAgentUpdated::Status::TaggedSymbol)
|
|
102
|
+
STATUS_RUNNING =
|
|
103
|
+
T.let(:STATUS_RUNNING, Cadenya::SubAgentUpdated::Status::TaggedSymbol)
|
|
104
|
+
STATUS_COMPLETED =
|
|
105
|
+
T.let(
|
|
106
|
+
:STATUS_COMPLETED,
|
|
107
|
+
Cadenya::SubAgentUpdated::Status::TaggedSymbol
|
|
108
|
+
)
|
|
109
|
+
STATUS_FAILED =
|
|
110
|
+
T.let(:STATUS_FAILED, Cadenya::SubAgentUpdated::Status::TaggedSymbol)
|
|
111
|
+
STATUS_CANCELLED =
|
|
112
|
+
T.let(
|
|
113
|
+
:STATUS_CANCELLED,
|
|
114
|
+
Cadenya::SubAgentUpdated::Status::TaggedSymbol
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
sig do
|
|
118
|
+
override.returns(
|
|
119
|
+
T::Array[Cadenya::SubAgentUpdated::Status::TaggedSymbol]
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
def self.values
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class ToolFilter < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Cadenya::ToolFilter, Cadenya::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
sig { returns(Cadenya::ToolFilter::Operator::OrSymbol) }
|
|
10
|
+
attr_accessor :operator
|
|
11
|
+
|
|
12
|
+
sig { returns(T.nilable(T::Array[Cadenya::AttributeFilter])) }
|
|
13
|
+
attr_reader :filters
|
|
14
|
+
|
|
15
|
+
sig { params(filters: T::Array[Cadenya::AttributeFilter::OrHash]).void }
|
|
16
|
+
attr_writer :filters
|
|
17
|
+
|
|
18
|
+
# Top-level filter with simple boolean logic (no nesting)
|
|
19
|
+
sig do
|
|
20
|
+
params(
|
|
21
|
+
operator: Cadenya::ToolFilter::Operator::OrSymbol,
|
|
22
|
+
filters: T::Array[Cadenya::AttributeFilter::OrHash]
|
|
23
|
+
).returns(T.attached_class)
|
|
24
|
+
end
|
|
25
|
+
def self.new(operator:, filters: nil)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
sig do
|
|
29
|
+
override.returns(
|
|
30
|
+
{
|
|
31
|
+
operator: Cadenya::ToolFilter::Operator::OrSymbol,
|
|
32
|
+
filters: T::Array[Cadenya::AttributeFilter]
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
def to_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
module Operator
|
|
40
|
+
extend Cadenya::Internal::Type::Enum
|
|
41
|
+
|
|
42
|
+
TaggedSymbol =
|
|
43
|
+
T.type_alias { T.all(Symbol, Cadenya::ToolFilter::Operator) }
|
|
44
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
45
|
+
|
|
46
|
+
OPERATOR_UNSPECIFIED =
|
|
47
|
+
T.let(
|
|
48
|
+
:OPERATOR_UNSPECIFIED,
|
|
49
|
+
Cadenya::ToolFilter::Operator::TaggedSymbol
|
|
50
|
+
)
|
|
51
|
+
OPERATOR_AND =
|
|
52
|
+
T.let(:OPERATOR_AND, Cadenya::ToolFilter::Operator::TaggedSymbol)
|
|
53
|
+
OPERATOR_OR =
|
|
54
|
+
T.let(:OPERATOR_OR, Cadenya::ToolFilter::Operator::TaggedSymbol)
|
|
55
|
+
|
|
56
|
+
sig do
|
|
57
|
+
override.returns(
|
|
58
|
+
T::Array[Cadenya::ToolFilter::Operator::TaggedSymbol]
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def self.values
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -20,18 +20,29 @@ module Cadenya
|
|
|
20
20
|
sig { params(mcp: Cadenya::ToolSetAdapterMcp::OrHash).void }
|
|
21
21
|
attr_writer :mcp
|
|
22
22
|
|
|
23
|
+
sig { returns(T.nilable(Cadenya::ToolSetAdapterOpenAPI)) }
|
|
24
|
+
attr_reader :openapi
|
|
25
|
+
|
|
26
|
+
sig { params(openapi: Cadenya::ToolSetAdapterOpenAPI::OrHash).void }
|
|
27
|
+
attr_writer :openapi
|
|
28
|
+
|
|
23
29
|
sig do
|
|
24
30
|
params(
|
|
25
31
|
http: Cadenya::ToolSetAdapterHTTP::OrHash,
|
|
26
|
-
mcp: Cadenya::ToolSetAdapterMcp::OrHash
|
|
32
|
+
mcp: Cadenya::ToolSetAdapterMcp::OrHash,
|
|
33
|
+
openapi: Cadenya::ToolSetAdapterOpenAPI::OrHash
|
|
27
34
|
).returns(T.attached_class)
|
|
28
35
|
end
|
|
29
|
-
def self.new(http: nil, mcp: nil)
|
|
36
|
+
def self.new(http: nil, mcp: nil, openapi: nil)
|
|
30
37
|
end
|
|
31
38
|
|
|
32
39
|
sig do
|
|
33
40
|
override.returns(
|
|
34
|
-
{
|
|
41
|
+
{
|
|
42
|
+
http: Cadenya::ToolSetAdapterHTTP,
|
|
43
|
+
mcp: Cadenya::ToolSetAdapterMcp,
|
|
44
|
+
openapi: Cadenya::ToolSetAdapterOpenAPI
|
|
45
|
+
}
|
|
35
46
|
)
|
|
36
47
|
end
|
|
37
48
|
def to_hash
|
|
@@ -9,10 +9,10 @@ module Cadenya
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
# Top-level filter with simple boolean logic (no nesting)
|
|
12
|
-
sig { returns(T.nilable(Cadenya::
|
|
12
|
+
sig { returns(T.nilable(Cadenya::ToolFilter)) }
|
|
13
13
|
attr_reader :exclude_tools
|
|
14
14
|
|
|
15
|
-
sig { params(exclude_tools: Cadenya::
|
|
15
|
+
sig { params(exclude_tools: Cadenya::ToolFilter::OrHash).void }
|
|
16
16
|
attr_writer :exclude_tools
|
|
17
17
|
|
|
18
18
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
@@ -22,21 +22,19 @@ module Cadenya
|
|
|
22
22
|
attr_writer :headers
|
|
23
23
|
|
|
24
24
|
# Top-level filter with simple boolean logic (no nesting)
|
|
25
|
-
sig { returns(T.nilable(Cadenya::
|
|
25
|
+
sig { returns(T.nilable(Cadenya::ToolFilter)) }
|
|
26
26
|
attr_reader :include_tools
|
|
27
27
|
|
|
28
|
-
sig { params(include_tools: Cadenya::
|
|
28
|
+
sig { params(include_tools: Cadenya::ToolFilter::OrHash).void }
|
|
29
29
|
attr_writer :include_tools
|
|
30
30
|
|
|
31
|
-
# Approval filters that will automatically set the approval requirement on
|
|
32
|
-
#
|
|
33
|
-
sig { returns(T.nilable(Cadenya::
|
|
31
|
+
# Approval filters that will automatically set the approval requirement on tools
|
|
32
|
+
# synced from an external source
|
|
33
|
+
sig { returns(T.nilable(Cadenya::ApprovalRequirementFilter)) }
|
|
34
34
|
attr_reader :tool_approvals
|
|
35
35
|
|
|
36
36
|
sig do
|
|
37
|
-
params(
|
|
38
|
-
tool_approvals: Cadenya::ToolSetAdapterMcp::ToolApprovals::OrHash
|
|
39
|
-
).void
|
|
37
|
+
params(tool_approvals: Cadenya::ApprovalRequirementFilter::OrHash).void
|
|
40
38
|
end
|
|
41
39
|
attr_writer :tool_approvals
|
|
42
40
|
|
|
@@ -48,10 +46,10 @@ module Cadenya
|
|
|
48
46
|
|
|
49
47
|
sig do
|
|
50
48
|
params(
|
|
51
|
-
exclude_tools: Cadenya::
|
|
49
|
+
exclude_tools: Cadenya::ToolFilter::OrHash,
|
|
52
50
|
headers: T::Hash[Symbol, String],
|
|
53
|
-
include_tools: Cadenya::
|
|
54
|
-
tool_approvals: Cadenya::
|
|
51
|
+
include_tools: Cadenya::ToolFilter::OrHash,
|
|
52
|
+
tool_approvals: Cadenya::ApprovalRequirementFilter::OrHash,
|
|
55
53
|
url: String
|
|
56
54
|
).returns(T.attached_class)
|
|
57
55
|
end
|
|
@@ -61,8 +59,8 @@ module Cadenya
|
|
|
61
59
|
headers: nil,
|
|
62
60
|
# Top-level filter with simple boolean logic (no nesting)
|
|
63
61
|
include_tools: nil,
|
|
64
|
-
# Approval filters that will automatically set the approval requirement on
|
|
65
|
-
#
|
|
62
|
+
# Approval filters that will automatically set the approval requirement on tools
|
|
63
|
+
# synced from an external source
|
|
66
64
|
tool_approvals: nil,
|
|
67
65
|
url: nil
|
|
68
66
|
)
|
|
@@ -71,60 +69,16 @@ module Cadenya
|
|
|
71
69
|
sig do
|
|
72
70
|
override.returns(
|
|
73
71
|
{
|
|
74
|
-
exclude_tools: Cadenya::
|
|
72
|
+
exclude_tools: Cadenya::ToolFilter,
|
|
75
73
|
headers: T::Hash[Symbol, String],
|
|
76
|
-
include_tools: Cadenya::
|
|
77
|
-
tool_approvals: Cadenya::
|
|
74
|
+
include_tools: Cadenya::ToolFilter,
|
|
75
|
+
tool_approvals: Cadenya::ApprovalRequirementFilter,
|
|
78
76
|
url: String
|
|
79
77
|
}
|
|
80
78
|
)
|
|
81
79
|
end
|
|
82
80
|
def to_hash
|
|
83
81
|
end
|
|
84
|
-
|
|
85
|
-
class ToolApprovals < Cadenya::Internal::Type::BaseModel
|
|
86
|
-
OrHash =
|
|
87
|
-
T.type_alias do
|
|
88
|
-
T.any(
|
|
89
|
-
Cadenya::ToolSetAdapterMcp::ToolApprovals,
|
|
90
|
-
Cadenya::Internal::AnyHash
|
|
91
|
-
)
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
95
|
-
attr_reader :always
|
|
96
|
-
|
|
97
|
-
sig { params(always: T::Boolean).void }
|
|
98
|
-
attr_writer :always
|
|
99
|
-
|
|
100
|
-
# Top-level filter with simple boolean logic (no nesting)
|
|
101
|
-
sig { returns(T.nilable(Cadenya::McpToolFilter)) }
|
|
102
|
-
attr_reader :only
|
|
103
|
-
|
|
104
|
-
sig { params(only: Cadenya::McpToolFilter::OrHash).void }
|
|
105
|
-
attr_writer :only
|
|
106
|
-
|
|
107
|
-
# Approval filters that will automatically set the approval requirement on the
|
|
108
|
-
# tools synced from the MCP server
|
|
109
|
-
sig do
|
|
110
|
-
params(
|
|
111
|
-
always: T::Boolean,
|
|
112
|
-
only: Cadenya::McpToolFilter::OrHash
|
|
113
|
-
).returns(T.attached_class)
|
|
114
|
-
end
|
|
115
|
-
def self.new(
|
|
116
|
-
always: nil,
|
|
117
|
-
# Top-level filter with simple boolean logic (no nesting)
|
|
118
|
-
only: nil
|
|
119
|
-
)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
sig do
|
|
123
|
-
override.returns({ always: T::Boolean, only: Cadenya::McpToolFilter })
|
|
124
|
-
end
|
|
125
|
-
def to_hash
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
82
|
end
|
|
129
83
|
end
|
|
130
84
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class ToolSetAdapterOpenAPI < Cadenya::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Cadenya::ToolSetAdapterOpenAPI, Cadenya::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Base URL for dispatching tool calls. If set, overrides the server resolved from
|
|
12
|
+
# the spec's servers array.
|
|
13
|
+
sig { returns(T.nilable(String)) }
|
|
14
|
+
attr_reader :base_url
|
|
15
|
+
|
|
16
|
+
sig { params(base_url: String).void }
|
|
17
|
+
attr_writer :base_url
|
|
18
|
+
|
|
19
|
+
# Top-level filter with simple boolean logic (no nesting)
|
|
20
|
+
sig { returns(T.nilable(Cadenya::ToolFilter)) }
|
|
21
|
+
attr_reader :exclude_tools
|
|
22
|
+
|
|
23
|
+
sig { params(exclude_tools: Cadenya::ToolFilter::OrHash).void }
|
|
24
|
+
attr_writer :exclude_tools
|
|
25
|
+
|
|
26
|
+
# Headers sent when fetching the spec from a URL and when dispatching tool calls.
|
|
27
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
28
|
+
attr_reader :headers
|
|
29
|
+
|
|
30
|
+
sig { params(headers: T::Hash[Symbol, String]).void }
|
|
31
|
+
attr_writer :headers
|
|
32
|
+
|
|
33
|
+
# Top-level filter with simple boolean logic (no nesting)
|
|
34
|
+
sig { returns(T.nilable(Cadenya::ToolFilter)) }
|
|
35
|
+
attr_reader :include_tools
|
|
36
|
+
|
|
37
|
+
sig { params(include_tools: Cadenya::ToolFilter::OrHash).void }
|
|
38
|
+
attr_writer :include_tools
|
|
39
|
+
|
|
40
|
+
# Name of the server entry in the spec's servers array (OpenAPI 3.2 server.name
|
|
41
|
+
# field). Used to select which server URL to dispatch to when base_url is not set.
|
|
42
|
+
# If unset, the first server is used. Ignored when base_url is set.
|
|
43
|
+
sig { returns(T.nilable(String)) }
|
|
44
|
+
attr_reader :server_name
|
|
45
|
+
|
|
46
|
+
sig { params(server_name: String).void }
|
|
47
|
+
attr_writer :server_name
|
|
48
|
+
|
|
49
|
+
# Approval filters that will automatically set the approval requirement on tools
|
|
50
|
+
# synced from an external source
|
|
51
|
+
sig { returns(T.nilable(Cadenya::ApprovalRequirementFilter)) }
|
|
52
|
+
attr_reader :tool_approvals
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
params(tool_approvals: Cadenya::ApprovalRequirementFilter::OrHash).void
|
|
56
|
+
end
|
|
57
|
+
attr_writer :tool_approvals
|
|
58
|
+
|
|
59
|
+
# ID of a COMPLETE Upload containing the OpenAPI spec document.
|
|
60
|
+
sig { returns(T.nilable(String)) }
|
|
61
|
+
attr_reader :upload_id
|
|
62
|
+
|
|
63
|
+
sig { params(upload_id: String).void }
|
|
64
|
+
attr_writer :upload_id
|
|
65
|
+
|
|
66
|
+
# URL to fetch the OpenAPI spec from. Synced automatically every hour.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_reader :url
|
|
69
|
+
|
|
70
|
+
sig { params(url: String).void }
|
|
71
|
+
attr_writer :url
|
|
72
|
+
|
|
73
|
+
sig do
|
|
74
|
+
params(
|
|
75
|
+
base_url: String,
|
|
76
|
+
exclude_tools: Cadenya::ToolFilter::OrHash,
|
|
77
|
+
headers: T::Hash[Symbol, String],
|
|
78
|
+
include_tools: Cadenya::ToolFilter::OrHash,
|
|
79
|
+
server_name: String,
|
|
80
|
+
tool_approvals: Cadenya::ApprovalRequirementFilter::OrHash,
|
|
81
|
+
upload_id: String,
|
|
82
|
+
url: String
|
|
83
|
+
).returns(T.attached_class)
|
|
84
|
+
end
|
|
85
|
+
def self.new(
|
|
86
|
+
# Base URL for dispatching tool calls. If set, overrides the server resolved from
|
|
87
|
+
# the spec's servers array.
|
|
88
|
+
base_url: nil,
|
|
89
|
+
# Top-level filter with simple boolean logic (no nesting)
|
|
90
|
+
exclude_tools: nil,
|
|
91
|
+
# Headers sent when fetching the spec from a URL and when dispatching tool calls.
|
|
92
|
+
headers: nil,
|
|
93
|
+
# Top-level filter with simple boolean logic (no nesting)
|
|
94
|
+
include_tools: nil,
|
|
95
|
+
# Name of the server entry in the spec's servers array (OpenAPI 3.2 server.name
|
|
96
|
+
# field). Used to select which server URL to dispatch to when base_url is not set.
|
|
97
|
+
# If unset, the first server is used. Ignored when base_url is set.
|
|
98
|
+
server_name: nil,
|
|
99
|
+
# Approval filters that will automatically set the approval requirement on tools
|
|
100
|
+
# synced from an external source
|
|
101
|
+
tool_approvals: nil,
|
|
102
|
+
# ID of a COMPLETE Upload containing the OpenAPI spec document.
|
|
103
|
+
upload_id: nil,
|
|
104
|
+
# URL to fetch the OpenAPI spec from. Synced automatically every hour.
|
|
105
|
+
url: nil
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
sig do
|
|
110
|
+
override.returns(
|
|
111
|
+
{
|
|
112
|
+
base_url: String,
|
|
113
|
+
exclude_tools: Cadenya::ToolFilter,
|
|
114
|
+
headers: T::Hash[Symbol, String],
|
|
115
|
+
include_tools: Cadenya::ToolFilter,
|
|
116
|
+
server_name: String,
|
|
117
|
+
tool_approvals: Cadenya::ApprovalRequirementFilter,
|
|
118
|
+
upload_id: String,
|
|
119
|
+
url: String
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
end
|
|
123
|
+
def to_hash
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Cadenya
|
|
4
|
+
module Models
|
|
5
|
+
class ToolSetGetOpenAPISpecParams < 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(
|
|
12
|
+
Cadenya::ToolSetGetOpenAPISpecParams,
|
|
13
|
+
Cadenya::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :workspace_id
|
|
19
|
+
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :tool_set_id
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
workspace_id: String,
|
|
26
|
+
tool_set_id: String,
|
|
27
|
+
request_options: Cadenya::RequestOptions::OrHash
|
|
28
|
+
).returns(T.attached_class)
|
|
29
|
+
end
|
|
30
|
+
def self.new(workspace_id:, tool_set_id:, request_options: {})
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
override.returns(
|
|
35
|
+
{
|
|
36
|
+
workspace_id: String,
|
|
37
|
+
tool_set_id: String,
|
|
38
|
+
request_options: Cadenya::RequestOptions
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
def to_hash
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|