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,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::RequestPermissionRequest
6
+ # @dynamic session_id
7
+ attr_reader :session_id #: String
8
+
9
+ # @dynamic tool_call
10
+ attr_reader :tool_call #: ACP::Types::ToolCallUpdate
11
+
12
+ # @dynamic options
13
+ attr_reader :options #: Array[ACP::Types::PermissionOption]
14
+
15
+ # @dynamic meta
16
+ attr_reader :meta #: Hash[String, untyped]?
17
+
18
+ # @rbs session_id: String
19
+ # @rbs tool_call: ACP::Types::ToolCallUpdate
20
+ # @rbs options: Array[ACP::Types::PermissionOption]
21
+ # @rbs meta: Hash[String, untyped]?
22
+ # @rbs return: void
23
+ def initialize(session_id:, tool_call:, options:, meta: nil)
24
+ @session_id = session_id
25
+ @tool_call = tool_call
26
+ @options = options
27
+ @meta = meta
28
+ freeze
29
+ end
30
+
31
+ # @rbs hash: Hash[String, untyped]
32
+ # @rbs return: ACP::Types::RequestPermissionRequest
33
+ def self.from_h(hash)
34
+ new(
35
+ session_id: hash.fetch('sessionId'),
36
+ tool_call: ACP::Types::ToolCallUpdate.from_h(hash.fetch('toolCall')),
37
+ options: hash.fetch('options').map { |item| ACP::Types::PermissionOption.from_h(item) },
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ {
45
+ 'sessionId' => session_id,
46
+ 'toolCall' => tool_call.to_h,
47
+ 'options' => options.map(&:to_h),
48
+ '_meta' => meta
49
+ }.compact
50
+ end
51
+ 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::RequestPermissionResponse
6
+ # @dynamic outcome
7
+ attr_reader :outcome #: ACP::Types::RequestPermissionOutcome::t
8
+
9
+ # @dynamic meta
10
+ attr_reader :meta #: Hash[String, untyped]?
11
+
12
+ # @rbs outcome: ACP::Types::RequestPermissionOutcome::t
13
+ # @rbs meta: Hash[String, untyped]?
14
+ # @rbs return: void
15
+ def initialize(outcome:, meta: nil)
16
+ @outcome = outcome
17
+ @meta = meta
18
+ freeze
19
+ end
20
+
21
+ # @rbs hash: Hash[String, untyped]
22
+ # @rbs return: ACP::Types::RequestPermissionResponse
23
+ def self.from_h(hash)
24
+ new(outcome: ACP::Types::RequestPermissionOutcome.from_h(hash.fetch('outcome')), meta: hash['_meta'])
25
+ end
26
+
27
+ # @rbs return: Hash[String, untyped]
28
+ def to_h
29
+ { 'outcome' => outcome.to_h, '_meta' => meta }.compact
30
+ end
31
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::ResourceLink
6
+ # @dynamic annotations
7
+ attr_reader :annotations #: ACP::Types::Annotations?
8
+
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: hash['annotations']&.then { |value| ACP::Types::Annotations.from_h(value) },
56
+ description: hash['description'],
57
+ mime_type: hash['mimeType'],
58
+ name: hash.fetch('name'),
59
+ size: hash['size'],
60
+ title: hash['title'],
61
+ uri: hash.fetch('uri'),
62
+ meta: hash['_meta']
63
+ )
64
+ end
65
+
66
+ # @rbs return: Hash[String, untyped]
67
+ def to_h
68
+ {
69
+ 'name' => name,
70
+ 'uri' => uri,
71
+ 'annotations' => annotations&.to_h,
72
+ 'description' => description,
73
+ 'mimeType' => mime_type,
74
+ 'size' => size,
75
+ 'title' => title,
76
+ '_meta' => meta
77
+ }.compact
78
+ end
79
+ 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::ResumeSessionRequest
6
+ # @dynamic session_id
7
+ attr_reader :session_id #: String
8
+
9
+ # @dynamic cwd
10
+ attr_reader :cwd #: String
11
+
12
+ # @dynamic additional_directories
13
+ attr_reader :additional_directories #: Array[String]?
14
+
15
+ # @dynamic mcp_servers
16
+ attr_reader :mcp_servers #: Array[ACP::Types::McpServer::t]?
17
+
18
+ # @dynamic meta
19
+ attr_reader :meta #: Hash[String, untyped]?
20
+
21
+ # @rbs session_id: String
22
+ # @rbs cwd: String
23
+ # @rbs additional_directories: Array[String]?
24
+ # @rbs mcp_servers: Array[ACP::Types::McpServer::t]?
25
+ # @rbs meta: Hash[String, untyped]?
26
+ # @rbs return: void
27
+ def initialize(session_id:, cwd:, additional_directories: nil, mcp_servers: nil, meta: nil)
28
+ @session_id = session_id
29
+ @cwd = cwd
30
+ @additional_directories = additional_directories
31
+ @mcp_servers = mcp_servers
32
+ @meta = meta
33
+ freeze
34
+ end
35
+
36
+ # @rbs hash: Hash[String, untyped]
37
+ # @rbs return: ACP::Types::ResumeSessionRequest
38
+ def self.from_h(hash)
39
+ new(
40
+ session_id: hash.fetch('sessionId'),
41
+ cwd: hash.fetch('cwd'),
42
+ additional_directories: hash['additionalDirectories'],
43
+ mcp_servers: hash['mcpServers']&.map { |item| ACP::Types::McpServer.from_h(item) },
44
+ meta: hash['_meta']
45
+ )
46
+ end
47
+
48
+ # @rbs return: Hash[String, untyped]
49
+ def to_h
50
+ {
51
+ 'sessionId' => session_id,
52
+ 'cwd' => cwd,
53
+ 'additionalDirectories' => additional_directories,
54
+ 'mcpServers' => mcp_servers&.map(&:to_h),
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::ResumeSessionResponse
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::ResumeSessionResponse
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,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ module ACP::Types::Role
6
+ ASSISTANT = 'assistant'
7
+ USER = 'user'
8
+ 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::SelectedPermissionOutcome
6
+ # @dynamic option_id
7
+ attr_reader :option_id #: String
8
+
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: hash.fetch('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
@@ -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::SessionAdditionalDirectoriesCapabilities
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::SessionAdditionalDirectoriesCapabilities
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,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::SessionCapabilities
6
+ # @dynamic list
7
+ attr_reader :list #: ACP::Types::SessionListCapabilities?
8
+
9
+ # @dynamic delete
10
+ attr_reader :delete #: ACP::Types::SessionDeleteCapabilities?
11
+
12
+ # @dynamic additional_directories
13
+ attr_reader :additional_directories #: ACP::Types::SessionAdditionalDirectoriesCapabilities?
14
+
15
+ # @dynamic resume
16
+ attr_reader :resume #: ACP::Types::SessionResumeCapabilities?
17
+
18
+ # @dynamic close
19
+ attr_reader :close #: ACP::Types::SessionCloseCapabilities?
20
+
21
+ # @dynamic meta
22
+ attr_reader :meta #: Hash[String, untyped]?
23
+
24
+ # @rbs list: ACP::Types::SessionListCapabilities?
25
+ # @rbs delete: ACP::Types::SessionDeleteCapabilities?
26
+ # @rbs additional_directories: ACP::Types::SessionAdditionalDirectoriesCapabilities?
27
+ # @rbs resume: ACP::Types::SessionResumeCapabilities?
28
+ # @rbs close: ACP::Types::SessionCloseCapabilities?
29
+ # @rbs meta: Hash[String, untyped]?
30
+ # @rbs return: void
31
+ def initialize(list: nil, delete: nil, additional_directories: nil, resume: nil, close: nil, meta: nil)
32
+ @list = list
33
+ @delete = delete
34
+ @additional_directories = additional_directories
35
+ @resume = resume
36
+ @close = close
37
+ @meta = meta
38
+ freeze
39
+ end
40
+
41
+ # @rbs hash: Hash[String, untyped]
42
+ # @rbs return: ACP::Types::SessionCapabilities
43
+ def self.from_h(hash)
44
+ new(
45
+ list: hash['list']&.then { |value| ACP::Types::SessionListCapabilities.from_h(value) },
46
+ delete: hash['delete']&.then { |value| ACP::Types::SessionDeleteCapabilities.from_h(value) },
47
+ additional_directories: hash['additionalDirectories']&.then do |value|
48
+ ACP::Types::SessionAdditionalDirectoriesCapabilities.from_h(value)
49
+ end,
50
+ resume: hash['resume']&.then { |value| ACP::Types::SessionResumeCapabilities.from_h(value) },
51
+ close: hash['close']&.then { |value| ACP::Types::SessionCloseCapabilities.from_h(value) },
52
+ meta: hash['_meta']
53
+ )
54
+ end
55
+
56
+ # @rbs return: Hash[String, untyped]
57
+ def to_h
58
+ {
59
+ 'list' => list&.to_h,
60
+ 'delete' => delete&.to_h,
61
+ 'additionalDirectories' => additional_directories&.to_h,
62
+ 'resume' => resume&.to_h,
63
+ 'close' => close&.to_h,
64
+ '_meta' => meta
65
+ }.compact
66
+ end
67
+ 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::SessionCloseCapabilities
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::SessionCloseCapabilities
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::SessionConfigBoolean
6
+ # @dynamic current_value
7
+ attr_reader :current_value #: bool
8
+
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: hash.fetch('currentValue'))
20
+ end
21
+
22
+ # @rbs return: Hash[String, untyped]
23
+ def to_h
24
+ { 'currentValue' => current_value }
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::SessionConfigOption::Kind::Boolean
6
+ # @dynamic current_value
7
+ attr_reader :current_value #: bool
8
+
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::SessionConfigOption::Kind::Boolean
18
+ def self.from_h(hash)
19
+ new(current_value: hash.fetch('currentValue'))
20
+ end
21
+
22
+ # @rbs return: Hash[String, untyped]
23
+ def to_h
24
+ { 'type' => 'boolean', 'currentValue' => current_value }
25
+ end
26
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::SessionConfigOption::Kind::Select
6
+ # @dynamic current_value
7
+ attr_reader :current_value #: String
8
+
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::SessionConfigOption::Kind::Select
23
+ def self.from_h(hash)
24
+ new(
25
+ current_value: hash.fetch('currentValue'),
26
+ options: ACP::Types::SessionConfigSelectOptions.from_a(hash.fetch('options'))
27
+ )
28
+ end
29
+
30
+ # @rbs return: Hash[String, untyped]
31
+ def to_h
32
+ { 'type' => 'select', 'currentValue' => current_value, 'options' => options.map(&:to_h) }
33
+ end
34
+ 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::SessionConfigOption::Kind
6
+ # @rbs!
7
+ # type t = ACP::Types::SessionConfigOption::Kind::Select
8
+ # | ACP::Types::SessionConfigOption::Kind::Boolean
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 'select' then ACP::Types::SessionConfigOption::Kind::Select.from_h(hash)
16
+ when 'boolean' then ACP::Types::SessionConfigOption::Kind::Boolean.from_h(hash)
17
+ else hash
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::SessionConfigOption
6
+ # @dynamic id
7
+ attr_reader :id #: String
8
+
9
+ # @dynamic name
10
+ attr_reader :name #: String
11
+
12
+ # @dynamic description
13
+ attr_reader :description #: String?
14
+
15
+ # @dynamic category
16
+ attr_reader :category #: String?
17
+
18
+ # @dynamic meta
19
+ attr_reader :meta #: Hash[String, untyped]?
20
+
21
+ # @dynamic kind
22
+ attr_reader :kind #: ACP::Types::SessionConfigOption::Kind::t
23
+
24
+ # @rbs id: String
25
+ # @rbs name: String
26
+ # @rbs description: String?
27
+ # @rbs category: String?
28
+ # @rbs meta: Hash[String, untyped]?
29
+ # @rbs kind: ACP::Types::SessionConfigOption::Kind::t
30
+ # @rbs return: void
31
+ def initialize(id:, name:, kind:, description: nil, category: nil, meta: nil)
32
+ @id = id
33
+ @name = name
34
+ @description = description
35
+ @category = category
36
+ @meta = meta
37
+ @kind = kind
38
+ freeze
39
+ end
40
+
41
+ # @rbs hash: Hash[String, untyped]
42
+ # @rbs return: ACP::Types::SessionConfigOption
43
+ def self.from_h(hash)
44
+ new(
45
+ id: hash.fetch('id'),
46
+ name: hash.fetch('name'),
47
+ description: hash['description'],
48
+ category: hash['category'],
49
+ meta: hash['_meta'],
50
+ kind: ACP::Types::SessionConfigOption::Kind.from_h(hash)
51
+ )
52
+ end
53
+
54
+ # @rbs return: Hash[String, untyped]
55
+ def to_h
56
+ {
57
+ 'id' => id,
58
+ 'name' => name,
59
+ 'description' => description,
60
+ 'category' => category,
61
+ '_meta' => meta
62
+ }.compact.merge(kind.to_h)
63
+ end
64
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ module ACP::Types::SessionConfigOptionCategory
6
+ MODE = 'mode'
7
+ MODEL = 'model'
8
+ MODEL_CONFIG = 'model_config'
9
+ THOUGHT_LEVEL = 'thought_level'
10
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::SessionConfigOptionsCapabilities
6
+ # @dynamic boolean
7
+ attr_reader :boolean #: ACP::Types::BooleanConfigOptionCapabilities?
8
+
9
+ # @dynamic meta
10
+ attr_reader :meta #: Hash[String, untyped]?
11
+
12
+ # @rbs boolean: ACP::Types::BooleanConfigOptionCapabilities?
13
+ # @rbs meta: Hash[String, untyped]?
14
+ # @rbs return: void
15
+ def initialize(boolean: nil, meta: nil)
16
+ @boolean = boolean
17
+ @meta = meta
18
+ freeze
19
+ end
20
+
21
+ # @rbs hash: Hash[String, untyped]
22
+ # @rbs return: ACP::Types::SessionConfigOptionsCapabilities
23
+ def self.from_h(hash)
24
+ new(
25
+ boolean: hash['boolean']&.then { |value| ACP::Types::BooleanConfigOptionCapabilities.from_h(value) },
26
+ meta: hash['_meta']
27
+ )
28
+ end
29
+
30
+ # @rbs return: Hash[String, untyped]
31
+ def to_h
32
+ { 'boolean' => boolean&.to_h, '_meta' => meta }.compact
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.json. Do not edit.
4
+
5
+ class ACP::Types::SessionConfigSelect
6
+ # @dynamic current_value
7
+ attr_reader :current_value #: String
8
+
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: hash.fetch('currentValue'),
26
+ options: ACP::Types::SessionConfigSelectOptions.from_a(hash.fetch('options'))
27
+ )
28
+ end
29
+
30
+ # @rbs return: Hash[String, untyped]
31
+ def to_h
32
+ { 'currentValue' => current_value, 'options' => options.map(&:to_h) }
33
+ end
34
+ end