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,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::NesJumpCapabilities
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::NesJumpCapabilities
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,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::NesJumpSuggestion
7
+ # @dynamic id
8
+ attr_reader :id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic position
14
+ attr_reader :position #: ACP::Types::Unstable::Position
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs id: String
20
+ # @rbs uri: String
21
+ # @rbs position: ACP::Types::Unstable::Position
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(id:, uri:, position:, meta: nil)
25
+ @id = id
26
+ @uri = uri
27
+ @position = position
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::NesJumpSuggestion
34
+ def self.from_h(hash)
35
+ new(
36
+ id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'id'), 'id'),
37
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
38
+ position: ACP::Types::Check.object(
39
+ ACP::Types::Check.key(hash, 'position'),
40
+ 'position',
41
+ ACP::Types::Unstable::Position
42
+ ),
43
+ meta: hash['_meta']
44
+ )
45
+ end
46
+
47
+ # @rbs return: Hash[String, untyped]
48
+ def to_h
49
+ { 'id' => id, 'uri' => uri, 'position' => position.to_h, '_meta' => meta }.compact
50
+ end
51
+ end
@@ -0,0 +1,64 @@
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::NesOpenFile
7
+ # @dynamic uri
8
+ attr_reader :uri #: String
9
+
10
+ # @dynamic language_id
11
+ attr_reader :language_id #: String
12
+
13
+ # @dynamic visible_range
14
+ attr_reader :visible_range #: ACP::Types::Unstable::Range?
15
+
16
+ # @dynamic last_focused_ms
17
+ attr_reader :last_focused_ms #: Integer?
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs uri: String
23
+ # @rbs language_id: String
24
+ # @rbs visible_range: ACP::Types::Unstable::Range?
25
+ # @rbs last_focused_ms: Integer?
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(uri:, language_id:, visible_range: nil, last_focused_ms: nil, meta: nil)
29
+ @uri = uri
30
+ @language_id = language_id
31
+ @visible_range = visible_range
32
+ @last_focused_ms = last_focused_ms
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::NesOpenFile
39
+ def self.from_h(hash)
40
+ new(
41
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
42
+ language_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'languageId'), 'languageId'),
43
+ visible_range: ACP::Types::Check.object(
44
+ hash['visibleRange'],
45
+ 'visibleRange',
46
+ ACP::Types::Unstable::Range,
47
+ allow_nil: true
48
+ ),
49
+ last_focused_ms: ACP::Types::Check.integer(hash['lastFocusedMs'], 'lastFocusedMs', min: 0, allow_nil: true),
50
+ meta: hash['_meta']
51
+ )
52
+ end
53
+
54
+ # @rbs return: Hash[String, untyped]
55
+ def to_h
56
+ {
57
+ 'uri' => uri,
58
+ 'languageId' => language_id,
59
+ 'visibleRange' => visible_range&.to_h,
60
+ 'lastFocusedMs' => last_focused_ms,
61
+ '_meta' => meta
62
+ }.compact
63
+ end
64
+ 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::NesOpenFilesCapabilities
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::NesOpenFilesCapabilities
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,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::NesRecentFile
7
+ # @dynamic uri
8
+ attr_reader :uri #: String
9
+
10
+ # @dynamic language_id
11
+ attr_reader :language_id #: String
12
+
13
+ # @dynamic text
14
+ attr_reader :text #: String
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs uri: String
20
+ # @rbs language_id: String
21
+ # @rbs text: String
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(uri:, language_id:, text:, meta: nil)
25
+ @uri = uri
26
+ @language_id = language_id
27
+ @text = text
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::NesRecentFile
34
+ def self.from_h(hash)
35
+ new(
36
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
37
+ language_id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'languageId'), 'languageId'),
38
+ text: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'text'), 'text'),
39
+ meta: hash['_meta']
40
+ )
41
+ end
42
+
43
+ # @rbs return: Hash[String, untyped]
44
+ def to_h
45
+ { 'uri' => uri, 'languageId' => language_id, 'text' => text, '_meta' => meta }.compact
46
+ end
47
+ 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::NesRecentFilesCapabilities
7
+ # @dynamic max_count
8
+ attr_reader :max_count #: Integer?
9
+
10
+ # @dynamic meta
11
+ attr_reader :meta #: Hash[String, untyped]?
12
+
13
+ # @rbs max_count: Integer?
14
+ # @rbs meta: Hash[String, untyped]?
15
+ # @rbs return: void
16
+ def initialize(max_count: nil, meta: nil)
17
+ @max_count = max_count
18
+ @meta = meta
19
+ freeze
20
+ end
21
+
22
+ # @rbs hash: Hash[String, untyped]
23
+ # @rbs return: ACP::Types::Unstable::NesRecentFilesCapabilities
24
+ def self.from_h(hash)
25
+ new(
26
+ max_count: ACP::Types::Check.integer(hash['maxCount'], 'maxCount', min: 0, allow_nil: true),
27
+ meta: hash['_meta']
28
+ )
29
+ end
30
+
31
+ # @rbs return: Hash[String, untyped]
32
+ def to_h
33
+ { 'maxCount' => max_count, '_meta' => meta }.compact
34
+ end
35
+ end
@@ -0,0 +1,11 @@
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::NesRejectReason
7
+ REJECTED = 'rejected'
8
+ IGNORED = 'ignored'
9
+ REPLACED = 'replaced'
10
+ CANCELLED = 'cancelled'
11
+ end
@@ -0,0 +1,40 @@
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::NesRelatedSnippet
7
+ # @dynamic uri
8
+ attr_reader :uri #: String
9
+
10
+ # @dynamic excerpts
11
+ attr_reader :excerpts #: Array[ACP::Types::Unstable::NesExcerpt]
12
+
13
+ # @dynamic meta
14
+ attr_reader :meta #: Hash[String, untyped]?
15
+
16
+ # @rbs uri: String
17
+ # @rbs excerpts: Array[ACP::Types::Unstable::NesExcerpt]
18
+ # @rbs meta: Hash[String, untyped]?
19
+ # @rbs return: void
20
+ def initialize(uri:, excerpts:, meta: nil)
21
+ @uri = uri
22
+ @excerpts = excerpts
23
+ @meta = meta
24
+ freeze
25
+ end
26
+
27
+ # @rbs hash: Hash[String, untyped]
28
+ # @rbs return: ACP::Types::Unstable::NesRelatedSnippet
29
+ def self.from_h(hash)
30
+ excerpts = ACP::Types::Check.array(ACP::Types::Check.key(hash, 'excerpts'), 'excerpts') do |item, path|
31
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesExcerpt)
32
+ end
33
+ new(uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'), excerpts:, meta: hash['_meta'])
34
+ end
35
+
36
+ # @rbs return: Hash[String, untyped]
37
+ def to_h
38
+ { 'uri' => uri, 'excerpts' => excerpts.map(&:to_h), '_meta' => meta }.compact
39
+ end
40
+ 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::NesRelatedSnippetsCapabilities
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::NesRelatedSnippetsCapabilities
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,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::NesRenameCapabilities
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::NesRenameCapabilities
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,57 @@
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::NesRenameSuggestion
7
+ # @dynamic id
8
+ attr_reader :id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic position
14
+ attr_reader :position #: ACP::Types::Unstable::Position
15
+
16
+ # @dynamic new_name
17
+ attr_reader :new_name #: String
18
+
19
+ # @dynamic meta
20
+ attr_reader :meta #: Hash[String, untyped]?
21
+
22
+ # @rbs id: String
23
+ # @rbs uri: String
24
+ # @rbs position: ACP::Types::Unstable::Position
25
+ # @rbs new_name: String
26
+ # @rbs meta: Hash[String, untyped]?
27
+ # @rbs return: void
28
+ def initialize(id:, uri:, position:, new_name:, meta: nil)
29
+ @id = id
30
+ @uri = uri
31
+ @position = position
32
+ @new_name = new_name
33
+ @meta = meta
34
+ freeze
35
+ end
36
+
37
+ # @rbs hash: Hash[String, untyped]
38
+ # @rbs return: ACP::Types::Unstable::NesRenameSuggestion
39
+ def self.from_h(hash)
40
+ new(
41
+ id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'id'), 'id'),
42
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
43
+ position: ACP::Types::Check.object(
44
+ ACP::Types::Check.key(hash, 'position'),
45
+ 'position',
46
+ ACP::Types::Unstable::Position
47
+ ),
48
+ new_name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'newName'), 'newName'),
49
+ meta: hash['_meta']
50
+ )
51
+ end
52
+
53
+ # @rbs return: Hash[String, untyped]
54
+ def to_h
55
+ { 'id' => id, 'uri' => uri, 'position' => position.to_h, 'newName' => new_name, '_meta' => meta }.compact
56
+ end
57
+ 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::NesRepository
7
+ # @dynamic name
8
+ attr_reader :name #: String
9
+
10
+ # @dynamic owner
11
+ attr_reader :owner #: String
12
+
13
+ # @dynamic remote_url
14
+ attr_reader :remote_url #: String
15
+
16
+ # @dynamic meta
17
+ attr_reader :meta #: Hash[String, untyped]?
18
+
19
+ # @rbs name: String
20
+ # @rbs owner: String
21
+ # @rbs remote_url: String
22
+ # @rbs meta: Hash[String, untyped]?
23
+ # @rbs return: void
24
+ def initialize(name:, owner:, remote_url:, meta: nil)
25
+ @name = name
26
+ @owner = owner
27
+ @remote_url = remote_url
28
+ @meta = meta
29
+ freeze
30
+ end
31
+
32
+ # @rbs hash: Hash[String, untyped]
33
+ # @rbs return: ACP::Types::Unstable::NesRepository
34
+ def self.from_h(hash)
35
+ new(
36
+ name: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'name'), 'name'),
37
+ owner: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'owner'), 'owner'),
38
+ remote_url: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'remoteUrl'), 'remoteUrl'),
39
+ meta: hash['_meta']
40
+ )
41
+ end
42
+
43
+ # @rbs return: Hash[String, untyped]
44
+ def to_h
45
+ { 'name' => name, 'owner' => owner, 'remoteUrl' => remote_url, '_meta' => meta }.compact
46
+ end
47
+ 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::NesSearchAndReplaceCapabilities
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::NesSearchAndReplaceCapabilities
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,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::NesSearchAndReplaceSuggestion
7
+ # @dynamic id
8
+ attr_reader :id #: String
9
+
10
+ # @dynamic uri
11
+ attr_reader :uri #: String
12
+
13
+ # @dynamic search
14
+ attr_reader :search #: String
15
+
16
+ # @dynamic replace
17
+ attr_reader :replace #: String
18
+
19
+ # @dynamic is_regex
20
+ attr_reader :is_regex #: bool?
21
+
22
+ # @dynamic meta
23
+ attr_reader :meta #: Hash[String, untyped]?
24
+
25
+ # @rbs id: String
26
+ # @rbs uri: String
27
+ # @rbs search: String
28
+ # @rbs replace: String
29
+ # @rbs is_regex: bool?
30
+ # @rbs meta: Hash[String, untyped]?
31
+ # @rbs return: void
32
+ def initialize(id:, uri:, search:, replace:, is_regex: nil, meta: nil)
33
+ @id = id
34
+ @uri = uri
35
+ @search = search
36
+ @replace = replace
37
+ @is_regex = is_regex
38
+ @meta = meta
39
+ freeze
40
+ end
41
+
42
+ # @rbs hash: Hash[String, untyped]
43
+ # @rbs return: ACP::Types::Unstable::NesSearchAndReplaceSuggestion
44
+ def self.from_h(hash)
45
+ new(
46
+ id: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'id'), 'id'),
47
+ uri: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'uri'), 'uri'),
48
+ search: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'search'), 'search'),
49
+ replace: ACP::Types::Check.string(ACP::Types::Check.key(hash, 'replace'), 'replace'),
50
+ is_regex: ACP::Types::Check.boolean(hash['isRegex'], 'isRegex', allow_nil: true),
51
+ meta: hash['_meta']
52
+ )
53
+ end
54
+
55
+ # @rbs return: Hash[String, untyped]
56
+ def to_h
57
+ {
58
+ 'id' => id,
59
+ 'uri' => uri,
60
+ 'search' => search,
61
+ 'replace' => replace,
62
+ 'isRegex' => is_regex,
63
+ '_meta' => meta
64
+ }.compact
65
+ end
66
+ end
@@ -0,0 +1,95 @@
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::NesSuggestContext
7
+ # @dynamic recent_files
8
+ attr_reader :recent_files #: Array[ACP::Types::Unstable::NesRecentFile]?
9
+
10
+ # @dynamic related_snippets
11
+ attr_reader :related_snippets #: Array[ACP::Types::Unstable::NesRelatedSnippet]?
12
+
13
+ # @dynamic edit_history
14
+ attr_reader :edit_history #: Array[ACP::Types::Unstable::NesEditHistoryEntry]?
15
+
16
+ # @dynamic user_actions
17
+ attr_reader :user_actions #: Array[ACP::Types::Unstable::NesUserAction]?
18
+
19
+ # @dynamic open_files
20
+ attr_reader :open_files #: Array[ACP::Types::Unstable::NesOpenFile]?
21
+
22
+ # @dynamic diagnostics
23
+ attr_reader :diagnostics #: Array[ACP::Types::Unstable::NesDiagnostic]?
24
+
25
+ # @dynamic meta
26
+ attr_reader :meta #: Hash[String, untyped]?
27
+
28
+ # @rbs recent_files: Array[ACP::Types::Unstable::NesRecentFile]?
29
+ # @rbs related_snippets: Array[ACP::Types::Unstable::NesRelatedSnippet]?
30
+ # @rbs edit_history: Array[ACP::Types::Unstable::NesEditHistoryEntry]?
31
+ # @rbs user_actions: Array[ACP::Types::Unstable::NesUserAction]?
32
+ # @rbs open_files: Array[ACP::Types::Unstable::NesOpenFile]?
33
+ # @rbs diagnostics: Array[ACP::Types::Unstable::NesDiagnostic]?
34
+ # @rbs meta: Hash[String, untyped]?
35
+ # @rbs return: void
36
+ def initialize(
37
+ recent_files: nil,
38
+ related_snippets: nil,
39
+ edit_history: nil,
40
+ user_actions: nil,
41
+ open_files: nil,
42
+ diagnostics: nil,
43
+ meta: nil
44
+ )
45
+ @recent_files = recent_files
46
+ @related_snippets = related_snippets
47
+ @edit_history = edit_history
48
+ @user_actions = user_actions
49
+ @open_files = open_files
50
+ @diagnostics = diagnostics
51
+ @meta = meta
52
+ freeze
53
+ end
54
+
55
+ # @rbs hash: Hash[String, untyped]
56
+ # @rbs return: ACP::Types::Unstable::NesSuggestContext
57
+ def self.from_h(hash)
58
+ recent_files = ACP::Types::Check.array(hash['recentFiles'], 'recentFiles', allow_nil: true) do |item, path|
59
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesRecentFile)
60
+ end
61
+ related_snippets = ACP::Types::Check.array(
62
+ hash['relatedSnippets'],
63
+ 'relatedSnippets',
64
+ allow_nil: true
65
+ ) do |item, path|
66
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesRelatedSnippet)
67
+ end
68
+ edit_history = ACP::Types::Check.array(hash['editHistory'], 'editHistory', allow_nil: true) do |item, path|
69
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesEditHistoryEntry)
70
+ end
71
+ user_actions = ACP::Types::Check.array(hash['userActions'], 'userActions', allow_nil: true) do |item, path|
72
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesUserAction)
73
+ end
74
+ open_files = ACP::Types::Check.array(hash['openFiles'], 'openFiles', allow_nil: true) do |item, path|
75
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesOpenFile)
76
+ end
77
+ diagnostics = ACP::Types::Check.array(hash['diagnostics'], 'diagnostics', allow_nil: true) do |item, path|
78
+ ACP::Types::Check.object(item, path, ACP::Types::Unstable::NesDiagnostic)
79
+ end
80
+ new(recent_files:, related_snippets:, edit_history:, user_actions:, open_files:, diagnostics:, meta: hash['_meta'])
81
+ end
82
+
83
+ # @rbs return: Hash[String, untyped]
84
+ def to_h
85
+ {
86
+ 'recentFiles' => recent_files&.map(&:to_h),
87
+ 'relatedSnippets' => related_snippets&.map(&:to_h),
88
+ 'editHistory' => edit_history&.map(&:to_h),
89
+ 'userActions' => user_actions&.map(&:to_h),
90
+ 'openFiles' => open_files&.map(&:to_h),
91
+ 'diagnostics' => diagnostics&.map(&:to_h),
92
+ '_meta' => meta
93
+ }.compact
94
+ end
95
+ end