acp-sdk 0.10.0 → 0.12.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 (187) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +19 -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 +17 -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/serving.rb +18 -0
  17. data/lib/acp/transport/stdio.rb +67 -59
  18. data/lib/acp/types/audio_content.rb +3 -46
  19. data/lib/acp/types/auth_method_terminal.rb +3 -59
  20. data/lib/acp/types/available_commands_update.rb +3 -32
  21. data/lib/acp/types/boolean_property_schema.rb +3 -41
  22. data/lib/acp/types/check.rb +210 -0
  23. data/lib/acp/types/config_option_update.rb +3 -32
  24. data/lib/acp/types/content.rb +3 -29
  25. data/lib/acp/types/{elicitation_url_mode → create_elicitation_request/mode/form}/scope.rb +1 -1
  26. data/lib/acp/types/create_elicitation_request/mode/form.rb +3 -3
  27. data/lib/acp/types/{elicitation_form_mode → create_elicitation_request/mode/url}/scope.rb +1 -1
  28. data/lib/acp/types/create_elicitation_request/mode/url.rb +3 -3
  29. data/lib/acp/types/current_mode_update.rb +3 -29
  30. data/lib/acp/types/diff.rb +3 -41
  31. data/lib/acp/types/elicitation_accept_action.rb +3 -26
  32. data/lib/acp/types/elicitation_form_mode.rb +3 -33
  33. data/lib/acp/types/elicitation_url_mode.rb +3 -35
  34. data/lib/acp/types/embedded_resource.rb +3 -44
  35. data/lib/acp/types/image_content.rb +3 -58
  36. data/lib/acp/types/integer_property_schema.rb +3 -60
  37. data/lib/acp/types/mcp_server_http.rb +3 -44
  38. data/lib/acp/types/mcp_server_sse.rb +3 -44
  39. data/lib/acp/types/multi_select_property_schema.rb +3 -70
  40. data/lib/acp/types/number_property_schema.rb +3 -60
  41. data/lib/acp/types/parse_error.rb +37 -0
  42. data/lib/acp/types/plan.rb +3 -29
  43. data/lib/acp/types/resource_link.rb +3 -79
  44. data/lib/acp/types/selected_permission_outcome.rb +3 -26
  45. data/lib/acp/types/session_config_boolean.rb +3 -21
  46. data/lib/acp/types/session_config_select.rb +3 -33
  47. data/lib/acp/types/session_info_update.rb +3 -42
  48. data/lib/acp/types/string_multi_select_items.rb +3 -29
  49. data/lib/acp/types/string_property_schema.rb +3 -105
  50. data/lib/acp/types/terminal.rb +3 -29
  51. data/lib/acp/types/text_content.rb +3 -40
  52. data/lib/acp/types/tool_call.rb +3 -115
  53. data/lib/acp/types/unstable/compaction_summary_chunk.rb +3 -35
  54. data/lib/acp/types/unstable/compaction_update.rb +3 -56
  55. data/lib/acp/types/unstable/idle_state_update.rb +3 -40
  56. data/lib/acp/types/unstable/mcp_server_acp.rb +3 -35
  57. data/lib/acp/types/unstable/nes_edit_suggestion.rb +3 -61
  58. data/lib/acp/types/unstable/nes_jump_suggestion.rb +3 -45
  59. data/lib/acp/types/unstable/nes_rename_suggestion.rb +3 -51
  60. data/lib/acp/types/unstable/nes_search_and_replace_suggestion.rb +3 -60
  61. data/lib/acp/types/unstable/notice.rb +3 -41
  62. data/lib/acp/types/unstable/plan_file.rb +3 -35
  63. data/lib/acp/types/unstable/plan_items.rb +3 -38
  64. data/lib/acp/types/unstable/plan_markdown.rb +3 -35
  65. data/lib/acp/types/unstable/plan_removed.rb +3 -26
  66. data/lib/acp/types/unstable/plan_update.rb +3 -33
  67. data/lib/acp/types/unstable/requires_action_state_update.rb +3 -21
  68. data/lib/acp/types/unstable/running_state_update.rb +3 -21
  69. data/lib/acp/types/unstable/session_message.rb +3 -56
  70. data/lib/acp/types/unstable/session_message_chunk.rb +3 -53
  71. data/lib/acp/types/unstable/subagent_update.rb +3 -65
  72. data/lib/acp/types/unstable/unknown_state_update.rb +3 -21
  73. data/lib/acp/types/unstable.rb +20 -20
  74. data/lib/acp/types/usage_update.rb +3 -41
  75. data/lib/acp/types.rb +7 -246
  76. data/lib/acp/version.rb +1 -1
  77. data/sig/generated/acp/agent_connection/client.rbs +10 -19
  78. data/sig/generated/acp/agent_connection/optional_method/spec.rbs +32 -0
  79. data/sig/generated/acp/agent_connection/optional_method.rbs +3 -0
  80. data/sig/generated/acp/agent_connection.rbs +16 -24
  81. data/sig/generated/acp/agent_process.rbs +0 -13
  82. data/sig/generated/acp/client_connection/streams.rbs +94 -0
  83. data/sig/generated/acp/client_connection.rbs +100 -159
  84. data/sig/generated/acp/protocol.rbs +9 -0
  85. data/sig/generated/acp/request_error.rbs +15 -17
  86. data/sig/generated/acp/transport/cancellation.rbs +0 -7
  87. data/sig/generated/acp/transport/reply.rbs +0 -2
  88. data/sig/generated/acp/transport/stderr_logger.rbs +1 -2
  89. data/sig/generated/acp/transport/stdio/serving.rbs +14 -0
  90. data/sig/generated/acp/transport/stdio.rbs +31 -35
  91. data/sig/generated/acp/types/audio_content.rbs +1 -27
  92. data/sig/generated/acp/types/auth_method_terminal.rbs +1 -35
  93. data/sig/generated/acp/types/available_commands_update.rbs +1 -19
  94. data/sig/generated/acp/types/boolean_property_schema.rbs +1 -27
  95. data/sig/generated/acp/types/check.rbs +115 -0
  96. data/sig/generated/acp/types/config_option_update.rbs +1 -19
  97. data/sig/generated/acp/types/content.rbs +1 -19
  98. data/sig/generated/acp/types/{elicitation_url_mode → create_elicitation_request/mode/form}/scope.rbs +2 -2
  99. data/sig/generated/acp/types/create_elicitation_request/mode/form.rbs +3 -3
  100. data/sig/generated/acp/types/{elicitation_form_mode → create_elicitation_request/mode/url}/scope.rbs +2 -2
  101. data/sig/generated/acp/types/create_elicitation_request/mode/url.rbs +3 -3
  102. data/sig/generated/acp/types/current_mode_update.rbs +1 -19
  103. data/sig/generated/acp/types/diff.rbs +1 -27
  104. data/sig/generated/acp/types/elicitation_accept_action.rbs +1 -15
  105. data/sig/generated/acp/types/elicitation_form_mode.rbs +1 -19
  106. data/sig/generated/acp/types/elicitation_url_mode.rbs +1 -23
  107. data/sig/generated/acp/types/embedded_resource.rbs +1 -23
  108. data/sig/generated/acp/types/image_content.rbs +1 -31
  109. data/sig/generated/acp/types/integer_property_schema.rbs +1 -35
  110. data/sig/generated/acp/types/mcp_server_http.rbs +1 -27
  111. data/sig/generated/acp/types/mcp_server_sse.rbs +1 -27
  112. data/sig/generated/acp/types/multi_select_property_schema.rbs +1 -39
  113. data/sig/generated/acp/types/number_property_schema.rbs +1 -35
  114. data/sig/generated/acp/types/parse_error.rbs +22 -0
  115. data/sig/generated/acp/types/plan.rbs +1 -19
  116. data/sig/generated/acp/types/resource_link.rbs +1 -43
  117. data/sig/generated/acp/types/selected_permission_outcome.rbs +1 -19
  118. data/sig/generated/acp/types/session_config_boolean.rbs +1 -15
  119. data/sig/generated/acp/types/session_config_select.rbs +1 -19
  120. data/sig/generated/acp/types/session_info_update.rbs +1 -23
  121. data/sig/generated/acp/types/string_multi_select_items.rbs +1 -19
  122. data/sig/generated/acp/types/string_property_schema.rbs +1 -51
  123. data/sig/generated/acp/types/terminal.rbs +1 -19
  124. data/sig/generated/acp/types/text_content.rbs +1 -23
  125. data/sig/generated/acp/types/tool_call.rbs +1 -51
  126. data/sig/generated/acp/types/unstable/compaction_summary_chunk.rbs +1 -23
  127. data/sig/generated/acp/types/unstable/compaction_update.rbs +1 -31
  128. data/sig/generated/acp/types/unstable/idle_state_update.rbs +1 -23
  129. data/sig/generated/acp/types/unstable/mcp_server_acp.rbs +1 -23
  130. data/sig/generated/acp/types/unstable/nes_edit_suggestion.rbs +1 -31
  131. data/sig/generated/acp/types/unstable/nes_jump_suggestion.rbs +1 -27
  132. data/sig/generated/acp/types/unstable/nes_rename_suggestion.rbs +1 -31
  133. data/sig/generated/acp/types/unstable/nes_search_and_replace_suggestion.rbs +1 -35
  134. data/sig/generated/acp/types/unstable/notice.rbs +1 -27
  135. data/sig/generated/acp/types/unstable/plan_file.rbs +1 -23
  136. data/sig/generated/acp/types/unstable/plan_items.rbs +1 -23
  137. data/sig/generated/acp/types/unstable/plan_markdown.rbs +1 -23
  138. data/sig/generated/acp/types/unstable/plan_removed.rbs +1 -19
  139. data/sig/generated/acp/types/unstable/plan_update.rbs +1 -19
  140. data/sig/generated/acp/types/unstable/requires_action_state_update.rbs +1 -15
  141. data/sig/generated/acp/types/unstable/running_state_update.rbs +1 -15
  142. data/sig/generated/acp/types/unstable/session_message.rbs +1 -31
  143. data/sig/generated/acp/types/unstable/session_message_chunk.rbs +1 -31
  144. data/sig/generated/acp/types/unstable/subagent_update.rbs +1 -35
  145. data/sig/generated/acp/types/unstable/unknown_state_update.rbs +1 -15
  146. data/sig/generated/acp/types/usage_update.rbs +1 -27
  147. data/sig/generated/acp/types.rbs +6 -143
  148. data/sig/manual/acp/agent_connection.rbs +0 -30
  149. data/sig/manual/acp/client_connection.rbs +7 -2
  150. data/sig/manual/acp/{agent_connection/optional_method/logout.rbs → protocol.rbs} +3 -3
  151. data/sig/manual/acp/transport/stdio.rbs +0 -2
  152. data/sig/manual/acp/transport.rbs +25 -2
  153. metadata +18 -40
  154. data/lib/acp/agent_connection/optional_method/authenticate.rb +0 -21
  155. data/lib/acp/agent_connection/optional_method/close_session.rb +0 -21
  156. data/lib/acp/agent_connection/optional_method/delete_session.rb +0 -21
  157. data/lib/acp/agent_connection/optional_method/disable_provider.rb +0 -23
  158. data/lib/acp/agent_connection/optional_method/fork_session.rb +0 -23
  159. data/lib/acp/agent_connection/optional_method/list_providers.rb +0 -23
  160. data/lib/acp/agent_connection/optional_method/list_sessions.rb +0 -21
  161. data/lib/acp/agent_connection/optional_method/load_session.rb +0 -21
  162. data/lib/acp/agent_connection/optional_method/logout.rb +0 -21
  163. data/lib/acp/agent_connection/optional_method/resume_session.rb +0 -21
  164. data/lib/acp/agent_connection/optional_method/set_provider.rb +0 -23
  165. data/lib/acp/types/content_chunk.rb +0 -40
  166. data/sig/generated/acp/agent_connection/optional_method/authenticate.rbs +0 -13
  167. data/sig/generated/acp/agent_connection/optional_method/close_session.rbs +0 -13
  168. data/sig/generated/acp/agent_connection/optional_method/delete_session.rbs +0 -13
  169. data/sig/generated/acp/agent_connection/optional_method/disable_provider.rbs +0 -13
  170. data/sig/generated/acp/agent_connection/optional_method/fork_session.rbs +0 -13
  171. data/sig/generated/acp/agent_connection/optional_method/list_providers.rbs +0 -13
  172. data/sig/generated/acp/agent_connection/optional_method/list_sessions.rbs +0 -13
  173. data/sig/generated/acp/agent_connection/optional_method/load_session.rbs +0 -13
  174. data/sig/generated/acp/agent_connection/optional_method/logout.rbs +0 -13
  175. data/sig/generated/acp/agent_connection/optional_method/resume_session.rbs +0 -13
  176. data/sig/generated/acp/agent_connection/optional_method/set_provider.rbs +0 -13
  177. data/sig/generated/acp/types/content_chunk.rbs +0 -25
  178. data/sig/manual/acp/agent_connection/optional_method/authenticate.rbs +0 -6
  179. data/sig/manual/acp/agent_connection/optional_method/close_session.rbs +0 -6
  180. data/sig/manual/acp/agent_connection/optional_method/delete_session.rbs +0 -6
  181. data/sig/manual/acp/agent_connection/optional_method/disable_provider.rbs +0 -6
  182. data/sig/manual/acp/agent_connection/optional_method/fork_session.rbs +0 -6
  183. data/sig/manual/acp/agent_connection/optional_method/list_providers.rbs +0 -6
  184. data/sig/manual/acp/agent_connection/optional_method/list_sessions.rbs +0 -6
  185. data/sig/manual/acp/agent_connection/optional_method/load_session.rbs +0 -6
  186. data/sig/manual/acp/agent_connection/optional_method/resume_session.rbs +0 -6
  187. data/sig/manual/acp/agent_connection/optional_method/set_provider.rbs +0 -6
@@ -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
@@ -2,119 +2,7 @@
2
2
 
3
3
  # Generated by bin/types from schema/schema.json. Do not edit.
4
4
 
5
- class ACP::Types::ToolCall
6
- # @dynamic tool_call_id
7
- attr_reader :tool_call_id #: String
5
+ # @rbs!
6
+ # class ACP::Types::ToolCall = ACP::Types::SessionUpdate::ToolCall
8
7
 
9
- # @dynamic title
10
- attr_reader :title #: String
11
-
12
- # @dynamic name
13
- attr_reader :name #: String?
14
-
15
- # @dynamic kind
16
- attr_reader :kind #: String?
17
-
18
- # @dynamic status
19
- attr_reader :status #: String?
20
-
21
- # @dynamic content
22
- attr_reader :content #: Array[ACP::Types::ToolCallContent::t]?
23
-
24
- # @dynamic locations
25
- attr_reader :locations #: Array[ACP::Types::ToolCallLocation]?
26
-
27
- # @dynamic raw_input
28
- attr_reader :raw_input #: untyped
29
-
30
- # @dynamic raw_output
31
- attr_reader :raw_output #: untyped
32
-
33
- # @dynamic meta
34
- attr_reader :meta #: Hash[String, untyped]?
35
-
36
- # @rbs tool_call_id: String
37
- # @rbs title: String
38
- # @rbs name: String?
39
- # @rbs kind: String?
40
- # @rbs status: String?
41
- # @rbs content: Array[ACP::Types::ToolCallContent::t]?
42
- # @rbs locations: Array[ACP::Types::ToolCallLocation]?
43
- # @rbs raw_input: untyped
44
- # @rbs raw_output: untyped
45
- # @rbs meta: Hash[String, untyped]?
46
- # @rbs return: void
47
- def initialize(
48
- tool_call_id:,
49
- title:,
50
- name: nil,
51
- kind: nil,
52
- status: nil,
53
- content: nil,
54
- locations: nil,
55
- raw_input: nil,
56
- raw_output: nil,
57
- meta: nil
58
- )
59
- @tool_call_id = tool_call_id
60
- @title = title
61
- @name = name
62
- @kind = kind
63
- @status = status
64
- @content = content
65
- @locations = locations
66
- @raw_input = raw_input
67
- @raw_output = raw_output
68
- @meta = meta
69
- freeze
70
- end
71
-
72
- # @rbs hash: Hash[String, untyped]
73
- # @rbs return: ACP::Types::ToolCall
74
- def self.from_h(hash)
75
- content = ACP::Types::Check.array(hash['content'], 'content', allow_nil: true) do |item, path|
76
- ACP::Types::Check.object(item, path, ACP::Types::ToolCallContent)
77
- end
78
- locations = ACP::Types::Check.array(hash['locations'], 'locations', allow_nil: true) do |item, path|
79
- ACP::Types::Check.object(item, path, ACP::Types::ToolCallLocation)
80
- end
81
- new(
82
- tool_call_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'toolCallId'), 'toolCallId'),
83
- title: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'title'), 'title'),
84
- name: ACP::Types::Check.string(hash['name'], 'name', allow_nil: true),
85
- kind: ACP::Types::Check.enum(
86
- hash['kind'],
87
- 'kind',
88
- %w[read edit delete move search execute think fetch switch_mode other],
89
- allow_nil: true
90
- ),
91
- status: ACP::Types::Check.enum(
92
- hash['status'],
93
- 'status',
94
- %w[pending in_progress completed failed],
95
- allow_nil: true
96
- ),
97
- content:,
98
- locations:,
99
- raw_input: hash['rawInput'],
100
- raw_output: hash['rawOutput'],
101
- meta: hash['_meta']
102
- )
103
- end
104
-
105
- # @rbs return: Hash[String, untyped]
106
- def to_h
107
- {
108
- 'toolCallId' => tool_call_id,
109
- 'title' => title,
110
- 'name' => name,
111
- 'kind' => kind,
112
- 'status' => status,
113
- 'content' => content&.map(&:to_h),
114
- 'locations' => locations&.map(&:to_h),
115
- 'rawInput' => raw_input,
116
- 'rawOutput' => raw_output,
117
- '_meta' => meta
118
- }.compact
119
- end
120
- end
8
+ ACP::Types::ToolCall = ACP::Types::SessionUpdate::ToolCall
@@ -3,39 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::CompactionSummaryChunk
7
- # @dynamic compaction_id
8
- attr_reader :compaction_id #: String
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::CompactionSummaryChunk = ACP::Types::Unstable::SessionUpdate::CompactionSummaryChunk
9
8
 
10
- # @dynamic content
11
- attr_reader :content #: ACP::Types::ContentBlock::t
12
-
13
- # @dynamic meta
14
- attr_reader :meta #: Hash[String, untyped]?
15
-
16
- # @rbs compaction_id: String
17
- # @rbs content: ACP::Types::ContentBlock::t
18
- # @rbs meta: Hash[String, untyped]?
19
- # @rbs return: void
20
- def initialize(compaction_id:, content:, meta: nil)
21
- @compaction_id = compaction_id
22
- @content = content
23
- @meta = meta
24
- freeze
25
- end
26
-
27
- # @rbs hash: Hash[String, untyped]
28
- # @rbs return: ACP::Types::Unstable::CompactionSummaryChunk
29
- def self.from_h(hash)
30
- new(
31
- compaction_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'compactionId'), 'compactionId'),
32
- content: ACP::Types::Check.object(ACP::Types::Check.key(hash, 'content'), 'content', ACP::Types::ContentBlock),
33
- meta: hash['_meta']
34
- )
35
- end
36
-
37
- # @rbs return: Hash[String, untyped]
38
- def to_h
39
- { 'compactionId' => compaction_id, 'content' => content.to_h, '_meta' => meta }.compact
40
- end
41
- end
9
+ ACP::Types::Unstable::CompactionSummaryChunk = ACP::Types::Unstable::SessionUpdate::CompactionSummaryChunk
@@ -3,60 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::CompactionUpdate
7
- # @dynamic compaction_id
8
- attr_reader :compaction_id #: String
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::CompactionUpdate = ACP::Types::Unstable::SessionUpdate::CompactionUpdate
9
8
 
10
- # @dynamic status
11
- attr_reader :status #: String
12
-
13
- # @dynamic summary
14
- attr_reader :summary #: Array[ACP::Types::ContentBlock::t]?
15
-
16
- # @dynamic error
17
- attr_reader :error #: String?
18
-
19
- # @dynamic meta
20
- attr_reader :meta #: Hash[String, untyped]?
21
-
22
- # @rbs compaction_id: String
23
- # @rbs status: String
24
- # @rbs summary: Array[ACP::Types::ContentBlock::t]?
25
- # @rbs error: String?
26
- # @rbs meta: Hash[String, untyped]?
27
- # @rbs return: void
28
- def initialize(compaction_id:, status:, summary: nil, error: nil, meta: nil)
29
- @compaction_id = compaction_id
30
- @status = status
31
- @summary = summary
32
- @error = error
33
- @meta = meta
34
- freeze
35
- end
36
-
37
- # @rbs hash: Hash[String, untyped]
38
- # @rbs return: ACP::Types::Unstable::CompactionUpdate
39
- def self.from_h(hash)
40
- summary = ACP::Types::Check.array(hash['summary'], 'summary', allow_nil: true) do |item, path|
41
- ACP::Types::Check.object(item, path, ACP::Types::ContentBlock)
42
- end
43
- new(
44
- compaction_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'compactionId'), 'compactionId'),
45
- status: ACP::Types::Check.key(hash, 'status'),
46
- summary:,
47
- error: ACP::Types::Check.string(hash['error'], 'error', allow_nil: true),
48
- meta: hash['_meta']
49
- )
50
- end
51
-
52
- # @rbs return: Hash[String, untyped]
53
- def to_h
54
- {
55
- 'compactionId' => compaction_id,
56
- 'status' => status,
57
- 'summary' => summary&.map(&:to_h),
58
- 'error' => error,
59
- '_meta' => meta
60
- }.compact
61
- end
62
- end
9
+ ACP::Types::Unstable::CompactionUpdate = ACP::Types::Unstable::SessionUpdate::CompactionUpdate
@@ -3,44 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::IdleStateUpdate
7
- # @dynamic stop_reason
8
- attr_reader :stop_reason #: String?
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::IdleStateUpdate = ACP::Types::Unstable::StateUpdate::Idle
9
8
 
10
- # @dynamic usage
11
- attr_reader :usage #: ACP::Types::Unstable::Usage?
12
-
13
- # @dynamic meta
14
- attr_reader :meta #: Hash[String, untyped]?
15
-
16
- # @rbs stop_reason: String?
17
- # @rbs usage: ACP::Types::Unstable::Usage?
18
- # @rbs meta: Hash[String, untyped]?
19
- # @rbs return: void
20
- def initialize(stop_reason: nil, usage: nil, meta: nil)
21
- @stop_reason = stop_reason
22
- @usage = usage
23
- @meta = meta
24
- freeze
25
- end
26
-
27
- # @rbs hash: Hash[String, untyped]
28
- # @rbs return: ACP::Types::Unstable::IdleStateUpdate
29
- def self.from_h(hash)
30
- new(
31
- stop_reason: ACP::Types::Check.enum(
32
- hash['stopReason'],
33
- 'stopReason',
34
- %w[end_turn max_tokens max_turn_requests refusal cancelled],
35
- allow_nil: true
36
- ),
37
- usage: ACP::Types::Check.object(hash['usage'], 'usage', ACP::Types::Unstable::Usage, allow_nil: true),
38
- meta: hash['_meta']
39
- )
40
- end
41
-
42
- # @rbs return: Hash[String, untyped]
43
- def to_h
44
- { 'stopReason' => stop_reason, 'usage' => usage&.to_h, '_meta' => meta }.compact
45
- end
46
- end
9
+ ACP::Types::Unstable::IdleStateUpdate = ACP::Types::Unstable::StateUpdate::Idle
@@ -3,39 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::McpServerAcp
7
- # @dynamic name
8
- attr_reader :name #: String
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::McpServerAcp = ACP::Types::Unstable::McpServer::Acp
9
8
 
10
- # @dynamic server_id
11
- attr_reader :server_id #: String
12
-
13
- # @dynamic meta
14
- attr_reader :meta #: Hash[String, untyped]?
15
-
16
- # @rbs name: String
17
- # @rbs server_id: String
18
- # @rbs meta: Hash[String, untyped]?
19
- # @rbs return: void
20
- def initialize(name:, server_id:, meta: nil)
21
- @name = name
22
- @server_id = server_id
23
- @meta = meta
24
- freeze
25
- end
26
-
27
- # @rbs hash: Hash[String, untyped]
28
- # @rbs return: ACP::Types::Unstable::McpServerAcp
29
- def self.from_h(hash)
30
- new(
31
- name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
32
- server_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'serverId'), 'serverId'),
33
- meta: hash['_meta']
34
- )
35
- end
36
-
37
- # @rbs return: Hash[String, untyped]
38
- def to_h
39
- { 'name' => name, 'serverId' => server_id, '_meta' => meta }.compact
40
- end
41
- end
9
+ ACP::Types::Unstable::McpServerAcp = ACP::Types::Unstable::McpServer::Acp
@@ -3,65 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::NesEditSuggestion
7
- # @dynamic id
8
- attr_reader :id #: String
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::NesEditSuggestion = ACP::Types::Unstable::NesSuggestion::Edit
9
8
 
10
- # @dynamic uri
11
- attr_reader :uri #: String
12
-
13
- # @dynamic edits
14
- attr_reader :edits #: Array[ACP::Types::Unstable::NesTextEdit]
15
-
16
- # @dynamic cursor_position
17
- attr_reader :cursor_position #: ACP::Types::Unstable::Position?
18
-
19
- # @dynamic meta
20
- attr_reader :meta #: Hash[String, untyped]?
21
-
22
- # @rbs id: String
23
- # @rbs uri: String
24
- # @rbs edits: Array[ACP::Types::Unstable::NesTextEdit]
25
- # @rbs cursor_position: ACP::Types::Unstable::Position?
26
- # @rbs meta: Hash[String, untyped]?
27
- # @rbs return: void
28
- def initialize(id:, uri:, edits:, cursor_position: nil, meta: nil)
29
- @id = id
30
- @uri = uri
31
- @edits = edits
32
- @cursor_position = cursor_position
33
- @meta = meta
34
- freeze
35
- end
36
-
37
- # @rbs hash: Hash[String, untyped]
38
- # @rbs return: ACP::Types::Unstable::NesEditSuggestion
39
- def self.from_h(hash)
40
- edits = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'edits'), 'edits') do |item, path|
41
- ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesTextEdit)
42
- end
43
- new(
44
- id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'id'), 'id'),
45
- uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
46
- edits:,
47
- cursor_position: ACP::Types::Check.object(
48
- hash['cursorPosition'],
49
- 'cursorPosition',
50
- ACP::Types::Unstable::Position,
51
- allow_nil: true
52
- ),
53
- meta: hash['_meta']
54
- )
55
- end
56
-
57
- # @rbs return: Hash[String, untyped]
58
- def to_h
59
- {
60
- 'id' => id,
61
- 'uri' => uri,
62
- 'edits' => edits.map(&:to_h),
63
- 'cursorPosition' => cursor_position&.to_h,
64
- '_meta' => meta
65
- }.compact
66
- end
67
- end
9
+ ACP::Types::Unstable::NesEditSuggestion = ACP::Types::Unstable::NesSuggestion::Edit
@@ -3,49 +3,7 @@
3
3
  # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
4
  # Unstable: not part of the ACP spec, may change or disappear at any point.
5
5
 
6
- class ACP::Types::Unstable::NesJumpSuggestion
7
- # @dynamic id
8
- attr_reader :id #: String
6
+ # @rbs!
7
+ # class ACP::Types::Unstable::NesJumpSuggestion = ACP::Types::Unstable::NesSuggestion::Jump
9
8
 
10
- # @dynamic uri
11
- attr_reader :uri #: String
12
-
13
- # @dynamic position
14
- attr_reader :position #: ACP::Types::Unstable::Position
15
-
16
- # @dynamic meta
17
- attr_reader :meta #: Hash[String, untyped]?
18
-
19
- # @rbs id: String
20
- # @rbs uri: String
21
- # @rbs position: ACP::Types::Unstable::Position
22
- # @rbs meta: Hash[String, untyped]?
23
- # @rbs return: void
24
- def initialize(id:, uri:, position:, meta: nil)
25
- @id = id
26
- @uri = uri
27
- @position = position
28
- @meta = meta
29
- freeze
30
- end
31
-
32
- # @rbs hash: Hash[String, untyped]
33
- # @rbs return: ACP::Types::Unstable::NesJumpSuggestion
34
- def self.from_h(hash)
35
- new(
36
- id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'id'), 'id'),
37
- uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
38
- position: ACP::Types::Check.object(
39
- ACP::Types::Check.key(hash, 'position'),
40
- 'position',
41
- ACP::Types::Unstable::Position
42
- ),
43
- meta: hash['_meta']
44
- )
45
- end
46
-
47
- # @rbs return: Hash[String, untyped]
48
- def to_h
49
- { 'id' => id, 'uri' => uri, 'position' => position.to_h, '_meta' => meta }.compact
50
- end
51
- end
9
+ ACP::Types::Unstable::NesJumpSuggestion = ACP::Types::Unstable::NesSuggestion::Jump