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,1507 @@
1
+ # typed: strong
2
+
3
+ module Cerca
4
+ module Models
5
+ module ThreadStreamEvent
6
+ extend Cerca::Internal::Type::Union
7
+
8
+ Variants =
9
+ T.type_alias do
10
+ T.any(
11
+ Cerca::ThreadStreamEvent::ThreadStreamStatusMessage,
12
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage,
13
+ Cerca::ThreadStreamEvent::ThreadStreamProgressMessage,
14
+ Cerca::ThreadStreamEvent::ThreadStreamTurnStartedMessage,
15
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage,
16
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage,
17
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage,
18
+ Cerca::ThreadStreamEvent::ThreadStreamTokenUsageMessage,
19
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage,
20
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage
21
+ )
22
+ end
23
+
24
+ class ThreadStreamStatusMessage < Cerca::Internal::Type::BaseModel
25
+ OrHash =
26
+ T.type_alias do
27
+ T.any(
28
+ Cerca::ThreadStreamEvent::ThreadStreamStatusMessage,
29
+ Cerca::Internal::AnyHash
30
+ )
31
+ end
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :error
35
+
36
+ sig { returns(Float) }
37
+ attr_accessor :event_seq
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :result
41
+
42
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
43
+ # active turn. `awaiting` threads are paused on external input such as approvals.
44
+ # `closed` threads are terminal.
45
+ sig { returns(Cerca::Status::TaggedSymbol) }
46
+ attr_accessor :status
47
+
48
+ sig { returns(Float) }
49
+ attr_accessor :step_seq
50
+
51
+ sig { returns(String) }
52
+ attr_accessor :turn_id
53
+
54
+ sig { returns(Symbol) }
55
+ attr_accessor :type
56
+
57
+ sig do
58
+ params(
59
+ error: T.nilable(String),
60
+ event_seq: Float,
61
+ result: T.nilable(String),
62
+ status: Cerca::Status::OrSymbol,
63
+ step_seq: Float,
64
+ turn_id: String,
65
+ type: Symbol
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ error:,
70
+ event_seq:,
71
+ result:,
72
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
73
+ # active turn. `awaiting` threads are paused on external input such as approvals.
74
+ # `closed` threads are terminal.
75
+ status:,
76
+ step_seq:,
77
+ turn_id:,
78
+ type: :status
79
+ )
80
+ end
81
+
82
+ sig do
83
+ override.returns(
84
+ {
85
+ error: T.nilable(String),
86
+ event_seq: Float,
87
+ result: T.nilable(String),
88
+ status: Cerca::Status::TaggedSymbol,
89
+ step_seq: Float,
90
+ turn_id: String,
91
+ type: Symbol
92
+ }
93
+ )
94
+ end
95
+ def to_hash
96
+ end
97
+ end
98
+
99
+ class ThreadStreamContentMessage < Cerca::Internal::Type::BaseModel
100
+ OrHash =
101
+ T.type_alias do
102
+ T.any(
103
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage,
104
+ Cerca::Internal::AnyHash
105
+ )
106
+ end
107
+
108
+ sig { returns(Float) }
109
+ attr_accessor :event_seq
110
+
111
+ sig do
112
+ returns(Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message)
113
+ end
114
+ attr_reader :message
115
+
116
+ sig do
117
+ params(
118
+ message:
119
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::OrHash
120
+ ).void
121
+ end
122
+ attr_writer :message
123
+
124
+ sig { returns(Float) }
125
+ attr_accessor :step_seq
126
+
127
+ sig { returns(String) }
128
+ attr_accessor :turn_id
129
+
130
+ sig { returns(Symbol) }
131
+ attr_accessor :type
132
+
133
+ sig do
134
+ params(
135
+ event_seq: Float,
136
+ message:
137
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::OrHash,
138
+ step_seq: Float,
139
+ turn_id: String,
140
+ type: Symbol
141
+ ).returns(T.attached_class)
142
+ end
143
+ def self.new(event_seq:, message:, step_seq:, turn_id:, type: :message)
144
+ end
145
+
146
+ sig do
147
+ override.returns(
148
+ {
149
+ event_seq: Float,
150
+ message:
151
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message,
152
+ step_seq: Float,
153
+ turn_id: String,
154
+ type: Symbol
155
+ }
156
+ )
157
+ end
158
+ def to_hash
159
+ end
160
+
161
+ class Message < Cerca::Internal::Type::BaseModel
162
+ OrHash =
163
+ T.type_alias do
164
+ T.any(
165
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message,
166
+ Cerca::Internal::AnyHash
167
+ )
168
+ end
169
+
170
+ sig do
171
+ returns(
172
+ T::Array[
173
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Variants
174
+ ]
175
+ )
176
+ end
177
+ attr_accessor :content
178
+
179
+ sig { returns(String) }
180
+ attr_accessor :created_at
181
+
182
+ sig do
183
+ returns(
184
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::TaggedSymbol
185
+ )
186
+ end
187
+ attr_accessor :role
188
+
189
+ sig { returns(Float) }
190
+ attr_accessor :seq
191
+
192
+ sig do
193
+ params(
194
+ content:
195
+ T::Array[
196
+ T.any(
197
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text::OrHash,
198
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse::OrHash,
199
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult::OrHash,
200
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse::OrHash,
201
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult::OrHash
202
+ )
203
+ ],
204
+ created_at: String,
205
+ role:
206
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::OrSymbol,
207
+ seq: Float
208
+ ).returns(T.attached_class)
209
+ end
210
+ def self.new(content:, created_at:, role:, seq:)
211
+ end
212
+
213
+ sig do
214
+ override.returns(
215
+ {
216
+ content:
217
+ T::Array[
218
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Variants
219
+ ],
220
+ created_at: String,
221
+ role:
222
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::TaggedSymbol,
223
+ seq: Float
224
+ }
225
+ )
226
+ end
227
+ def to_hash
228
+ end
229
+
230
+ module Content
231
+ extend Cerca::Internal::Type::Union
232
+
233
+ Variants =
234
+ T.type_alias do
235
+ T.any(
236
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text,
237
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse,
238
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult,
239
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse,
240
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult
241
+ )
242
+ end
243
+
244
+ class Text < Cerca::Internal::Type::BaseModel
245
+ OrHash =
246
+ T.type_alias do
247
+ T.any(
248
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Text,
249
+ Cerca::Internal::AnyHash
250
+ )
251
+ end
252
+
253
+ sig { returns(String) }
254
+ attr_accessor :text
255
+
256
+ sig { returns(Symbol) }
257
+ attr_accessor :type
258
+
259
+ sig do
260
+ returns(T.nilable(T::Hash[Symbol, T::Hash[Symbol, String]]))
261
+ end
262
+ attr_reader :provider_metadata
263
+
264
+ sig do
265
+ params(
266
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
267
+ ).void
268
+ end
269
+ attr_writer :provider_metadata
270
+
271
+ sig do
272
+ params(
273
+ text: String,
274
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]],
275
+ type: Symbol
276
+ ).returns(T.attached_class)
277
+ end
278
+ def self.new(text:, provider_metadata: nil, type: :text)
279
+ end
280
+
281
+ sig do
282
+ override.returns(
283
+ {
284
+ text: String,
285
+ type: Symbol,
286
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
287
+ }
288
+ )
289
+ end
290
+ def to_hash
291
+ end
292
+ end
293
+
294
+ class ToolUse < Cerca::Internal::Type::BaseModel
295
+ OrHash =
296
+ T.type_alias do
297
+ T.any(
298
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolUse,
299
+ Cerca::Internal::AnyHash
300
+ )
301
+ end
302
+
303
+ sig { returns(String) }
304
+ attr_accessor :id
305
+
306
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
307
+ # fields.
308
+ sig { returns(String) }
309
+ attr_accessor :input
310
+
311
+ sig { returns(Cerca::ToolName::TaggedSymbol) }
312
+ attr_accessor :name
313
+
314
+ sig { returns(Symbol) }
315
+ attr_accessor :type
316
+
317
+ sig do
318
+ returns(T.nilable(T::Hash[Symbol, T::Hash[Symbol, String]]))
319
+ end
320
+ attr_reader :provider_metadata
321
+
322
+ sig do
323
+ params(
324
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
325
+ ).void
326
+ end
327
+ attr_writer :provider_metadata
328
+
329
+ sig do
330
+ params(
331
+ id: String,
332
+ input: String,
333
+ name: Cerca::ToolName::OrSymbol,
334
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]],
335
+ type: Symbol
336
+ ).returns(T.attached_class)
337
+ end
338
+ def self.new(
339
+ id:,
340
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
341
+ # fields.
342
+ input:,
343
+ name:,
344
+ provider_metadata: nil,
345
+ type: :tool_use
346
+ )
347
+ end
348
+
349
+ sig do
350
+ override.returns(
351
+ {
352
+ id: String,
353
+ input: String,
354
+ name: Cerca::ToolName::TaggedSymbol,
355
+ type: Symbol,
356
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
357
+ }
358
+ )
359
+ end
360
+ def to_hash
361
+ end
362
+ end
363
+
364
+ class ToolResult < Cerca::Internal::Type::BaseModel
365
+ OrHash =
366
+ T.type_alias do
367
+ T.any(
368
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ToolResult,
369
+ Cerca::Internal::AnyHash
370
+ )
371
+ end
372
+
373
+ sig { returns(String) }
374
+ attr_accessor :content
375
+
376
+ sig { returns(T::Boolean) }
377
+ attr_accessor :is_error
378
+
379
+ sig { returns(String) }
380
+ attr_accessor :tool_use_id
381
+
382
+ sig { returns(Symbol) }
383
+ attr_accessor :type
384
+
385
+ sig { returns(T.nilable(T::Boolean)) }
386
+ attr_reader :denied_by_user
387
+
388
+ sig { params(denied_by_user: T::Boolean).void }
389
+ attr_writer :denied_by_user
390
+
391
+ sig do
392
+ returns(T.nilable(T::Hash[Symbol, T::Hash[Symbol, String]]))
393
+ end
394
+ attr_reader :provider_metadata
395
+
396
+ sig do
397
+ params(
398
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
399
+ ).void
400
+ end
401
+ attr_writer :provider_metadata
402
+
403
+ sig do
404
+ params(
405
+ content: String,
406
+ is_error: T::Boolean,
407
+ tool_use_id: String,
408
+ denied_by_user: T::Boolean,
409
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]],
410
+ type: Symbol
411
+ ).returns(T.attached_class)
412
+ end
413
+ def self.new(
414
+ content:,
415
+ is_error:,
416
+ tool_use_id:,
417
+ denied_by_user: nil,
418
+ provider_metadata: nil,
419
+ type: :tool_result
420
+ )
421
+ end
422
+
423
+ sig do
424
+ override.returns(
425
+ {
426
+ content: String,
427
+ is_error: T::Boolean,
428
+ tool_use_id: String,
429
+ type: Symbol,
430
+ denied_by_user: T::Boolean,
431
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
432
+ }
433
+ )
434
+ end
435
+ def to_hash
436
+ end
437
+ end
438
+
439
+ class ServerToolUse < Cerca::Internal::Type::BaseModel
440
+ OrHash =
441
+ T.type_alias do
442
+ T.any(
443
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::ServerToolUse,
444
+ Cerca::Internal::AnyHash
445
+ )
446
+ end
447
+
448
+ sig { returns(String) }
449
+ attr_accessor :id
450
+
451
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
452
+ # fields.
453
+ sig { returns(String) }
454
+ attr_accessor :input
455
+
456
+ sig { returns(String) }
457
+ attr_accessor :name
458
+
459
+ sig { returns(Symbol) }
460
+ attr_accessor :type
461
+
462
+ sig do
463
+ returns(T.nilable(T::Hash[Symbol, T::Hash[Symbol, String]]))
464
+ end
465
+ attr_reader :provider_metadata
466
+
467
+ sig do
468
+ params(
469
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
470
+ ).void
471
+ end
472
+ attr_writer :provider_metadata
473
+
474
+ sig do
475
+ params(
476
+ id: String,
477
+ input: String,
478
+ name: String,
479
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]],
480
+ type: Symbol
481
+ ).returns(T.attached_class)
482
+ end
483
+ def self.new(
484
+ id:,
485
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
486
+ # fields.
487
+ input:,
488
+ name:,
489
+ provider_metadata: nil,
490
+ type: :server_tool_use
491
+ )
492
+ end
493
+
494
+ sig do
495
+ override.returns(
496
+ {
497
+ id: String,
498
+ input: String,
499
+ name: String,
500
+ type: Symbol,
501
+ provider_metadata: T::Hash[Symbol, T::Hash[Symbol, String]]
502
+ }
503
+ )
504
+ end
505
+ def to_hash
506
+ end
507
+ end
508
+
509
+ class WebSearchToolResult < Cerca::Internal::Type::BaseModel
510
+ OrHash =
511
+ T.type_alias do
512
+ T.any(
513
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::WebSearchToolResult,
514
+ Cerca::Internal::AnyHash
515
+ )
516
+ end
517
+
518
+ # Web search result payload. The runtime returns either an array of web search
519
+ # results or an error object.
520
+ sig { returns(T.anything) }
521
+ attr_accessor :content
522
+
523
+ sig { returns(String) }
524
+ attr_accessor :tool_use_id
525
+
526
+ sig { returns(Symbol) }
527
+ attr_accessor :type
528
+
529
+ sig do
530
+ params(
531
+ content: T.anything,
532
+ tool_use_id: String,
533
+ type: Symbol
534
+ ).returns(T.attached_class)
535
+ end
536
+ def self.new(
537
+ # Web search result payload. The runtime returns either an array of web search
538
+ # results or an error object.
539
+ content:,
540
+ tool_use_id:,
541
+ type: :web_search_tool_result
542
+ )
543
+ end
544
+
545
+ sig do
546
+ override.returns(
547
+ { content: T.anything, tool_use_id: String, type: Symbol }
548
+ )
549
+ end
550
+ def to_hash
551
+ end
552
+ end
553
+
554
+ sig do
555
+ override.returns(
556
+ T::Array[
557
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Content::Variants
558
+ ]
559
+ )
560
+ end
561
+ def self.variants
562
+ end
563
+ end
564
+
565
+ module Role
566
+ extend Cerca::Internal::Type::Enum
567
+
568
+ TaggedSymbol =
569
+ T.type_alias do
570
+ T.all(
571
+ Symbol,
572
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role
573
+ )
574
+ end
575
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
576
+
577
+ USER =
578
+ T.let(
579
+ :user,
580
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::TaggedSymbol
581
+ )
582
+ ASSISTANT =
583
+ T.let(
584
+ :assistant,
585
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::TaggedSymbol
586
+ )
587
+
588
+ sig do
589
+ override.returns(
590
+ T::Array[
591
+ Cerca::ThreadStreamEvent::ThreadStreamContentMessage::Message::Role::TaggedSymbol
592
+ ]
593
+ )
594
+ end
595
+ def self.values
596
+ end
597
+ end
598
+ end
599
+ end
600
+
601
+ class ThreadStreamProgressMessage < Cerca::Internal::Type::BaseModel
602
+ OrHash =
603
+ T.type_alias do
604
+ T.any(
605
+ Cerca::ThreadStreamEvent::ThreadStreamProgressMessage,
606
+ Cerca::Internal::AnyHash
607
+ )
608
+ end
609
+
610
+ sig { returns(Float) }
611
+ attr_accessor :event_seq
612
+
613
+ sig { returns(Float) }
614
+ attr_accessor :message_count
615
+
616
+ sig { returns(Float) }
617
+ attr_accessor :step_count
618
+
619
+ sig { returns(Float) }
620
+ attr_accessor :step_seq
621
+
622
+ sig { returns(String) }
623
+ attr_accessor :turn_id
624
+
625
+ sig { returns(Symbol) }
626
+ attr_accessor :type
627
+
628
+ sig do
629
+ params(
630
+ event_seq: Float,
631
+ message_count: Float,
632
+ step_count: Float,
633
+ step_seq: Float,
634
+ turn_id: String,
635
+ type: Symbol
636
+ ).returns(T.attached_class)
637
+ end
638
+ def self.new(
639
+ event_seq:,
640
+ message_count:,
641
+ step_count:,
642
+ step_seq:,
643
+ turn_id:,
644
+ type: :progress
645
+ )
646
+ end
647
+
648
+ sig do
649
+ override.returns(
650
+ {
651
+ event_seq: Float,
652
+ message_count: Float,
653
+ step_count: Float,
654
+ step_seq: Float,
655
+ turn_id: String,
656
+ type: Symbol
657
+ }
658
+ )
659
+ end
660
+ def to_hash
661
+ end
662
+ end
663
+
664
+ class ThreadStreamTurnStartedMessage < Cerca::Internal::Type::BaseModel
665
+ OrHash =
666
+ T.type_alias do
667
+ T.any(
668
+ Cerca::ThreadStreamEvent::ThreadStreamTurnStartedMessage,
669
+ Cerca::Internal::AnyHash
670
+ )
671
+ end
672
+
673
+ sig { returns(Float) }
674
+ attr_accessor :event_seq
675
+
676
+ sig { returns(String) }
677
+ attr_accessor :turn_id
678
+
679
+ sig { returns(Float) }
680
+ attr_accessor :turn_seq
681
+
682
+ sig { returns(Symbol) }
683
+ attr_accessor :type
684
+
685
+ sig do
686
+ params(
687
+ event_seq: Float,
688
+ turn_id: String,
689
+ turn_seq: Float,
690
+ type: Symbol
691
+ ).returns(T.attached_class)
692
+ end
693
+ def self.new(event_seq:, turn_id:, turn_seq:, type: :"turn/started")
694
+ end
695
+
696
+ sig do
697
+ override.returns(
698
+ { event_seq: Float, turn_id: String, turn_seq: Float, type: Symbol }
699
+ )
700
+ end
701
+ def to_hash
702
+ end
703
+ end
704
+
705
+ class ThreadStreamTurnCompletedMessage < Cerca::Internal::Type::BaseModel
706
+ OrHash =
707
+ T.type_alias do
708
+ T.any(
709
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage,
710
+ Cerca::Internal::AnyHash
711
+ )
712
+ end
713
+
714
+ sig { returns(T.nilable(String)) }
715
+ attr_accessor :error
716
+
717
+ sig { returns(Float) }
718
+ attr_accessor :event_seq
719
+
720
+ sig { returns(T.nilable(String)) }
721
+ attr_accessor :result
722
+
723
+ sig do
724
+ returns(
725
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::TaggedSymbol
726
+ )
727
+ end
728
+ attr_accessor :status
729
+
730
+ sig { returns(String) }
731
+ attr_accessor :turn_id
732
+
733
+ sig { returns(Float) }
734
+ attr_accessor :turn_seq
735
+
736
+ sig { returns(Symbol) }
737
+ attr_accessor :type
738
+
739
+ sig do
740
+ params(
741
+ error: T.nilable(String),
742
+ event_seq: Float,
743
+ result: T.nilable(String),
744
+ status:
745
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::OrSymbol,
746
+ turn_id: String,
747
+ turn_seq: Float,
748
+ type: Symbol
749
+ ).returns(T.attached_class)
750
+ end
751
+ def self.new(
752
+ error:,
753
+ event_seq:,
754
+ result:,
755
+ status:,
756
+ turn_id:,
757
+ turn_seq:,
758
+ type: :"turn/completed"
759
+ )
760
+ end
761
+
762
+ sig do
763
+ override.returns(
764
+ {
765
+ error: T.nilable(String),
766
+ event_seq: Float,
767
+ result: T.nilable(String),
768
+ status:
769
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::TaggedSymbol,
770
+ turn_id: String,
771
+ turn_seq: Float,
772
+ type: Symbol
773
+ }
774
+ )
775
+ end
776
+ def to_hash
777
+ end
778
+
779
+ module Status
780
+ extend Cerca::Internal::Type::Enum
781
+
782
+ TaggedSymbol =
783
+ T.type_alias do
784
+ T.all(
785
+ Symbol,
786
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status
787
+ )
788
+ end
789
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
790
+
791
+ COMPLETED =
792
+ T.let(
793
+ :completed,
794
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::TaggedSymbol
795
+ )
796
+ FAILED =
797
+ T.let(
798
+ :failed,
799
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::TaggedSymbol
800
+ )
801
+
802
+ sig do
803
+ override.returns(
804
+ T::Array[
805
+ Cerca::ThreadStreamEvent::ThreadStreamTurnCompletedMessage::Status::TaggedSymbol
806
+ ]
807
+ )
808
+ end
809
+ def self.values
810
+ end
811
+ end
812
+ end
813
+
814
+ class ThreadStreamItemStartedMessage < Cerca::Internal::Type::BaseModel
815
+ OrHash =
816
+ T.type_alias do
817
+ T.any(
818
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage,
819
+ Cerca::Internal::AnyHash
820
+ )
821
+ end
822
+
823
+ sig { returns(Float) }
824
+ attr_accessor :event_seq
825
+
826
+ sig { returns(String) }
827
+ attr_accessor :item_id
828
+
829
+ sig do
830
+ returns(
831
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
832
+ )
833
+ end
834
+ attr_accessor :item_type
835
+
836
+ sig { returns(String) }
837
+ attr_accessor :turn_id
838
+
839
+ sig { returns(Symbol) }
840
+ attr_accessor :type
841
+
842
+ sig { returns(T.nilable(String)) }
843
+ attr_reader :requested_tool_name
844
+
845
+ sig { params(requested_tool_name: String).void }
846
+ attr_writer :requested_tool_name
847
+
848
+ sig { returns(T.nilable(String)) }
849
+ attr_reader :sub_thread_id
850
+
851
+ sig { params(sub_thread_id: String).void }
852
+ attr_writer :sub_thread_id
853
+
854
+ sig { returns(T.nilable(Cerca::ToolName::TaggedSymbol)) }
855
+ attr_reader :tool_name
856
+
857
+ sig { params(tool_name: Cerca::ToolName::OrSymbol).void }
858
+ attr_writer :tool_name
859
+
860
+ sig do
861
+ params(
862
+ event_seq: Float,
863
+ item_id: String,
864
+ item_type:
865
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::OrSymbol,
866
+ turn_id: String,
867
+ requested_tool_name: String,
868
+ sub_thread_id: String,
869
+ tool_name: Cerca::ToolName::OrSymbol,
870
+ type: Symbol
871
+ ).returns(T.attached_class)
872
+ end
873
+ def self.new(
874
+ event_seq:,
875
+ item_id:,
876
+ item_type:,
877
+ turn_id:,
878
+ requested_tool_name: nil,
879
+ sub_thread_id: nil,
880
+ tool_name: nil,
881
+ type: :"item/started"
882
+ )
883
+ end
884
+
885
+ sig do
886
+ override.returns(
887
+ {
888
+ event_seq: Float,
889
+ item_id: String,
890
+ item_type:
891
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol,
892
+ turn_id: String,
893
+ type: Symbol,
894
+ requested_tool_name: String,
895
+ sub_thread_id: String,
896
+ tool_name: Cerca::ToolName::TaggedSymbol
897
+ }
898
+ )
899
+ end
900
+ def to_hash
901
+ end
902
+
903
+ module ItemType
904
+ extend Cerca::Internal::Type::Enum
905
+
906
+ TaggedSymbol =
907
+ T.type_alias do
908
+ T.all(
909
+ Symbol,
910
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType
911
+ )
912
+ end
913
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
914
+
915
+ TOOL_CALL =
916
+ T.let(
917
+ :tool_call,
918
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
919
+ )
920
+ AGENT_MESSAGE =
921
+ T.let(
922
+ :agent_message,
923
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
924
+ )
925
+ LLM_CALL =
926
+ T.let(
927
+ :llm_call,
928
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
929
+ )
930
+ SUB_THREAD =
931
+ T.let(
932
+ :sub_thread,
933
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
934
+ )
935
+
936
+ sig do
937
+ override.returns(
938
+ T::Array[
939
+ Cerca::ThreadStreamEvent::ThreadStreamItemStartedMessage::ItemType::TaggedSymbol
940
+ ]
941
+ )
942
+ end
943
+ def self.values
944
+ end
945
+ end
946
+ end
947
+
948
+ class ThreadStreamItemCompletedMessage < Cerca::Internal::Type::BaseModel
949
+ OrHash =
950
+ T.type_alias do
951
+ T.any(
952
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage,
953
+ Cerca::Internal::AnyHash
954
+ )
955
+ end
956
+
957
+ sig { returns(Float) }
958
+ attr_accessor :duration_ms
959
+
960
+ sig { returns(Float) }
961
+ attr_accessor :event_seq
962
+
963
+ sig { returns(String) }
964
+ attr_accessor :item_id
965
+
966
+ sig do
967
+ returns(
968
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
969
+ )
970
+ end
971
+ attr_accessor :item_type
972
+
973
+ sig { returns(String) }
974
+ attr_accessor :turn_id
975
+
976
+ sig { returns(Symbol) }
977
+ attr_accessor :type
978
+
979
+ sig { returns(T.nilable(T::Boolean)) }
980
+ attr_reader :is_error
981
+
982
+ sig { params(is_error: T::Boolean).void }
983
+ attr_writer :is_error
984
+
985
+ sig { returns(T.nilable(String)) }
986
+ attr_reader :requested_tool_name
987
+
988
+ sig { params(requested_tool_name: String).void }
989
+ attr_writer :requested_tool_name
990
+
991
+ sig do
992
+ params(
993
+ duration_ms: Float,
994
+ event_seq: Float,
995
+ item_id: String,
996
+ item_type:
997
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::OrSymbol,
998
+ turn_id: String,
999
+ is_error: T::Boolean,
1000
+ requested_tool_name: String,
1001
+ type: Symbol
1002
+ ).returns(T.attached_class)
1003
+ end
1004
+ def self.new(
1005
+ duration_ms:,
1006
+ event_seq:,
1007
+ item_id:,
1008
+ item_type:,
1009
+ turn_id:,
1010
+ is_error: nil,
1011
+ requested_tool_name: nil,
1012
+ type: :"item/completed"
1013
+ )
1014
+ end
1015
+
1016
+ sig do
1017
+ override.returns(
1018
+ {
1019
+ duration_ms: Float,
1020
+ event_seq: Float,
1021
+ item_id: String,
1022
+ item_type:
1023
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol,
1024
+ turn_id: String,
1025
+ type: Symbol,
1026
+ is_error: T::Boolean,
1027
+ requested_tool_name: String
1028
+ }
1029
+ )
1030
+ end
1031
+ def to_hash
1032
+ end
1033
+
1034
+ module ItemType
1035
+ extend Cerca::Internal::Type::Enum
1036
+
1037
+ TaggedSymbol =
1038
+ T.type_alias do
1039
+ T.all(
1040
+ Symbol,
1041
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType
1042
+ )
1043
+ end
1044
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1045
+
1046
+ TOOL_CALL =
1047
+ T.let(
1048
+ :tool_call,
1049
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
1050
+ )
1051
+ AGENT_MESSAGE =
1052
+ T.let(
1053
+ :agent_message,
1054
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
1055
+ )
1056
+ LLM_CALL =
1057
+ T.let(
1058
+ :llm_call,
1059
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
1060
+ )
1061
+ SUB_THREAD =
1062
+ T.let(
1063
+ :sub_thread,
1064
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
1065
+ )
1066
+
1067
+ sig do
1068
+ override.returns(
1069
+ T::Array[
1070
+ Cerca::ThreadStreamEvent::ThreadStreamItemCompletedMessage::ItemType::TaggedSymbol
1071
+ ]
1072
+ )
1073
+ end
1074
+ def self.values
1075
+ end
1076
+ end
1077
+ end
1078
+
1079
+ class ThreadStreamTokenUsageMessage < Cerca::Internal::Type::BaseModel
1080
+ OrHash =
1081
+ T.type_alias do
1082
+ T.any(
1083
+ Cerca::ThreadStreamEvent::ThreadStreamTokenUsageMessage,
1084
+ Cerca::Internal::AnyHash
1085
+ )
1086
+ end
1087
+
1088
+ sig { returns(Float) }
1089
+ attr_accessor :cumulative_input_tokens
1090
+
1091
+ sig { returns(Float) }
1092
+ attr_accessor :cumulative_output_tokens
1093
+
1094
+ sig { returns(Float) }
1095
+ attr_accessor :event_seq
1096
+
1097
+ sig { returns(Float) }
1098
+ attr_accessor :input_tokens
1099
+
1100
+ sig { returns(Float) }
1101
+ attr_accessor :output_tokens
1102
+
1103
+ sig { returns(String) }
1104
+ attr_accessor :turn_id
1105
+
1106
+ sig { returns(Symbol) }
1107
+ attr_accessor :type
1108
+
1109
+ sig do
1110
+ params(
1111
+ cumulative_input_tokens: Float,
1112
+ cumulative_output_tokens: Float,
1113
+ event_seq: Float,
1114
+ input_tokens: Float,
1115
+ output_tokens: Float,
1116
+ turn_id: String,
1117
+ type: Symbol
1118
+ ).returns(T.attached_class)
1119
+ end
1120
+ def self.new(
1121
+ cumulative_input_tokens:,
1122
+ cumulative_output_tokens:,
1123
+ event_seq:,
1124
+ input_tokens:,
1125
+ output_tokens:,
1126
+ turn_id:,
1127
+ type: :token_usage
1128
+ )
1129
+ end
1130
+
1131
+ sig do
1132
+ override.returns(
1133
+ {
1134
+ cumulative_input_tokens: Float,
1135
+ cumulative_output_tokens: Float,
1136
+ event_seq: Float,
1137
+ input_tokens: Float,
1138
+ output_tokens: Float,
1139
+ turn_id: String,
1140
+ type: Symbol
1141
+ }
1142
+ )
1143
+ end
1144
+ def to_hash
1145
+ end
1146
+ end
1147
+
1148
+ class ThreadStreamApprovalRequestedMessage < Cerca::Internal::Type::BaseModel
1149
+ OrHash =
1150
+ T.type_alias do
1151
+ T.any(
1152
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage,
1153
+ Cerca::Internal::AnyHash
1154
+ )
1155
+ end
1156
+
1157
+ sig do
1158
+ returns(
1159
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval
1160
+ )
1161
+ end
1162
+ attr_reader :approval
1163
+
1164
+ sig do
1165
+ params(
1166
+ approval:
1167
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::OrHash
1168
+ ).void
1169
+ end
1170
+ attr_writer :approval
1171
+
1172
+ sig { returns(Float) }
1173
+ attr_accessor :event_seq
1174
+
1175
+ sig { returns(String) }
1176
+ attr_accessor :turn_id
1177
+
1178
+ sig { returns(Symbol) }
1179
+ attr_accessor :type
1180
+
1181
+ sig do
1182
+ params(
1183
+ approval:
1184
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::OrHash,
1185
+ event_seq: Float,
1186
+ turn_id: String,
1187
+ type: Symbol
1188
+ ).returns(T.attached_class)
1189
+ end
1190
+ def self.new(
1191
+ approval:,
1192
+ event_seq:,
1193
+ turn_id:,
1194
+ type: :"approval/requested"
1195
+ )
1196
+ end
1197
+
1198
+ sig do
1199
+ override.returns(
1200
+ {
1201
+ approval:
1202
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval,
1203
+ event_seq: Float,
1204
+ turn_id: String,
1205
+ type: Symbol
1206
+ }
1207
+ )
1208
+ end
1209
+ def to_hash
1210
+ end
1211
+
1212
+ class Approval < Cerca::Internal::Type::BaseModel
1213
+ OrHash =
1214
+ T.type_alias do
1215
+ T.any(
1216
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval,
1217
+ Cerca::Internal::AnyHash
1218
+ )
1219
+ end
1220
+
1221
+ sig { returns(String) }
1222
+ attr_accessor :id
1223
+
1224
+ sig { returns(String) }
1225
+ attr_accessor :created_at
1226
+
1227
+ sig { returns(String) }
1228
+ attr_accessor :requested_tool_name
1229
+
1230
+ sig { returns(T.nilable(String)) }
1231
+ attr_accessor :resolved_at
1232
+
1233
+ sig do
1234
+ returns(
1235
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1236
+ )
1237
+ end
1238
+ attr_accessor :status
1239
+
1240
+ sig { returns(String) }
1241
+ attr_accessor :thread_id
1242
+
1243
+ sig { returns(T.nilable(String)) }
1244
+ attr_accessor :timeout_at
1245
+
1246
+ sig { returns(T.nilable(Float)) }
1247
+ attr_accessor :timeout_ms
1248
+
1249
+ sig { returns(Float) }
1250
+ attr_accessor :tool_index
1251
+
1252
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
1253
+ # fields.
1254
+ sig { returns(String) }
1255
+ attr_accessor :tool_input
1256
+
1257
+ sig { returns(Cerca::ToolName::TaggedSymbol) }
1258
+ attr_accessor :tool_name
1259
+
1260
+ sig { returns(String) }
1261
+ attr_accessor :tool_use_id
1262
+
1263
+ sig { returns(String) }
1264
+ attr_accessor :turn_id
1265
+
1266
+ sig { returns(T.nilable(String)) }
1267
+ attr_reader :tool_source_id
1268
+
1269
+ sig { params(tool_source_id: String).void }
1270
+ attr_writer :tool_source_id
1271
+
1272
+ sig { returns(T.nilable(Float)) }
1273
+ attr_reader :tool_source_version
1274
+
1275
+ sig { params(tool_source_version: Float).void }
1276
+ attr_writer :tool_source_version
1277
+
1278
+ sig do
1279
+ params(
1280
+ id: String,
1281
+ created_at: String,
1282
+ requested_tool_name: String,
1283
+ resolved_at: T.nilable(String),
1284
+ status:
1285
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::OrSymbol,
1286
+ thread_id: String,
1287
+ timeout_at: T.nilable(String),
1288
+ timeout_ms: T.nilable(Float),
1289
+ tool_index: Float,
1290
+ tool_input: String,
1291
+ tool_name: Cerca::ToolName::OrSymbol,
1292
+ tool_use_id: String,
1293
+ turn_id: String,
1294
+ tool_source_id: String,
1295
+ tool_source_version: Float
1296
+ ).returns(T.attached_class)
1297
+ end
1298
+ def self.new(
1299
+ id:,
1300
+ created_at:,
1301
+ requested_tool_name:,
1302
+ resolved_at:,
1303
+ status:,
1304
+ thread_id:,
1305
+ timeout_at:,
1306
+ timeout_ms:,
1307
+ tool_index:,
1308
+ # JSON-serialized tool input payload. Parse as JSON before reading tool-specific
1309
+ # fields.
1310
+ tool_input:,
1311
+ tool_name:,
1312
+ tool_use_id:,
1313
+ turn_id:,
1314
+ tool_source_id: nil,
1315
+ tool_source_version: nil
1316
+ )
1317
+ end
1318
+
1319
+ sig do
1320
+ override.returns(
1321
+ {
1322
+ id: String,
1323
+ created_at: String,
1324
+ requested_tool_name: String,
1325
+ resolved_at: T.nilable(String),
1326
+ status:
1327
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol,
1328
+ thread_id: String,
1329
+ timeout_at: T.nilable(String),
1330
+ timeout_ms: T.nilable(Float),
1331
+ tool_index: Float,
1332
+ tool_input: String,
1333
+ tool_name: Cerca::ToolName::TaggedSymbol,
1334
+ tool_use_id: String,
1335
+ turn_id: String,
1336
+ tool_source_id: String,
1337
+ tool_source_version: Float
1338
+ }
1339
+ )
1340
+ end
1341
+ def to_hash
1342
+ end
1343
+
1344
+ module Status
1345
+ extend Cerca::Internal::Type::Enum
1346
+
1347
+ TaggedSymbol =
1348
+ T.type_alias do
1349
+ T.all(
1350
+ Symbol,
1351
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status
1352
+ )
1353
+ end
1354
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1355
+
1356
+ PENDING =
1357
+ T.let(
1358
+ :pending,
1359
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1360
+ )
1361
+ APPROVED =
1362
+ T.let(
1363
+ :approved,
1364
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1365
+ )
1366
+ DENIED =
1367
+ T.let(
1368
+ :denied,
1369
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1370
+ )
1371
+ CANCELLED =
1372
+ T.let(
1373
+ :cancelled,
1374
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1375
+ )
1376
+ TIMED_OUT =
1377
+ T.let(
1378
+ :timed_out,
1379
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1380
+ )
1381
+
1382
+ sig do
1383
+ override.returns(
1384
+ T::Array[
1385
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalRequestedMessage::Approval::Status::TaggedSymbol
1386
+ ]
1387
+ )
1388
+ end
1389
+ def self.values
1390
+ end
1391
+ end
1392
+ end
1393
+ end
1394
+
1395
+ class ThreadStreamApprovalResolvedMessage < Cerca::Internal::Type::BaseModel
1396
+ OrHash =
1397
+ T.type_alias do
1398
+ T.any(
1399
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage,
1400
+ Cerca::Internal::AnyHash
1401
+ )
1402
+ end
1403
+
1404
+ sig { returns(String) }
1405
+ attr_accessor :approval_id
1406
+
1407
+ sig do
1408
+ returns(
1409
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1410
+ )
1411
+ end
1412
+ attr_accessor :decision
1413
+
1414
+ sig { returns(Float) }
1415
+ attr_accessor :event_seq
1416
+
1417
+ sig { returns(String) }
1418
+ attr_accessor :turn_id
1419
+
1420
+ sig { returns(Symbol) }
1421
+ attr_accessor :type
1422
+
1423
+ sig do
1424
+ params(
1425
+ approval_id: String,
1426
+ decision:
1427
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::OrSymbol,
1428
+ event_seq: Float,
1429
+ turn_id: String,
1430
+ type: Symbol
1431
+ ).returns(T.attached_class)
1432
+ end
1433
+ def self.new(
1434
+ approval_id:,
1435
+ decision:,
1436
+ event_seq:,
1437
+ turn_id:,
1438
+ type: :"approval/resolved"
1439
+ )
1440
+ end
1441
+
1442
+ sig do
1443
+ override.returns(
1444
+ {
1445
+ approval_id: String,
1446
+ decision:
1447
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol,
1448
+ event_seq: Float,
1449
+ turn_id: String,
1450
+ type: Symbol
1451
+ }
1452
+ )
1453
+ end
1454
+ def to_hash
1455
+ end
1456
+
1457
+ module Decision
1458
+ extend Cerca::Internal::Type::Enum
1459
+
1460
+ TaggedSymbol =
1461
+ T.type_alias do
1462
+ T.all(
1463
+ Symbol,
1464
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision
1465
+ )
1466
+ end
1467
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1468
+
1469
+ APPROVE =
1470
+ T.let(
1471
+ :approve,
1472
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1473
+ )
1474
+ DENY =
1475
+ T.let(
1476
+ :deny,
1477
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1478
+ )
1479
+ CANCEL =
1480
+ T.let(
1481
+ :cancel,
1482
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1483
+ )
1484
+ TIMEOUT =
1485
+ T.let(
1486
+ :timeout,
1487
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1488
+ )
1489
+
1490
+ sig do
1491
+ override.returns(
1492
+ T::Array[
1493
+ Cerca::ThreadStreamEvent::ThreadStreamApprovalResolvedMessage::Decision::TaggedSymbol
1494
+ ]
1495
+ )
1496
+ end
1497
+ def self.values
1498
+ end
1499
+ end
1500
+ end
1501
+
1502
+ sig { override.returns(T::Array[Cerca::ThreadStreamEvent::Variants]) }
1503
+ def self.variants
1504
+ end
1505
+ end
1506
+ end
1507
+ end