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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +1 -1
  4. data/lib/cadenya/client.rb +14 -0
  5. data/lib/cadenya/internal/cursor_pagination.rb +1 -1
  6. data/lib/cadenya/internal/transport/base_client.rb +2 -0
  7. data/lib/cadenya/models/agent_spec.rb +19 -4
  8. data/lib/cadenya/models/agents/webhook_delivery_data.rb +3 -1
  9. data/lib/cadenya/models/agents/webhook_delivery_list_params.rb +3 -1
  10. data/lib/cadenya/models/approval_requirement_filter.rb +26 -0
  11. data/lib/cadenya/models/attribute_filter.rb +38 -0
  12. data/lib/cadenya/models/objective_create_params.rb +3 -3
  13. data/lib/cadenya/models/objective_data.rb +21 -1
  14. data/lib/cadenya/models/objective_event_data.rb +43 -5
  15. data/lib/cadenya/models/objective_list_events_params.rb +9 -1
  16. data/lib/cadenya/models/objective_list_params.rb +2 -1
  17. data/lib/cadenya/models/objective_status.rb +2 -1
  18. data/lib/cadenya/models/profile_spec.rb +1 -0
  19. data/lib/cadenya/models/string_matcher.rb +47 -0
  20. data/lib/cadenya/models/sub_agent_spawned.rb +35 -0
  21. data/lib/cadenya/models/sub_agent_updated.rb +66 -0
  22. data/lib/cadenya/models/tool_filter.rb +35 -0
  23. data/lib/cadenya/models/tool_set_adapter.rb +7 -1
  24. data/lib/cadenya/models/tool_set_adapter_mcp.rb +11 -33
  25. data/lib/cadenya/models/tool_set_adapter_openapi.rb +79 -0
  26. data/lib/cadenya/models/tool_set_get_openapi_spec_params.rb +26 -0
  27. data/lib/cadenya/models/tool_set_get_openapi_spec_response.rb +17 -0
  28. data/lib/cadenya/models/tool_sets/config_openapi.rb +29 -0
  29. data/lib/cadenya/models/tool_sets/tool_spec_config.rb +7 -1
  30. data/lib/cadenya/models/workspace.rb +27 -1
  31. data/lib/cadenya/models/workspace_admin/member_add_params.rb +39 -0
  32. data/lib/cadenya/models/workspace_admin/member_list_params.rb +39 -0
  33. data/lib/cadenya/models/workspace_admin/member_remove_params.rb +28 -0
  34. data/lib/cadenya/models/workspace_admin/profile_list_params.rb +44 -0
  35. data/lib/cadenya/models/workspace_admin_archive_params.rb +20 -0
  36. data/lib/cadenya/models/workspace_admin_create_params.rb +70 -0
  37. data/lib/cadenya/models/workspace_admin_list_params.rb +42 -0
  38. data/lib/cadenya/models/workspace_admin_retrieve_params.rb +20 -0
  39. data/lib/cadenya/models/workspace_admin_update_params.rb +85 -0
  40. data/lib/cadenya/models/workspace_member.rb +53 -0
  41. data/lib/cadenya/models.rb +29 -3
  42. data/lib/cadenya/resources/objectives.rb +5 -2
  43. data/lib/cadenya/resources/tool_sets.rb +31 -0
  44. data/lib/cadenya/resources/workspace_admin/members.rb +107 -0
  45. data/lib/cadenya/resources/workspace_admin/profiles.rb +54 -0
  46. data/lib/cadenya/resources/workspace_admin.rb +173 -0
  47. data/lib/cadenya/resources/workspaces.rb +4 -0
  48. data/lib/cadenya/version.rb +1 -1
  49. data/lib/cadenya.rb +23 -2
  50. data/rbi/cadenya/client.rbi +13 -0
  51. data/rbi/cadenya/models/agent_spec.rbi +21 -4
  52. data/rbi/cadenya/models/agents/webhook_delivery_data.rbi +15 -5
  53. data/rbi/cadenya/models/agents/webhook_delivery_list_params.rbi +15 -5
  54. data/rbi/cadenya/models/approval_requirement_filter.rbi +45 -0
  55. data/rbi/cadenya/models/attribute_filter.rbi +84 -0
  56. data/rbi/cadenya/models/objective_create_params.rbi +2 -2
  57. data/rbi/cadenya/models/objective_data.rbi +26 -0
  58. data/rbi/cadenya/models/objective_event_data.rbi +68 -9
  59. data/rbi/cadenya/models/objective_list_events_params.rbi +11 -0
  60. data/rbi/cadenya/models/objective_list_params.rbi +7 -2
  61. data/rbi/cadenya/models/objective_status.rbi +4 -2
  62. data/rbi/cadenya/models/profile_spec.rbi +5 -0
  63. data/rbi/cadenya/models/string_matcher.rbi +84 -0
  64. data/rbi/cadenya/models/sub_agent_spawned.rbi +62 -0
  65. data/rbi/cadenya/models/sub_agent_updated.rbi +127 -0
  66. data/rbi/cadenya/models/tool_filter.rbi +66 -0
  67. data/rbi/cadenya/models/tool_set_adapter.rbi +14 -3
  68. data/rbi/cadenya/models/tool_set_adapter_mcp.rbi +16 -62
  69. data/rbi/cadenya/models/tool_set_adapter_openapi.rbi +127 -0
  70. data/rbi/cadenya/models/tool_set_get_openapi_spec_params.rbi +46 -0
  71. data/rbi/cadenya/models/tool_set_get_openapi_spec_response.rbi +33 -0
  72. data/rbi/cadenya/models/tool_sets/config_openapi.rbi +48 -0
  73. data/rbi/cadenya/models/tool_sets/tool_spec_config.rbi +11 -3
  74. data/rbi/cadenya/models/workspace.rbi +39 -3
  75. data/rbi/cadenya/models/workspace_admin/member_add_params.rbi +68 -0
  76. data/rbi/cadenya/models/workspace_admin/member_list_params.rbi +68 -0
  77. data/rbi/cadenya/models/workspace_admin/member_remove_params.rbi +48 -0
  78. data/rbi/cadenya/models/workspace_admin/profile_list_params.rbi +75 -0
  79. data/rbi/cadenya/models/workspace_admin_archive_params.rbi +38 -0
  80. data/rbi/cadenya/models/workspace_admin_create_params.rbi +127 -0
  81. data/rbi/cadenya/models/workspace_admin_list_params.rbi +70 -0
  82. data/rbi/cadenya/models/workspace_admin_retrieve_params.rbi +38 -0
  83. data/rbi/cadenya/models/workspace_admin_update_params.rbi +144 -0
  84. data/rbi/cadenya/models/workspace_member.rbi +80 -0
  85. data/rbi/cadenya/models.rbi +29 -3
  86. data/rbi/cadenya/resources/objectives.rbi +4 -1
  87. data/rbi/cadenya/resources/tool_sets.rbi +18 -0
  88. data/rbi/cadenya/resources/workspace_admin/members.rbi +83 -0
  89. data/rbi/cadenya/resources/workspace_admin/profiles.rbi +42 -0
  90. data/rbi/cadenya/resources/workspace_admin.rbi +131 -0
  91. data/rbi/cadenya/resources/workspaces.rbi +4 -0
  92. data/sig/cadenya/client.rbs +2 -0
  93. data/sig/cadenya/models/agent_spec.rbs +12 -5
  94. data/sig/cadenya/models/agents/webhook_delivery_data.rbs +6 -2
  95. data/sig/cadenya/models/agents/webhook_delivery_list_params.rbs +6 -2
  96. data/sig/cadenya/models/approval_requirement_filter.rbs +20 -0
  97. data/sig/cadenya/models/attribute_filter.rbs +44 -0
  98. data/sig/cadenya/models/objective_create_params.rbs +6 -2
  99. data/sig/cadenya/models/objective_data.rbs +14 -0
  100. data/sig/cadenya/models/objective_event_data.rbs +37 -7
  101. data/sig/cadenya/models/objective_list_events_params.rbs +7 -0
  102. data/sig/cadenya/models/objective_list_params.rbs +4 -2
  103. data/sig/cadenya/models/objective_status.rbs +4 -2
  104. data/sig/cadenya/models/profile_spec.rbs +5 -1
  105. data/sig/cadenya/models/string_matcher.rbs +57 -0
  106. data/sig/cadenya/models/sub_agent_spawned.rbs +36 -0
  107. data/sig/cadenya/models/sub_agent_updated.rbs +66 -0
  108. data/sig/cadenya/models/tool_filter.rbs +41 -0
  109. data/sig/cadenya/models/tool_set_adapter.rbs +15 -3
  110. data/sig/cadenya/models/tool_set_adapter_mcp.rbs +16 -32
  111. data/sig/cadenya/models/tool_set_adapter_openapi.rbs +73 -0
  112. data/sig/cadenya/models/tool_set_get_openapi_spec_params.rbs +28 -0
  113. data/sig/cadenya/models/tool_set_get_openapi_spec_response.rbs +15 -0
  114. data/sig/cadenya/models/tool_sets/config_openapi.rbs +30 -0
  115. data/sig/cadenya/models/tool_sets/tool_spec_config.rbs +12 -3
  116. data/sig/cadenya/models/workspace.rbs +24 -3
  117. data/sig/cadenya/models/workspace_admin/member_add_params.rbs +38 -0
  118. data/sig/cadenya/models/workspace_admin/member_list_params.rbs +38 -0
  119. data/sig/cadenya/models/workspace_admin/member_remove_params.rbs +30 -0
  120. data/sig/cadenya/models/workspace_admin/profile_list_params.rbs +40 -0
  121. data/sig/cadenya/models/workspace_admin_archive_params.rbs +23 -0
  122. data/sig/cadenya/models/workspace_admin_create_params.rbs +58 -0
  123. data/sig/cadenya/models/workspace_admin_list_params.rbs +38 -0
  124. data/sig/cadenya/models/workspace_admin_retrieve_params.rbs +23 -0
  125. data/sig/cadenya/models/workspace_admin_update_params.rbs +76 -0
  126. data/sig/cadenya/models/workspace_member.rbs +46 -0
  127. data/sig/cadenya/models.rbs +29 -3
  128. data/sig/cadenya/resources/objectives.rbs +2 -1
  129. data/sig/cadenya/resources/tool_sets.rbs +6 -0
  130. data/sig/cadenya/resources/workspace_admin/members.rbs +29 -0
  131. data/sig/cadenya/resources/workspace_admin/profiles.rbs +16 -0
  132. data/sig/cadenya/resources/workspace_admin.rbs +42 -0
  133. metadata +71 -8
  134. data/lib/cadenya/models/mcp_tool_filter.rb +0 -111
  135. data/lib/cadenya/models/sub_objective_created.rb +0 -20
  136. data/rbi/cadenya/models/mcp_tool_filter.rbi +0 -235
  137. data/rbi/cadenya/models/sub_objective_created.rbi +0 -36
  138. data/sig/cadenya/models/mcp_tool_filter.rbs +0 -138
  139. data/sig/cadenya/models/sub_objective_created.rbs +0 -15
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class ToolSetGetOpenAPISpecResponse < Cadenya::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Cadenya::Models::ToolSetGetOpenAPISpecResponse,
10
+ Cadenya::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The consumed OpenAPI specification as a JSON string.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :spec
17
+
18
+ sig { params(spec: String).void }
19
+ attr_writer :spec
20
+
21
+ sig { params(spec: String).returns(T.attached_class) }
22
+ def self.new(
23
+ # The consumed OpenAPI specification as a JSON string.
24
+ spec: nil
25
+ )
26
+ end
27
+
28
+ sig { override.returns({ spec: String }) }
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module ToolSets
6
+ class ConfigOpenAPI < Cadenya::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Cadenya::ToolSets::ConfigOpenAPI, Cadenya::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :method_
14
+
15
+ sig { params(method_: String).void }
16
+ attr_writer :method_
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :operation_id
20
+
21
+ sig { params(operation_id: String).void }
22
+ attr_writer :operation_id
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :path
26
+
27
+ sig { params(path: String).void }
28
+ attr_writer :path
29
+
30
+ sig do
31
+ params(method_: String, operation_id: String, path: String).returns(
32
+ T.attached_class
33
+ )
34
+ end
35
+ def self.new(method_: nil, operation_id: nil, path: nil)
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ { method_: String, operation_id: String, path: String }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -21,23 +21,31 @@ module Cadenya
21
21
  sig { params(mcp: Cadenya::ToolSets::ConfigMcp::OrHash).void }
22
22
  attr_writer :mcp
23
23
 
24
+ sig { returns(T.nilable(Cadenya::ToolSets::ConfigOpenAPI)) }
25
+ attr_reader :openapi
26
+
27
+ sig { params(openapi: Cadenya::ToolSets::ConfigOpenAPI::OrHash).void }
28
+ attr_writer :openapi
29
+
24
30
  # Config defines the adapter to use for the tool. This is used to determine how
25
31
  # the tool is called. For example, if the tool is an HTTP tool, the adapter will
26
32
  # be Http. If the tool is an inline tool, the adapter will be Inline.
27
33
  sig do
28
34
  params(
29
35
  http: Cadenya::ToolSets::ConfigHTTP::OrHash,
30
- mcp: Cadenya::ToolSets::ConfigMcp::OrHash
36
+ mcp: Cadenya::ToolSets::ConfigMcp::OrHash,
37
+ openapi: Cadenya::ToolSets::ConfigOpenAPI::OrHash
31
38
  ).returns(T.attached_class)
32
39
  end
33
- def self.new(http: nil, mcp: nil)
40
+ def self.new(http: nil, mcp: nil, openapi: nil)
34
41
  end
35
42
 
36
43
  sig do
37
44
  override.returns(
38
45
  {
39
46
  http: Cadenya::ToolSets::ConfigHTTP,
40
- mcp: Cadenya::ToolSets::ConfigMcp
47
+ mcp: Cadenya::ToolSets::ConfigMcp,
48
+ openapi: Cadenya::ToolSets::ConfigOpenAPI
41
49
  }
42
50
  )
43
51
  end
@@ -20,17 +20,29 @@ module Cadenya
20
20
  sig { params(spec: Cadenya::WorkspaceSpec::OrHash).void }
21
21
  attr_writer :spec
22
22
 
23
+ # Lifecycle status of the workspace. Archived workspaces reject all requests
24
+ # scoped to them. Server-populated.
25
+ sig { returns(T.nilable(Cadenya::Workspace::Status::TaggedSymbol)) }
26
+ attr_reader :status
27
+
28
+ sig { params(status: Cadenya::Workspace::Status::OrSymbol).void }
29
+ attr_writer :status
30
+
23
31
  sig do
24
32
  params(
25
33
  metadata: Cadenya::AccountResourceMetadata::OrHash,
26
- spec: Cadenya::WorkspaceSpec::OrHash
34
+ spec: Cadenya::WorkspaceSpec::OrHash,
35
+ status: Cadenya::Workspace::Status::OrSymbol
27
36
  ).returns(T.attached_class)
28
37
  end
29
38
  def self.new(
30
39
  # AccountResourceMetadata is used to represent a resource that is associated to an
31
40
  # account but not to a workspace.
32
41
  metadata:,
33
- spec:
42
+ spec:,
43
+ # Lifecycle status of the workspace. Archived workspaces reject all requests
44
+ # scoped to them. Server-populated.
45
+ status: nil
34
46
  )
35
47
  end
36
48
 
@@ -38,12 +50,36 @@ module Cadenya
38
50
  override.returns(
39
51
  {
40
52
  metadata: Cadenya::AccountResourceMetadata,
41
- spec: Cadenya::WorkspaceSpec
53
+ spec: Cadenya::WorkspaceSpec,
54
+ status: Cadenya::Workspace::Status::TaggedSymbol
42
55
  }
43
56
  )
44
57
  end
45
58
  def to_hash
46
59
  end
60
+
61
+ # Lifecycle status of the workspace. Archived workspaces reject all requests
62
+ # scoped to them. Server-populated.
63
+ module Status
64
+ extend Cadenya::Internal::Type::Enum
65
+
66
+ TaggedSymbol =
67
+ T.type_alias { T.all(Symbol, Cadenya::Workspace::Status) }
68
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
69
+
70
+ STATUS_ENABLED =
71
+ T.let(:STATUS_ENABLED, Cadenya::Workspace::Status::TaggedSymbol)
72
+ STATUS_DISABLED =
73
+ T.let(:STATUS_DISABLED, Cadenya::Workspace::Status::TaggedSymbol)
74
+ STATUS_ARCHIVED =
75
+ T.let(:STATUS_ARCHIVED, Cadenya::Workspace::Status::TaggedSymbol)
76
+
77
+ sig do
78
+ override.returns(T::Array[Cadenya::Workspace::Status::TaggedSymbol])
79
+ end
80
+ def self.values
81
+ end
82
+ end
47
83
  end
48
84
  end
49
85
  end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module WorkspaceAdmin
6
+ class MemberAddParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Cadenya::WorkspaceAdmin::MemberAddParams,
14
+ Cadenya::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ # Email address to add (resolve-or-invite). Mutually exclusive with profile_id.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :email
24
+
25
+ sig { params(email: String).void }
26
+ attr_writer :email
27
+
28
+ # An existing account profile to add. Mutually exclusive with email.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :profile_id
31
+
32
+ sig { params(profile_id: String).void }
33
+ attr_writer :profile_id
34
+
35
+ sig do
36
+ params(
37
+ workspace_id: String,
38
+ email: String,
39
+ profile_id: String,
40
+ request_options: Cadenya::RequestOptions::OrHash
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ workspace_id:,
45
+ # Email address to add (resolve-or-invite). Mutually exclusive with profile_id.
46
+ email: nil,
47
+ # An existing account profile to add. Mutually exclusive with email.
48
+ profile_id: nil,
49
+ request_options: {}
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ workspace_id: String,
57
+ email: String,
58
+ profile_id: String,
59
+ request_options: Cadenya::RequestOptions
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module WorkspaceAdmin
6
+ class MemberListParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Cadenya::WorkspaceAdmin::MemberListParams,
14
+ Cadenya::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ # Pagination cursor from previous response
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :cursor
24
+
25
+ sig { params(cursor: String).void }
26
+ attr_writer :cursor
27
+
28
+ # Maximum number of results to return
29
+ sig { returns(T.nilable(Integer)) }
30
+ attr_reader :limit
31
+
32
+ sig { params(limit: Integer).void }
33
+ attr_writer :limit
34
+
35
+ sig do
36
+ params(
37
+ workspace_id: String,
38
+ cursor: String,
39
+ limit: Integer,
40
+ request_options: Cadenya::RequestOptions::OrHash
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ workspace_id:,
45
+ # Pagination cursor from previous response
46
+ cursor: nil,
47
+ # Maximum number of results to return
48
+ limit: nil,
49
+ request_options: {}
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ workspace_id: String,
57
+ cursor: String,
58
+ limit: Integer,
59
+ request_options: Cadenya::RequestOptions
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module WorkspaceAdmin
6
+ class MemberRemoveParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Cadenya::WorkspaceAdmin::MemberRemoveParams,
14
+ Cadenya::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :workspace_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :profile_id
23
+
24
+ sig do
25
+ params(
26
+ workspace_id: String,
27
+ profile_id: String,
28
+ request_options: Cadenya::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(workspace_id:, profile_id:, request_options: {})
32
+ end
33
+
34
+ sig do
35
+ override.returns(
36
+ {
37
+ workspace_id: String,
38
+ profile_id: String,
39
+ request_options: Cadenya::RequestOptions
40
+ }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ module WorkspaceAdmin
6
+ class ProfileListParams < Cadenya::Internal::Type::BaseModel
7
+ extend Cadenya::Internal::Type::RequestParameters::Converter
8
+ include Cadenya::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Cadenya::WorkspaceAdmin::ProfileListParams,
14
+ Cadenya::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Pagination cursor from previous response
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :cursor
21
+
22
+ sig { params(cursor: String).void }
23
+ attr_writer :cursor
24
+
25
+ # Maximum number of results to return
26
+ sig { returns(T.nilable(Integer)) }
27
+ attr_reader :limit
28
+
29
+ sig { params(limit: Integer).void }
30
+ attr_writer :limit
31
+
32
+ # Free-form search over profile name and email. Case-insensitive substring match;
33
+ # empty returns all profiles.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :query
36
+
37
+ sig { params(query: String).void }
38
+ attr_writer :query
39
+
40
+ sig do
41
+ params(
42
+ cursor: String,
43
+ limit: Integer,
44
+ query: String,
45
+ request_options: Cadenya::RequestOptions::OrHash
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Pagination cursor from previous response
50
+ cursor: nil,
51
+ # Maximum number of results to return
52
+ limit: nil,
53
+ # Free-form search over profile name and email. Case-insensitive substring match;
54
+ # empty returns all profiles.
55
+ query: nil,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ cursor: String,
64
+ limit: Integer,
65
+ query: String,
66
+ request_options: Cadenya::RequestOptions
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class WorkspaceAdminArchiveParams < 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::WorkspaceAdminArchiveParams,
13
+ Cadenya::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :workspace_id
19
+
20
+ sig do
21
+ params(
22
+ workspace_id: String,
23
+ request_options: Cadenya::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(workspace_id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { workspace_id: String, request_options: Cadenya::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,127 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class WorkspaceAdminCreateParams < 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(Cadenya::WorkspaceAdminCreateParams, Cadenya::Internal::AnyHash)
12
+ end
13
+
14
+ # CreateAccountResourceMetadata contains the user-provided fields for creating an
15
+ # account-scoped resource. Read-only fields (id, account_id, profile_id) are
16
+ # excluded since they are set by the server.
17
+ sig { returns(Cadenya::WorkspaceAdminCreateParams::Metadata) }
18
+ attr_reader :metadata
19
+
20
+ sig do
21
+ params(
22
+ metadata: Cadenya::WorkspaceAdminCreateParams::Metadata::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :metadata
26
+
27
+ sig { returns(Cadenya::WorkspaceSpec) }
28
+ attr_reader :spec
29
+
30
+ sig { params(spec: Cadenya::WorkspaceSpec::OrHash).void }
31
+ attr_writer :spec
32
+
33
+ sig do
34
+ params(
35
+ metadata: Cadenya::WorkspaceAdminCreateParams::Metadata::OrHash,
36
+ spec: Cadenya::WorkspaceSpec::OrHash,
37
+ request_options: Cadenya::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # CreateAccountResourceMetadata contains the user-provided fields for creating an
42
+ # account-scoped resource. Read-only fields (id, account_id, profile_id) are
43
+ # excluded since they are set by the server.
44
+ metadata:,
45
+ spec:,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ metadata: Cadenya::WorkspaceAdminCreateParams::Metadata,
54
+ spec: Cadenya::WorkspaceSpec,
55
+ request_options: Cadenya::RequestOptions
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+
62
+ class Metadata < Cadenya::Internal::Type::BaseModel
63
+ OrHash =
64
+ T.type_alias do
65
+ T.any(
66
+ Cadenya::WorkspaceAdminCreateParams::Metadata,
67
+ Cadenya::Internal::AnyHash
68
+ )
69
+ end
70
+
71
+ # Human-readable name for the resource (e.g., "Production API Key", "Staging
72
+ # Workspace")
73
+ sig { returns(String) }
74
+ attr_accessor :name
75
+
76
+ # External ID for the resource (e.g., a workflow ID from an external system)
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :external_id
79
+
80
+ sig { params(external_id: String).void }
81
+ attr_writer :external_id
82
+
83
+ # Arbitrary key-value pairs for categorization and filtering Examples:
84
+ # {"environment": "production", "team": "platform", "version": "v2"}
85
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
86
+ attr_reader :labels
87
+
88
+ sig { params(labels: T::Hash[Symbol, String]).void }
89
+ attr_writer :labels
90
+
91
+ # CreateAccountResourceMetadata contains the user-provided fields for creating an
92
+ # account-scoped resource. Read-only fields (id, account_id, profile_id) are
93
+ # excluded since they are set by the server.
94
+ sig do
95
+ params(
96
+ name: String,
97
+ external_id: String,
98
+ labels: T::Hash[Symbol, String]
99
+ ).returns(T.attached_class)
100
+ end
101
+ def self.new(
102
+ # Human-readable name for the resource (e.g., "Production API Key", "Staging
103
+ # Workspace")
104
+ name:,
105
+ # External ID for the resource (e.g., a workflow ID from an external system)
106
+ external_id: nil,
107
+ # Arbitrary key-value pairs for categorization and filtering Examples:
108
+ # {"environment": "production", "team": "platform", "version": "v2"}
109
+ labels: nil
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ name: String,
117
+ external_id: String,
118
+ labels: T::Hash[Symbol, String]
119
+ }
120
+ )
121
+ end
122
+ def to_hash
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,70 @@
1
+ # typed: strong
2
+
3
+ module Cadenya
4
+ module Models
5
+ class WorkspaceAdminListParams < 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(Cadenya::WorkspaceAdminListParams, Cadenya::Internal::AnyHash)
12
+ end
13
+
14
+ # Pagination cursor from previous response
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :cursor
17
+
18
+ sig { params(cursor: String).void }
19
+ attr_writer :cursor
20
+
21
+ # When true, archived workspaces are included in the results. Defaults to false
22
+ # (active workspaces only).
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :include_archived
25
+
26
+ sig { params(include_archived: T::Boolean).void }
27
+ attr_writer :include_archived
28
+
29
+ # Maximum number of results to return
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :limit
32
+
33
+ sig { params(limit: Integer).void }
34
+ attr_writer :limit
35
+
36
+ sig do
37
+ params(
38
+ cursor: String,
39
+ include_archived: T::Boolean,
40
+ limit: Integer,
41
+ request_options: Cadenya::RequestOptions::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # Pagination cursor from previous response
46
+ cursor: nil,
47
+ # When true, archived workspaces are included in the results. Defaults to false
48
+ # (active workspaces only).
49
+ include_archived: nil,
50
+ # Maximum number of results to return
51
+ limit: nil,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ cursor: String,
60
+ include_archived: T::Boolean,
61
+ limit: Integer,
62
+ request_options: Cadenya::RequestOptions
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+ end
69
+ end
70
+ end