acp-sdk 0.7.0 → 0.9.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 (446) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +14 -1
  4. data/lib/acp/agent_connection/client.rb +1 -1
  5. data/lib/acp/agent_connection.rb +3 -1
  6. data/lib/acp/client_connection.rb +93 -4
  7. data/lib/acp/request_error.rb +15 -2
  8. data/lib/acp/sdk.rb +3 -1
  9. data/lib/acp/transport/cancellation.rb +25 -0
  10. data/lib/acp/transport/stdio.rb +67 -1
  11. data/lib/acp/types/agent_auth_capabilities.rb +4 -1
  12. data/lib/acp/types/agent_capabilities.rb +20 -5
  13. data/lib/acp/types/annotations.rb +6 -3
  14. data/lib/acp/types/audio_content.rb +8 -3
  15. data/lib/acp/types/auth_capabilities.rb +1 -1
  16. data/lib/acp/types/auth_method/terminal.rb +11 -5
  17. data/lib/acp/types/auth_method_agent.rb +6 -1
  18. data/lib/acp/types/auth_method_terminal.rb +11 -5
  19. data/lib/acp/types/authenticate_request.rb +1 -1
  20. data/lib/acp/types/available_command.rb +3 -3
  21. data/lib/acp/types/available_commands_update.rb +7 -4
  22. data/lib/acp/types/blob_resource_contents.rb +6 -1
  23. data/lib/acp/types/boolean_property_schema.rb +6 -1
  24. data/lib/acp/types/cancel_notification.rb +4 -1
  25. data/lib/acp/types/cancel_request_notification.rb +9 -1
  26. data/lib/acp/types/client_capabilities.rb +15 -5
  27. data/lib/acp/types/client_session_capabilities.rb +6 -3
  28. data/lib/acp/types/close_session_request.rb +4 -1
  29. data/lib/acp/types/complete_elicitation_notification.rb +4 -1
  30. data/lib/acp/types/config_option_update.rb +7 -4
  31. data/lib/acp/types/content.rb +4 -1
  32. data/lib/acp/types/content_block/audio.rb +8 -3
  33. data/lib/acp/types/content_block/image.rb +9 -4
  34. data/lib/acp/types/content_block/resource.rb +11 -2
  35. data/lib/acp/types/content_block/resource_link.rb +12 -7
  36. data/lib/acp/types/content_block/text.rb +7 -2
  37. data/lib/acp/types/content_chunk.rb +2 -2
  38. data/lib/acp/types/cost.rb +5 -1
  39. data/lib/acp/types/create_elicitation_request/mode/form.rb +5 -1
  40. data/lib/acp/types/create_elicitation_request/mode/url.rb +2 -2
  41. data/lib/acp/types/create_elicitation_request.rb +1 -1
  42. data/lib/acp/types/create_elicitation_response/action/accept.rb +6 -1
  43. data/lib/acp/types/create_terminal_request.rb +12 -6
  44. data/lib/acp/types/create_terminal_response.rb +4 -1
  45. data/lib/acp/types/current_mode_update.rb +4 -1
  46. data/lib/acp/types/delete_session_request.rb +4 -1
  47. data/lib/acp/types/diff.rb +6 -1
  48. data/lib/acp/types/elicitation_accept_action.rb +6 -1
  49. data/lib/acp/types/elicitation_capabilities.rb +2 -2
  50. data/lib/acp/types/elicitation_form_mode.rb +5 -1
  51. data/lib/acp/types/elicitation_property_schema/boolean_property_schema.rb +6 -1
  52. data/lib/acp/types/elicitation_property_schema/integer_property_schema.rb +5 -5
  53. data/lib/acp/types/elicitation_property_schema/multi_select_property_schema.rb +9 -6
  54. data/lib/acp/types/elicitation_property_schema/number_property_schema.rb +5 -5
  55. data/lib/acp/types/elicitation_property_schema/string_property_schema.rb +15 -9
  56. data/lib/acp/types/elicitation_request_scope.rb +8 -1
  57. data/lib/acp/types/elicitation_schema.rb +11 -5
  58. data/lib/acp/types/elicitation_session_scope.rb +4 -1
  59. data/lib/acp/types/elicitation_url_mode.rb +2 -2
  60. data/lib/acp/types/embedded_resource.rb +11 -2
  61. data/lib/acp/types/enum_option.rb +6 -1
  62. data/lib/acp/types/env_variable.rb +5 -1
  63. data/lib/acp/types/file_system_capabilities.rb +5 -1
  64. data/lib/acp/types/http_header.rb +5 -1
  65. data/lib/acp/types/image_content.rb +9 -4
  66. data/lib/acp/types/implementation.rb +6 -1
  67. data/lib/acp/types/initialize_request.rb +18 -3
  68. data/lib/acp/types/initialize_response.rb +17 -4
  69. data/lib/acp/types/integer_property_schema.rb +5 -5
  70. data/lib/acp/types/kill_terminal_request.rb +5 -1
  71. data/lib/acp/types/list_sessions_request.rb +5 -1
  72. data/lib/acp/types/list_sessions_response.rb +5 -2
  73. data/lib/acp/types/load_session_request.rb +14 -4
  74. data/lib/acp/types/load_session_response.rb +5 -2
  75. data/lib/acp/types/mcp_capabilities.rb +5 -1
  76. data/lib/acp/types/mcp_server/http.rb +6 -3
  77. data/lib/acp/types/mcp_server/sse.rb +6 -3
  78. data/lib/acp/types/mcp_server_http.rb +6 -3
  79. data/lib/acp/types/mcp_server_sse.rb +6 -3
  80. data/lib/acp/types/mcp_server_stdio.rb +10 -4
  81. data/lib/acp/types/multi_select_items/string_multi_select_items.rb +4 -1
  82. data/lib/acp/types/multi_select_property_schema.rb +9 -6
  83. data/lib/acp/types/new_session_request.rb +13 -3
  84. data/lib/acp/types/new_session_response.rb +6 -3
  85. data/lib/acp/types/number_property_schema.rb +5 -5
  86. data/lib/acp/types/permission_option.rb +10 -1
  87. data/lib/acp/types/plan.rb +4 -1
  88. data/lib/acp/types/plan_entry.rb +7 -3
  89. data/lib/acp/types/prompt_capabilities.rb +6 -1
  90. data/lib/acp/types/prompt_request.rb +5 -2
  91. data/lib/acp/types/prompt_response.rb +8 -1
  92. data/lib/acp/types/read_text_file_request.rb +4 -4
  93. data/lib/acp/types/read_text_file_response.rb +1 -1
  94. data/lib/acp/types/release_terminal_request.rb +5 -1
  95. data/lib/acp/types/request_permission_outcome/selected.rb +1 -1
  96. data/lib/acp/types/request_permission_request.rb +10 -3
  97. data/lib/acp/types/request_permission_response.rb +8 -1
  98. data/lib/acp/types/resource_link.rb +12 -7
  99. data/lib/acp/types/resume_session_request.rb +14 -4
  100. data/lib/acp/types/resume_session_response.rb +5 -2
  101. data/lib/acp/types/selected_permission_outcome.rb +1 -1
  102. data/lib/acp/types/session_capabilities.rb +20 -7
  103. data/lib/acp/types/session_config_boolean.rb +1 -1
  104. data/lib/acp/types/session_config_option/kind/boolean.rb +1 -1
  105. data/lib/acp/types/session_config_option/kind/select.rb +6 -2
  106. data/lib/acp/types/session_config_option.rb +3 -3
  107. data/lib/acp/types/session_config_options_capabilities.rb +6 -1
  108. data/lib/acp/types/session_config_select.rb +6 -2
  109. data/lib/acp/types/session_config_select_group.rb +6 -3
  110. data/lib/acp/types/session_config_select_option.rb +6 -1
  111. data/lib/acp/types/session_config_select_options.rb +6 -2
  112. data/lib/acp/types/session_info.rb +12 -5
  113. data/lib/acp/types/session_info_update.rb +10 -1
  114. data/lib/acp/types/session_mode.rb +6 -1
  115. data/lib/acp/types/session_mode_state.rb +8 -2
  116. data/lib/acp/types/session_notification.rb +2 -2
  117. data/lib/acp/types/session_update/agent_message_chunk.rb +2 -2
  118. data/lib/acp/types/session_update/agent_thought_chunk.rb +2 -2
  119. data/lib/acp/types/session_update/available_commands_update.rb +7 -4
  120. data/lib/acp/types/session_update/config_option_update.rb +7 -4
  121. data/lib/acp/types/session_update/current_mode_update.rb +4 -1
  122. data/lib/acp/types/session_update/plan.rb +4 -1
  123. data/lib/acp/types/session_update/session_info_update.rb +10 -1
  124. data/lib/acp/types/session_update/tool_call.rb +23 -7
  125. data/lib/acp/types/session_update/tool_call_update.rb +23 -7
  126. data/lib/acp/types/session_update/usage_update.rb +3 -3
  127. data/lib/acp/types/session_update/user_message_chunk.rb +2 -2
  128. data/lib/acp/types/set_session_config_option_request/value/boolean.rb +1 -1
  129. data/lib/acp/types/set_session_config_option_request/value/value_id.rb +1 -1
  130. data/lib/acp/types/set_session_config_option_request.rb +2 -2
  131. data/lib/acp/types/set_session_config_option_response.rb +7 -4
  132. data/lib/acp/types/set_session_mode_request.rb +5 -1
  133. data/lib/acp/types/string_multi_select_items.rb +4 -1
  134. data/lib/acp/types/string_property_schema.rb +15 -9
  135. data/lib/acp/types/terminal.rb +4 -1
  136. data/lib/acp/types/terminal_exit_status.rb +5 -1
  137. data/lib/acp/types/terminal_output_request.rb +5 -1
  138. data/lib/acp/types/terminal_output_response.rb +8 -3
  139. data/lib/acp/types/text_content.rb +7 -2
  140. data/lib/acp/types/text_resource_contents.rb +6 -1
  141. data/lib/acp/types/titled_multi_select_items.rb +4 -1
  142. data/lib/acp/types/tool_call.rb +23 -7
  143. data/lib/acp/types/tool_call_content/content.rb +4 -1
  144. data/lib/acp/types/tool_call_content/diff.rb +6 -1
  145. data/lib/acp/types/tool_call_content/terminal.rb +4 -1
  146. data/lib/acp/types/tool_call_location.rb +5 -1
  147. data/lib/acp/types/tool_call_update.rb +23 -7
  148. data/lib/acp/types/unstable/accept_nes_notification.rb +41 -0
  149. data/lib/acp/types/unstable/agent_capabilities.rb +122 -0
  150. data/lib/acp/types/unstable/client_capabilities.rb +127 -0
  151. data/lib/acp/types/unstable/client_nes_capabilities.rb +62 -0
  152. data/lib/acp/types/unstable/client_session_capabilities.rb +57 -0
  153. data/lib/acp/types/unstable/close_nes_request.rb +35 -0
  154. data/lib/acp/types/unstable/close_nes_response.rb +27 -0
  155. data/lib/acp/types/unstable/compaction_status.rb +11 -0
  156. data/lib/acp/types/unstable/compaction_summary_chunk.rb +41 -0
  157. data/lib/acp/types/unstable/compaction_update.rb +62 -0
  158. data/lib/acp/types/unstable/did_change_document_notification.rb +65 -0
  159. data/lib/acp/types/unstable/did_close_document_notification.rb +41 -0
  160. data/lib/acp/types/unstable/did_focus_document_notification.rb +74 -0
  161. data/lib/acp/types/unstable/did_open_document_notification.rb +66 -0
  162. data/lib/acp/types/unstable/did_save_document_notification.rb +41 -0
  163. data/lib/acp/types/unstable/disable_provider_request.rb +35 -0
  164. data/lib/acp/types/unstable/disable_provider_response.rb +27 -0
  165. data/lib/acp/types/unstable/fork_session_request.rb +69 -0
  166. data/lib/acp/types/unstable/fork_session_response.rb +55 -0
  167. data/lib/acp/types/unstable/idle_state_update.rb +46 -0
  168. data/lib/acp/types/unstable/initialize_response.rb +72 -0
  169. data/lib/acp/types/unstable/list_providers_request.rb +27 -0
  170. data/lib/acp/types/unstable/list_providers_response.rb +35 -0
  171. data/lib/acp/types/unstable/llm_protocol.rb +12 -0
  172. data/lib/acp/types/unstable/mcp_capabilities.rb +47 -0
  173. data/lib/acp/types/unstable/mcp_error.rb +41 -0
  174. data/lib/acp/types/unstable/mcp_server/acp.rb +41 -0
  175. data/lib/acp/types/unstable/mcp_server/http.rb +50 -0
  176. data/lib/acp/types/unstable/mcp_server/sse.rb +50 -0
  177. data/lib/acp/types/unstable/mcp_server.rb +25 -0
  178. data/lib/acp/types/unstable/mcp_server_acp.rb +41 -0
  179. data/lib/acp/types/unstable/message_mcp_notification.rb +59 -0
  180. data/lib/acp/types/unstable/message_mcp_request.rb +59 -0
  181. data/lib/acp/types/unstable/message_mcp_response/error.rb +35 -0
  182. data/lib/acp/types/unstable/message_mcp_response/result.rb +32 -0
  183. data/lib/acp/types/unstable/message_mcp_response.rb +23 -0
  184. data/lib/acp/types/unstable/nes_capabilities.rb +51 -0
  185. data/lib/acp/types/unstable/nes_context_capabilities.rb +111 -0
  186. data/lib/acp/types/unstable/nes_diagnostic.rb +57 -0
  187. data/lib/acp/types/unstable/nes_diagnostic_severity.rb +11 -0
  188. data/lib/acp/types/unstable/nes_diagnostics_capabilities.rb +27 -0
  189. data/lib/acp/types/unstable/nes_document_did_change_capabilities.rb +35 -0
  190. data/lib/acp/types/unstable/nes_document_did_close_capabilities.rb +27 -0
  191. data/lib/acp/types/unstable/nes_document_did_focus_capabilities.rb +27 -0
  192. data/lib/acp/types/unstable/nes_document_did_open_capabilities.rb +27 -0
  193. data/lib/acp/types/unstable/nes_document_did_save_capabilities.rb +27 -0
  194. data/lib/acp/types/unstable/nes_document_event_capabilities.rb +91 -0
  195. data/lib/acp/types/unstable/nes_edit_history_capabilities.rb +35 -0
  196. data/lib/acp/types/unstable/nes_edit_history_entry.rb +41 -0
  197. data/lib/acp/types/unstable/nes_edit_suggestion.rb +67 -0
  198. data/lib/acp/types/unstable/nes_event_capabilities.rb +40 -0
  199. data/lib/acp/types/unstable/nes_excerpt.rb +47 -0
  200. data/lib/acp/types/unstable/nes_jump_capabilities.rb +27 -0
  201. data/lib/acp/types/unstable/nes_jump_suggestion.rb +51 -0
  202. data/lib/acp/types/unstable/nes_open_file.rb +64 -0
  203. data/lib/acp/types/unstable/nes_open_files_capabilities.rb +27 -0
  204. data/lib/acp/types/unstable/nes_recent_file.rb +47 -0
  205. data/lib/acp/types/unstable/nes_recent_files_capabilities.rb +35 -0
  206. data/lib/acp/types/unstable/nes_reject_reason.rb +11 -0
  207. data/lib/acp/types/unstable/nes_related_snippet.rb +40 -0
  208. data/lib/acp/types/unstable/nes_related_snippets_capabilities.rb +27 -0
  209. data/lib/acp/types/unstable/nes_rename_capabilities.rb +27 -0
  210. data/lib/acp/types/unstable/nes_rename_suggestion.rb +57 -0
  211. data/lib/acp/types/unstable/nes_repository.rb +47 -0
  212. data/lib/acp/types/unstable/nes_search_and_replace_capabilities.rb +27 -0
  213. data/lib/acp/types/unstable/nes_search_and_replace_suggestion.rb +66 -0
  214. data/lib/acp/types/unstable/nes_suggest_context.rb +95 -0
  215. data/lib/acp/types/unstable/nes_suggestion/edit.rb +68 -0
  216. data/lib/acp/types/unstable/nes_suggestion/jump.rb +51 -0
  217. data/lib/acp/types/unstable/nes_suggestion/rename.rb +64 -0
  218. data/lib/acp/types/unstable/nes_suggestion/searchandreplace.rb +67 -0
  219. data/lib/acp/types/unstable/nes_suggestion.rb +25 -0
  220. data/lib/acp/types/unstable/nes_text_edit.rb +41 -0
  221. data/lib/acp/types/unstable/nes_trigger_kind.rb +10 -0
  222. data/lib/acp/types/unstable/nes_user_action.rb +63 -0
  223. data/lib/acp/types/unstable/nes_user_actions_capabilities.rb +35 -0
  224. data/lib/acp/types/unstable/notice.rb +47 -0
  225. data/lib/acp/types/unstable/notice_severity.rb +10 -0
  226. data/lib/acp/types/unstable/plan_capabilities.rb +27 -0
  227. data/lib/acp/types/unstable/plan_file.rb +41 -0
  228. data/lib/acp/types/unstable/plan_items.rb +44 -0
  229. data/lib/acp/types/unstable/plan_markdown.rb +41 -0
  230. data/lib/acp/types/unstable/plan_removed.rb +32 -0
  231. data/lib/acp/types/unstable/plan_update.rb +39 -0
  232. data/lib/acp/types/unstable/plan_update_content/file.rb +41 -0
  233. data/lib/acp/types/unstable/plan_update_content/items.rb +44 -0
  234. data/lib/acp/types/unstable/plan_update_content/markdown.rb +41 -0
  235. data/lib/acp/types/unstable/plan_update_content.rb +23 -0
  236. data/lib/acp/types/unstable/position.rb +41 -0
  237. data/lib/acp/types/unstable/position_encoding_kind.rb +10 -0
  238. data/lib/acp/types/unstable/prompt_response.rb +45 -0
  239. data/lib/acp/types/unstable/provider_current_config.rb +41 -0
  240. data/lib/acp/types/unstable/provider_info.rb +64 -0
  241. data/lib/acp/types/unstable/providers_capabilities.rb +27 -0
  242. data/lib/acp/types/unstable/range.rb +41 -0
  243. data/lib/acp/types/unstable/reject_nes_notification.rb +52 -0
  244. data/lib/acp/types/unstable/requires_action_state_update.rb +27 -0
  245. data/lib/acp/types/unstable/running_state_update.rb +27 -0
  246. data/lib/acp/types/unstable/session_cancel_capabilities.rb +27 -0
  247. data/lib/acp/types/unstable/session_capabilities.rb +93 -0
  248. data/lib/acp/types/unstable/session_fork_capabilities.rb +27 -0
  249. data/lib/acp/types/unstable/session_message.rb +62 -0
  250. data/lib/acp/types/unstable/session_message_chunk.rb +59 -0
  251. data/lib/acp/types/unstable/session_update/agent_message_chunk.rb +46 -0
  252. data/lib/acp/types/unstable/session_update/agent_thought_chunk.rb +46 -0
  253. data/lib/acp/types/unstable/session_update/available_commands_update.rb +42 -0
  254. data/lib/acp/types/unstable/session_update/compaction_summary_chunk.rb +46 -0
  255. data/lib/acp/types/unstable/session_update/compaction_update.rb +63 -0
  256. data/lib/acp/types/unstable/session_update/config_option_update.rb +42 -0
  257. data/lib/acp/types/unstable/session_update/current_mode_update.rb +35 -0
  258. data/lib/acp/types/unstable/session_update/notice.rb +53 -0
  259. data/lib/acp/types/unstable/session_update/plan.rb +35 -0
  260. data/lib/acp/types/unstable/session_update/plan_removed.rb +32 -0
  261. data/lib/acp/types/unstable/session_update/plan_update.rb +39 -0
  262. data/lib/acp/types/unstable/session_update/session_info_update.rb +49 -0
  263. data/lib/acp/types/unstable/session_update/session_message.rb +63 -0
  264. data/lib/acp/types/unstable/session_update/session_message_chunk.rb +60 -0
  265. data/lib/acp/types/unstable/session_update/subagent_update.rb +72 -0
  266. data/lib/acp/types/unstable/session_update/tool_call.rb +122 -0
  267. data/lib/acp/types/unstable/session_update/tool_call_update.rb +122 -0
  268. data/lib/acp/types/unstable/session_update/usage_update.rb +47 -0
  269. data/lib/acp/types/unstable/session_update/user_message_chunk.rb +46 -0
  270. data/lib/acp/types/unstable/session_update.rb +55 -0
  271. data/lib/acp/types/unstable/set_provider_request.rb +62 -0
  272. data/lib/acp/types/unstable/set_provider_response.rb +27 -0
  273. data/lib/acp/types/unstable/start_nes_request.rb +64 -0
  274. data/lib/acp/types/unstable/start_nes_response.rb +35 -0
  275. data/lib/acp/types/unstable/state_update/idle.rb +46 -0
  276. data/lib/acp/types/unstable/state_update/requires_action.rb +27 -0
  277. data/lib/acp/types/unstable/state_update/running.rb +27 -0
  278. data/lib/acp/types/unstable/state_update/unknown.rb +27 -0
  279. data/lib/acp/types/unstable/state_update.rb +25 -0
  280. data/lib/acp/types/unstable/subagent_capabilities.rb +27 -0
  281. data/lib/acp/types/unstable/subagent_session_capabilities.rb +40 -0
  282. data/lib/acp/types/unstable/subagent_update.rb +71 -0
  283. data/lib/acp/types/unstable/suggest_nes_request.rb +93 -0
  284. data/lib/acp/types/unstable/suggest_nes_response.rb +35 -0
  285. data/lib/acp/types/unstable/text_document_content_change_event.rb +41 -0
  286. data/lib/acp/types/unstable/text_document_sync_kind.rb +9 -0
  287. data/lib/acp/types/unstable/unknown_state_update.rb +27 -0
  288. data/lib/acp/types/unstable/usage.rb +91 -0
  289. data/lib/acp/types/unstable/workspace_folder.rb +41 -0
  290. data/lib/acp/types/unstable.rb +155 -0
  291. data/lib/acp/types/unstructured_command_input.rb +1 -1
  292. data/lib/acp/types/usage_update.rb +3 -3
  293. data/lib/acp/types/wait_for_terminal_exit_request.rb +5 -1
  294. data/lib/acp/types/wait_for_terminal_exit_response.rb +5 -1
  295. data/lib/acp/types/write_text_file_request.rb +3 -3
  296. data/lib/acp/types.rb +247 -0
  297. data/lib/acp/version.rb +1 -1
  298. data/sig/generated/acp/client_connection.rbs +39 -1
  299. data/sig/generated/acp/request_error.rbs +12 -1
  300. data/sig/generated/acp/transport/cancellation.rbs +19 -0
  301. data/sig/generated/acp/transport/stdio.rbs +38 -0
  302. data/sig/generated/acp/types/unstable/accept_nes_notification.rbs +25 -0
  303. data/sig/generated/acp/types/unstable/agent_capabilities.rbs +49 -0
  304. data/sig/generated/acp/types/unstable/client_capabilities.rbs +53 -0
  305. data/sig/generated/acp/types/unstable/client_nes_capabilities.rbs +29 -0
  306. data/sig/generated/acp/types/unstable/client_session_capabilities.rbs +29 -0
  307. data/sig/generated/acp/types/unstable/close_nes_request.rbs +21 -0
  308. data/sig/generated/acp/types/unstable/close_nes_response.rbs +17 -0
  309. data/sig/generated/acp/types/unstable/compaction_status.rbs +11 -0
  310. data/sig/generated/acp/types/unstable/compaction_summary_chunk.rbs +25 -0
  311. data/sig/generated/acp/types/unstable/compaction_update.rbs +33 -0
  312. data/sig/generated/acp/types/unstable/did_change_document_notification.rbs +33 -0
  313. data/sig/generated/acp/types/unstable/did_close_document_notification.rbs +25 -0
  314. data/sig/generated/acp/types/unstable/did_focus_document_notification.rbs +37 -0
  315. data/sig/generated/acp/types/unstable/did_open_document_notification.rbs +37 -0
  316. data/sig/generated/acp/types/unstable/did_save_document_notification.rbs +25 -0
  317. data/sig/generated/acp/types/unstable/disable_provider_request.rbs +21 -0
  318. data/sig/generated/acp/types/unstable/disable_provider_response.rbs +17 -0
  319. data/sig/generated/acp/types/unstable/fork_session_request.rbs +33 -0
  320. data/sig/generated/acp/types/unstable/fork_session_response.rbs +29 -0
  321. data/sig/generated/acp/types/unstable/idle_state_update.rbs +25 -0
  322. data/sig/generated/acp/types/unstable/initialize_response.rbs +33 -0
  323. data/sig/generated/acp/types/unstable/list_providers_request.rbs +17 -0
  324. data/sig/generated/acp/types/unstable/list_providers_response.rbs +21 -0
  325. data/sig/generated/acp/types/unstable/llm_protocol.rbs +13 -0
  326. data/sig/generated/acp/types/unstable/mcp_capabilities.rbs +29 -0
  327. data/sig/generated/acp/types/unstable/mcp_error.rbs +25 -0
  328. data/sig/generated/acp/types/unstable/mcp_server/acp.rbs +25 -0
  329. data/sig/generated/acp/types/unstable/mcp_server/http.rbs +29 -0
  330. data/sig/generated/acp/types/unstable/mcp_server/sse.rbs +29 -0
  331. data/sig/generated/acp/types/unstable/mcp_server.rbs +9 -0
  332. data/sig/generated/acp/types/unstable/mcp_server_acp.rbs +25 -0
  333. data/sig/generated/acp/types/unstable/message_mcp_notification.rbs +33 -0
  334. data/sig/generated/acp/types/unstable/message_mcp_request.rbs +33 -0
  335. data/sig/generated/acp/types/unstable/message_mcp_response/error.rbs +21 -0
  336. data/sig/generated/acp/types/unstable/message_mcp_response/result.rbs +21 -0
  337. data/sig/generated/acp/types/unstable/message_mcp_response.rbs +9 -0
  338. data/sig/generated/acp/types/unstable/nes_capabilities.rbs +25 -0
  339. data/sig/generated/acp/types/unstable/nes_context_capabilities.rbs +41 -0
  340. data/sig/generated/acp/types/unstable/nes_diagnostic.rbs +33 -0
  341. data/sig/generated/acp/types/unstable/nes_diagnostic_severity.rbs +11 -0
  342. data/sig/generated/acp/types/unstable/nes_diagnostics_capabilities.rbs +17 -0
  343. data/sig/generated/acp/types/unstable/nes_document_did_change_capabilities.rbs +21 -0
  344. data/sig/generated/acp/types/unstable/nes_document_did_close_capabilities.rbs +17 -0
  345. data/sig/generated/acp/types/unstable/nes_document_did_focus_capabilities.rbs +17 -0
  346. data/sig/generated/acp/types/unstable/nes_document_did_open_capabilities.rbs +17 -0
  347. data/sig/generated/acp/types/unstable/nes_document_did_save_capabilities.rbs +17 -0
  348. data/sig/generated/acp/types/unstable/nes_document_event_capabilities.rbs +37 -0
  349. data/sig/generated/acp/types/unstable/nes_edit_history_capabilities.rbs +21 -0
  350. data/sig/generated/acp/types/unstable/nes_edit_history_entry.rbs +25 -0
  351. data/sig/generated/acp/types/unstable/nes_edit_suggestion.rbs +33 -0
  352. data/sig/generated/acp/types/unstable/nes_event_capabilities.rbs +21 -0
  353. data/sig/generated/acp/types/unstable/nes_excerpt.rbs +29 -0
  354. data/sig/generated/acp/types/unstable/nes_jump_capabilities.rbs +17 -0
  355. data/sig/generated/acp/types/unstable/nes_jump_suggestion.rbs +29 -0
  356. data/sig/generated/acp/types/unstable/nes_open_file.rbs +33 -0
  357. data/sig/generated/acp/types/unstable/nes_open_files_capabilities.rbs +17 -0
  358. data/sig/generated/acp/types/unstable/nes_recent_file.rbs +29 -0
  359. data/sig/generated/acp/types/unstable/nes_recent_files_capabilities.rbs +21 -0
  360. data/sig/generated/acp/types/unstable/nes_reject_reason.rbs +11 -0
  361. data/sig/generated/acp/types/unstable/nes_related_snippet.rbs +25 -0
  362. data/sig/generated/acp/types/unstable/nes_related_snippets_capabilities.rbs +17 -0
  363. data/sig/generated/acp/types/unstable/nes_rename_capabilities.rbs +17 -0
  364. data/sig/generated/acp/types/unstable/nes_rename_suggestion.rbs +33 -0
  365. data/sig/generated/acp/types/unstable/nes_repository.rbs +29 -0
  366. data/sig/generated/acp/types/unstable/nes_search_and_replace_capabilities.rbs +17 -0
  367. data/sig/generated/acp/types/unstable/nes_search_and_replace_suggestion.rbs +37 -0
  368. data/sig/generated/acp/types/unstable/nes_suggest_context.rbs +41 -0
  369. data/sig/generated/acp/types/unstable/nes_suggestion/edit.rbs +33 -0
  370. data/sig/generated/acp/types/unstable/nes_suggestion/jump.rbs +29 -0
  371. data/sig/generated/acp/types/unstable/nes_suggestion/rename.rbs +33 -0
  372. data/sig/generated/acp/types/unstable/nes_suggestion/searchandreplace.rbs +37 -0
  373. data/sig/generated/acp/types/unstable/nes_suggestion.rbs +9 -0
  374. data/sig/generated/acp/types/unstable/nes_text_edit.rbs +25 -0
  375. data/sig/generated/acp/types/unstable/nes_trigger_kind.rbs +9 -0
  376. data/sig/generated/acp/types/unstable/nes_user_action.rbs +33 -0
  377. data/sig/generated/acp/types/unstable/nes_user_actions_capabilities.rbs +21 -0
  378. data/sig/generated/acp/types/unstable/notice.rbs +29 -0
  379. data/sig/generated/acp/types/unstable/notice_severity.rbs +9 -0
  380. data/sig/generated/acp/types/unstable/plan_capabilities.rbs +17 -0
  381. data/sig/generated/acp/types/unstable/plan_file.rbs +25 -0
  382. data/sig/generated/acp/types/unstable/plan_items.rbs +25 -0
  383. data/sig/generated/acp/types/unstable/plan_markdown.rbs +25 -0
  384. data/sig/generated/acp/types/unstable/plan_removed.rbs +21 -0
  385. data/sig/generated/acp/types/unstable/plan_update.rbs +21 -0
  386. data/sig/generated/acp/types/unstable/plan_update_content/file.rbs +25 -0
  387. data/sig/generated/acp/types/unstable/plan_update_content/items.rbs +25 -0
  388. data/sig/generated/acp/types/unstable/plan_update_content/markdown.rbs +25 -0
  389. data/sig/generated/acp/types/unstable/plan_update_content.rbs +9 -0
  390. data/sig/generated/acp/types/unstable/position.rbs +25 -0
  391. data/sig/generated/acp/types/unstable/position_encoding_kind.rbs +9 -0
  392. data/sig/generated/acp/types/unstable/prompt_response.rbs +25 -0
  393. data/sig/generated/acp/types/unstable/provider_current_config.rbs +25 -0
  394. data/sig/generated/acp/types/unstable/provider_info.rbs +33 -0
  395. data/sig/generated/acp/types/unstable/providers_capabilities.rbs +17 -0
  396. data/sig/generated/acp/types/unstable/range.rbs +25 -0
  397. data/sig/generated/acp/types/unstable/reject_nes_notification.rbs +29 -0
  398. data/sig/generated/acp/types/unstable/requires_action_state_update.rbs +17 -0
  399. data/sig/generated/acp/types/unstable/running_state_update.rbs +17 -0
  400. data/sig/generated/acp/types/unstable/session_cancel_capabilities.rbs +17 -0
  401. data/sig/generated/acp/types/unstable/session_capabilities.rbs +41 -0
  402. data/sig/generated/acp/types/unstable/session_fork_capabilities.rbs +17 -0
  403. data/sig/generated/acp/types/unstable/session_message.rbs +33 -0
  404. data/sig/generated/acp/types/unstable/session_message_chunk.rbs +33 -0
  405. data/sig/generated/acp/types/unstable/session_update/agent_message_chunk.rbs +25 -0
  406. data/sig/generated/acp/types/unstable/session_update/agent_thought_chunk.rbs +25 -0
  407. data/sig/generated/acp/types/unstable/session_update/available_commands_update.rbs +21 -0
  408. data/sig/generated/acp/types/unstable/session_update/compaction_summary_chunk.rbs +25 -0
  409. data/sig/generated/acp/types/unstable/session_update/compaction_update.rbs +33 -0
  410. data/sig/generated/acp/types/unstable/session_update/config_option_update.rbs +21 -0
  411. data/sig/generated/acp/types/unstable/session_update/current_mode_update.rbs +21 -0
  412. data/sig/generated/acp/types/unstable/session_update/notice.rbs +29 -0
  413. data/sig/generated/acp/types/unstable/session_update/plan.rbs +21 -0
  414. data/sig/generated/acp/types/unstable/session_update/plan_removed.rbs +21 -0
  415. data/sig/generated/acp/types/unstable/session_update/plan_update.rbs +21 -0
  416. data/sig/generated/acp/types/unstable/session_update/session_info_update.rbs +25 -0
  417. data/sig/generated/acp/types/unstable/session_update/session_message.rbs +33 -0
  418. data/sig/generated/acp/types/unstable/session_update/session_message_chunk.rbs +33 -0
  419. data/sig/generated/acp/types/unstable/session_update/subagent_update.rbs +37 -0
  420. data/sig/generated/acp/types/unstable/session_update/tool_call.rbs +53 -0
  421. data/sig/generated/acp/types/unstable/session_update/tool_call_update.rbs +53 -0
  422. data/sig/generated/acp/types/unstable/session_update/usage_update.rbs +29 -0
  423. data/sig/generated/acp/types/unstable/session_update/user_message_chunk.rbs +25 -0
  424. data/sig/generated/acp/types/unstable/session_update.rbs +9 -0
  425. data/sig/generated/acp/types/unstable/set_provider_request.rbs +33 -0
  426. data/sig/generated/acp/types/unstable/set_provider_response.rbs +17 -0
  427. data/sig/generated/acp/types/unstable/start_nes_request.rbs +29 -0
  428. data/sig/generated/acp/types/unstable/start_nes_response.rbs +21 -0
  429. data/sig/generated/acp/types/unstable/state_update/idle.rbs +25 -0
  430. data/sig/generated/acp/types/unstable/state_update/requires_action.rbs +17 -0
  431. data/sig/generated/acp/types/unstable/state_update/running.rbs +17 -0
  432. data/sig/generated/acp/types/unstable/state_update/unknown.rbs +17 -0
  433. data/sig/generated/acp/types/unstable/state_update.rbs +9 -0
  434. data/sig/generated/acp/types/unstable/subagent_capabilities.rbs +17 -0
  435. data/sig/generated/acp/types/unstable/subagent_session_capabilities.rbs +21 -0
  436. data/sig/generated/acp/types/unstable/subagent_update.rbs +37 -0
  437. data/sig/generated/acp/types/unstable/suggest_nes_request.rbs +45 -0
  438. data/sig/generated/acp/types/unstable/suggest_nes_response.rbs +21 -0
  439. data/sig/generated/acp/types/unstable/text_document_content_change_event.rbs +25 -0
  440. data/sig/generated/acp/types/unstable/text_document_sync_kind.rbs +7 -0
  441. data/sig/generated/acp/types/unstable/unknown_state_update.rbs +17 -0
  442. data/sig/generated/acp/types/unstable/usage.rbs +41 -0
  443. data/sig/generated/acp/types/unstable/workspace_folder.rbs +25 -0
  444. data/sig/generated/acp/types/unstable.rbs +4 -0
  445. data/sig/generated/acp/types.rbs +143 -0
  446. metadata +289 -1
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::SubagentUpdate
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic title
11
+ attr_reader :title #: String?
12
+
13
+ # @dynamic description
14
+ attr_reader :description #: String?
15
+
16
+ # @dynamic capabilities
17
+ attr_reader :capabilities #: ACP::Types::Unstable::SubagentSessionCapabilities?
18
+
19
+ # @dynamic state
20
+ attr_reader :state #: ACP::Types::Unstable::StateUpdate::t?
21
+
22
+ # @dynamic meta
23
+ attr_reader :meta #: Hash[String, untyped]?
24
+
25
+ # @rbs session_id: String
26
+ # @rbs title: String?
27
+ # @rbs description: String?
28
+ # @rbs capabilities: ACP::Types::Unstable::SubagentSessionCapabilities?
29
+ # @rbs state: ACP::Types::Unstable::StateUpdate::t?
30
+ # @rbs meta: Hash[String, untyped]?
31
+ # @rbs return: void
32
+ def initialize(session_id:, title: nil, description: nil, capabilities: nil, state: nil, meta: nil)
33
+ @session_id = session_id
34
+ @title = title
35
+ @description = description
36
+ @capabilities = capabilities
37
+ @state = state
38
+ @meta = meta
39
+ freeze
40
+ end
41
+
42
+ # @rbs hash: Hash[String, untyped]
43
+ # @rbs return: ACP::Types::Unstable::SubagentUpdate
44
+ def self.from_h(hash)
45
+ new(
46
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
47
+ title: ACP::Types::Check.string(hash['title'], 'title', allow_nil: true),
48
+ description: ACP::Types::Check.string(hash['description'], 'description', allow_nil: true),
49
+ capabilities: ACP::Types::Check.object(
50
+ hash['capabilities'],
51
+ 'capabilities',
52
+ ACP::Types::Unstable::SubagentSessionCapabilities,
53
+ allow_nil: true
54
+ ),
55
+ state: ACP::Types::Check.object(hash['state'], 'state', ACP::Types::Unstable::StateUpdate, allow_nil: true),
56
+ meta: hash['_meta']
57
+ )
58
+ end
59
+
60
+ # @rbs return: Hash[String, untyped]
61
+ def to_h
62
+ {
63
+ 'sessionId' => session_id,
64
+ 'title' => title,
65
+ 'description' => description,
66
+ 'capabilities' => capabilities&.to_h,
67
+ 'state' => state&.to_h,
68
+ '_meta' => meta
69
+ }.compact
70
+ end
71
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::SuggestNesRequest
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic version
14
+ attr_reader :version #: Integer
15
+
16
+ # @dynamic position
17
+ attr_reader :position #: ACP::Types::Unstable::Position
18
+
19
+ # @dynamic selection
20
+ attr_reader :selection #: ACP::Types::Unstable::Range?
21
+
22
+ # @dynamic trigger_kind
23
+ attr_reader :trigger_kind #: String
24
+
25
+ # @dynamic context
26
+ attr_reader :context #: ACP::Types::Unstable::NesSuggestContext?
27
+
28
+ # @dynamic meta
29
+ attr_reader :meta #: Hash[String, untyped]?
30
+
31
+ # @rbs session_id: String
32
+ # @rbs uri: String
33
+ # @rbs version: Integer
34
+ # @rbs position: ACP::Types::Unstable::Position
35
+ # @rbs selection: ACP::Types::Unstable::Range?
36
+ # @rbs trigger_kind: String
37
+ # @rbs context: ACP::Types::Unstable::NesSuggestContext?
38
+ # @rbs meta: Hash[String, untyped]?
39
+ # @rbs return: void
40
+ def initialize(session_id:, uri:, version:, position:, trigger_kind:, selection: nil, context: nil, meta: nil)
41
+ @session_id = session_id
42
+ @uri = uri
43
+ @version = version
44
+ @position = position
45
+ @selection = selection
46
+ @trigger_kind = trigger_kind
47
+ @context = context
48
+ @meta = meta
49
+ freeze
50
+ end
51
+
52
+ # @rbs hash: Hash[String, untyped]
53
+ # @rbs return: ACP::Types::Unstable::SuggestNesRequest
54
+ def self.from_h(hash)
55
+ new(
56
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
57
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
58
+ version: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'version'), 'version'),
59
+ position: ACP::Types::Check.object(
60
+ ACP::Types::Check.key(hash, 'position'),
61
+ 'position',
62
+ ACP::Types::Unstable::Position
63
+ ),
64
+ selection: ACP::Types::Check.object(hash['selection'], 'selection', ACP::Types::Unstable::Range, allow_nil: true),
65
+ trigger_kind: ACP::Types::Check.enum(
66
+ ACP::Types::Check.key(hash, 'triggerKind'),
67
+ 'triggerKind',
68
+ %w[automatic diagnostic manual]
69
+ ),
70
+ context: ACP::Types::Check.object(
71
+ hash['context'],
72
+ 'context',
73
+ ACP::Types::Unstable::NesSuggestContext,
74
+ allow_nil: true
75
+ ),
76
+ meta: hash['_meta']
77
+ )
78
+ end
79
+
80
+ # @rbs return: Hash[String, untyped]
81
+ def to_h
82
+ {
83
+ 'sessionId' => session_id,
84
+ 'uri' => uri,
85
+ 'version' => version,
86
+ 'position' => position.to_h,
87
+ 'triggerKind' => trigger_kind,
88
+ 'selection' => selection&.to_h,
89
+ 'context' => context&.to_h,
90
+ '_meta' => meta
91
+ }.compact
92
+ end
93
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::SuggestNesResponse
7
+ # @dynamic suggestions
8
+ attr_reader :suggestions #: Array[ACP::Types::Unstable::NesSuggestion::t]
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs suggestions: Array[ACP::Types::Unstable::NesSuggestion::t]
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(suggestions:, meta: nil)
17
+ @suggestions = suggestions
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::SuggestNesResponse
24
+ def self.from_h(hash)
25
+ suggestions = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'suggestions'), 'suggestions') do |item, path|
26
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesSuggestion)
27
+ end
28
+ new(suggestions:, meta: hash['_meta'])
29
+ end
30
+
31
+ # @rbs return: Hash[String, untyped]
32
+ def to_h
33
+ { 'suggestions' => suggestions.map(&:to_h), '_meta' => meta }.compact
34
+ end
35
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::TextDocumentContentChangeEvent
7
+ # @dynamic range
8
+ attr_reader :range #: ACP::Types::Unstable::Range?
9
+
10
+ # @dynamic text
11
+ attr_reader :text #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs range: ACP::Types::Unstable::Range?
17
+ # @rbs text: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(text:, range: nil, meta: nil)
21
+ @range = range
22
+ @text = text
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::TextDocumentContentChangeEvent
29
+ def self.from_h(hash)
30
+ new(
31
+ range: ACP::Types::Check.object(hash['range'], 'range', ACP::Types::Unstable::Range, allow_nil: true),
32
+ text: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'text'), 'text'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'text' => text, 'range' => range&.to_h, '_meta' => meta }.compact
40
+ end
41
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ module ACP::Types::Unstable::TextDocumentSyncKind
7
+ FULL = 'full'
8
+ INCREMENTAL = 'incremental'
9
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::UnknownStateUpdate
7
+ # @dynamic meta
8
+ attr_reader :meta #: Hash[String, untyped]?
9
+
10
+ # @rbs meta: Hash[String, untyped]?
11
+ # @rbs return: void
12
+ def initialize(meta: nil)
13
+ @meta = meta
14
+ freeze
15
+ end
16
+
17
+ # @rbs hash: Hash[String, untyped]
18
+ # @rbs return: ACP::Types::Unstable::UnknownStateUpdate
19
+ def self.from_h(hash)
20
+ new(meta: hash['_meta'])
21
+ end
22
+
23
+ # @rbs return: Hash[String, untyped]
24
+ def to_h
25
+ { '_meta' => meta }.compact
26
+ end
27
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::Usage
7
+ # @dynamic total_tokens
8
+ attr_reader :total_tokens #: Integer
9
+
10
+ # @dynamic input_tokens
11
+ attr_reader :input_tokens #: Integer
12
+
13
+ # @dynamic output_tokens
14
+ attr_reader :output_tokens #: Integer
15
+
16
+ # @dynamic thought_tokens
17
+ attr_reader :thought_tokens #: Integer?
18
+
19
+ # @dynamic cached_read_tokens
20
+ attr_reader :cached_read_tokens #: Integer?
21
+
22
+ # @dynamic cached_write_tokens
23
+ attr_reader :cached_write_tokens #: Integer?
24
+
25
+ # @dynamic meta
26
+ attr_reader :meta #: Hash[String, untyped]?
27
+
28
+ # @rbs total_tokens: Integer
29
+ # @rbs input_tokens: Integer
30
+ # @rbs output_tokens: Integer
31
+ # @rbs thought_tokens: Integer?
32
+ # @rbs cached_read_tokens: Integer?
33
+ # @rbs cached_write_tokens: Integer?
34
+ # @rbs meta: Hash[String, untyped]?
35
+ # @rbs return: void
36
+ def initialize(
37
+ total_tokens:,
38
+ input_tokens:,
39
+ output_tokens:,
40
+ thought_tokens: nil,
41
+ cached_read_tokens: nil,
42
+ cached_write_tokens: nil,
43
+ meta: nil
44
+ )
45
+ @total_tokens = total_tokens
46
+ @input_tokens = input_tokens
47
+ @output_tokens = output_tokens
48
+ @thought_tokens = thought_tokens
49
+ @cached_read_tokens = cached_read_tokens
50
+ @cached_write_tokens = cached_write_tokens
51
+ @meta = meta
52
+ freeze
53
+ end
54
+
55
+ # @rbs hash: Hash[String, untyped]
56
+ # @rbs return: ACP::Types::Unstable::Usage
57
+ def self.from_h(hash)
58
+ new(
59
+ total_tokens: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'totalTokens'), 'totalTokens', min: 0),
60
+ input_tokens: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'inputTokens'), 'inputTokens', min: 0),
61
+ output_tokens: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'outputTokens'), 'outputTokens', min: 0),
62
+ thought_tokens: ACP::Types::Check.integer(hash['thoughtTokens'], 'thoughtTokens', min: 0, allow_nil: true),
63
+ cached_read_tokens: ACP::Types::Check.integer(
64
+ hash['cachedReadTokens'],
65
+ 'cachedReadTokens',
66
+ min: 0,
67
+ allow_nil: true
68
+ ),
69
+ cached_write_tokens: ACP::Types::Check.integer(
70
+ hash['cachedWriteTokens'],
71
+ 'cachedWriteTokens',
72
+ min: 0,
73
+ allow_nil: true
74
+ ),
75
+ meta: hash['_meta']
76
+ )
77
+ end
78
+
79
+ # @rbs return: Hash[String, untyped]
80
+ def to_h
81
+ {
82
+ 'totalTokens' => total_tokens,
83
+ 'inputTokens' => input_tokens,
84
+ 'outputTokens' => output_tokens,
85
+ 'thoughtTokens' => thought_tokens,
86
+ 'cachedReadTokens' => cached_read_tokens,
87
+ 'cachedWriteTokens' => cached_write_tokens,
88
+ '_meta' => meta
89
+ }.compact
90
+ end
91
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ # Unstable: not part of the ACP spec, may change or disappear at any point.
5
+
6
+ class ACP::Types::Unstable::WorkspaceFolder
7
+ # @dynamic uri
8
+ attr_reader :uri #: String
9
+
10
+ # @dynamic name
11
+ attr_reader :name #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs uri: String
17
+ # @rbs name: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(uri:, name:, meta: nil)
21
+ @uri = uri
22
+ @name = name
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::WorkspaceFolder
29
+ def self.from_h(hash)
30
+ new(
31
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
32
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'uri' => uri, 'name' => name, '_meta' => meta }.compact
40
+ end
41
+ end
@@ -0,0 +1,155 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by bin/types from schema/schema.unstable.json. Do not edit.
4
+ #
5
+ # Callers opt into the unstable types with `require 'acp/types/unstable'`.
6
+ # Zeitwerk ignores lib/acp/types/unstable, so referencing
7
+ # ACP::Types::Unstable without this require raises NameError.
8
+ # These types are not part of the ACP spec and may change or disappear at
9
+ # any point; the stable ACP::Types namespace is unaffected.
10
+
11
+ module ACP::Types::Unstable
12
+ end
13
+
14
+ require_relative 'unstable/accept_nes_notification'
15
+ require_relative 'unstable/agent_capabilities'
16
+ require_relative 'unstable/client_capabilities'
17
+ require_relative 'unstable/client_nes_capabilities'
18
+ require_relative 'unstable/client_session_capabilities'
19
+ require_relative 'unstable/close_nes_request'
20
+ require_relative 'unstable/close_nes_response'
21
+ require_relative 'unstable/compaction_status'
22
+ require_relative 'unstable/compaction_summary_chunk'
23
+ require_relative 'unstable/compaction_update'
24
+ require_relative 'unstable/did_change_document_notification'
25
+ require_relative 'unstable/did_close_document_notification'
26
+ require_relative 'unstable/did_focus_document_notification'
27
+ require_relative 'unstable/did_open_document_notification'
28
+ require_relative 'unstable/did_save_document_notification'
29
+ require_relative 'unstable/disable_provider_request'
30
+ require_relative 'unstable/disable_provider_response'
31
+ require_relative 'unstable/fork_session_request'
32
+ require_relative 'unstable/fork_session_response'
33
+ require_relative 'unstable/idle_state_update'
34
+ require_relative 'unstable/initialize_response'
35
+ require_relative 'unstable/list_providers_request'
36
+ require_relative 'unstable/list_providers_response'
37
+ require_relative 'unstable/llm_protocol'
38
+ require_relative 'unstable/mcp_capabilities'
39
+ require_relative 'unstable/mcp_error'
40
+ require_relative 'unstable/mcp_server'
41
+ require_relative 'unstable/mcp_server/acp'
42
+ require_relative 'unstable/mcp_server/http'
43
+ require_relative 'unstable/mcp_server/sse'
44
+ require_relative 'unstable/mcp_server_acp'
45
+ require_relative 'unstable/message_mcp_notification'
46
+ require_relative 'unstable/message_mcp_request'
47
+ require_relative 'unstable/message_mcp_response'
48
+ require_relative 'unstable/message_mcp_response/error'
49
+ require_relative 'unstable/message_mcp_response/result'
50
+ require_relative 'unstable/nes_capabilities'
51
+ require_relative 'unstable/nes_context_capabilities'
52
+ require_relative 'unstable/nes_diagnostic'
53
+ require_relative 'unstable/nes_diagnostic_severity'
54
+ require_relative 'unstable/nes_diagnostics_capabilities'
55
+ require_relative 'unstable/nes_document_did_change_capabilities'
56
+ require_relative 'unstable/nes_document_did_close_capabilities'
57
+ require_relative 'unstable/nes_document_did_focus_capabilities'
58
+ require_relative 'unstable/nes_document_did_open_capabilities'
59
+ require_relative 'unstable/nes_document_did_save_capabilities'
60
+ require_relative 'unstable/nes_document_event_capabilities'
61
+ require_relative 'unstable/nes_edit_history_capabilities'
62
+ require_relative 'unstable/nes_edit_history_entry'
63
+ require_relative 'unstable/nes_edit_suggestion'
64
+ require_relative 'unstable/nes_event_capabilities'
65
+ require_relative 'unstable/nes_excerpt'
66
+ require_relative 'unstable/nes_jump_capabilities'
67
+ require_relative 'unstable/nes_jump_suggestion'
68
+ require_relative 'unstable/nes_open_file'
69
+ require_relative 'unstable/nes_open_files_capabilities'
70
+ require_relative 'unstable/nes_recent_file'
71
+ require_relative 'unstable/nes_recent_files_capabilities'
72
+ require_relative 'unstable/nes_reject_reason'
73
+ require_relative 'unstable/nes_related_snippet'
74
+ require_relative 'unstable/nes_related_snippets_capabilities'
75
+ require_relative 'unstable/nes_rename_capabilities'
76
+ require_relative 'unstable/nes_rename_suggestion'
77
+ require_relative 'unstable/nes_repository'
78
+ require_relative 'unstable/nes_search_and_replace_capabilities'
79
+ require_relative 'unstable/nes_search_and_replace_suggestion'
80
+ require_relative 'unstable/nes_suggest_context'
81
+ require_relative 'unstable/nes_suggestion'
82
+ require_relative 'unstable/nes_suggestion/edit'
83
+ require_relative 'unstable/nes_suggestion/jump'
84
+ require_relative 'unstable/nes_suggestion/rename'
85
+ require_relative 'unstable/nes_suggestion/searchandreplace'
86
+ require_relative 'unstable/nes_text_edit'
87
+ require_relative 'unstable/nes_trigger_kind'
88
+ require_relative 'unstable/nes_user_action'
89
+ require_relative 'unstable/nes_user_actions_capabilities'
90
+ require_relative 'unstable/notice'
91
+ require_relative 'unstable/notice_severity'
92
+ require_relative 'unstable/plan_capabilities'
93
+ require_relative 'unstable/plan_file'
94
+ require_relative 'unstable/plan_items'
95
+ require_relative 'unstable/plan_markdown'
96
+ require_relative 'unstable/plan_removed'
97
+ require_relative 'unstable/plan_update'
98
+ require_relative 'unstable/plan_update_content'
99
+ require_relative 'unstable/plan_update_content/file'
100
+ require_relative 'unstable/plan_update_content/items'
101
+ require_relative 'unstable/plan_update_content/markdown'
102
+ require_relative 'unstable/position'
103
+ require_relative 'unstable/position_encoding_kind'
104
+ require_relative 'unstable/prompt_response'
105
+ require_relative 'unstable/provider_current_config'
106
+ require_relative 'unstable/provider_info'
107
+ require_relative 'unstable/providers_capabilities'
108
+ require_relative 'unstable/range'
109
+ require_relative 'unstable/reject_nes_notification'
110
+ require_relative 'unstable/requires_action_state_update'
111
+ require_relative 'unstable/running_state_update'
112
+ require_relative 'unstable/session_cancel_capabilities'
113
+ require_relative 'unstable/session_capabilities'
114
+ require_relative 'unstable/session_fork_capabilities'
115
+ require_relative 'unstable/session_message'
116
+ require_relative 'unstable/session_message_chunk'
117
+ require_relative 'unstable/session_update'
118
+ require_relative 'unstable/session_update/agent_message_chunk'
119
+ require_relative 'unstable/session_update/agent_thought_chunk'
120
+ require_relative 'unstable/session_update/available_commands_update'
121
+ require_relative 'unstable/session_update/compaction_summary_chunk'
122
+ require_relative 'unstable/session_update/compaction_update'
123
+ require_relative 'unstable/session_update/config_option_update'
124
+ require_relative 'unstable/session_update/current_mode_update'
125
+ require_relative 'unstable/session_update/notice'
126
+ require_relative 'unstable/session_update/plan'
127
+ require_relative 'unstable/session_update/plan_removed'
128
+ require_relative 'unstable/session_update/plan_update'
129
+ require_relative 'unstable/session_update/session_info_update'
130
+ require_relative 'unstable/session_update/session_message'
131
+ require_relative 'unstable/session_update/session_message_chunk'
132
+ require_relative 'unstable/session_update/subagent_update'
133
+ require_relative 'unstable/session_update/tool_call'
134
+ require_relative 'unstable/session_update/tool_call_update'
135
+ require_relative 'unstable/session_update/usage_update'
136
+ require_relative 'unstable/session_update/user_message_chunk'
137
+ require_relative 'unstable/set_provider_request'
138
+ require_relative 'unstable/set_provider_response'
139
+ require_relative 'unstable/start_nes_request'
140
+ require_relative 'unstable/start_nes_response'
141
+ require_relative 'unstable/state_update'
142
+ require_relative 'unstable/state_update/idle'
143
+ require_relative 'unstable/state_update/requires_action'
144
+ require_relative 'unstable/state_update/running'
145
+ require_relative 'unstable/state_update/unknown'
146
+ require_relative 'unstable/subagent_capabilities'
147
+ require_relative 'unstable/subagent_session_capabilities'
148
+ require_relative 'unstable/subagent_update'
149
+ require_relative 'unstable/suggest_nes_request'
150
+ require_relative 'unstable/suggest_nes_response'
151
+ require_relative 'unstable/text_document_content_change_event'
152
+ require_relative 'unstable/text_document_sync_kind'
153
+ require_relative 'unstable/unknown_state_update'
154
+ require_relative 'unstable/usage'
155
+ require_relative 'unstable/workspace_folder'
@@ -21,7 +21,7 @@ class ACP::Types::UnstructuredCommandInput
21
21
  # @rbs hash: Hash[String, untyped]
22
22
  # @rbs return: ACP::Types::UnstructuredCommandInput
23
23
  def self.from_h(hash)
24
- new(hint: hash.fetch('hint'), meta: hash['_meta'])
24
+ new(hint: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'hint'), 'hint'), meta: hash['_meta'])
25
25
  end
26
26
 
27
27
  # @rbs return: Hash[String, untyped]
@@ -32,9 +32,9 @@ class ACP::Types::UsageUpdate
32
32
  # @rbs return: ACP::Types::UsageUpdate
33
33
  def self.from_h(hash)
34
34
  new(
35
- used: hash.fetch('used'),
36
- size: hash.fetch('size'),
37
- cost: hash['cost']&.then { |value| ACP::Types::Cost.from_h(value) },
35
+ used: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'used'), 'used', min: 0),
36
+ size: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'size'), 'size', min: 0),
37
+ cost: ACP::Types::Check.object(hash['cost'], 'cost', ACP::Types::Cost, allow_nil: true),
38
38
  meta: hash['_meta']
39
39
  )
40
40
  end
@@ -26,7 +26,11 @@ class ACP::Types::WaitForTerminalExitRequest
26
26
  # @rbs hash: Hash[String, untyped]
27
27
  # @rbs return: ACP::Types::WaitForTerminalExitRequest
28
28
  def self.from_h(hash)
29
- new(session_id: hash.fetch('sessionId'), terminal_id: hash.fetch('terminalId'), meta: hash['_meta'])
29
+ new(
30
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
31
+ terminal_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'terminalId'), 'terminalId'),
32
+ meta: hash['_meta']
33
+ )
30
34
  end
31
35
 
32
36
  # @rbs return: Hash[String, untyped]
@@ -26,7 +26,11 @@ class ACP::Types::WaitForTerminalExitResponse
26
26
  # @rbs hash: Hash[String, untyped]
27
27
  # @rbs return: ACP::Types::WaitForTerminalExitResponse
28
28
  def self.from_h(hash)
29
- new(exit_code: hash['exitCode'], signal: hash['signal'], meta: hash['_meta'])
29
+ new(
30
+ exit_code: ACP::Types::Check.integer(hash['exitCode'], 'exitCode', min: 0, allow_nil: true),
31
+ signal: ACP::Types::Check.string(hash['signal'], 'signal', allow_nil: true),
32
+ meta: hash['_meta']
33
+ )
30
34
  end
31
35
 
32
36
  # @rbs return: Hash[String, untyped]
@@ -32,9 +32,9 @@ class ACP::Types::WriteTextFileRequest
32
32
  # @rbs return: ACP::Types::WriteTextFileRequest
33
33
  def self.from_h(hash)
34
34
  new(
35
- session_id: hash.fetch('sessionId'),
36
- path: hash.fetch('path'),
37
- content: hash.fetch('content'),
35
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
36
+ path: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'path'), 'path'),
37
+ content: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'content'), 'content'),
38
38
  meta: hash['_meta']
39
39
  )
40
40
  end