tungo-sdk 0.2.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 (1029) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +34 -0
  3. data/LICENSE +21 -0
  4. data/README.md +316 -0
  5. data/SECURITY.md +19 -0
  6. data/lib/tungo/api_response.rb +52 -0
  7. data/lib/tungo/client.rb +426 -0
  8. data/lib/tungo/contract.rb +37 -0
  9. data/lib/tungo/errors.rb +266 -0
  10. data/lib/tungo/helpers.rb +146 -0
  11. data/lib/tungo/internal/model.rb +432 -0
  12. data/lib/tungo/internal/sse.rb +122 -0
  13. data/lib/tungo/internal/util.rb +223 -0
  14. data/lib/tungo/models/api_key.rb +132 -0
  15. data/lib/tungo/models/api_key_create.rb +75 -0
  16. data/lib/tungo/models/api_key_create_write_kind_item.rb +26 -0
  17. data/lib/tungo/models/api_key_created.rb +154 -0
  18. data/lib/tungo/models/api_key_created_permission_item.rb +22 -0
  19. data/lib/tungo/models/api_key_created_status.rb +21 -0
  20. data/lib/tungo/models/api_key_details.rb +139 -0
  21. data/lib/tungo/models/api_key_details_blocked_reason.rb +27 -0
  22. data/lib/tungo/models/api_key_details_permission_item.rb +22 -0
  23. data/lib/tungo/models/api_key_details_status.rb +21 -0
  24. data/lib/tungo/models/api_key_month.rb +28 -0
  25. data/lib/tungo/models/api_key_patch.rb +78 -0
  26. data/lib/tungo/models/api_key_patch_write_kind_item.rb +26 -0
  27. data/lib/tungo/models/api_key_permission_item.rb +22 -0
  28. data/lib/tungo/models/api_key_person.rb +25 -0
  29. data/lib/tungo/models/api_key_roll.rb +16 -0
  30. data/lib/tungo/models/api_key_rolled.rb +147 -0
  31. data/lib/tungo/models/api_key_rolled_permission_item.rb +22 -0
  32. data/lib/tungo/models/api_key_rolled_status.rb +21 -0
  33. data/lib/tungo/models/api_key_self.rb +154 -0
  34. data/lib/tungo/models/api_key_self_blocked_reason.rb +27 -0
  35. data/lib/tungo/models/api_key_self_permission_item.rb +22 -0
  36. data/lib/tungo/models/api_key_self_rate_limit.rb +26 -0
  37. data/lib/tungo/models/api_key_self_status.rb +21 -0
  38. data/lib/tungo/models/api_key_self_workspace.rb +25 -0
  39. data/lib/tungo/models/api_key_self_workspace_kind.rb +18 -0
  40. data/lib/tungo/models/api_key_status.rb +21 -0
  41. data/lib/tungo/models/api_key_transfer.rb +16 -0
  42. data/lib/tungo/models/api_key_updated.rb +139 -0
  43. data/lib/tungo/models/api_key_updated_permission_item.rb +22 -0
  44. data/lib/tungo/models/api_key_updated_status.rb +21 -0
  45. data/lib/tungo/models/api_key_usage.rb +49 -0
  46. data/lib/tungo/models/api_key_usage_by_company_item.rb +25 -0
  47. data/lib/tungo/models/api_key_usage_by_day_item.rb +25 -0
  48. data/lib/tungo/models/api_key_usage_by_model_item.rb +25 -0
  49. data/lib/tungo/models/api_key_usage_totals.rb +40 -0
  50. data/lib/tungo/models/api_key_warning.rb +22 -0
  51. data/lib/tungo/models/api_key_warning_code.rb +21 -0
  52. data/lib/tungo/models/approve_batch_company_proposals_response.rb +20 -0
  53. data/lib/tungo/models/approve_error.rb +25 -0
  54. data/lib/tungo/models/approve_error_error.rb +96 -0
  55. data/lib/tungo/models/approve_request.rb +26 -0
  56. data/lib/tungo/models/audit_entry.rb +64 -0
  57. data/lib/tungo/models/audit_entry_action.rb +148 -0
  58. data/lib/tungo/models/audit_entry_actor.rb +26 -0
  59. data/lib/tungo/models/audit_entry_actor_type.rb +18 -0
  60. data/lib/tungo/models/audit_entry_target.rb +20 -0
  61. data/lib/tungo/models/automation_auto_approve.rb +40 -0
  62. data/lib/tungo/models/automation_auto_approve_kind_item.rb +25 -0
  63. data/lib/tungo/models/automation_deleted.rb +20 -0
  64. data/lib/tungo/models/automation_event_filter.rb +16 -0
  65. data/lib/tungo/models/automation_filter_condition.rb +30 -0
  66. data/lib/tungo/models/automation_filter_condition_op.rb +26 -0
  67. data/lib/tungo/models/automation_filter_condition_value.rb +23 -0
  68. data/lib/tungo/models/automation_filter_condition_value_option4_item.rb +20 -0
  69. data/lib/tungo/models/automation_hook.rb +65 -0
  70. data/lib/tungo/models/automation_hook_accepted.rb +34 -0
  71. data/lib/tungo/models/automation_hook_create.rb +38 -0
  72. data/lib/tungo/models/automation_hook_event.rb +64 -0
  73. data/lib/tungo/models/automation_hook_event_encoding.rb +17 -0
  74. data/lib/tungo/models/automation_hook_event_source.rb +17 -0
  75. data/lib/tungo/models/automation_hook_patch.rb +44 -0
  76. data/lib/tungo/models/automation_hook_test_input.rb +30 -0
  77. data/lib/tungo/models/automation_hook_test_result.rb +63 -0
  78. data/lib/tungo/models/automation_hook_test_result_external_id_source.rb +20 -0
  79. data/lib/tungo/models/automation_hook_test_scenario.rb +46 -0
  80. data/lib/tungo/models/automation_hook_test_scenario_failed_condition.rb +26 -0
  81. data/lib/tungo/models/automation_hook_with_token.rb +85 -0
  82. data/lib/tungo/models/automation_manual_run.rb +189 -0
  83. data/lib/tungo/models/automation_manual_run_output_error.rb +18 -0
  84. data/lib/tungo/models/automation_manual_run_output_value.rb +20 -0
  85. data/lib/tungo/models/automation_manual_run_state.rb +23 -0
  86. data/lib/tungo/models/automation_manual_run_trigger.rb +22 -0
  87. data/lib/tungo/models/automation_output_field.rb +31 -0
  88. data/lib/tungo/models/automation_output_field_option1.rb +20 -0
  89. data/lib/tungo/models/automation_output_field_option2.rb +20 -0
  90. data/lib/tungo/models/automation_output_field_option3.rb +20 -0
  91. data/lib/tungo/models/automation_output_field_option4.rb +20 -0
  92. data/lib/tungo/models/automation_output_field_option5.rb +25 -0
  93. data/lib/tungo/models/automation_output_spec.rb +16 -0
  94. data/lib/tungo/models/automation_run.rb +183 -0
  95. data/lib/tungo/models/automation_run_detail.rb +189 -0
  96. data/lib/tungo/models/automation_run_detail_output_error.rb +18 -0
  97. data/lib/tungo/models/automation_run_detail_output_value.rb +20 -0
  98. data/lib/tungo/models/automation_run_detail_state.rb +23 -0
  99. data/lib/tungo/models/automation_run_detail_trigger.rb +22 -0
  100. data/lib/tungo/models/automation_run_output_error.rb +18 -0
  101. data/lib/tungo/models/automation_run_output_value.rb +20 -0
  102. data/lib/tungo/models/automation_run_proposal.rb +52 -0
  103. data/lib/tungo/models/automation_run_proposal_auto.rb +21 -0
  104. data/lib/tungo/models/automation_run_proposal_code.rb +23 -0
  105. data/lib/tungo/models/automation_run_proposal_status.rb +59 -0
  106. data/lib/tungo/models/automation_run_proposal_status_auto.rb +21 -0
  107. data/lib/tungo/models/automation_run_proposal_status_code.rb +23 -0
  108. data/lib/tungo/models/automation_run_state.rb +23 -0
  109. data/lib/tungo/models/automation_run_step.rb +79 -0
  110. data/lib/tungo/models/automation_run_step_action.rb +20 -0
  111. data/lib/tungo/models/automation_run_step_output_error.rb +17 -0
  112. data/lib/tungo/models/automation_run_step_output_value.rb +20 -0
  113. data/lib/tungo/models/automation_run_step_skipped_by.rb +19 -0
  114. data/lib/tungo/models/automation_run_step_state.rb +22 -0
  115. data/lib/tungo/models/automation_run_trigger.rb +22 -0
  116. data/lib/tungo/models/automation_scenario.rb +82 -0
  117. data/lib/tungo/models/automation_scenario_action.rb +20 -0
  118. data/lib/tungo/models/automation_scenario_enabled.rb +16 -0
  119. data/lib/tungo/models/automation_scenario_input.rb +62 -0
  120. data/lib/tungo/models/automation_scenario_input_action.rb +20 -0
  121. data/lib/tungo/models/automation_scenario_input_auto_approve.rb +40 -0
  122. data/lib/tungo/models/automation_scenario_input_auto_approve_kind_item.rb +25 -0
  123. data/lib/tungo/models/automation_scenario_input_trigger.rb +30 -0
  124. data/lib/tungo/models/automation_scenario_input_trigger_option1.rb +24 -0
  125. data/lib/tungo/models/automation_scenario_input_trigger_option2.rb +19 -0
  126. data/lib/tungo/models/automation_scenario_input_trigger_option3.rb +26 -0
  127. data/lib/tungo/models/automation_scenario_input_trigger_option3_event.rb +26 -0
  128. data/lib/tungo/models/automation_scenario_input_trigger_option4.rb +15 -0
  129. data/lib/tungo/models/automation_scenario_run_input.rb +17 -0
  130. data/lib/tungo/models/automation_scenario_saved.rb +89 -0
  131. data/lib/tungo/models/automation_scenario_saved_action.rb +20 -0
  132. data/lib/tungo/models/automation_scenario_step.rb +32 -0
  133. data/lib/tungo/models/automation_scenario_step_action.rb +20 -0
  134. data/lib/tungo/models/automation_scenario_step_when.rb +19 -0
  135. data/lib/tungo/models/automation_schedule.rb +30 -0
  136. data/lib/tungo/models/automation_schedule_daily.rb +21 -0
  137. data/lib/tungo/models/automation_schedule_interval.rb +36 -0
  138. data/lib/tungo/models/automation_schedule_monthly.rb +40 -0
  139. data/lib/tungo/models/automation_schedule_weekly.rb +27 -0
  140. data/lib/tungo/models/automation_state.rb +36 -0
  141. data/lib/tungo/models/automation_state_input.rb +22 -0
  142. data/lib/tungo/models/automation_step.rb +34 -0
  143. data/lib/tungo/models/automation_step_action.rb +21 -0
  144. data/lib/tungo/models/automation_step_when.rb +21 -0
  145. data/lib/tungo/models/automation_trigger.rb +29 -0
  146. data/lib/tungo/models/automation_trigger_event.rb +27 -0
  147. data/lib/tungo/models/automation_trigger_event_event.rb +26 -0
  148. data/lib/tungo/models/automation_trigger_hook.rb +24 -0
  149. data/lib/tungo/models/automation_trigger_manual.rb +15 -0
  150. data/lib/tungo/models/automation_trigger_schedule.rb +24 -0
  151. data/lib/tungo/models/autonomy_level.rb +24 -0
  152. data/lib/tungo/models/bank_statement_job_request.rb +32 -0
  153. data/lib/tungo/models/batch_approve_job.rb +71 -0
  154. data/lib/tungo/models/batch_approve_job_kind.rb +21 -0
  155. data/lib/tungo/models/batch_approve_request.rb +47 -0
  156. data/lib/tungo/models/batch_approve_response.rb +72 -0
  157. data/lib/tungo/models/batch_approve_response_stopped.rb +21 -0
  158. data/lib/tungo/models/batch_approve_result.rb +54 -0
  159. data/lib/tungo/models/batch_approve_result_outcome.rb +30 -0
  160. data/lib/tungo/models/batch_job.rb +56 -0
  161. data/lib/tungo/models/batch_job_kind.rb +21 -0
  162. data/lib/tungo/models/batch_job_list.rb +22 -0
  163. data/lib/tungo/models/batch_job_report.rb +78 -0
  164. data/lib/tungo/models/batch_job_report_gateway.rb +20 -0
  165. data/lib/tungo/models/batch_job_row.rb +56 -0
  166. data/lib/tungo/models/batch_job_row_status.rb +21 -0
  167. data/lib/tungo/models/batch_manual_row.rb +30 -0
  168. data/lib/tungo/models/batch_row_question.rb +25 -0
  169. data/lib/tungo/models/batch_row_question_option_item.rb +20 -0
  170. data/lib/tungo/models/batch_stop_result.rb +20 -0
  171. data/lib/tungo/models/batch_summary.rb +65 -0
  172. data/lib/tungo/models/batch_summary_approve.rb +25 -0
  173. data/lib/tungo/models/batch_summary_approve_body.rb +20 -0
  174. data/lib/tungo/models/batch_summary_kind.rb +19 -0
  175. data/lib/tungo/models/batch_summary_proposal.rb +56 -0
  176. data/lib/tungo/models/batch_summary_proposal_outcome.rb +23 -0
  177. data/lib/tungo/models/batch_summary_totals.rb +63 -0
  178. data/lib/tungo/models/card_session.rb +29 -0
  179. data/lib/tungo/models/chat_answer_request.rb +25 -0
  180. data/lib/tungo/models/chat_assistant_message.rb +51 -0
  181. data/lib/tungo/models/chat_assistant_message_state.rb +18 -0
  182. data/lib/tungo/models/chat_attachment.rb +25 -0
  183. data/lib/tungo/models/chat_attachment_meta.rb +25 -0
  184. data/lib/tungo/models/chat_choice_answer.rb +21 -0
  185. data/lib/tungo/models/chat_choice_option.rb +25 -0
  186. data/lib/tungo/models/chat_choice_question.rb +30 -0
  187. data/lib/tungo/models/chat_citation.rb +30 -0
  188. data/lib/tungo/models/chat_dialog.rb +72 -0
  189. data/lib/tungo/models/chat_dialog_closed.rb +20 -0
  190. data/lib/tungo/models/chat_dialog_deleted.rb +21 -0
  191. data/lib/tungo/models/chat_dialog_list.rb +22 -0
  192. data/lib/tungo/models/chat_dialog_patch.rb +15 -0
  193. data/lib/tungo/models/chat_dialog_renamed.rb +21 -0
  194. data/lib/tungo/models/chat_dialog_summary.rb +37 -0
  195. data/lib/tungo/models/chat_event.rb +49 -0
  196. data/lib/tungo/models/chat_event_batch.rb +46 -0
  197. data/lib/tungo/models/chat_event_batch_outcome.rb +21 -0
  198. data/lib/tungo/models/chat_event_batch_report.rb +24 -0
  199. data/lib/tungo/models/chat_event_batch_stage.rb +18 -0
  200. data/lib/tungo/models/chat_event_choice.rb +26 -0
  201. data/lib/tungo/models/chat_event_citation.rb +35 -0
  202. data/lib/tungo/models/chat_event_done.rb +42 -0
  203. data/lib/tungo/models/chat_event_error.rb +24 -0
  204. data/lib/tungo/models/chat_event_progress.rb +26 -0
  205. data/lib/tungo/models/chat_event_proposal.rb +24 -0
  206. data/lib/tungo/models/chat_event_question.rb +25 -0
  207. data/lib/tungo/models/chat_event_status.rb +27 -0
  208. data/lib/tungo/models/chat_event_status_code.rb +20 -0
  209. data/lib/tungo/models/chat_event_text.rb +26 -0
  210. data/lib/tungo/models/chat_event_thinking.rb +20 -0
  211. data/lib/tungo/models/chat_event_tool.rb +35 -0
  212. data/lib/tungo/models/chat_event_tool_status.rb +18 -0
  213. data/lib/tungo/models/chat_history_block.rb +32 -0
  214. data/lib/tungo/models/chat_history_error.rb +27 -0
  215. data/lib/tungo/models/chat_history_error_code.rb +32 -0
  216. data/lib/tungo/models/chat_history_proposal.rb +20 -0
  217. data/lib/tungo/models/chat_history_question.rb +25 -0
  218. data/lib/tungo/models/chat_history_text.rb +20 -0
  219. data/lib/tungo/models/chat_history_tool.rb +35 -0
  220. data/lib/tungo/models/chat_history_tool_status.rb +17 -0
  221. data/lib/tungo/models/chat_message.rb +25 -0
  222. data/lib/tungo/models/chat_message_request.rb +64 -0
  223. data/lib/tungo/models/chat_message_request_mode.rb +19 -0
  224. data/lib/tungo/models/chat_pending_question.rb +20 -0
  225. data/lib/tungo/models/chat_question.rb +20 -0
  226. data/lib/tungo/models/chat_stop_result.rb +26 -0
  227. data/lib/tungo/models/chat_token_count.rb +35 -0
  228. data/lib/tungo/models/chat_token_count_request.rb +32 -0
  229. data/lib/tungo/models/chat_token_count_request_mode.rb +18 -0
  230. data/lib/tungo/models/chat_turn_error.rb +41 -0
  231. data/lib/tungo/models/chat_turn_error_code.rb +32 -0
  232. data/lib/tungo/models/chat_turn_error_limit_kind.rb +17 -0
  233. data/lib/tungo/models/chat_turn_proposal.rb +19 -0
  234. data/lib/tungo/models/chat_turn_result.rb +61 -0
  235. data/lib/tungo/models/chat_turn_usage.rb +36 -0
  236. data/lib/tungo/models/chat_usage.rb +31 -0
  237. data/lib/tungo/models/chat_user_message.rb +41 -0
  238. data/lib/tungo/models/company.rb +61 -0
  239. data/lib/tungo/models/company_autonomy.rb +43 -0
  240. data/lib/tungo/models/company_autonomy_custom.rb +20 -0
  241. data/lib/tungo/models/company_autonomy_defaults.rb +20 -0
  242. data/lib/tungo/models/company_autonomy_input.rb +29 -0
  243. data/lib/tungo/models/company_autonomy_input_levels.rb +72 -0
  244. data/lib/tungo/models/company_autonomy_input_levels_advance_report.rb +19 -0
  245. data/lib/tungo/models/company_autonomy_input_levels_bank_payment.rb +19 -0
  246. data/lib/tungo/models/company_autonomy_input_levels_bank_receipt.rb +19 -0
  247. data/lib/tungo/models/company_autonomy_input_levels_cash_order_in.rb +19 -0
  248. data/lib/tungo/models/company_autonomy_input_levels_cash_order_out.rb +19 -0
  249. data/lib/tungo/models/company_autonomy_input_levels_contract.rb +19 -0
  250. data/lib/tungo/models/company_autonomy_input_levels_counterparty.rb +19 -0
  251. data/lib/tungo/models/company_autonomy_input_levels_inventory_writeoff.rb +19 -0
  252. data/lib/tungo/models/company_autonomy_input_levels_purchase.rb +19 -0
  253. data/lib/tungo/models/company_autonomy_input_levels_sale.rb +19 -0
  254. data/lib/tungo/models/company_autonomy_levels.rb +71 -0
  255. data/lib/tungo/models/company_autonomy_levels_advance_report.rb +19 -0
  256. data/lib/tungo/models/company_autonomy_levels_bank_payment.rb +19 -0
  257. data/lib/tungo/models/company_autonomy_levels_bank_receipt.rb +19 -0
  258. data/lib/tungo/models/company_autonomy_levels_cash_order_in.rb +19 -0
  259. data/lib/tungo/models/company_autonomy_levels_cash_order_out.rb +19 -0
  260. data/lib/tungo/models/company_autonomy_levels_contract.rb +19 -0
  261. data/lib/tungo/models/company_autonomy_levels_counterparty.rb +19 -0
  262. data/lib/tungo/models/company_autonomy_levels_inventory_writeoff.rb +19 -0
  263. data/lib/tungo/models/company_autonomy_levels_purchase.rb +19 -0
  264. data/lib/tungo/models/company_autonomy_levels_sale.rb +19 -0
  265. data/lib/tungo/models/company_counts.rb +23 -0
  266. data/lib/tungo/models/company_legal_form.rb +19 -0
  267. data/lib/tungo/models/company_list_item.rb +65 -0
  268. data/lib/tungo/models/company_permission.rb +26 -0
  269. data/lib/tungo/models/company_status.rb +19 -0
  270. data/lib/tungo/models/data_gap_form.rb +30 -0
  271. data/lib/tungo/models/data_gap_form_status.rb +66 -0
  272. data/lib/tungo/models/data_gap_item.rb +49 -0
  273. data/lib/tungo/models/data_gap_object.rb +25 -0
  274. data/lib/tungo/models/data_gaps.rb +41 -0
  275. data/lib/tungo/models/data_gaps_summary.rb +40 -0
  276. data/lib/tungo/models/direct_bank_poll_result.rb +25 -0
  277. data/lib/tungo/models/epay_return_links.rb +21 -0
  278. data/lib/tungo/models/error.rb +28 -0
  279. data/lib/tungo/models/error_detail.rb +74 -0
  280. data/lib/tungo/models/error_detail_allowed_method_item.rb +20 -0
  281. data/lib/tungo/models/error_detail_type.rb +27 -0
  282. data/lib/tungo/models/esf_incoming_action.rb +22 -0
  283. data/lib/tungo/models/esf_incoming_item.rb +76 -0
  284. data/lib/tungo/models/esf_incoming_match.rb +32 -0
  285. data/lib/tungo/models/esf_incoming_match_document.rb +29 -0
  286. data/lib/tungo/models/esf_incoming_match_status.rb +21 -0
  287. data/lib/tungo/models/esf_incoming_report.rb +41 -0
  288. data/lib/tungo/models/esf_outgoing_item.rb +53 -0
  289. data/lib/tungo/models/esf_outgoing_item_esf.rb +35 -0
  290. data/lib/tungo/models/esf_outgoing_item_tax_invoice.rb +25 -0
  291. data/lib/tungo/models/esf_outgoing_report.rb +36 -0
  292. data/lib/tungo/models/esf_purchases_job_request.rb +26 -0
  293. data/lib/tungo/models/esf_sale.rb +44 -0
  294. data/lib/tungo/models/esf_verdict.rb +20 -0
  295. data/lib/tungo/models/feed_action.rb +49 -0
  296. data/lib/tungo/models/feed_action_action.rb +23 -0
  297. data/lib/tungo/models/feed_action_method.rb +17 -0
  298. data/lib/tungo/models/feed_item.rb +91 -0
  299. data/lib/tungo/models/feed_page.rb +30 -0
  300. data/lib/tungo/models/feed_section.rb +20 -0
  301. data/lib/tungo/models/feed_section_counts.rb +25 -0
  302. data/lib/tungo/models/feed_section_titles.rb +25 -0
  303. data/lib/tungo/models/field_error.rb +28 -0
  304. data/lib/tungo/models/field_error_code.rb +28 -0
  305. data/lib/tungo/models/financial_notes.rb +50 -0
  306. data/lib/tungo/models/financial_notes_organization.rb +20 -0
  307. data/lib/tungo/models/financial_notes_section.rb +55 -0
  308. data/lib/tungo/models/financial_notes_table.rb +25 -0
  309. data/lib/tungo/models/financial_notes_table_row_item_item.rb +20 -0
  310. data/lib/tungo/models/financial_notes_to_fill.rb +29 -0
  311. data/lib/tungo/models/form_missing_action.rb +23 -0
  312. data/lib/tungo/models/form_missing_data.rb +39 -0
  313. data/lib/tungo/models/form_onec_object.rb +20 -0
  314. data/lib/tungo/models/get_workspace_platform_audit_response.rb +22 -0
  315. data/lib/tungo/models/get_workspace_platform_ledger_response.rb +22 -0
  316. data/lib/tungo/models/isna_file.rb +12 -0
  317. data/lib/tungo/models/isna_response.rb +20 -0
  318. data/lib/tungo/models/isna_summary.rb +95 -0
  319. data/lib/tungo/models/isna_summary_download.rb +20 -0
  320. data/lib/tungo/models/isna_summary_format.rb +25 -0
  321. data/lib/tungo/models/isna_summary_period.rb +31 -0
  322. data/lib/tungo/models/isna_summary_reconciliation.rb +19 -0
  323. data/lib/tungo/models/list_companies_response.rb +16 -0
  324. data/lib/tungo/models/list_company_automations_hooks_response.rb +15 -0
  325. data/lib/tungo/models/list_company_automations_runs_response.rb +22 -0
  326. data/lib/tungo/models/list_company_automations_scenarios_response.rb +15 -0
  327. data/lib/tungo/models/list_usage_rates_response.rb +15 -0
  328. data/lib/tungo/models/list_workspace_platform_requests_response.rb +22 -0
  329. data/lib/tungo/models/list_workspace_webhooks_endpoint_attempts_response.rb +22 -0
  330. data/lib/tungo/models/list_workspace_webhooks_endpoint_attempts_status.rb +20 -0
  331. data/lib/tungo/models/list_workspace_webhooks_endpoints_response.rb +22 -0
  332. data/lib/tungo/models/list_workspace_webhooks_event_types_response.rb +15 -0
  333. data/lib/tungo/models/list_workspace_webhooks_message_attempts_response.rb +22 -0
  334. data/lib/tungo/models/list_workspace_webhooks_messages_response.rb +22 -0
  335. data/lib/tungo/models/list_workspaces_response.rb +15 -0
  336. data/lib/tungo/models/money.rb +27 -0
  337. data/lib/tungo/models/my_workspace.rb +37 -0
  338. data/lib/tungo/models/my_workspace_kind.rb +19 -0
  339. data/lib/tungo/models/one_c_capability.rb +33 -0
  340. data/lib/tungo/models/one_c_capability_id.rb +26 -0
  341. data/lib/tungo/models/one_c_capability_status.rb +20 -0
  342. data/lib/tungo/models/one_c_gateway.rb +21 -0
  343. data/lib/tungo/models/one_c_status.rb +32 -0
  344. data/lib/tungo/models/one_c_status_last_check.rb +36 -0
  345. data/lib/tungo/models/one_c_status_last_check_verdict.rb +18 -0
  346. data/lib/tungo/models/pay_form.rb +34 -0
  347. data/lib/tungo/models/payment_method.rb +42 -0
  348. data/lib/tungo/models/platform_account.rb +60 -0
  349. data/lib/tungo/models/platform_account_blocked_reason.rb +19 -0
  350. data/lib/tungo/models/platform_account_purchase_limits.rb +25 -0
  351. data/lib/tungo/models/platform_auto_reload.rb +32 -0
  352. data/lib/tungo/models/platform_ledger_entry.rb +63 -0
  353. data/lib/tungo/models/platform_ledger_entry_kind.rb +20 -0
  354. data/lib/tungo/models/platform_limits.rb +25 -0
  355. data/lib/tungo/models/platform_limits_concurrent_turns.rb +20 -0
  356. data/lib/tungo/models/platform_limits_files.rb +56 -0
  357. data/lib/tungo/models/platform_limits_rate.rb +20 -0
  358. data/lib/tungo/models/platform_limits_rate_key.rb +26 -0
  359. data/lib/tungo/models/platform_limits_rate_workspace.rb +26 -0
  360. data/lib/tungo/models/platform_purchase.rb +33 -0
  361. data/lib/tungo/models/platform_purchase_input.rb +22 -0
  362. data/lib/tungo/models/platform_purchase_status.rb +26 -0
  363. data/lib/tungo/models/platform_request.rb +71 -0
  364. data/lib/tungo/models/platform_settings_input.rb +26 -0
  365. data/lib/tungo/models/platform_settings_input_auto_reload.rb +31 -0
  366. data/lib/tungo/models/platform_usage.rb +45 -0
  367. data/lib/tungo/models/platform_usage_by_company_item.rb +45 -0
  368. data/lib/tungo/models/platform_usage_by_day_item.rb +45 -0
  369. data/lib/tungo/models/platform_usage_by_key_item.rb +45 -0
  370. data/lib/tungo/models/platform_usage_by_model_item.rb +45 -0
  371. data/lib/tungo/models/platform_usage_totals.rb +40 -0
  372. data/lib/tungo/models/proposal_account.rb +32 -0
  373. data/lib/tungo/models/proposal_action.rb +52 -0
  374. data/lib/tungo/models/proposal_action_action.rb +19 -0
  375. data/lib/tungo/models/proposal_advance_offset.rb +33 -0
  376. data/lib/tungo/models/proposal_approval.rb +32 -0
  377. data/lib/tungo/models/proposal_card.rb +158 -0
  378. data/lib/tungo/models/proposal_contract.rb +35 -0
  379. data/lib/tungo/models/proposal_decision.rb +43 -0
  380. data/lib/tungo/models/proposal_document.rb +26 -0
  381. data/lib/tungo/models/proposal_header.rb +71 -0
  382. data/lib/tungo/models/proposal_history_event.rb +35 -0
  383. data/lib/tungo/models/proposal_kind.rb +28 -0
  384. data/lib/tungo/models/proposal_line.rb +66 -0
  385. data/lib/tungo/models/proposal_line_item.rb +20 -0
  386. data/lib/tungo/models/proposal_line_section.rb +17 -0
  387. data/lib/tungo/models/proposal_list_item.rb +100 -0
  388. data/lib/tungo/models/proposal_page.rb +33 -0
  389. data/lib/tungo/models/proposal_party.rb +26 -0
  390. data/lib/tungo/models/proposal_posting.rb +38 -0
  391. data/lib/tungo/models/proposal_result.rb +31 -0
  392. data/lib/tungo/models/proposal_source.rb +21 -0
  393. data/lib/tungo/models/proposal_source_channel.rb +21 -0
  394. data/lib/tungo/models/proposal_status.rb +25 -0
  395. data/lib/tungo/models/reject_request.rb +23 -0
  396. data/lib/tungo/models/statement_day.rb +66 -0
  397. data/lib/tungo/models/statement_day_counts.rb +40 -0
  398. data/lib/tungo/models/statement_day_kind.rb +21 -0
  399. data/lib/tungo/models/statement_day_list.rb +22 -0
  400. data/lib/tungo/models/tax_form_cell.rb +77 -0
  401. data/lib/tungo/models/tax_form_cell_cause.rb +44 -0
  402. data/lib/tungo/models/tax_form_cell_diff.rb +20 -0
  403. data/lib/tungo/models/tax_form_cell_one_c_value.rb +22 -0
  404. data/lib/tungo/models/tax_form_cell_ours_value.rb +22 -0
  405. data/lib/tungo/models/tax_form_cell_status.rb +21 -0
  406. data/lib/tungo/models/tax_form_cell_type.rb +22 -0
  407. data/lib/tungo/models/tax_form_due.rb +57 -0
  408. data/lib/tungo/models/tax_form_list_item.rb +67 -0
  409. data/lib/tungo/models/tax_form_list_item_coverage.rb +17 -0
  410. data/lib/tungo/models/tax_form_list_item_group.rb +20 -0
  411. data/lib/tungo/models/tax_form_list_item_required.rb +19 -0
  412. data/lib/tungo/models/tax_form_only_in_one_c.rb +20 -0
  413. data/lib/tungo/models/tax_form_period.rb +36 -0
  414. data/lib/tungo/models/tax_form_reference.rb +30 -0
  415. data/lib/tungo/models/tax_form_totals.rb +30 -0
  416. data/lib/tungo/models/tax_form_view.rb +83 -0
  417. data/lib/tungo/models/tax_form_view_coverage.rb +17 -0
  418. data/lib/tungo/models/tax_form_view_uncovered.rb +20 -0
  419. data/lib/tungo/models/tax_form_view_uncovered_cell_item.rb +20 -0
  420. data/lib/tungo/models/tax_forms_year.rb +31 -0
  421. data/lib/tungo/models/tax_period_kind.rb +21 -0
  422. data/lib/tungo/models/tax_period_ref.rb +21 -0
  423. data/lib/tungo/models/usage_rate.rb +42 -0
  424. data/lib/tungo/models/webhook_attempt.rb +56 -0
  425. data/lib/tungo/models/webhook_attempt_status.rb +20 -0
  426. data/lib/tungo/models/webhook_attempt_trigger.rb +17 -0
  427. data/lib/tungo/models/webhook_endpoint.rb +51 -0
  428. data/lib/tungo/models/webhook_endpoint_create.rb +39 -0
  429. data/lib/tungo/models/webhook_endpoint_created.rb +66 -0
  430. data/lib/tungo/models/webhook_endpoint_patch.rb +39 -0
  431. data/lib/tungo/models/webhook_envelope.rb +41 -0
  432. data/lib/tungo/models/webhook_event.rb +65 -0
  433. data/lib/tungo/models/webhook_event_api_key_cap_reached.rb +42 -0
  434. data/lib/tungo/models/webhook_event_api_key_cap_reached_data.rb +40 -0
  435. data/lib/tungo/models/webhook_event_api_key_expiring.rb +42 -0
  436. data/lib/tungo/models/webhook_event_api_key_expiring_data.rb +30 -0
  437. data/lib/tungo/models/webhook_event_automation_run_completed.rb +42 -0
  438. data/lib/tungo/models/webhook_event_automation_run_completed_data.rb +110 -0
  439. data/lib/tungo/models/webhook_event_automation_run_completed_data_output_error.rb +18 -0
  440. data/lib/tungo/models/webhook_event_automation_run_completed_data_output_value.rb +20 -0
  441. data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item.rb +53 -0
  442. data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto.rb +20 -0
  443. data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto_code.rb +22 -0
  444. data/lib/tungo/models/webhook_event_automation_run_failed.rb +42 -0
  445. data/lib/tungo/models/webhook_event_automation_run_failed_data.rb +110 -0
  446. data/lib/tungo/models/webhook_event_automation_run_failed_data_output_error.rb +18 -0
  447. data/lib/tungo/models/webhook_event_automation_run_failed_data_output_value.rb +20 -0
  448. data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item.rb +53 -0
  449. data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto.rb +20 -0
  450. data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto_code.rb +22 -0
  451. data/lib/tungo/models/webhook_event_automation_run_notice.rb +42 -0
  452. data/lib/tungo/models/webhook_event_automation_run_notice_data.rb +60 -0
  453. data/lib/tungo/models/webhook_event_automation_run_notice_data_reason.rb +19 -0
  454. data/lib/tungo/models/webhook_event_automation_write_unknown.rb +42 -0
  455. data/lib/tungo/models/webhook_event_automation_write_unknown_data.rb +37 -0
  456. data/lib/tungo/models/webhook_event_bank_statement_received.rb +41 -0
  457. data/lib/tungo/models/webhook_event_bank_statement_received_data.rb +40 -0
  458. data/lib/tungo/models/webhook_event_bank_statement_received_data_source.rb +17 -0
  459. data/lib/tungo/models/webhook_event_batch_completed.rb +42 -0
  460. data/lib/tungo/models/webhook_event_batch_completed_data.rb +65 -0
  461. data/lib/tungo/models/webhook_event_batch_completed_data_kind.rb +17 -0
  462. data/lib/tungo/models/webhook_event_batch_failed.rb +41 -0
  463. data/lib/tungo/models/webhook_event_batch_failed_data.rb +25 -0
  464. data/lib/tungo/models/webhook_event_batch_failed_data_kind.rb +17 -0
  465. data/lib/tungo/models/webhook_event_chat_turn_completed.rb +42 -0
  466. data/lib/tungo/models/webhook_event_chat_turn_completed_data.rb +41 -0
  467. data/lib/tungo/models/webhook_event_chat_turn_completed_data_usage.rb +35 -0
  468. data/lib/tungo/models/webhook_event_esf_incoming_received.rb +41 -0
  469. data/lib/tungo/models/webhook_event_esf_incoming_received_data.rb +40 -0
  470. data/lib/tungo/models/webhook_event_onec_connection_changed.rb +42 -0
  471. data/lib/tungo/models/webhook_event_onec_connection_changed_data.rb +35 -0
  472. data/lib/tungo/models/webhook_event_onec_connection_changed_data_reason.rb +24 -0
  473. data/lib/tungo/models/webhook_event_onec_connection_changed_data_state.rb +17 -0
  474. data/lib/tungo/models/webhook_event_payment_failed.rb +40 -0
  475. data/lib/tungo/models/webhook_event_payment_failed_data.rb +41 -0
  476. data/lib/tungo/models/webhook_event_payment_succeeded.rb +40 -0
  477. data/lib/tungo/models/webhook_event_payment_succeeded_data.rb +41 -0
  478. data/lib/tungo/models/webhook_event_ping.rb +42 -0
  479. data/lib/tungo/models/webhook_event_ping_data.rb +11 -0
  480. data/lib/tungo/models/webhook_event_platform_balance_exhausted.rb +41 -0
  481. data/lib/tungo/models/webhook_event_platform_balance_exhausted_data.rb +20 -0
  482. data/lib/tungo/models/webhook_event_platform_balance_low.rb +41 -0
  483. data/lib/tungo/models/webhook_event_platform_balance_low_data.rb +20 -0
  484. data/lib/tungo/models/webhook_event_platform_cap_threshold_reached.rb +41 -0
  485. data/lib/tungo/models/webhook_event_platform_cap_threshold_reached_data.rb +30 -0
  486. data/lib/tungo/models/webhook_event_proposal_awaiting_approval.rb +40 -0
  487. data/lib/tungo/models/webhook_event_proposal_awaiting_approval_data.rb +40 -0
  488. data/lib/tungo/models/webhook_event_proposal_failed.rb +41 -0
  489. data/lib/tungo/models/webhook_event_proposal_failed_data.rb +30 -0
  490. data/lib/tungo/models/webhook_event_proposal_rejected.rb +41 -0
  491. data/lib/tungo/models/webhook_event_proposal_rejected_data.rb +30 -0
  492. data/lib/tungo/models/webhook_event_proposal_written.rb +41 -0
  493. data/lib/tungo/models/webhook_event_proposal_written_data.rb +35 -0
  494. data/lib/tungo/models/webhook_event_type.rb +30 -0
  495. data/lib/tungo/models/webhook_message.rb +31 -0
  496. data/lib/tungo/models/webhook_resend.rb +15 -0
  497. data/lib/tungo/models/webhook_secret.rb +24 -0
  498. data/lib/tungo/models/webhook_secret_rotated.rb +29 -0
  499. data/lib/tungo/models/webhook_usage.rb +31 -0
  500. data/lib/tungo/models/workspace_plan.rb +25 -0
  501. data/lib/tungo/models.rb +497 -0
  502. data/lib/tungo/money.rb +112 -0
  503. data/lib/tungo/page.rb +94 -0
  504. data/lib/tungo/request_options.rb +57 -0
  505. data/lib/tungo/resources/api_keys.rb +74 -0
  506. data/lib/tungo/resources/automations.rb +681 -0
  507. data/lib/tungo/resources/batches.rb +242 -0
  508. data/lib/tungo/resources/chat.rb +355 -0
  509. data/lib/tungo/resources/companies.rb +48 -0
  510. data/lib/tungo/resources/esf.rb +148 -0
  511. data/lib/tungo/resources/feed.rb +91 -0
  512. data/lib/tungo/resources/forms.rb +118 -0
  513. data/lib/tungo/resources/onec.rb +33 -0
  514. data/lib/tungo/resources/platform.rb +316 -0
  515. data/lib/tungo/resources/proposals.rb +230 -0
  516. data/lib/tungo/resources/webhooks.rb +423 -0
  517. data/lib/tungo/resources/workspaces.rb +31 -0
  518. data/lib/tungo/resources.rb +88 -0
  519. data/lib/tungo/stream.rb +189 -0
  520. data/lib/tungo/transport.rb +373 -0
  521. data/lib/tungo/version.rb +6 -0
  522. data/lib/tungo/webhooks.rb +155 -0
  523. data/lib/tungo-sdk.rb +4 -0
  524. data/lib/tungo.rb +34 -0
  525. data/sig/manifest.yaml +8 -0
  526. data/sig/tungo/contract.rbs +8 -0
  527. data/sig/tungo/models/api_key.rbs +32 -0
  528. data/sig/tungo/models/api_key_create.rbs +21 -0
  529. data/sig/tungo/models/api_key_create_write_kind_item.rbs +22 -0
  530. data/sig/tungo/models/api_key_created.rbs +35 -0
  531. data/sig/tungo/models/api_key_created_permission_item.rbs +18 -0
  532. data/sig/tungo/models/api_key_created_status.rbs +15 -0
  533. data/sig/tungo/models/api_key_details.rbs +33 -0
  534. data/sig/tungo/models/api_key_details_blocked_reason.rbs +21 -0
  535. data/sig/tungo/models/api_key_details_permission_item.rbs +18 -0
  536. data/sig/tungo/models/api_key_details_status.rbs +15 -0
  537. data/sig/tungo/models/api_key_month.rbs +14 -0
  538. data/sig/tungo/models/api_key_patch.rbs +21 -0
  539. data/sig/tungo/models/api_key_patch_write_kind_item.rbs +22 -0
  540. data/sig/tungo/models/api_key_permission_item.rbs +18 -0
  541. data/sig/tungo/models/api_key_person.rbs +14 -0
  542. data/sig/tungo/models/api_key_roll.rbs +12 -0
  543. data/sig/tungo/models/api_key_rolled.rbs +34 -0
  544. data/sig/tungo/models/api_key_rolled_permission_item.rbs +18 -0
  545. data/sig/tungo/models/api_key_rolled_status.rbs +15 -0
  546. data/sig/tungo/models/api_key_self.rbs +36 -0
  547. data/sig/tungo/models/api_key_self_blocked_reason.rbs +21 -0
  548. data/sig/tungo/models/api_key_self_permission_item.rbs +18 -0
  549. data/sig/tungo/models/api_key_self_rate_limit.rbs +14 -0
  550. data/sig/tungo/models/api_key_self_status.rbs +15 -0
  551. data/sig/tungo/models/api_key_self_workspace.rbs +14 -0
  552. data/sig/tungo/models/api_key_self_workspace_kind.rbs +14 -0
  553. data/sig/tungo/models/api_key_status.rbs +15 -0
  554. data/sig/tungo/models/api_key_transfer.rbs +12 -0
  555. data/sig/tungo/models/api_key_updated.rbs +33 -0
  556. data/sig/tungo/models/api_key_updated_permission_item.rbs +18 -0
  557. data/sig/tungo/models/api_key_updated_status.rbs +15 -0
  558. data/sig/tungo/models/api_key_usage.rbs +19 -0
  559. data/sig/tungo/models/api_key_usage_by_company_item.rbs +14 -0
  560. data/sig/tungo/models/api_key_usage_by_day_item.rbs +14 -0
  561. data/sig/tungo/models/api_key_usage_by_model_item.rbs +14 -0
  562. data/sig/tungo/models/api_key_usage_totals.rbs +17 -0
  563. data/sig/tungo/models/api_key_warning.rbs +13 -0
  564. data/sig/tungo/models/api_key_warning_code.rbs +15 -0
  565. data/sig/tungo/models/approve_batch_company_proposals_response.rbs +12 -0
  566. data/sig/tungo/models/approve_error.rbs +14 -0
  567. data/sig/tungo/models/approve_error_error.rbs +27 -0
  568. data/sig/tungo/models/approve_request.rbs +14 -0
  569. data/sig/tungo/models/audit_entry.rbs +21 -0
  570. data/sig/tungo/models/audit_entry_action.rbs +142 -0
  571. data/sig/tungo/models/audit_entry_actor.rbs +14 -0
  572. data/sig/tungo/models/audit_entry_actor_type.rbs +14 -0
  573. data/sig/tungo/models/audit_entry_target.rbs +13 -0
  574. data/sig/tungo/models/automation_auto_approve.rbs +15 -0
  575. data/sig/tungo/models/automation_auto_approve_kind_item.rbs +21 -0
  576. data/sig/tungo/models/automation_deleted.rbs +13 -0
  577. data/sig/tungo/models/automation_event_filter.rbs +12 -0
  578. data/sig/tungo/models/automation_filter_condition.rbs +14 -0
  579. data/sig/tungo/models/automation_filter_condition_op.rbs +20 -0
  580. data/sig/tungo/models/automation_filter_condition_value.rbs +12 -0
  581. data/sig/tungo/models/automation_filter_condition_value_option4_item.rbs +12 -0
  582. data/sig/tungo/models/automation_hook.rbs +21 -0
  583. data/sig/tungo/models/automation_hook_accepted.rbs +15 -0
  584. data/sig/tungo/models/automation_hook_create.rbs +15 -0
  585. data/sig/tungo/models/automation_hook_event.rbs +21 -0
  586. data/sig/tungo/models/automation_hook_event_encoding.rbs +13 -0
  587. data/sig/tungo/models/automation_hook_event_source.rbs +13 -0
  588. data/sig/tungo/models/automation_hook_patch.rbs +16 -0
  589. data/sig/tungo/models/automation_hook_test_input.rbs +14 -0
  590. data/sig/tungo/models/automation_hook_test_result.rbs +21 -0
  591. data/sig/tungo/models/automation_hook_test_result_external_id_source.rbs +15 -0
  592. data/sig/tungo/models/automation_hook_test_scenario.rbs +18 -0
  593. data/sig/tungo/models/automation_hook_test_scenario_failed_condition.rbs +14 -0
  594. data/sig/tungo/models/automation_hook_with_token.rbs +24 -0
  595. data/sig/tungo/models/automation_manual_run.rbs +42 -0
  596. data/sig/tungo/models/automation_manual_run_output_error.rbs +13 -0
  597. data/sig/tungo/models/automation_manual_run_output_value.rbs +12 -0
  598. data/sig/tungo/models/automation_manual_run_state.rbs +17 -0
  599. data/sig/tungo/models/automation_manual_run_trigger.rbs +16 -0
  600. data/sig/tungo/models/automation_output_field.rbs +12 -0
  601. data/sig/tungo/models/automation_output_field_option1.rbs +13 -0
  602. data/sig/tungo/models/automation_output_field_option2.rbs +13 -0
  603. data/sig/tungo/models/automation_output_field_option3.rbs +13 -0
  604. data/sig/tungo/models/automation_output_field_option4.rbs +13 -0
  605. data/sig/tungo/models/automation_output_field_option5.rbs +14 -0
  606. data/sig/tungo/models/automation_output_spec.rbs +11 -0
  607. data/sig/tungo/models/automation_run.rbs +41 -0
  608. data/sig/tungo/models/automation_run_detail.rbs +42 -0
  609. data/sig/tungo/models/automation_run_detail_output_error.rbs +13 -0
  610. data/sig/tungo/models/automation_run_detail_output_value.rbs +12 -0
  611. data/sig/tungo/models/automation_run_detail_state.rbs +17 -0
  612. data/sig/tungo/models/automation_run_detail_trigger.rbs +16 -0
  613. data/sig/tungo/models/automation_run_output_error.rbs +13 -0
  614. data/sig/tungo/models/automation_run_output_value.rbs +12 -0
  615. data/sig/tungo/models/automation_run_proposal.rbs +18 -0
  616. data/sig/tungo/models/automation_run_proposal_auto.rbs +15 -0
  617. data/sig/tungo/models/automation_run_proposal_code.rbs +17 -0
  618. data/sig/tungo/models/automation_run_proposal_status.rbs +19 -0
  619. data/sig/tungo/models/automation_run_proposal_status_auto.rbs +15 -0
  620. data/sig/tungo/models/automation_run_proposal_status_code.rbs +17 -0
  621. data/sig/tungo/models/automation_run_state.rbs +17 -0
  622. data/sig/tungo/models/automation_run_step.rbs +24 -0
  623. data/sig/tungo/models/automation_run_step_action.rbs +15 -0
  624. data/sig/tungo/models/automation_run_step_output_error.rbs +13 -0
  625. data/sig/tungo/models/automation_run_step_output_value.rbs +12 -0
  626. data/sig/tungo/models/automation_run_step_skipped_by.rbs +15 -0
  627. data/sig/tungo/models/automation_run_step_state.rbs +16 -0
  628. data/sig/tungo/models/automation_run_trigger.rbs +16 -0
  629. data/sig/tungo/models/automation_scenario.rbs +24 -0
  630. data/sig/tungo/models/automation_scenario_action.rbs +14 -0
  631. data/sig/tungo/models/automation_scenario_enabled.rbs +12 -0
  632. data/sig/tungo/models/automation_scenario_input.rbs +19 -0
  633. data/sig/tungo/models/automation_scenario_input_action.rbs +14 -0
  634. data/sig/tungo/models/automation_scenario_input_auto_approve.rbs +15 -0
  635. data/sig/tungo/models/automation_scenario_input_auto_approve_kind_item.rbs +21 -0
  636. data/sig/tungo/models/automation_scenario_input_trigger.rbs +12 -0
  637. data/sig/tungo/models/automation_scenario_input_trigger_option1.rbs +14 -0
  638. data/sig/tungo/models/automation_scenario_input_trigger_option2.rbs +13 -0
  639. data/sig/tungo/models/automation_scenario_input_trigger_option3.rbs +14 -0
  640. data/sig/tungo/models/automation_scenario_input_trigger_option3_event.rbs +20 -0
  641. data/sig/tungo/models/automation_scenario_input_trigger_option4.rbs +12 -0
  642. data/sig/tungo/models/automation_scenario_run_input.rbs +12 -0
  643. data/sig/tungo/models/automation_scenario_saved.rbs +25 -0
  644. data/sig/tungo/models/automation_scenario_saved_action.rbs +14 -0
  645. data/sig/tungo/models/automation_scenario_step.rbs +15 -0
  646. data/sig/tungo/models/automation_scenario_step_action.rbs +15 -0
  647. data/sig/tungo/models/automation_scenario_step_when.rbs +15 -0
  648. data/sig/tungo/models/automation_schedule.rbs +12 -0
  649. data/sig/tungo/models/automation_schedule_daily.rbs +13 -0
  650. data/sig/tungo/models/automation_schedule_interval.rbs +16 -0
  651. data/sig/tungo/models/automation_schedule_monthly.rbs +16 -0
  652. data/sig/tungo/models/automation_schedule_weekly.rbs +14 -0
  653. data/sig/tungo/models/automation_state.rbs +16 -0
  654. data/sig/tungo/models/automation_state_input.rbs +13 -0
  655. data/sig/tungo/models/automation_step.rbs +15 -0
  656. data/sig/tungo/models/automation_step_action.rbs +15 -0
  657. data/sig/tungo/models/automation_step_when.rbs +15 -0
  658. data/sig/tungo/models/automation_trigger.rbs +12 -0
  659. data/sig/tungo/models/automation_trigger_event.rbs +14 -0
  660. data/sig/tungo/models/automation_trigger_event_event.rbs +20 -0
  661. data/sig/tungo/models/automation_trigger_hook.rbs +14 -0
  662. data/sig/tungo/models/automation_trigger_manual.rbs +12 -0
  663. data/sig/tungo/models/automation_trigger_schedule.rbs +14 -0
  664. data/sig/tungo/models/autonomy_level.rbs +18 -0
  665. data/sig/tungo/models/bank_statement_job_request.rbs +15 -0
  666. data/sig/tungo/models/batch_approve_job.rbs +23 -0
  667. data/sig/tungo/models/batch_approve_job_kind.rbs +15 -0
  668. data/sig/tungo/models/batch_approve_request.rbs +18 -0
  669. data/sig/tungo/models/batch_approve_response.rbs +23 -0
  670. data/sig/tungo/models/batch_approve_response_stopped.rbs +13 -0
  671. data/sig/tungo/models/batch_approve_result.rbs +19 -0
  672. data/sig/tungo/models/batch_approve_result_outcome.rbs +24 -0
  673. data/sig/tungo/models/batch_job.rbs +20 -0
  674. data/sig/tungo/models/batch_job_kind.rbs +15 -0
  675. data/sig/tungo/models/batch_job_list.rbs +13 -0
  676. data/sig/tungo/models/batch_job_report.rbs +24 -0
  677. data/sig/tungo/models/batch_job_report_gateway.rbs +13 -0
  678. data/sig/tungo/models/batch_job_row.rbs +20 -0
  679. data/sig/tungo/models/batch_job_row_status.rbs +16 -0
  680. data/sig/tungo/models/batch_manual_row.rbs +15 -0
  681. data/sig/tungo/models/batch_row_question.rbs +14 -0
  682. data/sig/tungo/models/batch_row_question_option_item.rbs +13 -0
  683. data/sig/tungo/models/batch_stop_result.rbs +13 -0
  684. data/sig/tungo/models/batch_summary.rbs +22 -0
  685. data/sig/tungo/models/batch_summary_approve.rbs +14 -0
  686. data/sig/tungo/models/batch_summary_approve_body.rbs +13 -0
  687. data/sig/tungo/models/batch_summary_kind.rbs +15 -0
  688. data/sig/tungo/models/batch_summary_proposal.rbs +20 -0
  689. data/sig/tungo/models/batch_summary_proposal_outcome.rbs +17 -0
  690. data/sig/tungo/models/batch_summary_totals.rbs +22 -0
  691. data/sig/tungo/models/card_session.rbs +14 -0
  692. data/sig/tungo/models/chat_answer_request.rbs +14 -0
  693. data/sig/tungo/models/chat_assistant_message.rbs +19 -0
  694. data/sig/tungo/models/chat_assistant_message_state.rbs +14 -0
  695. data/sig/tungo/models/chat_attachment.rbs +14 -0
  696. data/sig/tungo/models/chat_attachment_meta.rbs +14 -0
  697. data/sig/tungo/models/chat_choice_answer.rbs +13 -0
  698. data/sig/tungo/models/chat_choice_option.rbs +14 -0
  699. data/sig/tungo/models/chat_choice_question.rbs +15 -0
  700. data/sig/tungo/models/chat_citation.rbs +15 -0
  701. data/sig/tungo/models/chat_dialog.rbs +23 -0
  702. data/sig/tungo/models/chat_dialog_closed.rbs +13 -0
  703. data/sig/tungo/models/chat_dialog_deleted.rbs +13 -0
  704. data/sig/tungo/models/chat_dialog_list.rbs +13 -0
  705. data/sig/tungo/models/chat_dialog_patch.rbs +12 -0
  706. data/sig/tungo/models/chat_dialog_renamed.rbs +13 -0
  707. data/sig/tungo/models/chat_dialog_summary.rbs +16 -0
  708. data/sig/tungo/models/chat_event.rbs +12 -0
  709. data/sig/tungo/models/chat_event_batch.rbs +18 -0
  710. data/sig/tungo/models/chat_event_batch_outcome.rbs +16 -0
  711. data/sig/tungo/models/chat_event_batch_report.rbs +14 -0
  712. data/sig/tungo/models/chat_event_batch_stage.rbs +14 -0
  713. data/sig/tungo/models/chat_event_choice.rbs +14 -0
  714. data/sig/tungo/models/chat_event_citation.rbs +16 -0
  715. data/sig/tungo/models/chat_event_done.rbs +17 -0
  716. data/sig/tungo/models/chat_event_error.rbs +14 -0
  717. data/sig/tungo/models/chat_event_progress.rbs +14 -0
  718. data/sig/tungo/models/chat_event_proposal.rbs +14 -0
  719. data/sig/tungo/models/chat_event_question.rbs +14 -0
  720. data/sig/tungo/models/chat_event_status.rbs +14 -0
  721. data/sig/tungo/models/chat_event_status_code.rbs +14 -0
  722. data/sig/tungo/models/chat_event_text.rbs +14 -0
  723. data/sig/tungo/models/chat_event_thinking.rbs +13 -0
  724. data/sig/tungo/models/chat_event_tool.rbs +16 -0
  725. data/sig/tungo/models/chat_event_tool_status.rbs +14 -0
  726. data/sig/tungo/models/chat_history_block.rbs +12 -0
  727. data/sig/tungo/models/chat_history_error.rbs +14 -0
  728. data/sig/tungo/models/chat_history_error_code.rbs +26 -0
  729. data/sig/tungo/models/chat_history_proposal.rbs +13 -0
  730. data/sig/tungo/models/chat_history_question.rbs +14 -0
  731. data/sig/tungo/models/chat_history_text.rbs +13 -0
  732. data/sig/tungo/models/chat_history_tool.rbs +16 -0
  733. data/sig/tungo/models/chat_history_tool_status.rbs +13 -0
  734. data/sig/tungo/models/chat_message.rbs +12 -0
  735. data/sig/tungo/models/chat_message_request.rbs +20 -0
  736. data/sig/tungo/models/chat_message_request_mode.rbs +14 -0
  737. data/sig/tungo/models/chat_pending_question.rbs +13 -0
  738. data/sig/tungo/models/chat_question.rbs +13 -0
  739. data/sig/tungo/models/chat_stop_result.rbs +14 -0
  740. data/sig/tungo/models/chat_token_count.rbs +16 -0
  741. data/sig/tungo/models/chat_token_count_request.rbs +15 -0
  742. data/sig/tungo/models/chat_token_count_request_mode.rbs +14 -0
  743. data/sig/tungo/models/chat_turn_error.rbs +16 -0
  744. data/sig/tungo/models/chat_turn_error_code.rbs +26 -0
  745. data/sig/tungo/models/chat_turn_error_limit_kind.rbs +13 -0
  746. data/sig/tungo/models/chat_turn_proposal.rbs +13 -0
  747. data/sig/tungo/models/chat_turn_result.rbs +21 -0
  748. data/sig/tungo/models/chat_turn_usage.rbs +16 -0
  749. data/sig/tungo/models/chat_usage.rbs +15 -0
  750. data/sig/tungo/models/chat_user_message.rbs +17 -0
  751. data/sig/tungo/models/company.rbs +21 -0
  752. data/sig/tungo/models/company_autonomy.rbs +17 -0
  753. data/sig/tungo/models/company_autonomy_custom.rbs +13 -0
  754. data/sig/tungo/models/company_autonomy_defaults.rbs +13 -0
  755. data/sig/tungo/models/company_autonomy_input.rbs +14 -0
  756. data/sig/tungo/models/company_autonomy_input_levels.rbs +21 -0
  757. data/sig/tungo/models/company_autonomy_input_levels_advance_report.rbs +14 -0
  758. data/sig/tungo/models/company_autonomy_input_levels_bank_payment.rbs +14 -0
  759. data/sig/tungo/models/company_autonomy_input_levels_bank_receipt.rbs +14 -0
  760. data/sig/tungo/models/company_autonomy_input_levels_cash_order_in.rbs +14 -0
  761. data/sig/tungo/models/company_autonomy_input_levels_cash_order_out.rbs +14 -0
  762. data/sig/tungo/models/company_autonomy_input_levels_contract.rbs +14 -0
  763. data/sig/tungo/models/company_autonomy_input_levels_counterparty.rbs +14 -0
  764. data/sig/tungo/models/company_autonomy_input_levels_inventory_writeoff.rbs +14 -0
  765. data/sig/tungo/models/company_autonomy_input_levels_purchase.rbs +14 -0
  766. data/sig/tungo/models/company_autonomy_input_levels_sale.rbs +14 -0
  767. data/sig/tungo/models/company_autonomy_levels.rbs +21 -0
  768. data/sig/tungo/models/company_autonomy_levels_advance_report.rbs +14 -0
  769. data/sig/tungo/models/company_autonomy_levels_bank_payment.rbs +14 -0
  770. data/sig/tungo/models/company_autonomy_levels_bank_receipt.rbs +14 -0
  771. data/sig/tungo/models/company_autonomy_levels_cash_order_in.rbs +14 -0
  772. data/sig/tungo/models/company_autonomy_levels_cash_order_out.rbs +14 -0
  773. data/sig/tungo/models/company_autonomy_levels_contract.rbs +14 -0
  774. data/sig/tungo/models/company_autonomy_levels_counterparty.rbs +14 -0
  775. data/sig/tungo/models/company_autonomy_levels_inventory_writeoff.rbs +14 -0
  776. data/sig/tungo/models/company_autonomy_levels_purchase.rbs +14 -0
  777. data/sig/tungo/models/company_autonomy_levels_sale.rbs +14 -0
  778. data/sig/tungo/models/company_counts.rbs +13 -0
  779. data/sig/tungo/models/company_legal_form.rbs +15 -0
  780. data/sig/tungo/models/company_list_item.rbs +22 -0
  781. data/sig/tungo/models/company_permission.rbs +20 -0
  782. data/sig/tungo/models/company_status.rbs +14 -0
  783. data/sig/tungo/models/data_gap_form.rbs +15 -0
  784. data/sig/tungo/models/data_gap_form_status.rbs +22 -0
  785. data/sig/tungo/models/data_gap_item.rbs +19 -0
  786. data/sig/tungo/models/data_gap_object.rbs +14 -0
  787. data/sig/tungo/models/data_gaps.rbs +17 -0
  788. data/sig/tungo/models/data_gaps_summary.rbs +17 -0
  789. data/sig/tungo/models/direct_bank_poll_result.rbs +14 -0
  790. data/sig/tungo/models/epay_return_links.rbs +13 -0
  791. data/sig/tungo/models/error.rbs +14 -0
  792. data/sig/tungo/models/error_detail.rbs +20 -0
  793. data/sig/tungo/models/error_detail_allowed_method_item.rbs +16 -0
  794. data/sig/tungo/models/error_detail_type.rbs +21 -0
  795. data/sig/tungo/models/esf_incoming_action.rbs +16 -0
  796. data/sig/tungo/models/esf_incoming_item.rbs +25 -0
  797. data/sig/tungo/models/esf_incoming_match.rbs +15 -0
  798. data/sig/tungo/models/esf_incoming_match_document.rbs +15 -0
  799. data/sig/tungo/models/esf_incoming_match_status.rbs +16 -0
  800. data/sig/tungo/models/esf_incoming_report.rbs +17 -0
  801. data/sig/tungo/models/esf_outgoing_item.rbs +20 -0
  802. data/sig/tungo/models/esf_outgoing_item_esf.rbs +16 -0
  803. data/sig/tungo/models/esf_outgoing_item_tax_invoice.rbs +14 -0
  804. data/sig/tungo/models/esf_outgoing_report.rbs +16 -0
  805. data/sig/tungo/models/esf_purchases_job_request.rbs +14 -0
  806. data/sig/tungo/models/esf_sale.rbs +18 -0
  807. data/sig/tungo/models/esf_verdict.rbs +14 -0
  808. data/sig/tungo/models/feed_action.rbs +18 -0
  809. data/sig/tungo/models/feed_action_action.rbs +17 -0
  810. data/sig/tungo/models/feed_action_method.rbs +13 -0
  811. data/sig/tungo/models/feed_item.rbs +27 -0
  812. data/sig/tungo/models/feed_page.rbs +15 -0
  813. data/sig/tungo/models/feed_section.rbs +14 -0
  814. data/sig/tungo/models/feed_section_counts.rbs +14 -0
  815. data/sig/tungo/models/feed_section_titles.rbs +14 -0
  816. data/sig/tungo/models/field_error.rbs +14 -0
  817. data/sig/tungo/models/field_error_code.rbs +22 -0
  818. data/sig/tungo/models/financial_notes.rbs +19 -0
  819. data/sig/tungo/models/financial_notes_organization.rbs +13 -0
  820. data/sig/tungo/models/financial_notes_section.rbs +20 -0
  821. data/sig/tungo/models/financial_notes_table.rbs +14 -0
  822. data/sig/tungo/models/financial_notes_table_row_item_item.rbs +12 -0
  823. data/sig/tungo/models/financial_notes_to_fill.rbs +15 -0
  824. data/sig/tungo/models/form_missing_action.rbs +17 -0
  825. data/sig/tungo/models/form_missing_data.rbs +17 -0
  826. data/sig/tungo/models/form_onec_object.rbs +13 -0
  827. data/sig/tungo/models/get_workspace_platform_audit_response.rbs +13 -0
  828. data/sig/tungo/models/get_workspace_platform_ledger_response.rbs +13 -0
  829. data/sig/tungo/models/isna_file.rbs +11 -0
  830. data/sig/tungo/models/isna_response.rbs +12 -0
  831. data/sig/tungo/models/isna_summary.rbs +28 -0
  832. data/sig/tungo/models/isna_summary_download.rbs +13 -0
  833. data/sig/tungo/models/isna_summary_format.rbs +14 -0
  834. data/sig/tungo/models/isna_summary_period.rbs +15 -0
  835. data/sig/tungo/models/isna_summary_reconciliation.rbs +13 -0
  836. data/sig/tungo/models/list_companies_response.rbs +12 -0
  837. data/sig/tungo/models/list_company_automations_hooks_response.rbs +12 -0
  838. data/sig/tungo/models/list_company_automations_runs_response.rbs +13 -0
  839. data/sig/tungo/models/list_company_automations_scenarios_response.rbs +12 -0
  840. data/sig/tungo/models/list_usage_rates_response.rbs +12 -0
  841. data/sig/tungo/models/list_workspace_platform_requests_response.rbs +13 -0
  842. data/sig/tungo/models/list_workspace_webhooks_endpoint_attempts_response.rbs +13 -0
  843. data/sig/tungo/models/list_workspace_webhooks_endpoint_attempts_status.rbs +15 -0
  844. data/sig/tungo/models/list_workspace_webhooks_endpoints_response.rbs +13 -0
  845. data/sig/tungo/models/list_workspace_webhooks_event_types_response.rbs +12 -0
  846. data/sig/tungo/models/list_workspace_webhooks_message_attempts_response.rbs +13 -0
  847. data/sig/tungo/models/list_workspace_webhooks_messages_response.rbs +13 -0
  848. data/sig/tungo/models/list_workspaces_response.rbs +12 -0
  849. data/sig/tungo/models/money.rbs +14 -0
  850. data/sig/tungo/models/my_workspace.rbs +16 -0
  851. data/sig/tungo/models/my_workspace_kind.rbs +14 -0
  852. data/sig/tungo/models/one_c_capability.rbs +15 -0
  853. data/sig/tungo/models/one_c_capability_id.rbs +20 -0
  854. data/sig/tungo/models/one_c_capability_status.rbs +15 -0
  855. data/sig/tungo/models/one_c_gateway.rbs +15 -0
  856. data/sig/tungo/models/one_c_status.rbs +15 -0
  857. data/sig/tungo/models/one_c_status_last_check.rbs +16 -0
  858. data/sig/tungo/models/one_c_status_last_check_verdict.rbs +14 -0
  859. data/sig/tungo/models/pay_form.rbs +15 -0
  860. data/sig/tungo/models/payment_method.rbs +17 -0
  861. data/sig/tungo/models/platform_account.rbs +20 -0
  862. data/sig/tungo/models/platform_account_blocked_reason.rbs +14 -0
  863. data/sig/tungo/models/platform_account_purchase_limits.rbs +14 -0
  864. data/sig/tungo/models/platform_auto_reload.rbs +15 -0
  865. data/sig/tungo/models/platform_ledger_entry.rbs +21 -0
  866. data/sig/tungo/models/platform_ledger_entry_kind.rbs +15 -0
  867. data/sig/tungo/models/platform_limits.rbs +14 -0
  868. data/sig/tungo/models/platform_limits_concurrent_turns.rbs +13 -0
  869. data/sig/tungo/models/platform_limits_files.rbs +20 -0
  870. data/sig/tungo/models/platform_limits_rate.rbs +13 -0
  871. data/sig/tungo/models/platform_limits_rate_key.rbs +14 -0
  872. data/sig/tungo/models/platform_limits_rate_workspace.rbs +14 -0
  873. data/sig/tungo/models/platform_purchase.rbs +15 -0
  874. data/sig/tungo/models/platform_purchase_input.rbs +13 -0
  875. data/sig/tungo/models/platform_purchase_status.rbs +21 -0
  876. data/sig/tungo/models/platform_request.rbs +23 -0
  877. data/sig/tungo/models/platform_settings_input.rbs +14 -0
  878. data/sig/tungo/models/platform_settings_input_auto_reload.rbs +15 -0
  879. data/sig/tungo/models/platform_usage.rbs +18 -0
  880. data/sig/tungo/models/platform_usage_by_company_item.rbs +18 -0
  881. data/sig/tungo/models/platform_usage_by_day_item.rbs +18 -0
  882. data/sig/tungo/models/platform_usage_by_key_item.rbs +18 -0
  883. data/sig/tungo/models/platform_usage_by_model_item.rbs +18 -0
  884. data/sig/tungo/models/platform_usage_totals.rbs +17 -0
  885. data/sig/tungo/models/proposal_account.rbs +15 -0
  886. data/sig/tungo/models/proposal_action.rbs +19 -0
  887. data/sig/tungo/models/proposal_action_action.rbs +14 -0
  888. data/sig/tungo/models/proposal_advance_offset.rbs +16 -0
  889. data/sig/tungo/models/proposal_approval.rbs +15 -0
  890. data/sig/tungo/models/proposal_card.rbs +42 -0
  891. data/sig/tungo/models/proposal_contract.rbs +16 -0
  892. data/sig/tungo/models/proposal_decision.rbs +18 -0
  893. data/sig/tungo/models/proposal_document.rbs +14 -0
  894. data/sig/tungo/models/proposal_header.rbs +24 -0
  895. data/sig/tungo/models/proposal_history_event.rbs +16 -0
  896. data/sig/tungo/models/proposal_kind.rbs +22 -0
  897. data/sig/tungo/models/proposal_line.rbs +23 -0
  898. data/sig/tungo/models/proposal_line_item.rbs +13 -0
  899. data/sig/tungo/models/proposal_line_section.rbs +13 -0
  900. data/sig/tungo/models/proposal_list_item.rbs +30 -0
  901. data/sig/tungo/models/proposal_page.rbs +15 -0
  902. data/sig/tungo/models/proposal_party.rbs +14 -0
  903. data/sig/tungo/models/proposal_posting.rbs +16 -0
  904. data/sig/tungo/models/proposal_result.rbs +15 -0
  905. data/sig/tungo/models/proposal_source.rbs +13 -0
  906. data/sig/tungo/models/proposal_source_channel.rbs +16 -0
  907. data/sig/tungo/models/proposal_status.rbs +19 -0
  908. data/sig/tungo/models/reject_request.rbs +13 -0
  909. data/sig/tungo/models/statement_day.rbs +22 -0
  910. data/sig/tungo/models/statement_day_counts.rbs +17 -0
  911. data/sig/tungo/models/statement_day_kind.rbs +15 -0
  912. data/sig/tungo/models/statement_day_list.rbs +13 -0
  913. data/sig/tungo/models/tax_form_cell.rbs +23 -0
  914. data/sig/tungo/models/tax_form_cell_cause.rbs +18 -0
  915. data/sig/tungo/models/tax_form_cell_diff.rbs +12 -0
  916. data/sig/tungo/models/tax_form_cell_one_c_value.rbs +12 -0
  917. data/sig/tungo/models/tax_form_cell_ours_value.rbs +12 -0
  918. data/sig/tungo/models/tax_form_cell_status.rbs +15 -0
  919. data/sig/tungo/models/tax_form_cell_type.rbs +16 -0
  920. data/sig/tungo/models/tax_form_due.rbs +20 -0
  921. data/sig/tungo/models/tax_form_list_item.rbs +22 -0
  922. data/sig/tungo/models/tax_form_list_item_coverage.rbs +13 -0
  923. data/sig/tungo/models/tax_form_list_item_group.rbs +15 -0
  924. data/sig/tungo/models/tax_form_list_item_required.rbs +12 -0
  925. data/sig/tungo/models/tax_form_only_in_one_c.rbs +13 -0
  926. data/sig/tungo/models/tax_form_period.rbs +16 -0
  927. data/sig/tungo/models/tax_form_reference.rbs +15 -0
  928. data/sig/tungo/models/tax_form_totals.rbs +15 -0
  929. data/sig/tungo/models/tax_form_view.rbs +26 -0
  930. data/sig/tungo/models/tax_form_view_coverage.rbs +13 -0
  931. data/sig/tungo/models/tax_form_view_uncovered.rbs +13 -0
  932. data/sig/tungo/models/tax_form_view_uncovered_cell_item.rbs +13 -0
  933. data/sig/tungo/models/tax_forms_year.rbs +15 -0
  934. data/sig/tungo/models/tax_period_kind.rbs +16 -0
  935. data/sig/tungo/models/tax_period_ref.rbs +13 -0
  936. data/sig/tungo/models/usage_rate.rbs +17 -0
  937. data/sig/tungo/models/webhook_attempt.rbs +20 -0
  938. data/sig/tungo/models/webhook_attempt_status.rbs +15 -0
  939. data/sig/tungo/models/webhook_attempt_trigger.rbs +13 -0
  940. data/sig/tungo/models/webhook_endpoint.rbs +19 -0
  941. data/sig/tungo/models/webhook_endpoint_create.rbs +16 -0
  942. data/sig/tungo/models/webhook_endpoint_created.rbs +21 -0
  943. data/sig/tungo/models/webhook_endpoint_patch.rbs +16 -0
  944. data/sig/tungo/models/webhook_envelope.rbs +17 -0
  945. data/sig/tungo/models/webhook_event.rbs +12 -0
  946. data/sig/tungo/models/webhook_event_api_key_cap_reached.rbs +17 -0
  947. data/sig/tungo/models/webhook_event_api_key_cap_reached_data.rbs +17 -0
  948. data/sig/tungo/models/webhook_event_api_key_expiring.rbs +17 -0
  949. data/sig/tungo/models/webhook_event_api_key_expiring_data.rbs +15 -0
  950. data/sig/tungo/models/webhook_event_automation_run_completed.rbs +17 -0
  951. data/sig/tungo/models/webhook_event_automation_run_completed_data.rbs +29 -0
  952. data/sig/tungo/models/webhook_event_automation_run_completed_data_output_error.rbs +13 -0
  953. data/sig/tungo/models/webhook_event_automation_run_completed_data_output_value.rbs +12 -0
  954. data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item.rbs +19 -0
  955. data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto.rbs +15 -0
  956. data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto_code.rbs +17 -0
  957. data/sig/tungo/models/webhook_event_automation_run_failed.rbs +17 -0
  958. data/sig/tungo/models/webhook_event_automation_run_failed_data.rbs +29 -0
  959. data/sig/tungo/models/webhook_event_automation_run_failed_data_output_error.rbs +13 -0
  960. data/sig/tungo/models/webhook_event_automation_run_failed_data_output_value.rbs +12 -0
  961. data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item.rbs +19 -0
  962. data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto.rbs +15 -0
  963. data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto_code.rbs +17 -0
  964. data/sig/tungo/models/webhook_event_automation_run_notice.rbs +17 -0
  965. data/sig/tungo/models/webhook_event_automation_run_notice_data.rbs +21 -0
  966. data/sig/tungo/models/webhook_event_automation_run_notice_data_reason.rbs +15 -0
  967. data/sig/tungo/models/webhook_event_automation_write_unknown.rbs +17 -0
  968. data/sig/tungo/models/webhook_event_automation_write_unknown_data.rbs +16 -0
  969. data/sig/tungo/models/webhook_event_bank_statement_received.rbs +17 -0
  970. data/sig/tungo/models/webhook_event_bank_statement_received_data.rbs +17 -0
  971. data/sig/tungo/models/webhook_event_bank_statement_received_data_source.rbs +13 -0
  972. data/sig/tungo/models/webhook_event_batch_completed.rbs +17 -0
  973. data/sig/tungo/models/webhook_event_batch_completed_data.rbs +22 -0
  974. data/sig/tungo/models/webhook_event_batch_completed_data_kind.rbs +13 -0
  975. data/sig/tungo/models/webhook_event_batch_failed.rbs +17 -0
  976. data/sig/tungo/models/webhook_event_batch_failed_data.rbs +14 -0
  977. data/sig/tungo/models/webhook_event_batch_failed_data_kind.rbs +13 -0
  978. data/sig/tungo/models/webhook_event_chat_turn_completed.rbs +17 -0
  979. data/sig/tungo/models/webhook_event_chat_turn_completed_data.rbs +17 -0
  980. data/sig/tungo/models/webhook_event_chat_turn_completed_data_usage.rbs +16 -0
  981. data/sig/tungo/models/webhook_event_esf_incoming_received.rbs +17 -0
  982. data/sig/tungo/models/webhook_event_esf_incoming_received_data.rbs +17 -0
  983. data/sig/tungo/models/webhook_event_onec_connection_changed.rbs +17 -0
  984. data/sig/tungo/models/webhook_event_onec_connection_changed_data.rbs +16 -0
  985. data/sig/tungo/models/webhook_event_onec_connection_changed_data_reason.rbs +20 -0
  986. data/sig/tungo/models/webhook_event_onec_connection_changed_data_state.rbs +13 -0
  987. data/sig/tungo/models/webhook_event_payment_failed.rbs +17 -0
  988. data/sig/tungo/models/webhook_event_payment_failed_data.rbs +17 -0
  989. data/sig/tungo/models/webhook_event_payment_succeeded.rbs +17 -0
  990. data/sig/tungo/models/webhook_event_payment_succeeded_data.rbs +17 -0
  991. data/sig/tungo/models/webhook_event_ping.rbs +17 -0
  992. data/sig/tungo/models/webhook_event_ping_data.rbs +11 -0
  993. data/sig/tungo/models/webhook_event_platform_balance_exhausted.rbs +17 -0
  994. data/sig/tungo/models/webhook_event_platform_balance_exhausted_data.rbs +13 -0
  995. data/sig/tungo/models/webhook_event_platform_balance_low.rbs +17 -0
  996. data/sig/tungo/models/webhook_event_platform_balance_low_data.rbs +13 -0
  997. data/sig/tungo/models/webhook_event_platform_cap_threshold_reached.rbs +17 -0
  998. data/sig/tungo/models/webhook_event_platform_cap_threshold_reached_data.rbs +15 -0
  999. data/sig/tungo/models/webhook_event_proposal_awaiting_approval.rbs +17 -0
  1000. data/sig/tungo/models/webhook_event_proposal_awaiting_approval_data.rbs +17 -0
  1001. data/sig/tungo/models/webhook_event_proposal_failed.rbs +17 -0
  1002. data/sig/tungo/models/webhook_event_proposal_failed_data.rbs +15 -0
  1003. data/sig/tungo/models/webhook_event_proposal_rejected.rbs +17 -0
  1004. data/sig/tungo/models/webhook_event_proposal_rejected_data.rbs +15 -0
  1005. data/sig/tungo/models/webhook_event_proposal_written.rbs +17 -0
  1006. data/sig/tungo/models/webhook_event_proposal_written_data.rbs +16 -0
  1007. data/sig/tungo/models/webhook_event_type.rbs +15 -0
  1008. data/sig/tungo/models/webhook_message.rbs +15 -0
  1009. data/sig/tungo/models/webhook_resend.rbs +12 -0
  1010. data/sig/tungo/models/webhook_secret.rbs +13 -0
  1011. data/sig/tungo/models/webhook_secret_rotated.rbs +14 -0
  1012. data/sig/tungo/models/webhook_usage.rbs +15 -0
  1013. data/sig/tungo/models/workspace_plan.rbs +14 -0
  1014. data/sig/tungo/resources/api_keys.rbs +12 -0
  1015. data/sig/tungo/resources/automations.rbs +33 -0
  1016. data/sig/tungo/resources/batches.rbs +20 -0
  1017. data/sig/tungo/resources/chat.rbs +21 -0
  1018. data/sig/tungo/resources/companies.rbs +11 -0
  1019. data/sig/tungo/resources/esf.rbs +13 -0
  1020. data/sig/tungo/resources/feed.rbs +12 -0
  1021. data/sig/tungo/resources/forms.rbs +14 -0
  1022. data/sig/tungo/resources/onec.rbs +10 -0
  1023. data/sig/tungo/resources/platform.rbs +19 -0
  1024. data/sig/tungo/resources/proposals.rbs +15 -0
  1025. data/sig/tungo/resources/webhooks.rbs +26 -0
  1026. data/sig/tungo/resources/workspaces.rbs +10 -0
  1027. data/sig/tungo/resources.rbs +25 -0
  1028. data/sig/tungo/runtime.rbs +392 -0
  1029. metadata +1110 -0
@@ -0,0 +1,426 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tungo
4
+ # The Tungo Platform API client.
5
+ #
6
+ # client = Tungo::Client.new(api_key: "tg_...", company_id: "co_...")
7
+ # result = client.ask("Покажи дебиторку за октябрь")
8
+ # puts result.answer
9
+ #
10
+ # A client is immutable and safe to share between threads. It keeps a pool of persistent
11
+ # connections; call {#close} to release them when the client is no longer needed.
12
+ class Client
13
+ include Resources::Accessors
14
+ include Helpers
15
+
16
+ DEFAULT_TIMEOUT = 60
17
+ DEFAULT_CHAT_TIMEOUT = 600
18
+ DEFAULT_CONNECT_TIMEOUT = 30
19
+ DEFAULT_STREAM_IDLE_TIMEOUT = 120
20
+ DEFAULT_MAX_RETRIES = 2
21
+ USER_AGENT = "tungo-sdk-ruby/#{VERSION}".freeze
22
+ OPTIONS = %i[api_key base_url webhook_secret workspace_id company_id timeout chat_timeout connect_timeout
23
+ stream_idle_timeout max_retries default_headers transport].freeze
24
+ private_constant :OPTIONS
25
+
26
+ # @return [String] the API origin, without a trailing slash
27
+ attr_reader :base_url
28
+ # @return [String, nil] workspace used when a call does not name one
29
+ attr_reader :workspace_id
30
+ # @return [String, nil] company used when a call does not name one
31
+ attr_reader :company_id
32
+ # @return [Numeric] seconds allowed for an ordinary request
33
+ attr_reader :timeout
34
+ # @return [Numeric] seconds allowed for a non-streaming chat turn
35
+ attr_reader :chat_timeout
36
+ # @return [Numeric] seconds allowed to establish a connection
37
+ attr_reader :connect_timeout
38
+ # @return [Numeric] seconds a stream may stay silent
39
+ attr_reader :stream_idle_timeout
40
+ # @return [Integer] how many times a failed request is repeated
41
+ attr_reader :max_retries
42
+ # @return [Hash{String=>String}] headers sent with every request
43
+ attr_reader :default_headers
44
+ # @return [#execute] the HTTP transport
45
+ attr_reader :transport
46
+
47
+ # @param api_key [String, nil] API key; defaults to the +TUNGO_API_KEY+ environment variable
48
+ # @param base_url [String, nil] API origin; defaults to +TUNGO_BASE_URL+, then to {DEFAULT_BASE_URL}
49
+ # @param webhook_secret [String, nil] signing secret used by {#verify_webhook}; defaults to
50
+ # +TUNGO_WEBHOOK_SECRET+
51
+ # @param workspace_id [String, nil] default workspace; defaults to +TUNGO_WORKSPACE_ID+
52
+ # @param company_id [String, nil] default company; defaults to +TUNGO_COMPANY_ID+
53
+ # @param timeout [Numeric] seconds for a whole ordinary request, including reading the body
54
+ # @param chat_timeout [Numeric] seconds for a whole non-streaming chat turn
55
+ # @param connect_timeout [Numeric] seconds to establish a connection
56
+ # @param stream_idle_timeout [Numeric] seconds a stream may stay silent
57
+ # @param max_retries [Integer] how many times a failed request is repeated when that is safe
58
+ # @param default_headers [Hash{String=>String}] headers added to every request
59
+ # @param transport [#execute, nil] HTTP transport; a {Tungo::Transport::NetHTTP} by default. A transport of
60
+ # your own must never follow a redirect: the request headers hold the API key (the built-in one never does)
61
+ # @raise [Tungo::ConfigError] when an option is invalid
62
+ def initialize(api_key: nil, base_url: nil, webhook_secret: nil, workspace_id: nil, company_id: nil,
63
+ timeout: DEFAULT_TIMEOUT, chat_timeout: DEFAULT_CHAT_TIMEOUT,
64
+ connect_timeout: DEFAULT_CONNECT_TIMEOUT, stream_idle_timeout: DEFAULT_STREAM_IDLE_TIMEOUT,
65
+ max_retries: DEFAULT_MAX_RETRIES, default_headers: {}, transport: nil)
66
+ @api_key = secret(api_key, "TUNGO_API_KEY", header: true)
67
+ @webhook_secret = secret(webhook_secret, "TUNGO_WEBHOOK_SECRET")
68
+ @base_url = check_base_url(setting(base_url, "TUNGO_BASE_URL") || DEFAULT_BASE_URL)
69
+ @workspace_id = setting(workspace_id, "TUNGO_WORKSPACE_ID")
70
+ @company_id = setting(company_id, "TUNGO_COMPANY_ID")
71
+ @timeout = seconds(:timeout, timeout)
72
+ @chat_timeout = seconds(:chat_timeout, chat_timeout)
73
+ @connect_timeout = seconds(:connect_timeout, connect_timeout)
74
+ @stream_idle_timeout = seconds(:stream_idle_timeout, stream_idle_timeout)
75
+ @max_retries = check_retries(max_retries)
76
+ @default_headers = Internal::Util.normalize_headers(default_headers).freeze
77
+ @transport = transport || Transport::NetHTTP.new
78
+ build_resources
79
+ freeze
80
+ end
81
+
82
+ # @return [Tungo::Client] a client with some options replaced; it shares the connection pool
83
+ def with_options(**overrides)
84
+ unknown = overrides.keys - OPTIONS
85
+ raise ConfigError, "unknown client option(s): #{unknown.join(", ")}" unless unknown.empty?
86
+
87
+ current = {
88
+ api_key: @api_key&.reveal, base_url: @base_url, webhook_secret: @webhook_secret&.reveal,
89
+ workspace_id: @workspace_id, company_id: @company_id, timeout: @timeout, chat_timeout: @chat_timeout,
90
+ connect_timeout: @connect_timeout, stream_idle_timeout: @stream_idle_timeout, max_retries: @max_retries,
91
+ default_headers: @default_headers, transport: @transport
92
+ }
93
+ self.class.new(**current, **overrides)
94
+ end
95
+
96
+ # Closes the idle connections of the pool. The client stays usable: new connections are
97
+ # opened on demand.
98
+ def close
99
+ @transport.close if @transport.respond_to?(:close)
100
+ nil
101
+ end
102
+
103
+ # The API key and the webhook secret are never shown.
104
+ def inspect
105
+ "#<#{self.class.name} base_url=#{@base_url.inspect} api_key=#{@api_key ? "[REDACTED]" : "nil"} " \
106
+ "workspace_id=#{@workspace_id.inspect} company_id=#{@company_id.inspect} " \
107
+ "timeout=#{@timeout} max_retries=#{@max_retries}>"
108
+ end
109
+ alias to_s inspect
110
+
111
+ def pretty_print(printer)
112
+ printer.text(inspect)
113
+ end
114
+
115
+ # @api private
116
+ # @return [String] the explicit company id, else the client's default
117
+ def resolve_company_id(explicit = nil)
118
+ setting(explicit, nil) || @company_id ||
119
+ raise(ConfigError, "No company: pass company_id: to the call or to Tungo::Client.new, or set TUNGO_COMPANY_ID")
120
+ end
121
+
122
+ # @api private
123
+ # @return [String] the explicit workspace id, else the client's default
124
+ def resolve_workspace_id(explicit = nil)
125
+ setting(explicit, nil) || @workspace_id ||
126
+ raise(ConfigError,
127
+ "No workspace: pass workspace_id: to the call or to Tungo::Client.new, or set TUNGO_WORKSPACE_ID")
128
+ end
129
+
130
+ # @api private
131
+ # @return [String, nil] the configured webhook secret
132
+ def webhook_secret
133
+ @webhook_secret&.reveal
134
+ end
135
+
136
+ # Performs a JSON request and decodes the result. Used by the generated resource methods.
137
+ #
138
+ # @api private
139
+ # @return [Tungo::Model, Tungo::APIResponse, Object] the decoded result; the response
140
+ # metadata itself when the operation has no response body
141
+ def request(model: nil, models: nil, long_running: false, options: nil, **spec)
142
+ options = RequestOptions.coerce(options)
143
+ call = prepare(options: options, accept: "application/json", **spec)
144
+ timeout = options.timeout || (long_running ? @chat_timeout : @timeout)
145
+ response, body = perform(call, options, timeout: timeout, streaming: false)
146
+ api_response = APIResponse.new(status: response.status, headers: response.headers)
147
+ type = (models && models[response.status]) || model
148
+ type.nil? ? api_response : decode(type, body, api_response)
149
+ end
150
+
151
+ # Performs a list request and wraps the result in a page that can fetch the next one.
152
+ #
153
+ # @api private
154
+ # @return [Tungo::Page]
155
+ def page(query: {}, **spec)
156
+ fetch = lambda do |cursor, seen|
157
+ cursor_query = cursor.nil? ? query : query.merge("cursor" => cursor)
158
+ used = cursor_query["cursor"]
159
+ used = nil unless used.is_a?(String)
160
+ Page.new(body: request(query: cursor_query, **spec), cursor: used, fetch: fetch, seen: [*seen, used].compact)
161
+ end
162
+ fetch.call(nil, [])
163
+ end
164
+
165
+ # Opens a server-sent event stream. Used by the generated resource methods.
166
+ #
167
+ # @api private
168
+ # @return [Tungo::Stream]
169
+ def stream(event:, stream_class: Stream, last_event_id: nil, options: nil, **spec)
170
+ options = RequestOptions.coerce(options)
171
+ headers = (spec.delete(:headers) || {}).merge("Last-Event-ID" => last_event_id, "Accept-Encoding" => "identity",
172
+ "Cache-Control" => "no-cache")
173
+ call = prepare(options: options, accept: "text/event-stream", headers: headers, **spec)
174
+ response, = perform(call, options, timeout: nil, streaming: true)
175
+ check_event_stream(response)
176
+ stream_class.new(response: response, decode: event_decoder(event))
177
+ end
178
+
179
+ private
180
+
181
+ Call = Data.define(:verb, :route, :url, :headers, :body, :keyed)
182
+ private_constant :Call
183
+
184
+ def setting(value, env)
185
+ value = ENV.fetch(env, nil) if value.nil? && env
186
+ return nil if value.nil?
187
+ raise ConfigError, "#{env || "an id"} must be a String, got #{value.class}" unless value.is_a?(String)
188
+
189
+ value.empty? ? nil : value
190
+ end
191
+
192
+ def secret(value, env, header: false)
193
+ value = setting(value, env)
194
+ Internal::Util.check_header_secret(value, env) if value && header
195
+ value && Internal::Secret.new(value)
196
+ end
197
+
198
+ def seconds(name, value)
199
+ return value if value.is_a?(Numeric) && value.positive? && value.to_f.finite?
200
+
201
+ raise ConfigError, "#{name} must be a positive number of seconds, got #{value.inspect}"
202
+ end
203
+
204
+ def check_retries(value)
205
+ return value if value.is_a?(Integer) && !value.negative?
206
+
207
+ raise ConfigError, "max_retries must be a non-negative Integer, got #{value.inspect}"
208
+ end
209
+
210
+ def check_base_url(value)
211
+ url = begin
212
+ URI(value)
213
+ rescue URI::InvalidURIError
214
+ nil
215
+ end
216
+ unless url.is_a?(URI::HTTP) && !url.host.to_s.empty?
217
+ raise ConfigError, "base_url must be an http(s) URL, got #{value.inspect}"
218
+ end
219
+
220
+ value.sub(%r{/+\z}, "").freeze
221
+ end
222
+
223
+ def api_key!
224
+ return @api_key.reveal if @api_key
225
+
226
+ raise ConfigError, "No API key: pass api_key: to Tungo::Client.new or set TUNGO_API_KEY"
227
+ end
228
+
229
+ def prepare(method:, path:, options:, accept:, path_params: {}, query: nil, body: OMIT, body_required: true,
230
+ raw_body: OMIT, content_type: OMIT, secret: nil, signature_header: nil, headers: nil, auth: :key,
231
+ idempotency_header: nil, idempotency_default: OMIT)
232
+ url = URI("#{@base_url}#{Internal::Util.build_path(path, path_params)}")
233
+ query_string = query ? Internal::Util.encode_query(query) : ""
234
+ url.query = query_string unless query_string.empty?
235
+
236
+ all = { "accept" => accept, "user-agent" => USER_AGENT }.merge(default_headers_for(auth))
237
+ all["x-api-key"] = api_key! if auth == :key
238
+ key = options.idempotency_key || idempotency_key(idempotency_header, idempotency_default)
239
+ all[(idempotency_header || "Idempotency-Key").downcase] = key if key
240
+ payload, type = encode_body(body, body_required, raw_body, content_type)
241
+ all["content-type"] = type if payload && type
242
+ all[signature_header.downcase] = Webhooks.sign_hook_payload(payload || "", secret) if signature_header && secret
243
+ merge_headers(all, headers)
244
+ merge_headers(all, options.extra_headers)
245
+ Call.new(verb: method.to_s.upcase, route: path, url: url, headers: all, body: payload, keyed: !key.nil?)
246
+ end
247
+
248
+ # An operation that is not authenticated with the API key (an incoming hook, a public
249
+ # endpoint) gets no credential from the client-wide headers. A header given for the call
250
+ # itself (+extra_headers+) is always sent.
251
+ def default_headers_for(auth)
252
+ auth == :key ? @default_headers : @default_headers.except(*Transport::CREDENTIAL_HEADERS)
253
+ end
254
+
255
+ def idempotency_key(header, default)
256
+ return nil if header.nil?
257
+
258
+ default.is_a?(String) && !default.empty? ? default : SecureRandom.uuid
259
+ end
260
+
261
+ def encode_body(body, body_required, raw_body, content_type)
262
+ type = OMIT.equal?(content_type) ? nil : content_type
263
+ body = body.reject { |_, value| OMIT.equal?(value) } if body.is_a?(Hash)
264
+ body = OMIT if !body_required && body.respond_to?(:empty?) && body.empty?
265
+ unless OMIT.equal?(body)
266
+ return [Internal::Util.generate_json(Internal::Type.wire(body)),
267
+ type || "application/json"]
268
+ end
269
+
270
+ case raw_body
271
+ when OMIT then [nil, nil]
272
+ when nil then ["".b, type]
273
+ when String then [raw_body.b, type || "application/octet-stream"]
274
+ else [Internal::Util.generate_json(Internal::Type.wire(raw_body)), type || "application/json"]
275
+ end
276
+ end
277
+
278
+ def merge_headers(all, extra)
279
+ (extra || {}).each do |name, value|
280
+ next if value.nil? || OMIT.equal?(value)
281
+
282
+ text = Internal::Util.scalar_text(value)
283
+ raise ValidationError, "the #{name} header must not contain line breaks" if text.match?(/[\r\n]/)
284
+
285
+ all[name.to_s.downcase] = text
286
+ end
287
+ end
288
+
289
+ # Sends the request, repeating it when the retry policy allows. Returns [response, body];
290
+ # for a successful streaming call the body is left unread.
291
+ def perform(call, options, timeout:, streaming:)
292
+ max_retries = options.max_retries || @max_retries
293
+ attempt = 0
294
+ loop do
295
+ outcome = attempt_once(call, options, timeout: timeout, streaming: streaming)
296
+ return outcome unless outcome.is_a?(Exception)
297
+
298
+ delay = retry_delay(call, outcome, attempt, max_retries)
299
+ raise outcome if delay.nil?
300
+
301
+ sleep(delay)
302
+ attempt += 1
303
+ end
304
+ end
305
+
306
+ # Returns [response, body] on success, or the error that ended the attempt.
307
+ def attempt_once(call, options, timeout:, streaming:)
308
+ response = @transport.execute(transport_request(call, options, timeout))
309
+ success = (200..299).cover?(response.status)
310
+ return [response, nil] if success && streaming
311
+
312
+ body = begin
313
+ response.read
314
+ ensure
315
+ response.close
316
+ end
317
+ return [response, body] if success
318
+
319
+ APIError.from_response(status: response.status, headers: response.headers, body: body)
320
+ rescue TimeoutError, ConnectionError => e
321
+ e
322
+ end
323
+
324
+ # Seconds to wait before repeating the request, or nil when it must not be repeated.
325
+ def retry_delay(call, error, attempt, max_retries)
326
+ cause = case error
327
+ when APIError then error.status
328
+ when TimeoutError then :timeout
329
+ else :connection_error
330
+ end
331
+ return nil unless attempt < max_retries && Internal::Util.retryable?(call.verb, call.keyed, cause)
332
+
333
+ requested = error.is_a?(APIError) ? error.retry_after : nil
334
+ # Zero, a negative number or a date in the past is no instruction to hammer the API at once.
335
+ return Internal::Util.backoff_delay(attempt) if requested.nil? || !requested.positive?
336
+
337
+ requested > Internal::Util::MAX_RETRY_AFTER_SECONDS ? nil : requested
338
+ end
339
+
340
+ def transport_request(call, options, timeout)
341
+ connect = options.connect_timeout || @connect_timeout
342
+ idle = timeout || options.idle_timeout || @stream_idle_timeout
343
+ Transport::Request.new(verb: call.verb, url: call.url, headers: call.headers, body: call.body,
344
+ timeout: timeout, connect_timeout: connect, idle_timeout: idle, route: call.route)
345
+ end
346
+
347
+ def decode(type, body, api_response)
348
+ data = parse_json(body, api_response)
349
+ unless data.is_a?(Hash)
350
+ raise DecodeError.new("Expected a JSON object in the response, got #{data.class}", api_response: api_response,
351
+ body: body)
352
+ end
353
+
354
+ value = Internal::Type.coerce(type, data)
355
+ problem = Internal::Type.mismatch(value, data)
356
+ if problem
357
+ raise DecodeError.new("The API returned status #{api_response.status} with a body that does not match " \
358
+ "the contract: #{problem}. The request itself was accepted: do not repeat a write " \
359
+ "because of this error", api_response: api_response, body: body)
360
+ end
361
+
362
+ value.is_a?(Model) ? value.with_api_response(api_response) : value
363
+ end
364
+
365
+ def parse_json(body, api_response)
366
+ text = body.to_s.dup.force_encoding(Encoding::UTF_8)
367
+ if text.strip.empty?
368
+ raise DecodeError.new("The API returned status #{api_response.status} with an empty body",
369
+ api_response: api_response, body: body)
370
+ end
371
+
372
+ Internal::Util.parse_json(text)
373
+ rescue JSON::ParserError, EncodingError, ArgumentError => e
374
+ raise DecodeError.new("The API returned status #{api_response.status} with a body that is not valid JSON " \
375
+ "(#{e.class})", api_response: api_response, body: body)
376
+ end
377
+
378
+ def check_event_stream(response)
379
+ type = response.headers["content-type"].to_s
380
+ return if type.split(";").first.to_s.strip.casecmp?("text/event-stream")
381
+
382
+ body = begin
383
+ response.read
384
+ ensure
385
+ response.close
386
+ end
387
+ raise DecodeError.new("The API answered status #{response.status} to a stream request with " \
388
+ "#{type.empty? ? "no Content-Type" : "the Content-Type #{type}"} instead of " \
389
+ "text/event-stream. The request itself was accepted: do not repeat a write " \
390
+ "because of this error",
391
+ api_response: APIResponse.new(status: response.status, headers: response.headers),
392
+ body: body)
393
+ end
394
+
395
+ # Builds the function that turns a server-sent event into a typed event.
396
+ def event_decoder(type)
397
+ union = !Models.const_get(type).is_a?(Class)
398
+ lambda do |sse|
399
+ next Stream::SKIP if sse.event == "ping" || sse.data.empty?
400
+
401
+ data = sse.json
402
+ raise_stream_error(data) if sse.event == "error" && !union
403
+ unless data.is_a?(Hash)
404
+ raise DecodeError.new("The #{sse.event.inspect} event is not a JSON object",
405
+ body: sse.data)
406
+ end
407
+
408
+ value = Internal::Type.coerce(type, data)
409
+ problem = Internal::Type.mismatch(value, data)
410
+ if problem
411
+ raise DecodeError.new("The #{sse.event.inspect} event does not match the contract: #{problem}",
412
+ body: sse.data)
413
+ end
414
+
415
+ value
416
+ end
417
+ end
418
+
419
+ def raise_stream_error(data)
420
+ data = {} unless data.is_a?(Hash)
421
+ code = data["error"].is_a?(String) ? data["error"] : nil
422
+ message = data["message"].is_a?(String) ? data["message"] : "The stream reported an error"
423
+ raise StreamError.new("#{message}#{" (code #{code})" if code}", code: code, data: data)
424
+ end
425
+ end
426
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by tungo-sdkgen from the Tungo Platform API contract. DO NOT EDIT.
4
+
5
+ module Tungo
6
+ # The production API origin, used unless base_url or TUNGO_BASE_URL says otherwise.
7
+ DEFAULT_BASE_URL = "https://api.tungo.kz"
8
+
9
+ # Version of the API contract this SDK was generated from.
10
+ CONTRACT_VERSION = "0.1.0"
11
+
12
+ # The +type+ of every webhook event known to this SDK version.
13
+ WEBHOOK_EVENT_TYPES = [
14
+ "api_key.cap_reached",
15
+ "api_key.expiring",
16
+ "automation.run.completed",
17
+ "automation.run.failed",
18
+ "automation.run.notice",
19
+ "automation.write_unknown",
20
+ "bank_statement.received",
21
+ "batch.completed",
22
+ "batch.failed",
23
+ "chat.turn.completed",
24
+ "esf.incoming.received",
25
+ "onec.connection.changed",
26
+ "payment.failed",
27
+ "payment.succeeded",
28
+ "ping",
29
+ "platform.balance_exhausted",
30
+ "platform.balance_low",
31
+ "platform.cap_threshold_reached",
32
+ "proposal.awaiting_approval",
33
+ "proposal.failed",
34
+ "proposal.rejected",
35
+ "proposal.written"
36
+ ].freeze
37
+ end