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,233 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cerca
4
+ module Resources
5
+ class Threads
6
+ # Some parameter documentations has been truncated, see
7
+ # {Cerca::Models::ThreadCreateParams} for more details.
8
+ #
9
+ # Create thread
10
+ #
11
+ # @overload create(agent_id, instructions: nil, message: nil, model: nil, system_prompt: nil, tools: nil, request_options: {})
12
+ #
13
+ # @param agent_id [String]
14
+ #
15
+ # @param instructions [String]
16
+ #
17
+ # @param message [String]
18
+ #
19
+ # @param model [String]
20
+ #
21
+ # @param system_prompt [String] Deprecated alias for `instructions`; accepted for backwards compatibility.
22
+ #
23
+ # @param tools [Array<String>] Per-thread tool subset. Omit to inherit the agent's full effective tools; pass [
24
+ #
25
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
26
+ #
27
+ # @return [Cerca::Models::Thread]
28
+ #
29
+ # @see Cerca::Models::ThreadCreateParams
30
+ def create(agent_id, params = {})
31
+ parsed, options = Cerca::ThreadCreateParams.dump_request(params)
32
+ @client.request(
33
+ method: :post,
34
+ path: ["agents/%1$s/threads", agent_id],
35
+ body: parsed,
36
+ model: Cerca::Thread,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Retrieve thread
42
+ #
43
+ # @overload retrieve(agent_id, thread_id, debug: nil, include_messages: nil, request_options: {})
44
+ #
45
+ # @param agent_id [String]
46
+ #
47
+ # @param thread_id [String]
48
+ #
49
+ # @param debug [Symbol, Cerca::Models::ThreadRetrieveParams::Debug] When true, includes debug-only compiled context fields.
50
+ #
51
+ # @param include_messages [Symbol, Cerca::Models::ThreadRetrieveParams::IncludeMessages] When true, includes message content in the thread detail.
52
+ #
53
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
54
+ #
55
+ # @return [Cerca::Models::Thread]
56
+ #
57
+ # @see Cerca::Models::ThreadRetrieveParams
58
+ def retrieve(agent_id, thread_id, params = {})
59
+ parsed, options = Cerca::ThreadRetrieveParams.dump_request(params)
60
+ query = Cerca::Internal::Util.encode_query_params(parsed)
61
+ @client.request(
62
+ method: :get,
63
+ path: ["agents/%1$s/threads/%2$s", agent_id, thread_id],
64
+ query: query.transform_keys(include_messages: "includeMessages"),
65
+ model: Cerca::Thread,
66
+ options: options
67
+ )
68
+ end
69
+
70
+ # Some parameter documentations has been truncated, see
71
+ # {Cerca::Models::ThreadListParams} for more details.
72
+ #
73
+ # List threads
74
+ #
75
+ # @overload list(agent_id, cursor: nil, limit: nil, schedule_id: nil, status: nil, request_options: {})
76
+ #
77
+ # @param agent_id [String]
78
+ #
79
+ # @param cursor [String] Opaque pagination cursor returned by a previous request.
80
+ #
81
+ # @param limit [String] Maximum number of items to return. Defaults to 20 and preserves parseInt semanti
82
+ #
83
+ # @param schedule_id [String] Optional schedule id filter.
84
+ #
85
+ # @param status [Symbol, Cerca::Models::Status] Optional thread status filter.
86
+ #
87
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
88
+ #
89
+ # @return [Cerca::Internal::ThreadsCursorPage<Cerca::Models::ThreadSummary>]
90
+ #
91
+ # @see Cerca::Models::ThreadListParams
92
+ def list(agent_id, params = {})
93
+ parsed, options = Cerca::ThreadListParams.dump_request(params)
94
+ query = Cerca::Internal::Util.encode_query_params(parsed)
95
+ @client.request(
96
+ method: :get,
97
+ path: ["agents/%1$s/threads", agent_id],
98
+ query: query.transform_keys(schedule_id: "scheduleId"),
99
+ page: Cerca::Internal::ThreadsCursorPage,
100
+ model: Cerca::ThreadSummary,
101
+ options: options
102
+ )
103
+ end
104
+
105
+ # Cancel a running or awaiting thread. The underlying runtime treats repeat
106
+ # cancellation as an idempotent lifecycle operation when possible.
107
+ #
108
+ # @overload cancel(agent_id, thread_id, request_options: {})
109
+ #
110
+ # @param agent_id [String]
111
+ # @param thread_id [String]
112
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
113
+ #
114
+ # @return [Cerca::Models::Thread]
115
+ #
116
+ # @see Cerca::Models::ThreadCancelParams
117
+ def cancel(agent_id, thread_id, params = {})
118
+ @client.request(
119
+ method: :post,
120
+ path: ["agents/%1$s/threads/%2$s/cancel", agent_id, thread_id],
121
+ model: Cerca::Thread,
122
+ options: params[:request_options]
123
+ )
124
+ end
125
+
126
+ # Close an idle thread. Closing a running, awaiting, or already-closed thread
127
+ # returns a lifecycle conflict.
128
+ #
129
+ # @overload close(agent_id, thread_id, request_options: {})
130
+ #
131
+ # @param agent_id [String]
132
+ # @param thread_id [String]
133
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
134
+ #
135
+ # @return [Cerca::Models::Thread]
136
+ #
137
+ # @see Cerca::Models::ThreadCloseParams
138
+ def close(agent_id, thread_id, params = {})
139
+ @client.request(
140
+ method: :post,
141
+ path: ["agents/%1$s/threads/%2$s/close", agent_id, thread_id],
142
+ model: Cerca::Thread,
143
+ options: params[:request_options]
144
+ )
145
+ end
146
+
147
+ # Force context compaction for an idle thread. Compacting a running thread returns
148
+ # a lifecycle conflict.
149
+ #
150
+ # @overload compact(agent_id, thread_id, request_options: {})
151
+ #
152
+ # @param agent_id [String]
153
+ # @param thread_id [String]
154
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
155
+ #
156
+ # @return [Cerca::Models::Thread]
157
+ #
158
+ # @see Cerca::Models::ThreadCompactParams
159
+ def compact(agent_id, thread_id, params = {})
160
+ @client.request(
161
+ method: :post,
162
+ path: ["agents/%1$s/threads/%2$s/compact", agent_id, thread_id],
163
+ model: Cerca::Thread,
164
+ options: params[:request_options]
165
+ )
166
+ end
167
+
168
+ # Some parameter documentations has been truncated, see
169
+ # {Cerca::Models::ThreadStartTurnParams} for more details.
170
+ #
171
+ # Create turn
172
+ #
173
+ # @overload start_turn(agent_id, thread_id, message:, model: nil, tools: nil, request_options: {})
174
+ #
175
+ # @param agent_id [String]
176
+ #
177
+ # @param thread_id [String]
178
+ #
179
+ # @param message [String]
180
+ #
181
+ # @param model [String]
182
+ #
183
+ # @param tools [Array<String>] Per-turn tool subset. Omit to inherit the thread's current tools; pass [] to run
184
+ #
185
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
186
+ #
187
+ # @return [Cerca::Models::Turn]
188
+ #
189
+ # @see Cerca::Models::ThreadStartTurnParams
190
+ def start_turn(agent_id, thread_id, params)
191
+ parsed, options = Cerca::ThreadStartTurnParams.dump_request(params)
192
+ @client.request(
193
+ method: :post,
194
+ path: ["agents/%1$s/threads/%2$s/turns", agent_id, thread_id],
195
+ body: parsed,
196
+ model: Cerca::Turn,
197
+ options: options
198
+ )
199
+ end
200
+
201
+ # Steer a thread with another user message. Steering a closed thread returns a
202
+ # conflict; steering a running or awaiting thread queues the message.
203
+ #
204
+ # @overload steer(agent_id, thread_id, message:, request_options: {})
205
+ #
206
+ # @param agent_id [String]
207
+ # @param thread_id [String]
208
+ # @param message [String]
209
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
210
+ #
211
+ # @return [Cerca::Models::SteerResult]
212
+ #
213
+ # @see Cerca::Models::ThreadSteerParams
214
+ def steer(agent_id, thread_id, params)
215
+ parsed, options = Cerca::ThreadSteerParams.dump_request(params)
216
+ @client.request(
217
+ method: :post,
218
+ path: ["agents/%1$s/threads/%2$s/steer", agent_id, thread_id],
219
+ body: parsed,
220
+ model: Cerca::SteerResult,
221
+ options: options
222
+ )
223
+ end
224
+
225
+ # @api private
226
+ #
227
+ # @param client [Cerca::Client]
228
+ def initialize(client:)
229
+ @client = client
230
+ end
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cerca
4
+ module Resources
5
+ class Tools
6
+ # Create tool
7
+ #
8
+ # @overload create(fleet_id, body:, request_options: {})
9
+ #
10
+ # @param fleet_id [String]
11
+ # @param body [Cerca::Models::ToolCreateParams::Body::CreateHTTPToolSourceRequest, Cerca::Models::ToolCreateParams::Body::CreateMcpToolSourceRequest]
12
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [Cerca::Models::HTTPToolSource, Cerca::Models::McpToolSource]
15
+ #
16
+ # @see Cerca::Models::ToolCreateParams
17
+ def create(fleet_id, params)
18
+ parsed, options = Cerca::ToolCreateParams.dump_request(params)
19
+ @client.request(
20
+ method: :post,
21
+ path: ["fleets/%1$s/tools", fleet_id],
22
+ body: parsed[:body],
23
+ model: Cerca::ToolSource,
24
+ options: options
25
+ )
26
+ end
27
+
28
+ # Retrieve tool source
29
+ #
30
+ # @overload retrieve(fleet_id, source_id, request_options: {})
31
+ #
32
+ # @param fleet_id [String]
33
+ # @param source_id [String]
34
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [Cerca::Models::HTTPToolSource, Cerca::Models::McpToolSource]
37
+ #
38
+ # @see Cerca::Models::ToolRetrieveParams
39
+ def retrieve(fleet_id, source_id, params = {})
40
+ @client.request(
41
+ method: :get,
42
+ path: ["fleets/%1$s/tools/%2$s", fleet_id, source_id],
43
+ model: Cerca::ToolSource,
44
+ options: params[:request_options]
45
+ )
46
+ end
47
+
48
+ # Update tool source
49
+ #
50
+ # @overload update(fleet_id, source_id, body:, request_options: {})
51
+ #
52
+ # @param fleet_id [String]
53
+ # @param source_id [String]
54
+ # @param body [Cerca::Models::ToolUpdateParams::Body::UpdateHTTPToolSourceRequest, Cerca::Models::ToolUpdateParams::Body::UpdateMcpToolSourceRequest]
55
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
56
+ #
57
+ # @return [Cerca::Models::HTTPToolSource, Cerca::Models::McpToolSource]
58
+ #
59
+ # @see Cerca::Models::ToolUpdateParams
60
+ def update(fleet_id, source_id, params)
61
+ parsed, options = Cerca::ToolUpdateParams.dump_request(params)
62
+ @client.request(
63
+ method: :put,
64
+ path: ["fleets/%1$s/tools/%2$s", fleet_id, source_id],
65
+ body: parsed[:body],
66
+ model: Cerca::ToolSource,
67
+ options: options
68
+ )
69
+ end
70
+
71
+ # Some parameter documentations has been truncated, see
72
+ # {Cerca::Models::ToolListParams} for more details.
73
+ #
74
+ # List tools
75
+ #
76
+ # @overload list(fleet_id, cursor: nil, limit: nil, request_options: {})
77
+ #
78
+ # @param fleet_id [String]
79
+ #
80
+ # @param cursor [String] Opaque pagination cursor returned by a previous request.
81
+ #
82
+ # @param limit [String] Maximum number of items to return. Defaults to 20 and preserves parseInt semanti
83
+ #
84
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
85
+ #
86
+ # @return [Cerca::Internal::SourcesCursorPage<Cerca::Models::HTTPToolSource, Cerca::Models::McpToolSource>]
87
+ #
88
+ # @see Cerca::Models::ToolListParams
89
+ def list(fleet_id, params = {})
90
+ parsed, options = Cerca::ToolListParams.dump_request(params)
91
+ query = Cerca::Internal::Util.encode_query_params(parsed)
92
+ @client.request(
93
+ method: :get,
94
+ path: ["fleets/%1$s/tools", fleet_id],
95
+ query: query,
96
+ page: Cerca::Internal::SourcesCursorPage,
97
+ model: Cerca::ToolSource,
98
+ options: options
99
+ )
100
+ end
101
+
102
+ # Delete tool source
103
+ #
104
+ # @overload delete(fleet_id, source_id, request_options: {})
105
+ #
106
+ # @param fleet_id [String]
107
+ # @param source_id [String]
108
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
109
+ #
110
+ # @return [nil]
111
+ #
112
+ # @see Cerca::Models::ToolDeleteParams
113
+ def delete(fleet_id, source_id, params = {})
114
+ @client.request(
115
+ method: :delete,
116
+ path: ["fleets/%1$s/tools/%2$s", fleet_id, source_id],
117
+ model: NilClass,
118
+ options: params[:request_options]
119
+ )
120
+ end
121
+
122
+ # @api private
123
+ #
124
+ # @param client [Cerca::Client]
125
+ def initialize(client:)
126
+ @client = client
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,181 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cerca
4
+ module Resources
5
+ class Webhooks
6
+ # Create webhook
7
+ #
8
+ # @overload create(fleet_id, url:, events: nil, request_options: {})
9
+ #
10
+ # @param fleet_id [String]
11
+ #
12
+ # @param url [String] HTTPS endpoint that will receive webhook deliveries.
13
+ #
14
+ # @param events [Array<Symbol, Cerca::Models::WebhookSubscriptionEventType>] Event names to deliver. Omit to subscribe to all non-test events.
15
+ #
16
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [Cerca::Models::WebhookSubscriptionCreated]
19
+ #
20
+ # @see Cerca::Models::WebhookCreateParams
21
+ def create(fleet_id, params)
22
+ parsed, options = Cerca::WebhookCreateParams.dump_request(params)
23
+ @client.request(
24
+ method: :post,
25
+ path: ["fleets/%1$s/webhooks", fleet_id],
26
+ body: parsed,
27
+ model: Cerca::WebhookSubscriptionCreated,
28
+ options: options
29
+ )
30
+ end
31
+
32
+ # Retrieve webhook
33
+ #
34
+ # @overload retrieve(fleet_id, webhook_id, request_options: {})
35
+ #
36
+ # @param fleet_id [String]
37
+ # @param webhook_id [String]
38
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
39
+ #
40
+ # @return [Cerca::Models::WebhookSubscription]
41
+ #
42
+ # @see Cerca::Models::WebhookRetrieveParams
43
+ def retrieve(fleet_id, webhook_id, params = {})
44
+ @client.request(
45
+ method: :get,
46
+ path: ["fleets/%1$s/webhooks/%2$s", fleet_id, webhook_id],
47
+ model: Cerca::WebhookSubscription,
48
+ options: params[:request_options]
49
+ )
50
+ end
51
+
52
+ # Update webhook
53
+ #
54
+ # @overload update(fleet_id, webhook_id, enabled: nil, events: nil, url: nil, request_options: {})
55
+ #
56
+ # @param fleet_id [String]
57
+ #
58
+ # @param webhook_id [String]
59
+ #
60
+ # @param enabled [Boolean] Whether deliveries are enabled for this subscription.
61
+ #
62
+ # @param events [Array<Symbol, Cerca::Models::WebhookSubscriptionEventType>] Event names to deliver. Omit to subscribe to all non-test events.
63
+ #
64
+ # @param url [String] HTTPS endpoint that will receive webhook deliveries.
65
+ #
66
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
67
+ #
68
+ # @return [Cerca::Models::WebhookSubscription]
69
+ #
70
+ # @see Cerca::Models::WebhookUpdateParams
71
+ def update(fleet_id, webhook_id, params = {})
72
+ parsed, options = Cerca::WebhookUpdateParams.dump_request(params)
73
+ @client.request(
74
+ method: :put,
75
+ path: ["fleets/%1$s/webhooks/%2$s", fleet_id, webhook_id],
76
+ body: parsed,
77
+ model: Cerca::WebhookSubscription,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Some parameter documentations has been truncated, see
83
+ # {Cerca::Models::WebhookListParams} for more details.
84
+ #
85
+ # List webhooks
86
+ #
87
+ # @overload list(fleet_id, cursor: nil, limit: nil, request_options: {})
88
+ #
89
+ # @param fleet_id [String]
90
+ #
91
+ # @param cursor [String] Opaque pagination cursor returned by a previous request.
92
+ #
93
+ # @param limit [String] Maximum number of items to return. Defaults to 20 and preserves parseInt semanti
94
+ #
95
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
96
+ #
97
+ # @return [Cerca::Internal::SubscriptionsCursorPage<Cerca::Models::WebhookSubscription>]
98
+ #
99
+ # @see Cerca::Models::WebhookListParams
100
+ def list(fleet_id, params = {})
101
+ parsed, options = Cerca::WebhookListParams.dump_request(params)
102
+ query = Cerca::Internal::Util.encode_query_params(parsed)
103
+ @client.request(
104
+ method: :get,
105
+ path: ["fleets/%1$s/webhooks", fleet_id],
106
+ query: query,
107
+ page: Cerca::Internal::SubscriptionsCursorPage,
108
+ model: Cerca::WebhookSubscription,
109
+ options: options
110
+ )
111
+ end
112
+
113
+ # Delete webhook
114
+ #
115
+ # @overload delete(fleet_id, webhook_id, request_options: {})
116
+ #
117
+ # @param fleet_id [String]
118
+ # @param webhook_id [String]
119
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
120
+ #
121
+ # @return [nil]
122
+ #
123
+ # @see Cerca::Models::WebhookDeleteParams
124
+ def delete(fleet_id, webhook_id, params = {})
125
+ @client.request(
126
+ method: :delete,
127
+ path: ["fleets/%1$s/webhooks/%2$s", fleet_id, webhook_id],
128
+ model: NilClass,
129
+ options: params[:request_options]
130
+ )
131
+ end
132
+
133
+ # Rotate webhook secret
134
+ #
135
+ # @overload rotate(fleet_id, webhook_id, request_options: {})
136
+ #
137
+ # @param fleet_id [String]
138
+ # @param webhook_id [String]
139
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
140
+ #
141
+ # @return [Cerca::Models::WebhookSubscriptionCreated]
142
+ #
143
+ # @see Cerca::Models::WebhookRotateParams
144
+ def rotate(fleet_id, webhook_id, params = {})
145
+ @client.request(
146
+ method: :post,
147
+ path: ["fleets/%1$s/webhooks/%2$s/rotate", fleet_id, webhook_id],
148
+ model: Cerca::WebhookSubscriptionCreated,
149
+ options: params[:request_options]
150
+ )
151
+ end
152
+
153
+ # Send test webhook
154
+ #
155
+ # @overload test_(fleet_id, webhook_id, request_options: {})
156
+ #
157
+ # @param fleet_id [String]
158
+ # @param webhook_id [String]
159
+ # @param request_options [Cerca::RequestOptions, Hash{Symbol=>Object}, nil]
160
+ #
161
+ # @return [Cerca::Models::WebhookTestResponse]
162
+ #
163
+ # @see Cerca::Models::WebhookTestParams
164
+ def test_(fleet_id, webhook_id, params = {})
165
+ @client.request(
166
+ method: :post,
167
+ path: ["fleets/%1$s/webhooks/%2$s/test", fleet_id, webhook_id],
168
+ model: Cerca::Models::WebhookTestResponse,
169
+ options: params[:request_options]
170
+ )
171
+ end
172
+
173
+ # @api private
174
+ #
175
+ # @param client [Cerca::Client]
176
+ def initialize(client:)
177
+ @client = client
178
+ end
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cerca
4
+ VERSION = "0.1.0"
5
+ end