acp-sdk 0.1.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 (421) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/LICENSE.txt +9 -0
  4. data/README.md +81 -0
  5. data/lib/acp/agent_connection/client.rb +39 -0
  6. data/lib/acp/agent_connection/optional_method.rb +28 -0
  7. data/lib/acp/agent_connection.rb +122 -0
  8. data/lib/acp/client_connection.rb +129 -0
  9. data/lib/acp/sdk.rb +13 -0
  10. data/lib/acp/transport/reply.rb +20 -0
  11. data/lib/acp/transport/response_error.rb +28 -0
  12. data/lib/acp/transport/result.rb +35 -0
  13. data/lib/acp/transport/stdio.rb +207 -0
  14. data/lib/acp/transport.rb +4 -0
  15. data/lib/acp/types/agent_auth_capabilities.rb +31 -0
  16. data/lib/acp/types/agent_capabilities.rb +72 -0
  17. data/lib/acp/types/annotations.rb +46 -0
  18. data/lib/acp/types/audio_content.rb +46 -0
  19. data/lib/acp/types/auth_capabilities.rb +31 -0
  20. data/lib/acp/types/auth_method/terminal.rb +66 -0
  21. data/lib/acp/types/auth_method.rb +20 -0
  22. data/lib/acp/types/auth_method_agent.rb +41 -0
  23. data/lib/acp/types/auth_method_terminal.rb +58 -0
  24. data/lib/acp/types/authenticate_request.rb +31 -0
  25. data/lib/acp/types/authenticate_response.rb +26 -0
  26. data/lib/acp/types/available_command.rb +46 -0
  27. data/lib/acp/types/available_command_input.rb +19 -0
  28. data/lib/acp/types/available_commands_update.rb +34 -0
  29. data/lib/acp/types/blob_resource_contents.rb +41 -0
  30. data/lib/acp/types/boolean_config_option_capabilities.rb +26 -0
  31. data/lib/acp/types/boolean_property_schema.rb +41 -0
  32. data/lib/acp/types/cancel_notification.rb +31 -0
  33. data/lib/acp/types/cancel_request_notification.rb +31 -0
  34. data/lib/acp/types/client_capabilities.rb +65 -0
  35. data/lib/acp/types/client_session_capabilities.rb +36 -0
  36. data/lib/acp/types/close_session_request.rb +31 -0
  37. data/lib/acp/types/close_session_response.rb +26 -0
  38. data/lib/acp/types/complete_elicitation_notification.rb +31 -0
  39. data/lib/acp/types/config_option_update.rb +34 -0
  40. data/lib/acp/types/content.rb +31 -0
  41. data/lib/acp/types/content_block/audio.rb +52 -0
  42. data/lib/acp/types/content_block/image.rb +59 -0
  43. data/lib/acp/types/content_block/resource.rb +40 -0
  44. data/lib/acp/types/content_block/resource_link.rb +80 -0
  45. data/lib/acp/types/content_block/text.rb +40 -0
  46. data/lib/acp/types/content_block.rb +26 -0
  47. data/lib/acp/types/content_chunk.rb +40 -0
  48. data/lib/acp/types/cost.rb +36 -0
  49. data/lib/acp/types/create_elicitation_request/mode/form.rb +34 -0
  50. data/lib/acp/types/create_elicitation_request/mode/url.rb +40 -0
  51. data/lib/acp/types/create_elicitation_request/mode.rb +20 -0
  52. data/lib/acp/types/create_elicitation_request.rb +40 -0
  53. data/lib/acp/types/create_elicitation_response/action/accept.rb +26 -0
  54. data/lib/acp/types/create_elicitation_response/action/cancel.rb +21 -0
  55. data/lib/acp/types/create_elicitation_response/action/decline.rb +21 -0
  56. data/lib/acp/types/create_elicitation_response/action.rb +22 -0
  57. data/lib/acp/types/create_elicitation_response.rb +31 -0
  58. data/lib/acp/types/create_terminal_request.rb +72 -0
  59. data/lib/acp/types/create_terminal_response.rb +31 -0
  60. data/lib/acp/types/current_mode_update.rb +31 -0
  61. data/lib/acp/types/delete_session_request.rb +31 -0
  62. data/lib/acp/types/delete_session_response.rb +26 -0
  63. data/lib/acp/types/diff.rb +41 -0
  64. data/lib/acp/types/elicitation_accept_action.rb +26 -0
  65. data/lib/acp/types/elicitation_capabilities.rb +40 -0
  66. data/lib/acp/types/elicitation_form_capabilities.rb +26 -0
  67. data/lib/acp/types/elicitation_form_mode/scope.rb +22 -0
  68. data/lib/acp/types/elicitation_form_mode.rb +34 -0
  69. data/lib/acp/types/elicitation_property_schema/boolean_property_schema.rb +47 -0
  70. data/lib/acp/types/elicitation_property_schema/integer_property_schema.rb +66 -0
  71. data/lib/acp/types/elicitation_property_schema/multi_select_property_schema.rb +73 -0
  72. data/lib/acp/types/elicitation_property_schema/number_property_schema.rb +66 -0
  73. data/lib/acp/types/elicitation_property_schema/string_property_schema.rb +105 -0
  74. data/lib/acp/types/elicitation_property_schema.rb +26 -0
  75. data/lib/acp/types/elicitation_request_scope.rb +26 -0
  76. data/lib/acp/types/elicitation_schema.rb +65 -0
  77. data/lib/acp/types/elicitation_schema_type.rb +7 -0
  78. data/lib/acp/types/elicitation_session_scope.rb +31 -0
  79. data/lib/acp/types/elicitation_url_capabilities.rb +26 -0
  80. data/lib/acp/types/elicitation_url_mode/scope.rb +22 -0
  81. data/lib/acp/types/elicitation_url_mode.rb +40 -0
  82. data/lib/acp/types/embedded_resource.rb +40 -0
  83. data/lib/acp/types/embedded_resource_resource.rb +22 -0
  84. data/lib/acp/types/enum_option.rb +41 -0
  85. data/lib/acp/types/env_variable.rb +36 -0
  86. data/lib/acp/types/file_system_capabilities.rb +36 -0
  87. data/lib/acp/types/http_header.rb +36 -0
  88. data/lib/acp/types/image_content.rb +58 -0
  89. data/lib/acp/types/implementation.rb +41 -0
  90. data/lib/acp/types/initialize_request.rb +51 -0
  91. data/lib/acp/types/initialize_response.rb +58 -0
  92. data/lib/acp/types/integer_property_schema.rb +65 -0
  93. data/lib/acp/types/kill_terminal_request.rb +36 -0
  94. data/lib/acp/types/kill_terminal_response.rb +26 -0
  95. data/lib/acp/types/list_sessions_request.rb +36 -0
  96. data/lib/acp/types/list_sessions_response.rb +40 -0
  97. data/lib/acp/types/load_session_request.rb +58 -0
  98. data/lib/acp/types/load_session_response.rb +40 -0
  99. data/lib/acp/types/logout_capabilities.rb +26 -0
  100. data/lib/acp/types/logout_request.rb +26 -0
  101. data/lib/acp/types/logout_response.rb +26 -0
  102. data/lib/acp/types/mcp_capabilities.rb +36 -0
  103. data/lib/acp/types/mcp_server/http.rb +46 -0
  104. data/lib/acp/types/mcp_server/sse.rb +46 -0
  105. data/lib/acp/types/mcp_server.rb +22 -0
  106. data/lib/acp/types/mcp_server_http.rb +46 -0
  107. data/lib/acp/types/mcp_server_sse.rb +46 -0
  108. data/lib/acp/types/mcp_server_stdio.rb +52 -0
  109. data/lib/acp/types/multi_select_items/string_multi_select_items.rb +31 -0
  110. data/lib/acp/types/multi_select_items.rb +20 -0
  111. data/lib/acp/types/multi_select_property_schema.rb +72 -0
  112. data/lib/acp/types/new_session_request.rb +51 -0
  113. data/lib/acp/types/new_session_response.rb +51 -0
  114. data/lib/acp/types/number_property_schema.rb +65 -0
  115. data/lib/acp/types/permission_option.rb +41 -0
  116. data/lib/acp/types/permission_option_kind.rb +10 -0
  117. data/lib/acp/types/plan.rb +31 -0
  118. data/lib/acp/types/plan_entry.rb +46 -0
  119. data/lib/acp/types/plan_entry_priority.rb +9 -0
  120. data/lib/acp/types/plan_entry_status.rb +9 -0
  121. data/lib/acp/types/prompt_capabilities.rb +41 -0
  122. data/lib/acp/types/prompt_request.rb +40 -0
  123. data/lib/acp/types/prompt_response.rb +31 -0
  124. data/lib/acp/types/read_text_file_request.rb +52 -0
  125. data/lib/acp/types/read_text_file_response.rb +31 -0
  126. data/lib/acp/types/release_terminal_request.rb +36 -0
  127. data/lib/acp/types/release_terminal_response.rb +26 -0
  128. data/lib/acp/types/request_permission_outcome/cancelled.rb +21 -0
  129. data/lib/acp/types/request_permission_outcome/selected.rb +31 -0
  130. data/lib/acp/types/request_permission_outcome.rb +20 -0
  131. data/lib/acp/types/request_permission_request.rb +51 -0
  132. data/lib/acp/types/request_permission_response.rb +31 -0
  133. data/lib/acp/types/resource_link.rb +79 -0
  134. data/lib/acp/types/resume_session_request.rb +58 -0
  135. data/lib/acp/types/resume_session_response.rb +40 -0
  136. data/lib/acp/types/role.rb +8 -0
  137. data/lib/acp/types/selected_permission_outcome.rb +31 -0
  138. data/lib/acp/types/session_additional_directories_capabilities.rb +26 -0
  139. data/lib/acp/types/session_capabilities.rb +67 -0
  140. data/lib/acp/types/session_close_capabilities.rb +26 -0
  141. data/lib/acp/types/session_config_boolean.rb +26 -0
  142. data/lib/acp/types/session_config_option/kind/boolean.rb +26 -0
  143. data/lib/acp/types/session_config_option/kind/select.rb +34 -0
  144. data/lib/acp/types/session_config_option/kind.rb +20 -0
  145. data/lib/acp/types/session_config_option.rb +64 -0
  146. data/lib/acp/types/session_config_option_category.rb +10 -0
  147. data/lib/acp/types/session_config_options_capabilities.rb +34 -0
  148. data/lib/acp/types/session_config_select.rb +34 -0
  149. data/lib/acp/types/session_config_select_group.rb +46 -0
  150. data/lib/acp/types/session_config_select_option.rb +41 -0
  151. data/lib/acp/types/session_config_select_options.rb +22 -0
  152. data/lib/acp/types/session_delete_capabilities.rb +26 -0
  153. data/lib/acp/types/session_info.rb +65 -0
  154. data/lib/acp/types/session_info_update.rb +38 -0
  155. data/lib/acp/types/session_list_capabilities.rb +26 -0
  156. data/lib/acp/types/session_list_request.rb +8 -0
  157. data/lib/acp/types/session_list_response.rb +8 -0
  158. data/lib/acp/types/session_load_request.rb +8 -0
  159. data/lib/acp/types/session_mode.rb +41 -0
  160. data/lib/acp/types/session_mode_state.rb +40 -0
  161. data/lib/acp/types/session_new_request.rb +8 -0
  162. data/lib/acp/types/session_notification.rb +40 -0
  163. data/lib/acp/types/session_prompt_request.rb +8 -0
  164. data/lib/acp/types/session_resume_capabilities.rb +26 -0
  165. data/lib/acp/types/session_update/agent_message_chunk.rb +45 -0
  166. data/lib/acp/types/session_update/agent_thought_chunk.rb +45 -0
  167. data/lib/acp/types/session_update/available_commands_update.rb +38 -0
  168. data/lib/acp/types/session_update/config_option_update.rb +38 -0
  169. data/lib/acp/types/session_update/current_mode_update.rb +31 -0
  170. data/lib/acp/types/session_update/plan.rb +31 -0
  171. data/lib/acp/types/session_update/session_info_update.rb +39 -0
  172. data/lib/acp/types/session_update/tool_call.rb +97 -0
  173. data/lib/acp/types/session_update/tool_call_update.rb +97 -0
  174. data/lib/acp/types/session_update/usage_update.rb +46 -0
  175. data/lib/acp/types/session_update/user_message_chunk.rb +45 -0
  176. data/lib/acp/types/session_update.rb +38 -0
  177. data/lib/acp/types/set_session_config_option_request/value/boolean.rb +26 -0
  178. data/lib/acp/types/set_session_config_option_request/value/value_id.rb +26 -0
  179. data/lib/acp/types/set_session_config_option_request/value.rb +20 -0
  180. data/lib/acp/types/set_session_config_option_request.rb +46 -0
  181. data/lib/acp/types/set_session_config_option_response.rb +34 -0
  182. data/lib/acp/types/set_session_mode_request.rb +36 -0
  183. data/lib/acp/types/set_session_mode_response.rb +26 -0
  184. data/lib/acp/types/stop_reason.rb +11 -0
  185. data/lib/acp/types/string_format.rb +10 -0
  186. data/lib/acp/types/string_multi_select_items.rb +31 -0
  187. data/lib/acp/types/string_property_schema.rb +104 -0
  188. data/lib/acp/types/terminal.rb +31 -0
  189. data/lib/acp/types/terminal_exit_status.rb +36 -0
  190. data/lib/acp/types/terminal_output_request.rb +36 -0
  191. data/lib/acp/types/terminal_output_response.rb +46 -0
  192. data/lib/acp/types/text_content.rb +40 -0
  193. data/lib/acp/types/text_resource_contents.rb +41 -0
  194. data/lib/acp/types/titled_multi_select_items.rb +31 -0
  195. data/lib/acp/types/tool_call.rb +96 -0
  196. data/lib/acp/types/tool_call_content/content.rb +31 -0
  197. data/lib/acp/types/tool_call_content/diff.rb +41 -0
  198. data/lib/acp/types/tool_call_content/terminal.rb +31 -0
  199. data/lib/acp/types/tool_call_content.rb +22 -0
  200. data/lib/acp/types/tool_call_location.rb +36 -0
  201. data/lib/acp/types/tool_call_status.rb +10 -0
  202. data/lib/acp/types/tool_call_update.rb +96 -0
  203. data/lib/acp/types/tool_kind.rb +16 -0
  204. data/lib/acp/types/unstructured_command_input.rb +31 -0
  205. data/lib/acp/types/usage_update.rb +46 -0
  206. data/lib/acp/types/wait_for_terminal_exit_request.rb +36 -0
  207. data/lib/acp/types/wait_for_terminal_exit_response.rb +36 -0
  208. data/lib/acp/types/write_text_file_request.rb +46 -0
  209. data/lib/acp/types/write_text_file_response.rb +26 -0
  210. data/lib/acp/version.rb +5 -0
  211. data/sig/generated/acp/agent_connection/client.rbs +29 -0
  212. data/sig/generated/acp/agent_connection/optional_method.rbs +21 -0
  213. data/sig/generated/acp/agent_connection.rbs +65 -0
  214. data/sig/generated/acp/client_connection.rbs +82 -0
  215. data/sig/generated/acp/sdk.rbs +2 -0
  216. data/sig/generated/acp/transport/reply.rbs +16 -0
  217. data/sig/generated/acp/transport/response_error.rbs +21 -0
  218. data/sig/generated/acp/transport/result.rbs +25 -0
  219. data/sig/generated/acp/transport/stdio.rbs +116 -0
  220. data/sig/generated/acp/transport.rbs +4 -0
  221. data/sig/generated/acp/types/agent_auth_capabilities.rbs +21 -0
  222. data/sig/generated/acp/types/agent_capabilities.rbs +37 -0
  223. data/sig/generated/acp/types/annotations.rbs +29 -0
  224. data/sig/generated/acp/types/audio_content.rbs +29 -0
  225. data/sig/generated/acp/types/auth_capabilities.rbs +21 -0
  226. data/sig/generated/acp/types/auth_method/terminal.rbs +37 -0
  227. data/sig/generated/acp/types/auth_method.rbs +9 -0
  228. data/sig/generated/acp/types/auth_method_agent.rbs +29 -0
  229. data/sig/generated/acp/types/auth_method_terminal.rbs +37 -0
  230. data/sig/generated/acp/types/authenticate_request.rbs +21 -0
  231. data/sig/generated/acp/types/authenticate_response.rbs +17 -0
  232. data/sig/generated/acp/types/available_command.rbs +29 -0
  233. data/sig/generated/acp/types/available_command_input.rbs +9 -0
  234. data/sig/generated/acp/types/available_commands_update.rbs +21 -0
  235. data/sig/generated/acp/types/blob_resource_contents.rbs +29 -0
  236. data/sig/generated/acp/types/boolean_config_option_capabilities.rbs +17 -0
  237. data/sig/generated/acp/types/boolean_property_schema.rbs +29 -0
  238. data/sig/generated/acp/types/cancel_notification.rbs +21 -0
  239. data/sig/generated/acp/types/cancel_request_notification.rbs +21 -0
  240. data/sig/generated/acp/types/client_capabilities.rbs +37 -0
  241. data/sig/generated/acp/types/client_session_capabilities.rbs +21 -0
  242. data/sig/generated/acp/types/close_session_request.rbs +21 -0
  243. data/sig/generated/acp/types/close_session_response.rbs +17 -0
  244. data/sig/generated/acp/types/complete_elicitation_notification.rbs +21 -0
  245. data/sig/generated/acp/types/config_option_update.rbs +21 -0
  246. data/sig/generated/acp/types/content.rbs +21 -0
  247. data/sig/generated/acp/types/content_block/audio.rbs +29 -0
  248. data/sig/generated/acp/types/content_block/image.rbs +33 -0
  249. data/sig/generated/acp/types/content_block/resource.rbs +25 -0
  250. data/sig/generated/acp/types/content_block/resource_link.rbs +45 -0
  251. data/sig/generated/acp/types/content_block/text.rbs +25 -0
  252. data/sig/generated/acp/types/content_block.rbs +9 -0
  253. data/sig/generated/acp/types/content_chunk.rbs +25 -0
  254. data/sig/generated/acp/types/cost.rbs +25 -0
  255. data/sig/generated/acp/types/create_elicitation_request/mode/form.rbs +21 -0
  256. data/sig/generated/acp/types/create_elicitation_request/mode/url.rbs +25 -0
  257. data/sig/generated/acp/types/create_elicitation_request/mode.rbs +9 -0
  258. data/sig/generated/acp/types/create_elicitation_request.rbs +25 -0
  259. data/sig/generated/acp/types/create_elicitation_response/action/accept.rbs +17 -0
  260. data/sig/generated/acp/types/create_elicitation_response/action/cancel.rbs +13 -0
  261. data/sig/generated/acp/types/create_elicitation_response/action/decline.rbs +13 -0
  262. data/sig/generated/acp/types/create_elicitation_response/action.rbs +9 -0
  263. data/sig/generated/acp/types/create_elicitation_response.rbs +21 -0
  264. data/sig/generated/acp/types/create_terminal_request.rbs +41 -0
  265. data/sig/generated/acp/types/create_terminal_response.rbs +21 -0
  266. data/sig/generated/acp/types/current_mode_update.rbs +21 -0
  267. data/sig/generated/acp/types/delete_session_request.rbs +21 -0
  268. data/sig/generated/acp/types/delete_session_response.rbs +17 -0
  269. data/sig/generated/acp/types/diff.rbs +29 -0
  270. data/sig/generated/acp/types/elicitation_accept_action.rbs +17 -0
  271. data/sig/generated/acp/types/elicitation_capabilities.rbs +25 -0
  272. data/sig/generated/acp/types/elicitation_form_capabilities.rbs +17 -0
  273. data/sig/generated/acp/types/elicitation_form_mode/scope.rbs +9 -0
  274. data/sig/generated/acp/types/elicitation_form_mode.rbs +21 -0
  275. data/sig/generated/acp/types/elicitation_property_schema/boolean_property_schema.rbs +29 -0
  276. data/sig/generated/acp/types/elicitation_property_schema/integer_property_schema.rbs +37 -0
  277. data/sig/generated/acp/types/elicitation_property_schema/multi_select_property_schema.rbs +41 -0
  278. data/sig/generated/acp/types/elicitation_property_schema/number_property_schema.rbs +37 -0
  279. data/sig/generated/acp/types/elicitation_property_schema/string_property_schema.rbs +53 -0
  280. data/sig/generated/acp/types/elicitation_property_schema.rbs +9 -0
  281. data/sig/generated/acp/types/elicitation_request_scope.rbs +17 -0
  282. data/sig/generated/acp/types/elicitation_schema.rbs +37 -0
  283. data/sig/generated/acp/types/elicitation_schema_type.rbs +5 -0
  284. data/sig/generated/acp/types/elicitation_session_scope.rbs +21 -0
  285. data/sig/generated/acp/types/elicitation_url_capabilities.rbs +17 -0
  286. data/sig/generated/acp/types/elicitation_url_mode/scope.rbs +9 -0
  287. data/sig/generated/acp/types/elicitation_url_mode.rbs +25 -0
  288. data/sig/generated/acp/types/embedded_resource.rbs +25 -0
  289. data/sig/generated/acp/types/embedded_resource_resource.rbs +9 -0
  290. data/sig/generated/acp/types/enum_option.rbs +29 -0
  291. data/sig/generated/acp/types/env_variable.rbs +25 -0
  292. data/sig/generated/acp/types/file_system_capabilities.rbs +25 -0
  293. data/sig/generated/acp/types/http_header.rbs +25 -0
  294. data/sig/generated/acp/types/image_content.rbs +33 -0
  295. data/sig/generated/acp/types/implementation.rbs +29 -0
  296. data/sig/generated/acp/types/initialize_request.rbs +29 -0
  297. data/sig/generated/acp/types/initialize_response.rbs +33 -0
  298. data/sig/generated/acp/types/integer_property_schema.rbs +37 -0
  299. data/sig/generated/acp/types/kill_terminal_request.rbs +25 -0
  300. data/sig/generated/acp/types/kill_terminal_response.rbs +17 -0
  301. data/sig/generated/acp/types/list_sessions_request.rbs +25 -0
  302. data/sig/generated/acp/types/list_sessions_response.rbs +25 -0
  303. data/sig/generated/acp/types/load_session_request.rbs +33 -0
  304. data/sig/generated/acp/types/load_session_response.rbs +25 -0
  305. data/sig/generated/acp/types/logout_capabilities.rbs +17 -0
  306. data/sig/generated/acp/types/logout_request.rbs +17 -0
  307. data/sig/generated/acp/types/logout_response.rbs +17 -0
  308. data/sig/generated/acp/types/mcp_capabilities.rbs +25 -0
  309. data/sig/generated/acp/types/mcp_server/http.rbs +29 -0
  310. data/sig/generated/acp/types/mcp_server/sse.rbs +29 -0
  311. data/sig/generated/acp/types/mcp_server.rbs +9 -0
  312. data/sig/generated/acp/types/mcp_server_http.rbs +29 -0
  313. data/sig/generated/acp/types/mcp_server_sse.rbs +29 -0
  314. data/sig/generated/acp/types/mcp_server_stdio.rbs +33 -0
  315. data/sig/generated/acp/types/multi_select_items/string_multi_select_items.rbs +21 -0
  316. data/sig/generated/acp/types/multi_select_items.rbs +9 -0
  317. data/sig/generated/acp/types/multi_select_property_schema.rbs +41 -0
  318. data/sig/generated/acp/types/new_session_request.rbs +29 -0
  319. data/sig/generated/acp/types/new_session_response.rbs +29 -0
  320. data/sig/generated/acp/types/number_property_schema.rbs +37 -0
  321. data/sig/generated/acp/types/permission_option.rbs +29 -0
  322. data/sig/generated/acp/types/permission_option_kind.rbs +11 -0
  323. data/sig/generated/acp/types/plan.rbs +21 -0
  324. data/sig/generated/acp/types/plan_entry.rbs +29 -0
  325. data/sig/generated/acp/types/plan_entry_priority.rbs +9 -0
  326. data/sig/generated/acp/types/plan_entry_status.rbs +9 -0
  327. data/sig/generated/acp/types/prompt_capabilities.rbs +29 -0
  328. data/sig/generated/acp/types/prompt_request.rbs +25 -0
  329. data/sig/generated/acp/types/prompt_response.rbs +21 -0
  330. data/sig/generated/acp/types/read_text_file_request.rbs +33 -0
  331. data/sig/generated/acp/types/read_text_file_response.rbs +21 -0
  332. data/sig/generated/acp/types/release_terminal_request.rbs +25 -0
  333. data/sig/generated/acp/types/release_terminal_response.rbs +17 -0
  334. data/sig/generated/acp/types/request_permission_outcome/cancelled.rbs +13 -0
  335. data/sig/generated/acp/types/request_permission_outcome/selected.rbs +21 -0
  336. data/sig/generated/acp/types/request_permission_outcome.rbs +9 -0
  337. data/sig/generated/acp/types/request_permission_request.rbs +29 -0
  338. data/sig/generated/acp/types/request_permission_response.rbs +21 -0
  339. data/sig/generated/acp/types/resource_link.rbs +45 -0
  340. data/sig/generated/acp/types/resume_session_request.rbs +33 -0
  341. data/sig/generated/acp/types/resume_session_response.rbs +25 -0
  342. data/sig/generated/acp/types/role.rbs +7 -0
  343. data/sig/generated/acp/types/selected_permission_outcome.rbs +21 -0
  344. data/sig/generated/acp/types/session_additional_directories_capabilities.rbs +17 -0
  345. data/sig/generated/acp/types/session_capabilities.rbs +37 -0
  346. data/sig/generated/acp/types/session_close_capabilities.rbs +17 -0
  347. data/sig/generated/acp/types/session_config_boolean.rbs +17 -0
  348. data/sig/generated/acp/types/session_config_option/kind/boolean.rbs +17 -0
  349. data/sig/generated/acp/types/session_config_option/kind/select.rbs +21 -0
  350. data/sig/generated/acp/types/session_config_option/kind.rbs +9 -0
  351. data/sig/generated/acp/types/session_config_option.rbs +37 -0
  352. data/sig/generated/acp/types/session_config_option_category.rbs +11 -0
  353. data/sig/generated/acp/types/session_config_options_capabilities.rbs +21 -0
  354. data/sig/generated/acp/types/session_config_select.rbs +21 -0
  355. data/sig/generated/acp/types/session_config_select_group.rbs +29 -0
  356. data/sig/generated/acp/types/session_config_select_option.rbs +29 -0
  357. data/sig/generated/acp/types/session_config_select_options.rbs +9 -0
  358. data/sig/generated/acp/types/session_delete_capabilities.rbs +17 -0
  359. data/sig/generated/acp/types/session_info.rbs +37 -0
  360. data/sig/generated/acp/types/session_info_update.rbs +25 -0
  361. data/sig/generated/acp/types/session_list_capabilities.rbs +17 -0
  362. data/sig/generated/acp/types/session_list_request.rbs +3 -0
  363. data/sig/generated/acp/types/session_list_response.rbs +3 -0
  364. data/sig/generated/acp/types/session_load_request.rbs +3 -0
  365. data/sig/generated/acp/types/session_mode.rbs +29 -0
  366. data/sig/generated/acp/types/session_mode_state.rbs +25 -0
  367. data/sig/generated/acp/types/session_new_request.rbs +3 -0
  368. data/sig/generated/acp/types/session_notification.rbs +25 -0
  369. data/sig/generated/acp/types/session_prompt_request.rbs +3 -0
  370. data/sig/generated/acp/types/session_resume_capabilities.rbs +17 -0
  371. data/sig/generated/acp/types/session_update/agent_message_chunk.rbs +25 -0
  372. data/sig/generated/acp/types/session_update/agent_thought_chunk.rbs +25 -0
  373. data/sig/generated/acp/types/session_update/available_commands_update.rbs +21 -0
  374. data/sig/generated/acp/types/session_update/config_option_update.rbs +21 -0
  375. data/sig/generated/acp/types/session_update/current_mode_update.rbs +21 -0
  376. data/sig/generated/acp/types/session_update/plan.rbs +21 -0
  377. data/sig/generated/acp/types/session_update/session_info_update.rbs +25 -0
  378. data/sig/generated/acp/types/session_update/tool_call.rbs +49 -0
  379. data/sig/generated/acp/types/session_update/tool_call_update.rbs +49 -0
  380. data/sig/generated/acp/types/session_update/usage_update.rbs +29 -0
  381. data/sig/generated/acp/types/session_update/user_message_chunk.rbs +25 -0
  382. data/sig/generated/acp/types/session_update.rbs +9 -0
  383. data/sig/generated/acp/types/set_session_config_option_request/value/boolean.rbs +17 -0
  384. data/sig/generated/acp/types/set_session_config_option_request/value/value_id.rbs +17 -0
  385. data/sig/generated/acp/types/set_session_config_option_request/value.rbs +9 -0
  386. data/sig/generated/acp/types/set_session_config_option_request.rbs +29 -0
  387. data/sig/generated/acp/types/set_session_config_option_response.rbs +21 -0
  388. data/sig/generated/acp/types/set_session_mode_request.rbs +25 -0
  389. data/sig/generated/acp/types/set_session_mode_response.rbs +17 -0
  390. data/sig/generated/acp/types/stop_reason.rbs +13 -0
  391. data/sig/generated/acp/types/string_format.rbs +11 -0
  392. data/sig/generated/acp/types/string_multi_select_items.rbs +21 -0
  393. data/sig/generated/acp/types/string_property_schema.rbs +53 -0
  394. data/sig/generated/acp/types/terminal.rbs +21 -0
  395. data/sig/generated/acp/types/terminal_exit_status.rbs +25 -0
  396. data/sig/generated/acp/types/terminal_output_request.rbs +25 -0
  397. data/sig/generated/acp/types/terminal_output_response.rbs +29 -0
  398. data/sig/generated/acp/types/text_content.rbs +25 -0
  399. data/sig/generated/acp/types/text_resource_contents.rbs +29 -0
  400. data/sig/generated/acp/types/titled_multi_select_items.rbs +21 -0
  401. data/sig/generated/acp/types/tool_call.rbs +49 -0
  402. data/sig/generated/acp/types/tool_call_content/content.rbs +21 -0
  403. data/sig/generated/acp/types/tool_call_content/diff.rbs +29 -0
  404. data/sig/generated/acp/types/tool_call_content/terminal.rbs +21 -0
  405. data/sig/generated/acp/types/tool_call_content.rbs +9 -0
  406. data/sig/generated/acp/types/tool_call_location.rbs +25 -0
  407. data/sig/generated/acp/types/tool_call_status.rbs +11 -0
  408. data/sig/generated/acp/types/tool_call_update.rbs +49 -0
  409. data/sig/generated/acp/types/tool_kind.rbs +23 -0
  410. data/sig/generated/acp/types/unstructured_command_input.rbs +21 -0
  411. data/sig/generated/acp/types/usage_update.rbs +29 -0
  412. data/sig/generated/acp/types/wait_for_terminal_exit_request.rbs +25 -0
  413. data/sig/generated/acp/types/wait_for_terminal_exit_response.rbs +25 -0
  414. data/sig/generated/acp/types/write_text_file_request.rbs +29 -0
  415. data/sig/generated/acp/types/write_text_file_response.rbs +17 -0
  416. data/sig/generated/acp/version.rbs +5 -0
  417. data/sig/manual/acp/agent_connection.rbs +52 -0
  418. data/sig/manual/acp/client_connection.rbs +13 -0
  419. data/sig/manual/acp/transport/stdio.rbs +18 -0
  420. data/sig/manual/acp/types.rbs +2 -0
  421. metadata +477 -0
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::ListSessionsRequest
6
+ # @dynamic cwd
7
+ attr_reader :cwd #: String?
8
+
9
+ # @dynamic cursor
10
+ attr_reader :cursor #: String?
11
+
12
+ # @dynamic meta
13
+ attr_reader :meta #: Hash[String, untyped]?
14
+
15
+ # @rbs cwd: String?
16
+ # @rbs cursor: String?
17
+ # @rbs meta: Hash[String, untyped]?
18
+ # @rbs return: void
19
+ def initialize(cwd: nil, cursor: nil, meta: nil)
20
+ @cwd = cwd
21
+ @cursor = cursor
22
+ @meta = meta
23
+ freeze
24
+ end
25
+
26
+ # @rbs hash: Hash[String, untyped]
27
+ # @rbs return: ACP::Types::ListSessionsRequest
28
+ def self.from_h(hash)
29
+ new(cwd: hash['cwd'], cursor: hash['cursor'], meta: hash['_meta'])
30
+ end
31
+
32
+ # @rbs return: Hash[String, untyped]
33
+ def to_h
34
+ { 'cwd' => cwd, 'cursor' => cursor, '_meta' => meta }.compact
35
+ end
36
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::ListSessionsResponse
6
+ # @dynamic sessions
7
+ attr_reader :sessions #: Array[ACP::Types::SessionInfo]
8
+
9
+ # @dynamic next_cursor
10
+ attr_reader :next_cursor #: String?
11
+
12
+ # @dynamic meta
13
+ attr_reader :meta #: Hash[String, untyped]?
14
+
15
+ # @rbs sessions: Array[ACP::Types::SessionInfo]
16
+ # @rbs next_cursor: String?
17
+ # @rbs meta: Hash[String, untyped]?
18
+ # @rbs return: void
19
+ def initialize(sessions:, next_cursor: nil, meta: nil)
20
+ @sessions = sessions
21
+ @next_cursor = next_cursor
22
+ @meta = meta
23
+ freeze
24
+ end
25
+
26
+ # @rbs hash: Hash[String, untyped]
27
+ # @rbs return: ACP::Types::ListSessionsResponse
28
+ def self.from_h(hash)
29
+ new(
30
+ sessions: hash.fetch('sessions').map { |item| ACP::Types::SessionInfo.from_h(item) },
31
+ next_cursor: hash['nextCursor'],
32
+ meta: hash['_meta']
33
+ )
34
+ end
35
+
36
+ # @rbs return: Hash[String, untyped]
37
+ def to_h
38
+ { 'sessions' => sessions.map(&:to_h), 'nextCursor' => next_cursor, '_meta' => meta }.compact
39
+ end
40
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::LoadSessionRequest
6
+ # @dynamic mcp_servers
7
+ attr_reader :mcp_servers #: Array[ACP::Types::McpServer::t]
8
+
9
+ # @dynamic cwd
10
+ attr_reader :cwd #: String
11
+
12
+ # @dynamic additional_directories
13
+ attr_reader :additional_directories #: Array[String]?
14
+
15
+ # @dynamic session_id
16
+ attr_reader :session_id #: String
17
+
18
+ # @dynamic meta
19
+ attr_reader :meta #: Hash[String, untyped]?
20
+
21
+ # @rbs mcp_servers: Array[ACP::Types::McpServer::t]
22
+ # @rbs cwd: String
23
+ # @rbs additional_directories: Array[String]?
24
+ # @rbs session_id: String
25
+ # @rbs meta: Hash[String, untyped]?
26
+ # @rbs return: void
27
+ def initialize(mcp_servers:, cwd:, session_id:, additional_directories: nil, meta: nil)
28
+ @mcp_servers = mcp_servers
29
+ @cwd = cwd
30
+ @additional_directories = additional_directories
31
+ @session_id = session_id
32
+ @meta = meta
33
+ freeze
34
+ end
35
+
36
+ # @rbs hash: Hash[String, untyped]
37
+ # @rbs return: ACP::Types::LoadSessionRequest
38
+ def self.from_h(hash)
39
+ new(
40
+ mcp_servers: hash.fetch('mcpServers').map { |item| ACP::Types::McpServer.from_h(item) },
41
+ cwd: hash.fetch('cwd'),
42
+ additional_directories: hash['additionalDirectories'],
43
+ session_id: hash.fetch('sessionId'),
44
+ meta: hash['_meta']
45
+ )
46
+ end
47
+
48
+ # @rbs return: Hash[String, untyped]
49
+ def to_h
50
+ {
51
+ 'mcpServers' => mcp_servers.map(&:to_h),
52
+ 'cwd' => cwd,
53
+ 'sessionId' => session_id,
54
+ 'additionalDirectories' => additional_directories,
55
+ '_meta' => meta
56
+ }.compact
57
+ end
58
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::LoadSessionResponse
6
+ # @dynamic modes
7
+ attr_reader :modes #: ACP::Types::SessionModeState?
8
+
9
+ # @dynamic config_options
10
+ attr_reader :config_options #: Array[ACP::Types::SessionConfigOption]?
11
+
12
+ # @dynamic meta
13
+ attr_reader :meta #: Hash[String, untyped]?
14
+
15
+ # @rbs modes: ACP::Types::SessionModeState?
16
+ # @rbs config_options: Array[ACP::Types::SessionConfigOption]?
17
+ # @rbs meta: Hash[String, untyped]?
18
+ # @rbs return: void
19
+ def initialize(modes: nil, config_options: nil, meta: nil)
20
+ @modes = modes
21
+ @config_options = config_options
22
+ @meta = meta
23
+ freeze
24
+ end
25
+
26
+ # @rbs hash: Hash[String, untyped]
27
+ # @rbs return: ACP::Types::LoadSessionResponse
28
+ def self.from_h(hash)
29
+ new(
30
+ modes: hash['modes']&.then { |value| ACP::Types::SessionModeState.from_h(value) },
31
+ config_options: hash['configOptions']&.map { |item| ACP::Types::SessionConfigOption.from_h(item) },
32
+ meta: hash['_meta']
33
+ )
34
+ end
35
+
36
+ # @rbs return: Hash[String, untyped]
37
+ def to_h
38
+ { 'modes' => modes&.to_h, 'configOptions' => config_options&.map(&:to_h), '_meta' => meta }.compact
39
+ end
40
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::LogoutCapabilities
6
+ # @dynamic meta
7
+ attr_reader :meta #: Hash[String, untyped]?
8
+
9
+ # @rbs meta: Hash[String, untyped]?
10
+ # @rbs return: void
11
+ def initialize(meta: nil)
12
+ @meta = meta
13
+ freeze
14
+ end
15
+
16
+ # @rbs hash: Hash[String, untyped]
17
+ # @rbs return: ACP::Types::LogoutCapabilities
18
+ def self.from_h(hash)
19
+ new(meta: hash['_meta'])
20
+ end
21
+
22
+ # @rbs return: Hash[String, untyped]
23
+ def to_h
24
+ { '_meta' => meta }.compact
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::LogoutRequest
6
+ # @dynamic meta
7
+ attr_reader :meta #: Hash[String, untyped]?
8
+
9
+ # @rbs meta: Hash[String, untyped]?
10
+ # @rbs return: void
11
+ def initialize(meta: nil)
12
+ @meta = meta
13
+ freeze
14
+ end
15
+
16
+ # @rbs hash: Hash[String, untyped]
17
+ # @rbs return: ACP::Types::LogoutRequest
18
+ def self.from_h(hash)
19
+ new(meta: hash['_meta'])
20
+ end
21
+
22
+ # @rbs return: Hash[String, untyped]
23
+ def to_h
24
+ { '_meta' => meta }.compact
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::LogoutResponse
6
+ # @dynamic meta
7
+ attr_reader :meta #: Hash[String, untyped]?
8
+
9
+ # @rbs meta: Hash[String, untyped]?
10
+ # @rbs return: void
11
+ def initialize(meta: nil)
12
+ @meta = meta
13
+ freeze
14
+ end
15
+
16
+ # @rbs hash: Hash[String, untyped]
17
+ # @rbs return: ACP::Types::LogoutResponse
18
+ def self.from_h(hash)
19
+ new(meta: hash['_meta'])
20
+ end
21
+
22
+ # @rbs return: Hash[String, untyped]
23
+ def to_h
24
+ { '_meta' => meta }.compact
25
+ end
26
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpCapabilities
6
+ # @dynamic http
7
+ attr_reader :http #: bool?
8
+
9
+ # @dynamic sse
10
+ attr_reader :sse #: bool?
11
+
12
+ # @dynamic meta
13
+ attr_reader :meta #: Hash[String, untyped]?
14
+
15
+ # @rbs http: bool?
16
+ # @rbs sse: bool?
17
+ # @rbs meta: Hash[String, untyped]?
18
+ # @rbs return: void
19
+ def initialize(http: nil, sse: nil, meta: nil)
20
+ @http = http
21
+ @sse = sse
22
+ @meta = meta
23
+ freeze
24
+ end
25
+
26
+ # @rbs hash: Hash[String, untyped]
27
+ # @rbs return: ACP::Types::McpCapabilities
28
+ def self.from_h(hash)
29
+ new(http: hash['http'], sse: hash['sse'], meta: hash['_meta'])
30
+ end
31
+
32
+ # @rbs return: Hash[String, untyped]
33
+ def to_h
34
+ { 'http' => http, 'sse' => sse, '_meta' => meta }.compact
35
+ end
36
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpServer::Http
6
+ # @dynamic name
7
+ attr_reader :name #: String
8
+
9
+ # @dynamic url
10
+ attr_reader :url #: String
11
+
12
+ # @dynamic headers
13
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
14
+
15
+ # @dynamic meta
16
+ attr_reader :meta #: Hash[String, untyped]?
17
+
18
+ # @rbs name: String
19
+ # @rbs url: String
20
+ # @rbs headers: Array[ACP::Types::HttpHeader]
21
+ # @rbs meta: Hash[String, untyped]?
22
+ # @rbs return: void
23
+ def initialize(name:, url:, headers:, meta: nil)
24
+ @name = name
25
+ @url = url
26
+ @headers = headers
27
+ @meta = meta
28
+ freeze
29
+ end
30
+
31
+ # @rbs hash: Hash[String, untyped]
32
+ # @rbs return: ACP::Types::McpServer::Http
33
+ def self.from_h(hash)
34
+ new(
35
+ name: hash.fetch('name'),
36
+ url: hash.fetch('url'),
37
+ headers: hash.fetch('headers').map { |item| ACP::Types::HttpHeader.from_h(item) },
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ { 'type' => 'http', 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpServer::Sse
6
+ # @dynamic name
7
+ attr_reader :name #: String
8
+
9
+ # @dynamic url
10
+ attr_reader :url #: String
11
+
12
+ # @dynamic headers
13
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
14
+
15
+ # @dynamic meta
16
+ attr_reader :meta #: Hash[String, untyped]?
17
+
18
+ # @rbs name: String
19
+ # @rbs url: String
20
+ # @rbs headers: Array[ACP::Types::HttpHeader]
21
+ # @rbs meta: Hash[String, untyped]?
22
+ # @rbs return: void
23
+ def initialize(name:, url:, headers:, meta: nil)
24
+ @name = name
25
+ @url = url
26
+ @headers = headers
27
+ @meta = meta
28
+ freeze
29
+ end
30
+
31
+ # @rbs hash: Hash[String, untyped]
32
+ # @rbs return: ACP::Types::McpServer::Sse
33
+ def self.from_h(hash)
34
+ new(
35
+ name: hash.fetch('name'),
36
+ url: hash.fetch('url'),
37
+ headers: hash.fetch('headers').map { |item| ACP::Types::HttpHeader.from_h(item) },
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ { 'type' => 'sse', 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
45
+ end
46
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ module ACP::Types::McpServer
6
+ # @rbs!
7
+ # type t = ACP::Types::McpServer::Http
8
+ # | ACP::Types::McpServer::Sse
9
+ # | ACP::Types::McpServerStdio
10
+ # | Hash[String, untyped]
11
+
12
+ # @rbs hash: Hash[String, untyped]
13
+ # @rbs return: t
14
+ def self.from_h(hash)
15
+ case hash['type']
16
+ when 'http' then ACP::Types::McpServer::Http.from_h(hash)
17
+ when 'sse' then ACP::Types::McpServer::Sse.from_h(hash)
18
+ when nil then ACP::Types::McpServerStdio.from_h(hash)
19
+ else hash
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpServerHttp
6
+ # @dynamic name
7
+ attr_reader :name #: String
8
+
9
+ # @dynamic url
10
+ attr_reader :url #: String
11
+
12
+ # @dynamic headers
13
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
14
+
15
+ # @dynamic meta
16
+ attr_reader :meta #: Hash[String, untyped]?
17
+
18
+ # @rbs name: String
19
+ # @rbs url: String
20
+ # @rbs headers: Array[ACP::Types::HttpHeader]
21
+ # @rbs meta: Hash[String, untyped]?
22
+ # @rbs return: void
23
+ def initialize(name:, url:, headers:, meta: nil)
24
+ @name = name
25
+ @url = url
26
+ @headers = headers
27
+ @meta = meta
28
+ freeze
29
+ end
30
+
31
+ # @rbs hash: Hash[String, untyped]
32
+ # @rbs return: ACP::Types::McpServerHttp
33
+ def self.from_h(hash)
34
+ new(
35
+ name: hash.fetch('name'),
36
+ url: hash.fetch('url'),
37
+ headers: hash.fetch('headers').map { |item| ACP::Types::HttpHeader.from_h(item) },
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ { 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpServerSse
6
+ # @dynamic name
7
+ attr_reader :name #: String
8
+
9
+ # @dynamic url
10
+ attr_reader :url #: String
11
+
12
+ # @dynamic headers
13
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
14
+
15
+ # @dynamic meta
16
+ attr_reader :meta #: Hash[String, untyped]?
17
+
18
+ # @rbs name: String
19
+ # @rbs url: String
20
+ # @rbs headers: Array[ACP::Types::HttpHeader]
21
+ # @rbs meta: Hash[String, untyped]?
22
+ # @rbs return: void
23
+ def initialize(name:, url:, headers:, meta: nil)
24
+ @name = name
25
+ @url = url
26
+ @headers = headers
27
+ @meta = meta
28
+ freeze
29
+ end
30
+
31
+ # @rbs hash: Hash[String, untyped]
32
+ # @rbs return: ACP::Types::McpServerSse
33
+ def self.from_h(hash)
34
+ new(
35
+ name: hash.fetch('name'),
36
+ url: hash.fetch('url'),
37
+ headers: hash.fetch('headers').map { |item| ACP::Types::HttpHeader.from_h(item) },
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ { 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
45
+ end
46
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::McpServerStdio
6
+ # @dynamic name
7
+ attr_reader :name #: String
8
+
9
+ # @dynamic command
10
+ attr_reader :command #: String
11
+
12
+ # @dynamic args
13
+ attr_reader :args #: Array[String]
14
+
15
+ # @dynamic env
16
+ attr_reader :env #: Array[ACP::Types::EnvVariable]
17
+
18
+ # @dynamic meta
19
+ attr_reader :meta #: Hash[String, untyped]?
20
+
21
+ # @rbs name: String
22
+ # @rbs command: String
23
+ # @rbs args: Array[String]
24
+ # @rbs env: Array[ACP::Types::EnvVariable]
25
+ # @rbs meta: Hash[String, untyped]?
26
+ # @rbs return: void
27
+ def initialize(name:, command:, args:, env:, meta: nil)
28
+ @name = name
29
+ @command = command
30
+ @args = args
31
+ @env = env
32
+ @meta = meta
33
+ freeze
34
+ end
35
+
36
+ # @rbs hash: Hash[String, untyped]
37
+ # @rbs return: ACP::Types::McpServerStdio
38
+ def self.from_h(hash)
39
+ new(
40
+ name: hash.fetch('name'),
41
+ command: hash.fetch('command'),
42
+ args: hash.fetch('args'),
43
+ env: hash.fetch('env').map { |item| ACP::Types::EnvVariable.from_h(item) },
44
+ meta: hash['_meta']
45
+ )
46
+ end
47
+
48
+ # @rbs return: Hash[String, untyped]
49
+ def to_h
50
+ { 'name' => name, 'command' => command, 'args' => args, 'env' => env.map(&:to_h), '_meta' => meta }.compact
51
+ end
52
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::MultiSelectItems::StringMultiSelectItems
6
+ # @dynamic enum
7
+ attr_reader :enum #: Array[String]
8
+
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::MultiSelectItems::StringMultiSelectItems
23
+ def self.from_h(hash)
24
+ new(enum: hash.fetch('enum'), meta: hash['_meta'])
25
+ end
26
+
27
+ # @rbs return: Hash[String, untyped]
28
+ def to_h
29
+ { 'type' => 'string', 'enum' => enum, '_meta' => meta }.compact
30
+ end
31
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ module ACP::Types::MultiSelectItems
6
+ # @rbs!
7
+ # type t = ACP::Types::MultiSelectItems::StringMultiSelectItems
8
+ # | ACP::Types::TitledMultiSelectItems
9
+ # | Hash[String, untyped]
10
+
11
+ # @rbs hash: Hash[String, untyped]
12
+ # @rbs return: t
13
+ def self.from_h(hash)
14
+ case hash['type']
15
+ when 'string' then ACP::Types::MultiSelectItems::StringMultiSelectItems.from_h(hash)
16
+ when nil then ACP::Types::TitledMultiSelectItems.from_h(hash)
17
+ else hash
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::MultiSelectPropertySchema
6
+ # @dynamic title
7
+ attr_reader :title #: String?
8
+
9
+ # @dynamic description
10
+ attr_reader :description #: String?
11
+
12
+ # @dynamic min_items
13
+ attr_reader :min_items #: Integer?
14
+
15
+ # @dynamic max_items
16
+ attr_reader :max_items #: Integer?
17
+
18
+ # @dynamic items
19
+ attr_reader :items #: ACP::Types::MultiSelectItems::t
20
+
21
+ # @dynamic default
22
+ attr_reader :default #: Array[String]?
23
+
24
+ # @dynamic meta
25
+ attr_reader :meta #: Hash[String, untyped]?
26
+
27
+ # @rbs title: String?
28
+ # @rbs description: String?
29
+ # @rbs min_items: Integer?
30
+ # @rbs max_items: Integer?
31
+ # @rbs items: ACP::Types::MultiSelectItems::t
32
+ # @rbs default: Array[String]?
33
+ # @rbs meta: Hash[String, untyped]?
34
+ # @rbs return: void
35
+ def initialize(items:, title: nil, description: nil, min_items: nil, max_items: nil, default: nil, meta: nil)
36
+ @title = title
37
+ @description = description
38
+ @min_items = min_items
39
+ @max_items = max_items
40
+ @items = items
41
+ @default = default
42
+ @meta = meta
43
+ freeze
44
+ end
45
+
46
+ # @rbs hash: Hash[String, untyped]
47
+ # @rbs return: ACP::Types::MultiSelectPropertySchema
48
+ def self.from_h(hash)
49
+ new(
50
+ title: hash['title'],
51
+ description: hash['description'],
52
+ min_items: hash['minItems'],
53
+ max_items: hash['maxItems'],
54
+ items: ACP::Types::MultiSelectItems.from_h(hash.fetch('items')),
55
+ default: hash['default'],
56
+ meta: hash['_meta']
57
+ )
58
+ end
59
+
60
+ # @rbs return: Hash[String, untyped]
61
+ def to_h
62
+ {
63
+ 'items' => items.to_h,
64
+ 'title' => title,
65
+ 'description' => description,
66
+ 'minItems' => min_items,
67
+ 'maxItems' => max_items,
68
+ 'default' => default,
69
+ '_meta' => meta
70
+ }.compact
71
+ end
72
+ end