zavudev 0.20.0 → 0.21.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 (344) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/client.rb +20 -0
  5. data/lib/zavudev/models/agent_create_params.rb +278 -0
  6. data/lib/zavudev/models/agent_create_response.rb +17 -0
  7. data/lib/zavudev/models/{contact_dismiss_merge_suggestion_params.rb → agent_delete_params.rb} +6 -6
  8. data/lib/zavudev/models/agent_list_params.rb +26 -0
  9. data/lib/zavudev/models/agent_list_voices_params.rb +22 -0
  10. data/lib/zavudev/models/agent_list_voices_response.rb +57 -0
  11. data/lib/zavudev/models/agent_retrieve_params.rb +20 -0
  12. data/lib/zavudev/models/agent_retrieve_response.rb +17 -0
  13. data/lib/zavudev/models/agent_template_list_params.rb +14 -0
  14. data/lib/zavudev/models/agent_template_list_response.rb +77 -0
  15. data/lib/zavudev/models/agent_template_retrieve_params.rb +20 -0
  16. data/lib/zavudev/models/agent_template_retrieve_response.rb +144 -0
  17. data/lib/zavudev/models/agent_test_params.rb +91 -0
  18. data/lib/zavudev/models/agent_test_response.rb +117 -0
  19. data/lib/zavudev/models/agent_update_params.rb +295 -0
  20. data/lib/zavudev/models/agent_update_response.rb +17 -0
  21. data/lib/zavudev/models/agents/sender_connect_params.rb +31 -0
  22. data/lib/zavudev/models/agents/sender_connect_response.rb +19 -0
  23. data/lib/zavudev/models/agents/sender_disconnect_params.rb +28 -0
  24. data/lib/zavudev/models/call_create_params.rb +72 -0
  25. data/lib/zavudev/models/call_create_response.rb +262 -0
  26. data/lib/zavudev/models/call_hangup_params.rb +20 -0
  27. data/lib/zavudev/models/call_hangup_response.rb +262 -0
  28. data/lib/zavudev/models/call_list_params.rb +95 -0
  29. data/lib/zavudev/models/call_list_response.rb +251 -0
  30. data/lib/zavudev/models/call_retrieve_params.rb +20 -0
  31. data/lib/zavudev/models/call_retrieve_response.rb +262 -0
  32. data/lib/zavudev/models/contact.rb +1 -9
  33. data/lib/zavudev/models/contact_list_params.rb +42 -3
  34. data/lib/zavudev/models/contact_update_params.rb +14 -1
  35. data/lib/zavudev/models/conversation_list_messages_params.rb +36 -0
  36. data/lib/zavudev/models/conversation_list_params.rb +85 -0
  37. data/lib/zavudev/models/conversation_list_response.rb +226 -0
  38. data/lib/zavudev/models/conversation_mark_as_read_params.rb +20 -0
  39. data/lib/zavudev/models/conversation_mark_as_read_response.rb +245 -0
  40. data/lib/zavudev/models/conversation_retrieve_params.rb +20 -0
  41. data/lib/zavudev/models/conversation_retrieve_response.rb +244 -0
  42. data/lib/zavudev/models/email_domain_create_params.rb +22 -0
  43. data/lib/zavudev/models/email_domain_create_response.rb +134 -0
  44. data/lib/zavudev/models/email_domain_delete_params.rb +20 -0
  45. data/lib/zavudev/models/email_domain_list_params.rb +14 -0
  46. data/lib/zavudev/models/email_domain_list_response.rb +132 -0
  47. data/lib/zavudev/models/email_domain_retrieve_params.rb +20 -0
  48. data/lib/zavudev/models/email_domain_retrieve_response.rb +134 -0
  49. data/lib/zavudev/models/email_domain_verify_params.rb +20 -0
  50. data/lib/zavudev/models/email_domain_verify_response.rb +134 -0
  51. data/lib/zavudev/models/function_list_deployments_params.rb +26 -0
  52. data/lib/zavudev/models/function_list_deployments_response.rb +95 -0
  53. data/lib/zavudev/models/function_list_event_types_params.rb +14 -0
  54. data/lib/zavudev/models/function_list_event_types_response.rb +16 -0
  55. data/lib/zavudev/models/function_rollback_deployment_params.rb +29 -0
  56. data/lib/zavudev/models/function_rollback_deployment_response.rb +137 -0
  57. data/lib/zavudev/models/functions/git_link_deploy_now_params.rb +22 -0
  58. data/lib/zavudev/models/functions/git_link_deploy_now_response.rb +18 -0
  59. data/lib/zavudev/models/functions/git_link_link_params.rb +59 -0
  60. data/lib/zavudev/models/functions/git_link_link_response.rb +222 -0
  61. data/lib/zavudev/models/functions/git_link_retrieve_params.rb +22 -0
  62. data/lib/zavudev/models/functions/git_link_retrieve_response.rb +222 -0
  63. data/lib/zavudev/models/functions/git_link_unlink_params.rb +22 -0
  64. data/lib/zavudev/models/functions/git_link_update_params.rb +40 -0
  65. data/lib/zavudev/models/functions/git_link_update_response.rb +222 -0
  66. data/lib/zavudev/models/functions/trigger_create_params.rb +51 -0
  67. data/lib/zavudev/models/functions/trigger_create_response.rb +120 -0
  68. data/lib/zavudev/models/functions/trigger_delete_params.rb +22 -0
  69. data/lib/zavudev/models/functions/trigger_list_params.rb +22 -0
  70. data/lib/zavudev/models/functions/trigger_list_response.rb +105 -0
  71. data/lib/zavudev/models/functions/trigger_update_params.rb +28 -0
  72. data/lib/zavudev/models/functions/trigger_update_response.rb +24 -0
  73. data/lib/zavudev/models/introspect_validate_email_params.rb +30 -0
  74. data/lib/zavudev/models/introspect_validate_email_response.rb +145 -0
  75. data/lib/zavudev/models/message.rb +24 -1
  76. data/lib/zavudev/models/message_content.rb +148 -1
  77. data/lib/zavudev/models/message_list_attachments_params.rb +20 -0
  78. data/lib/zavudev/models/message_list_attachments_response.rb +90 -0
  79. data/lib/zavudev/models/phone_number_type.rb +4 -0
  80. data/lib/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_params.rb +38 -0
  81. data/lib/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_response.rb +22 -0
  82. data/lib/zavudev/models/senders/agent/knowledge_bases/document_update_document_params.rb +50 -0
  83. data/lib/zavudev/models/senders/agent/knowledge_bases/document_update_document_response.rb +22 -0
  84. data/lib/zavudev/models/senders/agent/tool_list_test_runs_params.rb +36 -0
  85. data/lib/zavudev/models/senders/agent/tool_list_test_runs_response.rb +101 -0
  86. data/lib/zavudev/models/senders/agent/tools/webhook_rotate_secret_params.rb +32 -0
  87. data/lib/zavudev/models/senders/telegram_connect_params.rb +31 -0
  88. data/lib/zavudev/models/senders/telegram_connect_response.rb +41 -0
  89. data/lib/zavudev/models/senders/telegram_disconnect_params.rb +22 -0
  90. data/lib/zavudev/models/template_sync_params.rb +26 -0
  91. data/lib/zavudev/models/template_sync_response.rb +63 -0
  92. data/lib/zavudev/models/url_escalate_params.rb +29 -0
  93. data/lib/zavudev/models/url_escalate_response.rb +22 -0
  94. data/lib/zavudev/models/webhook_event.rb +6 -1
  95. data/lib/zavudev/models.rb +60 -2
  96. data/lib/zavudev/resources/agent_templates.rb +56 -0
  97. data/lib/zavudev/resources/agents/senders.rb +70 -0
  98. data/lib/zavudev/resources/agents.rb +253 -0
  99. data/lib/zavudev/resources/broadcasts.rb +16 -6
  100. data/lib/zavudev/resources/calls.rb +147 -0
  101. data/lib/zavudev/resources/contacts.rb +19 -23
  102. data/lib/zavudev/resources/conversations.rb +124 -0
  103. data/lib/zavudev/resources/email_domains.rb +113 -0
  104. data/lib/zavudev/resources/functions/git_link.rb +151 -0
  105. data/lib/zavudev/resources/functions/triggers.rb +116 -0
  106. data/lib/zavudev/resources/functions.rb +82 -0
  107. data/lib/zavudev/resources/introspect.rb +33 -0
  108. data/lib/zavudev/resources/messages.rb +54 -0
  109. data/lib/zavudev/resources/number_10dlc/brands.rb +10 -5
  110. data/lib/zavudev/resources/number_10dlc/campaigns.rb +8 -7
  111. data/lib/zavudev/resources/senders/agent/knowledge_bases/documents.rb +71 -0
  112. data/lib/zavudev/resources/senders/agent/tools/webhook.rb +47 -0
  113. data/lib/zavudev/resources/senders/agent/tools.rb +37 -0
  114. data/lib/zavudev/resources/senders/telegram.rb +61 -0
  115. data/lib/zavudev/resources/senders.rb +4 -0
  116. data/lib/zavudev/resources/templates.rb +45 -0
  117. data/lib/zavudev/resources/urls.rb +25 -0
  118. data/lib/zavudev/version.rb +1 -1
  119. data/lib/zavudev.rb +93 -1
  120. data/rbi/zavudev/client.rbi +15 -0
  121. data/rbi/zavudev/models/agent_create_params.rbi +417 -0
  122. data/rbi/zavudev/models/agent_create_response.rbi +37 -0
  123. data/rbi/zavudev/models/agent_delete_params.rbi +35 -0
  124. data/rbi/zavudev/models/agent_list_params.rbi +49 -0
  125. data/rbi/zavudev/models/agent_list_voices_params.rbi +43 -0
  126. data/rbi/zavudev/models/agent_list_voices_response.rbi +95 -0
  127. data/rbi/zavudev/models/agent_retrieve_params.rbi +35 -0
  128. data/rbi/zavudev/models/agent_retrieve_response.rbi +37 -0
  129. data/rbi/zavudev/models/agent_template_list_params.rbi +27 -0
  130. data/rbi/zavudev/models/agent_template_list_response.rbi +153 -0
  131. data/rbi/zavudev/models/agent_template_retrieve_params.rbi +38 -0
  132. data/rbi/zavudev/models/agent_template_retrieve_response.rbi +266 -0
  133. data/rbi/zavudev/models/agent_test_params.rbi +161 -0
  134. data/rbi/zavudev/models/agent_test_response.rbi +176 -0
  135. data/rbi/zavudev/models/agent_update_params.rbi +441 -0
  136. data/rbi/zavudev/models/agent_update_response.rbi +37 -0
  137. data/rbi/zavudev/models/agents/sender_connect_params.rbi +54 -0
  138. data/rbi/zavudev/models/agents/sender_connect_response.rbi +39 -0
  139. data/rbi/zavudev/models/agents/sender_disconnect_params.rbi +48 -0
  140. data/rbi/zavudev/models/call_create_params.rbi +112 -0
  141. data/rbi/zavudev/models/call_create_response.rbi +466 -0
  142. data/rbi/zavudev/models/call_hangup_params.rbi +35 -0
  143. data/rbi/zavudev/models/call_hangup_response.rbi +466 -0
  144. data/rbi/zavudev/models/call_list_params.rbi +159 -0
  145. data/rbi/zavudev/models/call_list_response.rbi +405 -0
  146. data/rbi/zavudev/models/call_retrieve_params.rbi +35 -0
  147. data/rbi/zavudev/models/call_retrieve_response.rbi +472 -0
  148. data/rbi/zavudev/models/contact.rbi +0 -11
  149. data/rbi/zavudev/models/contact_list_params.rbi +56 -0
  150. data/rbi/zavudev/models/contact_update_params.rbi +12 -0
  151. data/rbi/zavudev/models/conversation_list_messages_params.rbi +64 -0
  152. data/rbi/zavudev/models/conversation_list_params.rbi +167 -0
  153. data/rbi/zavudev/models/conversation_list_response.rbi +367 -0
  154. data/rbi/zavudev/models/conversation_mark_as_read_params.rbi +38 -0
  155. data/rbi/zavudev/models/conversation_mark_as_read_response.rbi +436 -0
  156. data/rbi/zavudev/models/conversation_retrieve_params.rbi +35 -0
  157. data/rbi/zavudev/models/conversation_retrieve_response.rbi +436 -0
  158. data/rbi/zavudev/models/email_domain_create_params.rbi +40 -0
  159. data/rbi/zavudev/models/email_domain_create_response.rbi +259 -0
  160. data/rbi/zavudev/models/email_domain_delete_params.rbi +35 -0
  161. data/rbi/zavudev/models/email_domain_list_params.rbi +27 -0
  162. data/rbi/zavudev/models/email_domain_list_response.rbi +253 -0
  163. data/rbi/zavudev/models/email_domain_retrieve_params.rbi +35 -0
  164. data/rbi/zavudev/models/email_domain_retrieve_response.rbi +259 -0
  165. data/rbi/zavudev/models/email_domain_verify_params.rbi +35 -0
  166. data/rbi/zavudev/models/email_domain_verify_response.rbi +259 -0
  167. data/rbi/zavudev/models/function_list_deployments_params.rbi +49 -0
  168. data/rbi/zavudev/models/function_list_deployments_response.rbi +211 -0
  169. data/rbi/zavudev/models/function_list_event_types_params.rbi +30 -0
  170. data/rbi/zavudev/models/function_list_event_types_response.rbi +26 -0
  171. data/rbi/zavudev/models/function_rollback_deployment_params.rbi +52 -0
  172. data/rbi/zavudev/models/function_rollback_deployment_response.rbi +240 -0
  173. data/rbi/zavudev/models/functions/git_link_deploy_now_params.rbi +40 -0
  174. data/rbi/zavudev/models/functions/git_link_deploy_now_response.rbi +28 -0
  175. data/rbi/zavudev/models/functions/git_link_link_params.rbi +87 -0
  176. data/rbi/zavudev/models/functions/git_link_link_response.rbi +360 -0
  177. data/rbi/zavudev/models/functions/git_link_retrieve_params.rbi +40 -0
  178. data/rbi/zavudev/models/functions/git_link_retrieve_response.rbi +364 -0
  179. data/rbi/zavudev/models/functions/git_link_unlink_params.rbi +40 -0
  180. data/rbi/zavudev/models/functions/git_link_update_params.rbi +70 -0
  181. data/rbi/zavudev/models/functions/git_link_update_response.rbi +362 -0
  182. data/rbi/zavudev/models/functions/trigger_create_params.rbi +75 -0
  183. data/rbi/zavudev/models/functions/trigger_create_response.rbi +168 -0
  184. data/rbi/zavudev/models/functions/trigger_delete_params.rbi +40 -0
  185. data/rbi/zavudev/models/functions/trigger_list_params.rbi +40 -0
  186. data/rbi/zavudev/models/functions/trigger_list_response.rbi +152 -0
  187. data/rbi/zavudev/models/functions/trigger_update_params.rbi +48 -0
  188. data/rbi/zavudev/models/functions/trigger_update_response.rbi +33 -0
  189. data/rbi/zavudev/models/introspect_validate_email_params.rbi +60 -0
  190. data/rbi/zavudev/models/introspect_validate_email_response.rbi +328 -0
  191. data/rbi/zavudev/models/message.rbi +29 -0
  192. data/rbi/zavudev/models/message_content.rbi +260 -0
  193. data/rbi/zavudev/models/{contact_dismiss_merge_suggestion_params.rbi → message_list_attachments_params.rbi} +6 -6
  194. data/rbi/zavudev/models/message_list_attachments_response.rbi +136 -0
  195. data/rbi/zavudev/models/phone_number_type.rbi +4 -0
  196. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_params.rbi +57 -0
  197. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_response.rbi +47 -0
  198. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_update_document_params.rbi +80 -0
  199. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_update_document_response.rbi +47 -0
  200. data/rbi/zavudev/models/senders/agent/tool_list_test_runs_params.rbi +58 -0
  201. data/rbi/zavudev/models/senders/agent/tool_list_test_runs_response.rbi +152 -0
  202. data/rbi/zavudev/models/senders/agent/tools/webhook_rotate_secret_params.rbi +52 -0
  203. data/rbi/zavudev/models/senders/telegram_connect_params.rbi +54 -0
  204. data/rbi/zavudev/models/senders/telegram_connect_response.rbi +93 -0
  205. data/rbi/zavudev/models/senders/telegram_disconnect_params.rbi +40 -0
  206. data/rbi/zavudev/models/template_sync_params.rbi +45 -0
  207. data/rbi/zavudev/models/template_sync_response.rbi +86 -0
  208. data/rbi/zavudev/models/url_escalate_params.rbi +49 -0
  209. data/rbi/zavudev/models/url_escalate_response.rbi +36 -0
  210. data/rbi/zavudev/models/webhook_event.rbi +6 -1
  211. data/rbi/zavudev/models.rbi +62 -3
  212. data/rbi/zavudev/resources/agent_templates.rbi +36 -0
  213. data/rbi/zavudev/resources/agents/senders.rbi +50 -0
  214. data/rbi/zavudev/resources/agents.rbi +204 -0
  215. data/rbi/zavudev/resources/broadcasts.rbi +16 -6
  216. data/rbi/zavudev/resources/calls.rbi +132 -0
  217. data/rbi/zavudev/resources/contacts.rbi +34 -11
  218. data/rbi/zavudev/resources/conversations.rbi +98 -0
  219. data/rbi/zavudev/resources/email_domains.rbi +67 -0
  220. data/rbi/zavudev/resources/functions/git_link.rbi +116 -0
  221. data/rbi/zavudev/resources/functions/triggers.rbi +81 -0
  222. data/rbi/zavudev/resources/functions.rbi +55 -0
  223. data/rbi/zavudev/resources/introspect.rbi +26 -0
  224. data/rbi/zavudev/resources/messages.rbi +45 -0
  225. data/rbi/zavudev/resources/number_10dlc/brands.rbi +10 -5
  226. data/rbi/zavudev/resources/number_10dlc/campaigns.rbi +8 -7
  227. data/rbi/zavudev/resources/senders/agent/knowledge_bases/documents.rbi +48 -0
  228. data/rbi/zavudev/resources/senders/agent/tools/webhook.rbi +31 -0
  229. data/rbi/zavudev/resources/senders/agent/tools.rbi +25 -0
  230. data/rbi/zavudev/resources/senders/telegram.rbi +42 -0
  231. data/rbi/zavudev/resources/senders.rbi +3 -0
  232. data/rbi/zavudev/resources/templates.rbi +35 -0
  233. data/rbi/zavudev/resources/urls.rbi +17 -0
  234. data/sig/zavudev/client.rbs +10 -0
  235. data/sig/zavudev/models/agent_create_params.rbs +234 -0
  236. data/sig/zavudev/models/agent_create_response.rbs +13 -0
  237. data/sig/zavudev/models/agent_delete_params.rbs +23 -0
  238. data/sig/zavudev/models/agent_list_params.rbs +32 -0
  239. data/sig/zavudev/models/agent_list_voices_params.rbs +25 -0
  240. data/sig/zavudev/models/agent_list_voices_response.rbs +46 -0
  241. data/sig/zavudev/models/agent_retrieve_params.rbs +23 -0
  242. data/sig/zavudev/models/agent_retrieve_response.rbs +13 -0
  243. data/sig/zavudev/models/agent_template_list_params.rbs +15 -0
  244. data/sig/zavudev/models/agent_template_list_response.rbs +73 -0
  245. data/sig/zavudev/models/agent_template_retrieve_params.rbs +23 -0
  246. data/sig/zavudev/models/agent_template_retrieve_response.rbs +112 -0
  247. data/sig/zavudev/models/agent_test_params.rbs +87 -0
  248. data/sig/zavudev/models/agent_test_response.rbs +78 -0
  249. data/sig/zavudev/models/agent_update_params.rbs +259 -0
  250. data/sig/zavudev/models/agent_update_response.rbs +13 -0
  251. data/sig/zavudev/models/agents/sender_connect_params.rbs +30 -0
  252. data/sig/zavudev/models/agents/sender_connect_response.rbs +15 -0
  253. data/sig/zavudev/models/agents/sender_disconnect_params.rbs +30 -0
  254. data/sig/zavudev/models/call_create_params.rbs +61 -0
  255. data/sig/zavudev/models/call_create_response.rbs +194 -0
  256. data/sig/zavudev/models/call_hangup_params.rbs +23 -0
  257. data/sig/zavudev/models/call_hangup_response.rbs +194 -0
  258. data/sig/zavudev/models/call_list_params.rbs +89 -0
  259. data/sig/zavudev/models/call_list_response.rbs +183 -0
  260. data/sig/zavudev/models/call_retrieve_params.rbs +23 -0
  261. data/sig/zavudev/models/call_retrieve_response.rbs +196 -0
  262. data/sig/zavudev/models/contact.rbs +0 -7
  263. data/sig/zavudev/models/contact_list_params.rbs +19 -1
  264. data/sig/zavudev/models/contact_update_params.rbs +5 -0
  265. data/sig/zavudev/models/conversation_list_messages_params.rbs +36 -0
  266. data/sig/zavudev/models/conversation_list_params.rbs +83 -0
  267. data/sig/zavudev/models/conversation_list_response.rbs +184 -0
  268. data/sig/zavudev/models/conversation_mark_as_read_params.rbs +23 -0
  269. data/sig/zavudev/models/conversation_mark_as_read_response.rbs +201 -0
  270. data/sig/zavudev/models/conversation_retrieve_params.rbs +23 -0
  271. data/sig/zavudev/models/conversation_retrieve_response.rbs +201 -0
  272. data/sig/zavudev/models/email_domain_create_params.rbs +23 -0
  273. data/sig/zavudev/models/email_domain_create_response.rbs +116 -0
  274. data/sig/zavudev/models/email_domain_delete_params.rbs +23 -0
  275. data/sig/zavudev/models/email_domain_list_params.rbs +15 -0
  276. data/sig/zavudev/models/email_domain_list_response.rbs +116 -0
  277. data/sig/zavudev/models/email_domain_retrieve_params.rbs +23 -0
  278. data/sig/zavudev/models/email_domain_retrieve_response.rbs +116 -0
  279. data/sig/zavudev/models/email_domain_verify_params.rbs +23 -0
  280. data/sig/zavudev/models/email_domain_verify_response.rbs +116 -0
  281. data/sig/zavudev/models/function_list_deployments_params.rbs +30 -0
  282. data/sig/zavudev/models/function_list_deployments_response.rbs +107 -0
  283. data/sig/zavudev/models/function_list_event_types_params.rbs +15 -0
  284. data/sig/zavudev/models/function_list_event_types_response.rbs +13 -0
  285. data/sig/zavudev/models/function_rollback_deployment_params.rbs +28 -0
  286. data/sig/zavudev/models/function_rollback_deployment_response.rbs +117 -0
  287. data/sig/zavudev/models/functions/git_link_deploy_now_params.rbs +25 -0
  288. data/sig/zavudev/models/functions/git_link_deploy_now_response.rbs +15 -0
  289. data/sig/zavudev/models/functions/git_link_link_params.rbs +59 -0
  290. data/sig/zavudev/models/functions/git_link_link_response.rbs +159 -0
  291. data/sig/zavudev/models/functions/git_link_retrieve_params.rbs +25 -0
  292. data/sig/zavudev/models/functions/git_link_retrieve_response.rbs +159 -0
  293. data/sig/zavudev/models/functions/git_link_unlink_params.rbs +25 -0
  294. data/sig/zavudev/models/functions/git_link_update_params.rbs +47 -0
  295. data/sig/zavudev/models/functions/git_link_update_response.rbs +159 -0
  296. data/sig/zavudev/models/functions/trigger_create_params.rbs +45 -0
  297. data/sig/zavudev/models/functions/trigger_create_response.rbs +94 -0
  298. data/sig/zavudev/models/functions/trigger_delete_params.rbs +25 -0
  299. data/sig/zavudev/models/functions/trigger_list_params.rbs +25 -0
  300. data/sig/zavudev/models/functions/trigger_list_response.rbs +84 -0
  301. data/sig/zavudev/models/functions/trigger_update_params.rbs +30 -0
  302. data/sig/zavudev/models/functions/trigger_update_response.rbs +17 -0
  303. data/sig/zavudev/models/introspect_validate_email_params.rbs +32 -0
  304. data/sig/zavudev/models/introspect_validate_email_response.rbs +135 -0
  305. data/sig/zavudev/models/message.rbs +16 -0
  306. data/sig/zavudev/models/message_content.rbs +117 -0
  307. data/sig/zavudev/models/{contact_dismiss_merge_suggestion_params.rbs → message_list_attachments_params.rbs} +6 -6
  308. data/sig/zavudev/models/message_list_attachments_response.rbs +70 -0
  309. data/sig/zavudev/models/phone_number_type.rbs +2 -1
  310. data/sig/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_params.rbs +38 -0
  311. data/sig/zavudev/models/senders/agent/knowledge_bases/document_retrieve_document_response.rbs +22 -0
  312. data/sig/zavudev/models/senders/agent/knowledge_bases/document_update_document_params.rbs +56 -0
  313. data/sig/zavudev/models/senders/agent/knowledge_bases/document_update_document_response.rbs +22 -0
  314. data/sig/zavudev/models/senders/agent/tool_list_test_runs_params.rbs +38 -0
  315. data/sig/zavudev/models/senders/agent/tool_list_test_runs_response.rbs +83 -0
  316. data/sig/zavudev/models/senders/agent/tools/webhook_rotate_secret_params.rbs +34 -0
  317. data/sig/zavudev/models/senders/telegram_connect_params.rbs +30 -0
  318. data/sig/zavudev/models/senders/telegram_connect_response.rbs +49 -0
  319. data/sig/zavudev/models/senders/telegram_disconnect_params.rbs +25 -0
  320. data/sig/zavudev/models/template_sync_params.rbs +25 -0
  321. data/sig/zavudev/models/template_sync_response.rbs +45 -0
  322. data/sig/zavudev/models/url_escalate_params.rbs +28 -0
  323. data/sig/zavudev/models/url_escalate_response.rbs +15 -0
  324. data/sig/zavudev/models.rbs +60 -2
  325. data/sig/zavudev/resources/agent_templates.rbs +16 -0
  326. data/sig/zavudev/resources/agents/senders.rbs +21 -0
  327. data/sig/zavudev/resources/agents.rbs +72 -0
  328. data/sig/zavudev/resources/calls.rbs +35 -0
  329. data/sig/zavudev/resources/contacts.rbs +3 -5
  330. data/sig/zavudev/resources/conversations.rbs +33 -0
  331. data/sig/zavudev/resources/email_domains.rbs +31 -0
  332. data/sig/zavudev/resources/functions/git_link.rbs +42 -0
  333. data/sig/zavudev/resources/functions/triggers.rbs +33 -0
  334. data/sig/zavudev/resources/functions.rbs +20 -0
  335. data/sig/zavudev/resources/introspect.rbs +6 -0
  336. data/sig/zavudev/resources/messages.rbs +5 -0
  337. data/sig/zavudev/resources/senders/agent/knowledge_bases/documents.rbs +16 -0
  338. data/sig/zavudev/resources/senders/agent/tools/webhook.rbs +19 -0
  339. data/sig/zavudev/resources/senders/agent/tools.rbs +9 -0
  340. data/sig/zavudev/resources/senders/telegram.rbs +20 -0
  341. data/sig/zavudev/resources/senders.rbs +2 -0
  342. data/sig/zavudev/resources/templates.rbs +5 -0
  343. data/sig/zavudev/resources/urls.rbs +6 -0
  344. metadata +281 -5
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::AgentTemplates#retrieve
6
+ class AgentTemplateRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute template
8
+ # A fully rendered factory agent: the function files to scaffold plus the secrets
9
+ # it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by
10
+ # `npx zavudev agents pull`.
11
+ #
12
+ # @return [Zavudev::Models::AgentTemplateRetrieveResponse::Template]
13
+ required :template, -> { Zavudev::Models::AgentTemplateRetrieveResponse::Template }
14
+
15
+ # @!method initialize(template:)
16
+ # Some parameter documentations has been truncated, see
17
+ # {Zavudev::Models::AgentTemplateRetrieveResponse} for more details.
18
+ #
19
+ # @param template [Zavudev::Models::AgentTemplateRetrieveResponse::Template] A fully rendered factory agent: the function files to scaffold plus the secrets
20
+
21
+ # @see Zavudev::Models::AgentTemplateRetrieveResponse#template
22
+ class Template < Zavudev::Internal::Type::BaseModel
23
+ # @!attribute id
24
+ #
25
+ # @return [String]
26
+ required :id, String
27
+
28
+ # @!attribute category
29
+ #
30
+ # @return [Symbol, Zavudev::Models::AgentTemplateRetrieveResponse::Template::Category]
31
+ required :category, enum: -> { Zavudev::Models::AgentTemplateRetrieveResponse::Template::Category }
32
+
33
+ # @!attribute default_slug
34
+ #
35
+ # @return [String]
36
+ required :default_slug, String, api_name: :defaultSlug
37
+
38
+ # @!attribute dependencies
39
+ # npm dependencies for the scaffolded function.
40
+ #
41
+ # @return [Hash{Symbol=>String}]
42
+ required :dependencies, Zavudev::Internal::Type::HashOf[String]
43
+
44
+ # @!attribute files
45
+ #
46
+ # @return [Array<Zavudev::Models::AgentTemplateRetrieveResponse::Template::File>]
47
+ required :files,
48
+ -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Models::AgentTemplateRetrieveResponse::Template::File] }
49
+
50
+ # @!attribute name
51
+ #
52
+ # @return [String]
53
+ required :name, String
54
+
55
+ # @!attribute required_secrets
56
+ #
57
+ # @return [Array<Zavudev::Models::AgentTemplateRetrieveResponse::Template::RequiredSecret>]
58
+ required :required_secrets,
59
+ -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Models::AgentTemplateRetrieveResponse::Template::RequiredSecret] },
60
+ api_name: :requiredSecrets
61
+
62
+ # @!attribute summary
63
+ #
64
+ # @return [String]
65
+ required :summary, String
66
+
67
+ # @!attribute voice
68
+ #
69
+ # @return [Boolean]
70
+ required :voice, Zavudev::Internal::Type::Boolean
71
+
72
+ # @!method initialize(id:, category:, default_slug:, dependencies:, files:, name:, required_secrets:, summary:, voice:)
73
+ # A fully rendered factory agent: the function files to scaffold plus the secrets
74
+ # it needs. Returned by GET /v1/agent-templates/{templateId} and consumed by
75
+ # `npx zavudev agents pull`.
76
+ #
77
+ # @param id [String]
78
+ #
79
+ # @param category [Symbol, Zavudev::Models::AgentTemplateRetrieveResponse::Template::Category]
80
+ #
81
+ # @param default_slug [String]
82
+ #
83
+ # @param dependencies [Hash{Symbol=>String}] npm dependencies for the scaffolded function.
84
+ #
85
+ # @param files [Array<Zavudev::Models::AgentTemplateRetrieveResponse::Template::File>]
86
+ #
87
+ # @param name [String]
88
+ #
89
+ # @param required_secrets [Array<Zavudev::Models::AgentTemplateRetrieveResponse::Template::RequiredSecret>]
90
+ #
91
+ # @param summary [String]
92
+ #
93
+ # @param voice [Boolean]
94
+
95
+ # @see Zavudev::Models::AgentTemplateRetrieveResponse::Template#category
96
+ module Category
97
+ extend Zavudev::Internal::Type::Enum
98
+
99
+ SALES = :sales
100
+ SUPPORT = :support
101
+ FRONT_DESK = :frontDesk
102
+ OPS = :ops
103
+
104
+ # @!method self.values
105
+ # @return [Array<Symbol>]
106
+ end
107
+
108
+ class File < Zavudev::Internal::Type::BaseModel
109
+ # @!attribute content
110
+ # File contents to write verbatim.
111
+ #
112
+ # @return [String]
113
+ required :content, String
114
+
115
+ # @!attribute path
116
+ #
117
+ # @return [String]
118
+ required :path, String
119
+
120
+ # @!method initialize(content:, path:)
121
+ # @param content [String] File contents to write verbatim.
122
+ #
123
+ # @param path [String]
124
+ end
125
+
126
+ class RequiredSecret < Zavudev::Internal::Type::BaseModel
127
+ # @!attribute hint
128
+ #
129
+ # @return [String]
130
+ required :hint, String
131
+
132
+ # @!attribute key
133
+ #
134
+ # @return [String]
135
+ required :key, String
136
+
137
+ # @!method initialize(hint:, key:)
138
+ # @param hint [String]
139
+ # @param key [String]
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Agents#test_
6
+ class AgentTestParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute agent_id
11
+ #
12
+ # @return [String]
13
+ required :agent_id, String
14
+
15
+ # @!attribute message
16
+ # What to say to the agent.
17
+ #
18
+ # @return [String]
19
+ required :message, String
20
+
21
+ # @!attribute execute_tools
22
+ # Run the tools the agent calls instead of reporting the choice and stopping.
23
+ #
24
+ # Off by default because a tool handler talks to the outside world: a rehearsal
25
+ # that charges a card is not a rehearsal. Turn it on to exercise the loop that
26
+ # actually matters — the model picks a tool, the handler answers, the model
27
+ # replies with the result — without sending a message to anyone. What ran comes
28
+ # back in `executedToolCalls`.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :execute_tools, Zavudev::Internal::Type::Boolean, api_name: :executeTools
32
+
33
+ # @!attribute history
34
+ # Prior turns, oldest first, to exercise multi-turn behaviour without persisting a
35
+ # thread. Trimmed to the agent's context window.
36
+ #
37
+ # @return [Array<Zavudev::Models::AgentTestParams::History>, nil]
38
+ optional :history, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::AgentTestParams::History] }
39
+
40
+ # @!attribute use_knowledge_base
41
+ # Set false to skip retrieval and isolate prompt behaviour from the knowledge
42
+ # base.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :use_knowledge_base, Zavudev::Internal::Type::Boolean, api_name: :useKnowledgeBase
46
+
47
+ # @!method initialize(agent_id:, message:, execute_tools: nil, history: nil, use_knowledge_base: nil, request_options: {})
48
+ # Some parameter documentations has been truncated, see
49
+ # {Zavudev::Models::AgentTestParams} for more details.
50
+ #
51
+ # @param agent_id [String]
52
+ #
53
+ # @param message [String] What to say to the agent.
54
+ #
55
+ # @param execute_tools [Boolean] Run the tools the agent calls instead of reporting the choice and stopping.
56
+ #
57
+ # @param history [Array<Zavudev::Models::AgentTestParams::History>] Prior turns, oldest first, to exercise multi-turn behaviour without persisting a
58
+ #
59
+ # @param use_knowledge_base [Boolean] Set false to skip retrieval and isolate prompt behaviour from the knowledge base
60
+ #
61
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
62
+
63
+ class History < Zavudev::Internal::Type::BaseModel
64
+ # @!attribute content
65
+ #
66
+ # @return [String]
67
+ required :content, String
68
+
69
+ # @!attribute role
70
+ #
71
+ # @return [Symbol, Zavudev::Models::AgentTestParams::History::Role]
72
+ required :role, enum: -> { Zavudev::AgentTestParams::History::Role }
73
+
74
+ # @!method initialize(content:, role:)
75
+ # @param content [String]
76
+ # @param role [Symbol, Zavudev::Models::AgentTestParams::History::Role]
77
+
78
+ # @see Zavudev::Models::AgentTestParams::History#role
79
+ module Role
80
+ extend Zavudev::Internal::Type::Enum
81
+
82
+ USER = :user
83
+ ASSISTANT = :assistant
84
+
85
+ # @!method self.values
86
+ # @return [Array<Symbol>]
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Agents#test_
6
+ class AgentTestResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute error
8
+ #
9
+ # @return [String, nil]
10
+ required :error, String, nil?: true
11
+
12
+ # @!attribute input_tokens
13
+ #
14
+ # @return [Integer]
15
+ required :input_tokens, Integer, api_name: :inputTokens
16
+
17
+ # @!attribute knowledge_chunks_used
18
+ # Knowledge-base chunks retrieved for this message. Zero means the answer was not
19
+ # grounded in your documents.
20
+ #
21
+ # @return [Integer]
22
+ required :knowledge_chunks_used, Integer, api_name: :knowledgeChunksUsed
23
+
24
+ # @!attribute latency_ms
25
+ #
26
+ # @return [Integer]
27
+ required :latency_ms, Integer, api_name: :latencyMs
28
+
29
+ # @!attribute output_tokens
30
+ #
31
+ # @return [Integer]
32
+ required :output_tokens, Integer, api_name: :outputTokens
33
+
34
+ # @!attribute success
35
+ #
36
+ # @return [Boolean]
37
+ required :success, Zavudev::Internal::Type::Boolean
38
+
39
+ # @!attribute text
40
+ # What the agent would reply.
41
+ #
42
+ # @return [String, nil]
43
+ required :text, String, nil?: true
44
+
45
+ # @!attribute warnings
46
+ # Things that are true of this agent but that a dry run cannot prove. Surfaced so
47
+ # a passing dry run is never mistaken for proof that the agent works live.
48
+ #
49
+ # - The agent being disabled.
50
+ # - Enabled tools that were **not offered to the model** here — the model never
51
+ # saw them, so a reply that looks like a lookup was invented. Live conversations
52
+ # on every channel do offer them; running them here would cause real side
53
+ # effects.
54
+ # - An agent whose sender has none of the channels it triggers on, which answers
55
+ # every dry run and no real message.
56
+ # - Contact metadata that exists on a real conversation but not here.
57
+ #
58
+ # @return [Array<String>]
59
+ required :warnings, Zavudev::Internal::Type::ArrayOf[String]
60
+
61
+ # @!attribute executed_tool_calls
62
+ # Tools that actually ran, in order, when the request set `executeTools`. Empty on
63
+ # a normal dry run, where nothing is executed. An entry with `ok: false` means the
64
+ # agent saw an error and answered around it, which is what a customer would have
65
+ # received.
66
+ #
67
+ # @return [Array<Zavudev::Models::AgentTestResponse::ExecutedToolCall>, nil]
68
+ optional :executed_tool_calls,
69
+ -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Models::AgentTestResponse::ExecutedToolCall] },
70
+ api_name: :executedToolCalls
71
+
72
+ # @!method initialize(error:, input_tokens:, knowledge_chunks_used:, latency_ms:, output_tokens:, success:, text:, warnings:, executed_tool_calls: nil)
73
+ # Some parameter documentations has been truncated, see
74
+ # {Zavudev::Models::AgentTestResponse} for more details.
75
+ #
76
+ # @param error [String, nil]
77
+ #
78
+ # @param input_tokens [Integer]
79
+ #
80
+ # @param knowledge_chunks_used [Integer] Knowledge-base chunks retrieved for this message. Zero means the answer was not
81
+ #
82
+ # @param latency_ms [Integer]
83
+ #
84
+ # @param output_tokens [Integer]
85
+ #
86
+ # @param success [Boolean]
87
+ #
88
+ # @param text [String, nil] What the agent would reply.
89
+ #
90
+ # @param warnings [Array<String>] Things that are true of this agent but that a dry run cannot prove. Surfaced so
91
+ #
92
+ # @param executed_tool_calls [Array<Zavudev::Models::AgentTestResponse::ExecutedToolCall>] Tools that actually ran, in order, when the request set `executeTools`. Empty on
93
+
94
+ class ExecutedToolCall < Zavudev::Internal::Type::BaseModel
95
+ # @!attribute name
96
+ #
97
+ # @return [String]
98
+ required :name, String
99
+
100
+ # @!attribute ok
101
+ #
102
+ # @return [Boolean]
103
+ required :ok, Zavudev::Internal::Type::Boolean
104
+
105
+ # @!attribute error
106
+ #
107
+ # @return [String, nil]
108
+ optional :error, String, nil?: true
109
+
110
+ # @!method initialize(name:, ok:, error: nil)
111
+ # @param name [String]
112
+ # @param ok [Boolean]
113
+ # @param error [String, nil]
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,295 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Agents#update
6
+ class AgentUpdateParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute agent_id
11
+ #
12
+ # @return [String]
13
+ required :agent_id, String
14
+
15
+ # @!attribute api_key
16
+ #
17
+ # @return [String, nil]
18
+ optional :api_key, String, api_name: :apiKey
19
+
20
+ # @!attribute context_window_messages
21
+ #
22
+ # @return [Integer, nil]
23
+ optional :context_window_messages, Integer, api_name: :contextWindowMessages
24
+
25
+ # @!attribute enabled
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :enabled, Zavudev::Internal::Type::Boolean
29
+
30
+ # @!attribute include_contact_metadata
31
+ #
32
+ # @return [Boolean, nil]
33
+ optional :include_contact_metadata, Zavudev::Internal::Type::Boolean, api_name: :includeContactMetadata
34
+
35
+ # @!attribute max_tokens
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :max_tokens, Integer, api_name: :maxTokens, nil?: true
39
+
40
+ # @!attribute model
41
+ #
42
+ # @return [String, nil]
43
+ optional :model, String
44
+
45
+ # @!attribute name
46
+ #
47
+ # @return [String, nil]
48
+ optional :name, String
49
+
50
+ # @!attribute provider
51
+ # LLM provider for the AI agent.
52
+ #
53
+ # @return [Symbol, Zavudev::Models::Senders::AgentProvider, nil]
54
+ optional :provider, enum: -> { Zavudev::Senders::AgentProvider }
55
+
56
+ # @!attribute system_prompt
57
+ #
58
+ # @return [String, nil]
59
+ optional :system_prompt, String, api_name: :systemPrompt
60
+
61
+ # @!attribute temperature
62
+ #
63
+ # @return [Float, nil]
64
+ optional :temperature, Float, nil?: true
65
+
66
+ # @!attribute trigger_on_channels
67
+ #
68
+ # @return [Array<String>, nil]
69
+ optional :trigger_on_channels, Zavudev::Internal::Type::ArrayOf[String], api_name: :triggerOnChannels
70
+
71
+ # @!attribute trigger_on_message_types
72
+ #
73
+ # @return [Array<String>, nil]
74
+ optional :trigger_on_message_types,
75
+ Zavudev::Internal::Type::ArrayOf[String],
76
+ api_name: :triggerOnMessageTypes
77
+
78
+ # @!attribute voice
79
+ # Voice Agent configuration. Patch this object to enable voice, change the
80
+ # greeting, or adjust call limits. Requires the Voice Agents feature to be enabled
81
+ # for your team.
82
+ #
83
+ # @return [Zavudev::Models::AgentUpdateParams::Voice, nil]
84
+ optional :voice, -> { Zavudev::AgentUpdateParams::Voice }
85
+
86
+ # @!method initialize(agent_id:, api_key: nil, context_window_messages: nil, enabled: nil, include_contact_metadata: nil, max_tokens: nil, model: nil, name: nil, provider: nil, system_prompt: nil, temperature: nil, trigger_on_channels: nil, trigger_on_message_types: nil, voice: nil, request_options: {})
87
+ # Some parameter documentations has been truncated, see
88
+ # {Zavudev::Models::AgentUpdateParams} for more details.
89
+ #
90
+ # @param agent_id [String]
91
+ #
92
+ # @param api_key [String]
93
+ #
94
+ # @param context_window_messages [Integer]
95
+ #
96
+ # @param enabled [Boolean]
97
+ #
98
+ # @param include_contact_metadata [Boolean]
99
+ #
100
+ # @param max_tokens [Integer, nil]
101
+ #
102
+ # @param model [String]
103
+ #
104
+ # @param name [String]
105
+ #
106
+ # @param provider [Symbol, Zavudev::Models::Senders::AgentProvider] LLM provider for the AI agent.
107
+ #
108
+ # @param system_prompt [String]
109
+ #
110
+ # @param temperature [Float, nil]
111
+ #
112
+ # @param trigger_on_channels [Array<String>]
113
+ #
114
+ # @param trigger_on_message_types [Array<String>]
115
+ #
116
+ # @param voice [Zavudev::Models::AgentUpdateParams::Voice] Voice Agent configuration. Patch this object to enable voice, change the greetin
117
+ #
118
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
119
+
120
+ class Voice < Zavudev::Internal::Type::BaseModel
121
+ # @!attribute enabled
122
+ # Whether the agent handles voice calls. When false, the sender's number is not
123
+ # answered by the voice agent and outbound calls are rejected.
124
+ #
125
+ # @return [Boolean]
126
+ required :enabled, Zavudev::Internal::Type::Boolean
127
+
128
+ # @!attribute greeting
129
+ # Opening line the agent speaks when the call connects. If omitted, the agent
130
+ # waits for the caller to speak first.
131
+ #
132
+ # @return [String, nil]
133
+ optional :greeting, String
134
+
135
+ # @!attribute greetings
136
+ # Greeting per language, keyed by language code. Used when the caller's language
137
+ # differs from the one `greeting` is written in.
138
+ #
139
+ # @return [Hash{Symbol=>String}, nil]
140
+ optional :greetings, Zavudev::Internal::Type::HashOf[String]
141
+
142
+ # @!attribute interruptible
143
+ # Whether the caller can interrupt the agent while it is speaking (barge-in). When
144
+ # true, the agent stops talking as soon as the caller starts.
145
+ #
146
+ # @return [Boolean, nil]
147
+ optional :interruptible, Zavudev::Internal::Type::Boolean
148
+
149
+ # @!attribute language
150
+ # BCP-47 language code used for both speech recognition and speech synthesis (e.g.
151
+ # `en`, `es`, `pt-BR`). Auto-detected from the recipient when omitted.
152
+ #
153
+ # @return [String, nil]
154
+ optional :language, String
155
+
156
+ # @!attribute max_call_duration_minutes
157
+ # Hard limit on call length in minutes. The call ends automatically when reached.
158
+ #
159
+ # @return [Integer, nil]
160
+ optional :max_call_duration_minutes, Integer, api_name: :maxCallDurationMinutes
161
+
162
+ # @!attribute max_idle_seconds
163
+ # How long the agent waits during silence before ending the call.
164
+ #
165
+ # @return [Integer, nil]
166
+ optional :max_idle_seconds, Integer, api_name: :maxIdleSeconds
167
+
168
+ # @!attribute model
169
+ # Model that runs the conversation, co-located in the voice network for lowest
170
+ # latency. Independent of the model used for text messaging. Derived from the
171
+ # agent's text model when omitted.
172
+ #
173
+ # @return [String, nil]
174
+ optional :model, String
175
+
176
+ # @!attribute record_calls
177
+ # Whether the call audio is recorded.
178
+ #
179
+ # @return [Boolean, nil]
180
+ optional :record_calls, Zavudev::Internal::Type::Boolean, api_name: :recordCalls
181
+
182
+ # @!attribute stt_model
183
+ # Speech-recognition model. Uses the default when omitted.
184
+ #
185
+ # @return [String, nil]
186
+ optional :stt_model, String, api_name: :sttModel
187
+
188
+ # @!attribute stt_provider
189
+ # Speech-recognition provider. Uses the default when omitted.
190
+ #
191
+ # @return [String, nil]
192
+ optional :stt_provider, String, api_name: :sttProvider
193
+
194
+ # @!attribute transfer_phone_number
195
+ # E.164 phone number the agent can transfer the call to. When set, the agent is
196
+ # given a transfer tool it can use to hand the call to a human.
197
+ #
198
+ # @return [String, nil]
199
+ optional :transfer_phone_number, String, api_name: :transferPhoneNumber
200
+
201
+ # @!attribute tts_provider
202
+ # Speech-synthesis provider. Uses the default when omitted.
203
+ #
204
+ # @return [String, nil]
205
+ optional :tts_provider, String, api_name: :ttsProvider
206
+
207
+ # @!attribute tts_voice_id
208
+ # Identifier of the synthesized voice that speaks. Choose from the voices
209
+ # available in the dashboard. Uses a neutral default when omitted.
210
+ #
211
+ # @return [String, nil]
212
+ optional :tts_voice_id, String, api_name: :ttsVoiceId
213
+
214
+ # @!attribute voicemail_action
215
+ # What the agent does when an answering machine or voicemail is detected on an
216
+ # outbound call.
217
+ #
218
+ # @return [Symbol, Zavudev::Models::AgentUpdateParams::Voice::VoicemailAction, nil]
219
+ optional :voicemail_action,
220
+ enum: -> { Zavudev::AgentUpdateParams::Voice::VoicemailAction },
221
+ api_name: :voicemailAction
222
+
223
+ # @!attribute voicemail_message
224
+ # Message spoken when `voicemailAction` is `leave_message`. Falls back to
225
+ # `greeting` when omitted.
226
+ #
227
+ # @return [String, nil]
228
+ optional :voicemail_message, String, api_name: :voicemailMessage
229
+
230
+ # @!attribute voice_speed
231
+ # Speech rate. 1.0 is natural. Only honoured by voices that support rate control;
232
+ # ignored by the others.
233
+ #
234
+ # @return [Float, nil]
235
+ optional :voice_speed, Float, api_name: :voiceSpeed
236
+
237
+ # @!method initialize(enabled:, greeting: nil, greetings: nil, interruptible: nil, language: nil, max_call_duration_minutes: nil, max_idle_seconds: nil, model: nil, record_calls: nil, stt_model: nil, stt_provider: nil, transfer_phone_number: nil, tts_provider: nil, tts_voice_id: nil, voicemail_action: nil, voicemail_message: nil, voice_speed: nil)
238
+ # Some parameter documentations has been truncated, see
239
+ # {Zavudev::Models::AgentUpdateParams::Voice} for more details.
240
+ #
241
+ # Voice Agent configuration. Patch this object to enable voice, change the
242
+ # greeting, or adjust call limits. Requires the Voice Agents feature to be enabled
243
+ # for your team.
244
+ #
245
+ # @param enabled [Boolean] Whether the agent handles voice calls. When false, the sender's number is not an
246
+ #
247
+ # @param greeting [String] Opening line the agent speaks when the call connects. If omitted, the agent wait
248
+ #
249
+ # @param greetings [Hash{Symbol=>String}] Greeting per language, keyed by language code. Used when the caller's language d
250
+ #
251
+ # @param interruptible [Boolean] Whether the caller can interrupt the agent while it is speaking (barge-in). When
252
+ #
253
+ # @param language [String] BCP-47 language code used for both speech recognition and speech synthesis (e.g.
254
+ #
255
+ # @param max_call_duration_minutes [Integer] Hard limit on call length in minutes. The call ends automatically when reached.
256
+ #
257
+ # @param max_idle_seconds [Integer] How long the agent waits during silence before ending the call.
258
+ #
259
+ # @param model [String] Model that runs the conversation, co-located in the voice network for lowest lat
260
+ #
261
+ # @param record_calls [Boolean] Whether the call audio is recorded.
262
+ #
263
+ # @param stt_model [String] Speech-recognition model. Uses the default when omitted.
264
+ #
265
+ # @param stt_provider [String] Speech-recognition provider. Uses the default when omitted.
266
+ #
267
+ # @param transfer_phone_number [String] E.164 phone number the agent can transfer the call to. When set, the agent is gi
268
+ #
269
+ # @param tts_provider [String] Speech-synthesis provider. Uses the default when omitted.
270
+ #
271
+ # @param tts_voice_id [String] Identifier of the synthesized voice that speaks. Choose from the voices availabl
272
+ #
273
+ # @param voicemail_action [Symbol, Zavudev::Models::AgentUpdateParams::Voice::VoicemailAction] What the agent does when an answering machine or voicemail is detected on an out
274
+ #
275
+ # @param voicemail_message [String] Message spoken when `voicemailAction` is `leave_message`. Falls back to `greetin
276
+ #
277
+ # @param voice_speed [Float] Speech rate. 1.0 is natural. Only honoured by voices that support rate control;
278
+
279
+ # What the agent does when an answering machine or voicemail is detected on an
280
+ # outbound call.
281
+ #
282
+ # @see Zavudev::Models::AgentUpdateParams::Voice#voicemail_action
283
+ module VoicemailAction
284
+ extend Zavudev::Internal::Type::Enum
285
+
286
+ HANGUP = :hangup
287
+ LEAVE_MESSAGE = :leave_message
288
+
289
+ # @!method self.values
290
+ # @return [Array<Symbol>]
291
+ end
292
+ end
293
+ end
294
+ end
295
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Agents#update
6
+ class AgentUpdateResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute agent
8
+ # AI Agent configuration for a sender.
9
+ #
10
+ # @return [Zavudev::Models::Senders::SendersAgent]
11
+ required :agent, -> { Zavudev::Senders::SendersAgent }
12
+
13
+ # @!method initialize(agent:)
14
+ # @param agent [Zavudev::Models::Senders::SendersAgent] AI Agent configuration for a sender.
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Agents
6
+ # @see Zavudev::Resources::Agents::Senders#connect
7
+ class SenderConnectParams < Zavudev::Internal::Type::BaseModel
8
+ extend Zavudev::Internal::Type::RequestParameters::Converter
9
+ include Zavudev::Internal::Type::RequestParameters
10
+
11
+ # @!attribute agent_id
12
+ #
13
+ # @return [String]
14
+ required :agent_id, String
15
+
16
+ # @!attribute sender_id
17
+ # Sender to connect.
18
+ #
19
+ # @return [String]
20
+ required :sender_id, String, api_name: :senderId
21
+
22
+ # @!method initialize(agent_id:, sender_id:, request_options: {})
23
+ # @param agent_id [String]
24
+ #
25
+ # @param sender_id [String] Sender to connect.
26
+ #
27
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
31
+ end