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,3178 @@
1
+ # typed: strong
2
+
3
+ module Cerca
4
+ module Models
5
+ module RuntimeWebhookEvent
6
+ extend Cerca::Internal::Type::Union
7
+
8
+ Variants =
9
+ T.type_alias do
10
+ T.any(
11
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent,
12
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent,
13
+ Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent,
14
+ Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent,
15
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent,
16
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent,
17
+ Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent,
18
+ Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent,
19
+ Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent,
20
+ Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent,
21
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent,
22
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent,
23
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent,
24
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent,
25
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent,
26
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent,
27
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent,
28
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent,
29
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent,
30
+ Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent
31
+ )
32
+ end
33
+
34
+ class AgentCreatedWebhookEvent < Cerca::Internal::Type::BaseModel
35
+ OrHash =
36
+ T.type_alias do
37
+ T.any(
38
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent,
39
+ Cerca::Internal::AnyHash
40
+ )
41
+ end
42
+
43
+ sig { returns(String) }
44
+ attr_accessor :id
45
+
46
+ sig { returns(String) }
47
+ attr_accessor :agent_id
48
+
49
+ sig do
50
+ returns(Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data)
51
+ end
52
+ attr_reader :data
53
+
54
+ sig do
55
+ params(
56
+ data:
57
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::OrHash
58
+ ).void
59
+ end
60
+ attr_writer :data
61
+
62
+ sig { returns(Symbol) }
63
+ attr_accessor :event
64
+
65
+ sig { returns(String) }
66
+ attr_accessor :fleet_id
67
+
68
+ sig { returns(String) }
69
+ attr_accessor :org_id
70
+
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :thread_id
73
+
74
+ sig { returns(String) }
75
+ attr_accessor :timestamp
76
+
77
+ sig do
78
+ params(
79
+ id: String,
80
+ agent_id: String,
81
+ data:
82
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::OrHash,
83
+ fleet_id: String,
84
+ org_id: String,
85
+ thread_id: T.nilable(String),
86
+ timestamp: String,
87
+ event: Symbol
88
+ ).returns(T.attached_class)
89
+ end
90
+ def self.new(
91
+ id:,
92
+ agent_id:,
93
+ data:,
94
+ fleet_id:,
95
+ org_id:,
96
+ thread_id:,
97
+ timestamp:,
98
+ event: :"agent.created"
99
+ )
100
+ end
101
+
102
+ sig do
103
+ override.returns(
104
+ {
105
+ id: String,
106
+ agent_id: String,
107
+ data: Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data,
108
+ event: Symbol,
109
+ fleet_id: String,
110
+ org_id: String,
111
+ thread_id: T.nilable(String),
112
+ timestamp: String
113
+ }
114
+ )
115
+ end
116
+ def to_hash
117
+ end
118
+
119
+ class Data < Cerca::Internal::Type::BaseModel
120
+ OrHash =
121
+ T.type_alias do
122
+ T.any(
123
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data,
124
+ Cerca::Internal::AnyHash
125
+ )
126
+ end
127
+
128
+ sig do
129
+ returns(
130
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::Agent
131
+ )
132
+ end
133
+ attr_reader :agent
134
+
135
+ sig do
136
+ params(
137
+ agent:
138
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::Agent::OrHash
139
+ ).void
140
+ end
141
+ attr_writer :agent
142
+
143
+ sig do
144
+ params(
145
+ agent:
146
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::Agent::OrHash
147
+ ).returns(T.attached_class)
148
+ end
149
+ def self.new(agent:)
150
+ end
151
+
152
+ sig do
153
+ override.returns(
154
+ {
155
+ agent:
156
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::Agent
157
+ }
158
+ )
159
+ end
160
+ def to_hash
161
+ end
162
+
163
+ class Agent < Cerca::Internal::Type::BaseModel
164
+ OrHash =
165
+ T.type_alias do
166
+ T.any(
167
+ Cerca::RuntimeWebhookEvent::AgentCreatedWebhookEvent::Data::Agent,
168
+ Cerca::Internal::AnyHash
169
+ )
170
+ end
171
+
172
+ sig { returns(String) }
173
+ attr_accessor :id
174
+
175
+ sig { returns(Cerca::Configuration) }
176
+ attr_reader :configuration
177
+
178
+ sig { params(configuration: Cerca::Configuration::OrHash).void }
179
+ attr_writer :configuration
180
+
181
+ sig { returns(String) }
182
+ attr_accessor :created_at
183
+
184
+ sig { returns(String) }
185
+ attr_accessor :fleet_id
186
+
187
+ # Arbitrary string metadata stored on an agent. Runtime enforces maximum key and
188
+ # value sizes.
189
+ sig { returns(T::Hash[Symbol, String]) }
190
+ attr_accessor :metadata
191
+
192
+ sig { returns(String) }
193
+ attr_accessor :org_id
194
+
195
+ sig { returns(String) }
196
+ attr_accessor :updated_at
197
+
198
+ sig { returns(String) }
199
+ attr_accessor :user_id
200
+
201
+ sig { returns(T.nilable(Cerca::EffectiveConfiguration)) }
202
+ attr_reader :effective
203
+
204
+ sig do
205
+ params(effective: Cerca::EffectiveConfiguration::OrHash).void
206
+ end
207
+ attr_writer :effective
208
+
209
+ sig do
210
+ params(
211
+ id: String,
212
+ configuration: Cerca::Configuration::OrHash,
213
+ created_at: String,
214
+ fleet_id: String,
215
+ metadata: T::Hash[Symbol, String],
216
+ org_id: String,
217
+ updated_at: String,
218
+ user_id: String,
219
+ effective: Cerca::EffectiveConfiguration::OrHash
220
+ ).returns(T.attached_class)
221
+ end
222
+ def self.new(
223
+ id:,
224
+ configuration:,
225
+ created_at:,
226
+ fleet_id:,
227
+ # Arbitrary string metadata stored on an agent. Runtime enforces maximum key and
228
+ # value sizes.
229
+ metadata:,
230
+ org_id:,
231
+ updated_at:,
232
+ user_id:,
233
+ effective: nil
234
+ )
235
+ end
236
+
237
+ sig do
238
+ override.returns(
239
+ {
240
+ id: String,
241
+ configuration: Cerca::Configuration,
242
+ created_at: String,
243
+ fleet_id: String,
244
+ metadata: T::Hash[Symbol, String],
245
+ org_id: String,
246
+ updated_at: String,
247
+ user_id: String,
248
+ effective: Cerca::EffectiveConfiguration
249
+ }
250
+ )
251
+ end
252
+ def to_hash
253
+ end
254
+ end
255
+ end
256
+ end
257
+
258
+ class AgentUpdatedWebhookEvent < Cerca::Internal::Type::BaseModel
259
+ OrHash =
260
+ T.type_alias do
261
+ T.any(
262
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent,
263
+ Cerca::Internal::AnyHash
264
+ )
265
+ end
266
+
267
+ sig { returns(String) }
268
+ attr_accessor :id
269
+
270
+ sig { returns(String) }
271
+ attr_accessor :agent_id
272
+
273
+ sig do
274
+ returns(Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data)
275
+ end
276
+ attr_reader :data
277
+
278
+ sig do
279
+ params(
280
+ data:
281
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::OrHash
282
+ ).void
283
+ end
284
+ attr_writer :data
285
+
286
+ sig { returns(Symbol) }
287
+ attr_accessor :event
288
+
289
+ sig { returns(String) }
290
+ attr_accessor :fleet_id
291
+
292
+ sig { returns(String) }
293
+ attr_accessor :org_id
294
+
295
+ sig { returns(T.nilable(String)) }
296
+ attr_accessor :thread_id
297
+
298
+ sig { returns(String) }
299
+ attr_accessor :timestamp
300
+
301
+ sig do
302
+ params(
303
+ id: String,
304
+ agent_id: String,
305
+ data:
306
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::OrHash,
307
+ fleet_id: String,
308
+ org_id: String,
309
+ thread_id: T.nilable(String),
310
+ timestamp: String,
311
+ event: Symbol
312
+ ).returns(T.attached_class)
313
+ end
314
+ def self.new(
315
+ id:,
316
+ agent_id:,
317
+ data:,
318
+ fleet_id:,
319
+ org_id:,
320
+ thread_id:,
321
+ timestamp:,
322
+ event: :"agent.updated"
323
+ )
324
+ end
325
+
326
+ sig do
327
+ override.returns(
328
+ {
329
+ id: String,
330
+ agent_id: String,
331
+ data: Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data,
332
+ event: Symbol,
333
+ fleet_id: String,
334
+ org_id: String,
335
+ thread_id: T.nilable(String),
336
+ timestamp: String
337
+ }
338
+ )
339
+ end
340
+ def to_hash
341
+ end
342
+
343
+ class Data < Cerca::Internal::Type::BaseModel
344
+ OrHash =
345
+ T.type_alias do
346
+ T.any(
347
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data,
348
+ Cerca::Internal::AnyHash
349
+ )
350
+ end
351
+
352
+ sig do
353
+ returns(
354
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Agent
355
+ )
356
+ end
357
+ attr_reader :agent
358
+
359
+ sig do
360
+ params(
361
+ agent:
362
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Agent::OrHash
363
+ ).void
364
+ end
365
+ attr_writer :agent
366
+
367
+ sig do
368
+ returns(
369
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::TaggedSymbol
370
+ )
371
+ end
372
+ attr_accessor :trigger
373
+
374
+ sig do
375
+ params(
376
+ agent:
377
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Agent::OrHash,
378
+ trigger:
379
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::OrSymbol
380
+ ).returns(T.attached_class)
381
+ end
382
+ def self.new(agent:, trigger:)
383
+ end
384
+
385
+ sig do
386
+ override.returns(
387
+ {
388
+ agent:
389
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Agent,
390
+ trigger:
391
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::TaggedSymbol
392
+ }
393
+ )
394
+ end
395
+ def to_hash
396
+ end
397
+
398
+ class Agent < Cerca::Internal::Type::BaseModel
399
+ OrHash =
400
+ T.type_alias do
401
+ T.any(
402
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Agent,
403
+ Cerca::Internal::AnyHash
404
+ )
405
+ end
406
+
407
+ sig { returns(String) }
408
+ attr_accessor :id
409
+
410
+ sig { returns(Cerca::Configuration) }
411
+ attr_reader :configuration
412
+
413
+ sig { params(configuration: Cerca::Configuration::OrHash).void }
414
+ attr_writer :configuration
415
+
416
+ sig { returns(String) }
417
+ attr_accessor :created_at
418
+
419
+ sig { returns(String) }
420
+ attr_accessor :fleet_id
421
+
422
+ # Arbitrary string metadata stored on an agent. Runtime enforces maximum key and
423
+ # value sizes.
424
+ sig { returns(T::Hash[Symbol, String]) }
425
+ attr_accessor :metadata
426
+
427
+ sig { returns(String) }
428
+ attr_accessor :org_id
429
+
430
+ sig { returns(String) }
431
+ attr_accessor :updated_at
432
+
433
+ sig { returns(String) }
434
+ attr_accessor :user_id
435
+
436
+ sig { returns(T.nilable(Cerca::EffectiveConfiguration)) }
437
+ attr_reader :effective
438
+
439
+ sig do
440
+ params(effective: Cerca::EffectiveConfiguration::OrHash).void
441
+ end
442
+ attr_writer :effective
443
+
444
+ sig do
445
+ params(
446
+ id: String,
447
+ configuration: Cerca::Configuration::OrHash,
448
+ created_at: String,
449
+ fleet_id: String,
450
+ metadata: T::Hash[Symbol, String],
451
+ org_id: String,
452
+ updated_at: String,
453
+ user_id: String,
454
+ effective: Cerca::EffectiveConfiguration::OrHash
455
+ ).returns(T.attached_class)
456
+ end
457
+ def self.new(
458
+ id:,
459
+ configuration:,
460
+ created_at:,
461
+ fleet_id:,
462
+ # Arbitrary string metadata stored on an agent. Runtime enforces maximum key and
463
+ # value sizes.
464
+ metadata:,
465
+ org_id:,
466
+ updated_at:,
467
+ user_id:,
468
+ effective: nil
469
+ )
470
+ end
471
+
472
+ sig do
473
+ override.returns(
474
+ {
475
+ id: String,
476
+ configuration: Cerca::Configuration,
477
+ created_at: String,
478
+ fleet_id: String,
479
+ metadata: T::Hash[Symbol, String],
480
+ org_id: String,
481
+ updated_at: String,
482
+ user_id: String,
483
+ effective: Cerca::EffectiveConfiguration
484
+ }
485
+ )
486
+ end
487
+ def to_hash
488
+ end
489
+ end
490
+
491
+ module Trigger
492
+ extend Cerca::Internal::Type::Enum
493
+
494
+ TaggedSymbol =
495
+ T.type_alias do
496
+ T.all(
497
+ Symbol,
498
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger
499
+ )
500
+ end
501
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
502
+
503
+ CONFIGURATION =
504
+ T.let(
505
+ :configuration,
506
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::TaggedSymbol
507
+ )
508
+ METADATA =
509
+ T.let(
510
+ :metadata,
511
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::TaggedSymbol
512
+ )
513
+
514
+ sig do
515
+ override.returns(
516
+ T::Array[
517
+ Cerca::RuntimeWebhookEvent::AgentUpdatedWebhookEvent::Data::Trigger::TaggedSymbol
518
+ ]
519
+ )
520
+ end
521
+ def self.values
522
+ end
523
+ end
524
+ end
525
+ end
526
+
527
+ class AgentDeletedWebhookEvent < Cerca::Internal::Type::BaseModel
528
+ OrHash =
529
+ T.type_alias do
530
+ T.any(
531
+ Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent,
532
+ Cerca::Internal::AnyHash
533
+ )
534
+ end
535
+
536
+ sig { returns(String) }
537
+ attr_accessor :id
538
+
539
+ sig { returns(String) }
540
+ attr_accessor :agent_id
541
+
542
+ sig do
543
+ returns(Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent::Data)
544
+ end
545
+ attr_reader :data
546
+
547
+ sig do
548
+ params(
549
+ data:
550
+ Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent::Data::OrHash
551
+ ).void
552
+ end
553
+ attr_writer :data
554
+
555
+ sig { returns(Symbol) }
556
+ attr_accessor :event
557
+
558
+ sig { returns(String) }
559
+ attr_accessor :fleet_id
560
+
561
+ sig { returns(String) }
562
+ attr_accessor :org_id
563
+
564
+ sig { returns(T.nilable(String)) }
565
+ attr_accessor :thread_id
566
+
567
+ sig { returns(String) }
568
+ attr_accessor :timestamp
569
+
570
+ sig do
571
+ params(
572
+ id: String,
573
+ agent_id: String,
574
+ data:
575
+ Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent::Data::OrHash,
576
+ fleet_id: String,
577
+ org_id: String,
578
+ thread_id: T.nilable(String),
579
+ timestamp: String,
580
+ event: Symbol
581
+ ).returns(T.attached_class)
582
+ end
583
+ def self.new(
584
+ id:,
585
+ agent_id:,
586
+ data:,
587
+ fleet_id:,
588
+ org_id:,
589
+ thread_id:,
590
+ timestamp:,
591
+ event: :"agent.deleted"
592
+ )
593
+ end
594
+
595
+ sig do
596
+ override.returns(
597
+ {
598
+ id: String,
599
+ agent_id: String,
600
+ data: Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent::Data,
601
+ event: Symbol,
602
+ fleet_id: String,
603
+ org_id: String,
604
+ thread_id: T.nilable(String),
605
+ timestamp: String
606
+ }
607
+ )
608
+ end
609
+ def to_hash
610
+ end
611
+
612
+ class Data < Cerca::Internal::Type::BaseModel
613
+ OrHash =
614
+ T.type_alias do
615
+ T.any(
616
+ Cerca::RuntimeWebhookEvent::AgentDeletedWebhookEvent::Data,
617
+ Cerca::Internal::AnyHash
618
+ )
619
+ end
620
+
621
+ sig { returns(String) }
622
+ attr_accessor :agent_id
623
+
624
+ sig { params(agent_id: String).returns(T.attached_class) }
625
+ def self.new(agent_id:)
626
+ end
627
+
628
+ sig { override.returns({ agent_id: String }) }
629
+ def to_hash
630
+ end
631
+ end
632
+ end
633
+
634
+ class ThreadCreatedWebhookEvent < Cerca::Internal::Type::BaseModel
635
+ OrHash =
636
+ T.type_alias do
637
+ T.any(
638
+ Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent,
639
+ Cerca::Internal::AnyHash
640
+ )
641
+ end
642
+
643
+ sig { returns(String) }
644
+ attr_accessor :id
645
+
646
+ sig { returns(String) }
647
+ attr_accessor :agent_id
648
+
649
+ sig do
650
+ returns(Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent::Data)
651
+ end
652
+ attr_reader :data
653
+
654
+ sig do
655
+ params(
656
+ data:
657
+ Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent::Data::OrHash
658
+ ).void
659
+ end
660
+ attr_writer :data
661
+
662
+ sig { returns(Symbol) }
663
+ attr_accessor :event
664
+
665
+ sig { returns(String) }
666
+ attr_accessor :fleet_id
667
+
668
+ sig { returns(String) }
669
+ attr_accessor :org_id
670
+
671
+ sig { returns(T.nilable(String)) }
672
+ attr_accessor :thread_id
673
+
674
+ sig { returns(String) }
675
+ attr_accessor :timestamp
676
+
677
+ sig do
678
+ params(
679
+ id: String,
680
+ agent_id: String,
681
+ data:
682
+ Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent::Data::OrHash,
683
+ fleet_id: String,
684
+ org_id: String,
685
+ thread_id: T.nilable(String),
686
+ timestamp: String,
687
+ event: Symbol
688
+ ).returns(T.attached_class)
689
+ end
690
+ def self.new(
691
+ id:,
692
+ agent_id:,
693
+ data:,
694
+ fleet_id:,
695
+ org_id:,
696
+ thread_id:,
697
+ timestamp:,
698
+ event: :"thread.created"
699
+ )
700
+ end
701
+
702
+ sig do
703
+ override.returns(
704
+ {
705
+ id: String,
706
+ agent_id: String,
707
+ data: Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent::Data,
708
+ event: Symbol,
709
+ fleet_id: String,
710
+ org_id: String,
711
+ thread_id: T.nilable(String),
712
+ timestamp: String
713
+ }
714
+ )
715
+ end
716
+ def to_hash
717
+ end
718
+
719
+ class Data < Cerca::Internal::Type::BaseModel
720
+ OrHash =
721
+ T.type_alias do
722
+ T.any(
723
+ Cerca::RuntimeWebhookEvent::ThreadCreatedWebhookEvent::Data,
724
+ Cerca::Internal::AnyHash
725
+ )
726
+ end
727
+
728
+ sig { returns(String) }
729
+ attr_accessor :message
730
+
731
+ sig { returns(String) }
732
+ attr_accessor :model
733
+
734
+ sig do
735
+ params(message: String, model: String).returns(T.attached_class)
736
+ end
737
+ def self.new(message:, model:)
738
+ end
739
+
740
+ sig { override.returns({ message: String, model: String }) }
741
+ def to_hash
742
+ end
743
+ end
744
+ end
745
+
746
+ class ThreadStatusChangedWebhookEvent < Cerca::Internal::Type::BaseModel
747
+ OrHash =
748
+ T.type_alias do
749
+ T.any(
750
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent,
751
+ Cerca::Internal::AnyHash
752
+ )
753
+ end
754
+
755
+ sig { returns(String) }
756
+ attr_accessor :id
757
+
758
+ sig { returns(String) }
759
+ attr_accessor :agent_id
760
+
761
+ sig do
762
+ returns(
763
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent::Data
764
+ )
765
+ end
766
+ attr_reader :data
767
+
768
+ sig do
769
+ params(
770
+ data:
771
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent::Data::OrHash
772
+ ).void
773
+ end
774
+ attr_writer :data
775
+
776
+ sig { returns(Symbol) }
777
+ attr_accessor :event
778
+
779
+ sig { returns(String) }
780
+ attr_accessor :fleet_id
781
+
782
+ sig { returns(String) }
783
+ attr_accessor :org_id
784
+
785
+ sig { returns(T.nilable(String)) }
786
+ attr_accessor :thread_id
787
+
788
+ sig { returns(String) }
789
+ attr_accessor :timestamp
790
+
791
+ sig do
792
+ params(
793
+ id: String,
794
+ agent_id: String,
795
+ data:
796
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent::Data::OrHash,
797
+ fleet_id: String,
798
+ org_id: String,
799
+ thread_id: T.nilable(String),
800
+ timestamp: String,
801
+ event: Symbol
802
+ ).returns(T.attached_class)
803
+ end
804
+ def self.new(
805
+ id:,
806
+ agent_id:,
807
+ data:,
808
+ fleet_id:,
809
+ org_id:,
810
+ thread_id:,
811
+ timestamp:,
812
+ event: :"thread.status.changed"
813
+ )
814
+ end
815
+
816
+ sig do
817
+ override.returns(
818
+ {
819
+ id: String,
820
+ agent_id: String,
821
+ data:
822
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent::Data,
823
+ event: Symbol,
824
+ fleet_id: String,
825
+ org_id: String,
826
+ thread_id: T.nilable(String),
827
+ timestamp: String
828
+ }
829
+ )
830
+ end
831
+ def to_hash
832
+ end
833
+
834
+ class Data < Cerca::Internal::Type::BaseModel
835
+ OrHash =
836
+ T.type_alias do
837
+ T.any(
838
+ Cerca::RuntimeWebhookEvent::ThreadStatusChangedWebhookEvent::Data,
839
+ Cerca::Internal::AnyHash
840
+ )
841
+ end
842
+
843
+ sig { returns(T.nilable(String)) }
844
+ attr_accessor :error
845
+
846
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
847
+ # active turn. `awaiting` threads are paused on external input such as approvals.
848
+ # `closed` threads are terminal.
849
+ sig { returns(Cerca::Status::TaggedSymbol) }
850
+ attr_accessor :previous_status
851
+
852
+ sig { returns(T.nilable(String)) }
853
+ attr_accessor :result
854
+
855
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
856
+ # active turn. `awaiting` threads are paused on external input such as approvals.
857
+ # `closed` threads are terminal.
858
+ sig { returns(Cerca::Status::TaggedSymbol) }
859
+ attr_accessor :status
860
+
861
+ sig do
862
+ params(
863
+ error: T.nilable(String),
864
+ previous_status: Cerca::Status::OrSymbol,
865
+ result: T.nilable(String),
866
+ status: Cerca::Status::OrSymbol
867
+ ).returns(T.attached_class)
868
+ end
869
+ def self.new(
870
+ error:,
871
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
872
+ # active turn. `awaiting` threads are paused on external input such as approvals.
873
+ # `closed` threads are terminal.
874
+ previous_status:,
875
+ result:,
876
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
877
+ # active turn. `awaiting` threads are paused on external input such as approvals.
878
+ # `closed` threads are terminal.
879
+ status:
880
+ )
881
+ end
882
+
883
+ sig do
884
+ override.returns(
885
+ {
886
+ error: T.nilable(String),
887
+ previous_status: Cerca::Status::TaggedSymbol,
888
+ result: T.nilable(String),
889
+ status: Cerca::Status::TaggedSymbol
890
+ }
891
+ )
892
+ end
893
+ def to_hash
894
+ end
895
+ end
896
+ end
897
+
898
+ class ThreadCompletedWebhookEvent < Cerca::Internal::Type::BaseModel
899
+ OrHash =
900
+ T.type_alias do
901
+ T.any(
902
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent,
903
+ Cerca::Internal::AnyHash
904
+ )
905
+ end
906
+
907
+ sig { returns(String) }
908
+ attr_accessor :id
909
+
910
+ sig { returns(String) }
911
+ attr_accessor :agent_id
912
+
913
+ sig do
914
+ returns(Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent::Data)
915
+ end
916
+ attr_reader :data
917
+
918
+ sig do
919
+ params(
920
+ data:
921
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent::Data::OrHash
922
+ ).void
923
+ end
924
+ attr_writer :data
925
+
926
+ sig { returns(Symbol) }
927
+ attr_accessor :event
928
+
929
+ sig { returns(String) }
930
+ attr_accessor :fleet_id
931
+
932
+ sig { returns(String) }
933
+ attr_accessor :org_id
934
+
935
+ sig { returns(T.nilable(String)) }
936
+ attr_accessor :thread_id
937
+
938
+ sig { returns(String) }
939
+ attr_accessor :timestamp
940
+
941
+ sig do
942
+ params(
943
+ id: String,
944
+ agent_id: String,
945
+ data:
946
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent::Data::OrHash,
947
+ fleet_id: String,
948
+ org_id: String,
949
+ thread_id: T.nilable(String),
950
+ timestamp: String,
951
+ event: Symbol
952
+ ).returns(T.attached_class)
953
+ end
954
+ def self.new(
955
+ id:,
956
+ agent_id:,
957
+ data:,
958
+ fleet_id:,
959
+ org_id:,
960
+ thread_id:,
961
+ timestamp:,
962
+ event: :"thread.completed"
963
+ )
964
+ end
965
+
966
+ sig do
967
+ override.returns(
968
+ {
969
+ id: String,
970
+ agent_id: String,
971
+ data:
972
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent::Data,
973
+ event: Symbol,
974
+ fleet_id: String,
975
+ org_id: String,
976
+ thread_id: T.nilable(String),
977
+ timestamp: String
978
+ }
979
+ )
980
+ end
981
+ def to_hash
982
+ end
983
+
984
+ class Data < Cerca::Internal::Type::BaseModel
985
+ OrHash =
986
+ T.type_alias do
987
+ T.any(
988
+ Cerca::RuntimeWebhookEvent::ThreadCompletedWebhookEvent::Data,
989
+ Cerca::Internal::AnyHash
990
+ )
991
+ end
992
+
993
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
994
+ # active turn. `awaiting` threads are paused on external input such as approvals.
995
+ # `closed` threads are terminal.
996
+ sig { returns(Cerca::Status::TaggedSymbol) }
997
+ attr_accessor :previous_status
998
+
999
+ sig { returns(String) }
1000
+ attr_accessor :result
1001
+
1002
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1003
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1004
+ # `closed` threads are terminal.
1005
+ sig { returns(Cerca::Status::TaggedSymbol) }
1006
+ attr_accessor :status
1007
+
1008
+ sig do
1009
+ params(
1010
+ previous_status: Cerca::Status::OrSymbol,
1011
+ result: String,
1012
+ status: Cerca::Status::OrSymbol
1013
+ ).returns(T.attached_class)
1014
+ end
1015
+ def self.new(
1016
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1017
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1018
+ # `closed` threads are terminal.
1019
+ previous_status:,
1020
+ result:,
1021
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1022
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1023
+ # `closed` threads are terminal.
1024
+ status:
1025
+ )
1026
+ end
1027
+
1028
+ sig do
1029
+ override.returns(
1030
+ {
1031
+ previous_status: Cerca::Status::TaggedSymbol,
1032
+ result: String,
1033
+ status: Cerca::Status::TaggedSymbol
1034
+ }
1035
+ )
1036
+ end
1037
+ def to_hash
1038
+ end
1039
+ end
1040
+ end
1041
+
1042
+ class ThreadFailedWebhookEvent < Cerca::Internal::Type::BaseModel
1043
+ OrHash =
1044
+ T.type_alias do
1045
+ T.any(
1046
+ Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent,
1047
+ Cerca::Internal::AnyHash
1048
+ )
1049
+ end
1050
+
1051
+ sig { returns(String) }
1052
+ attr_accessor :id
1053
+
1054
+ sig { returns(String) }
1055
+ attr_accessor :agent_id
1056
+
1057
+ sig do
1058
+ returns(Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent::Data)
1059
+ end
1060
+ attr_reader :data
1061
+
1062
+ sig do
1063
+ params(
1064
+ data:
1065
+ Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent::Data::OrHash
1066
+ ).void
1067
+ end
1068
+ attr_writer :data
1069
+
1070
+ sig { returns(Symbol) }
1071
+ attr_accessor :event
1072
+
1073
+ sig { returns(String) }
1074
+ attr_accessor :fleet_id
1075
+
1076
+ sig { returns(String) }
1077
+ attr_accessor :org_id
1078
+
1079
+ sig { returns(T.nilable(String)) }
1080
+ attr_accessor :thread_id
1081
+
1082
+ sig { returns(String) }
1083
+ attr_accessor :timestamp
1084
+
1085
+ sig do
1086
+ params(
1087
+ id: String,
1088
+ agent_id: String,
1089
+ data:
1090
+ Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent::Data::OrHash,
1091
+ fleet_id: String,
1092
+ org_id: String,
1093
+ thread_id: T.nilable(String),
1094
+ timestamp: String,
1095
+ event: Symbol
1096
+ ).returns(T.attached_class)
1097
+ end
1098
+ def self.new(
1099
+ id:,
1100
+ agent_id:,
1101
+ data:,
1102
+ fleet_id:,
1103
+ org_id:,
1104
+ thread_id:,
1105
+ timestamp:,
1106
+ event: :"thread.failed"
1107
+ )
1108
+ end
1109
+
1110
+ sig do
1111
+ override.returns(
1112
+ {
1113
+ id: String,
1114
+ agent_id: String,
1115
+ data: Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent::Data,
1116
+ event: Symbol,
1117
+ fleet_id: String,
1118
+ org_id: String,
1119
+ thread_id: T.nilable(String),
1120
+ timestamp: String
1121
+ }
1122
+ )
1123
+ end
1124
+ def to_hash
1125
+ end
1126
+
1127
+ class Data < Cerca::Internal::Type::BaseModel
1128
+ OrHash =
1129
+ T.type_alias do
1130
+ T.any(
1131
+ Cerca::RuntimeWebhookEvent::ThreadFailedWebhookEvent::Data,
1132
+ Cerca::Internal::AnyHash
1133
+ )
1134
+ end
1135
+
1136
+ sig { returns(String) }
1137
+ attr_accessor :error
1138
+
1139
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1140
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1141
+ # `closed` threads are terminal.
1142
+ sig { returns(Cerca::Status::TaggedSymbol) }
1143
+ attr_accessor :previous_status
1144
+
1145
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1146
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1147
+ # `closed` threads are terminal.
1148
+ sig { returns(Cerca::Status::TaggedSymbol) }
1149
+ attr_accessor :status
1150
+
1151
+ sig do
1152
+ params(
1153
+ error: String,
1154
+ previous_status: Cerca::Status::OrSymbol,
1155
+ status: Cerca::Status::OrSymbol
1156
+ ).returns(T.attached_class)
1157
+ end
1158
+ def self.new(
1159
+ error:,
1160
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1161
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1162
+ # `closed` threads are terminal.
1163
+ previous_status:,
1164
+ # `idle` threads can accept a new turn or be closed. `running` threads have an
1165
+ # active turn. `awaiting` threads are paused on external input such as approvals.
1166
+ # `closed` threads are terminal.
1167
+ status:
1168
+ )
1169
+ end
1170
+
1171
+ sig do
1172
+ override.returns(
1173
+ {
1174
+ error: String,
1175
+ previous_status: Cerca::Status::TaggedSymbol,
1176
+ status: Cerca::Status::TaggedSymbol
1177
+ }
1178
+ )
1179
+ end
1180
+ def to_hash
1181
+ end
1182
+ end
1183
+ end
1184
+
1185
+ class TurnCreatedWebhookEvent < Cerca::Internal::Type::BaseModel
1186
+ OrHash =
1187
+ T.type_alias do
1188
+ T.any(
1189
+ Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent,
1190
+ Cerca::Internal::AnyHash
1191
+ )
1192
+ end
1193
+
1194
+ sig { returns(String) }
1195
+ attr_accessor :id
1196
+
1197
+ sig { returns(String) }
1198
+ attr_accessor :agent_id
1199
+
1200
+ sig do
1201
+ returns(Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent::Data)
1202
+ end
1203
+ attr_reader :data
1204
+
1205
+ sig do
1206
+ params(
1207
+ data:
1208
+ Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent::Data::OrHash
1209
+ ).void
1210
+ end
1211
+ attr_writer :data
1212
+
1213
+ sig { returns(Symbol) }
1214
+ attr_accessor :event
1215
+
1216
+ sig { returns(String) }
1217
+ attr_accessor :fleet_id
1218
+
1219
+ sig { returns(String) }
1220
+ attr_accessor :org_id
1221
+
1222
+ sig { returns(T.nilable(String)) }
1223
+ attr_accessor :thread_id
1224
+
1225
+ sig { returns(String) }
1226
+ attr_accessor :timestamp
1227
+
1228
+ sig do
1229
+ params(
1230
+ id: String,
1231
+ agent_id: String,
1232
+ data:
1233
+ Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent::Data::OrHash,
1234
+ fleet_id: String,
1235
+ org_id: String,
1236
+ thread_id: T.nilable(String),
1237
+ timestamp: String,
1238
+ event: Symbol
1239
+ ).returns(T.attached_class)
1240
+ end
1241
+ def self.new(
1242
+ id:,
1243
+ agent_id:,
1244
+ data:,
1245
+ fleet_id:,
1246
+ org_id:,
1247
+ thread_id:,
1248
+ timestamp:,
1249
+ event: :"turn.created"
1250
+ )
1251
+ end
1252
+
1253
+ sig do
1254
+ override.returns(
1255
+ {
1256
+ id: String,
1257
+ agent_id: String,
1258
+ data: Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent::Data,
1259
+ event: Symbol,
1260
+ fleet_id: String,
1261
+ org_id: String,
1262
+ thread_id: T.nilable(String),
1263
+ timestamp: String
1264
+ }
1265
+ )
1266
+ end
1267
+ def to_hash
1268
+ end
1269
+
1270
+ class Data < Cerca::Internal::Type::BaseModel
1271
+ OrHash =
1272
+ T.type_alias do
1273
+ T.any(
1274
+ Cerca::RuntimeWebhookEvent::TurnCreatedWebhookEvent::Data,
1275
+ Cerca::Internal::AnyHash
1276
+ )
1277
+ end
1278
+
1279
+ sig { returns(String) }
1280
+ attr_accessor :message
1281
+
1282
+ sig { returns(Float) }
1283
+ attr_accessor :seq
1284
+
1285
+ sig { returns(String) }
1286
+ attr_accessor :started_at
1287
+
1288
+ sig { returns(String) }
1289
+ attr_accessor :turn_id
1290
+
1291
+ sig do
1292
+ params(
1293
+ message: String,
1294
+ seq: Float,
1295
+ started_at: String,
1296
+ turn_id: String
1297
+ ).returns(T.attached_class)
1298
+ end
1299
+ def self.new(message:, seq:, started_at:, turn_id:)
1300
+ end
1301
+
1302
+ sig do
1303
+ override.returns(
1304
+ {
1305
+ message: String,
1306
+ seq: Float,
1307
+ started_at: String,
1308
+ turn_id: String
1309
+ }
1310
+ )
1311
+ end
1312
+ def to_hash
1313
+ end
1314
+ end
1315
+ end
1316
+
1317
+ class TurnCompletedWebhookEvent < Cerca::Internal::Type::BaseModel
1318
+ OrHash =
1319
+ T.type_alias do
1320
+ T.any(
1321
+ Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent,
1322
+ Cerca::Internal::AnyHash
1323
+ )
1324
+ end
1325
+
1326
+ sig { returns(String) }
1327
+ attr_accessor :id
1328
+
1329
+ sig { returns(String) }
1330
+ attr_accessor :agent_id
1331
+
1332
+ sig do
1333
+ returns(Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent::Data)
1334
+ end
1335
+ attr_reader :data
1336
+
1337
+ sig do
1338
+ params(
1339
+ data:
1340
+ Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent::Data::OrHash
1341
+ ).void
1342
+ end
1343
+ attr_writer :data
1344
+
1345
+ sig { returns(Symbol) }
1346
+ attr_accessor :event
1347
+
1348
+ sig { returns(String) }
1349
+ attr_accessor :fleet_id
1350
+
1351
+ sig { returns(String) }
1352
+ attr_accessor :org_id
1353
+
1354
+ sig { returns(T.nilable(String)) }
1355
+ attr_accessor :thread_id
1356
+
1357
+ sig { returns(String) }
1358
+ attr_accessor :timestamp
1359
+
1360
+ sig do
1361
+ params(
1362
+ id: String,
1363
+ agent_id: String,
1364
+ data:
1365
+ Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent::Data::OrHash,
1366
+ fleet_id: String,
1367
+ org_id: String,
1368
+ thread_id: T.nilable(String),
1369
+ timestamp: String,
1370
+ event: Symbol
1371
+ ).returns(T.attached_class)
1372
+ end
1373
+ def self.new(
1374
+ id:,
1375
+ agent_id:,
1376
+ data:,
1377
+ fleet_id:,
1378
+ org_id:,
1379
+ thread_id:,
1380
+ timestamp:,
1381
+ event: :"turn.completed"
1382
+ )
1383
+ end
1384
+
1385
+ sig do
1386
+ override.returns(
1387
+ {
1388
+ id: String,
1389
+ agent_id: String,
1390
+ data: Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent::Data,
1391
+ event: Symbol,
1392
+ fleet_id: String,
1393
+ org_id: String,
1394
+ thread_id: T.nilable(String),
1395
+ timestamp: String
1396
+ }
1397
+ )
1398
+ end
1399
+ def to_hash
1400
+ end
1401
+
1402
+ class Data < Cerca::Internal::Type::BaseModel
1403
+ OrHash =
1404
+ T.type_alias do
1405
+ T.any(
1406
+ Cerca::RuntimeWebhookEvent::TurnCompletedWebhookEvent::Data,
1407
+ Cerca::Internal::AnyHash
1408
+ )
1409
+ end
1410
+
1411
+ sig { returns(String) }
1412
+ attr_accessor :completed_at
1413
+
1414
+ sig { returns(T.nilable(String)) }
1415
+ attr_accessor :error
1416
+
1417
+ sig { returns(T.nilable(String)) }
1418
+ attr_accessor :result
1419
+
1420
+ sig { returns(Float) }
1421
+ attr_accessor :seq
1422
+
1423
+ sig { returns(Symbol) }
1424
+ attr_accessor :status
1425
+
1426
+ sig { returns(T.nilable(Cerca::TokenUsage)) }
1427
+ attr_reader :token_usage
1428
+
1429
+ sig { params(token_usage: T.nilable(Cerca::TokenUsage::OrHash)).void }
1430
+ attr_writer :token_usage
1431
+
1432
+ sig { returns(String) }
1433
+ attr_accessor :turn_id
1434
+
1435
+ sig do
1436
+ params(
1437
+ completed_at: String,
1438
+ error: T.nilable(String),
1439
+ result: T.nilable(String),
1440
+ seq: Float,
1441
+ token_usage: T.nilable(Cerca::TokenUsage::OrHash),
1442
+ turn_id: String,
1443
+ status: Symbol
1444
+ ).returns(T.attached_class)
1445
+ end
1446
+ def self.new(
1447
+ completed_at:,
1448
+ error:,
1449
+ result:,
1450
+ seq:,
1451
+ token_usage:,
1452
+ turn_id:,
1453
+ status: :completed
1454
+ )
1455
+ end
1456
+
1457
+ sig do
1458
+ override.returns(
1459
+ {
1460
+ completed_at: String,
1461
+ error: T.nilable(String),
1462
+ result: T.nilable(String),
1463
+ seq: Float,
1464
+ status: Symbol,
1465
+ token_usage: T.nilable(Cerca::TokenUsage),
1466
+ turn_id: String
1467
+ }
1468
+ )
1469
+ end
1470
+ def to_hash
1471
+ end
1472
+ end
1473
+ end
1474
+
1475
+ class TurnFailedWebhookEvent < Cerca::Internal::Type::BaseModel
1476
+ OrHash =
1477
+ T.type_alias do
1478
+ T.any(
1479
+ Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent,
1480
+ Cerca::Internal::AnyHash
1481
+ )
1482
+ end
1483
+
1484
+ sig { returns(String) }
1485
+ attr_accessor :id
1486
+
1487
+ sig { returns(String) }
1488
+ attr_accessor :agent_id
1489
+
1490
+ sig do
1491
+ returns(Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent::Data)
1492
+ end
1493
+ attr_reader :data
1494
+
1495
+ sig do
1496
+ params(
1497
+ data:
1498
+ Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent::Data::OrHash
1499
+ ).void
1500
+ end
1501
+ attr_writer :data
1502
+
1503
+ sig { returns(Symbol) }
1504
+ attr_accessor :event
1505
+
1506
+ sig { returns(String) }
1507
+ attr_accessor :fleet_id
1508
+
1509
+ sig { returns(String) }
1510
+ attr_accessor :org_id
1511
+
1512
+ sig { returns(T.nilable(String)) }
1513
+ attr_accessor :thread_id
1514
+
1515
+ sig { returns(String) }
1516
+ attr_accessor :timestamp
1517
+
1518
+ sig do
1519
+ params(
1520
+ id: String,
1521
+ agent_id: String,
1522
+ data:
1523
+ Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent::Data::OrHash,
1524
+ fleet_id: String,
1525
+ org_id: String,
1526
+ thread_id: T.nilable(String),
1527
+ timestamp: String,
1528
+ event: Symbol
1529
+ ).returns(T.attached_class)
1530
+ end
1531
+ def self.new(
1532
+ id:,
1533
+ agent_id:,
1534
+ data:,
1535
+ fleet_id:,
1536
+ org_id:,
1537
+ thread_id:,
1538
+ timestamp:,
1539
+ event: :"turn.failed"
1540
+ )
1541
+ end
1542
+
1543
+ sig do
1544
+ override.returns(
1545
+ {
1546
+ id: String,
1547
+ agent_id: String,
1548
+ data: Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent::Data,
1549
+ event: Symbol,
1550
+ fleet_id: String,
1551
+ org_id: String,
1552
+ thread_id: T.nilable(String),
1553
+ timestamp: String
1554
+ }
1555
+ )
1556
+ end
1557
+ def to_hash
1558
+ end
1559
+
1560
+ class Data < Cerca::Internal::Type::BaseModel
1561
+ OrHash =
1562
+ T.type_alias do
1563
+ T.any(
1564
+ Cerca::RuntimeWebhookEvent::TurnFailedWebhookEvent::Data,
1565
+ Cerca::Internal::AnyHash
1566
+ )
1567
+ end
1568
+
1569
+ sig { returns(String) }
1570
+ attr_accessor :completed_at
1571
+
1572
+ sig { returns(T.nilable(String)) }
1573
+ attr_accessor :error
1574
+
1575
+ sig { returns(T.nilable(String)) }
1576
+ attr_accessor :result
1577
+
1578
+ sig { returns(Float) }
1579
+ attr_accessor :seq
1580
+
1581
+ sig { returns(Symbol) }
1582
+ attr_accessor :status
1583
+
1584
+ sig { returns(T.nilable(Cerca::TokenUsage)) }
1585
+ attr_reader :token_usage
1586
+
1587
+ sig { params(token_usage: T.nilable(Cerca::TokenUsage::OrHash)).void }
1588
+ attr_writer :token_usage
1589
+
1590
+ sig { returns(String) }
1591
+ attr_accessor :turn_id
1592
+
1593
+ sig do
1594
+ params(
1595
+ completed_at: String,
1596
+ error: T.nilable(String),
1597
+ result: T.nilable(String),
1598
+ seq: Float,
1599
+ token_usage: T.nilable(Cerca::TokenUsage::OrHash),
1600
+ turn_id: String,
1601
+ status: Symbol
1602
+ ).returns(T.attached_class)
1603
+ end
1604
+ def self.new(
1605
+ completed_at:,
1606
+ error:,
1607
+ result:,
1608
+ seq:,
1609
+ token_usage:,
1610
+ turn_id:,
1611
+ status: :failed
1612
+ )
1613
+ end
1614
+
1615
+ sig do
1616
+ override.returns(
1617
+ {
1618
+ completed_at: String,
1619
+ error: T.nilable(String),
1620
+ result: T.nilable(String),
1621
+ seq: Float,
1622
+ status: Symbol,
1623
+ token_usage: T.nilable(Cerca::TokenUsage),
1624
+ turn_id: String
1625
+ }
1626
+ )
1627
+ end
1628
+ def to_hash
1629
+ end
1630
+ end
1631
+ end
1632
+
1633
+ class MessageCreatedWebhookEvent < Cerca::Internal::Type::BaseModel
1634
+ OrHash =
1635
+ T.type_alias do
1636
+ T.any(
1637
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent,
1638
+ Cerca::Internal::AnyHash
1639
+ )
1640
+ end
1641
+
1642
+ sig { returns(String) }
1643
+ attr_accessor :id
1644
+
1645
+ sig { returns(String) }
1646
+ attr_accessor :agent_id
1647
+
1648
+ sig do
1649
+ returns(Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data)
1650
+ end
1651
+ attr_reader :data
1652
+
1653
+ sig do
1654
+ params(
1655
+ data:
1656
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::OrHash
1657
+ ).void
1658
+ end
1659
+ attr_writer :data
1660
+
1661
+ sig { returns(Symbol) }
1662
+ attr_accessor :event
1663
+
1664
+ sig { returns(String) }
1665
+ attr_accessor :fleet_id
1666
+
1667
+ sig { returns(String) }
1668
+ attr_accessor :org_id
1669
+
1670
+ sig { returns(T.nilable(String)) }
1671
+ attr_accessor :thread_id
1672
+
1673
+ sig { returns(String) }
1674
+ attr_accessor :timestamp
1675
+
1676
+ sig do
1677
+ params(
1678
+ id: String,
1679
+ agent_id: String,
1680
+ data:
1681
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::OrHash,
1682
+ fleet_id: String,
1683
+ org_id: String,
1684
+ thread_id: T.nilable(String),
1685
+ timestamp: String,
1686
+ event: Symbol
1687
+ ).returns(T.attached_class)
1688
+ end
1689
+ def self.new(
1690
+ id:,
1691
+ agent_id:,
1692
+ data:,
1693
+ fleet_id:,
1694
+ org_id:,
1695
+ thread_id:,
1696
+ timestamp:,
1697
+ event: :"message.created"
1698
+ )
1699
+ end
1700
+
1701
+ sig do
1702
+ override.returns(
1703
+ {
1704
+ id: String,
1705
+ agent_id: String,
1706
+ data:
1707
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data,
1708
+ event: Symbol,
1709
+ fleet_id: String,
1710
+ org_id: String,
1711
+ thread_id: T.nilable(String),
1712
+ timestamp: String
1713
+ }
1714
+ )
1715
+ end
1716
+ def to_hash
1717
+ end
1718
+
1719
+ class Data < Cerca::Internal::Type::BaseModel
1720
+ OrHash =
1721
+ T.type_alias do
1722
+ T.any(
1723
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data,
1724
+ Cerca::Internal::AnyHash
1725
+ )
1726
+ end
1727
+
1728
+ sig { returns(String) }
1729
+ attr_accessor :created_at
1730
+
1731
+ sig do
1732
+ returns(
1733
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::TaggedSymbol
1734
+ )
1735
+ end
1736
+ attr_accessor :role
1737
+
1738
+ sig { returns(Float) }
1739
+ attr_accessor :seq
1740
+
1741
+ sig { returns(T.nilable(String)) }
1742
+ attr_accessor :turn_id
1743
+
1744
+ sig do
1745
+ params(
1746
+ created_at: String,
1747
+ role:
1748
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::OrSymbol,
1749
+ seq: Float,
1750
+ turn_id: T.nilable(String)
1751
+ ).returns(T.attached_class)
1752
+ end
1753
+ def self.new(created_at:, role:, seq:, turn_id:)
1754
+ end
1755
+
1756
+ sig do
1757
+ override.returns(
1758
+ {
1759
+ created_at: String,
1760
+ role:
1761
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::TaggedSymbol,
1762
+ seq: Float,
1763
+ turn_id: T.nilable(String)
1764
+ }
1765
+ )
1766
+ end
1767
+ def to_hash
1768
+ end
1769
+
1770
+ module Role
1771
+ extend Cerca::Internal::Type::Enum
1772
+
1773
+ TaggedSymbol =
1774
+ T.type_alias do
1775
+ T.all(
1776
+ Symbol,
1777
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role
1778
+ )
1779
+ end
1780
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1781
+
1782
+ USER =
1783
+ T.let(
1784
+ :user,
1785
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::TaggedSymbol
1786
+ )
1787
+ ASSISTANT =
1788
+ T.let(
1789
+ :assistant,
1790
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::TaggedSymbol
1791
+ )
1792
+
1793
+ sig do
1794
+ override.returns(
1795
+ T::Array[
1796
+ Cerca::RuntimeWebhookEvent::MessageCreatedWebhookEvent::Data::Role::TaggedSymbol
1797
+ ]
1798
+ )
1799
+ end
1800
+ def self.values
1801
+ end
1802
+ end
1803
+ end
1804
+ end
1805
+
1806
+ class ApprovalRequestedWebhookEvent < Cerca::Internal::Type::BaseModel
1807
+ OrHash =
1808
+ T.type_alias do
1809
+ T.any(
1810
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent,
1811
+ Cerca::Internal::AnyHash
1812
+ )
1813
+ end
1814
+
1815
+ sig { returns(String) }
1816
+ attr_accessor :id
1817
+
1818
+ sig { returns(String) }
1819
+ attr_accessor :agent_id
1820
+
1821
+ sig do
1822
+ returns(
1823
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data
1824
+ )
1825
+ end
1826
+ attr_reader :data
1827
+
1828
+ sig do
1829
+ params(
1830
+ data:
1831
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::OrHash
1832
+ ).void
1833
+ end
1834
+ attr_writer :data
1835
+
1836
+ sig { returns(Symbol) }
1837
+ attr_accessor :event
1838
+
1839
+ sig { returns(String) }
1840
+ attr_accessor :fleet_id
1841
+
1842
+ sig { returns(String) }
1843
+ attr_accessor :org_id
1844
+
1845
+ sig { returns(T.nilable(String)) }
1846
+ attr_accessor :thread_id
1847
+
1848
+ sig { returns(String) }
1849
+ attr_accessor :timestamp
1850
+
1851
+ sig do
1852
+ params(
1853
+ id: String,
1854
+ agent_id: String,
1855
+ data:
1856
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::OrHash,
1857
+ fleet_id: String,
1858
+ org_id: String,
1859
+ thread_id: T.nilable(String),
1860
+ timestamp: String,
1861
+ event: Symbol
1862
+ ).returns(T.attached_class)
1863
+ end
1864
+ def self.new(
1865
+ id:,
1866
+ agent_id:,
1867
+ data:,
1868
+ fleet_id:,
1869
+ org_id:,
1870
+ thread_id:,
1871
+ timestamp:,
1872
+ event: :"approval.requested"
1873
+ )
1874
+ end
1875
+
1876
+ sig do
1877
+ override.returns(
1878
+ {
1879
+ id: String,
1880
+ agent_id: String,
1881
+ data:
1882
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data,
1883
+ event: Symbol,
1884
+ fleet_id: String,
1885
+ org_id: String,
1886
+ thread_id: T.nilable(String),
1887
+ timestamp: String
1888
+ }
1889
+ )
1890
+ end
1891
+ def to_hash
1892
+ end
1893
+
1894
+ class Data < Cerca::Internal::Type::BaseModel
1895
+ OrHash =
1896
+ T.type_alias do
1897
+ T.any(
1898
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data,
1899
+ Cerca::Internal::AnyHash
1900
+ )
1901
+ end
1902
+
1903
+ sig do
1904
+ returns(
1905
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval
1906
+ )
1907
+ end
1908
+ attr_reader :approval
1909
+
1910
+ sig do
1911
+ params(
1912
+ approval:
1913
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::OrHash
1914
+ ).void
1915
+ end
1916
+ attr_writer :approval
1917
+
1918
+ sig do
1919
+ params(
1920
+ approval:
1921
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::OrHash
1922
+ ).returns(T.attached_class)
1923
+ end
1924
+ def self.new(approval:)
1925
+ end
1926
+
1927
+ sig do
1928
+ override.returns(
1929
+ {
1930
+ approval:
1931
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval
1932
+ }
1933
+ )
1934
+ end
1935
+ def to_hash
1936
+ end
1937
+
1938
+ class Approval < Cerca::Internal::Type::BaseModel
1939
+ OrHash =
1940
+ T.type_alias do
1941
+ T.any(
1942
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval,
1943
+ Cerca::Internal::AnyHash
1944
+ )
1945
+ end
1946
+
1947
+ sig { returns(String) }
1948
+ attr_accessor :id
1949
+
1950
+ sig { returns(String) }
1951
+ attr_accessor :created_at
1952
+
1953
+ # JSON value payload. Generated SDKs may expose this as unknown or Any.
1954
+ sig { returns(T.anything) }
1955
+ attr_accessor :input
1956
+
1957
+ sig { returns(T.nilable(String)) }
1958
+ attr_accessor :resolved_at
1959
+
1960
+ sig { returns(Cerca::ToolName::TaggedSymbol) }
1961
+ attr_accessor :runtime_tool_name
1962
+
1963
+ sig do
1964
+ returns(
1965
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
1966
+ )
1967
+ end
1968
+ attr_accessor :status
1969
+
1970
+ sig { returns(T.nilable(String)) }
1971
+ attr_accessor :thread_id
1972
+
1973
+ sig { returns(T.nilable(String)) }
1974
+ attr_accessor :timeout_at
1975
+
1976
+ sig { returns(T.nilable(Float)) }
1977
+ attr_accessor :timeout_ms
1978
+
1979
+ sig { returns(Float) }
1980
+ attr_accessor :tool_index
1981
+
1982
+ sig { returns(String) }
1983
+ attr_accessor :tool_name
1984
+
1985
+ sig { returns(String) }
1986
+ attr_accessor :tool_use_id
1987
+
1988
+ sig { returns(String) }
1989
+ attr_accessor :turn_id
1990
+
1991
+ sig { returns(T.nilable(String)) }
1992
+ attr_reader :tool_source_id
1993
+
1994
+ sig { params(tool_source_id: String).void }
1995
+ attr_writer :tool_source_id
1996
+
1997
+ sig { returns(T.nilable(Float)) }
1998
+ attr_reader :tool_source_version
1999
+
2000
+ sig { params(tool_source_version: Float).void }
2001
+ attr_writer :tool_source_version
2002
+
2003
+ sig do
2004
+ params(
2005
+ id: String,
2006
+ created_at: String,
2007
+ input: T.anything,
2008
+ resolved_at: T.nilable(String),
2009
+ runtime_tool_name: Cerca::ToolName::OrSymbol,
2010
+ status:
2011
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::OrSymbol,
2012
+ thread_id: T.nilable(String),
2013
+ timeout_at: T.nilable(String),
2014
+ timeout_ms: T.nilable(Float),
2015
+ tool_index: Float,
2016
+ tool_name: String,
2017
+ tool_use_id: String,
2018
+ turn_id: String,
2019
+ tool_source_id: String,
2020
+ tool_source_version: Float
2021
+ ).returns(T.attached_class)
2022
+ end
2023
+ def self.new(
2024
+ id:,
2025
+ created_at:,
2026
+ # JSON value payload. Generated SDKs may expose this as unknown or Any.
2027
+ input:,
2028
+ resolved_at:,
2029
+ runtime_tool_name:,
2030
+ status:,
2031
+ thread_id:,
2032
+ timeout_at:,
2033
+ timeout_ms:,
2034
+ tool_index:,
2035
+ tool_name:,
2036
+ tool_use_id:,
2037
+ turn_id:,
2038
+ tool_source_id: nil,
2039
+ tool_source_version: nil
2040
+ )
2041
+ end
2042
+
2043
+ sig do
2044
+ override.returns(
2045
+ {
2046
+ id: String,
2047
+ created_at: String,
2048
+ input: T.anything,
2049
+ resolved_at: T.nilable(String),
2050
+ runtime_tool_name: Cerca::ToolName::TaggedSymbol,
2051
+ status:
2052
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol,
2053
+ thread_id: T.nilable(String),
2054
+ timeout_at: T.nilable(String),
2055
+ timeout_ms: T.nilable(Float),
2056
+ tool_index: Float,
2057
+ tool_name: String,
2058
+ tool_use_id: String,
2059
+ turn_id: String,
2060
+ tool_source_id: String,
2061
+ tool_source_version: Float
2062
+ }
2063
+ )
2064
+ end
2065
+ def to_hash
2066
+ end
2067
+
2068
+ module Status
2069
+ extend Cerca::Internal::Type::Enum
2070
+
2071
+ TaggedSymbol =
2072
+ T.type_alias do
2073
+ T.all(
2074
+ Symbol,
2075
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status
2076
+ )
2077
+ end
2078
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2079
+
2080
+ PENDING =
2081
+ T.let(
2082
+ :pending,
2083
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2084
+ )
2085
+ APPROVED =
2086
+ T.let(
2087
+ :approved,
2088
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2089
+ )
2090
+ DENIED =
2091
+ T.let(
2092
+ :denied,
2093
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2094
+ )
2095
+ CANCELLED =
2096
+ T.let(
2097
+ :cancelled,
2098
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2099
+ )
2100
+ TIMED_OUT =
2101
+ T.let(
2102
+ :timed_out,
2103
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2104
+ )
2105
+
2106
+ sig do
2107
+ override.returns(
2108
+ T::Array[
2109
+ Cerca::RuntimeWebhookEvent::ApprovalRequestedWebhookEvent::Data::Approval::Status::TaggedSymbol
2110
+ ]
2111
+ )
2112
+ end
2113
+ def self.values
2114
+ end
2115
+ end
2116
+ end
2117
+ end
2118
+ end
2119
+
2120
+ class ApprovalResolvedWebhookEvent < Cerca::Internal::Type::BaseModel
2121
+ OrHash =
2122
+ T.type_alias do
2123
+ T.any(
2124
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent,
2125
+ Cerca::Internal::AnyHash
2126
+ )
2127
+ end
2128
+
2129
+ sig { returns(String) }
2130
+ attr_accessor :id
2131
+
2132
+ sig { returns(String) }
2133
+ attr_accessor :agent_id
2134
+
2135
+ sig do
2136
+ returns(
2137
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data
2138
+ )
2139
+ end
2140
+ attr_reader :data
2141
+
2142
+ sig do
2143
+ params(
2144
+ data:
2145
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::OrHash
2146
+ ).void
2147
+ end
2148
+ attr_writer :data
2149
+
2150
+ sig { returns(Symbol) }
2151
+ attr_accessor :event
2152
+
2153
+ sig { returns(String) }
2154
+ attr_accessor :fleet_id
2155
+
2156
+ sig { returns(String) }
2157
+ attr_accessor :org_id
2158
+
2159
+ sig { returns(T.nilable(String)) }
2160
+ attr_accessor :thread_id
2161
+
2162
+ sig { returns(String) }
2163
+ attr_accessor :timestamp
2164
+
2165
+ sig do
2166
+ params(
2167
+ id: String,
2168
+ agent_id: String,
2169
+ data:
2170
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::OrHash,
2171
+ fleet_id: String,
2172
+ org_id: String,
2173
+ thread_id: T.nilable(String),
2174
+ timestamp: String,
2175
+ event: Symbol
2176
+ ).returns(T.attached_class)
2177
+ end
2178
+ def self.new(
2179
+ id:,
2180
+ agent_id:,
2181
+ data:,
2182
+ fleet_id:,
2183
+ org_id:,
2184
+ thread_id:,
2185
+ timestamp:,
2186
+ event: :"approval.resolved"
2187
+ )
2188
+ end
2189
+
2190
+ sig do
2191
+ override.returns(
2192
+ {
2193
+ id: String,
2194
+ agent_id: String,
2195
+ data:
2196
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data,
2197
+ event: Symbol,
2198
+ fleet_id: String,
2199
+ org_id: String,
2200
+ thread_id: T.nilable(String),
2201
+ timestamp: String
2202
+ }
2203
+ )
2204
+ end
2205
+ def to_hash
2206
+ end
2207
+
2208
+ class Data < Cerca::Internal::Type::BaseModel
2209
+ OrHash =
2210
+ T.type_alias do
2211
+ T.any(
2212
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data,
2213
+ Cerca::Internal::AnyHash
2214
+ )
2215
+ end
2216
+
2217
+ sig { returns(String) }
2218
+ attr_accessor :approval_id
2219
+
2220
+ sig do
2221
+ returns(
2222
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2223
+ )
2224
+ end
2225
+ attr_accessor :decision
2226
+
2227
+ sig do
2228
+ params(
2229
+ approval_id: String,
2230
+ decision:
2231
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::OrSymbol
2232
+ ).returns(T.attached_class)
2233
+ end
2234
+ def self.new(approval_id:, decision:)
2235
+ end
2236
+
2237
+ sig do
2238
+ override.returns(
2239
+ {
2240
+ approval_id: String,
2241
+ decision:
2242
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2243
+ }
2244
+ )
2245
+ end
2246
+ def to_hash
2247
+ end
2248
+
2249
+ module Decision
2250
+ extend Cerca::Internal::Type::Enum
2251
+
2252
+ TaggedSymbol =
2253
+ T.type_alias do
2254
+ T.all(
2255
+ Symbol,
2256
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision
2257
+ )
2258
+ end
2259
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2260
+
2261
+ APPROVED =
2262
+ T.let(
2263
+ :approved,
2264
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2265
+ )
2266
+ DENIED =
2267
+ T.let(
2268
+ :denied,
2269
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2270
+ )
2271
+ TIMED_OUT =
2272
+ T.let(
2273
+ :timed_out,
2274
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2275
+ )
2276
+ CANCELLED =
2277
+ T.let(
2278
+ :cancelled,
2279
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2280
+ )
2281
+
2282
+ sig do
2283
+ override.returns(
2284
+ T::Array[
2285
+ Cerca::RuntimeWebhookEvent::ApprovalResolvedWebhookEvent::Data::Decision::TaggedSymbol
2286
+ ]
2287
+ )
2288
+ end
2289
+ def self.values
2290
+ end
2291
+ end
2292
+ end
2293
+ end
2294
+
2295
+ class ApprovalGrantedWebhookEvent < Cerca::Internal::Type::BaseModel
2296
+ OrHash =
2297
+ T.type_alias do
2298
+ T.any(
2299
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent,
2300
+ Cerca::Internal::AnyHash
2301
+ )
2302
+ end
2303
+
2304
+ sig { returns(String) }
2305
+ attr_accessor :id
2306
+
2307
+ sig { returns(String) }
2308
+ attr_accessor :agent_id
2309
+
2310
+ sig do
2311
+ returns(Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data)
2312
+ end
2313
+ attr_reader :data
2314
+
2315
+ sig do
2316
+ params(
2317
+ data:
2318
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::OrHash
2319
+ ).void
2320
+ end
2321
+ attr_writer :data
2322
+
2323
+ sig { returns(Symbol) }
2324
+ attr_accessor :event
2325
+
2326
+ sig { returns(String) }
2327
+ attr_accessor :fleet_id
2328
+
2329
+ sig { returns(String) }
2330
+ attr_accessor :org_id
2331
+
2332
+ sig { returns(T.nilable(String)) }
2333
+ attr_accessor :thread_id
2334
+
2335
+ sig { returns(String) }
2336
+ attr_accessor :timestamp
2337
+
2338
+ sig do
2339
+ params(
2340
+ id: String,
2341
+ agent_id: String,
2342
+ data:
2343
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::OrHash,
2344
+ fleet_id: String,
2345
+ org_id: String,
2346
+ thread_id: T.nilable(String),
2347
+ timestamp: String,
2348
+ event: Symbol
2349
+ ).returns(T.attached_class)
2350
+ end
2351
+ def self.new(
2352
+ id:,
2353
+ agent_id:,
2354
+ data:,
2355
+ fleet_id:,
2356
+ org_id:,
2357
+ thread_id:,
2358
+ timestamp:,
2359
+ event: :"approval.granted"
2360
+ )
2361
+ end
2362
+
2363
+ sig do
2364
+ override.returns(
2365
+ {
2366
+ id: String,
2367
+ agent_id: String,
2368
+ data:
2369
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data,
2370
+ event: Symbol,
2371
+ fleet_id: String,
2372
+ org_id: String,
2373
+ thread_id: T.nilable(String),
2374
+ timestamp: String
2375
+ }
2376
+ )
2377
+ end
2378
+ def to_hash
2379
+ end
2380
+
2381
+ class Data < Cerca::Internal::Type::BaseModel
2382
+ OrHash =
2383
+ T.type_alias do
2384
+ T.any(
2385
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data,
2386
+ Cerca::Internal::AnyHash
2387
+ )
2388
+ end
2389
+
2390
+ sig { returns(String) }
2391
+ attr_accessor :grant_id
2392
+
2393
+ sig do
2394
+ returns(
2395
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::TaggedSymbol
2396
+ )
2397
+ end
2398
+ attr_accessor :scope
2399
+
2400
+ sig { returns(String) }
2401
+ attr_accessor :tool_name
2402
+
2403
+ sig { returns(T.nilable(String)) }
2404
+ attr_reader :thread_id
2405
+
2406
+ sig { params(thread_id: String).void }
2407
+ attr_writer :thread_id
2408
+
2409
+ sig do
2410
+ params(
2411
+ grant_id: String,
2412
+ scope:
2413
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::OrSymbol,
2414
+ tool_name: String,
2415
+ thread_id: String
2416
+ ).returns(T.attached_class)
2417
+ end
2418
+ def self.new(grant_id:, scope:, tool_name:, thread_id: nil)
2419
+ end
2420
+
2421
+ sig do
2422
+ override.returns(
2423
+ {
2424
+ grant_id: String,
2425
+ scope:
2426
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::TaggedSymbol,
2427
+ tool_name: String,
2428
+ thread_id: String
2429
+ }
2430
+ )
2431
+ end
2432
+ def to_hash
2433
+ end
2434
+
2435
+ module Scope
2436
+ extend Cerca::Internal::Type::Enum
2437
+
2438
+ TaggedSymbol =
2439
+ T.type_alias do
2440
+ T.all(
2441
+ Symbol,
2442
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope
2443
+ )
2444
+ end
2445
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2446
+
2447
+ THREAD =
2448
+ T.let(
2449
+ :thread,
2450
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::TaggedSymbol
2451
+ )
2452
+ AGENT =
2453
+ T.let(
2454
+ :agent,
2455
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::TaggedSymbol
2456
+ )
2457
+
2458
+ sig do
2459
+ override.returns(
2460
+ T::Array[
2461
+ Cerca::RuntimeWebhookEvent::ApprovalGrantedWebhookEvent::Data::Scope::TaggedSymbol
2462
+ ]
2463
+ )
2464
+ end
2465
+ def self.values
2466
+ end
2467
+ end
2468
+ end
2469
+ end
2470
+
2471
+ class ScheduleCreatedWebhookEvent < Cerca::Internal::Type::BaseModel
2472
+ OrHash =
2473
+ T.type_alias do
2474
+ T.any(
2475
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent,
2476
+ Cerca::Internal::AnyHash
2477
+ )
2478
+ end
2479
+
2480
+ sig { returns(String) }
2481
+ attr_accessor :id
2482
+
2483
+ sig { returns(String) }
2484
+ attr_accessor :agent_id
2485
+
2486
+ sig do
2487
+ returns(Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent::Data)
2488
+ end
2489
+ attr_reader :data
2490
+
2491
+ sig do
2492
+ params(
2493
+ data:
2494
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent::Data::OrHash
2495
+ ).void
2496
+ end
2497
+ attr_writer :data
2498
+
2499
+ sig { returns(Symbol) }
2500
+ attr_accessor :event
2501
+
2502
+ sig { returns(String) }
2503
+ attr_accessor :fleet_id
2504
+
2505
+ sig { returns(String) }
2506
+ attr_accessor :org_id
2507
+
2508
+ sig { returns(T.nilable(String)) }
2509
+ attr_accessor :thread_id
2510
+
2511
+ sig { returns(String) }
2512
+ attr_accessor :timestamp
2513
+
2514
+ sig do
2515
+ params(
2516
+ id: String,
2517
+ agent_id: String,
2518
+ data:
2519
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent::Data::OrHash,
2520
+ fleet_id: String,
2521
+ org_id: String,
2522
+ thread_id: T.nilable(String),
2523
+ timestamp: String,
2524
+ event: Symbol
2525
+ ).returns(T.attached_class)
2526
+ end
2527
+ def self.new(
2528
+ id:,
2529
+ agent_id:,
2530
+ data:,
2531
+ fleet_id:,
2532
+ org_id:,
2533
+ thread_id:,
2534
+ timestamp:,
2535
+ event: :"schedule.created"
2536
+ )
2537
+ end
2538
+
2539
+ sig do
2540
+ override.returns(
2541
+ {
2542
+ id: String,
2543
+ agent_id: String,
2544
+ data:
2545
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent::Data,
2546
+ event: Symbol,
2547
+ fleet_id: String,
2548
+ org_id: String,
2549
+ thread_id: T.nilable(String),
2550
+ timestamp: String
2551
+ }
2552
+ )
2553
+ end
2554
+ def to_hash
2555
+ end
2556
+
2557
+ class Data < Cerca::Internal::Type::BaseModel
2558
+ OrHash =
2559
+ T.type_alias do
2560
+ T.any(
2561
+ Cerca::RuntimeWebhookEvent::ScheduleCreatedWebhookEvent::Data,
2562
+ Cerca::Internal::AnyHash
2563
+ )
2564
+ end
2565
+
2566
+ sig { returns(String) }
2567
+ attr_accessor :name
2568
+
2569
+ sig { returns(String) }
2570
+ attr_accessor :schedule_id
2571
+
2572
+ sig { returns(T.nilable(String)) }
2573
+ attr_reader :cron
2574
+
2575
+ sig { params(cron: String).void }
2576
+ attr_writer :cron
2577
+
2578
+ sig { returns(T.nilable(String)) }
2579
+ attr_reader :run_at
2580
+
2581
+ sig { params(run_at: String).void }
2582
+ attr_writer :run_at
2583
+
2584
+ sig do
2585
+ params(
2586
+ name: String,
2587
+ schedule_id: String,
2588
+ cron: String,
2589
+ run_at: String
2590
+ ).returns(T.attached_class)
2591
+ end
2592
+ def self.new(name:, schedule_id:, cron: nil, run_at: nil)
2593
+ end
2594
+
2595
+ sig do
2596
+ override.returns(
2597
+ {
2598
+ name: String,
2599
+ schedule_id: String,
2600
+ cron: String,
2601
+ run_at: String
2602
+ }
2603
+ )
2604
+ end
2605
+ def to_hash
2606
+ end
2607
+ end
2608
+ end
2609
+
2610
+ class ScheduleDeletedWebhookEvent < Cerca::Internal::Type::BaseModel
2611
+ OrHash =
2612
+ T.type_alias do
2613
+ T.any(
2614
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent,
2615
+ Cerca::Internal::AnyHash
2616
+ )
2617
+ end
2618
+
2619
+ sig { returns(String) }
2620
+ attr_accessor :id
2621
+
2622
+ sig { returns(String) }
2623
+ attr_accessor :agent_id
2624
+
2625
+ sig do
2626
+ returns(Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent::Data)
2627
+ end
2628
+ attr_reader :data
2629
+
2630
+ sig do
2631
+ params(
2632
+ data:
2633
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent::Data::OrHash
2634
+ ).void
2635
+ end
2636
+ attr_writer :data
2637
+
2638
+ sig { returns(Symbol) }
2639
+ attr_accessor :event
2640
+
2641
+ sig { returns(String) }
2642
+ attr_accessor :fleet_id
2643
+
2644
+ sig { returns(String) }
2645
+ attr_accessor :org_id
2646
+
2647
+ sig { returns(T.nilable(String)) }
2648
+ attr_accessor :thread_id
2649
+
2650
+ sig { returns(String) }
2651
+ attr_accessor :timestamp
2652
+
2653
+ sig do
2654
+ params(
2655
+ id: String,
2656
+ agent_id: String,
2657
+ data:
2658
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent::Data::OrHash,
2659
+ fleet_id: String,
2660
+ org_id: String,
2661
+ thread_id: T.nilable(String),
2662
+ timestamp: String,
2663
+ event: Symbol
2664
+ ).returns(T.attached_class)
2665
+ end
2666
+ def self.new(
2667
+ id:,
2668
+ agent_id:,
2669
+ data:,
2670
+ fleet_id:,
2671
+ org_id:,
2672
+ thread_id:,
2673
+ timestamp:,
2674
+ event: :"schedule.deleted"
2675
+ )
2676
+ end
2677
+
2678
+ sig do
2679
+ override.returns(
2680
+ {
2681
+ id: String,
2682
+ agent_id: String,
2683
+ data:
2684
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent::Data,
2685
+ event: Symbol,
2686
+ fleet_id: String,
2687
+ org_id: String,
2688
+ thread_id: T.nilable(String),
2689
+ timestamp: String
2690
+ }
2691
+ )
2692
+ end
2693
+ def to_hash
2694
+ end
2695
+
2696
+ class Data < Cerca::Internal::Type::BaseModel
2697
+ OrHash =
2698
+ T.type_alias do
2699
+ T.any(
2700
+ Cerca::RuntimeWebhookEvent::ScheduleDeletedWebhookEvent::Data,
2701
+ Cerca::Internal::AnyHash
2702
+ )
2703
+ end
2704
+
2705
+ sig { returns(String) }
2706
+ attr_accessor :schedule_id
2707
+
2708
+ sig { params(schedule_id: String).returns(T.attached_class) }
2709
+ def self.new(schedule_id:)
2710
+ end
2711
+
2712
+ sig { override.returns({ schedule_id: String }) }
2713
+ def to_hash
2714
+ end
2715
+ end
2716
+ end
2717
+
2718
+ class ScheduleTriggeredWebhookEvent < Cerca::Internal::Type::BaseModel
2719
+ OrHash =
2720
+ T.type_alias do
2721
+ T.any(
2722
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent,
2723
+ Cerca::Internal::AnyHash
2724
+ )
2725
+ end
2726
+
2727
+ sig { returns(String) }
2728
+ attr_accessor :id
2729
+
2730
+ sig { returns(String) }
2731
+ attr_accessor :agent_id
2732
+
2733
+ sig do
2734
+ returns(
2735
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent::Data
2736
+ )
2737
+ end
2738
+ attr_reader :data
2739
+
2740
+ sig do
2741
+ params(
2742
+ data:
2743
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent::Data::OrHash
2744
+ ).void
2745
+ end
2746
+ attr_writer :data
2747
+
2748
+ sig { returns(Symbol) }
2749
+ attr_accessor :event
2750
+
2751
+ sig { returns(String) }
2752
+ attr_accessor :fleet_id
2753
+
2754
+ sig { returns(String) }
2755
+ attr_accessor :org_id
2756
+
2757
+ sig { returns(T.nilable(String)) }
2758
+ attr_accessor :thread_id
2759
+
2760
+ sig { returns(String) }
2761
+ attr_accessor :timestamp
2762
+
2763
+ sig do
2764
+ params(
2765
+ id: String,
2766
+ agent_id: String,
2767
+ data:
2768
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent::Data::OrHash,
2769
+ fleet_id: String,
2770
+ org_id: String,
2771
+ thread_id: T.nilable(String),
2772
+ timestamp: String,
2773
+ event: Symbol
2774
+ ).returns(T.attached_class)
2775
+ end
2776
+ def self.new(
2777
+ id:,
2778
+ agent_id:,
2779
+ data:,
2780
+ fleet_id:,
2781
+ org_id:,
2782
+ thread_id:,
2783
+ timestamp:,
2784
+ event: :"schedule.triggered"
2785
+ )
2786
+ end
2787
+
2788
+ sig do
2789
+ override.returns(
2790
+ {
2791
+ id: String,
2792
+ agent_id: String,
2793
+ data:
2794
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent::Data,
2795
+ event: Symbol,
2796
+ fleet_id: String,
2797
+ org_id: String,
2798
+ thread_id: T.nilable(String),
2799
+ timestamp: String
2800
+ }
2801
+ )
2802
+ end
2803
+ def to_hash
2804
+ end
2805
+
2806
+ class Data < Cerca::Internal::Type::BaseModel
2807
+ OrHash =
2808
+ T.type_alias do
2809
+ T.any(
2810
+ Cerca::RuntimeWebhookEvent::ScheduleTriggeredWebhookEvent::Data,
2811
+ Cerca::Internal::AnyHash
2812
+ )
2813
+ end
2814
+
2815
+ sig { returns(String) }
2816
+ attr_accessor :schedule_id
2817
+
2818
+ sig { returns(String) }
2819
+ attr_accessor :thread_id
2820
+
2821
+ sig do
2822
+ params(schedule_id: String, thread_id: String).returns(
2823
+ T.attached_class
2824
+ )
2825
+ end
2826
+ def self.new(schedule_id:, thread_id:)
2827
+ end
2828
+
2829
+ sig { override.returns({ schedule_id: String, thread_id: String }) }
2830
+ def to_hash
2831
+ end
2832
+ end
2833
+ end
2834
+
2835
+ class ConnectionAttachedWebhookEvent < Cerca::Internal::Type::BaseModel
2836
+ OrHash =
2837
+ T.type_alias do
2838
+ T.any(
2839
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent,
2840
+ Cerca::Internal::AnyHash
2841
+ )
2842
+ end
2843
+
2844
+ sig { returns(String) }
2845
+ attr_accessor :id
2846
+
2847
+ sig { returns(String) }
2848
+ attr_accessor :agent_id
2849
+
2850
+ sig do
2851
+ returns(
2852
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent::Data
2853
+ )
2854
+ end
2855
+ attr_reader :data
2856
+
2857
+ sig do
2858
+ params(
2859
+ data:
2860
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent::Data::OrHash
2861
+ ).void
2862
+ end
2863
+ attr_writer :data
2864
+
2865
+ sig { returns(Symbol) }
2866
+ attr_accessor :event
2867
+
2868
+ sig { returns(String) }
2869
+ attr_accessor :fleet_id
2870
+
2871
+ sig { returns(String) }
2872
+ attr_accessor :org_id
2873
+
2874
+ sig { returns(T.nilable(String)) }
2875
+ attr_accessor :thread_id
2876
+
2877
+ sig { returns(String) }
2878
+ attr_accessor :timestamp
2879
+
2880
+ sig do
2881
+ params(
2882
+ id: String,
2883
+ agent_id: String,
2884
+ data:
2885
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent::Data::OrHash,
2886
+ fleet_id: String,
2887
+ org_id: String,
2888
+ thread_id: T.nilable(String),
2889
+ timestamp: String,
2890
+ event: Symbol
2891
+ ).returns(T.attached_class)
2892
+ end
2893
+ def self.new(
2894
+ id:,
2895
+ agent_id:,
2896
+ data:,
2897
+ fleet_id:,
2898
+ org_id:,
2899
+ thread_id:,
2900
+ timestamp:,
2901
+ event: :"connection.attached"
2902
+ )
2903
+ end
2904
+
2905
+ sig do
2906
+ override.returns(
2907
+ {
2908
+ id: String,
2909
+ agent_id: String,
2910
+ data:
2911
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent::Data,
2912
+ event: Symbol,
2913
+ fleet_id: String,
2914
+ org_id: String,
2915
+ thread_id: T.nilable(String),
2916
+ timestamp: String
2917
+ }
2918
+ )
2919
+ end
2920
+ def to_hash
2921
+ end
2922
+
2923
+ class Data < Cerca::Internal::Type::BaseModel
2924
+ OrHash =
2925
+ T.type_alias do
2926
+ T.any(
2927
+ Cerca::RuntimeWebhookEvent::ConnectionAttachedWebhookEvent::Data,
2928
+ Cerca::Internal::AnyHash
2929
+ )
2930
+ end
2931
+
2932
+ sig { returns(String) }
2933
+ attr_accessor :connection_id
2934
+
2935
+ sig { returns(String) }
2936
+ attr_accessor :provider
2937
+
2938
+ sig do
2939
+ params(connection_id: String, provider: String).returns(
2940
+ T.attached_class
2941
+ )
2942
+ end
2943
+ def self.new(connection_id:, provider:)
2944
+ end
2945
+
2946
+ sig { override.returns({ connection_id: String, provider: String }) }
2947
+ def to_hash
2948
+ end
2949
+ end
2950
+ end
2951
+
2952
+ class ConnectionDetachedWebhookEvent < Cerca::Internal::Type::BaseModel
2953
+ OrHash =
2954
+ T.type_alias do
2955
+ T.any(
2956
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent,
2957
+ Cerca::Internal::AnyHash
2958
+ )
2959
+ end
2960
+
2961
+ sig { returns(String) }
2962
+ attr_accessor :id
2963
+
2964
+ sig { returns(String) }
2965
+ attr_accessor :agent_id
2966
+
2967
+ sig do
2968
+ returns(
2969
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent::Data
2970
+ )
2971
+ end
2972
+ attr_reader :data
2973
+
2974
+ sig do
2975
+ params(
2976
+ data:
2977
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent::Data::OrHash
2978
+ ).void
2979
+ end
2980
+ attr_writer :data
2981
+
2982
+ sig { returns(Symbol) }
2983
+ attr_accessor :event
2984
+
2985
+ sig { returns(String) }
2986
+ attr_accessor :fleet_id
2987
+
2988
+ sig { returns(String) }
2989
+ attr_accessor :org_id
2990
+
2991
+ sig { returns(T.nilable(String)) }
2992
+ attr_accessor :thread_id
2993
+
2994
+ sig { returns(String) }
2995
+ attr_accessor :timestamp
2996
+
2997
+ sig do
2998
+ params(
2999
+ id: String,
3000
+ agent_id: String,
3001
+ data:
3002
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent::Data::OrHash,
3003
+ fleet_id: String,
3004
+ org_id: String,
3005
+ thread_id: T.nilable(String),
3006
+ timestamp: String,
3007
+ event: Symbol
3008
+ ).returns(T.attached_class)
3009
+ end
3010
+ def self.new(
3011
+ id:,
3012
+ agent_id:,
3013
+ data:,
3014
+ fleet_id:,
3015
+ org_id:,
3016
+ thread_id:,
3017
+ timestamp:,
3018
+ event: :"connection.detached"
3019
+ )
3020
+ end
3021
+
3022
+ sig do
3023
+ override.returns(
3024
+ {
3025
+ id: String,
3026
+ agent_id: String,
3027
+ data:
3028
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent::Data,
3029
+ event: Symbol,
3030
+ fleet_id: String,
3031
+ org_id: String,
3032
+ thread_id: T.nilable(String),
3033
+ timestamp: String
3034
+ }
3035
+ )
3036
+ end
3037
+ def to_hash
3038
+ end
3039
+
3040
+ class Data < Cerca::Internal::Type::BaseModel
3041
+ OrHash =
3042
+ T.type_alias do
3043
+ T.any(
3044
+ Cerca::RuntimeWebhookEvent::ConnectionDetachedWebhookEvent::Data,
3045
+ Cerca::Internal::AnyHash
3046
+ )
3047
+ end
3048
+
3049
+ sig { returns(String) }
3050
+ attr_accessor :connection_id
3051
+
3052
+ sig { returns(String) }
3053
+ attr_accessor :provider
3054
+
3055
+ sig do
3056
+ params(connection_id: String, provider: String).returns(
3057
+ T.attached_class
3058
+ )
3059
+ end
3060
+ def self.new(connection_id:, provider:)
3061
+ end
3062
+
3063
+ sig { override.returns({ connection_id: String, provider: String }) }
3064
+ def to_hash
3065
+ end
3066
+ end
3067
+ end
3068
+
3069
+ class WebhookTestWebhookEvent < Cerca::Internal::Type::BaseModel
3070
+ OrHash =
3071
+ T.type_alias do
3072
+ T.any(
3073
+ Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent,
3074
+ Cerca::Internal::AnyHash
3075
+ )
3076
+ end
3077
+
3078
+ sig { returns(String) }
3079
+ attr_accessor :id
3080
+
3081
+ sig { returns(String) }
3082
+ attr_accessor :agent_id
3083
+
3084
+ sig do
3085
+ returns(Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent::Data)
3086
+ end
3087
+ attr_reader :data
3088
+
3089
+ sig do
3090
+ params(
3091
+ data:
3092
+ Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent::Data::OrHash
3093
+ ).void
3094
+ end
3095
+ attr_writer :data
3096
+
3097
+ sig { returns(Symbol) }
3098
+ attr_accessor :event
3099
+
3100
+ sig { returns(String) }
3101
+ attr_accessor :fleet_id
3102
+
3103
+ sig { returns(String) }
3104
+ attr_accessor :org_id
3105
+
3106
+ sig { returns(T.nilable(String)) }
3107
+ attr_accessor :thread_id
3108
+
3109
+ sig { returns(String) }
3110
+ attr_accessor :timestamp
3111
+
3112
+ sig do
3113
+ params(
3114
+ id: String,
3115
+ agent_id: String,
3116
+ data:
3117
+ Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent::Data::OrHash,
3118
+ fleet_id: String,
3119
+ org_id: String,
3120
+ thread_id: T.nilable(String),
3121
+ timestamp: String,
3122
+ event: Symbol
3123
+ ).returns(T.attached_class)
3124
+ end
3125
+ def self.new(
3126
+ id:,
3127
+ agent_id:,
3128
+ data:,
3129
+ fleet_id:,
3130
+ org_id:,
3131
+ thread_id:,
3132
+ timestamp:,
3133
+ event: :"webhook.test"
3134
+ )
3135
+ end
3136
+
3137
+ sig do
3138
+ override.returns(
3139
+ {
3140
+ id: String,
3141
+ agent_id: String,
3142
+ data: Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent::Data,
3143
+ event: Symbol,
3144
+ fleet_id: String,
3145
+ org_id: String,
3146
+ thread_id: T.nilable(String),
3147
+ timestamp: String
3148
+ }
3149
+ )
3150
+ end
3151
+ def to_hash
3152
+ end
3153
+
3154
+ class Data < Cerca::Internal::Type::BaseModel
3155
+ OrHash =
3156
+ T.type_alias do
3157
+ T.any(
3158
+ Cerca::RuntimeWebhookEvent::WebhookTestWebhookEvent::Data,
3159
+ Cerca::Internal::AnyHash
3160
+ )
3161
+ end
3162
+
3163
+ sig { returns(T.attached_class) }
3164
+ def self.new
3165
+ end
3166
+
3167
+ sig { override.returns({}) }
3168
+ def to_hash
3169
+ end
3170
+ end
3171
+ end
3172
+
3173
+ sig { override.returns(T::Array[Cerca::RuntimeWebhookEvent::Variants]) }
3174
+ def self.variants
3175
+ end
3176
+ end
3177
+ end
3178
+ end