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,62 @@
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::CompactionUpdate
7
+ # @dynamic compaction_id
8
+ attr_reader :compaction_id #: String
9
+
10
+ # @dynamic status
11
+ attr_reader :status #: String
12
+
13
+ # @dynamic summary
14
+ attr_reader :summary #: Array[ACP::Types::ContentBlock::t]?
15
+
16
+ # @dynamic error
17
+ attr_reader :error #: String?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs compaction_id: String
23
+ # @rbs status: String
24
+ # @rbs summary: Array[ACP::Types::ContentBlock::t]?
25
+ # @rbs error: String?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(compaction_id:, status:, summary: nil, error: nil, meta: nil)
29
+ @compaction_id = compaction_id
30
+ @status = status
31
+ @summary = summary
32
+ @error = error
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::CompactionUpdate
39
+ def self.from_h(hash)
40
+ summary = ACP::Types::Check.array(hash['summary'], 'summary', allow_nil: true) do |item, path|
41
+ ACP::Types::Check.object(item, path, ACP::Types::ContentBlock)
42
+ end
43
+ new(
44
+ compaction_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'compactionId'), 'compactionId'),
45
+ status: ACP::Types::Check.key(hash, 'status'),
46
+ summary:,
47
+ error: ACP::Types::Check.string(hash['error'], 'error', allow_nil: true),
48
+ meta: hash['_meta']
49
+ )
50
+ end
51
+
52
+ # @rbs return: Hash[String, untyped]
53
+ def to_h
54
+ {
55
+ 'compactionId' => compaction_id,
56
+ 'status' => status,
57
+ 'summary' => summary&.map(&:to_h),
58
+ 'error' => error,
59
+ '_meta' => meta
60
+ }.compact
61
+ end
62
+ end
@@ -0,0 +1,65 @@
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::DidChangeDocumentNotification
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 content_changes
17
+ attr_reader :content_changes #: Array[ACP::Types::Unstable::TextDocumentContentChangeEvent]
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs session_id: String
23
+ # @rbs uri: String
24
+ # @rbs version: Integer
25
+ # @rbs content_changes: Array[ACP::Types::Unstable::TextDocumentContentChangeEvent]
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(session_id:, uri:, version:, content_changes:, meta: nil)
29
+ @session_id = session_id
30
+ @uri = uri
31
+ @version = version
32
+ @content_changes = content_changes
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::DidChangeDocumentNotification
39
+ def self.from_h(hash)
40
+ content_changes = ACP::Types::Check.array(
41
+ ACP::Types::Check.key(hash, 'contentChanges'),
42
+ 'contentChanges'
43
+ ) do |item, path|
44
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::TextDocumentContentChangeEvent)
45
+ end
46
+ new(
47
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
48
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
49
+ version: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'version'), 'version'),
50
+ content_changes:,
51
+ meta: hash['_meta']
52
+ )
53
+ end
54
+
55
+ # @rbs return: Hash[String, untyped]
56
+ def to_h
57
+ {
58
+ 'sessionId' => session_id,
59
+ 'uri' => uri,
60
+ 'version' => version,
61
+ 'contentChanges' => content_changes.map(&:to_h),
62
+ '_meta' => meta
63
+ }.compact
64
+ end
65
+ 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::DidCloseDocumentNotification
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs session_id: String
17
+ # @rbs uri: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(session_id:, uri:, meta: nil)
21
+ @session_id = session_id
22
+ @uri = uri
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::DidCloseDocumentNotification
29
+ def self.from_h(hash)
30
+ new(
31
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
32
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'sessionId' => session_id, 'uri' => uri, '_meta' => meta }.compact
40
+ end
41
+ end
@@ -0,0 +1,74 @@
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::DidFocusDocumentNotification
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 visible_range
20
+ attr_reader :visible_range #: ACP::Types::Unstable::Range
21
+
22
+ # @dynamic meta
23
+ attr_reader :meta #: Hash[String, untyped]?
24
+
25
+ # @rbs session_id: String
26
+ # @rbs uri: String
27
+ # @rbs version: Integer
28
+ # @rbs position: ACP::Types::Unstable::Position
29
+ # @rbs visible_range: ACP::Types::Unstable::Range
30
+ # @rbs meta: Hash[String, untyped]?
31
+ # @rbs return: void
32
+ def initialize(session_id:, uri:, version:, position:, visible_range:, meta: nil)
33
+ @session_id = session_id
34
+ @uri = uri
35
+ @version = version
36
+ @position = position
37
+ @visible_range = visible_range
38
+ @meta = meta
39
+ freeze
40
+ end
41
+
42
+ # @rbs hash: Hash[String, untyped]
43
+ # @rbs return: ACP::Types::Unstable::DidFocusDocumentNotification
44
+ def self.from_h(hash)
45
+ new(
46
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
47
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
48
+ version: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'version'), 'version'),
49
+ position: ACP::Types::Check.object(
50
+ ACP::Types::Check.key(hash, 'position'),
51
+ 'position',
52
+ ACP::Types::Unstable::Position
53
+ ),
54
+ visible_range: ACP::Types::Check.object(
55
+ ACP::Types::Check.key(hash, 'visibleRange'),
56
+ 'visibleRange',
57
+ ACP::Types::Unstable::Range
58
+ ),
59
+ meta: hash['_meta']
60
+ )
61
+ end
62
+
63
+ # @rbs return: Hash[String, untyped]
64
+ def to_h
65
+ {
66
+ 'sessionId' => session_id,
67
+ 'uri' => uri,
68
+ 'version' => version,
69
+ 'position' => position.to_h,
70
+ 'visibleRange' => visible_range.to_h,
71
+ '_meta' => meta
72
+ }.compact
73
+ end
74
+ end
@@ -0,0 +1,66 @@
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::DidOpenDocumentNotification
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic language_id
14
+ attr_reader :language_id #: String
15
+
16
+ # @dynamic version
17
+ attr_reader :version #: Integer
18
+
19
+ # @dynamic text
20
+ attr_reader :text #: String
21
+
22
+ # @dynamic meta
23
+ attr_reader :meta #: Hash[String, untyped]?
24
+
25
+ # @rbs session_id: String
26
+ # @rbs uri: String
27
+ # @rbs language_id: String
28
+ # @rbs version: Integer
29
+ # @rbs text: String
30
+ # @rbs meta: Hash[String, untyped]?
31
+ # @rbs return: void
32
+ def initialize(session_id:, uri:, language_id:, version:, text:, meta: nil)
33
+ @session_id = session_id
34
+ @uri = uri
35
+ @language_id = language_id
36
+ @version = version
37
+ @text = text
38
+ @meta = meta
39
+ freeze
40
+ end
41
+
42
+ # @rbs hash: Hash[String, untyped]
43
+ # @rbs return: ACP::Types::Unstable::DidOpenDocumentNotification
44
+ def self.from_h(hash)
45
+ new(
46
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
47
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
48
+ language_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'languageId'), 'languageId'),
49
+ version: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'version'), 'version'),
50
+ text: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'text'), 'text'),
51
+ meta: hash['_meta']
52
+ )
53
+ end
54
+
55
+ # @rbs return: Hash[String, untyped]
56
+ def to_h
57
+ {
58
+ 'sessionId' => session_id,
59
+ 'uri' => uri,
60
+ 'languageId' => language_id,
61
+ 'version' => version,
62
+ 'text' => text,
63
+ '_meta' => meta
64
+ }.compact
65
+ end
66
+ 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::DidSaveDocumentNotification
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs session_id: String
17
+ # @rbs uri: String
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(session_id:, uri:, meta: nil)
21
+ @session_id = session_id
22
+ @uri = uri
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::DidSaveDocumentNotification
29
+ def self.from_h(hash)
30
+ new(
31
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
32
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ { 'sessionId' => session_id, 'uri' => uri, '_meta' => meta }.compact
40
+ end
41
+ 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::DisableProviderRequest
7
+ # @dynamic provider_id
8
+ attr_reader :provider_id #: String
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs provider_id: String
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(provider_id:, meta: nil)
17
+ @provider_id = provider_id
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::DisableProviderRequest
24
+ def self.from_h(hash)
25
+ new(
26
+ provider_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'providerId'), 'providerId'),
27
+ meta: hash['_meta']
28
+ )
29
+ end
30
+
31
+ # @rbs return: Hash[String, untyped]
32
+ def to_h
33
+ { 'providerId' => provider_id, '_meta' => meta }.compact
34
+ end
35
+ 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::DisableProviderResponse
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::DisableProviderResponse
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,69 @@
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::ForkSessionRequest
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic cwd
11
+ attr_reader :cwd #: String
12
+
13
+ # @dynamic additional_directories
14
+ attr_reader :additional_directories #: Array[String]?
15
+
16
+ # @dynamic mcp_servers
17
+ attr_reader :mcp_servers #: Array[ACP::Types::Unstable::McpServer::t]?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs session_id: String
23
+ # @rbs cwd: String
24
+ # @rbs additional_directories: Array[String]?
25
+ # @rbs mcp_servers: Array[ACP::Types::Unstable::McpServer::t]?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(session_id:, cwd:, additional_directories: nil, mcp_servers: nil, meta: nil)
29
+ @session_id = session_id
30
+ @cwd = cwd
31
+ @additional_directories = additional_directories
32
+ @mcp_servers = mcp_servers
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::ForkSessionRequest
39
+ def self.from_h(hash)
40
+ additional_directories = ACP::Types::Check.array(
41
+ hash['additionalDirectories'],
42
+ 'additionalDirectories',
43
+ allow_nil: true
44
+ ) do |item, path|
45
+ ACP::Types::Check.string(item, path)
46
+ end
47
+ mcp_servers = ACP::Types::Check.array(hash['mcpServers'], 'mcpServers', allow_nil: true) do |item, path|
48
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::McpServer)
49
+ end
50
+ new(
51
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
52
+ cwd: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'cwd'), 'cwd'),
53
+ additional_directories:,
54
+ mcp_servers:,
55
+ meta: hash['_meta']
56
+ )
57
+ end
58
+
59
+ # @rbs return: Hash[String, untyped]
60
+ def to_h
61
+ {
62
+ 'sessionId' => session_id,
63
+ 'cwd' => cwd,
64
+ 'additionalDirectories' => additional_directories,
65
+ 'mcpServers' => mcp_servers&.map(&:to_h),
66
+ '_meta' => meta
67
+ }.compact
68
+ end
69
+ end
@@ -0,0 +1,55 @@
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::ForkSessionResponse
7
+ # @dynamic session_id
8
+ attr_reader :session_id #: String
9
+
10
+ # @dynamic modes
11
+ attr_reader :modes #: ACP::Types::SessionModeState?
12
+
13
+ # @dynamic config_options
14
+ attr_reader :config_options #: Array[ACP::Types::SessionConfigOption]?
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs session_id: String
20
+ # @rbs modes: ACP::Types::SessionModeState?
21
+ # @rbs config_options: Array[ACP::Types::SessionConfigOption]?
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(session_id:, modes: nil, config_options: nil, meta: nil)
25
+ @session_id = session_id
26
+ @modes = modes
27
+ @config_options = config_options
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::ForkSessionResponse
34
+ def self.from_h(hash)
35
+ config_options = ACP::Types::Check.array(hash['configOptions'], 'configOptions', allow_nil: true) do |item, path|
36
+ ACP::Types::Check.object(item, path, ACP::Types::SessionConfigOption)
37
+ end
38
+ new(
39
+ session_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'sessionId'), 'sessionId'),
40
+ modes: ACP::Types::Check.object(hash['modes'], 'modes', ACP::Types::SessionModeState, allow_nil: true),
41
+ config_options:,
42
+ meta: hash['_meta']
43
+ )
44
+ end
45
+
46
+ # @rbs return: Hash[String, untyped]
47
+ def to_h
48
+ {
49
+ 'sessionId' => session_id,
50
+ 'modes' => modes&.to_h,
51
+ 'configOptions' => config_options&.map(&:to_h),
52
+ '_meta' => meta
53
+ }.compact
54
+ end
55
+ end
@@ -0,0 +1,46 @@
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::IdleStateUpdate
7
+ # @dynamic stop_reason
8
+ attr_reader :stop_reason #: String?
9
+
10
+ # @dynamic usage
11
+ attr_reader :usage #: ACP::Types::Unstable::Usage?
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs stop_reason: String?
17
+ # @rbs usage: ACP::Types::Unstable::Usage?
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(stop_reason: nil, usage: nil, meta: nil)
21
+ @stop_reason = stop_reason
22
+ @usage = usage
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::IdleStateUpdate
29
+ def self.from_h(hash)
30
+ new(
31
+ stop_reason: ACP::Types::Check.enum(
32
+ hash['stopReason'],
33
+ 'stopReason',
34
+ %w[end_turn max_tokens max_turn_requests refusal cancelled],
35
+ allow_nil: true
36
+ ),
37
+ usage: ACP::Types::Check.object(hash['usage'], 'usage', ACP::Types::Unstable::Usage, allow_nil: true),
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ { 'stopReason' => stop_reason, 'usage' => usage&.to_h, '_meta' => meta }.compact
45
+ end
46
+ end
@@ -0,0 +1,72 @@
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::InitializeResponse
7
+ # @dynamic protocol_version
8
+ attr_reader :protocol_version #: Integer
9
+
10
+ # @dynamic agent_capabilities
11
+ attr_reader :agent_capabilities #: ACP::Types::Unstable::AgentCapabilities?
12
+
13
+ # @dynamic auth_methods
14
+ attr_reader :auth_methods #: Array[ACP::Types::AuthMethod::t]?
15
+
16
+ # @dynamic agent_info
17
+ attr_reader :agent_info #: ACP::Types::Implementation?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs protocol_version: Integer
23
+ # @rbs agent_capabilities: ACP::Types::Unstable::AgentCapabilities?
24
+ # @rbs auth_methods: Array[ACP::Types::AuthMethod::t]?
25
+ # @rbs agent_info: ACP::Types::Implementation?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(protocol_version:, agent_capabilities: nil, auth_methods: nil, agent_info: nil, meta: nil)
29
+ @protocol_version = protocol_version
30
+ @agent_capabilities = agent_capabilities
31
+ @auth_methods = auth_methods
32
+ @agent_info = agent_info
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::InitializeResponse
39
+ def self.from_h(hash)
40
+ auth_methods = ACP::Types::Check.array(hash['authMethods'], 'authMethods', allow_nil: true) do |item, path|
41
+ ACP::Types::Check.object(item, path, ACP::Types::AuthMethod)
42
+ end
43
+ new(
44
+ protocol_version: ACP::Types::Check.integer(
45
+ ACP::Types::Check.key(hash, 'protocolVersion'),
46
+ 'protocolVersion',
47
+ min: 0,
48
+ max: 65_535
49
+ ),
50
+ agent_capabilities: ACP::Types::Check.object(
51
+ hash['agentCapabilities'],
52
+ 'agentCapabilities',
53
+ ACP::Types::Unstable::AgentCapabilities,
54
+ allow_nil: true
55
+ ),
56
+ auth_methods:,
57
+ agent_info: ACP::Types::Check.object(hash['agentInfo'], 'agentInfo', ACP::Types::Implementation, allow_nil: true),
58
+ meta: hash['_meta']
59
+ )
60
+ end
61
+
62
+ # @rbs return: Hash[String, untyped]
63
+ def to_h
64
+ {
65
+ 'protocolVersion' => protocol_version,
66
+ 'agentCapabilities' => agent_capabilities&.to_h,
67
+ 'authMethods' => auth_methods&.map(&:to_h),
68
+ 'agentInfo' => agent_info&.to_h,
69
+ '_meta' => meta
70
+ }.compact
71
+ end
72
+ 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::ListProvidersRequest
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::ListProvidersRequest
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