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,39 @@
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::SessionUpdate::PlanUpdate
7
+ # @dynamic plan
8
+ attr_reader :plan #: ACP::Types::Unstable::PlanUpdateContent::t
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs plan: ACP::Types::Unstable::PlanUpdateContent::t
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(plan:, meta: nil)
17
+ @plan = plan
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::PlanUpdate
24
+ def self.from_h(hash)
25
+ new(
26
+ plan: ACP::Types::Check.object(
27
+ ACP::Types::Check.key(hash, 'plan'),
28
+ 'plan',
29
+ ACP::Types::Unstable::PlanUpdateContent
30
+ ),
31
+ meta: hash['_meta']
32
+ )
33
+ end
34
+
35
+ # @rbs return: Hash[String, untyped]
36
+ def to_h
37
+ { 'sessionUpdate' => 'plan_update', 'plan' => plan.to_h, '_meta' => meta }.compact
38
+ end
39
+ end
@@ -0,0 +1,49 @@
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::SessionUpdate::SessionInfoUpdate
7
+ # @dynamic title
8
+ attr_reader :title #: String? | :unset
9
+
10
+ # @dynamic updated_at
11
+ attr_reader :updated_at #: String? | :unset
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs title: String? | :unset
17
+ # @rbs updated_at: String? | :unset
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(title: :unset, updated_at: :unset, meta: nil)
21
+ @title = title
22
+ @updated_at = updated_at
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::SessionInfoUpdate
29
+ def self.from_h(hash)
30
+ new(
31
+ title: ACP::Types::Check.string(hash.fetch('title', :unset), 'title', allow_nil: true, allow_unset: true),
32
+ updated_at: ACP::Types::Check.string(
33
+ hash.fetch('updatedAt', :unset),
34
+ 'updatedAt',
35
+ allow_nil: true,
36
+ allow_unset: true
37
+ ),
38
+ meta: hash['_meta']
39
+ )
40
+ end
41
+
42
+ # @rbs return: Hash[String, untyped]
43
+ def to_h
44
+ {
45
+ 'sessionUpdate' => 'session_info_update',
46
+ '_meta' => meta
47
+ }.compact.merge({ 'title' => title, 'updatedAt' => updated_at }.reject { |_, value| value == :unset })
48
+ end
49
+ end
@@ -0,0 +1,63 @@
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::SessionUpdate::SessionMessage
7
+ # @dynamic message_id
8
+ attr_reader :message_id #: String
9
+
10
+ # @dynamic sender_session_id
11
+ attr_reader :sender_session_id #: String?
12
+
13
+ # @dynamic recipient_session_id
14
+ attr_reader :recipient_session_id #: String?
15
+
16
+ # @dynamic content
17
+ attr_reader :content #: Array[ACP::Types::ContentBlock::t]?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs message_id: String
23
+ # @rbs sender_session_id: String?
24
+ # @rbs recipient_session_id: String?
25
+ # @rbs content: Array[ACP::Types::ContentBlock::t]?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(message_id:, sender_session_id: nil, recipient_session_id: nil, content: nil, meta: nil)
29
+ @message_id = message_id
30
+ @sender_session_id = sender_session_id
31
+ @recipient_session_id = recipient_session_id
32
+ @content = content
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::SessionMessage
39
+ def self.from_h(hash)
40
+ content = ACP::Types::Check.array(hash['content'], 'content', allow_nil: true) do |item, path|
41
+ ACP::Types::Check.object(item, path, ACP::Types::ContentBlock)
42
+ end
43
+ new(
44
+ message_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'messageId'), 'messageId'),
45
+ sender_session_id: ACP::Types::Check.string(hash['senderSessionId'], 'senderSessionId', allow_nil: true),
46
+ recipient_session_id: ACP::Types::Check.string(hash['recipientSessionId'], 'recipientSessionId', allow_nil: true),
47
+ content:,
48
+ meta: hash['_meta']
49
+ )
50
+ end
51
+
52
+ # @rbs return: Hash[String, untyped]
53
+ def to_h
54
+ {
55
+ 'sessionUpdate' => 'session_message',
56
+ 'messageId' => message_id,
57
+ 'senderSessionId' => sender_session_id,
58
+ 'recipientSessionId' => recipient_session_id,
59
+ 'content' => content&.map(&:to_h),
60
+ '_meta' => meta
61
+ }.compact
62
+ end
63
+ end
@@ -0,0 +1,60 @@
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::SessionUpdate::SessionMessageChunk
7
+ # @dynamic message_id
8
+ attr_reader :message_id #: String
9
+
10
+ # @dynamic sender_session_id
11
+ attr_reader :sender_session_id #: String?
12
+
13
+ # @dynamic recipient_session_id
14
+ attr_reader :recipient_session_id #: String?
15
+
16
+ # @dynamic content
17
+ attr_reader :content #: ACP::Types::ContentBlock::t
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs message_id: String
23
+ # @rbs sender_session_id: String?
24
+ # @rbs recipient_session_id: String?
25
+ # @rbs content: ACP::Types::ContentBlock::t
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(message_id:, content:, sender_session_id: nil, recipient_session_id: nil, meta: nil)
29
+ @message_id = message_id
30
+ @sender_session_id = sender_session_id
31
+ @recipient_session_id = recipient_session_id
32
+ @content = content
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::SessionMessageChunk
39
+ def self.from_h(hash)
40
+ new(
41
+ message_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'messageId'), 'messageId'),
42
+ sender_session_id: ACP::Types::Check.string(hash['senderSessionId'], 'senderSessionId', allow_nil: true),
43
+ recipient_session_id: ACP::Types::Check.string(hash['recipientSessionId'], 'recipientSessionId', allow_nil: true),
44
+ content: ACP::Types::Check.object(ACP::Types::Check.key(hash, 'content'), 'content', ACP::Types::ContentBlock),
45
+ meta: hash['_meta']
46
+ )
47
+ end
48
+
49
+ # @rbs return: Hash[String, untyped]
50
+ def to_h
51
+ {
52
+ 'sessionUpdate' => 'session_message_chunk',
53
+ 'messageId' => message_id,
54
+ 'content' => content.to_h,
55
+ 'senderSessionId' => sender_session_id,
56
+ 'recipientSessionId' => recipient_session_id,
57
+ '_meta' => meta
58
+ }.compact
59
+ end
60
+ 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::SessionUpdate::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::SessionUpdate::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
+ 'sessionUpdate' => 'subagent_update',
64
+ 'sessionId' => session_id,
65
+ 'title' => title,
66
+ 'description' => description,
67
+ 'capabilities' => capabilities&.to_h,
68
+ 'state' => state&.to_h,
69
+ '_meta' => meta
70
+ }.compact
71
+ end
72
+ end
@@ -0,0 +1,122 @@
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::SessionUpdate::ToolCall
7
+ # @dynamic tool_call_id
8
+ attr_reader :tool_call_id #: String
9
+
10
+ # @dynamic title
11
+ attr_reader :title #: String
12
+
13
+ # @dynamic name
14
+ attr_reader :name #: String?
15
+
16
+ # @dynamic kind
17
+ attr_reader :kind #: String?
18
+
19
+ # @dynamic status
20
+ attr_reader :status #: String?
21
+
22
+ # @dynamic content
23
+ attr_reader :content #: Array[ACP::Types::ToolCallContent::t]?
24
+
25
+ # @dynamic locations
26
+ attr_reader :locations #: Array[ACP::Types::ToolCallLocation]?
27
+
28
+ # @dynamic raw_input
29
+ attr_reader :raw_input #: untyped
30
+
31
+ # @dynamic raw_output
32
+ attr_reader :raw_output #: untyped
33
+
34
+ # @dynamic meta
35
+ attr_reader :meta #: Hash[String, untyped]?
36
+
37
+ # @rbs tool_call_id: String
38
+ # @rbs title: String
39
+ # @rbs name: String?
40
+ # @rbs kind: String?
41
+ # @rbs status: String?
42
+ # @rbs content: Array[ACP::Types::ToolCallContent::t]?
43
+ # @rbs locations: Array[ACP::Types::ToolCallLocation]?
44
+ # @rbs raw_input: untyped
45
+ # @rbs raw_output: untyped
46
+ # @rbs meta: Hash[String, untyped]?
47
+ # @rbs return: void
48
+ def initialize(
49
+ tool_call_id:,
50
+ title:,
51
+ name: nil,
52
+ kind: nil,
53
+ status: nil,
54
+ content: nil,
55
+ locations: nil,
56
+ raw_input: nil,
57
+ raw_output: nil,
58
+ meta: nil
59
+ )
60
+ @tool_call_id = tool_call_id
61
+ @title = title
62
+ @name = name
63
+ @kind = kind
64
+ @status = status
65
+ @content = content
66
+ @locations = locations
67
+ @raw_input = raw_input
68
+ @raw_output = raw_output
69
+ @meta = meta
70
+ freeze
71
+ end
72
+
73
+ # @rbs hash: Hash[String, untyped]
74
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::ToolCall
75
+ def self.from_h(hash)
76
+ content = ACP::Types::Check.array(hash['content'], 'content', allow_nil: true) do |item, path|
77
+ ACP::Types::Check.object(item, path, ACP::Types::ToolCallContent)
78
+ end
79
+ locations = ACP::Types::Check.array(hash['locations'], 'locations', allow_nil: true) do |item, path|
80
+ ACP::Types::Check.object(item, path, ACP::Types::ToolCallLocation)
81
+ end
82
+ new(
83
+ tool_call_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'toolCallId'), 'toolCallId'),
84
+ title: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'title'), 'title'),
85
+ name: ACP::Types::Check.string(hash['name'], 'name', allow_nil: true),
86
+ kind: ACP::Types::Check.enum(
87
+ hash['kind'],
88
+ 'kind',
89
+ %w[read edit delete move search execute think fetch switch_mode other],
90
+ allow_nil: true
91
+ ),
92
+ status: ACP::Types::Check.enum(
93
+ hash['status'],
94
+ 'status',
95
+ %w[pending in_progress completed failed],
96
+ allow_nil: true
97
+ ),
98
+ content:,
99
+ locations:,
100
+ raw_input: hash['rawInput'],
101
+ raw_output: hash['rawOutput'],
102
+ meta: hash['_meta']
103
+ )
104
+ end
105
+
106
+ # @rbs return: Hash[String, untyped]
107
+ def to_h
108
+ {
109
+ 'sessionUpdate' => 'tool_call',
110
+ 'toolCallId' => tool_call_id,
111
+ 'title' => title,
112
+ 'name' => name,
113
+ 'kind' => kind,
114
+ 'status' => status,
115
+ 'content' => content&.map(&:to_h),
116
+ 'locations' => locations&.map(&:to_h),
117
+ 'rawInput' => raw_input,
118
+ 'rawOutput' => raw_output,
119
+ '_meta' => meta
120
+ }.compact
121
+ end
122
+ end
@@ -0,0 +1,122 @@
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::SessionUpdate::ToolCallUpdate
7
+ # @dynamic tool_call_id
8
+ attr_reader :tool_call_id #: String
9
+
10
+ # @dynamic kind
11
+ attr_reader :kind #: String?
12
+
13
+ # @dynamic status
14
+ attr_reader :status #: String?
15
+
16
+ # @dynamic title
17
+ attr_reader :title #: String?
18
+
19
+ # @dynamic name
20
+ attr_reader :name #: String?
21
+
22
+ # @dynamic content
23
+ attr_reader :content #: Array[ACP::Types::ToolCallContent::t]?
24
+
25
+ # @dynamic locations
26
+ attr_reader :locations #: Array[ACP::Types::ToolCallLocation]?
27
+
28
+ # @dynamic raw_input
29
+ attr_reader :raw_input #: untyped
30
+
31
+ # @dynamic raw_output
32
+ attr_reader :raw_output #: untyped
33
+
34
+ # @dynamic meta
35
+ attr_reader :meta #: Hash[String, untyped]?
36
+
37
+ # @rbs tool_call_id: String
38
+ # @rbs kind: String?
39
+ # @rbs status: String?
40
+ # @rbs title: String?
41
+ # @rbs name: String?
42
+ # @rbs content: Array[ACP::Types::ToolCallContent::t]?
43
+ # @rbs locations: Array[ACP::Types::ToolCallLocation]?
44
+ # @rbs raw_input: untyped
45
+ # @rbs raw_output: untyped
46
+ # @rbs meta: Hash[String, untyped]?
47
+ # @rbs return: void
48
+ def initialize(
49
+ tool_call_id:,
50
+ kind: nil,
51
+ status: nil,
52
+ title: nil,
53
+ name: nil,
54
+ content: nil,
55
+ locations: nil,
56
+ raw_input: nil,
57
+ raw_output: nil,
58
+ meta: nil
59
+ )
60
+ @tool_call_id = tool_call_id
61
+ @kind = kind
62
+ @status = status
63
+ @title = title
64
+ @name = name
65
+ @content = content
66
+ @locations = locations
67
+ @raw_input = raw_input
68
+ @raw_output = raw_output
69
+ @meta = meta
70
+ freeze
71
+ end
72
+
73
+ # @rbs hash: Hash[String, untyped]
74
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::ToolCallUpdate
75
+ def self.from_h(hash)
76
+ content = ACP::Types::Check.array(hash['content'], 'content', allow_nil: true) do |item, path|
77
+ ACP::Types::Check.object(item, path, ACP::Types::ToolCallContent)
78
+ end
79
+ locations = ACP::Types::Check.array(hash['locations'], 'locations', allow_nil: true) do |item, path|
80
+ ACP::Types::Check.object(item, path, ACP::Types::ToolCallLocation)
81
+ end
82
+ new(
83
+ tool_call_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'toolCallId'), 'toolCallId'),
84
+ kind: ACP::Types::Check.enum(
85
+ hash['kind'],
86
+ 'kind',
87
+ %w[read edit delete move search execute think fetch switch_mode other],
88
+ allow_nil: true
89
+ ),
90
+ status: ACP::Types::Check.enum(
91
+ hash['status'],
92
+ 'status',
93
+ %w[pending in_progress completed failed],
94
+ allow_nil: true
95
+ ),
96
+ title: ACP::Types::Check.string(hash['title'], 'title', allow_nil: true),
97
+ name: ACP::Types::Check.string(hash['name'], 'name', allow_nil: true),
98
+ content:,
99
+ locations:,
100
+ raw_input: hash['rawInput'],
101
+ raw_output: hash['rawOutput'],
102
+ meta: hash['_meta']
103
+ )
104
+ end
105
+
106
+ # @rbs return: Hash[String, untyped]
107
+ def to_h
108
+ {
109
+ 'sessionUpdate' => 'tool_call_update',
110
+ 'toolCallId' => tool_call_id,
111
+ 'kind' => kind,
112
+ 'status' => status,
113
+ 'title' => title,
114
+ 'name' => name,
115
+ 'content' => content&.map(&:to_h),
116
+ 'locations' => locations&.map(&:to_h),
117
+ 'rawInput' => raw_input,
118
+ 'rawOutput' => raw_output,
119
+ '_meta' => meta
120
+ }.compact
121
+ end
122
+ 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::SessionUpdate::UsageUpdate
7
+ # @dynamic used
8
+ attr_reader :used #: Integer
9
+
10
+ # @dynamic size
11
+ attr_reader :size #: Integer
12
+
13
+ # @dynamic cost
14
+ attr_reader :cost #: ACP::Types::Cost?
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs used: Integer
20
+ # @rbs size: Integer
21
+ # @rbs cost: ACP::Types::Cost?
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(used:, size:, cost: nil, meta: nil)
25
+ @used = used
26
+ @size = size
27
+ @cost = cost
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::UsageUpdate
34
+ def self.from_h(hash)
35
+ new(
36
+ used: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'used'), 'used', min: 0),
37
+ size: ACP::Types::Check.integer(ACP::Types::Check.key(hash, 'size'), 'size', min: 0),
38
+ cost: ACP::Types::Check.object(hash['cost'], 'cost', ACP::Types::Cost, allow_nil: true),
39
+ meta: hash['_meta']
40
+ )
41
+ end
42
+
43
+ # @rbs return: Hash[String, untyped]
44
+ def to_h
45
+ { 'sessionUpdate' => 'usage_update', 'used' => used, 'size' => size, 'cost' => cost&.to_h, '_meta' => meta }.compact
46
+ end
47
+ 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::SessionUpdate::UserMessageChunk
7
+ # @dynamic content
8
+ attr_reader :content #: ACP::Types::ContentBlock::t
9
+
10
+ # @dynamic message_id
11
+ attr_reader :message_id #: String?
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs content: ACP::Types::ContentBlock::t
17
+ # @rbs message_id: String?
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(content:, message_id: nil, meta: nil)
21
+ @content = content
22
+ @message_id = message_id
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::SessionUpdate::UserMessageChunk
29
+ def self.from_h(hash)
30
+ new(
31
+ content: ACP::Types::Check.object(ACP::Types::Check.key(hash, 'content'), 'content', ACP::Types::ContentBlock),
32
+ message_id: ACP::Types::Check.string(hash['messageId'], 'messageId', allow_nil: true),
33
+ meta: hash['_meta']
34
+ )
35
+ end
36
+
37
+ # @rbs return: Hash[String, untyped]
38
+ def to_h
39
+ {
40
+ 'sessionUpdate' => 'user_message_chunk',
41
+ 'content' => content.to_h,
42
+ 'messageId' => message_id,
43
+ '_meta' => meta
44
+ }.compact
45
+ end
46
+ 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
+ module ACP::Types::Unstable::SessionUpdate
7
+ # @rbs!
8
+ # type t = ACP::Types::Unstable::SessionUpdate::UserMessageChunk
9
+ # | ACP::Types::Unstable::SessionUpdate::AgentMessageChunk
10
+ # | ACP::Types::Unstable::SessionUpdate::AgentThoughtChunk
11
+ # | ACP::Types::Unstable::SessionUpdate::ToolCall
12
+ # | ACP::Types::Unstable::SessionUpdate::ToolCallUpdate
13
+ # | ACP::Types::Unstable::SessionUpdate::Plan
14
+ # | ACP::Types::Unstable::SessionUpdate::PlanUpdate
15
+ # | ACP::Types::Unstable::SessionUpdate::PlanRemoved
16
+ # | ACP::Types::Unstable::SessionUpdate::AvailableCommandsUpdate
17
+ # | ACP::Types::Unstable::SessionUpdate::CurrentModeUpdate
18
+ # | ACP::Types::Unstable::SessionUpdate::ConfigOptionUpdate
19
+ # | ACP::Types::Unstable::SessionUpdate::SessionInfoUpdate
20
+ # | ACP::Types::Unstable::SessionUpdate::UsageUpdate
21
+ # | ACP::Types::Unstable::SessionUpdate::Notice
22
+ # | ACP::Types::Unstable::SessionUpdate::CompactionUpdate
23
+ # | ACP::Types::Unstable::SessionUpdate::CompactionSummaryChunk
24
+ # | ACP::Types::Unstable::SessionUpdate::SubagentUpdate
25
+ # | ACP::Types::Unstable::SessionUpdate::SessionMessage
26
+ # | ACP::Types::Unstable::SessionUpdate::SessionMessageChunk
27
+ # | Hash[String, untyped]
28
+
29
+ # @rbs hash: Hash[String, untyped]
30
+ # @rbs return: t
31
+ def self.from_h(hash)
32
+ case hash['sessionUpdate']
33
+ when 'user_message_chunk' then ACP::Types::Unstable::SessionUpdate::UserMessageChunk.from_h(hash)
34
+ when 'agent_message_chunk' then ACP::Types::Unstable::SessionUpdate::AgentMessageChunk.from_h(hash)
35
+ when 'agent_thought_chunk' then ACP::Types::Unstable::SessionUpdate::AgentThoughtChunk.from_h(hash)
36
+ when 'tool_call' then ACP::Types::Unstable::SessionUpdate::ToolCall.from_h(hash)
37
+ when 'tool_call_update' then ACP::Types::Unstable::SessionUpdate::ToolCallUpdate.from_h(hash)
38
+ when 'plan' then ACP::Types::Unstable::SessionUpdate::Plan.from_h(hash)
39
+ when 'plan_update' then ACP::Types::Unstable::SessionUpdate::PlanUpdate.from_h(hash)
40
+ when 'plan_removed' then ACP::Types::Unstable::SessionUpdate::PlanRemoved.from_h(hash)
41
+ when 'available_commands_update' then ACP::Types::Unstable::SessionUpdate::AvailableCommandsUpdate.from_h(hash)
42
+ when 'current_mode_update' then ACP::Types::Unstable::SessionUpdate::CurrentModeUpdate.from_h(hash)
43
+ when 'config_option_update' then ACP::Types::Unstable::SessionUpdate::ConfigOptionUpdate.from_h(hash)
44
+ when 'session_info_update' then ACP::Types::Unstable::SessionUpdate::SessionInfoUpdate.from_h(hash)
45
+ when 'usage_update' then ACP::Types::Unstable::SessionUpdate::UsageUpdate.from_h(hash)
46
+ when 'notice' then ACP::Types::Unstable::SessionUpdate::Notice.from_h(hash)
47
+ when 'compaction_update' then ACP::Types::Unstable::SessionUpdate::CompactionUpdate.from_h(hash)
48
+ when 'compaction_summary_chunk' then ACP::Types::Unstable::SessionUpdate::CompactionSummaryChunk.from_h(hash)
49
+ when 'subagent_update' then ACP::Types::Unstable::SessionUpdate::SubagentUpdate.from_h(hash)
50
+ when 'session_message' then ACP::Types::Unstable::SessionUpdate::SessionMessage.from_h(hash)
51
+ when 'session_message_chunk' then ACP::Types::Unstable::SessionUpdate::SessionMessageChunk.from_h(hash)
52
+ else hash
53
+ end
54
+ end
55
+ end