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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +34 -0
- data/LICENSE +21 -0
- data/README.md +316 -0
- data/SECURITY.md +19 -0
- data/lib/tungo/api_response.rb +52 -0
- data/lib/tungo/client.rb +426 -0
- data/lib/tungo/contract.rb +37 -0
- data/lib/tungo/errors.rb +266 -0
- data/lib/tungo/helpers.rb +146 -0
- data/lib/tungo/internal/model.rb +432 -0
- data/lib/tungo/internal/sse.rb +122 -0
- data/lib/tungo/internal/util.rb +223 -0
- data/lib/tungo/models/api_key.rb +132 -0
- data/lib/tungo/models/api_key_create.rb +75 -0
- data/lib/tungo/models/api_key_create_write_kind_item.rb +26 -0
- data/lib/tungo/models/api_key_created.rb +154 -0
- data/lib/tungo/models/api_key_created_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_created_status.rb +21 -0
- data/lib/tungo/models/api_key_details.rb +139 -0
- data/lib/tungo/models/api_key_details_blocked_reason.rb +27 -0
- data/lib/tungo/models/api_key_details_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_details_status.rb +21 -0
- data/lib/tungo/models/api_key_month.rb +28 -0
- data/lib/tungo/models/api_key_patch.rb +78 -0
- data/lib/tungo/models/api_key_patch_write_kind_item.rb +26 -0
- data/lib/tungo/models/api_key_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_person.rb +25 -0
- data/lib/tungo/models/api_key_roll.rb +16 -0
- data/lib/tungo/models/api_key_rolled.rb +147 -0
- data/lib/tungo/models/api_key_rolled_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_rolled_status.rb +21 -0
- data/lib/tungo/models/api_key_self.rb +154 -0
- data/lib/tungo/models/api_key_self_blocked_reason.rb +27 -0
- data/lib/tungo/models/api_key_self_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_self_rate_limit.rb +26 -0
- data/lib/tungo/models/api_key_self_status.rb +21 -0
- data/lib/tungo/models/api_key_self_workspace.rb +25 -0
- data/lib/tungo/models/api_key_self_workspace_kind.rb +18 -0
- data/lib/tungo/models/api_key_status.rb +21 -0
- data/lib/tungo/models/api_key_transfer.rb +16 -0
- data/lib/tungo/models/api_key_updated.rb +139 -0
- data/lib/tungo/models/api_key_updated_permission_item.rb +22 -0
- data/lib/tungo/models/api_key_updated_status.rb +21 -0
- data/lib/tungo/models/api_key_usage.rb +49 -0
- data/lib/tungo/models/api_key_usage_by_company_item.rb +25 -0
- data/lib/tungo/models/api_key_usage_by_day_item.rb +25 -0
- data/lib/tungo/models/api_key_usage_by_model_item.rb +25 -0
- data/lib/tungo/models/api_key_usage_totals.rb +40 -0
- data/lib/tungo/models/api_key_warning.rb +22 -0
- data/lib/tungo/models/api_key_warning_code.rb +21 -0
- data/lib/tungo/models/approve_batch_company_proposals_response.rb +20 -0
- data/lib/tungo/models/approve_error.rb +25 -0
- data/lib/tungo/models/approve_error_error.rb +96 -0
- data/lib/tungo/models/approve_request.rb +26 -0
- data/lib/tungo/models/audit_entry.rb +64 -0
- data/lib/tungo/models/audit_entry_action.rb +148 -0
- data/lib/tungo/models/audit_entry_actor.rb +26 -0
- data/lib/tungo/models/audit_entry_actor_type.rb +18 -0
- data/lib/tungo/models/audit_entry_target.rb +20 -0
- data/lib/tungo/models/automation_auto_approve.rb +40 -0
- data/lib/tungo/models/automation_auto_approve_kind_item.rb +25 -0
- data/lib/tungo/models/automation_deleted.rb +20 -0
- data/lib/tungo/models/automation_event_filter.rb +16 -0
- data/lib/tungo/models/automation_filter_condition.rb +30 -0
- data/lib/tungo/models/automation_filter_condition_op.rb +26 -0
- data/lib/tungo/models/automation_filter_condition_value.rb +23 -0
- data/lib/tungo/models/automation_filter_condition_value_option4_item.rb +20 -0
- data/lib/tungo/models/automation_hook.rb +65 -0
- data/lib/tungo/models/automation_hook_accepted.rb +34 -0
- data/lib/tungo/models/automation_hook_create.rb +38 -0
- data/lib/tungo/models/automation_hook_event.rb +64 -0
- data/lib/tungo/models/automation_hook_event_encoding.rb +17 -0
- data/lib/tungo/models/automation_hook_event_source.rb +17 -0
- data/lib/tungo/models/automation_hook_patch.rb +44 -0
- data/lib/tungo/models/automation_hook_test_input.rb +30 -0
- data/lib/tungo/models/automation_hook_test_result.rb +63 -0
- data/lib/tungo/models/automation_hook_test_result_external_id_source.rb +20 -0
- data/lib/tungo/models/automation_hook_test_scenario.rb +46 -0
- data/lib/tungo/models/automation_hook_test_scenario_failed_condition.rb +26 -0
- data/lib/tungo/models/automation_hook_with_token.rb +85 -0
- data/lib/tungo/models/automation_manual_run.rb +189 -0
- data/lib/tungo/models/automation_manual_run_output_error.rb +18 -0
- data/lib/tungo/models/automation_manual_run_output_value.rb +20 -0
- data/lib/tungo/models/automation_manual_run_state.rb +23 -0
- data/lib/tungo/models/automation_manual_run_trigger.rb +22 -0
- data/lib/tungo/models/automation_output_field.rb +31 -0
- data/lib/tungo/models/automation_output_field_option1.rb +20 -0
- data/lib/tungo/models/automation_output_field_option2.rb +20 -0
- data/lib/tungo/models/automation_output_field_option3.rb +20 -0
- data/lib/tungo/models/automation_output_field_option4.rb +20 -0
- data/lib/tungo/models/automation_output_field_option5.rb +25 -0
- data/lib/tungo/models/automation_output_spec.rb +16 -0
- data/lib/tungo/models/automation_run.rb +183 -0
- data/lib/tungo/models/automation_run_detail.rb +189 -0
- data/lib/tungo/models/automation_run_detail_output_error.rb +18 -0
- data/lib/tungo/models/automation_run_detail_output_value.rb +20 -0
- data/lib/tungo/models/automation_run_detail_state.rb +23 -0
- data/lib/tungo/models/automation_run_detail_trigger.rb +22 -0
- data/lib/tungo/models/automation_run_output_error.rb +18 -0
- data/lib/tungo/models/automation_run_output_value.rb +20 -0
- data/lib/tungo/models/automation_run_proposal.rb +52 -0
- data/lib/tungo/models/automation_run_proposal_auto.rb +21 -0
- data/lib/tungo/models/automation_run_proposal_code.rb +23 -0
- data/lib/tungo/models/automation_run_proposal_status.rb +59 -0
- data/lib/tungo/models/automation_run_proposal_status_auto.rb +21 -0
- data/lib/tungo/models/automation_run_proposal_status_code.rb +23 -0
- data/lib/tungo/models/automation_run_state.rb +23 -0
- data/lib/tungo/models/automation_run_step.rb +79 -0
- data/lib/tungo/models/automation_run_step_action.rb +20 -0
- data/lib/tungo/models/automation_run_step_output_error.rb +17 -0
- data/lib/tungo/models/automation_run_step_output_value.rb +20 -0
- data/lib/tungo/models/automation_run_step_skipped_by.rb +19 -0
- data/lib/tungo/models/automation_run_step_state.rb +22 -0
- data/lib/tungo/models/automation_run_trigger.rb +22 -0
- data/lib/tungo/models/automation_scenario.rb +82 -0
- data/lib/tungo/models/automation_scenario_action.rb +20 -0
- data/lib/tungo/models/automation_scenario_enabled.rb +16 -0
- data/lib/tungo/models/automation_scenario_input.rb +62 -0
- data/lib/tungo/models/automation_scenario_input_action.rb +20 -0
- data/lib/tungo/models/automation_scenario_input_auto_approve.rb +40 -0
- data/lib/tungo/models/automation_scenario_input_auto_approve_kind_item.rb +25 -0
- data/lib/tungo/models/automation_scenario_input_trigger.rb +30 -0
- data/lib/tungo/models/automation_scenario_input_trigger_option1.rb +24 -0
- data/lib/tungo/models/automation_scenario_input_trigger_option2.rb +19 -0
- data/lib/tungo/models/automation_scenario_input_trigger_option3.rb +26 -0
- data/lib/tungo/models/automation_scenario_input_trigger_option3_event.rb +26 -0
- data/lib/tungo/models/automation_scenario_input_trigger_option4.rb +15 -0
- data/lib/tungo/models/automation_scenario_run_input.rb +17 -0
- data/lib/tungo/models/automation_scenario_saved.rb +89 -0
- data/lib/tungo/models/automation_scenario_saved_action.rb +20 -0
- data/lib/tungo/models/automation_scenario_step.rb +32 -0
- data/lib/tungo/models/automation_scenario_step_action.rb +20 -0
- data/lib/tungo/models/automation_scenario_step_when.rb +19 -0
- data/lib/tungo/models/automation_schedule.rb +30 -0
- data/lib/tungo/models/automation_schedule_daily.rb +21 -0
- data/lib/tungo/models/automation_schedule_interval.rb +36 -0
- data/lib/tungo/models/automation_schedule_monthly.rb +40 -0
- data/lib/tungo/models/automation_schedule_weekly.rb +27 -0
- data/lib/tungo/models/automation_state.rb +36 -0
- data/lib/tungo/models/automation_state_input.rb +22 -0
- data/lib/tungo/models/automation_step.rb +34 -0
- data/lib/tungo/models/automation_step_action.rb +21 -0
- data/lib/tungo/models/automation_step_when.rb +21 -0
- data/lib/tungo/models/automation_trigger.rb +29 -0
- data/lib/tungo/models/automation_trigger_event.rb +27 -0
- data/lib/tungo/models/automation_trigger_event_event.rb +26 -0
- data/lib/tungo/models/automation_trigger_hook.rb +24 -0
- data/lib/tungo/models/automation_trigger_manual.rb +15 -0
- data/lib/tungo/models/automation_trigger_schedule.rb +24 -0
- data/lib/tungo/models/autonomy_level.rb +24 -0
- data/lib/tungo/models/bank_statement_job_request.rb +32 -0
- data/lib/tungo/models/batch_approve_job.rb +71 -0
- data/lib/tungo/models/batch_approve_job_kind.rb +21 -0
- data/lib/tungo/models/batch_approve_request.rb +47 -0
- data/lib/tungo/models/batch_approve_response.rb +72 -0
- data/lib/tungo/models/batch_approve_response_stopped.rb +21 -0
- data/lib/tungo/models/batch_approve_result.rb +54 -0
- data/lib/tungo/models/batch_approve_result_outcome.rb +30 -0
- data/lib/tungo/models/batch_job.rb +56 -0
- data/lib/tungo/models/batch_job_kind.rb +21 -0
- data/lib/tungo/models/batch_job_list.rb +22 -0
- data/lib/tungo/models/batch_job_report.rb +78 -0
- data/lib/tungo/models/batch_job_report_gateway.rb +20 -0
- data/lib/tungo/models/batch_job_row.rb +56 -0
- data/lib/tungo/models/batch_job_row_status.rb +21 -0
- data/lib/tungo/models/batch_manual_row.rb +30 -0
- data/lib/tungo/models/batch_row_question.rb +25 -0
- data/lib/tungo/models/batch_row_question_option_item.rb +20 -0
- data/lib/tungo/models/batch_stop_result.rb +20 -0
- data/lib/tungo/models/batch_summary.rb +65 -0
- data/lib/tungo/models/batch_summary_approve.rb +25 -0
- data/lib/tungo/models/batch_summary_approve_body.rb +20 -0
- data/lib/tungo/models/batch_summary_kind.rb +19 -0
- data/lib/tungo/models/batch_summary_proposal.rb +56 -0
- data/lib/tungo/models/batch_summary_proposal_outcome.rb +23 -0
- data/lib/tungo/models/batch_summary_totals.rb +63 -0
- data/lib/tungo/models/card_session.rb +29 -0
- data/lib/tungo/models/chat_answer_request.rb +25 -0
- data/lib/tungo/models/chat_assistant_message.rb +51 -0
- data/lib/tungo/models/chat_assistant_message_state.rb +18 -0
- data/lib/tungo/models/chat_attachment.rb +25 -0
- data/lib/tungo/models/chat_attachment_meta.rb +25 -0
- data/lib/tungo/models/chat_choice_answer.rb +21 -0
- data/lib/tungo/models/chat_choice_option.rb +25 -0
- data/lib/tungo/models/chat_choice_question.rb +30 -0
- data/lib/tungo/models/chat_citation.rb +30 -0
- data/lib/tungo/models/chat_dialog.rb +72 -0
- data/lib/tungo/models/chat_dialog_closed.rb +20 -0
- data/lib/tungo/models/chat_dialog_deleted.rb +21 -0
- data/lib/tungo/models/chat_dialog_list.rb +22 -0
- data/lib/tungo/models/chat_dialog_patch.rb +15 -0
- data/lib/tungo/models/chat_dialog_renamed.rb +21 -0
- data/lib/tungo/models/chat_dialog_summary.rb +37 -0
- data/lib/tungo/models/chat_event.rb +49 -0
- data/lib/tungo/models/chat_event_batch.rb +46 -0
- data/lib/tungo/models/chat_event_batch_outcome.rb +21 -0
- data/lib/tungo/models/chat_event_batch_report.rb +24 -0
- data/lib/tungo/models/chat_event_batch_stage.rb +18 -0
- data/lib/tungo/models/chat_event_choice.rb +26 -0
- data/lib/tungo/models/chat_event_citation.rb +35 -0
- data/lib/tungo/models/chat_event_done.rb +42 -0
- data/lib/tungo/models/chat_event_error.rb +24 -0
- data/lib/tungo/models/chat_event_progress.rb +26 -0
- data/lib/tungo/models/chat_event_proposal.rb +24 -0
- data/lib/tungo/models/chat_event_question.rb +25 -0
- data/lib/tungo/models/chat_event_status.rb +27 -0
- data/lib/tungo/models/chat_event_status_code.rb +20 -0
- data/lib/tungo/models/chat_event_text.rb +26 -0
- data/lib/tungo/models/chat_event_thinking.rb +20 -0
- data/lib/tungo/models/chat_event_tool.rb +35 -0
- data/lib/tungo/models/chat_event_tool_status.rb +18 -0
- data/lib/tungo/models/chat_history_block.rb +32 -0
- data/lib/tungo/models/chat_history_error.rb +27 -0
- data/lib/tungo/models/chat_history_error_code.rb +32 -0
- data/lib/tungo/models/chat_history_proposal.rb +20 -0
- data/lib/tungo/models/chat_history_question.rb +25 -0
- data/lib/tungo/models/chat_history_text.rb +20 -0
- data/lib/tungo/models/chat_history_tool.rb +35 -0
- data/lib/tungo/models/chat_history_tool_status.rb +17 -0
- data/lib/tungo/models/chat_message.rb +25 -0
- data/lib/tungo/models/chat_message_request.rb +64 -0
- data/lib/tungo/models/chat_message_request_mode.rb +19 -0
- data/lib/tungo/models/chat_pending_question.rb +20 -0
- data/lib/tungo/models/chat_question.rb +20 -0
- data/lib/tungo/models/chat_stop_result.rb +26 -0
- data/lib/tungo/models/chat_token_count.rb +35 -0
- data/lib/tungo/models/chat_token_count_request.rb +32 -0
- data/lib/tungo/models/chat_token_count_request_mode.rb +18 -0
- data/lib/tungo/models/chat_turn_error.rb +41 -0
- data/lib/tungo/models/chat_turn_error_code.rb +32 -0
- data/lib/tungo/models/chat_turn_error_limit_kind.rb +17 -0
- data/lib/tungo/models/chat_turn_proposal.rb +19 -0
- data/lib/tungo/models/chat_turn_result.rb +61 -0
- data/lib/tungo/models/chat_turn_usage.rb +36 -0
- data/lib/tungo/models/chat_usage.rb +31 -0
- data/lib/tungo/models/chat_user_message.rb +41 -0
- data/lib/tungo/models/company.rb +61 -0
- data/lib/tungo/models/company_autonomy.rb +43 -0
- data/lib/tungo/models/company_autonomy_custom.rb +20 -0
- data/lib/tungo/models/company_autonomy_defaults.rb +20 -0
- data/lib/tungo/models/company_autonomy_input.rb +29 -0
- data/lib/tungo/models/company_autonomy_input_levels.rb +72 -0
- data/lib/tungo/models/company_autonomy_input_levels_advance_report.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_bank_payment.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_bank_receipt.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_cash_order_in.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_cash_order_out.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_contract.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_counterparty.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_inventory_writeoff.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_purchase.rb +19 -0
- data/lib/tungo/models/company_autonomy_input_levels_sale.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels.rb +71 -0
- data/lib/tungo/models/company_autonomy_levels_advance_report.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_bank_payment.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_bank_receipt.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_cash_order_in.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_cash_order_out.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_contract.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_counterparty.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_inventory_writeoff.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_purchase.rb +19 -0
- data/lib/tungo/models/company_autonomy_levels_sale.rb +19 -0
- data/lib/tungo/models/company_counts.rb +23 -0
- data/lib/tungo/models/company_legal_form.rb +19 -0
- data/lib/tungo/models/company_list_item.rb +65 -0
- data/lib/tungo/models/company_permission.rb +26 -0
- data/lib/tungo/models/company_status.rb +19 -0
- data/lib/tungo/models/data_gap_form.rb +30 -0
- data/lib/tungo/models/data_gap_form_status.rb +66 -0
- data/lib/tungo/models/data_gap_item.rb +49 -0
- data/lib/tungo/models/data_gap_object.rb +25 -0
- data/lib/tungo/models/data_gaps.rb +41 -0
- data/lib/tungo/models/data_gaps_summary.rb +40 -0
- data/lib/tungo/models/direct_bank_poll_result.rb +25 -0
- data/lib/tungo/models/epay_return_links.rb +21 -0
- data/lib/tungo/models/error.rb +28 -0
- data/lib/tungo/models/error_detail.rb +74 -0
- data/lib/tungo/models/error_detail_allowed_method_item.rb +20 -0
- data/lib/tungo/models/error_detail_type.rb +27 -0
- data/lib/tungo/models/esf_incoming_action.rb +22 -0
- data/lib/tungo/models/esf_incoming_item.rb +76 -0
- data/lib/tungo/models/esf_incoming_match.rb +32 -0
- data/lib/tungo/models/esf_incoming_match_document.rb +29 -0
- data/lib/tungo/models/esf_incoming_match_status.rb +21 -0
- data/lib/tungo/models/esf_incoming_report.rb +41 -0
- data/lib/tungo/models/esf_outgoing_item.rb +53 -0
- data/lib/tungo/models/esf_outgoing_item_esf.rb +35 -0
- data/lib/tungo/models/esf_outgoing_item_tax_invoice.rb +25 -0
- data/lib/tungo/models/esf_outgoing_report.rb +36 -0
- data/lib/tungo/models/esf_purchases_job_request.rb +26 -0
- data/lib/tungo/models/esf_sale.rb +44 -0
- data/lib/tungo/models/esf_verdict.rb +20 -0
- data/lib/tungo/models/feed_action.rb +49 -0
- data/lib/tungo/models/feed_action_action.rb +23 -0
- data/lib/tungo/models/feed_action_method.rb +17 -0
- data/lib/tungo/models/feed_item.rb +91 -0
- data/lib/tungo/models/feed_page.rb +30 -0
- data/lib/tungo/models/feed_section.rb +20 -0
- data/lib/tungo/models/feed_section_counts.rb +25 -0
- data/lib/tungo/models/feed_section_titles.rb +25 -0
- data/lib/tungo/models/field_error.rb +28 -0
- data/lib/tungo/models/field_error_code.rb +28 -0
- data/lib/tungo/models/financial_notes.rb +50 -0
- data/lib/tungo/models/financial_notes_organization.rb +20 -0
- data/lib/tungo/models/financial_notes_section.rb +55 -0
- data/lib/tungo/models/financial_notes_table.rb +25 -0
- data/lib/tungo/models/financial_notes_table_row_item_item.rb +20 -0
- data/lib/tungo/models/financial_notes_to_fill.rb +29 -0
- data/lib/tungo/models/form_missing_action.rb +23 -0
- data/lib/tungo/models/form_missing_data.rb +39 -0
- data/lib/tungo/models/form_onec_object.rb +20 -0
- data/lib/tungo/models/get_workspace_platform_audit_response.rb +22 -0
- data/lib/tungo/models/get_workspace_platform_ledger_response.rb +22 -0
- data/lib/tungo/models/isna_file.rb +12 -0
- data/lib/tungo/models/isna_response.rb +20 -0
- data/lib/tungo/models/isna_summary.rb +95 -0
- data/lib/tungo/models/isna_summary_download.rb +20 -0
- data/lib/tungo/models/isna_summary_format.rb +25 -0
- data/lib/tungo/models/isna_summary_period.rb +31 -0
- data/lib/tungo/models/isna_summary_reconciliation.rb +19 -0
- data/lib/tungo/models/list_companies_response.rb +16 -0
- data/lib/tungo/models/list_company_automations_hooks_response.rb +15 -0
- data/lib/tungo/models/list_company_automations_runs_response.rb +22 -0
- data/lib/tungo/models/list_company_automations_scenarios_response.rb +15 -0
- data/lib/tungo/models/list_usage_rates_response.rb +15 -0
- data/lib/tungo/models/list_workspace_platform_requests_response.rb +22 -0
- data/lib/tungo/models/list_workspace_webhooks_endpoint_attempts_response.rb +22 -0
- data/lib/tungo/models/list_workspace_webhooks_endpoint_attempts_status.rb +20 -0
- data/lib/tungo/models/list_workspace_webhooks_endpoints_response.rb +22 -0
- data/lib/tungo/models/list_workspace_webhooks_event_types_response.rb +15 -0
- data/lib/tungo/models/list_workspace_webhooks_message_attempts_response.rb +22 -0
- data/lib/tungo/models/list_workspace_webhooks_messages_response.rb +22 -0
- data/lib/tungo/models/list_workspaces_response.rb +15 -0
- data/lib/tungo/models/money.rb +27 -0
- data/lib/tungo/models/my_workspace.rb +37 -0
- data/lib/tungo/models/my_workspace_kind.rb +19 -0
- data/lib/tungo/models/one_c_capability.rb +33 -0
- data/lib/tungo/models/one_c_capability_id.rb +26 -0
- data/lib/tungo/models/one_c_capability_status.rb +20 -0
- data/lib/tungo/models/one_c_gateway.rb +21 -0
- data/lib/tungo/models/one_c_status.rb +32 -0
- data/lib/tungo/models/one_c_status_last_check.rb +36 -0
- data/lib/tungo/models/one_c_status_last_check_verdict.rb +18 -0
- data/lib/tungo/models/pay_form.rb +34 -0
- data/lib/tungo/models/payment_method.rb +42 -0
- data/lib/tungo/models/platform_account.rb +60 -0
- data/lib/tungo/models/platform_account_blocked_reason.rb +19 -0
- data/lib/tungo/models/platform_account_purchase_limits.rb +25 -0
- data/lib/tungo/models/platform_auto_reload.rb +32 -0
- data/lib/tungo/models/platform_ledger_entry.rb +63 -0
- data/lib/tungo/models/platform_ledger_entry_kind.rb +20 -0
- data/lib/tungo/models/platform_limits.rb +25 -0
- data/lib/tungo/models/platform_limits_concurrent_turns.rb +20 -0
- data/lib/tungo/models/platform_limits_files.rb +56 -0
- data/lib/tungo/models/platform_limits_rate.rb +20 -0
- data/lib/tungo/models/platform_limits_rate_key.rb +26 -0
- data/lib/tungo/models/platform_limits_rate_workspace.rb +26 -0
- data/lib/tungo/models/platform_purchase.rb +33 -0
- data/lib/tungo/models/platform_purchase_input.rb +22 -0
- data/lib/tungo/models/platform_purchase_status.rb +26 -0
- data/lib/tungo/models/platform_request.rb +71 -0
- data/lib/tungo/models/platform_settings_input.rb +26 -0
- data/lib/tungo/models/platform_settings_input_auto_reload.rb +31 -0
- data/lib/tungo/models/platform_usage.rb +45 -0
- data/lib/tungo/models/platform_usage_by_company_item.rb +45 -0
- data/lib/tungo/models/platform_usage_by_day_item.rb +45 -0
- data/lib/tungo/models/platform_usage_by_key_item.rb +45 -0
- data/lib/tungo/models/platform_usage_by_model_item.rb +45 -0
- data/lib/tungo/models/platform_usage_totals.rb +40 -0
- data/lib/tungo/models/proposal_account.rb +32 -0
- data/lib/tungo/models/proposal_action.rb +52 -0
- data/lib/tungo/models/proposal_action_action.rb +19 -0
- data/lib/tungo/models/proposal_advance_offset.rb +33 -0
- data/lib/tungo/models/proposal_approval.rb +32 -0
- data/lib/tungo/models/proposal_card.rb +158 -0
- data/lib/tungo/models/proposal_contract.rb +35 -0
- data/lib/tungo/models/proposal_decision.rb +43 -0
- data/lib/tungo/models/proposal_document.rb +26 -0
- data/lib/tungo/models/proposal_header.rb +71 -0
- data/lib/tungo/models/proposal_history_event.rb +35 -0
- data/lib/tungo/models/proposal_kind.rb +28 -0
- data/lib/tungo/models/proposal_line.rb +66 -0
- data/lib/tungo/models/proposal_line_item.rb +20 -0
- data/lib/tungo/models/proposal_line_section.rb +17 -0
- data/lib/tungo/models/proposal_list_item.rb +100 -0
- data/lib/tungo/models/proposal_page.rb +33 -0
- data/lib/tungo/models/proposal_party.rb +26 -0
- data/lib/tungo/models/proposal_posting.rb +38 -0
- data/lib/tungo/models/proposal_result.rb +31 -0
- data/lib/tungo/models/proposal_source.rb +21 -0
- data/lib/tungo/models/proposal_source_channel.rb +21 -0
- data/lib/tungo/models/proposal_status.rb +25 -0
- data/lib/tungo/models/reject_request.rb +23 -0
- data/lib/tungo/models/statement_day.rb +66 -0
- data/lib/tungo/models/statement_day_counts.rb +40 -0
- data/lib/tungo/models/statement_day_kind.rb +21 -0
- data/lib/tungo/models/statement_day_list.rb +22 -0
- data/lib/tungo/models/tax_form_cell.rb +77 -0
- data/lib/tungo/models/tax_form_cell_cause.rb +44 -0
- data/lib/tungo/models/tax_form_cell_diff.rb +20 -0
- data/lib/tungo/models/tax_form_cell_one_c_value.rb +22 -0
- data/lib/tungo/models/tax_form_cell_ours_value.rb +22 -0
- data/lib/tungo/models/tax_form_cell_status.rb +21 -0
- data/lib/tungo/models/tax_form_cell_type.rb +22 -0
- data/lib/tungo/models/tax_form_due.rb +57 -0
- data/lib/tungo/models/tax_form_list_item.rb +67 -0
- data/lib/tungo/models/tax_form_list_item_coverage.rb +17 -0
- data/lib/tungo/models/tax_form_list_item_group.rb +20 -0
- data/lib/tungo/models/tax_form_list_item_required.rb +19 -0
- data/lib/tungo/models/tax_form_only_in_one_c.rb +20 -0
- data/lib/tungo/models/tax_form_period.rb +36 -0
- data/lib/tungo/models/tax_form_reference.rb +30 -0
- data/lib/tungo/models/tax_form_totals.rb +30 -0
- data/lib/tungo/models/tax_form_view.rb +83 -0
- data/lib/tungo/models/tax_form_view_coverage.rb +17 -0
- data/lib/tungo/models/tax_form_view_uncovered.rb +20 -0
- data/lib/tungo/models/tax_form_view_uncovered_cell_item.rb +20 -0
- data/lib/tungo/models/tax_forms_year.rb +31 -0
- data/lib/tungo/models/tax_period_kind.rb +21 -0
- data/lib/tungo/models/tax_period_ref.rb +21 -0
- data/lib/tungo/models/usage_rate.rb +42 -0
- data/lib/tungo/models/webhook_attempt.rb +56 -0
- data/lib/tungo/models/webhook_attempt_status.rb +20 -0
- data/lib/tungo/models/webhook_attempt_trigger.rb +17 -0
- data/lib/tungo/models/webhook_endpoint.rb +51 -0
- data/lib/tungo/models/webhook_endpoint_create.rb +39 -0
- data/lib/tungo/models/webhook_endpoint_created.rb +66 -0
- data/lib/tungo/models/webhook_endpoint_patch.rb +39 -0
- data/lib/tungo/models/webhook_envelope.rb +41 -0
- data/lib/tungo/models/webhook_event.rb +65 -0
- data/lib/tungo/models/webhook_event_api_key_cap_reached.rb +42 -0
- data/lib/tungo/models/webhook_event_api_key_cap_reached_data.rb +40 -0
- data/lib/tungo/models/webhook_event_api_key_expiring.rb +42 -0
- data/lib/tungo/models/webhook_event_api_key_expiring_data.rb +30 -0
- data/lib/tungo/models/webhook_event_automation_run_completed.rb +42 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data.rb +110 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data_output_error.rb +18 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data_output_value.rb +20 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item.rb +53 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto.rb +20 -0
- data/lib/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto_code.rb +22 -0
- data/lib/tungo/models/webhook_event_automation_run_failed.rb +42 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data.rb +110 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data_output_error.rb +18 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data_output_value.rb +20 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item.rb +53 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto.rb +20 -0
- data/lib/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto_code.rb +22 -0
- data/lib/tungo/models/webhook_event_automation_run_notice.rb +42 -0
- data/lib/tungo/models/webhook_event_automation_run_notice_data.rb +60 -0
- data/lib/tungo/models/webhook_event_automation_run_notice_data_reason.rb +19 -0
- data/lib/tungo/models/webhook_event_automation_write_unknown.rb +42 -0
- data/lib/tungo/models/webhook_event_automation_write_unknown_data.rb +37 -0
- data/lib/tungo/models/webhook_event_bank_statement_received.rb +41 -0
- data/lib/tungo/models/webhook_event_bank_statement_received_data.rb +40 -0
- data/lib/tungo/models/webhook_event_bank_statement_received_data_source.rb +17 -0
- data/lib/tungo/models/webhook_event_batch_completed.rb +42 -0
- data/lib/tungo/models/webhook_event_batch_completed_data.rb +65 -0
- data/lib/tungo/models/webhook_event_batch_completed_data_kind.rb +17 -0
- data/lib/tungo/models/webhook_event_batch_failed.rb +41 -0
- data/lib/tungo/models/webhook_event_batch_failed_data.rb +25 -0
- data/lib/tungo/models/webhook_event_batch_failed_data_kind.rb +17 -0
- data/lib/tungo/models/webhook_event_chat_turn_completed.rb +42 -0
- data/lib/tungo/models/webhook_event_chat_turn_completed_data.rb +41 -0
- data/lib/tungo/models/webhook_event_chat_turn_completed_data_usage.rb +35 -0
- data/lib/tungo/models/webhook_event_esf_incoming_received.rb +41 -0
- data/lib/tungo/models/webhook_event_esf_incoming_received_data.rb +40 -0
- data/lib/tungo/models/webhook_event_onec_connection_changed.rb +42 -0
- data/lib/tungo/models/webhook_event_onec_connection_changed_data.rb +35 -0
- data/lib/tungo/models/webhook_event_onec_connection_changed_data_reason.rb +24 -0
- data/lib/tungo/models/webhook_event_onec_connection_changed_data_state.rb +17 -0
- data/lib/tungo/models/webhook_event_payment_failed.rb +40 -0
- data/lib/tungo/models/webhook_event_payment_failed_data.rb +41 -0
- data/lib/tungo/models/webhook_event_payment_succeeded.rb +40 -0
- data/lib/tungo/models/webhook_event_payment_succeeded_data.rb +41 -0
- data/lib/tungo/models/webhook_event_ping.rb +42 -0
- data/lib/tungo/models/webhook_event_ping_data.rb +11 -0
- data/lib/tungo/models/webhook_event_platform_balance_exhausted.rb +41 -0
- data/lib/tungo/models/webhook_event_platform_balance_exhausted_data.rb +20 -0
- data/lib/tungo/models/webhook_event_platform_balance_low.rb +41 -0
- data/lib/tungo/models/webhook_event_platform_balance_low_data.rb +20 -0
- data/lib/tungo/models/webhook_event_platform_cap_threshold_reached.rb +41 -0
- data/lib/tungo/models/webhook_event_platform_cap_threshold_reached_data.rb +30 -0
- data/lib/tungo/models/webhook_event_proposal_awaiting_approval.rb +40 -0
- data/lib/tungo/models/webhook_event_proposal_awaiting_approval_data.rb +40 -0
- data/lib/tungo/models/webhook_event_proposal_failed.rb +41 -0
- data/lib/tungo/models/webhook_event_proposal_failed_data.rb +30 -0
- data/lib/tungo/models/webhook_event_proposal_rejected.rb +41 -0
- data/lib/tungo/models/webhook_event_proposal_rejected_data.rb +30 -0
- data/lib/tungo/models/webhook_event_proposal_written.rb +41 -0
- data/lib/tungo/models/webhook_event_proposal_written_data.rb +35 -0
- data/lib/tungo/models/webhook_event_type.rb +30 -0
- data/lib/tungo/models/webhook_message.rb +31 -0
- data/lib/tungo/models/webhook_resend.rb +15 -0
- data/lib/tungo/models/webhook_secret.rb +24 -0
- data/lib/tungo/models/webhook_secret_rotated.rb +29 -0
- data/lib/tungo/models/webhook_usage.rb +31 -0
- data/lib/tungo/models/workspace_plan.rb +25 -0
- data/lib/tungo/models.rb +497 -0
- data/lib/tungo/money.rb +112 -0
- data/lib/tungo/page.rb +94 -0
- data/lib/tungo/request_options.rb +57 -0
- data/lib/tungo/resources/api_keys.rb +74 -0
- data/lib/tungo/resources/automations.rb +681 -0
- data/lib/tungo/resources/batches.rb +242 -0
- data/lib/tungo/resources/chat.rb +355 -0
- data/lib/tungo/resources/companies.rb +48 -0
- data/lib/tungo/resources/esf.rb +148 -0
- data/lib/tungo/resources/feed.rb +91 -0
- data/lib/tungo/resources/forms.rb +118 -0
- data/lib/tungo/resources/onec.rb +33 -0
- data/lib/tungo/resources/platform.rb +316 -0
- data/lib/tungo/resources/proposals.rb +230 -0
- data/lib/tungo/resources/webhooks.rb +423 -0
- data/lib/tungo/resources/workspaces.rb +31 -0
- data/lib/tungo/resources.rb +88 -0
- data/lib/tungo/stream.rb +189 -0
- data/lib/tungo/transport.rb +373 -0
- data/lib/tungo/version.rb +6 -0
- data/lib/tungo/webhooks.rb +155 -0
- data/lib/tungo-sdk.rb +4 -0
- data/lib/tungo.rb +34 -0
- data/sig/manifest.yaml +8 -0
- data/sig/tungo/contract.rbs +8 -0
- data/sig/tungo/models/api_key.rbs +32 -0
- data/sig/tungo/models/api_key_create.rbs +21 -0
- data/sig/tungo/models/api_key_create_write_kind_item.rbs +22 -0
- data/sig/tungo/models/api_key_created.rbs +35 -0
- data/sig/tungo/models/api_key_created_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_created_status.rbs +15 -0
- data/sig/tungo/models/api_key_details.rbs +33 -0
- data/sig/tungo/models/api_key_details_blocked_reason.rbs +21 -0
- data/sig/tungo/models/api_key_details_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_details_status.rbs +15 -0
- data/sig/tungo/models/api_key_month.rbs +14 -0
- data/sig/tungo/models/api_key_patch.rbs +21 -0
- data/sig/tungo/models/api_key_patch_write_kind_item.rbs +22 -0
- data/sig/tungo/models/api_key_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_person.rbs +14 -0
- data/sig/tungo/models/api_key_roll.rbs +12 -0
- data/sig/tungo/models/api_key_rolled.rbs +34 -0
- data/sig/tungo/models/api_key_rolled_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_rolled_status.rbs +15 -0
- data/sig/tungo/models/api_key_self.rbs +36 -0
- data/sig/tungo/models/api_key_self_blocked_reason.rbs +21 -0
- data/sig/tungo/models/api_key_self_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_self_rate_limit.rbs +14 -0
- data/sig/tungo/models/api_key_self_status.rbs +15 -0
- data/sig/tungo/models/api_key_self_workspace.rbs +14 -0
- data/sig/tungo/models/api_key_self_workspace_kind.rbs +14 -0
- data/sig/tungo/models/api_key_status.rbs +15 -0
- data/sig/tungo/models/api_key_transfer.rbs +12 -0
- data/sig/tungo/models/api_key_updated.rbs +33 -0
- data/sig/tungo/models/api_key_updated_permission_item.rbs +18 -0
- data/sig/tungo/models/api_key_updated_status.rbs +15 -0
- data/sig/tungo/models/api_key_usage.rbs +19 -0
- data/sig/tungo/models/api_key_usage_by_company_item.rbs +14 -0
- data/sig/tungo/models/api_key_usage_by_day_item.rbs +14 -0
- data/sig/tungo/models/api_key_usage_by_model_item.rbs +14 -0
- data/sig/tungo/models/api_key_usage_totals.rbs +17 -0
- data/sig/tungo/models/api_key_warning.rbs +13 -0
- data/sig/tungo/models/api_key_warning_code.rbs +15 -0
- data/sig/tungo/models/approve_batch_company_proposals_response.rbs +12 -0
- data/sig/tungo/models/approve_error.rbs +14 -0
- data/sig/tungo/models/approve_error_error.rbs +27 -0
- data/sig/tungo/models/approve_request.rbs +14 -0
- data/sig/tungo/models/audit_entry.rbs +21 -0
- data/sig/tungo/models/audit_entry_action.rbs +142 -0
- data/sig/tungo/models/audit_entry_actor.rbs +14 -0
- data/sig/tungo/models/audit_entry_actor_type.rbs +14 -0
- data/sig/tungo/models/audit_entry_target.rbs +13 -0
- data/sig/tungo/models/automation_auto_approve.rbs +15 -0
- data/sig/tungo/models/automation_auto_approve_kind_item.rbs +21 -0
- data/sig/tungo/models/automation_deleted.rbs +13 -0
- data/sig/tungo/models/automation_event_filter.rbs +12 -0
- data/sig/tungo/models/automation_filter_condition.rbs +14 -0
- data/sig/tungo/models/automation_filter_condition_op.rbs +20 -0
- data/sig/tungo/models/automation_filter_condition_value.rbs +12 -0
- data/sig/tungo/models/automation_filter_condition_value_option4_item.rbs +12 -0
- data/sig/tungo/models/automation_hook.rbs +21 -0
- data/sig/tungo/models/automation_hook_accepted.rbs +15 -0
- data/sig/tungo/models/automation_hook_create.rbs +15 -0
- data/sig/tungo/models/automation_hook_event.rbs +21 -0
- data/sig/tungo/models/automation_hook_event_encoding.rbs +13 -0
- data/sig/tungo/models/automation_hook_event_source.rbs +13 -0
- data/sig/tungo/models/automation_hook_patch.rbs +16 -0
- data/sig/tungo/models/automation_hook_test_input.rbs +14 -0
- data/sig/tungo/models/automation_hook_test_result.rbs +21 -0
- data/sig/tungo/models/automation_hook_test_result_external_id_source.rbs +15 -0
- data/sig/tungo/models/automation_hook_test_scenario.rbs +18 -0
- data/sig/tungo/models/automation_hook_test_scenario_failed_condition.rbs +14 -0
- data/sig/tungo/models/automation_hook_with_token.rbs +24 -0
- data/sig/tungo/models/automation_manual_run.rbs +42 -0
- data/sig/tungo/models/automation_manual_run_output_error.rbs +13 -0
- data/sig/tungo/models/automation_manual_run_output_value.rbs +12 -0
- data/sig/tungo/models/automation_manual_run_state.rbs +17 -0
- data/sig/tungo/models/automation_manual_run_trigger.rbs +16 -0
- data/sig/tungo/models/automation_output_field.rbs +12 -0
- data/sig/tungo/models/automation_output_field_option1.rbs +13 -0
- data/sig/tungo/models/automation_output_field_option2.rbs +13 -0
- data/sig/tungo/models/automation_output_field_option3.rbs +13 -0
- data/sig/tungo/models/automation_output_field_option4.rbs +13 -0
- data/sig/tungo/models/automation_output_field_option5.rbs +14 -0
- data/sig/tungo/models/automation_output_spec.rbs +11 -0
- data/sig/tungo/models/automation_run.rbs +41 -0
- data/sig/tungo/models/automation_run_detail.rbs +42 -0
- data/sig/tungo/models/automation_run_detail_output_error.rbs +13 -0
- data/sig/tungo/models/automation_run_detail_output_value.rbs +12 -0
- data/sig/tungo/models/automation_run_detail_state.rbs +17 -0
- data/sig/tungo/models/automation_run_detail_trigger.rbs +16 -0
- data/sig/tungo/models/automation_run_output_error.rbs +13 -0
- data/sig/tungo/models/automation_run_output_value.rbs +12 -0
- data/sig/tungo/models/automation_run_proposal.rbs +18 -0
- data/sig/tungo/models/automation_run_proposal_auto.rbs +15 -0
- data/sig/tungo/models/automation_run_proposal_code.rbs +17 -0
- data/sig/tungo/models/automation_run_proposal_status.rbs +19 -0
- data/sig/tungo/models/automation_run_proposal_status_auto.rbs +15 -0
- data/sig/tungo/models/automation_run_proposal_status_code.rbs +17 -0
- data/sig/tungo/models/automation_run_state.rbs +17 -0
- data/sig/tungo/models/automation_run_step.rbs +24 -0
- data/sig/tungo/models/automation_run_step_action.rbs +15 -0
- data/sig/tungo/models/automation_run_step_output_error.rbs +13 -0
- data/sig/tungo/models/automation_run_step_output_value.rbs +12 -0
- data/sig/tungo/models/automation_run_step_skipped_by.rbs +15 -0
- data/sig/tungo/models/automation_run_step_state.rbs +16 -0
- data/sig/tungo/models/automation_run_trigger.rbs +16 -0
- data/sig/tungo/models/automation_scenario.rbs +24 -0
- data/sig/tungo/models/automation_scenario_action.rbs +14 -0
- data/sig/tungo/models/automation_scenario_enabled.rbs +12 -0
- data/sig/tungo/models/automation_scenario_input.rbs +19 -0
- data/sig/tungo/models/automation_scenario_input_action.rbs +14 -0
- data/sig/tungo/models/automation_scenario_input_auto_approve.rbs +15 -0
- data/sig/tungo/models/automation_scenario_input_auto_approve_kind_item.rbs +21 -0
- data/sig/tungo/models/automation_scenario_input_trigger.rbs +12 -0
- data/sig/tungo/models/automation_scenario_input_trigger_option1.rbs +14 -0
- data/sig/tungo/models/automation_scenario_input_trigger_option2.rbs +13 -0
- data/sig/tungo/models/automation_scenario_input_trigger_option3.rbs +14 -0
- data/sig/tungo/models/automation_scenario_input_trigger_option3_event.rbs +20 -0
- data/sig/tungo/models/automation_scenario_input_trigger_option4.rbs +12 -0
- data/sig/tungo/models/automation_scenario_run_input.rbs +12 -0
- data/sig/tungo/models/automation_scenario_saved.rbs +25 -0
- data/sig/tungo/models/automation_scenario_saved_action.rbs +14 -0
- data/sig/tungo/models/automation_scenario_step.rbs +15 -0
- data/sig/tungo/models/automation_scenario_step_action.rbs +15 -0
- data/sig/tungo/models/automation_scenario_step_when.rbs +15 -0
- data/sig/tungo/models/automation_schedule.rbs +12 -0
- data/sig/tungo/models/automation_schedule_daily.rbs +13 -0
- data/sig/tungo/models/automation_schedule_interval.rbs +16 -0
- data/sig/tungo/models/automation_schedule_monthly.rbs +16 -0
- data/sig/tungo/models/automation_schedule_weekly.rbs +14 -0
- data/sig/tungo/models/automation_state.rbs +16 -0
- data/sig/tungo/models/automation_state_input.rbs +13 -0
- data/sig/tungo/models/automation_step.rbs +15 -0
- data/sig/tungo/models/automation_step_action.rbs +15 -0
- data/sig/tungo/models/automation_step_when.rbs +15 -0
- data/sig/tungo/models/automation_trigger.rbs +12 -0
- data/sig/tungo/models/automation_trigger_event.rbs +14 -0
- data/sig/tungo/models/automation_trigger_event_event.rbs +20 -0
- data/sig/tungo/models/automation_trigger_hook.rbs +14 -0
- data/sig/tungo/models/automation_trigger_manual.rbs +12 -0
- data/sig/tungo/models/automation_trigger_schedule.rbs +14 -0
- data/sig/tungo/models/autonomy_level.rbs +18 -0
- data/sig/tungo/models/bank_statement_job_request.rbs +15 -0
- data/sig/tungo/models/batch_approve_job.rbs +23 -0
- data/sig/tungo/models/batch_approve_job_kind.rbs +15 -0
- data/sig/tungo/models/batch_approve_request.rbs +18 -0
- data/sig/tungo/models/batch_approve_response.rbs +23 -0
- data/sig/tungo/models/batch_approve_response_stopped.rbs +13 -0
- data/sig/tungo/models/batch_approve_result.rbs +19 -0
- data/sig/tungo/models/batch_approve_result_outcome.rbs +24 -0
- data/sig/tungo/models/batch_job.rbs +20 -0
- data/sig/tungo/models/batch_job_kind.rbs +15 -0
- data/sig/tungo/models/batch_job_list.rbs +13 -0
- data/sig/tungo/models/batch_job_report.rbs +24 -0
- data/sig/tungo/models/batch_job_report_gateway.rbs +13 -0
- data/sig/tungo/models/batch_job_row.rbs +20 -0
- data/sig/tungo/models/batch_job_row_status.rbs +16 -0
- data/sig/tungo/models/batch_manual_row.rbs +15 -0
- data/sig/tungo/models/batch_row_question.rbs +14 -0
- data/sig/tungo/models/batch_row_question_option_item.rbs +13 -0
- data/sig/tungo/models/batch_stop_result.rbs +13 -0
- data/sig/tungo/models/batch_summary.rbs +22 -0
- data/sig/tungo/models/batch_summary_approve.rbs +14 -0
- data/sig/tungo/models/batch_summary_approve_body.rbs +13 -0
- data/sig/tungo/models/batch_summary_kind.rbs +15 -0
- data/sig/tungo/models/batch_summary_proposal.rbs +20 -0
- data/sig/tungo/models/batch_summary_proposal_outcome.rbs +17 -0
- data/sig/tungo/models/batch_summary_totals.rbs +22 -0
- data/sig/tungo/models/card_session.rbs +14 -0
- data/sig/tungo/models/chat_answer_request.rbs +14 -0
- data/sig/tungo/models/chat_assistant_message.rbs +19 -0
- data/sig/tungo/models/chat_assistant_message_state.rbs +14 -0
- data/sig/tungo/models/chat_attachment.rbs +14 -0
- data/sig/tungo/models/chat_attachment_meta.rbs +14 -0
- data/sig/tungo/models/chat_choice_answer.rbs +13 -0
- data/sig/tungo/models/chat_choice_option.rbs +14 -0
- data/sig/tungo/models/chat_choice_question.rbs +15 -0
- data/sig/tungo/models/chat_citation.rbs +15 -0
- data/sig/tungo/models/chat_dialog.rbs +23 -0
- data/sig/tungo/models/chat_dialog_closed.rbs +13 -0
- data/sig/tungo/models/chat_dialog_deleted.rbs +13 -0
- data/sig/tungo/models/chat_dialog_list.rbs +13 -0
- data/sig/tungo/models/chat_dialog_patch.rbs +12 -0
- data/sig/tungo/models/chat_dialog_renamed.rbs +13 -0
- data/sig/tungo/models/chat_dialog_summary.rbs +16 -0
- data/sig/tungo/models/chat_event.rbs +12 -0
- data/sig/tungo/models/chat_event_batch.rbs +18 -0
- data/sig/tungo/models/chat_event_batch_outcome.rbs +16 -0
- data/sig/tungo/models/chat_event_batch_report.rbs +14 -0
- data/sig/tungo/models/chat_event_batch_stage.rbs +14 -0
- data/sig/tungo/models/chat_event_choice.rbs +14 -0
- data/sig/tungo/models/chat_event_citation.rbs +16 -0
- data/sig/tungo/models/chat_event_done.rbs +17 -0
- data/sig/tungo/models/chat_event_error.rbs +14 -0
- data/sig/tungo/models/chat_event_progress.rbs +14 -0
- data/sig/tungo/models/chat_event_proposal.rbs +14 -0
- data/sig/tungo/models/chat_event_question.rbs +14 -0
- data/sig/tungo/models/chat_event_status.rbs +14 -0
- data/sig/tungo/models/chat_event_status_code.rbs +14 -0
- data/sig/tungo/models/chat_event_text.rbs +14 -0
- data/sig/tungo/models/chat_event_thinking.rbs +13 -0
- data/sig/tungo/models/chat_event_tool.rbs +16 -0
- data/sig/tungo/models/chat_event_tool_status.rbs +14 -0
- data/sig/tungo/models/chat_history_block.rbs +12 -0
- data/sig/tungo/models/chat_history_error.rbs +14 -0
- data/sig/tungo/models/chat_history_error_code.rbs +26 -0
- data/sig/tungo/models/chat_history_proposal.rbs +13 -0
- data/sig/tungo/models/chat_history_question.rbs +14 -0
- data/sig/tungo/models/chat_history_text.rbs +13 -0
- data/sig/tungo/models/chat_history_tool.rbs +16 -0
- data/sig/tungo/models/chat_history_tool_status.rbs +13 -0
- data/sig/tungo/models/chat_message.rbs +12 -0
- data/sig/tungo/models/chat_message_request.rbs +20 -0
- data/sig/tungo/models/chat_message_request_mode.rbs +14 -0
- data/sig/tungo/models/chat_pending_question.rbs +13 -0
- data/sig/tungo/models/chat_question.rbs +13 -0
- data/sig/tungo/models/chat_stop_result.rbs +14 -0
- data/sig/tungo/models/chat_token_count.rbs +16 -0
- data/sig/tungo/models/chat_token_count_request.rbs +15 -0
- data/sig/tungo/models/chat_token_count_request_mode.rbs +14 -0
- data/sig/tungo/models/chat_turn_error.rbs +16 -0
- data/sig/tungo/models/chat_turn_error_code.rbs +26 -0
- data/sig/tungo/models/chat_turn_error_limit_kind.rbs +13 -0
- data/sig/tungo/models/chat_turn_proposal.rbs +13 -0
- data/sig/tungo/models/chat_turn_result.rbs +21 -0
- data/sig/tungo/models/chat_turn_usage.rbs +16 -0
- data/sig/tungo/models/chat_usage.rbs +15 -0
- data/sig/tungo/models/chat_user_message.rbs +17 -0
- data/sig/tungo/models/company.rbs +21 -0
- data/sig/tungo/models/company_autonomy.rbs +17 -0
- data/sig/tungo/models/company_autonomy_custom.rbs +13 -0
- data/sig/tungo/models/company_autonomy_defaults.rbs +13 -0
- data/sig/tungo/models/company_autonomy_input.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels.rbs +21 -0
- data/sig/tungo/models/company_autonomy_input_levels_advance_report.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_bank_payment.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_bank_receipt.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_cash_order_in.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_cash_order_out.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_contract.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_counterparty.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_inventory_writeoff.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_purchase.rbs +14 -0
- data/sig/tungo/models/company_autonomy_input_levels_sale.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels.rbs +21 -0
- data/sig/tungo/models/company_autonomy_levels_advance_report.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_bank_payment.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_bank_receipt.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_cash_order_in.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_cash_order_out.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_contract.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_counterparty.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_inventory_writeoff.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_purchase.rbs +14 -0
- data/sig/tungo/models/company_autonomy_levels_sale.rbs +14 -0
- data/sig/tungo/models/company_counts.rbs +13 -0
- data/sig/tungo/models/company_legal_form.rbs +15 -0
- data/sig/tungo/models/company_list_item.rbs +22 -0
- data/sig/tungo/models/company_permission.rbs +20 -0
- data/sig/tungo/models/company_status.rbs +14 -0
- data/sig/tungo/models/data_gap_form.rbs +15 -0
- data/sig/tungo/models/data_gap_form_status.rbs +22 -0
- data/sig/tungo/models/data_gap_item.rbs +19 -0
- data/sig/tungo/models/data_gap_object.rbs +14 -0
- data/sig/tungo/models/data_gaps.rbs +17 -0
- data/sig/tungo/models/data_gaps_summary.rbs +17 -0
- data/sig/tungo/models/direct_bank_poll_result.rbs +14 -0
- data/sig/tungo/models/epay_return_links.rbs +13 -0
- data/sig/tungo/models/error.rbs +14 -0
- data/sig/tungo/models/error_detail.rbs +20 -0
- data/sig/tungo/models/error_detail_allowed_method_item.rbs +16 -0
- data/sig/tungo/models/error_detail_type.rbs +21 -0
- data/sig/tungo/models/esf_incoming_action.rbs +16 -0
- data/sig/tungo/models/esf_incoming_item.rbs +25 -0
- data/sig/tungo/models/esf_incoming_match.rbs +15 -0
- data/sig/tungo/models/esf_incoming_match_document.rbs +15 -0
- data/sig/tungo/models/esf_incoming_match_status.rbs +16 -0
- data/sig/tungo/models/esf_incoming_report.rbs +17 -0
- data/sig/tungo/models/esf_outgoing_item.rbs +20 -0
- data/sig/tungo/models/esf_outgoing_item_esf.rbs +16 -0
- data/sig/tungo/models/esf_outgoing_item_tax_invoice.rbs +14 -0
- data/sig/tungo/models/esf_outgoing_report.rbs +16 -0
- data/sig/tungo/models/esf_purchases_job_request.rbs +14 -0
- data/sig/tungo/models/esf_sale.rbs +18 -0
- data/sig/tungo/models/esf_verdict.rbs +14 -0
- data/sig/tungo/models/feed_action.rbs +18 -0
- data/sig/tungo/models/feed_action_action.rbs +17 -0
- data/sig/tungo/models/feed_action_method.rbs +13 -0
- data/sig/tungo/models/feed_item.rbs +27 -0
- data/sig/tungo/models/feed_page.rbs +15 -0
- data/sig/tungo/models/feed_section.rbs +14 -0
- data/sig/tungo/models/feed_section_counts.rbs +14 -0
- data/sig/tungo/models/feed_section_titles.rbs +14 -0
- data/sig/tungo/models/field_error.rbs +14 -0
- data/sig/tungo/models/field_error_code.rbs +22 -0
- data/sig/tungo/models/financial_notes.rbs +19 -0
- data/sig/tungo/models/financial_notes_organization.rbs +13 -0
- data/sig/tungo/models/financial_notes_section.rbs +20 -0
- data/sig/tungo/models/financial_notes_table.rbs +14 -0
- data/sig/tungo/models/financial_notes_table_row_item_item.rbs +12 -0
- data/sig/tungo/models/financial_notes_to_fill.rbs +15 -0
- data/sig/tungo/models/form_missing_action.rbs +17 -0
- data/sig/tungo/models/form_missing_data.rbs +17 -0
- data/sig/tungo/models/form_onec_object.rbs +13 -0
- data/sig/tungo/models/get_workspace_platform_audit_response.rbs +13 -0
- data/sig/tungo/models/get_workspace_platform_ledger_response.rbs +13 -0
- data/sig/tungo/models/isna_file.rbs +11 -0
- data/sig/tungo/models/isna_response.rbs +12 -0
- data/sig/tungo/models/isna_summary.rbs +28 -0
- data/sig/tungo/models/isna_summary_download.rbs +13 -0
- data/sig/tungo/models/isna_summary_format.rbs +14 -0
- data/sig/tungo/models/isna_summary_period.rbs +15 -0
- data/sig/tungo/models/isna_summary_reconciliation.rbs +13 -0
- data/sig/tungo/models/list_companies_response.rbs +12 -0
- data/sig/tungo/models/list_company_automations_hooks_response.rbs +12 -0
- data/sig/tungo/models/list_company_automations_runs_response.rbs +13 -0
- data/sig/tungo/models/list_company_automations_scenarios_response.rbs +12 -0
- data/sig/tungo/models/list_usage_rates_response.rbs +12 -0
- data/sig/tungo/models/list_workspace_platform_requests_response.rbs +13 -0
- data/sig/tungo/models/list_workspace_webhooks_endpoint_attempts_response.rbs +13 -0
- data/sig/tungo/models/list_workspace_webhooks_endpoint_attempts_status.rbs +15 -0
- data/sig/tungo/models/list_workspace_webhooks_endpoints_response.rbs +13 -0
- data/sig/tungo/models/list_workspace_webhooks_event_types_response.rbs +12 -0
- data/sig/tungo/models/list_workspace_webhooks_message_attempts_response.rbs +13 -0
- data/sig/tungo/models/list_workspace_webhooks_messages_response.rbs +13 -0
- data/sig/tungo/models/list_workspaces_response.rbs +12 -0
- data/sig/tungo/models/money.rbs +14 -0
- data/sig/tungo/models/my_workspace.rbs +16 -0
- data/sig/tungo/models/my_workspace_kind.rbs +14 -0
- data/sig/tungo/models/one_c_capability.rbs +15 -0
- data/sig/tungo/models/one_c_capability_id.rbs +20 -0
- data/sig/tungo/models/one_c_capability_status.rbs +15 -0
- data/sig/tungo/models/one_c_gateway.rbs +15 -0
- data/sig/tungo/models/one_c_status.rbs +15 -0
- data/sig/tungo/models/one_c_status_last_check.rbs +16 -0
- data/sig/tungo/models/one_c_status_last_check_verdict.rbs +14 -0
- data/sig/tungo/models/pay_form.rbs +15 -0
- data/sig/tungo/models/payment_method.rbs +17 -0
- data/sig/tungo/models/platform_account.rbs +20 -0
- data/sig/tungo/models/platform_account_blocked_reason.rbs +14 -0
- data/sig/tungo/models/platform_account_purchase_limits.rbs +14 -0
- data/sig/tungo/models/platform_auto_reload.rbs +15 -0
- data/sig/tungo/models/platform_ledger_entry.rbs +21 -0
- data/sig/tungo/models/platform_ledger_entry_kind.rbs +15 -0
- data/sig/tungo/models/platform_limits.rbs +14 -0
- data/sig/tungo/models/platform_limits_concurrent_turns.rbs +13 -0
- data/sig/tungo/models/platform_limits_files.rbs +20 -0
- data/sig/tungo/models/platform_limits_rate.rbs +13 -0
- data/sig/tungo/models/platform_limits_rate_key.rbs +14 -0
- data/sig/tungo/models/platform_limits_rate_workspace.rbs +14 -0
- data/sig/tungo/models/platform_purchase.rbs +15 -0
- data/sig/tungo/models/platform_purchase_input.rbs +13 -0
- data/sig/tungo/models/platform_purchase_status.rbs +21 -0
- data/sig/tungo/models/platform_request.rbs +23 -0
- data/sig/tungo/models/platform_settings_input.rbs +14 -0
- data/sig/tungo/models/platform_settings_input_auto_reload.rbs +15 -0
- data/sig/tungo/models/platform_usage.rbs +18 -0
- data/sig/tungo/models/platform_usage_by_company_item.rbs +18 -0
- data/sig/tungo/models/platform_usage_by_day_item.rbs +18 -0
- data/sig/tungo/models/platform_usage_by_key_item.rbs +18 -0
- data/sig/tungo/models/platform_usage_by_model_item.rbs +18 -0
- data/sig/tungo/models/platform_usage_totals.rbs +17 -0
- data/sig/tungo/models/proposal_account.rbs +15 -0
- data/sig/tungo/models/proposal_action.rbs +19 -0
- data/sig/tungo/models/proposal_action_action.rbs +14 -0
- data/sig/tungo/models/proposal_advance_offset.rbs +16 -0
- data/sig/tungo/models/proposal_approval.rbs +15 -0
- data/sig/tungo/models/proposal_card.rbs +42 -0
- data/sig/tungo/models/proposal_contract.rbs +16 -0
- data/sig/tungo/models/proposal_decision.rbs +18 -0
- data/sig/tungo/models/proposal_document.rbs +14 -0
- data/sig/tungo/models/proposal_header.rbs +24 -0
- data/sig/tungo/models/proposal_history_event.rbs +16 -0
- data/sig/tungo/models/proposal_kind.rbs +22 -0
- data/sig/tungo/models/proposal_line.rbs +23 -0
- data/sig/tungo/models/proposal_line_item.rbs +13 -0
- data/sig/tungo/models/proposal_line_section.rbs +13 -0
- data/sig/tungo/models/proposal_list_item.rbs +30 -0
- data/sig/tungo/models/proposal_page.rbs +15 -0
- data/sig/tungo/models/proposal_party.rbs +14 -0
- data/sig/tungo/models/proposal_posting.rbs +16 -0
- data/sig/tungo/models/proposal_result.rbs +15 -0
- data/sig/tungo/models/proposal_source.rbs +13 -0
- data/sig/tungo/models/proposal_source_channel.rbs +16 -0
- data/sig/tungo/models/proposal_status.rbs +19 -0
- data/sig/tungo/models/reject_request.rbs +13 -0
- data/sig/tungo/models/statement_day.rbs +22 -0
- data/sig/tungo/models/statement_day_counts.rbs +17 -0
- data/sig/tungo/models/statement_day_kind.rbs +15 -0
- data/sig/tungo/models/statement_day_list.rbs +13 -0
- data/sig/tungo/models/tax_form_cell.rbs +23 -0
- data/sig/tungo/models/tax_form_cell_cause.rbs +18 -0
- data/sig/tungo/models/tax_form_cell_diff.rbs +12 -0
- data/sig/tungo/models/tax_form_cell_one_c_value.rbs +12 -0
- data/sig/tungo/models/tax_form_cell_ours_value.rbs +12 -0
- data/sig/tungo/models/tax_form_cell_status.rbs +15 -0
- data/sig/tungo/models/tax_form_cell_type.rbs +16 -0
- data/sig/tungo/models/tax_form_due.rbs +20 -0
- data/sig/tungo/models/tax_form_list_item.rbs +22 -0
- data/sig/tungo/models/tax_form_list_item_coverage.rbs +13 -0
- data/sig/tungo/models/tax_form_list_item_group.rbs +15 -0
- data/sig/tungo/models/tax_form_list_item_required.rbs +12 -0
- data/sig/tungo/models/tax_form_only_in_one_c.rbs +13 -0
- data/sig/tungo/models/tax_form_period.rbs +16 -0
- data/sig/tungo/models/tax_form_reference.rbs +15 -0
- data/sig/tungo/models/tax_form_totals.rbs +15 -0
- data/sig/tungo/models/tax_form_view.rbs +26 -0
- data/sig/tungo/models/tax_form_view_coverage.rbs +13 -0
- data/sig/tungo/models/tax_form_view_uncovered.rbs +13 -0
- data/sig/tungo/models/tax_form_view_uncovered_cell_item.rbs +13 -0
- data/sig/tungo/models/tax_forms_year.rbs +15 -0
- data/sig/tungo/models/tax_period_kind.rbs +16 -0
- data/sig/tungo/models/tax_period_ref.rbs +13 -0
- data/sig/tungo/models/usage_rate.rbs +17 -0
- data/sig/tungo/models/webhook_attempt.rbs +20 -0
- data/sig/tungo/models/webhook_attempt_status.rbs +15 -0
- data/sig/tungo/models/webhook_attempt_trigger.rbs +13 -0
- data/sig/tungo/models/webhook_endpoint.rbs +19 -0
- data/sig/tungo/models/webhook_endpoint_create.rbs +16 -0
- data/sig/tungo/models/webhook_endpoint_created.rbs +21 -0
- data/sig/tungo/models/webhook_endpoint_patch.rbs +16 -0
- data/sig/tungo/models/webhook_envelope.rbs +17 -0
- data/sig/tungo/models/webhook_event.rbs +12 -0
- data/sig/tungo/models/webhook_event_api_key_cap_reached.rbs +17 -0
- data/sig/tungo/models/webhook_event_api_key_cap_reached_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_api_key_expiring.rbs +17 -0
- data/sig/tungo/models/webhook_event_api_key_expiring_data.rbs +15 -0
- data/sig/tungo/models/webhook_event_automation_run_completed.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data.rbs +29 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data_output_error.rbs +13 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data_output_value.rbs +12 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item.rbs +19 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto.rbs +15 -0
- data/sig/tungo/models/webhook_event_automation_run_completed_data_proposal_item_auto_code.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_run_failed.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data.rbs +29 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data_output_error.rbs +13 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data_output_value.rbs +12 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item.rbs +19 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto.rbs +15 -0
- data/sig/tungo/models/webhook_event_automation_run_failed_data_proposal_item_auto_code.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_run_notice.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_run_notice_data.rbs +21 -0
- data/sig/tungo/models/webhook_event_automation_run_notice_data_reason.rbs +15 -0
- data/sig/tungo/models/webhook_event_automation_write_unknown.rbs +17 -0
- data/sig/tungo/models/webhook_event_automation_write_unknown_data.rbs +16 -0
- data/sig/tungo/models/webhook_event_bank_statement_received.rbs +17 -0
- data/sig/tungo/models/webhook_event_bank_statement_received_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_bank_statement_received_data_source.rbs +13 -0
- data/sig/tungo/models/webhook_event_batch_completed.rbs +17 -0
- data/sig/tungo/models/webhook_event_batch_completed_data.rbs +22 -0
- data/sig/tungo/models/webhook_event_batch_completed_data_kind.rbs +13 -0
- data/sig/tungo/models/webhook_event_batch_failed.rbs +17 -0
- data/sig/tungo/models/webhook_event_batch_failed_data.rbs +14 -0
- data/sig/tungo/models/webhook_event_batch_failed_data_kind.rbs +13 -0
- data/sig/tungo/models/webhook_event_chat_turn_completed.rbs +17 -0
- data/sig/tungo/models/webhook_event_chat_turn_completed_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_chat_turn_completed_data_usage.rbs +16 -0
- data/sig/tungo/models/webhook_event_esf_incoming_received.rbs +17 -0
- data/sig/tungo/models/webhook_event_esf_incoming_received_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_onec_connection_changed.rbs +17 -0
- data/sig/tungo/models/webhook_event_onec_connection_changed_data.rbs +16 -0
- data/sig/tungo/models/webhook_event_onec_connection_changed_data_reason.rbs +20 -0
- data/sig/tungo/models/webhook_event_onec_connection_changed_data_state.rbs +13 -0
- data/sig/tungo/models/webhook_event_payment_failed.rbs +17 -0
- data/sig/tungo/models/webhook_event_payment_failed_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_payment_succeeded.rbs +17 -0
- data/sig/tungo/models/webhook_event_payment_succeeded_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_ping.rbs +17 -0
- data/sig/tungo/models/webhook_event_ping_data.rbs +11 -0
- data/sig/tungo/models/webhook_event_platform_balance_exhausted.rbs +17 -0
- data/sig/tungo/models/webhook_event_platform_balance_exhausted_data.rbs +13 -0
- data/sig/tungo/models/webhook_event_platform_balance_low.rbs +17 -0
- data/sig/tungo/models/webhook_event_platform_balance_low_data.rbs +13 -0
- data/sig/tungo/models/webhook_event_platform_cap_threshold_reached.rbs +17 -0
- data/sig/tungo/models/webhook_event_platform_cap_threshold_reached_data.rbs +15 -0
- data/sig/tungo/models/webhook_event_proposal_awaiting_approval.rbs +17 -0
- data/sig/tungo/models/webhook_event_proposal_awaiting_approval_data.rbs +17 -0
- data/sig/tungo/models/webhook_event_proposal_failed.rbs +17 -0
- data/sig/tungo/models/webhook_event_proposal_failed_data.rbs +15 -0
- data/sig/tungo/models/webhook_event_proposal_rejected.rbs +17 -0
- data/sig/tungo/models/webhook_event_proposal_rejected_data.rbs +15 -0
- data/sig/tungo/models/webhook_event_proposal_written.rbs +17 -0
- data/sig/tungo/models/webhook_event_proposal_written_data.rbs +16 -0
- data/sig/tungo/models/webhook_event_type.rbs +15 -0
- data/sig/tungo/models/webhook_message.rbs +15 -0
- data/sig/tungo/models/webhook_resend.rbs +12 -0
- data/sig/tungo/models/webhook_secret.rbs +13 -0
- data/sig/tungo/models/webhook_secret_rotated.rbs +14 -0
- data/sig/tungo/models/webhook_usage.rbs +15 -0
- data/sig/tungo/models/workspace_plan.rbs +14 -0
- data/sig/tungo/resources/api_keys.rbs +12 -0
- data/sig/tungo/resources/automations.rbs +33 -0
- data/sig/tungo/resources/batches.rbs +20 -0
- data/sig/tungo/resources/chat.rbs +21 -0
- data/sig/tungo/resources/companies.rbs +11 -0
- data/sig/tungo/resources/esf.rbs +13 -0
- data/sig/tungo/resources/feed.rbs +12 -0
- data/sig/tungo/resources/forms.rbs +14 -0
- data/sig/tungo/resources/onec.rbs +10 -0
- data/sig/tungo/resources/platform.rbs +19 -0
- data/sig/tungo/resources/proposals.rbs +15 -0
- data/sig/tungo/resources/webhooks.rbs +26 -0
- data/sig/tungo/resources/workspaces.rbs +10 -0
- data/sig/tungo/resources.rbs +25 -0
- data/sig/tungo/runtime.rbs +392 -0
- metadata +1110 -0
data/lib/tungo/client.rb
ADDED
|
@@ -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
|