acp-sdk 0.10.0 → 0.11.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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +15 -5
  4. data/lib/acp/agent_connection/client.rb +7 -19
  5. data/lib/acp/agent_connection/optional_method/spec.rb +42 -0
  6. data/lib/acp/agent_connection/optional_method.rb +36 -0
  7. data/lib/acp/agent_connection.rb +17 -40
  8. data/lib/acp/agent_process.rb +0 -13
  9. data/lib/acp/client_connection/streams.rb +183 -0
  10. data/lib/acp/client_connection.rb +227 -384
  11. data/lib/acp/protocol.rb +33 -0
  12. data/lib/acp/request_error.rb +7 -17
  13. data/lib/acp/transport/cancellation.rb +0 -7
  14. data/lib/acp/transport/reply.rb +0 -2
  15. data/lib/acp/transport/stderr_logger.rb +1 -2
  16. data/lib/acp/transport/stdio.rb +16 -22
  17. data/lib/acp/types/audio_content.rb +3 -46
  18. data/lib/acp/types/auth_method_terminal.rb +3 -59
  19. data/lib/acp/types/available_commands_update.rb +3 -32
  20. data/lib/acp/types/boolean_property_schema.rb +3 -41
  21. data/lib/acp/types/check.rb +210 -0
  22. data/lib/acp/types/config_option_update.rb +3 -32
  23. data/lib/acp/types/content.rb +3 -29
  24. data/lib/acp/types/{elicitation_url_mode → create_elicitation_request/mode/form}/scope.rb +1 -1
  25. data/lib/acp/types/create_elicitation_request/mode/form.rb +3 -3
  26. data/lib/acp/types/{elicitation_form_mode → create_elicitation_request/mode/url}/scope.rb +1 -1
  27. data/lib/acp/types/create_elicitation_request/mode/url.rb +3 -3
  28. data/lib/acp/types/current_mode_update.rb +3 -29
  29. data/lib/acp/types/diff.rb +3 -41
  30. data/lib/acp/types/elicitation_accept_action.rb +3 -26
  31. data/lib/acp/types/elicitation_form_mode.rb +3 -33
  32. data/lib/acp/types/elicitation_url_mode.rb +3 -35
  33. data/lib/acp/types/embedded_resource.rb +3 -44
  34. data/lib/acp/types/image_content.rb +3 -58
  35. data/lib/acp/types/integer_property_schema.rb +3 -60
  36. data/lib/acp/types/mcp_server_http.rb +3 -44
  37. data/lib/acp/types/mcp_server_sse.rb +3 -44
  38. data/lib/acp/types/multi_select_property_schema.rb +3 -70
  39. data/lib/acp/types/number_property_schema.rb +3 -60
  40. data/lib/acp/types/parse_error.rb +37 -0
  41. data/lib/acp/types/plan.rb +3 -29
  42. data/lib/acp/types/resource_link.rb +3 -79
  43. data/lib/acp/types/selected_permission_outcome.rb +3 -26
  44. data/lib/acp/types/session_config_boolean.rb +3 -21
  45. data/lib/acp/types/session_config_select.rb +3 -33
  46. data/lib/acp/types/session_info_update.rb +3 -42
  47. data/lib/acp/types/string_multi_select_items.rb +3 -29
  48. data/lib/acp/types/string_property_schema.rb +3 -105
  49. data/lib/acp/types/terminal.rb +3 -29
  50. data/lib/acp/types/text_content.rb +3 -40
  51. data/lib/acp/types/tool_call.rb +3 -115
  52. data/lib/acp/types/unstable/compaction_summary_chunk.rb +3 -35
  53. data/lib/acp/types/unstable/compaction_update.rb +3 -56
  54. data/lib/acp/types/unstable/idle_state_update.rb +3 -40
  55. data/lib/acp/types/unstable/mcp_server_acp.rb +3 -35
  56. data/lib/acp/types/unstable/nes_edit_suggestion.rb +3 -61
  57. data/lib/acp/types/unstable/nes_jump_suggestion.rb +3 -45
  58. data/lib/acp/types/unstable/nes_rename_suggestion.rb +3 -51
  59. data/lib/acp/types/unstable/nes_search_and_replace_suggestion.rb +3 -60
  60. data/lib/acp/types/unstable/notice.rb +3 -41
  61. data/lib/acp/types/unstable/plan_file.rb +3 -35
  62. data/lib/acp/types/unstable/plan_items.rb +3 -38
  63. data/lib/acp/types/unstable/plan_markdown.rb +3 -35
  64. data/lib/acp/types/unstable/plan_removed.rb +3 -26
  65. data/lib/acp/types/unstable/plan_update.rb +3 -33
  66. data/lib/acp/types/unstable/requires_action_state_update.rb +3 -21
  67. data/lib/acp/types/unstable/running_state_update.rb +3 -21
  68. data/lib/acp/types/unstable/session_message.rb +3 -56
  69. data/lib/acp/types/unstable/session_message_chunk.rb +3 -53
  70. data/lib/acp/types/unstable/subagent_update.rb +3 -65
  71. data/lib/acp/types/unstable/unknown_state_update.rb +3 -21
  72. data/lib/acp/types/unstable.rb +20 -20
  73. data/lib/acp/types/usage_update.rb +3 -41
  74. data/lib/acp/types.rb +7 -246
  75. data/lib/acp/version.rb +1 -1
  76. data/sig/generated/acp/agent_connection/client.rbs +10 -19
  77. data/sig/generated/acp/agent_connection/optional_method/spec.rbs +32 -0
  78. data/sig/generated/acp/agent_connection/optional_method.rbs +3 -0
  79. data/sig/generated/acp/agent_connection.rbs +16 -24
  80. data/sig/generated/acp/agent_process.rbs +0 -13
  81. data/sig/generated/acp/client_connection/streams.rbs +94 -0
  82. data/sig/generated/acp/client_connection.rbs +100 -159
  83. data/sig/generated/acp/protocol.rbs +9 -0
  84. data/sig/generated/acp/request_error.rbs +7 -17
  85. data/sig/generated/acp/transport/cancellation.rbs +0 -7
  86. data/sig/generated/acp/transport/reply.rbs +0 -2
  87. data/sig/generated/acp/transport/stderr_logger.rbs +1 -2
  88. data/sig/generated/acp/transport/stdio.rbs +9 -21
  89. data/sig/generated/acp/types/audio_content.rbs +1 -27
  90. data/sig/generated/acp/types/auth_method_terminal.rbs +1 -35
  91. data/sig/generated/acp/types/available_commands_update.rbs +1 -19
  92. data/sig/generated/acp/types/boolean_property_schema.rbs +1 -27
  93. data/sig/generated/acp/types/check.rbs +115 -0
  94. data/sig/generated/acp/types/config_option_update.rbs +1 -19
  95. data/sig/generated/acp/types/content.rbs +1 -19
  96. data/sig/generated/acp/types/{elicitation_url_mode → create_elicitation_request/mode/form}/scope.rbs +2 -2
  97. data/sig/generated/acp/types/create_elicitation_request/mode/form.rbs +3 -3
  98. data/sig/generated/acp/types/{elicitation_form_mode → create_elicitation_request/mode/url}/scope.rbs +2 -2
  99. data/sig/generated/acp/types/create_elicitation_request/mode/url.rbs +3 -3
  100. data/sig/generated/acp/types/current_mode_update.rbs +1 -19
  101. data/sig/generated/acp/types/diff.rbs +1 -27
  102. data/sig/generated/acp/types/elicitation_accept_action.rbs +1 -15
  103. data/sig/generated/acp/types/elicitation_form_mode.rbs +1 -19
  104. data/sig/generated/acp/types/elicitation_url_mode.rbs +1 -23
  105. data/sig/generated/acp/types/embedded_resource.rbs +1 -23
  106. data/sig/generated/acp/types/image_content.rbs +1 -31
  107. data/sig/generated/acp/types/integer_property_schema.rbs +1 -35
  108. data/sig/generated/acp/types/mcp_server_http.rbs +1 -27
  109. data/sig/generated/acp/types/mcp_server_sse.rbs +1 -27
  110. data/sig/generated/acp/types/multi_select_property_schema.rbs +1 -39
  111. data/sig/generated/acp/types/number_property_schema.rbs +1 -35
  112. data/sig/generated/acp/types/parse_error.rbs +22 -0
  113. data/sig/generated/acp/types/plan.rbs +1 -19
  114. data/sig/generated/acp/types/resource_link.rbs +1 -43
  115. data/sig/generated/acp/types/selected_permission_outcome.rbs +1 -19
  116. data/sig/generated/acp/types/session_config_boolean.rbs +1 -15
  117. data/sig/generated/acp/types/session_config_select.rbs +1 -19
  118. data/sig/generated/acp/types/session_info_update.rbs +1 -23
  119. data/sig/generated/acp/types/string_multi_select_items.rbs +1 -19
  120. data/sig/generated/acp/types/string_property_schema.rbs +1 -51
  121. data/sig/generated/acp/types/terminal.rbs +1 -19
  122. data/sig/generated/acp/types/text_content.rbs +1 -23
  123. data/sig/generated/acp/types/tool_call.rbs +1 -51
  124. data/sig/generated/acp/types/unstable/compaction_summary_chunk.rbs +1 -23
  125. data/sig/generated/acp/types/unstable/compaction_update.rbs +1 -31
  126. data/sig/generated/acp/types/unstable/idle_state_update.rbs +1 -23
  127. data/sig/generated/acp/types/unstable/mcp_server_acp.rbs +1 -23
  128. data/sig/generated/acp/types/unstable/nes_edit_suggestion.rbs +1 -31
  129. data/sig/generated/acp/types/unstable/nes_jump_suggestion.rbs +1 -27
  130. data/sig/generated/acp/types/unstable/nes_rename_suggestion.rbs +1 -31
  131. data/sig/generated/acp/types/unstable/nes_search_and_replace_suggestion.rbs +1 -35
  132. data/sig/generated/acp/types/unstable/notice.rbs +1 -27
  133. data/sig/generated/acp/types/unstable/plan_file.rbs +1 -23
  134. data/sig/generated/acp/types/unstable/plan_items.rbs +1 -23
  135. data/sig/generated/acp/types/unstable/plan_markdown.rbs +1 -23
  136. data/sig/generated/acp/types/unstable/plan_removed.rbs +1 -19
  137. data/sig/generated/acp/types/unstable/plan_update.rbs +1 -19
  138. data/sig/generated/acp/types/unstable/requires_action_state_update.rbs +1 -15
  139. data/sig/generated/acp/types/unstable/running_state_update.rbs +1 -15
  140. data/sig/generated/acp/types/unstable/session_message.rbs +1 -31
  141. data/sig/generated/acp/types/unstable/session_message_chunk.rbs +1 -31
  142. data/sig/generated/acp/types/unstable/subagent_update.rbs +1 -35
  143. data/sig/generated/acp/types/unstable/unknown_state_update.rbs +1 -15
  144. data/sig/generated/acp/types/usage_update.rbs +1 -27
  145. data/sig/generated/acp/types.rbs +6 -143
  146. data/sig/manual/acp/agent_connection.rbs +0 -30
  147. data/sig/manual/acp/client_connection.rbs +7 -2
  148. data/sig/manual/acp/{agent_connection/optional_method/logout.rbs → protocol.rbs} +3 -3
  149. data/sig/manual/acp/transport/stdio.rbs +0 -2
  150. data/sig/manual/acp/transport.rbs +25 -2
  151. metadata +16 -40
  152. data/lib/acp/agent_connection/optional_method/authenticate.rb +0 -21
  153. data/lib/acp/agent_connection/optional_method/close_session.rb +0 -21
  154. data/lib/acp/agent_connection/optional_method/delete_session.rb +0 -21
  155. data/lib/acp/agent_connection/optional_method/disable_provider.rb +0 -23
  156. data/lib/acp/agent_connection/optional_method/fork_session.rb +0 -23
  157. data/lib/acp/agent_connection/optional_method/list_providers.rb +0 -23
  158. data/lib/acp/agent_connection/optional_method/list_sessions.rb +0 -21
  159. data/lib/acp/agent_connection/optional_method/load_session.rb +0 -21
  160. data/lib/acp/agent_connection/optional_method/logout.rb +0 -21
  161. data/lib/acp/agent_connection/optional_method/resume_session.rb +0 -21
  162. data/lib/acp/agent_connection/optional_method/set_provider.rb +0 -23
  163. data/lib/acp/types/content_chunk.rb +0 -40
  164. data/sig/generated/acp/agent_connection/optional_method/authenticate.rbs +0 -13
  165. data/sig/generated/acp/agent_connection/optional_method/close_session.rbs +0 -13
  166. data/sig/generated/acp/agent_connection/optional_method/delete_session.rbs +0 -13
  167. data/sig/generated/acp/agent_connection/optional_method/disable_provider.rbs +0 -13
  168. data/sig/generated/acp/agent_connection/optional_method/fork_session.rbs +0 -13
  169. data/sig/generated/acp/agent_connection/optional_method/list_providers.rbs +0 -13
  170. data/sig/generated/acp/agent_connection/optional_method/list_sessions.rbs +0 -13
  171. data/sig/generated/acp/agent_connection/optional_method/load_session.rbs +0 -13
  172. data/sig/generated/acp/agent_connection/optional_method/logout.rbs +0 -13
  173. data/sig/generated/acp/agent_connection/optional_method/resume_session.rbs +0 -13
  174. data/sig/generated/acp/agent_connection/optional_method/set_provider.rbs +0 -13
  175. data/sig/generated/acp/types/content_chunk.rbs +0 -25
  176. data/sig/manual/acp/agent_connection/optional_method/authenticate.rbs +0 -6
  177. data/sig/manual/acp/agent_connection/optional_method/close_session.rbs +0 -6
  178. data/sig/manual/acp/agent_connection/optional_method/delete_session.rbs +0 -6
  179. data/sig/manual/acp/agent_connection/optional_method/disable_provider.rbs +0 -6
  180. data/sig/manual/acp/agent_connection/optional_method/fork_session.rbs +0 -6
  181. data/sig/manual/acp/agent_connection/optional_method/list_providers.rbs +0 -6
  182. data/sig/manual/acp/agent_connection/optional_method/list_sessions.rbs +0 -6
  183. data/sig/manual/acp/agent_connection/optional_method/load_session.rbs +0 -6
  184. data/sig/manual/acp/agent_connection/optional_method/resume_session.rbs +0 -6
  185. data/sig/manual/acp/agent_connection/optional_method/set_provider.rbs +0 -6
@@ -2,64 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::NumberPropertySchema
6
- # @dynamic title
7
- attr_reader :title #: String?
5
+ # @rbs!
6
+ # class ACP::Types::NumberPropertySchema = ACP::Types::ElicitationPropertySchema::NumberPropertySchema
8
7
 
9
- # @dynamic description
10
- attr_reader :description #: String?
11
-
12
- # @dynamic minimum
13
- attr_reader :minimum #: Numeric?
14
-
15
- # @dynamic maximum
16
- attr_reader :maximum #: Numeric?
17
-
18
- # @dynamic default
19
- attr_reader :default #: Numeric?
20
-
21
- # @dynamic meta
22
- attr_reader :meta #: Hash[String, untyped]?
23
-
24
- # @rbs title: String?
25
- # @rbs description: String?
26
- # @rbs minimum: Numeric?
27
- # @rbs maximum: Numeric?
28
- # @rbs default: Numeric?
29
- # @rbs meta: Hash[String, untyped]?
30
- # @rbs return: void
31
- def initialize(title: nil, description: nil, minimum: nil, maximum: nil, default: nil, meta: nil)
32
- @title = title
33
- @description = description
34
- @minimum = minimum
35
- @maximum = maximum
36
- @default = default
37
- @meta = meta
38
- freeze
39
- end
40
-
41
- # @rbs hash: Hash[String, untyped]
42
- # @rbs return: ACP::Types::NumberPropertySchema
43
- def self.from_h(hash)
44
- new(
45
- title: ACP::Types::Check.string(hash['title'], 'title', allow_nil: true),
46
- description: ACP::Types::Check.string(hash['description'], 'description', allow_nil: true),
47
- minimum: ACP::Types::Check.number(hash['minimum'], 'minimum', allow_nil: true),
48
- maximum: ACP::Types::Check.number(hash['maximum'], 'maximum', allow_nil: true),
49
- default: ACP::Types::Check.number(hash['default'], 'default', allow_nil: true),
50
- meta: hash['_meta']
51
- )
52
- end
53
-
54
- # @rbs return: Hash[String, untyped]
55
- def to_h
56
- {
57
- 'title' => title,
58
- 'description' => description,
59
- 'minimum' => minimum,
60
- 'maximum' => maximum,
61
- 'default' => default,
62
- '_meta' => meta
63
- }.compact
64
- end
65
- end
8
+ ACP::Types::NumberPropertySchema = ACP::Types::ElicitationPropertySchema::NumberPropertySchema
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Hand-authored support for the generated types: the generator neither emits
4
+ # nor deletes this file (see TypeGenerator::SUPPORT_FILES).
5
+
6
+ class ACP::Types::ParseError < StandardError
7
+ # @rbs @segments: Array[String | Integer]
8
+ # @rbs @detail: String
9
+
10
+ # @rbs segments: Array[String | Integer]
11
+ # @rbs detail: String
12
+ # @rbs return: void
13
+ def initialize(segments, detail)
14
+ @segments = segments.freeze
15
+ @detail = detail
16
+ super("#{path}: #{detail}")
17
+ end
18
+
19
+ # @dynamic segments
20
+ attr_reader :segments #: Array[String | Integer]
21
+
22
+ # @rbs return: String
23
+ def path
24
+ segments.each_with_index.map do |segment, index|
25
+ if segment.is_a?(Integer) then "[#{segment}]"
26
+ elsif index.zero? then segment
27
+ else ".#{segment}"
28
+ end
29
+ end.join
30
+ end
31
+
32
+ # @rbs *segments: (String | Integer)
33
+ # @rbs return: ACP::Types::ParseError
34
+ def prefix(*segments)
35
+ ACP::Types::ParseError.new([*segments, *@segments], @detail)
36
+ end
37
+ end
@@ -2,33 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::Plan
6
- # @dynamic entries
7
- attr_reader :entries #: Array[ACP::Types::PlanEntry]
5
+ # @rbs!
6
+ # class ACP::Types::Plan = ACP::Types::SessionUpdate::Plan
8
7
 
9
- # @dynamic meta
10
- attr_reader :meta #: Hash[String, untyped]?
11
-
12
- # @rbs entries: Array[ACP::Types::PlanEntry]
13
- # @rbs meta: Hash[String, untyped]?
14
- # @rbs return: void
15
- def initialize(entries:, meta: nil)
16
- @entries = entries
17
- @meta = meta
18
- freeze
19
- end
20
-
21
- # @rbs hash: Hash[String, untyped]
22
- # @rbs return: ACP::Types::Plan
23
- def self.from_h(hash)
24
- entries = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'entries'), 'entries') do |item, path|
25
- ACP::Types::Check.object(item, path, ACP::Types::PlanEntry)
26
- end
27
- new(entries:, meta: hash['_meta'])
28
- end
29
-
30
- # @rbs return: Hash[String, untyped]
31
- def to_h
32
- { 'entries' => entries.map(&:to_h), '_meta' => meta }.compact
33
- end
34
- end
8
+ ACP::Types::Plan = ACP::Types::SessionUpdate::Plan
@@ -2,83 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::ResourceLink
6
- # @dynamic annotations
7
- attr_reader :annotations #: ACP::Types::Annotations?
5
+ # @rbs!
6
+ # class ACP::Types::ResourceLink = ACP::Types::ContentBlock::ResourceLink
8
7
 
9
- # @dynamic description
10
- attr_reader :description #: String?
11
-
12
- # @dynamic mime_type
13
- attr_reader :mime_type #: String?
14
-
15
- # @dynamic name
16
- attr_reader :name #: String
17
-
18
- # @dynamic size
19
- attr_reader :size #: Integer?
20
-
21
- # @dynamic title
22
- attr_reader :title #: String?
23
-
24
- # @dynamic uri
25
- attr_reader :uri #: String
26
-
27
- # @dynamic meta
28
- attr_reader :meta #: Hash[String, untyped]?
29
-
30
- # @rbs annotations: ACP::Types::Annotations?
31
- # @rbs description: String?
32
- # @rbs mime_type: String?
33
- # @rbs name: String
34
- # @rbs size: Integer?
35
- # @rbs title: String?
36
- # @rbs uri: String
37
- # @rbs meta: Hash[String, untyped]?
38
- # @rbs return: void
39
- def initialize(name:, uri:, annotations: nil, description: nil, mime_type: nil, size: nil, title: nil, meta: nil)
40
- @annotations = annotations
41
- @description = description
42
- @mime_type = mime_type
43
- @name = name
44
- @size = size
45
- @title = title
46
- @uri = uri
47
- @meta = meta
48
- freeze
49
- end
50
-
51
- # @rbs hash: Hash[String, untyped]
52
- # @rbs return: ACP::Types::ResourceLink
53
- def self.from_h(hash)
54
- new(
55
- annotations: ACP::Types::Check.object(
56
- hash['annotations'],
57
- 'annotations',
58
- ACP::Types::Annotations,
59
- allow_nil: true
60
- ),
61
- description: ACP::Types::Check.string(hash['description'], 'description', allow_nil: true),
62
- mime_type: ACP::Types::Check.string(hash['mimeType'], 'mimeType', allow_nil: true),
63
- name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
64
- size: ACP::Types::Check.integer(hash['size'], 'size', allow_nil: true),
65
- title: ACP::Types::Check.string(hash['title'], 'title', allow_nil: true),
66
- uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
67
- meta: hash['_meta']
68
- )
69
- end
70
-
71
- # @rbs return: Hash[String, untyped]
72
- def to_h
73
- {
74
- 'name' => name,
75
- 'uri' => uri,
76
- 'annotations' => annotations&.to_h,
77
- 'description' => description,
78
- 'mimeType' => mime_type,
79
- 'size' => size,
80
- 'title' => title,
81
- '_meta' => meta
82
- }.compact
83
- end
84
- end
8
+ ACP::Types::ResourceLink = ACP::Types::ContentBlock::ResourceLink
@@ -2,30 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::SelectedPermissionOutcome
6
- # @dynamic option_id
7
- attr_reader :option_id #: String
5
+ # @rbs!
6
+ # class ACP::Types::SelectedPermissionOutcome = ACP::Types::RequestPermissionOutcome::Selected
8
7
 
9
- # @dynamic meta
10
- attr_reader :meta #: Hash[String, untyped]?
11
-
12
- # @rbs option_id: String
13
- # @rbs meta: Hash[String, untyped]?
14
- # @rbs return: void
15
- def initialize(option_id:, meta: nil)
16
- @option_id = option_id
17
- @meta = meta
18
- freeze
19
- end
20
-
21
- # @rbs hash: Hash[String, untyped]
22
- # @rbs return: ACP::Types::SelectedPermissionOutcome
23
- def self.from_h(hash)
24
- new(option_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'optionId'), 'optionId'), meta: hash['_meta'])
25
- end
26
-
27
- # @rbs return: Hash[String, untyped]
28
- def to_h
29
- { 'optionId' => option_id, '_meta' => meta }.compact
30
- end
31
- end
8
+ ACP::Types::SelectedPermissionOutcome = ACP::Types::RequestPermissionOutcome::Selected
@@ -2,25 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::SessionConfigBoolean
6
- # @dynamic current_value
7
- attr_reader :current_value #: bool
5
+ # @rbs!
6
+ # class ACP::Types::SessionConfigBoolean = ACP::Types::SessionConfigOption::Kind::Boolean
8
7
 
9
- # @rbs current_value: bool
10
- # @rbs return: void
11
- def initialize(current_value:)
12
- @current_value = current_value
13
- freeze
14
- end
15
-
16
- # @rbs hash: Hash[String, untyped]
17
- # @rbs return: ACP::Types::SessionConfigBoolean
18
- def self.from_h(hash)
19
- new(current_value: ACP::Types::Check.boolean(ACP::Types::Check.key(hash, 'currentValue'), 'currentValue'))
20
- end
21
-
22
- # @rbs return: Hash[String, untyped]
23
- def to_h
24
- { 'currentValue' => current_value }
25
- end
26
- end
8
+ ACP::Types::SessionConfigBoolean = ACP::Types::SessionConfigOption::Kind::Boolean
@@ -2,37 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::SessionConfigSelect
6
- # @dynamic current_value
7
- attr_reader :current_value #: String
5
+ # @rbs!
6
+ # class ACP::Types::SessionConfigSelect = ACP::Types::SessionConfigOption::Kind::Select
8
7
 
9
- # @dynamic options
10
- attr_reader :options #: ACP::Types::SessionConfigSelectOptions::t
11
-
12
- # @rbs current_value: String
13
- # @rbs options: ACP::Types::SessionConfigSelectOptions::t
14
- # @rbs return: void
15
- def initialize(current_value:, options:)
16
- @current_value = current_value
17
- @options = options
18
- freeze
19
- end
20
-
21
- # @rbs hash: Hash[String, untyped]
22
- # @rbs return: ACP::Types::SessionConfigSelect
23
- def self.from_h(hash)
24
- new(
25
- current_value: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'currentValue'), 'currentValue'),
26
- options: ACP::Types::Check.objects(
27
- ACP::Types::Check.key(hash, 'options'),
28
- 'options',
29
- ACP::Types::SessionConfigSelectOptions
30
- )
31
- )
32
- end
33
-
34
- # @rbs return: Hash[String, untyped]
35
- def to_h
36
- { 'currentValue' => current_value, 'options' => options.map(&:to_h) }
37
- end
38
- end
8
+ ACP::Types::SessionConfigSelect = ACP::Types::SessionConfigOption::Kind::Select
@@ -2,46 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::SessionInfoUpdate
6
- # @dynamic title
7
- attr_reader :title #: String? | :unset
5
+ # @rbs!
6
+ # class ACP::Types::SessionInfoUpdate = ACP::Types::SessionUpdate::SessionInfoUpdate
8
7
 
9
- # @dynamic updated_at
10
- attr_reader :updated_at #: String? | :unset
11
-
12
- # @dynamic meta
13
- attr_reader :meta #: Hash[String, untyped]?
14
-
15
- # @rbs title: String? | :unset
16
- # @rbs updated_at: String? | :unset
17
- # @rbs meta: Hash[String, untyped]?
18
- # @rbs return: void
19
- def initialize(title: :unset, updated_at: :unset, meta: nil)
20
- @title = title
21
- @updated_at = updated_at
22
- @meta = meta
23
- freeze
24
- end
25
-
26
- # @rbs hash: Hash[String, untyped]
27
- # @rbs return: ACP::Types::SessionInfoUpdate
28
- def self.from_h(hash)
29
- new(
30
- title: ACP::Types::Check.string(hash.fetch('title', :unset), 'title', allow_nil: true, allow_unset: true),
31
- updated_at: ACP::Types::Check.string(
32
- hash.fetch('updatedAt', :unset),
33
- 'updatedAt',
34
- allow_nil: true,
35
- allow_unset: true
36
- ),
37
- meta: hash['_meta']
38
- )
39
- end
40
-
41
- # @rbs return: Hash[String, untyped]
42
- def to_h
43
- {
44
- '_meta' => meta
45
- }.compact.merge({ 'title' => title, 'updatedAt' => updated_at }.reject { |_, value| value == :unset })
46
- end
47
- end
8
+ ACP::Types::SessionInfoUpdate = ACP::Types::SessionUpdate::SessionInfoUpdate
@@ -2,33 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::StringMultiSelectItems
6
- # @dynamic enum
7
- attr_reader :enum #: Array[String]
5
+ # @rbs!
6
+ # class ACP::Types::StringMultiSelectItems = ACP::Types::MultiSelectItems::StringMultiSelectItems
8
7
 
9
- # @dynamic meta
10
- attr_reader :meta #: Hash[String, untyped]?
11
-
12
- # @rbs enum: Array[String]
13
- # @rbs meta: Hash[String, untyped]?
14
- # @rbs return: void
15
- def initialize(enum:, meta: nil)
16
- @enum = enum
17
- @meta = meta
18
- freeze
19
- end
20
-
21
- # @rbs hash: Hash[String, untyped]
22
- # @rbs return: ACP::Types::StringMultiSelectItems
23
- def self.from_h(hash)
24
- enum = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'enum'), 'enum') do |item, path|
25
- ACP::Types::Check.string(item, path)
26
- end
27
- new(enum:, meta: hash['_meta'])
28
- end
29
-
30
- # @rbs return: Hash[String, untyped]
31
- def to_h
32
- { 'enum' => enum, '_meta' => meta }.compact
33
- end
34
- end
8
+ ACP::Types::StringMultiSelectItems = ACP::Types::MultiSelectItems::StringMultiSelectItems
@@ -2,109 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::StringPropertySchema
6
- # @dynamic title
7
- attr_reader :title #: String?
5
+ # @rbs!
6
+ # class ACP::Types::StringPropertySchema = ACP::Types::ElicitationPropertySchema::StringPropertySchema
8
7
 
9
- # @dynamic description
10
- attr_reader :description #: String?
11
-
12
- # @dynamic min_length
13
- attr_reader :min_length #: Integer?
14
-
15
- # @dynamic max_length
16
- attr_reader :max_length #: Integer?
17
-
18
- # @dynamic pattern
19
- attr_reader :pattern #: String?
20
-
21
- # @dynamic format
22
- attr_reader :format #: String?
23
-
24
- # @dynamic default
25
- attr_reader :default #: String?
26
-
27
- # @dynamic enum
28
- attr_reader :enum #: Array[String]?
29
-
30
- # @dynamic one_of
31
- attr_reader :one_of #: Array[ACP::Types::EnumOption]?
32
-
33
- # @dynamic meta
34
- attr_reader :meta #: Hash[String, untyped]?
35
-
36
- # @rbs title: String?
37
- # @rbs description: String?
38
- # @rbs min_length: Integer?
39
- # @rbs max_length: Integer?
40
- # @rbs pattern: String?
41
- # @rbs format: String?
42
- # @rbs default: String?
43
- # @rbs enum: Array[String]?
44
- # @rbs one_of: Array[ACP::Types::EnumOption]?
45
- # @rbs meta: Hash[String, untyped]?
46
- # @rbs return: void
47
- def initialize(
48
- title: nil,
49
- description: nil,
50
- min_length: nil,
51
- max_length: nil,
52
- pattern: nil,
53
- format: nil,
54
- default: nil,
55
- enum: nil,
56
- one_of: nil,
57
- meta: nil
58
- )
59
- @title = title
60
- @description = description
61
- @min_length = min_length
62
- @max_length = max_length
63
- @pattern = pattern
64
- @format = format
65
- @default = default
66
- @enum = enum
67
- @one_of = one_of
68
- @meta = meta
69
- freeze
70
- end
71
-
72
- # @rbs hash: Hash[String, untyped]
73
- # @rbs return: ACP::Types::StringPropertySchema
74
- def self.from_h(hash)
75
- enum = ACP::Types::Check.array(hash['enum'], 'enum', allow_nil: true) do |item, path|
76
- ACP::Types::Check.string(item, path)
77
- end
78
- one_of = ACP::Types::Check.array(hash['oneOf'], 'oneOf', allow_nil: true) do |item, path|
79
- ACP::Types::Check.object(item, path, ACP::Types::EnumOption)
80
- end
81
- new(
82
- title: ACP::Types::Check.string(hash['title'], 'title', allow_nil: true),
83
- description: ACP::Types::Check.string(hash['description'], 'description', allow_nil: true),
84
- min_length: ACP::Types::Check.integer(hash['minLength'], 'minLength', min: 0, allow_nil: true),
85
- max_length: ACP::Types::Check.integer(hash['maxLength'], 'maxLength', min: 0, allow_nil: true),
86
- pattern: ACP::Types::Check.string(hash['pattern'], 'pattern', allow_nil: true),
87
- format: ACP::Types::Check.enum(hash['format'], 'format', %w[email uri date date-time], allow_nil: true),
88
- default: ACP::Types::Check.string(hash['default'], 'default', allow_nil: true),
89
- enum:,
90
- one_of:,
91
- meta: hash['_meta']
92
- )
93
- end
94
-
95
- # @rbs return: Hash[String, untyped]
96
- def to_h
97
- {
98
- 'title' => title,
99
- 'description' => description,
100
- 'minLength' => min_length,
101
- 'maxLength' => max_length,
102
- 'pattern' => pattern,
103
- 'format' => format,
104
- 'default' => default,
105
- 'enum' => enum,
106
- 'oneOf' => one_of&.map(&:to_h),
107
- '_meta' => meta
108
- }.compact
109
- end
110
- end
8
+ ACP::Types::StringPropertySchema = ACP::Types::ElicitationPropertySchema::StringPropertySchema
@@ -2,33 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::Terminal
6
- # @dynamic terminal_id
7
- attr_reader :terminal_id #: String
5
+ # @rbs!
6
+ # class ACP::Types::Terminal = ACP::Types::ToolCallContent::Terminal
8
7
 
9
- # @dynamic meta
10
- attr_reader :meta #: Hash[String, untyped]?
11
-
12
- # @rbs terminal_id: String
13
- # @rbs meta: Hash[String, untyped]?
14
- # @rbs return: void
15
- def initialize(terminal_id:, meta: nil)
16
- @terminal_id = terminal_id
17
- @meta = meta
18
- freeze
19
- end
20
-
21
- # @rbs hash: Hash[String, untyped]
22
- # @rbs return: ACP::Types::Terminal
23
- def self.from_h(hash)
24
- new(
25
- terminal_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'terminalId'), 'terminalId'),
26
- meta: hash['_meta']
27
- )
28
- end
29
-
30
- # @rbs return: Hash[String, untyped]
31
- def to_h
32
- { 'terminalId' => terminal_id, '_meta' => meta }.compact
33
- end
34
- end
8
+ ACP::Types::Terminal = ACP::Types::ToolCallContent::Terminal
@@ -2,44 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::TextContent
6
- # @dynamic annotations
7
- attr_reader :annotations #: ACP::Types::Annotations?
5
+ # @rbs!
6
+ # class ACP::Types::TextContent = ACP::Types::ContentBlock::Text
8
7
 
9
- # @dynamic text
10
- attr_reader :text #: String
11
-
12
- # @dynamic meta
13
- attr_reader :meta #: Hash[String, untyped]?
14
-
15
- # @rbs annotations: ACP::Types::Annotations?
16
- # @rbs text: String
17
- # @rbs meta: Hash[String, untyped]?
18
- # @rbs return: void
19
- def initialize(text:, annotations: nil, meta: nil)
20
- @annotations = annotations
21
- @text = text
22
- @meta = meta
23
- freeze
24
- end
25
-
26
- # @rbs hash: Hash[String, untyped]
27
- # @rbs return: ACP::Types::TextContent
28
- def self.from_h(hash)
29
- new(
30
- annotations: ACP::Types::Check.object(
31
- hash['annotations'],
32
- 'annotations',
33
- ACP::Types::Annotations,
34
- allow_nil: true
35
- ),
36
- text: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'text'), 'text'),
37
- meta: hash['_meta']
38
- )
39
- end
40
-
41
- # @rbs return: Hash[String, untyped]
42
- def to_h
43
- { 'text' => text, 'annotations' => annotations&.to_h, '_meta' => meta }.compact
44
- end
45
- end
8
+ ACP::Types::TextContent = ACP::Types::ContentBlock::Text