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,432 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tungo
4
+ module Internal
5
+ # Converts JSON values into typed values and back. A type is described by a spec:
6
+ # +:string+, +:integer+, +:number+, +:boolean+, +:any+, the name of a constant in
7
+ # {Tungo::Models} (+:Company+), +[:array, spec]+ or +[:map, spec]+.
8
+ #
9
+ # Converting never raises: a value of an unexpected shape is kept as it is, so that no data
10
+ # is lost. What the API sent is checked separately and lightly by {mismatch}: only the
11
+ # properties of the top-level object, only their JSON kind; +null+, unknown properties,
12
+ # unknown enumeration values and missing properties are always accepted, so a newer API
13
+ # does not break an older SDK.
14
+ module Type
15
+ PRIMITIVES = %i[string integer number boolean any].freeze
16
+
17
+ module_function
18
+
19
+ # @return [Object] the typed, deeply frozen value
20
+ def coerce(spec, value)
21
+ return nil if value.nil?
22
+
23
+ case spec
24
+ when Symbol
25
+ PRIMITIVES.include?(spec) ? plain(value) : Tungo::Models.const_get(spec).coerce(value)
26
+ when Array
27
+ coerce_collection(spec, value)
28
+ else
29
+ plain(value)
30
+ end
31
+ end
32
+
33
+ def coerce_collection(spec, value)
34
+ kind, element = spec
35
+ if kind == :array && value.is_a?(Array)
36
+ value.map { |item| coerce(element, item) }.freeze
37
+ elsif kind == :map && value.is_a?(Hash)
38
+ value.to_h { |key, item| [key.to_s, coerce(element, item)] }.freeze
39
+ else
40
+ plain(value)
41
+ end
42
+ end
43
+
44
+ # Compares the declared properties of a decoded top-level model with the JSON it came from.
45
+ #
46
+ # @param model [Object] the result of {coerce}; anything but a model is not checked
47
+ # @param data [Hash] the JSON object as parsed
48
+ # @return [String, nil] what is wrong with the first property of the wrong kind; the value
49
+ # itself is never quoted, it may be a secret
50
+ def mismatch(model, data)
51
+ return nil unless model.is_a?(Tungo::Model) && data.is_a?(Hash)
52
+
53
+ model.class.fields.each_value do |field|
54
+ value = data[field.api_name]
55
+ expected = value.nil? ? nil : unexpected(field.type, value)
56
+ next unless expected
57
+
58
+ return "the property #{field.api_name.inspect} of #{model.class.name.split("::").last} must be " \
59
+ "#{expected}, got #{json_kind(value)}"
60
+ end
61
+ nil
62
+ end
63
+
64
+ # @return [String, nil] the kind the spec demands when the value is of another kind
65
+ def unexpected(spec, value)
66
+ case spec
67
+ when :string then "a string" unless value.is_a?(String)
68
+ when :integer then "an integer" unless integral?(value)
69
+ when :number then "a number" unless value.is_a?(Numeric)
70
+ when :boolean then "a boolean" unless [true, false].include?(value)
71
+ when Array then unexpected_collection(spec.first, value)
72
+ when Symbol then PRIMITIVES.include?(spec) ? nil : unexpected_named(Tungo::Models.const_get(spec), value)
73
+ end
74
+ end
75
+
76
+ def unexpected_collection(kind, value)
77
+ if kind == :array
78
+ "an array" unless value.is_a?(Array)
79
+ elsif kind == :map
80
+ "an object" unless value.is_a?(Hash)
81
+ end
82
+ end
83
+
84
+ # A model is an object, an enumeration is a scalar, an alias is what it names; a union is
85
+ # not checked.
86
+ def unexpected_named(const, value)
87
+ case const
88
+ when Class then "an object" unless value.is_a?(Hash)
89
+ when Enum then "a string or a number" if value.is_a?(Hash) || value.is_a?(Array)
90
+ when Alias then unexpected(const.target, value)
91
+ end
92
+ end
93
+
94
+ def integral?(value)
95
+ value.is_a?(Integer) || (value.is_a?(BigDecimal) && value.finite? && value.frac.zero?)
96
+ end
97
+
98
+ def json_kind(value)
99
+ case value
100
+ when Hash then "an object"
101
+ when Array then "an array"
102
+ when String then "a string"
103
+ when Numeric then "a number"
104
+ else "a boolean"
105
+ end
106
+ end
107
+
108
+ # Turns an arbitrary value into frozen JSON-like data without assigning it a type.
109
+ def plain(value)
110
+ case value
111
+ when Hash then value.to_h { |key, item| [key.to_s, plain(item)] }.freeze
112
+ when Array then value.map { |item| plain(item) }.freeze
113
+ when Symbol then value.to_s
114
+ when String then value.frozen? ? value : value.dup.freeze
115
+ else value
116
+ end
117
+ end
118
+
119
+ # Renders a typed value as JSON-ready data (string keys, no model objects).
120
+ def wire(value)
121
+ case value
122
+ when Tungo::Model then value.to_wire
123
+ when Hash then value.to_h { |key, item| [key.to_s, wire(item)] }
124
+ when Array then value.map { |item| wire(item) }
125
+ when Symbol then value.to_s
126
+ when Time, Date then Util.scalar_text(value)
127
+ else value
128
+ end
129
+ end
130
+
131
+ # Renders a typed value as plain Ruby data with symbol keys.
132
+ def ruby(value)
133
+ case value
134
+ when Tungo::Model then value.to_h
135
+ when Hash then value.to_h { |key, item| [key.to_sym, ruby(item)] }
136
+ when Array then value.map { |item| ruby(item) }
137
+ else value
138
+ end
139
+ end
140
+ end
141
+
142
+ # Builders of container type specs, available inside generated model, union and alias bodies.
143
+ module Specs
144
+ module_function
145
+
146
+ # @return [Array] the spec of an array whose elements have the given spec
147
+ def array_of(element)
148
+ [:array, element].freeze
149
+ end
150
+
151
+ # @return [Array] the spec of an object with arbitrary keys whose values have the given spec
152
+ def map_of(element)
153
+ [:map, element].freeze
154
+ end
155
+ end
156
+
157
+ # Behaviour of a generated enumeration module. The values are plain strings (or numbers):
158
+ # a value this SDK version does not know is passed through unchanged.
159
+ module Enum
160
+ # @return [Array] every value known to this SDK version
161
+ def values
162
+ @values ||= constants(false).map { |name| const_get(name) }.freeze
163
+ end
164
+
165
+ # @return [Boolean] whether the value is known to this SDK version
166
+ def known?(value)
167
+ values.include?(value.is_a?(Symbol) ? value.to_s : value)
168
+ end
169
+
170
+ # @api private
171
+ def coerce(value)
172
+ Type.plain(value)
173
+ end
174
+ end
175
+
176
+ # Behaviour of a generated union module: +coerce+ picks the variant a JSON value belongs to.
177
+ module Union
178
+ include Specs
179
+
180
+ # @api private
181
+ def discriminated_by(property, mapping)
182
+ @discriminator = property
183
+ @mapping = mapping.freeze
184
+ end
185
+
186
+ # @api private
187
+ def variants(*specs)
188
+ @variants = specs.freeze unless specs.empty?
189
+ @variants || []
190
+ end
191
+
192
+ # @return [String, nil] the JSON property that selects the variant
193
+ attr_reader :discriminator
194
+
195
+ # @return [Hash{String=>Class}] discriminator value => model class
196
+ def mapping
197
+ (@mapping || {}).transform_values { |name| Tungo::Models.const_get(name) }
198
+ end
199
+
200
+ # @return [Object] a model of one of the variants, {Tungo::UnknownVariant} for an object
201
+ # that matches none of them, or the value itself for primitives
202
+ def coerce(value)
203
+ case value
204
+ when Tungo::Model then value
205
+ when Hash then coerce_object(value.transform_keys(&:to_s))
206
+ when Array then coerce_array(value)
207
+ else Type.plain(value)
208
+ end
209
+ end
210
+
211
+ private
212
+
213
+ def coerce_object(data)
214
+ klass = @discriminator ? tagged_class(data) : structural_class(data)
215
+ (klass || Tungo::UnknownVariant).from_wire(data)
216
+ end
217
+
218
+ def tagged_class(data)
219
+ name = (@mapping || {})[data[@discriminator].to_s] unless data[@discriminator].nil?
220
+ name && Tungo::Models.const_get(name)
221
+ end
222
+
223
+ # Without a discriminator the variant is the one whose required properties are all present;
224
+ # among several, the one that recognises the most properties.
225
+ def structural_class(data)
226
+ candidates = model_variants.select { |klass| klass.required_api_names.all? { |name| data.key?(name) } }
227
+ candidates.max_by { |klass| data.count { |name, _| klass.fields.key?(name) } }
228
+ end
229
+
230
+ def model_variants
231
+ variants.grep(Symbol).reject { |spec| Type::PRIMITIVES.include?(spec) }
232
+ .map { |spec| Tungo::Models.const_get(spec) }
233
+ .select { |const| const.is_a?(Class) && const <= Tungo::Model }
234
+ end
235
+
236
+ def coerce_array(value)
237
+ spec = variants.find { |candidate| candidate.is_a?(Array) && candidate.first == :array }
238
+ spec ? Type.coerce(spec, value) : Type.plain(value)
239
+ end
240
+ end
241
+
242
+ # Behaviour of a generated alias module: a name for another type.
243
+ module Alias
244
+ include Specs
245
+
246
+ # @api private
247
+ def target(spec = nil)
248
+ @target = spec unless spec.nil?
249
+ @target
250
+ end
251
+
252
+ # @api private
253
+ def coerce(value)
254
+ Type.coerce(@target, value)
255
+ end
256
+ end
257
+ end
258
+
259
+ # Base class of every generated model: an immutable value object with typed readers.
260
+ #
261
+ # * Fields the SDK does not know are retained and available through {#[]} and {#to_h}.
262
+ # * +nil+ and "absent" are different: {#key?} tells whether the property is present. A model
263
+ # built with +name: nil+ serialises +"name": null+; a model built without +name+ omits it.
264
+ # * Models are frozen. {#with} returns a changed copy.
265
+ class Model
266
+ # Describes one declared property.
267
+ Field = Data.define(:name, :api_name, :type, :required, :nullable)
268
+
269
+ class << self
270
+ include Internal::Specs
271
+
272
+ # @return [Hash{String=>Field}] declared properties by wire name
273
+ def fields
274
+ @fields ||= {}
275
+ end
276
+
277
+ # @return [Array<String>] wire names of the required properties
278
+ def required_api_names
279
+ @required_api_names ||= fields.values.select(&:required).map(&:api_name).freeze
280
+ end
281
+
282
+ # @return [Object, nil] type spec of additional properties, when the contract declares one
283
+ attr_reader :extra_type
284
+
285
+ # @return [Array<String>] wire names of the properties that hold credentials; {#inspect} hides their values
286
+ def sensitive_api_names
287
+ @sensitive_api_names || []
288
+ end
289
+
290
+ # Builds a model from a decoded JSON object (string or symbol keys).
291
+ #
292
+ # @param data [Hash]
293
+ # @return [Tungo::Model]
294
+ def from_wire(data, api_response: nil)
295
+ instance = allocate
296
+ instance.send(:load_attributes, data, api_response)
297
+ instance
298
+ end
299
+
300
+ # @api private
301
+ def coerce(value)
302
+ case value
303
+ when Tungo::Model then value
304
+ when Hash then from_wire(value)
305
+ else Internal::Type.plain(value)
306
+ end
307
+ end
308
+
309
+ # @api private
310
+ def api_name_for(key)
311
+ key = key.to_s
312
+ (@reader_names ||= {})[key] || key
313
+ end
314
+
315
+ private
316
+
317
+ def sensitive(*api_names)
318
+ @sensitive_api_names = api_names.map(&:to_s).freeze
319
+ end
320
+
321
+ def required(name, type, api_name: name.to_s, nullable: false)
322
+ declare(name, type, api_name, true, nullable)
323
+ end
324
+
325
+ def optional(name, type, api_name: name.to_s, nullable: false)
326
+ declare(name, type, api_name, false, nullable)
327
+ end
328
+
329
+ def additional_properties(type)
330
+ @extra_type = type
331
+ end
332
+
333
+ def declare(name, type, api_name, required, nullable)
334
+ fields[api_name] = Field.new(name: name, api_name: api_name, type: type, required: required, nullable: nullable)
335
+ (@reader_names ||= {})[name.to_s] = api_name
336
+ define_method(name) { @data[api_name] }
337
+ end
338
+ end
339
+
340
+ # @param attributes [Hash] properties by reader name or wire name; {Tungo::OMIT} values are skipped
341
+ def initialize(**attributes)
342
+ load_attributes(attributes, nil)
343
+ end
344
+
345
+ # @return [Tungo::APIResponse, nil] status and headers of the HTTP response this object was
346
+ # decoded from; nil for nested and hand-built objects
347
+ attr_reader :api_response
348
+
349
+ # Reads a property by reader name or wire name, including properties unknown to this SDK version.
350
+ def [](name)
351
+ @data[self.class.api_name_for(name)]
352
+ end
353
+
354
+ # @return [Boolean] whether the property is present (even when its value is nil)
355
+ def key?(name)
356
+ @data.key?(self.class.api_name_for(name))
357
+ end
358
+
359
+ # @return [Hash{Symbol=>Object}] the properties as plain Ruby data, nested models included
360
+ def to_h
361
+ @data.to_h { |name, value| [name.to_sym, Internal::Type.ruby(value)] }
362
+ end
363
+
364
+ # @return [Hash{String=>Object}] the properties exactly as they travel in JSON
365
+ def to_wire
366
+ @data.transform_values { |value| Internal::Type.wire(value) }
367
+ end
368
+
369
+ def to_json(*)
370
+ Internal::Util.generate_json(to_wire)
371
+ end
372
+
373
+ # @return [Tungo::Model] a copy with the given properties replaced
374
+ def with(**changes)
375
+ self.class.new(**@data, **changes.transform_keys { |key| self.class.api_name_for(key) })
376
+ end
377
+
378
+ def ==(other)
379
+ other.class == self.class && other.to_wire == to_wire
380
+ end
381
+ alias eql? ==
382
+
383
+ def hash
384
+ [self.class, to_wire].hash
385
+ end
386
+
387
+ def deconstruct_keys(_keys)
388
+ to_h
389
+ end
390
+
391
+ # A credential (an API key, a signing secret, a hook token) is shown as [REDACTED].
392
+ def inspect
393
+ hidden = self.class.sensitive_api_names
394
+ shown = @data.map do |name, value|
395
+ text = hidden.include?(name) && !value.nil? ? "[REDACTED]" : value.inspect
396
+ "#{name}=#{text}"
397
+ end
398
+ "#<#{self.class.name} #{shown.join(" ")}>"
399
+ end
400
+ alias to_s inspect
401
+
402
+ def pretty_print(printer)
403
+ printer.text(inspect)
404
+ end
405
+
406
+ # @api private
407
+ def with_api_response(api_response)
408
+ self.class.from_wire(@data, api_response: api_response)
409
+ end
410
+
411
+ private
412
+
413
+ def load_attributes(attributes, api_response)
414
+ data = {}
415
+ attributes.each do |key, value|
416
+ next if OMIT.equal?(value)
417
+
418
+ api_name = self.class.api_name_for(key)
419
+ field = self.class.fields[api_name]
420
+ data[api_name] = Internal::Type.coerce(field ? field.type : self.class.extra_type, value)
421
+ end
422
+ @data = data.freeze
423
+ @api_response = api_response
424
+ freeze
425
+ end
426
+ end
427
+
428
+ # A union member this SDK version does not know: an object whose discriminator value is new,
429
+ # or whose shape matches no known variant. Every property is retained ({Tungo::Model#[]},
430
+ # {Tungo::Model#to_h}).
431
+ class UnknownVariant < Model; end
432
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Tungo
4
+ # One server-sent event as it arrived on the wire.
5
+ #
6
+ # @!attribute event
7
+ # @return [String] the event name; "message" when the stream did not name it
8
+ # @!attribute data
9
+ # @return [String] the data lines joined with "\n"
10
+ # @!attribute id
11
+ # @return [String, nil] the last event id seen so far
12
+ # @!attribute retry
13
+ # @return [Integer, nil] the reconnection time in milliseconds, when this event set it
14
+ ServerSentEvent = Data.define(:event, :data, :id, :retry) do
15
+ # @return [Object] the data parsed as JSON
16
+ # @raise [Tungo::DecodeError] when the data is not valid JSON
17
+ def json
18
+ Internal::Util.parse_json(data)
19
+ rescue JSON::ParserError => e
20
+ raise DecodeError.new("The #{event.inspect} event does not carry valid JSON: #{e.message}", body: data)
21
+ end
22
+ end
23
+
24
+ module Internal
25
+ # Incremental parser of the text/event-stream format (WHATWG HTML, "event stream
26
+ # interpretation"). Feed it the bytes as they arrive; it yields every completed event.
27
+ # Lines may end with LF, CRLF or a bare CR, and both events and UTF-8 sequences may be split
28
+ # across chunks. An event that is not terminated by a blank line is discarded.
29
+ class SSEDecoder
30
+ BOM = "\xEF\xBB\xBF".b.freeze
31
+ LINE_END = /\r\n|\n|\r/n
32
+
33
+ def initialize
34
+ @buffer = String.new(encoding: Encoding::BINARY)
35
+ @start = true
36
+ @scanned = 0
37
+ @last_id = nil
38
+ reset_event
39
+ end
40
+
41
+ # @param chunk [String] the next bytes of the stream
42
+ # @yieldparam event [Tungo::ServerSentEvent]
43
+ def feed(chunk, &)
44
+ @buffer << chunk.b
45
+ return if @start && !bom_resolved?
46
+
47
+ offset = 0
48
+ scan = @scanned
49
+ while (index = @buffer.index(LINE_END, scan))
50
+ terminator = @buffer.getbyte(index) == 13 && @buffer.getbyte(index + 1) == 10 ? 2 : 1
51
+ # A CR at the very end may be the first half of a CRLF that is still on its way.
52
+ break if terminator == 1 && @buffer.getbyte(index) == 13 && index == @buffer.bytesize - 1
53
+
54
+ line(@buffer.byteslice(offset, index - offset), &)
55
+ offset = scan = index + terminator
56
+ end
57
+ @buffer = @buffer.byteslice(offset, @buffer.bytesize - offset) if offset.positive?
58
+ # Only the last byte (a possible lone CR) has to be looked at again, which keeps very
59
+ # long lines linear.
60
+ @scanned = [@buffer.bytesize - 1, 0].max
61
+ nil
62
+ end
63
+
64
+ # Signals the end of the stream. A trailing CR completes its line; an event without its
65
+ # terminating blank line is dropped.
66
+ def finish(&)
67
+ @start = false
68
+ line(@buffer.byteslice(0, @buffer.bytesize - 1), &) if @buffer.end_with?("\r")
69
+ @buffer = String.new(encoding: Encoding::BINARY)
70
+ @scanned = 0
71
+ reset_event
72
+ nil
73
+ end
74
+
75
+ private
76
+
77
+ # Returns false while it is still unknown whether the stream starts with a byte-order mark.
78
+ def bom_resolved?
79
+ return false if @buffer.bytesize < BOM.bytesize && BOM.start_with?(@buffer)
80
+
81
+ @buffer = @buffer.byteslice(BOM.bytesize, @buffer.bytesize - BOM.bytesize) if @buffer.start_with?(BOM)
82
+ @start = false
83
+ true
84
+ end
85
+
86
+ def reset_event
87
+ @event = nil
88
+ @data = nil
89
+ @retry = nil
90
+ end
91
+
92
+ def line(bytes, &)
93
+ return dispatch(&) if bytes.empty?
94
+ return if bytes.getbyte(0) == 58 # ":" starts a comment
95
+
96
+ name, value = bytes.split(":", 2)
97
+ value = (value || "").delete_prefix(" ")
98
+ field(name, value.force_encoding(Encoding::UTF_8).scrub)
99
+ end
100
+
101
+ def field(name, value)
102
+ case name
103
+ when "event" then @event = value
104
+ when "data" then @data = @data ? "#{@data}\n#{value}" : value
105
+ when "id" then @last_id = value unless value.include?("\0")
106
+ when "retry" then @retry = value.to_i if value.match?(/\A[0-9]+\z/)
107
+ end
108
+ end
109
+
110
+ def dispatch
111
+ data = @data
112
+ event = @event
113
+ retry_ms = @retry
114
+ reset_event
115
+ return if data.nil?
116
+
117
+ yield ServerSentEvent.new(event: event.nil? || event.empty? ? "message" : event, data: data, id: @last_id,
118
+ retry: retry_ms)
119
+ end
120
+ end
121
+ end
122
+ end