cerca 0.1.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 (599) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +17 -0
  4. data/README.md +275 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/cerca/client.rb +144 -0
  7. data/lib/cerca/errors.rb +228 -0
  8. data/lib/cerca/file_part.rb +58 -0
  9. data/lib/cerca/internal/agents_cursor_page.rb +92 -0
  10. data/lib/cerca/internal/approval_requests_cursor_page.rb +92 -0
  11. data/lib/cerca/internal/connections_cursor_page.rb +92 -0
  12. data/lib/cerca/internal/entries_cursor_page.rb +92 -0
  13. data/lib/cerca/internal/events_cursor_page.rb +92 -0
  14. data/lib/cerca/internal/fleets_cursor_page.rb +92 -0
  15. data/lib/cerca/internal/grants_cursor_page.rb +92 -0
  16. data/lib/cerca/internal/results_cursor_page.rb +92 -0
  17. data/lib/cerca/internal/sources_cursor_page.rb +92 -0
  18. data/lib/cerca/internal/stream.rb +55 -0
  19. data/lib/cerca/internal/subscriptions_cursor_page.rb +92 -0
  20. data/lib/cerca/internal/threads_cursor_page.rb +92 -0
  21. data/lib/cerca/internal/transport/base_client.rb +570 -0
  22. data/lib/cerca/internal/transport/pooled_net_requester.rb +210 -0
  23. data/lib/cerca/internal/type/array_of.rb +168 -0
  24. data/lib/cerca/internal/type/base_model.rb +530 -0
  25. data/lib/cerca/internal/type/base_page.rb +55 -0
  26. data/lib/cerca/internal/type/base_stream.rb +83 -0
  27. data/lib/cerca/internal/type/boolean.rb +77 -0
  28. data/lib/cerca/internal/type/converter.rb +327 -0
  29. data/lib/cerca/internal/type/enum.rb +152 -0
  30. data/lib/cerca/internal/type/file_input.rb +110 -0
  31. data/lib/cerca/internal/type/hash_of.rb +188 -0
  32. data/lib/cerca/internal/type/request_parameters.rb +42 -0
  33. data/lib/cerca/internal/type/union.rb +258 -0
  34. data/lib/cerca/internal/type/unknown.rb +81 -0
  35. data/lib/cerca/internal/util.rb +966 -0
  36. data/lib/cerca/internal.rb +20 -0
  37. data/lib/cerca/models/agent.rb +87 -0
  38. data/lib/cerca/models/agent_create_params.rb +47 -0
  39. data/lib/cerca/models/agent_delete_params.rb +20 -0
  40. data/lib/cerca/models/agent_delete_response.rb +16 -0
  41. data/lib/cerca/models/agent_list_params.rb +61 -0
  42. data/lib/cerca/models/agent_list_tools_params.rb +20 -0
  43. data/lib/cerca/models/agent_list_tools_response.rb +29 -0
  44. data/lib/cerca/models/agent_retrieve_config_params.rb +20 -0
  45. data/lib/cerca/models/agent_retrieve_params.rb +20 -0
  46. data/lib/cerca/models/agent_summary.rb +84 -0
  47. data/lib/cerca/models/agent_update_metadata_params.rb +33 -0
  48. data/lib/cerca/models/agent_update_params.rb +26 -0
  49. data/lib/cerca/models/api_key_tool_source_auth.rb +34 -0
  50. data/lib/cerca/models/approval_grant.rb +57 -0
  51. data/lib/cerca/models/approval_grant_delete_for_thread_params.rb +32 -0
  52. data/lib/cerca/models/approval_grant_delete_for_thread_response.rb +16 -0
  53. data/lib/cerca/models/approval_grant_delete_params.rb +26 -0
  54. data/lib/cerca/models/approval_grant_delete_response.rb +16 -0
  55. data/lib/cerca/models/approval_grant_list_for_thread_params.rb +26 -0
  56. data/lib/cerca/models/approval_grant_list_for_thread_response.rb +8 -0
  57. data/lib/cerca/models/approval_grant_list_params.rb +41 -0
  58. data/lib/cerca/models/approval_mode.rb +15 -0
  59. data/lib/cerca/models/approval_policy.rb +21 -0
  60. data/lib/cerca/models/approval_request.rb +133 -0
  61. data/lib/cerca/models/approval_request_list_params.rb +49 -0
  62. data/lib/cerca/models/approval_request_resolve_params.rb +65 -0
  63. data/lib/cerca/models/attached_connection.rb +22 -0
  64. data/lib/cerca/models/auth_context_params.rb +14 -0
  65. data/lib/cerca/models/auth_context_response.rb +22 -0
  66. data/lib/cerca/models/auth_fleets_response.rb +27 -0
  67. data/lib/cerca/models/auth_injection.rb +65 -0
  68. data/lib/cerca/models/auth_list_fleets_params.rb +34 -0
  69. data/lib/cerca/models/compiled_context.rb +30 -0
  70. data/lib/cerca/models/configuration.rb +41 -0
  71. data/lib/cerca/models/configuration_field_name.rb +17 -0
  72. data/lib/cerca/models/connection.rb +70 -0
  73. data/lib/cerca/models/connection_attach_params.rb +32 -0
  74. data/lib/cerca/models/connection_create_params.rb +50 -0
  75. data/lib/cerca/models/connection_delete_params.rb +48 -0
  76. data/lib/cerca/models/connection_delete_response.rb +16 -0
  77. data/lib/cerca/models/connection_detach_params.rb +26 -0
  78. data/lib/cerca/models/connection_detach_response.rb +16 -0
  79. data/lib/cerca/models/connection_list_for_agent_params.rb +20 -0
  80. data/lib/cerca/models/connection_list_for_agent_response.rb +28 -0
  81. data/lib/cerca/models/connection_list_params.rb +61 -0
  82. data/lib/cerca/models/connection_owner.rb +46 -0
  83. data/lib/cerca/models/content_block.rb +209 -0
  84. data/lib/cerca/models/context_delete_params.rb +29 -0
  85. data/lib/cerca/models/context_delete_response.rb +16 -0
  86. data/lib/cerca/models/context_list_params.rb +49 -0
  87. data/lib/cerca/models/context_retrieve_params.rb +29 -0
  88. data/lib/cerca/models/context_search_params.rb +57 -0
  89. data/lib/cerca/models/context_write_params.rb +44 -0
  90. data/lib/cerca/models/credential_provider.rb +20 -0
  91. data/lib/cerca/models/credential_type.rb +15 -0
  92. data/lib/cerca/models/discovered_tool.rb +119 -0
  93. data/lib/cerca/models/effective_configuration.rb +86 -0
  94. data/lib/cerca/models/entry.rb +40 -0
  95. data/lib/cerca/models/entry_summary.rb +40 -0
  96. data/lib/cerca/models/error_response.rb +23 -0
  97. data/lib/cerca/models/event_list_for_agent_params.rb +68 -0
  98. data/lib/cerca/models/event_list_for_fleet_params.rb +68 -0
  99. data/lib/cerca/models/event_list_for_thread_params.rb +75 -0
  100. data/lib/cerca/models/event_stream_for_agent_params.rb +64 -0
  101. data/lib/cerca/models/event_stream_for_fleet_params.rb +64 -0
  102. data/lib/cerca/models/event_stream_for_thread_events_params.rb +71 -0
  103. data/lib/cerca/models/event_stream_for_thread_params.rb +26 -0
  104. data/lib/cerca/models/exec_result.rb +63 -0
  105. data/lib/cerca/models/execution_principal.rb +56 -0
  106. data/lib/cerca/models/fleet.rb +39 -0
  107. data/lib/cerca/models/http_endpoint.rb +71 -0
  108. data/lib/cerca/models/http_tool_definition.rb +65 -0
  109. data/lib/cerca/models/http_tool_execution_policy.rb +47 -0
  110. data/lib/cerca/models/http_tool_source.rb +98 -0
  111. data/lib/cerca/models/json_object.rb +8 -0
  112. data/lib/cerca/models/mcp_tool_execution_policy.rb +47 -0
  113. data/lib/cerca/models/mcp_tool_source.rb +98 -0
  114. data/lib/cerca/models/message.rb +44 -0
  115. data/lib/cerca/models/metadata.rb +8 -0
  116. data/lib/cerca/models/model_descriptor.rb +64 -0
  117. data/lib/cerca/models/model_list_params.rb +14 -0
  118. data/lib/cerca/models/model_list_response.rb +16 -0
  119. data/lib/cerca/models/no_tool_source_auth.rb +15 -0
  120. data/lib/cerca/models/oauth_connect_params.rb +49 -0
  121. data/lib/cerca/models/oauth_connect_response.rb +41 -0
  122. data/lib/cerca/models/oauth_connection_tool_source_auth.rb +41 -0
  123. data/lib/cerca/models/oauth_exchange_config.rb +118 -0
  124. data/lib/cerca/models/oauth_exchange_tool_source_auth.rb +36 -0
  125. data/lib/cerca/models/read_response.rb +22 -0
  126. data/lib/cerca/models/response_normalization_hint.rb +30 -0
  127. data/lib/cerca/models/runtime_webhook_event.rb +1884 -0
  128. data/lib/cerca/models/sandbox_exec_params.rb +51 -0
  129. data/lib/cerca/models/sandbox_read_params.rb +38 -0
  130. data/lib/cerca/models/sandbox_write_params.rb +32 -0
  131. data/lib/cerca/models/sandbox_write_response.rb +16 -0
  132. data/lib/cerca/models/schedule.rb +105 -0
  133. data/lib/cerca/models/schedule_create_params.rb +82 -0
  134. data/lib/cerca/models/schedule_delete_params.rb +26 -0
  135. data/lib/cerca/models/schedule_delete_response.rb +16 -0
  136. data/lib/cerca/models/schedule_list_params.rb +20 -0
  137. data/lib/cerca/models/schedule_list_response.rb +16 -0
  138. data/lib/cerca/models/schedule_trigger_params.rb +26 -0
  139. data/lib/cerca/models/schedule_trigger_response.rb +16 -0
  140. data/lib/cerca/models/schedule_update_params.rb +96 -0
  141. data/lib/cerca/models/search_result.rb +52 -0
  142. data/lib/cerca/models/source_warning.rb +27 -0
  143. data/lib/cerca/models/status.rb +20 -0
  144. data/lib/cerca/models/steer_result.rb +47 -0
  145. data/lib/cerca/models/sub_thread_summary.rb +114 -0
  146. data/lib/cerca/models/subscription_event.rb +22 -0
  147. data/lib/cerca/models/thread.rb +202 -0
  148. data/lib/cerca/models/thread_cancel_params.rb +26 -0
  149. data/lib/cerca/models/thread_close_params.rb +26 -0
  150. data/lib/cerca/models/thread_compact_params.rb +26 -0
  151. data/lib/cerca/models/thread_create_params.rb +63 -0
  152. data/lib/cerca/models/thread_list_params.rb +57 -0
  153. data/lib/cerca/models/thread_retrieve_params.rb +66 -0
  154. data/lib/cerca/models/thread_start_turn_params.rb +55 -0
  155. data/lib/cerca/models/thread_steer_params.rb +32 -0
  156. data/lib/cerca/models/thread_stream_event.rb +888 -0
  157. data/lib/cerca/models/thread_summary.rb +92 -0
  158. data/lib/cerca/models/token_usage.rb +21 -0
  159. data/lib/cerca/models/tool.rb +22 -0
  160. data/lib/cerca/models/tool_approval_mode.rb +15 -0
  161. data/lib/cerca/models/tool_connection_metadata.rb +8 -0
  162. data/lib/cerca/models/tool_create_params.rb +157 -0
  163. data/lib/cerca/models/tool_delete_params.rb +26 -0
  164. data/lib/cerca/models/tool_descriptor.rb +78 -0
  165. data/lib/cerca/models/tool_list_params.rb +41 -0
  166. data/lib/cerca/models/tool_name.rb +50 -0
  167. data/lib/cerca/models/tool_retrieve_params.rb +26 -0
  168. data/lib/cerca/models/tool_source.rb +19 -0
  169. data/lib/cerca/models/tool_source_auth.rb +24 -0
  170. data/lib/cerca/models/tool_spec.rb +7 -0
  171. data/lib/cerca/models/tool_update_params.rb +163 -0
  172. data/lib/cerca/models/turn.rb +94 -0
  173. data/lib/cerca/models/webhook_create_params.rb +37 -0
  174. data/lib/cerca/models/webhook_delete_params.rb +26 -0
  175. data/lib/cerca/models/webhook_event_type.rb +33 -0
  176. data/lib/cerca/models/webhook_list_params.rb +41 -0
  177. data/lib/cerca/models/webhook_retrieve_params.rb +26 -0
  178. data/lib/cerca/models/webhook_rotate_params.rb +26 -0
  179. data/lib/cerca/models/webhook_subscription.rb +55 -0
  180. data/lib/cerca/models/webhook_subscription_created.rb +73 -0
  181. data/lib/cerca/models/webhook_subscription_event_type.rb +33 -0
  182. data/lib/cerca/models/webhook_test_params.rb +26 -0
  183. data/lib/cerca/models/webhook_test_response.rb +28 -0
  184. data/lib/cerca/models/webhook_update_params.rb +52 -0
  185. data/lib/cerca/models.rb +310 -0
  186. data/lib/cerca/request_options.rb +77 -0
  187. data/lib/cerca/resources/agents.rb +197 -0
  188. data/lib/cerca/resources/approval_grants.rb +106 -0
  189. data/lib/cerca/resources/approval_requests.rb +72 -0
  190. data/lib/cerca/resources/auth.rb +61 -0
  191. data/lib/cerca/resources/connections.rb +167 -0
  192. data/lib/cerca/resources/context.rb +157 -0
  193. data/lib/cerca/resources/events.rb +269 -0
  194. data/lib/cerca/resources/fleets.rb +14 -0
  195. data/lib/cerca/resources/models.rb +32 -0
  196. data/lib/cerca/resources/oauth.rb +45 -0
  197. data/lib/cerca/resources/sandbox.rb +91 -0
  198. data/lib/cerca/resources/schedules.rb +159 -0
  199. data/lib/cerca/resources/threads.rb +233 -0
  200. data/lib/cerca/resources/tools.rb +130 -0
  201. data/lib/cerca/resources/webhooks.rb +181 -0
  202. data/lib/cerca/version.rb +5 -0
  203. data/lib/cerca.rb +231 -0
  204. data/manifest.yaml +17 -0
  205. data/rbi/cerca/client.rbi +91 -0
  206. data/rbi/cerca/errors.rbi +205 -0
  207. data/rbi/cerca/file_part.rbi +37 -0
  208. data/rbi/cerca/internal/agents_cursor_page.rbi +25 -0
  209. data/rbi/cerca/internal/approval_requests_cursor_page.rbi +25 -0
  210. data/rbi/cerca/internal/connections_cursor_page.rbi +25 -0
  211. data/rbi/cerca/internal/entries_cursor_page.rbi +25 -0
  212. data/rbi/cerca/internal/events_cursor_page.rbi +25 -0
  213. data/rbi/cerca/internal/fleets_cursor_page.rbi +25 -0
  214. data/rbi/cerca/internal/grants_cursor_page.rbi +25 -0
  215. data/rbi/cerca/internal/results_cursor_page.rbi +25 -0
  216. data/rbi/cerca/internal/sources_cursor_page.rbi +25 -0
  217. data/rbi/cerca/internal/stream.rbi +18 -0
  218. data/rbi/cerca/internal/subscriptions_cursor_page.rbi +25 -0
  219. data/rbi/cerca/internal/threads_cursor_page.rbi +25 -0
  220. data/rbi/cerca/internal/transport/base_client.rbi +313 -0
  221. data/rbi/cerca/internal/transport/pooled_net_requester.rbi +82 -0
  222. data/rbi/cerca/internal/type/array_of.rbi +104 -0
  223. data/rbi/cerca/internal/type/base_model.rbi +299 -0
  224. data/rbi/cerca/internal/type/base_page.rbi +42 -0
  225. data/rbi/cerca/internal/type/base_stream.rbi +75 -0
  226. data/rbi/cerca/internal/type/boolean.rbi +58 -0
  227. data/rbi/cerca/internal/type/converter.rbi +204 -0
  228. data/rbi/cerca/internal/type/enum.rbi +82 -0
  229. data/rbi/cerca/internal/type/file_input.rbi +58 -0
  230. data/rbi/cerca/internal/type/hash_of.rbi +104 -0
  231. data/rbi/cerca/internal/type/request_parameters.rbi +29 -0
  232. data/rbi/cerca/internal/type/union.rbi +126 -0
  233. data/rbi/cerca/internal/type/unknown.rbi +58 -0
  234. data/rbi/cerca/internal/util.rbi +506 -0
  235. data/rbi/cerca/internal.rbi +16 -0
  236. data/rbi/cerca/models/agent.rbi +102 -0
  237. data/rbi/cerca/models/agent_create_params.rbi +75 -0
  238. data/rbi/cerca/models/agent_delete_params.rbi +35 -0
  239. data/rbi/cerca/models/agent_delete_response.rbi +23 -0
  240. data/rbi/cerca/models/agent_list_params.rbi +99 -0
  241. data/rbi/cerca/models/agent_list_tools_params.rbi +35 -0
  242. data/rbi/cerca/models/agent_list_tools_response.rbi +56 -0
  243. data/rbi/cerca/models/agent_retrieve_config_params.rbi +35 -0
  244. data/rbi/cerca/models/agent_retrieve_params.rbi +35 -0
  245. data/rbi/cerca/models/agent_summary.rbi +91 -0
  246. data/rbi/cerca/models/agent_update_metadata_params.rbi +51 -0
  247. data/rbi/cerca/models/agent_update_params.rbi +46 -0
  248. data/rbi/cerca/models/api_key_tool_source_auth.rbi +66 -0
  249. data/rbi/cerca/models/approval_grant.rbi +80 -0
  250. data/rbi/cerca/models/approval_grant_delete_for_thread_params.rbi +51 -0
  251. data/rbi/cerca/models/approval_grant_delete_for_thread_response.rbi +26 -0
  252. data/rbi/cerca/models/approval_grant_delete_params.rbi +43 -0
  253. data/rbi/cerca/models/approval_grant_delete_response.rbi +26 -0
  254. data/rbi/cerca/models/approval_grant_list_for_thread_params.rbi +46 -0
  255. data/rbi/cerca/models/approval_grant_list_for_thread_response.rbi +11 -0
  256. data/rbi/cerca/models/approval_grant_list_params.rbi +65 -0
  257. data/rbi/cerca/models/approval_mode.rbi +19 -0
  258. data/rbi/cerca/models/approval_policy.rbi +42 -0
  259. data/rbi/cerca/models/approval_request.rbi +152 -0
  260. data/rbi/cerca/models/approval_request_list_params.rbi +76 -0
  261. data/rbi/cerca/models/approval_request_resolve_params.rbi +137 -0
  262. data/rbi/cerca/models/attached_connection.rbi +37 -0
  263. data/rbi/cerca/models/auth_context_params.rbi +27 -0
  264. data/rbi/cerca/models/auth_context_response.rbi +26 -0
  265. data/rbi/cerca/models/auth_fleets_response.rbi +43 -0
  266. data/rbi/cerca/models/auth_injection.rbi +91 -0
  267. data/rbi/cerca/models/auth_list_fleets_params.rbi +59 -0
  268. data/rbi/cerca/models/compiled_context.rbi +41 -0
  269. data/rbi/cerca/models/configuration.rbi +67 -0
  270. data/rbi/cerca/models/configuration_field_name.rbi +26 -0
  271. data/rbi/cerca/models/connection.rbi +83 -0
  272. data/rbi/cerca/models/connection_attach_params.rbi +56 -0
  273. data/rbi/cerca/models/connection_create_params.rbi +87 -0
  274. data/rbi/cerca/models/connection_delete_params.rbi +87 -0
  275. data/rbi/cerca/models/connection_delete_response.rbi +26 -0
  276. data/rbi/cerca/models/connection_detach_params.rbi +43 -0
  277. data/rbi/cerca/models/connection_detach_response.rbi +26 -0
  278. data/rbi/cerca/models/connection_list_for_agent_params.rbi +35 -0
  279. data/rbi/cerca/models/connection_list_for_agent_response.rbi +46 -0
  280. data/rbi/cerca/models/connection_list_params.rbi +103 -0
  281. data/rbi/cerca/models/connection_owner.rbi +68 -0
  282. data/rbi/cerca/models/content_block.rbi +324 -0
  283. data/rbi/cerca/models/context_delete_params.rbi +49 -0
  284. data/rbi/cerca/models/context_delete_response.rbi +23 -0
  285. data/rbi/cerca/models/context_list_params.rbi +76 -0
  286. data/rbi/cerca/models/context_retrieve_params.rbi +49 -0
  287. data/rbi/cerca/models/context_search_params.rbi +84 -0
  288. data/rbi/cerca/models/context_write_params.rbi +71 -0
  289. data/rbi/cerca/models/credential_provider.rbi +26 -0
  290. data/rbi/cerca/models/credential_type.rbi +19 -0
  291. data/rbi/cerca/models/discovered_tool.rbi +156 -0
  292. data/rbi/cerca/models/effective_configuration.rbi +122 -0
  293. data/rbi/cerca/models/entry.rbi +53 -0
  294. data/rbi/cerca/models/entry_summary.rbi +54 -0
  295. data/rbi/cerca/models/error_response.rbi +32 -0
  296. data/rbi/cerca/models/event_list_for_agent_params.rbi +115 -0
  297. data/rbi/cerca/models/event_list_for_fleet_params.rbi +115 -0
  298. data/rbi/cerca/models/event_list_for_thread_params.rbi +121 -0
  299. data/rbi/cerca/models/event_stream_for_agent_params.rbi +115 -0
  300. data/rbi/cerca/models/event_stream_for_fleet_params.rbi +115 -0
  301. data/rbi/cerca/models/event_stream_for_thread_events_params.rbi +134 -0
  302. data/rbi/cerca/models/event_stream_for_thread_params.rbi +43 -0
  303. data/rbi/cerca/models/exec_result.rbi +85 -0
  304. data/rbi/cerca/models/execution_principal.rbi +82 -0
  305. data/rbi/cerca/models/fleet.rbi +50 -0
  306. data/rbi/cerca/models/http_endpoint.rbi +112 -0
  307. data/rbi/cerca/models/http_tool_definition.rbi +92 -0
  308. data/rbi/cerca/models/http_tool_execution_policy.rbi +106 -0
  309. data/rbi/cerca/models/http_tool_source.rbi +117 -0
  310. data/rbi/cerca/models/json_object.rbi +11 -0
  311. data/rbi/cerca/models/mcp_tool_execution_policy.rbi +106 -0
  312. data/rbi/cerca/models/mcp_tool_source.rbi +117 -0
  313. data/rbi/cerca/models/message.rbi +68 -0
  314. data/rbi/cerca/models/metadata.rbi +11 -0
  315. data/rbi/cerca/models/model_descriptor.rbi +92 -0
  316. data/rbi/cerca/models/model_list_params.rbi +25 -0
  317. data/rbi/cerca/models/model_list_response.rbi +27 -0
  318. data/rbi/cerca/models/no_tool_source_auth.rbi +23 -0
  319. data/rbi/cerca/models/oauth_connect_params.rbi +85 -0
  320. data/rbi/cerca/models/oauth_connect_response.rbi +67 -0
  321. data/rbi/cerca/models/oauth_connection_tool_source_auth.rbi +88 -0
  322. data/rbi/cerca/models/oauth_exchange_config.rbi +185 -0
  323. data/rbi/cerca/models/oauth_exchange_tool_source_auth.rbi +85 -0
  324. data/rbi/cerca/models/read_response.rbi +26 -0
  325. data/rbi/cerca/models/response_normalization_hint.rbi +57 -0
  326. data/rbi/cerca/models/runtime_webhook_event.rbi +3178 -0
  327. data/rbi/cerca/models/sandbox_exec_params.rbi +75 -0
  328. data/rbi/cerca/models/sandbox_read_params.rbi +65 -0
  329. data/rbi/cerca/models/sandbox_write_params.rbi +48 -0
  330. data/rbi/cerca/models/sandbox_write_response.rbi +23 -0
  331. data/rbi/cerca/models/schedule.rbi +123 -0
  332. data/rbi/cerca/models/schedule_create_params.rbi +111 -0
  333. data/rbi/cerca/models/schedule_delete_params.rbi +43 -0
  334. data/rbi/cerca/models/schedule_delete_response.rbi +23 -0
  335. data/rbi/cerca/models/schedule_list_params.rbi +35 -0
  336. data/rbi/cerca/models/schedule_list_response.rbi +27 -0
  337. data/rbi/cerca/models/schedule_trigger_params.rbi +43 -0
  338. data/rbi/cerca/models/schedule_trigger_response.rbi +26 -0
  339. data/rbi/cerca/models/schedule_update_params.rbi +132 -0
  340. data/rbi/cerca/models/search_result.rbi +72 -0
  341. data/rbi/cerca/models/source_warning.rbi +36 -0
  342. data/rbi/cerca/models/status.rbi +24 -0
  343. data/rbi/cerca/models/steer_result.rbi +69 -0
  344. data/rbi/cerca/models/sub_thread_summary.rbi +130 -0
  345. data/rbi/cerca/models/subscription_event.rbi +57 -0
  346. data/rbi/cerca/models/thread.rbi +218 -0
  347. data/rbi/cerca/models/thread_cancel_params.rbi +43 -0
  348. data/rbi/cerca/models/thread_close_params.rbi +43 -0
  349. data/rbi/cerca/models/thread_compact_params.rbi +43 -0
  350. data/rbi/cerca/models/thread_create_params.rbi +94 -0
  351. data/rbi/cerca/models/thread_list_params.rbi +87 -0
  352. data/rbi/cerca/models/thread_retrieve_params.rbi +130 -0
  353. data/rbi/cerca/models/thread_start_turn_params.rbi +77 -0
  354. data/rbi/cerca/models/thread_steer_params.rbi +48 -0
  355. data/rbi/cerca/models/thread_stream_event.rbi +1507 -0
  356. data/rbi/cerca/models/thread_summary.rbi +99 -0
  357. data/rbi/cerca/models/token_usage.rbi +28 -0
  358. data/rbi/cerca/models/tool.rbi +18 -0
  359. data/rbi/cerca/models/tool_approval_mode.rbi +19 -0
  360. data/rbi/cerca/models/tool_connection_metadata.rbi +11 -0
  361. data/rbi/cerca/models/tool_create_params.rbi +286 -0
  362. data/rbi/cerca/models/tool_delete_params.rbi +43 -0
  363. data/rbi/cerca/models/tool_descriptor.rbi +110 -0
  364. data/rbi/cerca/models/tool_list_params.rbi +63 -0
  365. data/rbi/cerca/models/tool_name.rbi +70 -0
  366. data/rbi/cerca/models/tool_retrieve_params.rbi +43 -0
  367. data/rbi/cerca/models/tool_source.rbi +16 -0
  368. data/rbi/cerca/models/tool_source_auth.rbi +25 -0
  369. data/rbi/cerca/models/tool_spec.rbi +7 -0
  370. data/rbi/cerca/models/tool_update_params.rbi +291 -0
  371. data/rbi/cerca/models/turn.rbi +116 -0
  372. data/rbi/cerca/models/webhook_create_params.rbi +68 -0
  373. data/rbi/cerca/models/webhook_delete_params.rbi +43 -0
  374. data/rbi/cerca/models/webhook_event_type.rbi +56 -0
  375. data/rbi/cerca/models/webhook_list_params.rbi +65 -0
  376. data/rbi/cerca/models/webhook_retrieve_params.rbi +43 -0
  377. data/rbi/cerca/models/webhook_rotate_params.rbi +43 -0
  378. data/rbi/cerca/models/webhook_subscription.rbi +73 -0
  379. data/rbi/cerca/models/webhook_subscription_created.rbi +83 -0
  380. data/rbi/cerca/models/webhook_subscription_event_type.rbi +115 -0
  381. data/rbi/cerca/models/webhook_test_params.rbi +43 -0
  382. data/rbi/cerca/models/webhook_test_response.rbi +43 -0
  383. data/rbi/cerca/models/webhook_update_params.rbi +88 -0
  384. data/rbi/cerca/models.rbi +277 -0
  385. data/rbi/cerca/request_options.rbi +55 -0
  386. data/rbi/cerca/resources/agents.rbi +125 -0
  387. data/rbi/cerca/resources/approval_grants.rbi +66 -0
  388. data/rbi/cerca/resources/approval_requests.rbi +58 -0
  389. data/rbi/cerca/resources/auth.rbi +39 -0
  390. data/rbi/cerca/resources/connections.rbi +116 -0
  391. data/rbi/cerca/resources/context.rbi +114 -0
  392. data/rbi/cerca/resources/events.rbi +188 -0
  393. data/rbi/cerca/resources/fleets.rbi +12 -0
  394. data/rbi/cerca/resources/models.rbi +21 -0
  395. data/rbi/cerca/resources/oauth.rbi +39 -0
  396. data/rbi/cerca/resources/sandbox.rbi +60 -0
  397. data/rbi/cerca/resources/schedules.rbi +110 -0
  398. data/rbi/cerca/resources/threads.rbi +160 -0
  399. data/rbi/cerca/resources/tools.rbi +87 -0
  400. data/rbi/cerca/resources/webhooks.rbi +121 -0
  401. data/rbi/cerca/version.rbi +5 -0
  402. data/sig/cerca/client.rbs +54 -0
  403. data/sig/cerca/errors.rbs +117 -0
  404. data/sig/cerca/file_part.rbs +21 -0
  405. data/sig/cerca/internal/agents_cursor_page.rbs +15 -0
  406. data/sig/cerca/internal/approval_requests_cursor_page.rbs +15 -0
  407. data/sig/cerca/internal/connections_cursor_page.rbs +15 -0
  408. data/sig/cerca/internal/entries_cursor_page.rbs +15 -0
  409. data/sig/cerca/internal/events_cursor_page.rbs +15 -0
  410. data/sig/cerca/internal/fleets_cursor_page.rbs +15 -0
  411. data/sig/cerca/internal/grants_cursor_page.rbs +15 -0
  412. data/sig/cerca/internal/results_cursor_page.rbs +15 -0
  413. data/sig/cerca/internal/sources_cursor_page.rbs +15 -0
  414. data/sig/cerca/internal/stream.rbs +9 -0
  415. data/sig/cerca/internal/subscriptions_cursor_page.rbs +15 -0
  416. data/sig/cerca/internal/threads_cursor_page.rbs +15 -0
  417. data/sig/cerca/internal/transport/base_client.rbs +133 -0
  418. data/sig/cerca/internal/transport/pooled_net_requester.rbs +48 -0
  419. data/sig/cerca/internal/type/array_of.rbs +48 -0
  420. data/sig/cerca/internal/type/base_model.rbs +102 -0
  421. data/sig/cerca/internal/type/base_page.rbs +24 -0
  422. data/sig/cerca/internal/type/base_stream.rbs +38 -0
  423. data/sig/cerca/internal/type/boolean.rbs +26 -0
  424. data/sig/cerca/internal/type/converter.rbs +79 -0
  425. data/sig/cerca/internal/type/enum.rbs +32 -0
  426. data/sig/cerca/internal/type/file_input.rbs +25 -0
  427. data/sig/cerca/internal/type/hash_of.rbs +48 -0
  428. data/sig/cerca/internal/type/request_parameters.rbs +17 -0
  429. data/sig/cerca/internal/type/union.rbs +52 -0
  430. data/sig/cerca/internal/type/unknown.rbs +26 -0
  431. data/sig/cerca/internal/util.rbs +199 -0
  432. data/sig/cerca/internal.rbs +9 -0
  433. data/sig/cerca/models/agent.rbs +69 -0
  434. data/sig/cerca/models/agent_create_params.rbs +49 -0
  435. data/sig/cerca/models/agent_delete_params.rbs +23 -0
  436. data/sig/cerca/models/agent_delete_response.rbs +13 -0
  437. data/sig/cerca/models/agent_list_params.rbs +62 -0
  438. data/sig/cerca/models/agent_list_tools_params.rbs +23 -0
  439. data/sig/cerca/models/agent_list_tools_response.rbs +29 -0
  440. data/sig/cerca/models/agent_retrieve_config_params.rbs +23 -0
  441. data/sig/cerca/models/agent_retrieve_params.rbs +23 -0
  442. data/sig/cerca/models/agent_summary.rbs +65 -0
  443. data/sig/cerca/models/agent_update_metadata_params.rbs +28 -0
  444. data/sig/cerca/models/agent_update_params.rbs +28 -0
  445. data/sig/cerca/models/api_key_tool_source_auth.rbs +30 -0
  446. data/sig/cerca/models/approval_grant.rbs +56 -0
  447. data/sig/cerca/models/approval_grant_delete_for_thread_params.rbs +32 -0
  448. data/sig/cerca/models/approval_grant_delete_for_thread_response.rbs +13 -0
  449. data/sig/cerca/models/approval_grant_delete_params.rbs +28 -0
  450. data/sig/cerca/models/approval_grant_delete_response.rbs +13 -0
  451. data/sig/cerca/models/approval_grant_list_for_thread_params.rbs +28 -0
  452. data/sig/cerca/models/approval_grant_list_for_thread_response.rbs +7 -0
  453. data/sig/cerca/models/approval_grant_list_params.rbs +36 -0
  454. data/sig/cerca/models/approval_mode.rbs +14 -0
  455. data/sig/cerca/models/approval_policy.rbs +28 -0
  456. data/sig/cerca/models/approval_request.rbs +108 -0
  457. data/sig/cerca/models/approval_request_list_params.rbs +42 -0
  458. data/sig/cerca/models/approval_request_resolve_params.rbs +73 -0
  459. data/sig/cerca/models/attached_connection.rbs +28 -0
  460. data/sig/cerca/models/auth_context_params.rbs +14 -0
  461. data/sig/cerca/models/auth_context_response.rbs +15 -0
  462. data/sig/cerca/models/auth_fleets_response.rbs +26 -0
  463. data/sig/cerca/models/auth_injection.rbs +46 -0
  464. data/sig/cerca/models/auth_list_fleets_params.rbs +32 -0
  465. data/sig/cerca/models/compiled_context.rbs +30 -0
  466. data/sig/cerca/models/configuration.rbs +43 -0
  467. data/sig/cerca/models/configuration_field_name.rbs +17 -0
  468. data/sig/cerca/models/connection.rbs +55 -0
  469. data/sig/cerca/models/connection_attach_params.rbs +40 -0
  470. data/sig/cerca/models/connection_create_params.rbs +43 -0
  471. data/sig/cerca/models/connection_delete_params.rbs +49 -0
  472. data/sig/cerca/models/connection_delete_response.rbs +13 -0
  473. data/sig/cerca/models/connection_detach_params.rbs +28 -0
  474. data/sig/cerca/models/connection_detach_response.rbs +13 -0
  475. data/sig/cerca/models/connection_list_for_agent_params.rbs +23 -0
  476. data/sig/cerca/models/connection_list_for_agent_response.rbs +30 -0
  477. data/sig/cerca/models/connection_list_params.rbs +58 -0
  478. data/sig/cerca/models/connection_owner.rbs +35 -0
  479. data/sig/cerca/models/content_block.rbs +200 -0
  480. data/sig/cerca/models/context_delete_params.rbs +28 -0
  481. data/sig/cerca/models/context_delete_response.rbs +13 -0
  482. data/sig/cerca/models/context_list_params.rbs +42 -0
  483. data/sig/cerca/models/context_retrieve_params.rbs +28 -0
  484. data/sig/cerca/models/context_search_params.rbs +52 -0
  485. data/sig/cerca/models/context_write_params.rbs +50 -0
  486. data/sig/cerca/models/credential_provider.rbs +20 -0
  487. data/sig/cerca/models/credential_type.rbs +14 -0
  488. data/sig/cerca/models/discovered_tool.rbs +109 -0
  489. data/sig/cerca/models/effective_configuration.rbs +74 -0
  490. data/sig/cerca/models/entry.rbs +42 -0
  491. data/sig/cerca/models/entry_summary.rbs +42 -0
  492. data/sig/cerca/models/error_response.rbs +17 -0
  493. data/sig/cerca/models/event_list_for_agent_params.rbs +67 -0
  494. data/sig/cerca/models/event_list_for_fleet_params.rbs +67 -0
  495. data/sig/cerca/models/event_list_for_thread_params.rbs +72 -0
  496. data/sig/cerca/models/event_stream_for_agent_params.rbs +67 -0
  497. data/sig/cerca/models/event_stream_for_fleet_params.rbs +67 -0
  498. data/sig/cerca/models/event_stream_for_thread_events_params.rbs +72 -0
  499. data/sig/cerca/models/event_stream_for_thread_params.rbs +28 -0
  500. data/sig/cerca/models/exec_result.rbs +61 -0
  501. data/sig/cerca/models/execution_principal.rbs +44 -0
  502. data/sig/cerca/models/fleet.rbs +40 -0
  503. data/sig/cerca/models/http_endpoint.rbs +79 -0
  504. data/sig/cerca/models/http_tool_definition.rbs +62 -0
  505. data/sig/cerca/models/http_tool_execution_policy.rbs +57 -0
  506. data/sig/cerca/models/http_tool_source.rbs +83 -0
  507. data/sig/cerca/models/json_object.rbs +7 -0
  508. data/sig/cerca/models/mcp_tool_execution_policy.rbs +57 -0
  509. data/sig/cerca/models/mcp_tool_source.rbs +83 -0
  510. data/sig/cerca/models/message.rbs +46 -0
  511. data/sig/cerca/models/metadata.rbs +7 -0
  512. data/sig/cerca/models/model_descriptor.rbs +63 -0
  513. data/sig/cerca/models/model_list_params.rbs +14 -0
  514. data/sig/cerca/models/model_list_response.rbs +13 -0
  515. data/sig/cerca/models/no_tool_source_auth.rbs +13 -0
  516. data/sig/cerca/models/oauth_connect_params.rbs +43 -0
  517. data/sig/cerca/models/oauth_connect_response.rbs +39 -0
  518. data/sig/cerca/models/oauth_connection_tool_source_auth.rbs +41 -0
  519. data/sig/cerca/models/oauth_exchange_config.rbs +124 -0
  520. data/sig/cerca/models/oauth_exchange_tool_source_auth.rbs +30 -0
  521. data/sig/cerca/models/read_response.rbs +15 -0
  522. data/sig/cerca/models/response_normalization_hint.rbs +29 -0
  523. data/sig/cerca/models/runtime_webhook_event.rbs +1803 -0
  524. data/sig/cerca/models/sandbox_exec_params.rbs +50 -0
  525. data/sig/cerca/models/sandbox_read_params.rbs +40 -0
  526. data/sig/cerca/models/sandbox_write_params.rbs +32 -0
  527. data/sig/cerca/models/sandbox_write_response.rbs +13 -0
  528. data/sig/cerca/models/schedule.rbs +90 -0
  529. data/sig/cerca/models/schedule_create_params.rbs +78 -0
  530. data/sig/cerca/models/schedule_delete_params.rbs +28 -0
  531. data/sig/cerca/models/schedule_delete_response.rbs +13 -0
  532. data/sig/cerca/models/schedule_list_params.rbs +23 -0
  533. data/sig/cerca/models/schedule_list_response.rbs +13 -0
  534. data/sig/cerca/models/schedule_trigger_params.rbs +28 -0
  535. data/sig/cerca/models/schedule_trigger_response.rbs +13 -0
  536. data/sig/cerca/models/schedule_update_params.rbs +94 -0
  537. data/sig/cerca/models/search_result.rbs +52 -0
  538. data/sig/cerca/models/source_warning.rbs +23 -0
  539. data/sig/cerca/models/status.rbs +16 -0
  540. data/sig/cerca/models/steer_result.rbs +41 -0
  541. data/sig/cerca/models/sub_thread_summary.rbs +89 -0
  542. data/sig/cerca/models/subscription_event.rbs +22 -0
  543. data/sig/cerca/models/thread.rbs +150 -0
  544. data/sig/cerca/models/thread_cancel_params.rbs +28 -0
  545. data/sig/cerca/models/thread_close_params.rbs +28 -0
  546. data/sig/cerca/models/thread_compact_params.rbs +28 -0
  547. data/sig/cerca/models/thread_create_params.rbs +61 -0
  548. data/sig/cerca/models/thread_list_params.rbs +54 -0
  549. data/sig/cerca/models/thread_retrieve_params.rbs +71 -0
  550. data/sig/cerca/models/thread_start_turn_params.rbs +50 -0
  551. data/sig/cerca/models/thread_steer_params.rbs +32 -0
  552. data/sig/cerca/models/thread_stream_event.rbs +855 -0
  553. data/sig/cerca/models/thread_summary.rbs +70 -0
  554. data/sig/cerca/models/token_usage.rbs +15 -0
  555. data/sig/cerca/models/tool.rbs +11 -0
  556. data/sig/cerca/models/tool_approval_mode.rbs +14 -0
  557. data/sig/cerca/models/tool_connection_metadata.rbs +7 -0
  558. data/sig/cerca/models/tool_create_params.rbs +152 -0
  559. data/sig/cerca/models/tool_delete_params.rbs +28 -0
  560. data/sig/cerca/models/tool_descriptor.rbs +68 -0
  561. data/sig/cerca/models/tool_list_params.rbs +36 -0
  562. data/sig/cerca/models/tool_name.rbs +86 -0
  563. data/sig/cerca/models/tool_retrieve_params.rbs +28 -0
  564. data/sig/cerca/models/tool_source.rbs +11 -0
  565. data/sig/cerca/models/tool_source_auth.rbs +15 -0
  566. data/sig/cerca/models/tool_spec.rbs +5 -0
  567. data/sig/cerca/models/tool_update_params.rbs +160 -0
  568. data/sig/cerca/models/turn.rbs +87 -0
  569. data/sig/cerca/models/webhook_create_params.rbs +40 -0
  570. data/sig/cerca/models/webhook_delete_params.rbs +28 -0
  571. data/sig/cerca/models/webhook_event_type.rbs +52 -0
  572. data/sig/cerca/models/webhook_list_params.rbs +36 -0
  573. data/sig/cerca/models/webhook_retrieve_params.rbs +28 -0
  574. data/sig/cerca/models/webhook_rotate_params.rbs +28 -0
  575. data/sig/cerca/models/webhook_subscription.rbs +50 -0
  576. data/sig/cerca/models/webhook_subscription_created.rbs +55 -0
  577. data/sig/cerca/models/webhook_subscription_event_type.rbs +50 -0
  578. data/sig/cerca/models/webhook_test_params.rbs +28 -0
  579. data/sig/cerca/models/webhook_test_response.rbs +22 -0
  580. data/sig/cerca/models/webhook_update_params.rbs +54 -0
  581. data/sig/cerca/models.rbs +267 -0
  582. data/sig/cerca/request_options.rbs +34 -0
  583. data/sig/cerca/resources/agents.rbs +55 -0
  584. data/sig/cerca/resources/approval_grants.rbs +33 -0
  585. data/sig/cerca/resources/approval_requests.rbs +24 -0
  586. data/sig/cerca/resources/auth.rbs +17 -0
  587. data/sig/cerca/resources/connections.rbs +48 -0
  588. data/sig/cerca/resources/context.rbs +45 -0
  589. data/sig/cerca/resources/events.rbs +69 -0
  590. data/sig/cerca/resources/fleets.rbs +7 -0
  591. data/sig/cerca/resources/models.rbs +11 -0
  592. data/sig/cerca/resources/oauth.rbs +15 -0
  593. data/sig/cerca/resources/sandbox.rbs +31 -0
  594. data/sig/cerca/resources/schedules.rbs +52 -0
  595. data/sig/cerca/resources/threads.rbs +68 -0
  596. data/sig/cerca/resources/tools.rbs +39 -0
  597. data/sig/cerca/resources/webhooks.rbs +54 -0
  598. data/sig/cerca/version.rbs +3 -0
  599. metadata +666 -0
@@ -0,0 +1,888 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cerca
4
+ module Models
5
+ # @see Cerca::Resources::Events#stream_for_thread_streaming
6
+ module ThreadStreamEvent
7
+ extend Cerca::Internal::Type::Union
8
+
9
+ discriminator :type
10
+
11
+ variant :status, -> { Cerca::ThreadStreamEvent::ThreadStreamStatusMessage }
12
+
13
+ variant :message, -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage }
14
+
15
+ variant :progress, -> { Cerca::ThreadStreamEvent::ThreadStreamProgressMessage }
16
+
17
+ variant :"turn/started", -> { Cerca::ThreadStreamEvent::ThreadStreamTurnStartedMessage }
18
+
19
+ variant :"turn/completed", -> { Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage }
20
+
21
+ variant :"item/started", -> { Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage }
22
+
23
+ variant :"item/completed", -> { Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage }
24
+
25
+ variant :token_usage, -> { Cerca::ThreadStreamEvent::ThreadStreamTokenUsageMessage }
26
+
27
+ variant :"approval/requested", -> { Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage }
28
+
29
+ variant :"approval/resolved", -> { Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage }
30
+
31
+ class ThreadStreamStatusMessage < Cerca::Internal::Type::BaseModel
32
+ # @!attribute error
33
+ #
34
+ # @return [String, nil]
35
+ required :error, String, nil?: true
36
+
37
+ # @!attribute event_seq
38
+ #
39
+ # @return [Float]
40
+ required :event_seq, Float, api_name: :eventSeq
41
+
42
+ # @!attribute result
43
+ #
44
+ # @return [String, nil]
45
+ required :result, String, nil?: true
46
+
47
+ # @!attribute status
48
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
49
+ # active turn. `awaiting` threads are paused on external input such as approvals.
50
+ # `closed` threads are terminal.
51
+ #
52
+ # @return [Symbol, Cerca::Models::Status]
53
+ required :status, enum: -> { Cerca::Status }
54
+
55
+ # @!attribute step_seq
56
+ #
57
+ # @return [Float]
58
+ required :step_seq, Float, api_name: :stepSeq
59
+
60
+ # @!attribute turn_id
61
+ #
62
+ # @return [String]
63
+ required :turn_id, String, api_name: :turnId
64
+
65
+ # @!attribute type
66
+ #
67
+ # @return [Symbol, :status]
68
+ required :type, const: :status
69
+
70
+ # @!method initialize(error:, event_seq:, result:, status:, step_seq:, turn_id:, type: :status)
71
+ # Some parameter documentations has been truncated, see
72
+ # {Cerca::Models::ThreadStreamEvent::ThreadStreamStatusMessage} for more details.
73
+ #
74
+ # @param error [String, nil]
75
+ #
76
+ # @param event_seq [Float]
77
+ #
78
+ # @param result [String, nil]
79
+ #
80
+ # @param status [Symbol, Cerca::Models::Status] `idle` threads can accept a new turn or be closed. `running` threads have an act
81
+ #
82
+ # @param step_seq [Float]
83
+ #
84
+ # @param turn_id [String]
85
+ #
86
+ # @param type [Symbol, :status]
87
+ end
88
+
89
+ class ThreadStreamContentMessage < Cerca::Internal::Type::BaseModel
90
+ # @!attribute event_seq
91
+ #
92
+ # @return [Float]
93
+ required :event_seq, Float, api_name: :eventSeq
94
+
95
+ # @!attribute message
96
+ #
97
+ # @return [Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message]
98
+ required :message, -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message }
99
+
100
+ # @!attribute step_seq
101
+ #
102
+ # @return [Float]
103
+ required :step_seq, Float, api_name: :stepSeq
104
+
105
+ # @!attribute turn_id
106
+ #
107
+ # @return [String]
108
+ required :turn_id, String, api_name: :turnId
109
+
110
+ # @!attribute type
111
+ #
112
+ # @return [Symbol, :message]
113
+ required :type, const: :message
114
+
115
+ # @!method initialize(event_seq:, message:, step_seq:, turn_id:, type: :message)
116
+ # @param event_seq [Float]
117
+ # @param message [Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message]
118
+ # @param step_seq [Float]
119
+ # @param turn_id [String]
120
+ # @param type [Symbol, :message]
121
+
122
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage#message
123
+ class Message < Cerca::Internal::Type::BaseModel
124
+ # @!attribute content
125
+ #
126
+ # @return [Array<Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult>]
127
+ required :content,
128
+ -> { Cerca::Internal::Type::ArrayOf[union: Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content] }
129
+
130
+ # @!attribute created_at
131
+ #
132
+ # @return [String]
133
+ required :created_at, String, api_name: :createdAt
134
+
135
+ # @!attribute role
136
+ #
137
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role]
138
+ required :role, enum: -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role }
139
+
140
+ # @!attribute seq
141
+ #
142
+ # @return [Float]
143
+ required :seq, Float
144
+
145
+ # @!method initialize(content:, created_at:, role:, seq:)
146
+ # @param content [Array<Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult>]
147
+ # @param created_at [String]
148
+ # @param role [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role]
149
+ # @param seq [Float]
150
+
151
+ module Content
152
+ extend Cerca::Internal::Type::Union
153
+
154
+ discriminator :type
155
+
156
+ variant :text, -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text }
157
+
158
+ variant :tool_use, -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse }
159
+
160
+ variant :tool_result,
161
+ -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult }
162
+
163
+ variant :server_tool_use,
164
+ -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse }
165
+
166
+ variant :web_search_tool_result,
167
+ -> { Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult }
168
+
169
+ class Text < Cerca::Internal::Type::BaseModel
170
+ # @!attribute text
171
+ #
172
+ # @return [String]
173
+ required :text, String
174
+
175
+ # @!attribute type
176
+ #
177
+ # @return [Symbol, :text]
178
+ required :type, const: :text
179
+
180
+ # @!attribute provider_metadata
181
+ #
182
+ # @return [Hash{Symbol=>Hash{Symbol=>String}}, nil]
183
+ optional :provider_metadata,
184
+ Cerca::Internal::Type::HashOf[Cerca::Internal::Type::HashOf[String]],
185
+ api_name: :providerMetadata
186
+
187
+ # @!method initialize(text:, provider_metadata: nil, type: :text)
188
+ # @param text [String]
189
+ # @param provider_metadata [Hash{Symbol=>Hash{Symbol=>String}}]
190
+ # @param type [Symbol, :text]
191
+ end
192
+
193
+ class ToolUse < Cerca::Internal::Type::BaseModel
194
+ # @!attribute id
195
+ #
196
+ # @return [String]
197
+ required :id, String
198
+
199
+ # @!attribute input
200
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
201
+ # fields.
202
+ #
203
+ # @return [String]
204
+ required :input, String
205
+
206
+ # @!attribute name
207
+ #
208
+ # @return [Symbol, Cerca::Models::ToolName]
209
+ required :name, enum: -> { Cerca::ToolName }
210
+
211
+ # @!attribute type
212
+ #
213
+ # @return [Symbol, :tool_use]
214
+ required :type, const: :tool_use
215
+
216
+ # @!attribute provider_metadata
217
+ #
218
+ # @return [Hash{Symbol=>Hash{Symbol=>String}}, nil]
219
+ optional :provider_metadata,
220
+ Cerca::Internal::Type::HashOf[Cerca::Internal::Type::HashOf[String]],
221
+ api_name: :providerMetadata
222
+
223
+ # @!method initialize(id:, input:, name:, provider_metadata: nil, type: :tool_use)
224
+ # Some parameter documentations has been truncated, see
225
+ # {Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse}
226
+ # for more details.
227
+ #
228
+ # @param id [String]
229
+ #
230
+ # @param input [String] JSON-serialized tool input payload. Parse as JSON before reading tool-specific f
231
+ #
232
+ # @param name [Symbol, Cerca::Models::ToolName]
233
+ #
234
+ # @param provider_metadata [Hash{Symbol=>Hash{Symbol=>String}}]
235
+ #
236
+ # @param type [Symbol, :tool_use]
237
+ end
238
+
239
+ class ToolResult < Cerca::Internal::Type::BaseModel
240
+ # @!attribute content
241
+ #
242
+ # @return [String]
243
+ required :content, String
244
+
245
+ # @!attribute is_error
246
+ #
247
+ # @return [Boolean]
248
+ required :is_error, Cerca::Internal::Type::Boolean, api_name: :isError
249
+
250
+ # @!attribute tool_use_id
251
+ #
252
+ # @return [String]
253
+ required :tool_use_id, String, api_name: :toolUseId
254
+
255
+ # @!attribute type
256
+ #
257
+ # @return [Symbol, :tool_result]
258
+ required :type, const: :tool_result
259
+
260
+ # @!attribute denied_by_user
261
+ #
262
+ # @return [Boolean, nil]
263
+ optional :denied_by_user, Cerca::Internal::Type::Boolean, api_name: :deniedByUser
264
+
265
+ # @!attribute provider_metadata
266
+ #
267
+ # @return [Hash{Symbol=>Hash{Symbol=>String}}, nil]
268
+ optional :provider_metadata,
269
+ Cerca::Internal::Type::HashOf[Cerca::Internal::Type::HashOf[String]],
270
+ api_name: :providerMetadata
271
+
272
+ # @!method initialize(content:, is_error:, tool_use_id:, denied_by_user: nil, provider_metadata: nil, type: :tool_result)
273
+ # @param content [String]
274
+ # @param is_error [Boolean]
275
+ # @param tool_use_id [String]
276
+ # @param denied_by_user [Boolean]
277
+ # @param provider_metadata [Hash{Symbol=>Hash{Symbol=>String}}]
278
+ # @param type [Symbol, :tool_result]
279
+ end
280
+
281
+ class ServerToolUse < Cerca::Internal::Type::BaseModel
282
+ # @!attribute id
283
+ #
284
+ # @return [String]
285
+ required :id, String
286
+
287
+ # @!attribute input
288
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
289
+ # fields.
290
+ #
291
+ # @return [String]
292
+ required :input, String
293
+
294
+ # @!attribute name
295
+ #
296
+ # @return [String]
297
+ required :name, String
298
+
299
+ # @!attribute type
300
+ #
301
+ # @return [Symbol, :server_tool_use]
302
+ required :type, const: :server_tool_use
303
+
304
+ # @!attribute provider_metadata
305
+ #
306
+ # @return [Hash{Symbol=>Hash{Symbol=>String}}, nil]
307
+ optional :provider_metadata,
308
+ Cerca::Internal::Type::HashOf[Cerca::Internal::Type::HashOf[String]],
309
+ api_name: :providerMetadata
310
+
311
+ # @!method initialize(id:, input:, name:, provider_metadata: nil, type: :server_tool_use)
312
+ # Some parameter documentations has been truncated, see
313
+ # {Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse}
314
+ # for more details.
315
+ #
316
+ # @param id [String]
317
+ #
318
+ # @param input [String] JSON-serialized tool input payload. Parse as JSON before reading tool-specific f
319
+ #
320
+ # @param name [String]
321
+ #
322
+ # @param provider_metadata [Hash{Symbol=>Hash{Symbol=>String}}]
323
+ #
324
+ # @param type [Symbol, :server_tool_use]
325
+ end
326
+
327
+ class WebSearchToolResult < Cerca::Internal::Type::BaseModel
328
+ # @!attribute content
329
+ # Web search result payload. The runtime returns either an array of web search
330
+ # results or an error object.
331
+ #
332
+ # @return [Object]
333
+ required :content, Cerca::Internal::Type::Unknown
334
+
335
+ # @!attribute tool_use_id
336
+ #
337
+ # @return [String]
338
+ required :tool_use_id, String, api_name: :toolUseId
339
+
340
+ # @!attribute type
341
+ #
342
+ # @return [Symbol, :web_search_tool_result]
343
+ required :type, const: :web_search_tool_result
344
+
345
+ # @!method initialize(content:, tool_use_id:, type: :web_search_tool_result)
346
+ # Some parameter documentations has been truncated, see
347
+ # {Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult}
348
+ # for more details.
349
+ #
350
+ # @param content [Object] Web search result payload. The runtime returns either an array of web search res
351
+ #
352
+ # @param tool_use_id [String]
353
+ #
354
+ # @param type [Symbol, :web_search_tool_result]
355
+ end
356
+
357
+ # @!method self.variants
358
+ # @return [Array(Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult)]
359
+ end
360
+
361
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage::Message#role
362
+ module Role
363
+ extend Cerca::Internal::Type::Enum
364
+
365
+ USER = :user
366
+ ASSISTANT = :assistant
367
+
368
+ # @!method self.values
369
+ # @return [Array<Symbol>]
370
+ end
371
+ end
372
+ end
373
+
374
+ class ThreadStreamProgressMessage < Cerca::Internal::Type::BaseModel
375
+ # @!attribute event_seq
376
+ #
377
+ # @return [Float]
378
+ required :event_seq, Float, api_name: :eventSeq
379
+
380
+ # @!attribute message_count
381
+ #
382
+ # @return [Float]
383
+ required :message_count, Float, api_name: :messageCount
384
+
385
+ # @!attribute step_count
386
+ #
387
+ # @return [Float]
388
+ required :step_count, Float, api_name: :stepCount
389
+
390
+ # @!attribute step_seq
391
+ #
392
+ # @return [Float]
393
+ required :step_seq, Float, api_name: :stepSeq
394
+
395
+ # @!attribute turn_id
396
+ #
397
+ # @return [String]
398
+ required :turn_id, String, api_name: :turnId
399
+
400
+ # @!attribute type
401
+ #
402
+ # @return [Symbol, :progress]
403
+ required :type, const: :progress
404
+
405
+ # @!method initialize(event_seq:, message_count:, step_count:, step_seq:, turn_id:, type: :progress)
406
+ # @param event_seq [Float]
407
+ # @param message_count [Float]
408
+ # @param step_count [Float]
409
+ # @param step_seq [Float]
410
+ # @param turn_id [String]
411
+ # @param type [Symbol, :progress]
412
+ end
413
+
414
+ class ThreadStreamTurnStartedMessage < Cerca::Internal::Type::BaseModel
415
+ # @!attribute event_seq
416
+ #
417
+ # @return [Float]
418
+ required :event_seq, Float, api_name: :eventSeq
419
+
420
+ # @!attribute turn_id
421
+ #
422
+ # @return [String]
423
+ required :turn_id, String, api_name: :turnId
424
+
425
+ # @!attribute turn_seq
426
+ #
427
+ # @return [Float]
428
+ required :turn_seq, Float, api_name: :turnSeq
429
+
430
+ # @!attribute type
431
+ #
432
+ # @return [Symbol, :"turn/started"]
433
+ required :type, const: :"turn/started"
434
+
435
+ # @!method initialize(event_seq:, turn_id:, turn_seq:, type: :"turn/started")
436
+ # @param event_seq [Float]
437
+ # @param turn_id [String]
438
+ # @param turn_seq [Float]
439
+ # @param type [Symbol, :"turn/started"]
440
+ end
441
+
442
+ class ThreadStreamTurnCompletedMessage < Cerca::Internal::Type::BaseModel
443
+ # @!attribute error
444
+ #
445
+ # @return [String, nil]
446
+ required :error, String, nil?: true
447
+
448
+ # @!attribute event_seq
449
+ #
450
+ # @return [Float]
451
+ required :event_seq, Float, api_name: :eventSeq
452
+
453
+ # @!attribute result
454
+ #
455
+ # @return [String, nil]
456
+ required :result, String, nil?: true
457
+
458
+ # @!attribute status
459
+ #
460
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status]
461
+ required :status, enum: -> { Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status }
462
+
463
+ # @!attribute turn_id
464
+ #
465
+ # @return [String]
466
+ required :turn_id, String, api_name: :turnId
467
+
468
+ # @!attribute turn_seq
469
+ #
470
+ # @return [Float]
471
+ required :turn_seq, Float, api_name: :turnSeq
472
+
473
+ # @!attribute type
474
+ #
475
+ # @return [Symbol, :"turn/completed"]
476
+ required :type, const: :"turn/completed"
477
+
478
+ # @!method initialize(error:, event_seq:, result:, status:, turn_id:, turn_seq:, type: :"turn/completed")
479
+ # @param error [String, nil]
480
+ # @param event_seq [Float]
481
+ # @param result [String, nil]
482
+ # @param status [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status]
483
+ # @param turn_id [String]
484
+ # @param turn_seq [Float]
485
+ # @param type [Symbol, :"turn/completed"]
486
+
487
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamTurnCompletedMessage#status
488
+ module Status
489
+ extend Cerca::Internal::Type::Enum
490
+
491
+ COMPLETED = :completed
492
+ FAILED = :failed
493
+
494
+ # @!method self.values
495
+ # @return [Array<Symbol>]
496
+ end
497
+ end
498
+
499
+ class ThreadStreamItemStartedMessage < Cerca::Internal::Type::BaseModel
500
+ # @!attribute event_seq
501
+ #
502
+ # @return [Float]
503
+ required :event_seq, Float, api_name: :eventSeq
504
+
505
+ # @!attribute item_id
506
+ #
507
+ # @return [String]
508
+ required :item_id, String, api_name: :itemId
509
+
510
+ # @!attribute item_type
511
+ #
512
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType]
513
+ required :item_type,
514
+ enum: -> { Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType },
515
+ api_name: :itemType
516
+
517
+ # @!attribute turn_id
518
+ #
519
+ # @return [String]
520
+ required :turn_id, String, api_name: :turnId
521
+
522
+ # @!attribute type
523
+ #
524
+ # @return [Symbol, :"item/started"]
525
+ required :type, const: :"item/started"
526
+
527
+ # @!attribute requested_tool_name
528
+ #
529
+ # @return [String, nil]
530
+ optional :requested_tool_name, String, api_name: :requestedToolName
531
+
532
+ # @!attribute sub_thread_id
533
+ #
534
+ # @return [String, nil]
535
+ optional :sub_thread_id, String, api_name: :subThreadId
536
+
537
+ # @!attribute tool_name
538
+ #
539
+ # @return [Symbol, Cerca::Models::ToolName, nil]
540
+ optional :tool_name, enum: -> { Cerca::ToolName }, api_name: :toolName
541
+
542
+ # @!method initialize(event_seq:, item_id:, item_type:, turn_id:, requested_tool_name: nil, sub_thread_id: nil, tool_name: nil, type: :"item/started")
543
+ # @param event_seq [Float]
544
+ # @param item_id [String]
545
+ # @param item_type [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType]
546
+ # @param turn_id [String]
547
+ # @param requested_tool_name [String]
548
+ # @param sub_thread_id [String]
549
+ # @param tool_name [Symbol, Cerca::Models::ToolName]
550
+ # @param type [Symbol, :"item/started"]
551
+
552
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamItemStartedMessage#item_type
553
+ module ItemType
554
+ extend Cerca::Internal::Type::Enum
555
+
556
+ TOOL_CALL = :tool_call
557
+ AGENT_MESSAGE = :agent_message
558
+ LLM_CALL = :llm_call
559
+ SUB_THREAD = :sub_thread
560
+
561
+ # @!method self.values
562
+ # @return [Array<Symbol>]
563
+ end
564
+ end
565
+
566
+ class ThreadStreamItemCompletedMessage < Cerca::Internal::Type::BaseModel
567
+ # @!attribute duration_ms
568
+ #
569
+ # @return [Float]
570
+ required :duration_ms, Float, api_name: :durationMs
571
+
572
+ # @!attribute event_seq
573
+ #
574
+ # @return [Float]
575
+ required :event_seq, Float, api_name: :eventSeq
576
+
577
+ # @!attribute item_id
578
+ #
579
+ # @return [String]
580
+ required :item_id, String, api_name: :itemId
581
+
582
+ # @!attribute item_type
583
+ #
584
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType]
585
+ required :item_type,
586
+ enum: -> { Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType },
587
+ api_name: :itemType
588
+
589
+ # @!attribute turn_id
590
+ #
591
+ # @return [String]
592
+ required :turn_id, String, api_name: :turnId
593
+
594
+ # @!attribute type
595
+ #
596
+ # @return [Symbol, :"item/completed"]
597
+ required :type, const: :"item/completed"
598
+
599
+ # @!attribute is_error
600
+ #
601
+ # @return [Boolean, nil]
602
+ optional :is_error, Cerca::Internal::Type::Boolean, api_name: :isError
603
+
604
+ # @!attribute requested_tool_name
605
+ #
606
+ # @return [String, nil]
607
+ optional :requested_tool_name, String, api_name: :requestedToolName
608
+
609
+ # @!method initialize(duration_ms:, event_seq:, item_id:, item_type:, turn_id:, is_error: nil, requested_tool_name: nil, type: :"item/completed")
610
+ # @param duration_ms [Float]
611
+ # @param event_seq [Float]
612
+ # @param item_id [String]
613
+ # @param item_type [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType]
614
+ # @param turn_id [String]
615
+ # @param is_error [Boolean]
616
+ # @param requested_tool_name [String]
617
+ # @param type [Symbol, :"item/completed"]
618
+
619
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamItemCompletedMessage#item_type
620
+ module ItemType
621
+ extend Cerca::Internal::Type::Enum
622
+
623
+ TOOL_CALL = :tool_call
624
+ AGENT_MESSAGE = :agent_message
625
+ LLM_CALL = :llm_call
626
+ SUB_THREAD = :sub_thread
627
+
628
+ # @!method self.values
629
+ # @return [Array<Symbol>]
630
+ end
631
+ end
632
+
633
+ class ThreadStreamTokenUsageMessage < Cerca::Internal::Type::BaseModel
634
+ # @!attribute cumulative_input_tokens
635
+ #
636
+ # @return [Float]
637
+ required :cumulative_input_tokens, Float, api_name: :cumulativeInputTokens
638
+
639
+ # @!attribute cumulative_output_tokens
640
+ #
641
+ # @return [Float]
642
+ required :cumulative_output_tokens, Float, api_name: :cumulativeOutputTokens
643
+
644
+ # @!attribute event_seq
645
+ #
646
+ # @return [Float]
647
+ required :event_seq, Float, api_name: :eventSeq
648
+
649
+ # @!attribute input_tokens
650
+ #
651
+ # @return [Float]
652
+ required :input_tokens, Float, api_name: :inputTokens
653
+
654
+ # @!attribute output_tokens
655
+ #
656
+ # @return [Float]
657
+ required :output_tokens, Float, api_name: :outputTokens
658
+
659
+ # @!attribute turn_id
660
+ #
661
+ # @return [String]
662
+ required :turn_id, String, api_name: :turnId
663
+
664
+ # @!attribute type
665
+ #
666
+ # @return [Symbol, :token_usage]
667
+ required :type, const: :token_usage
668
+
669
+ # @!method initialize(cumulative_input_tokens:, cumulative_output_tokens:, event_seq:, input_tokens:, output_tokens:, turn_id:, type: :token_usage)
670
+ # @param cumulative_input_tokens [Float]
671
+ # @param cumulative_output_tokens [Float]
672
+ # @param event_seq [Float]
673
+ # @param input_tokens [Float]
674
+ # @param output_tokens [Float]
675
+ # @param turn_id [String]
676
+ # @param type [Symbol, :token_usage]
677
+ end
678
+
679
+ class ThreadStreamApprovalRequestedMessage < Cerca::Internal::Type::BaseModel
680
+ # @!attribute approval
681
+ #
682
+ # @return [Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval]
683
+ required :approval, -> { Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval }
684
+
685
+ # @!attribute event_seq
686
+ #
687
+ # @return [Float]
688
+ required :event_seq, Float, api_name: :eventSeq
689
+
690
+ # @!attribute turn_id
691
+ #
692
+ # @return [String]
693
+ required :turn_id, String, api_name: :turnId
694
+
695
+ # @!attribute type
696
+ #
697
+ # @return [Symbol, :"approval/requested"]
698
+ required :type, const: :"approval/requested"
699
+
700
+ # @!method initialize(approval:, event_seq:, turn_id:, type: :"approval/requested")
701
+ # @param approval [Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval]
702
+ # @param event_seq [Float]
703
+ # @param turn_id [String]
704
+ # @param type [Symbol, :"approval/requested"]
705
+
706
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage#approval
707
+ class Approval < Cerca::Internal::Type::BaseModel
708
+ # @!attribute id
709
+ #
710
+ # @return [String]
711
+ required :id, String
712
+
713
+ # @!attribute created_at
714
+ #
715
+ # @return [String]
716
+ required :created_at, String, api_name: :createdAt
717
+
718
+ # @!attribute requested_tool_name
719
+ #
720
+ # @return [String]
721
+ required :requested_tool_name, String, api_name: :requestedToolName
722
+
723
+ # @!attribute resolved_at
724
+ #
725
+ # @return [String, nil]
726
+ required :resolved_at, String, api_name: :resolvedAt, nil?: true
727
+
728
+ # @!attribute status
729
+ #
730
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status]
731
+ required :status,
732
+ enum: -> { Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status }
733
+
734
+ # @!attribute thread_id
735
+ #
736
+ # @return [String]
737
+ required :thread_id, String, api_name: :threadId
738
+
739
+ # @!attribute timeout_at
740
+ #
741
+ # @return [String, nil]
742
+ required :timeout_at, String, api_name: :timeoutAt, nil?: true
743
+
744
+ # @!attribute timeout_ms
745
+ #
746
+ # @return [Float, nil]
747
+ required :timeout_ms, Float, api_name: :timeoutMs, nil?: true
748
+
749
+ # @!attribute tool_index
750
+ #
751
+ # @return [Float]
752
+ required :tool_index, Float, api_name: :toolIndex
753
+
754
+ # @!attribute tool_input
755
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
756
+ # fields.
757
+ #
758
+ # @return [String]
759
+ required :tool_input, String, api_name: :toolInput
760
+
761
+ # @!attribute tool_name
762
+ #
763
+ # @return [Symbol, Cerca::Models::ToolName]
764
+ required :tool_name, enum: -> { Cerca::ToolName }, api_name: :toolName
765
+
766
+ # @!attribute tool_use_id
767
+ #
768
+ # @return [String]
769
+ required :tool_use_id, String, api_name: :toolUseId
770
+
771
+ # @!attribute turn_id
772
+ #
773
+ # @return [String]
774
+ required :turn_id, String, api_name: :turnId
775
+
776
+ # @!attribute tool_source_id
777
+ #
778
+ # @return [String, nil]
779
+ optional :tool_source_id, String, api_name: :toolSourceId
780
+
781
+ # @!attribute tool_source_version
782
+ #
783
+ # @return [Float, nil]
784
+ optional :tool_source_version, Float, api_name: :toolSourceVersion
785
+
786
+ # @!method initialize(id:, created_at:, requested_tool_name:, resolved_at:, status:, thread_id:, timeout_at:, timeout_ms:, tool_index:, tool_input:, tool_name:, tool_use_id:, turn_id:, tool_source_id: nil, tool_source_version: nil)
787
+ # Some parameter documentations has been truncated, see
788
+ # {Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval}
789
+ # for more details.
790
+ #
791
+ # @param id [String]
792
+ #
793
+ # @param created_at [String]
794
+ #
795
+ # @param requested_tool_name [String]
796
+ #
797
+ # @param resolved_at [String, nil]
798
+ #
799
+ # @param status [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status]
800
+ #
801
+ # @param thread_id [String]
802
+ #
803
+ # @param timeout_at [String, nil]
804
+ #
805
+ # @param timeout_ms [Float, nil]
806
+ #
807
+ # @param tool_index [Float]
808
+ #
809
+ # @param tool_input [String] JSON-serialized tool input payload. Parse as JSON before reading tool-specific f
810
+ #
811
+ # @param tool_name [Symbol, Cerca::Models::ToolName]
812
+ #
813
+ # @param tool_use_id [String]
814
+ #
815
+ # @param turn_id [String]
816
+ #
817
+ # @param tool_source_id [String]
818
+ #
819
+ # @param tool_source_version [Float]
820
+
821
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval#status
822
+ module Status
823
+ extend Cerca::Internal::Type::Enum
824
+
825
+ PENDING = :pending
826
+ APPROVED = :approved
827
+ DENIED = :denied
828
+ CANCELLED = :cancelled
829
+ TIMED_OUT = :timed_out
830
+
831
+ # @!method self.values
832
+ # @return [Array<Symbol>]
833
+ end
834
+ end
835
+ end
836
+
837
+ class ThreadStreamApprovalResolvedMessage < Cerca::Internal::Type::BaseModel
838
+ # @!attribute approval_id
839
+ #
840
+ # @return [String]
841
+ required :approval_id, String, api_name: :approvalId
842
+
843
+ # @!attribute decision
844
+ #
845
+ # @return [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision]
846
+ required :decision, enum: -> { Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision }
847
+
848
+ # @!attribute event_seq
849
+ #
850
+ # @return [Float]
851
+ required :event_seq, Float, api_name: :eventSeq
852
+
853
+ # @!attribute turn_id
854
+ #
855
+ # @return [String]
856
+ required :turn_id, String, api_name: :turnId
857
+
858
+ # @!attribute type
859
+ #
860
+ # @return [Symbol, :"approval/resolved"]
861
+ required :type, const: :"approval/resolved"
862
+
863
+ # @!method initialize(approval_id:, decision:, event_seq:, turn_id:, type: :"approval/resolved")
864
+ # @param approval_id [String]
865
+ # @param decision [Symbol, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision]
866
+ # @param event_seq [Float]
867
+ # @param turn_id [String]
868
+ # @param type [Symbol, :"approval/resolved"]
869
+
870
+ # @see Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage#decision
871
+ module Decision
872
+ extend Cerca::Internal::Type::Enum
873
+
874
+ APPROVE = :approve
875
+ DENY = :deny
876
+ CANCEL = :cancel
877
+ TIMEOUT = :timeout
878
+
879
+ # @!method self.values
880
+ # @return [Array<Symbol>]
881
+ end
882
+ end
883
+
884
+ # @!method self.variants
885
+ # @return [Array(Cerca::Models::ThreadStreamEvent::ThreadStreamStatusMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamContentMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamProgressMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamTurnStartedMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamTurnCompletedMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamItemStartedMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamItemCompletedMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamTokenUsageMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage, Cerca::Models::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage)]
886
+ end
887
+ end
888
+ end