acp-sdk 0.8.0 → 0.10.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 (317) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +18 -4
  4. data/lib/acp/agent_connection/client.rb +31 -1
  5. data/lib/acp/agent_connection/optional_method/disable_provider.rb +23 -0
  6. data/lib/acp/agent_connection/optional_method/fork_session.rb +23 -0
  7. data/lib/acp/agent_connection/optional_method/list_providers.rb +23 -0
  8. data/lib/acp/agent_connection/optional_method/set_provider.rb +23 -0
  9. data/lib/acp/agent_connection.rb +73 -3
  10. data/lib/acp/client_connection.rb +108 -9
  11. data/lib/acp/request_error.rb +10 -0
  12. data/lib/acp/sdk.rb +3 -1
  13. data/lib/acp/transport/cancellation.rb +42 -0
  14. data/lib/acp/transport/stdio.rb +72 -1
  15. data/lib/acp/types/unstable/accept_nes_notification.rb +41 -0
  16. data/lib/acp/types/unstable/agent_capabilities.rb +122 -0
  17. data/lib/acp/types/unstable/client_capabilities.rb +127 -0
  18. data/lib/acp/types/unstable/client_nes_capabilities.rb +62 -0
  19. data/lib/acp/types/unstable/client_session_capabilities.rb +57 -0
  20. data/lib/acp/types/unstable/close_nes_request.rb +35 -0
  21. data/lib/acp/types/unstable/close_nes_response.rb +27 -0
  22. data/lib/acp/types/unstable/compaction_status.rb +11 -0
  23. data/lib/acp/types/unstable/compaction_summary_chunk.rb +41 -0
  24. data/lib/acp/types/unstable/compaction_update.rb +62 -0
  25. data/lib/acp/types/unstable/did_change_document_notification.rb +65 -0
  26. data/lib/acp/types/unstable/did_close_document_notification.rb +41 -0
  27. data/lib/acp/types/unstable/did_focus_document_notification.rb +74 -0
  28. data/lib/acp/types/unstable/did_open_document_notification.rb +66 -0
  29. data/lib/acp/types/unstable/did_save_document_notification.rb +41 -0
  30. data/lib/acp/types/unstable/disable_provider_request.rb +35 -0
  31. data/lib/acp/types/unstable/disable_provider_response.rb +27 -0
  32. data/lib/acp/types/unstable/fork_session_request.rb +69 -0
  33. data/lib/acp/types/unstable/fork_session_response.rb +55 -0
  34. data/lib/acp/types/unstable/idle_state_update.rb +46 -0
  35. data/lib/acp/types/unstable/initialize_response.rb +72 -0
  36. data/lib/acp/types/unstable/list_providers_request.rb +27 -0
  37. data/lib/acp/types/unstable/list_providers_response.rb +35 -0
  38. data/lib/acp/types/unstable/llm_protocol.rb +12 -0
  39. data/lib/acp/types/unstable/mcp_capabilities.rb +47 -0
  40. data/lib/acp/types/unstable/mcp_error.rb +41 -0
  41. data/lib/acp/types/unstable/mcp_server/acp.rb +41 -0
  42. data/lib/acp/types/unstable/mcp_server/http.rb +50 -0
  43. data/lib/acp/types/unstable/mcp_server/sse.rb +50 -0
  44. data/lib/acp/types/unstable/mcp_server.rb +25 -0
  45. data/lib/acp/types/unstable/mcp_server_acp.rb +41 -0
  46. data/lib/acp/types/unstable/message_mcp_notification.rb +59 -0
  47. data/lib/acp/types/unstable/message_mcp_request.rb +59 -0
  48. data/lib/acp/types/unstable/message_mcp_response/error.rb +35 -0
  49. data/lib/acp/types/unstable/message_mcp_response/result.rb +32 -0
  50. data/lib/acp/types/unstable/message_mcp_response.rb +23 -0
  51. data/lib/acp/types/unstable/nes_capabilities.rb +51 -0
  52. data/lib/acp/types/unstable/nes_context_capabilities.rb +111 -0
  53. data/lib/acp/types/unstable/nes_diagnostic.rb +57 -0
  54. data/lib/acp/types/unstable/nes_diagnostic_severity.rb +11 -0
  55. data/lib/acp/types/unstable/nes_diagnostics_capabilities.rb +27 -0
  56. data/lib/acp/types/unstable/nes_document_did_change_capabilities.rb +35 -0
  57. data/lib/acp/types/unstable/nes_document_did_close_capabilities.rb +27 -0
  58. data/lib/acp/types/unstable/nes_document_did_focus_capabilities.rb +27 -0
  59. data/lib/acp/types/unstable/nes_document_did_open_capabilities.rb +27 -0
  60. data/lib/acp/types/unstable/nes_document_did_save_capabilities.rb +27 -0
  61. data/lib/acp/types/unstable/nes_document_event_capabilities.rb +91 -0
  62. data/lib/acp/types/unstable/nes_edit_history_capabilities.rb +35 -0
  63. data/lib/acp/types/unstable/nes_edit_history_entry.rb +41 -0
  64. data/lib/acp/types/unstable/nes_edit_suggestion.rb +67 -0
  65. data/lib/acp/types/unstable/nes_event_capabilities.rb +40 -0
  66. data/lib/acp/types/unstable/nes_excerpt.rb +47 -0
  67. data/lib/acp/types/unstable/nes_jump_capabilities.rb +27 -0
  68. data/lib/acp/types/unstable/nes_jump_suggestion.rb +51 -0
  69. data/lib/acp/types/unstable/nes_open_file.rb +64 -0
  70. data/lib/acp/types/unstable/nes_open_files_capabilities.rb +27 -0
  71. data/lib/acp/types/unstable/nes_recent_file.rb +47 -0
  72. data/lib/acp/types/unstable/nes_recent_files_capabilities.rb +35 -0
  73. data/lib/acp/types/unstable/nes_reject_reason.rb +11 -0
  74. data/lib/acp/types/unstable/nes_related_snippet.rb +40 -0
  75. data/lib/acp/types/unstable/nes_related_snippets_capabilities.rb +27 -0
  76. data/lib/acp/types/unstable/nes_rename_capabilities.rb +27 -0
  77. data/lib/acp/types/unstable/nes_rename_suggestion.rb +57 -0
  78. data/lib/acp/types/unstable/nes_repository.rb +47 -0
  79. data/lib/acp/types/unstable/nes_search_and_replace_capabilities.rb +27 -0
  80. data/lib/acp/types/unstable/nes_search_and_replace_suggestion.rb +66 -0
  81. data/lib/acp/types/unstable/nes_suggest_context.rb +95 -0
  82. data/lib/acp/types/unstable/nes_suggestion/edit.rb +68 -0
  83. data/lib/acp/types/unstable/nes_suggestion/jump.rb +51 -0
  84. data/lib/acp/types/unstable/nes_suggestion/rename.rb +64 -0
  85. data/lib/acp/types/unstable/nes_suggestion/searchandreplace.rb +67 -0
  86. data/lib/acp/types/unstable/nes_suggestion.rb +25 -0
  87. data/lib/acp/types/unstable/nes_text_edit.rb +41 -0
  88. data/lib/acp/types/unstable/nes_trigger_kind.rb +10 -0
  89. data/lib/acp/types/unstable/nes_user_action.rb +63 -0
  90. data/lib/acp/types/unstable/nes_user_actions_capabilities.rb +35 -0
  91. data/lib/acp/types/unstable/notice.rb +47 -0
  92. data/lib/acp/types/unstable/notice_severity.rb +10 -0
  93. data/lib/acp/types/unstable/plan_capabilities.rb +27 -0
  94. data/lib/acp/types/unstable/plan_file.rb +41 -0
  95. data/lib/acp/types/unstable/plan_items.rb +44 -0
  96. data/lib/acp/types/unstable/plan_markdown.rb +41 -0
  97. data/lib/acp/types/unstable/plan_removed.rb +32 -0
  98. data/lib/acp/types/unstable/plan_update.rb +39 -0
  99. data/lib/acp/types/unstable/plan_update_content/file.rb +41 -0
  100. data/lib/acp/types/unstable/plan_update_content/items.rb +44 -0
  101. data/lib/acp/types/unstable/plan_update_content/markdown.rb +41 -0
  102. data/lib/acp/types/unstable/plan_update_content.rb +23 -0
  103. data/lib/acp/types/unstable/position.rb +41 -0
  104. data/lib/acp/types/unstable/position_encoding_kind.rb +10 -0
  105. data/lib/acp/types/unstable/prompt_response.rb +45 -0
  106. data/lib/acp/types/unstable/provider_current_config.rb +41 -0
  107. data/lib/acp/types/unstable/provider_info.rb +64 -0
  108. data/lib/acp/types/unstable/providers_capabilities.rb +27 -0
  109. data/lib/acp/types/unstable/range.rb +41 -0
  110. data/lib/acp/types/unstable/reject_nes_notification.rb +52 -0
  111. data/lib/acp/types/unstable/requires_action_state_update.rb +27 -0
  112. data/lib/acp/types/unstable/running_state_update.rb +27 -0
  113. data/lib/acp/types/unstable/session_cancel_capabilities.rb +27 -0
  114. data/lib/acp/types/unstable/session_capabilities.rb +93 -0
  115. data/lib/acp/types/unstable/session_fork_capabilities.rb +27 -0
  116. data/lib/acp/types/unstable/session_message.rb +62 -0
  117. data/lib/acp/types/unstable/session_message_chunk.rb +59 -0
  118. data/lib/acp/types/unstable/session_update/agent_message_chunk.rb +46 -0
  119. data/lib/acp/types/unstable/session_update/agent_thought_chunk.rb +46 -0
  120. data/lib/acp/types/unstable/session_update/available_commands_update.rb +42 -0
  121. data/lib/acp/types/unstable/session_update/compaction_summary_chunk.rb +46 -0
  122. data/lib/acp/types/unstable/session_update/compaction_update.rb +63 -0
  123. data/lib/acp/types/unstable/session_update/config_option_update.rb +42 -0
  124. data/lib/acp/types/unstable/session_update/current_mode_update.rb +35 -0
  125. data/lib/acp/types/unstable/session_update/notice.rb +53 -0
  126. data/lib/acp/types/unstable/session_update/plan.rb +35 -0
  127. data/lib/acp/types/unstable/session_update/plan_removed.rb +32 -0
  128. data/lib/acp/types/unstable/session_update/plan_update.rb +39 -0
  129. data/lib/acp/types/unstable/session_update/session_info_update.rb +49 -0
  130. data/lib/acp/types/unstable/session_update/session_message.rb +63 -0
  131. data/lib/acp/types/unstable/session_update/session_message_chunk.rb +60 -0
  132. data/lib/acp/types/unstable/session_update/subagent_update.rb +72 -0
  133. data/lib/acp/types/unstable/session_update/tool_call.rb +122 -0
  134. data/lib/acp/types/unstable/session_update/tool_call_update.rb +122 -0
  135. data/lib/acp/types/unstable/session_update/usage_update.rb +47 -0
  136. data/lib/acp/types/unstable/session_update/user_message_chunk.rb +46 -0
  137. data/lib/acp/types/unstable/session_update.rb +55 -0
  138. data/lib/acp/types/unstable/set_provider_request.rb +62 -0
  139. data/lib/acp/types/unstable/set_provider_response.rb +27 -0
  140. data/lib/acp/types/unstable/start_nes_request.rb +64 -0
  141. data/lib/acp/types/unstable/start_nes_response.rb +35 -0
  142. data/lib/acp/types/unstable/state_update/idle.rb +46 -0
  143. data/lib/acp/types/unstable/state_update/requires_action.rb +27 -0
  144. data/lib/acp/types/unstable/state_update/running.rb +27 -0
  145. data/lib/acp/types/unstable/state_update/unknown.rb +27 -0
  146. data/lib/acp/types/unstable/state_update.rb +25 -0
  147. data/lib/acp/types/unstable/subagent_capabilities.rb +27 -0
  148. data/lib/acp/types/unstable/subagent_session_capabilities.rb +40 -0
  149. data/lib/acp/types/unstable/subagent_update.rb +71 -0
  150. data/lib/acp/types/unstable/suggest_nes_request.rb +93 -0
  151. data/lib/acp/types/unstable/suggest_nes_response.rb +35 -0
  152. data/lib/acp/types/unstable/text_document_content_change_event.rb +41 -0
  153. data/lib/acp/types/unstable/text_document_sync_kind.rb +9 -0
  154. data/lib/acp/types/unstable/unknown_state_update.rb +27 -0
  155. data/lib/acp/types/unstable/usage.rb +91 -0
  156. data/lib/acp/types/unstable/workspace_folder.rb +41 -0
  157. data/lib/acp/types/unstable.rb +155 -0
  158. data/lib/acp/version.rb +1 -1
  159. data/sig/generated/acp/agent_connection/client.rbs +20 -1
  160. data/sig/generated/acp/agent_connection/optional_method/disable_provider.rbs +13 -0
  161. data/sig/generated/acp/agent_connection/optional_method/fork_session.rbs +13 -0
  162. data/sig/generated/acp/agent_connection/optional_method/list_providers.rbs +13 -0
  163. data/sig/generated/acp/agent_connection/optional_method/set_provider.rbs +13 -0
  164. data/sig/generated/acp/agent_connection.rbs +29 -0
  165. data/sig/generated/acp/client_connection.rbs +57 -1
  166. data/sig/generated/acp/request_error.rbs +8 -0
  167. data/sig/generated/acp/transport/cancellation.rbs +32 -0
  168. data/sig/generated/acp/transport/stdio.rbs +42 -0
  169. data/sig/generated/acp/types/unstable/accept_nes_notification.rbs +25 -0
  170. data/sig/generated/acp/types/unstable/agent_capabilities.rbs +49 -0
  171. data/sig/generated/acp/types/unstable/client_capabilities.rbs +53 -0
  172. data/sig/generated/acp/types/unstable/client_nes_capabilities.rbs +29 -0
  173. data/sig/generated/acp/types/unstable/client_session_capabilities.rbs +29 -0
  174. data/sig/generated/acp/types/unstable/close_nes_request.rbs +21 -0
  175. data/sig/generated/acp/types/unstable/close_nes_response.rbs +17 -0
  176. data/sig/generated/acp/types/unstable/compaction_status.rbs +11 -0
  177. data/sig/generated/acp/types/unstable/compaction_summary_chunk.rbs +25 -0
  178. data/sig/generated/acp/types/unstable/compaction_update.rbs +33 -0
  179. data/sig/generated/acp/types/unstable/did_change_document_notification.rbs +33 -0
  180. data/sig/generated/acp/types/unstable/did_close_document_notification.rbs +25 -0
  181. data/sig/generated/acp/types/unstable/did_focus_document_notification.rbs +37 -0
  182. data/sig/generated/acp/types/unstable/did_open_document_notification.rbs +37 -0
  183. data/sig/generated/acp/types/unstable/did_save_document_notification.rbs +25 -0
  184. data/sig/generated/acp/types/unstable/disable_provider_request.rbs +21 -0
  185. data/sig/generated/acp/types/unstable/disable_provider_response.rbs +17 -0
  186. data/sig/generated/acp/types/unstable/fork_session_request.rbs +33 -0
  187. data/sig/generated/acp/types/unstable/fork_session_response.rbs +29 -0
  188. data/sig/generated/acp/types/unstable/idle_state_update.rbs +25 -0
  189. data/sig/generated/acp/types/unstable/initialize_response.rbs +33 -0
  190. data/sig/generated/acp/types/unstable/list_providers_request.rbs +17 -0
  191. data/sig/generated/acp/types/unstable/list_providers_response.rbs +21 -0
  192. data/sig/generated/acp/types/unstable/llm_protocol.rbs +13 -0
  193. data/sig/generated/acp/types/unstable/mcp_capabilities.rbs +29 -0
  194. data/sig/generated/acp/types/unstable/mcp_error.rbs +25 -0
  195. data/sig/generated/acp/types/unstable/mcp_server/acp.rbs +25 -0
  196. data/sig/generated/acp/types/unstable/mcp_server/http.rbs +29 -0
  197. data/sig/generated/acp/types/unstable/mcp_server/sse.rbs +29 -0
  198. data/sig/generated/acp/types/unstable/mcp_server.rbs +9 -0
  199. data/sig/generated/acp/types/unstable/mcp_server_acp.rbs +25 -0
  200. data/sig/generated/acp/types/unstable/message_mcp_notification.rbs +33 -0
  201. data/sig/generated/acp/types/unstable/message_mcp_request.rbs +33 -0
  202. data/sig/generated/acp/types/unstable/message_mcp_response/error.rbs +21 -0
  203. data/sig/generated/acp/types/unstable/message_mcp_response/result.rbs +21 -0
  204. data/sig/generated/acp/types/unstable/message_mcp_response.rbs +9 -0
  205. data/sig/generated/acp/types/unstable/nes_capabilities.rbs +25 -0
  206. data/sig/generated/acp/types/unstable/nes_context_capabilities.rbs +41 -0
  207. data/sig/generated/acp/types/unstable/nes_diagnostic.rbs +33 -0
  208. data/sig/generated/acp/types/unstable/nes_diagnostic_severity.rbs +11 -0
  209. data/sig/generated/acp/types/unstable/nes_diagnostics_capabilities.rbs +17 -0
  210. data/sig/generated/acp/types/unstable/nes_document_did_change_capabilities.rbs +21 -0
  211. data/sig/generated/acp/types/unstable/nes_document_did_close_capabilities.rbs +17 -0
  212. data/sig/generated/acp/types/unstable/nes_document_did_focus_capabilities.rbs +17 -0
  213. data/sig/generated/acp/types/unstable/nes_document_did_open_capabilities.rbs +17 -0
  214. data/sig/generated/acp/types/unstable/nes_document_did_save_capabilities.rbs +17 -0
  215. data/sig/generated/acp/types/unstable/nes_document_event_capabilities.rbs +37 -0
  216. data/sig/generated/acp/types/unstable/nes_edit_history_capabilities.rbs +21 -0
  217. data/sig/generated/acp/types/unstable/nes_edit_history_entry.rbs +25 -0
  218. data/sig/generated/acp/types/unstable/nes_edit_suggestion.rbs +33 -0
  219. data/sig/generated/acp/types/unstable/nes_event_capabilities.rbs +21 -0
  220. data/sig/generated/acp/types/unstable/nes_excerpt.rbs +29 -0
  221. data/sig/generated/acp/types/unstable/nes_jump_capabilities.rbs +17 -0
  222. data/sig/generated/acp/types/unstable/nes_jump_suggestion.rbs +29 -0
  223. data/sig/generated/acp/types/unstable/nes_open_file.rbs +33 -0
  224. data/sig/generated/acp/types/unstable/nes_open_files_capabilities.rbs +17 -0
  225. data/sig/generated/acp/types/unstable/nes_recent_file.rbs +29 -0
  226. data/sig/generated/acp/types/unstable/nes_recent_files_capabilities.rbs +21 -0
  227. data/sig/generated/acp/types/unstable/nes_reject_reason.rbs +11 -0
  228. data/sig/generated/acp/types/unstable/nes_related_snippet.rbs +25 -0
  229. data/sig/generated/acp/types/unstable/nes_related_snippets_capabilities.rbs +17 -0
  230. data/sig/generated/acp/types/unstable/nes_rename_capabilities.rbs +17 -0
  231. data/sig/generated/acp/types/unstable/nes_rename_suggestion.rbs +33 -0
  232. data/sig/generated/acp/types/unstable/nes_repository.rbs +29 -0
  233. data/sig/generated/acp/types/unstable/nes_search_and_replace_capabilities.rbs +17 -0
  234. data/sig/generated/acp/types/unstable/nes_search_and_replace_suggestion.rbs +37 -0
  235. data/sig/generated/acp/types/unstable/nes_suggest_context.rbs +41 -0
  236. data/sig/generated/acp/types/unstable/nes_suggestion/edit.rbs +33 -0
  237. data/sig/generated/acp/types/unstable/nes_suggestion/jump.rbs +29 -0
  238. data/sig/generated/acp/types/unstable/nes_suggestion/rename.rbs +33 -0
  239. data/sig/generated/acp/types/unstable/nes_suggestion/searchandreplace.rbs +37 -0
  240. data/sig/generated/acp/types/unstable/nes_suggestion.rbs +9 -0
  241. data/sig/generated/acp/types/unstable/nes_text_edit.rbs +25 -0
  242. data/sig/generated/acp/types/unstable/nes_trigger_kind.rbs +9 -0
  243. data/sig/generated/acp/types/unstable/nes_user_action.rbs +33 -0
  244. data/sig/generated/acp/types/unstable/nes_user_actions_capabilities.rbs +21 -0
  245. data/sig/generated/acp/types/unstable/notice.rbs +29 -0
  246. data/sig/generated/acp/types/unstable/notice_severity.rbs +9 -0
  247. data/sig/generated/acp/types/unstable/plan_capabilities.rbs +17 -0
  248. data/sig/generated/acp/types/unstable/plan_file.rbs +25 -0
  249. data/sig/generated/acp/types/unstable/plan_items.rbs +25 -0
  250. data/sig/generated/acp/types/unstable/plan_markdown.rbs +25 -0
  251. data/sig/generated/acp/types/unstable/plan_removed.rbs +21 -0
  252. data/sig/generated/acp/types/unstable/plan_update.rbs +21 -0
  253. data/sig/generated/acp/types/unstable/plan_update_content/file.rbs +25 -0
  254. data/sig/generated/acp/types/unstable/plan_update_content/items.rbs +25 -0
  255. data/sig/generated/acp/types/unstable/plan_update_content/markdown.rbs +25 -0
  256. data/sig/generated/acp/types/unstable/plan_update_content.rbs +9 -0
  257. data/sig/generated/acp/types/unstable/position.rbs +25 -0
  258. data/sig/generated/acp/types/unstable/position_encoding_kind.rbs +9 -0
  259. data/sig/generated/acp/types/unstable/prompt_response.rbs +25 -0
  260. data/sig/generated/acp/types/unstable/provider_current_config.rbs +25 -0
  261. data/sig/generated/acp/types/unstable/provider_info.rbs +33 -0
  262. data/sig/generated/acp/types/unstable/providers_capabilities.rbs +17 -0
  263. data/sig/generated/acp/types/unstable/range.rbs +25 -0
  264. data/sig/generated/acp/types/unstable/reject_nes_notification.rbs +29 -0
  265. data/sig/generated/acp/types/unstable/requires_action_state_update.rbs +17 -0
  266. data/sig/generated/acp/types/unstable/running_state_update.rbs +17 -0
  267. data/sig/generated/acp/types/unstable/session_cancel_capabilities.rbs +17 -0
  268. data/sig/generated/acp/types/unstable/session_capabilities.rbs +41 -0
  269. data/sig/generated/acp/types/unstable/session_fork_capabilities.rbs +17 -0
  270. data/sig/generated/acp/types/unstable/session_message.rbs +33 -0
  271. data/sig/generated/acp/types/unstable/session_message_chunk.rbs +33 -0
  272. data/sig/generated/acp/types/unstable/session_update/agent_message_chunk.rbs +25 -0
  273. data/sig/generated/acp/types/unstable/session_update/agent_thought_chunk.rbs +25 -0
  274. data/sig/generated/acp/types/unstable/session_update/available_commands_update.rbs +21 -0
  275. data/sig/generated/acp/types/unstable/session_update/compaction_summary_chunk.rbs +25 -0
  276. data/sig/generated/acp/types/unstable/session_update/compaction_update.rbs +33 -0
  277. data/sig/generated/acp/types/unstable/session_update/config_option_update.rbs +21 -0
  278. data/sig/generated/acp/types/unstable/session_update/current_mode_update.rbs +21 -0
  279. data/sig/generated/acp/types/unstable/session_update/notice.rbs +29 -0
  280. data/sig/generated/acp/types/unstable/session_update/plan.rbs +21 -0
  281. data/sig/generated/acp/types/unstable/session_update/plan_removed.rbs +21 -0
  282. data/sig/generated/acp/types/unstable/session_update/plan_update.rbs +21 -0
  283. data/sig/generated/acp/types/unstable/session_update/session_info_update.rbs +25 -0
  284. data/sig/generated/acp/types/unstable/session_update/session_message.rbs +33 -0
  285. data/sig/generated/acp/types/unstable/session_update/session_message_chunk.rbs +33 -0
  286. data/sig/generated/acp/types/unstable/session_update/subagent_update.rbs +37 -0
  287. data/sig/generated/acp/types/unstable/session_update/tool_call.rbs +53 -0
  288. data/sig/generated/acp/types/unstable/session_update/tool_call_update.rbs +53 -0
  289. data/sig/generated/acp/types/unstable/session_update/usage_update.rbs +29 -0
  290. data/sig/generated/acp/types/unstable/session_update/user_message_chunk.rbs +25 -0
  291. data/sig/generated/acp/types/unstable/session_update.rbs +9 -0
  292. data/sig/generated/acp/types/unstable/set_provider_request.rbs +33 -0
  293. data/sig/generated/acp/types/unstable/set_provider_response.rbs +17 -0
  294. data/sig/generated/acp/types/unstable/start_nes_request.rbs +29 -0
  295. data/sig/generated/acp/types/unstable/start_nes_response.rbs +21 -0
  296. data/sig/generated/acp/types/unstable/state_update/idle.rbs +25 -0
  297. data/sig/generated/acp/types/unstable/state_update/requires_action.rbs +17 -0
  298. data/sig/generated/acp/types/unstable/state_update/running.rbs +17 -0
  299. data/sig/generated/acp/types/unstable/state_update/unknown.rbs +17 -0
  300. data/sig/generated/acp/types/unstable/state_update.rbs +9 -0
  301. data/sig/generated/acp/types/unstable/subagent_capabilities.rbs +17 -0
  302. data/sig/generated/acp/types/unstable/subagent_session_capabilities.rbs +21 -0
  303. data/sig/generated/acp/types/unstable/subagent_update.rbs +37 -0
  304. data/sig/generated/acp/types/unstable/suggest_nes_request.rbs +45 -0
  305. data/sig/generated/acp/types/unstable/suggest_nes_response.rbs +21 -0
  306. data/sig/generated/acp/types/unstable/text_document_content_change_event.rbs +25 -0
  307. data/sig/generated/acp/types/unstable/text_document_sync_kind.rbs +7 -0
  308. data/sig/generated/acp/types/unstable/unknown_state_update.rbs +17 -0
  309. data/sig/generated/acp/types/unstable/usage.rbs +41 -0
  310. data/sig/generated/acp/types/unstable/workspace_folder.rbs +25 -0
  311. data/sig/generated/acp/types/unstable.rbs +4 -0
  312. data/sig/manual/acp/agent_connection/optional_method/disable_provider.rbs +6 -0
  313. data/sig/manual/acp/agent_connection/optional_method/fork_session.rbs +6 -0
  314. data/sig/manual/acp/agent_connection/optional_method/list_providers.rbs +6 -0
  315. data/sig/manual/acp/agent_connection/optional_method/set_provider.rbs +6 -0
  316. data/sig/manual/acp/agent_connection.rbs +30 -0
  317. metadata +302 -2
@@ -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::ListProvidersResponse
7
+ # @dynamic providers
8
+ attr_reader :providers #: Array[ACP::Types::Unstable::ProviderInfo]
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs providers: Array[ACP::Types::Unstable::ProviderInfo]
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(providers:, meta: nil)
17
+ @providers = providers
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::ListProvidersResponse
24
+ def self.from_h(hash)
25
+ providers = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'providers'), 'providers') do |item, path|
26
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::ProviderInfo)
27
+ end
28
+ new(providers:, meta: hash['_meta'])
29
+ end
30
+
31
+ # @rbs return: Hash[String, untyped]
32
+ def to_h
33
+ { 'providers' => providers.map(&:to_h), '_meta' => meta }.compact
34
+ end
35
+ end
@@ -0,0 +1,12 @@
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::LlmProtocol
7
+ ANTHROPIC = 'anthropic'
8
+ OPENAI = 'openai'
9
+ AZURE = 'azure'
10
+ VERTEX = 'vertex'
11
+ BEDROCK = 'bedrock'
12
+ end
@@ -0,0 +1,47 @@
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::McpCapabilities
7
+ # @dynamic http
8
+ attr_reader :http #: bool?
9
+
10
+ # @dynamic sse
11
+ attr_reader :sse #: bool?
12
+
13
+ # @dynamic acp
14
+ attr_reader :acp #: bool?
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs http: bool?
20
+ # @rbs sse: bool?
21
+ # @rbs acp: bool?
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(http: nil, sse: nil, acp: nil, meta: nil)
25
+ @http = http
26
+ @sse = sse
27
+ @acp = acp
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::McpCapabilities
34
+ def self.from_h(hash)
35
+ new(
36
+ http: ACP::Types::Check.boolean(hash['http'], 'http', allow_nil: true),
37
+ sse: ACP::Types::Check.boolean(hash['sse'], 'sse', allow_nil: true),
38
+ acp: ACP::Types::Check.boolean(hash['acp'], 'acp', allow_nil: true),
39
+ meta: hash['_meta']
40
+ )
41
+ end
42
+
43
+ # @rbs return: Hash[String, untyped]
44
+ def to_h
45
+ { 'http' => http, 'sse' => sse, 'acp' => acp, '_meta' => meta }.compact
46
+ end
47
+ 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::McpError
7
+ # @dynamic code
8
+ attr_reader :code #: Integer
9
+
10
+ # @dynamic message
11
+ attr_reader :message #: String
12
+
13
+ # @dynamic data
14
+ attr_reader :data #: untyped
15
+
16
+ # @rbs code: Integer
17
+ # @rbs message: String
18
+ # @rbs data: untyped
19
+ # @rbs return: void
20
+ def initialize(code:, message:, data: nil)
21
+ @code = code
22
+ @message = message
23
+ @data = data
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::McpError
29
+ def self.from_h(hash)
30
+ new(
31
+ code: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'code'), 'code'),
32
+ message: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'message'), 'message'),
33
+ data: hash['data']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'code' => code, 'message' => message, 'data' => data }.compact
40
+ end
41
+ 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::McpServer::Acp
7
+ # @dynamic name
8
+ attr_reader :name #: String
9
+
10
+ # @dynamic server_id
11
+ attr_reader :server_id #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs name: String
17
+ # @rbs server_id: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(name:, server_id:, meta: nil)
21
+ @name = name
22
+ @server_id = server_id
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::McpServer::Acp
29
+ def self.from_h(hash)
30
+ new(
31
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
32
+ server_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'serverId'), 'serverId'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'type' => 'acp', 'name' => name, 'serverId' => server_id, '_meta' => meta }.compact
40
+ end
41
+ end
@@ -0,0 +1,50 @@
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::McpServer::Http
7
+ # @dynamic name
8
+ attr_reader :name #: String
9
+
10
+ # @dynamic url
11
+ attr_reader :url #: String
12
+
13
+ # @dynamic headers
14
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs name: String
20
+ # @rbs url: String
21
+ # @rbs headers: Array[ACP::Types::HttpHeader]
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(name:, url:, headers:, meta: nil)
25
+ @name = name
26
+ @url = url
27
+ @headers = headers
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::McpServer::Http
34
+ def self.from_h(hash)
35
+ headers = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'headers'), 'headers') do |item, path|
36
+ ACP::Types::Check.object(item, path, ACP::Types::HttpHeader)
37
+ end
38
+ new(
39
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
40
+ url: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'url'), 'url'),
41
+ headers:,
42
+ meta: hash['_meta']
43
+ )
44
+ end
45
+
46
+ # @rbs return: Hash[String, untyped]
47
+ def to_h
48
+ { 'type' => 'http', 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
49
+ end
50
+ end
@@ -0,0 +1,50 @@
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::McpServer::Sse
7
+ # @dynamic name
8
+ attr_reader :name #: String
9
+
10
+ # @dynamic url
11
+ attr_reader :url #: String
12
+
13
+ # @dynamic headers
14
+ attr_reader :headers #: Array[ACP::Types::HttpHeader]
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs name: String
20
+ # @rbs url: String
21
+ # @rbs headers: Array[ACP::Types::HttpHeader]
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(name:, url:, headers:, meta: nil)
25
+ @name = name
26
+ @url = url
27
+ @headers = headers
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::McpServer::Sse
34
+ def self.from_h(hash)
35
+ headers = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'headers'), 'headers') do |item, path|
36
+ ACP::Types::Check.object(item, path, ACP::Types::HttpHeader)
37
+ end
38
+ new(
39
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
40
+ url: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'url'), 'url'),
41
+ headers:,
42
+ meta: hash['_meta']
43
+ )
44
+ end
45
+
46
+ # @rbs return: Hash[String, untyped]
47
+ def to_h
48
+ { 'type' => 'sse', 'name' => name, 'url' => url, 'headers' => headers.map(&:to_h), '_meta' => meta }.compact
49
+ end
50
+ end
@@ -0,0 +1,25 @@
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::McpServer
7
+ # @rbs!
8
+ # type t = ACP::Types::Unstable::McpServer::Http
9
+ # | ACP::Types::Unstable::McpServer::Sse
10
+ # | ACP::Types::Unstable::McpServer::Acp
11
+ # | ACP::Types::McpServerStdio
12
+ # | Hash[String, untyped]
13
+
14
+ # @rbs hash: Hash[String, untyped]
15
+ # @rbs return: t
16
+ def self.from_h(hash)
17
+ case hash['type']
18
+ when 'http' then ACP::Types::Unstable::McpServer::Http.from_h(hash)
19
+ when 'sse' then ACP::Types::Unstable::McpServer::Sse.from_h(hash)
20
+ when 'acp' then ACP::Types::Unstable::McpServer::Acp.from_h(hash)
21
+ when nil then ACP::Types::McpServerStdio.from_h(hash)
22
+ else hash
23
+ end
24
+ end
25
+ 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::McpServerAcp
7
+ # @dynamic name
8
+ attr_reader :name #: String
9
+
10
+ # @dynamic server_id
11
+ attr_reader :server_id #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs name: String
17
+ # @rbs server_id: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(name:, server_id:, meta: nil)
21
+ @name = name
22
+ @server_id = server_id
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::McpServerAcp
29
+ def self.from_h(hash)
30
+ new(
31
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
32
+ server_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'serverId'), 'serverId'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'name' => name, 'serverId' => server_id, '_meta' => meta }.compact
40
+ end
41
+ end
@@ -0,0 +1,59 @@
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::MessageMcpNotification
7
+ # @dynamic server_id
8
+ attr_reader :server_id #: String
9
+
10
+ # @dynamic request_id
11
+ attr_reader :request_id #: String
12
+
13
+ # @dynamic method
14
+ attr_reader :method #: String
15
+
16
+ # @dynamic params
17
+ attr_reader :params #: Hash[String, untyped]?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs server_id: String
23
+ # @rbs request_id: String
24
+ # @rbs method: String
25
+ # @rbs params: Hash[String, untyped]?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(server_id:, request_id:, method:, params: nil, meta: nil)
29
+ @server_id = server_id
30
+ @request_id = request_id
31
+ @method = method
32
+ @params = params
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::MessageMcpNotification
39
+ def self.from_h(hash)
40
+ new(
41
+ server_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'serverId'), 'serverId'),
42
+ request_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'requestId'), 'requestId'),
43
+ method: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'method'), 'method'),
44
+ params: hash['params'],
45
+ meta: hash['_meta']
46
+ )
47
+ end
48
+
49
+ # @rbs return: Hash[String, untyped]
50
+ def to_h
51
+ {
52
+ 'serverId' => server_id,
53
+ 'requestId' => request_id,
54
+ 'method' => method,
55
+ 'params' => params,
56
+ '_meta' => meta
57
+ }.compact
58
+ end
59
+ end
@@ -0,0 +1,59 @@
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::MessageMcpRequest
7
+ # @dynamic server_id
8
+ attr_reader :server_id #: String
9
+
10
+ # @dynamic request_id
11
+ attr_reader :request_id #: String
12
+
13
+ # @dynamic method
14
+ attr_reader :method #: String
15
+
16
+ # @dynamic params
17
+ attr_reader :params #: Hash[String, untyped]?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs server_id: String
23
+ # @rbs request_id: String
24
+ # @rbs method: String
25
+ # @rbs params: Hash[String, untyped]?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(server_id:, request_id:, method:, params: nil, meta: nil)
29
+ @server_id = server_id
30
+ @request_id = request_id
31
+ @method = method
32
+ @params = params
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::MessageMcpRequest
39
+ def self.from_h(hash)
40
+ new(
41
+ server_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'serverId'), 'serverId'),
42
+ request_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'requestId'), 'requestId'),
43
+ method: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'method'), 'method'),
44
+ params: hash['params'],
45
+ meta: hash['_meta']
46
+ )
47
+ end
48
+
49
+ # @rbs return: Hash[String, untyped]
50
+ def to_h
51
+ {
52
+ 'serverId' => server_id,
53
+ 'requestId' => request_id,
54
+ 'method' => method,
55
+ 'params' => params,
56
+ '_meta' => meta
57
+ }.compact
58
+ end
59
+ 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::MessageMcpResponse::Error
7
+ # @dynamic error
8
+ attr_reader :error #: ACP::Types::Unstable::McpError
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs error: ACP::Types::Unstable::McpError
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(error:, meta: nil)
17
+ @error = error
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::MessageMcpResponse::Error
24
+ def self.from_h(hash)
25
+ new(
26
+ error: ACP::Types::Check.object(ACP::Types::Check.key(hash, 'error'), 'error', ACP::Types::Unstable::McpError),
27
+ meta: hash['_meta']
28
+ )
29
+ end
30
+
31
+ # @rbs return: Hash[String, untyped]
32
+ def to_h
33
+ { 'error' => error.to_h, '_meta' => meta }.compact
34
+ end
35
+ end
@@ -0,0 +1,32 @@
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::MessageMcpResponse::Result
7
+ # @dynamic result
8
+ attr_reader :result #: untyped
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs result: untyped
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(result:, meta: nil)
17
+ @result = result
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::MessageMcpResponse::Result
24
+ def self.from_h(hash)
25
+ new(result: ACP::Types::Check.key(hash, 'result'), meta: hash['_meta'])
26
+ end
27
+
28
+ # @rbs return: Hash[String, untyped]
29
+ def to_h
30
+ { '_meta' => meta }.compact.merge('result' => result)
31
+ end
32
+ end
@@ -0,0 +1,23 @@
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::MessageMcpResponse
7
+ # @rbs!
8
+ # type t = ACP::Types::Unstable::MessageMcpResponse::Result
9
+ # | ACP::Types::Unstable::MessageMcpResponse::Error
10
+ # | Hash[String, untyped]
11
+
12
+ # @rbs hash: Hash[String, untyped]
13
+ # @rbs return: t
14
+ def self.from_h(hash)
15
+ if hash.key?('result')
16
+ ACP::Types::Unstable::MessageMcpResponse::Result.from_h(hash)
17
+ elsif hash.key?('error')
18
+ ACP::Types::Unstable::MessageMcpResponse::Error.from_h(hash)
19
+ else
20
+ hash
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,51 @@
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::NesCapabilities
7
+ # @dynamic events
8
+ attr_reader :events #: ACP::Types::Unstable::NesEventCapabilities?
9
+
10
+ # @dynamic context
11
+ attr_reader :context #: ACP::Types::Unstable::NesContextCapabilities?
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs events: ACP::Types::Unstable::NesEventCapabilities?
17
+ # @rbs context: ACP::Types::Unstable::NesContextCapabilities?
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(events: nil, context: nil, meta: nil)
21
+ @events = events
22
+ @context = context
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::NesCapabilities
29
+ def self.from_h(hash)
30
+ new(
31
+ events: ACP::Types::Check.object(
32
+ hash['events'],
33
+ 'events',
34
+ ACP::Types::Unstable::NesEventCapabilities,
35
+ allow_nil: true
36
+ ),
37
+ context: ACP::Types::Check.object(
38
+ hash['context'],
39
+ 'context',
40
+ ACP::Types::Unstable::NesContextCapabilities,
41
+ allow_nil: true
42
+ ),
43
+ meta: hash['_meta']
44
+ )
45
+ end
46
+
47
+ # @rbs return: Hash[String, untyped]
48
+ def to_h
49
+ { 'events' => events&.to_h, 'context' => context&.to_h, '_meta' => meta }.compact
50
+ end
51
+ end