retab 0.1.0 → 0.1.2
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 +4 -4
- data/lib/retab/base_client.rb +168 -33
- data/lib/retab/classifications/category.rb +3 -1
- data/lib/retab/classifications/classification.rb +3 -1
- data/lib/retab/classifications/classification_consensus.rb +3 -1
- data/lib/retab/classifications/classification_decision.rb +3 -1
- data/lib/retab/classifications/classification_request.rb +3 -1
- data/lib/retab/classifications.rb +40 -25
- data/lib/retab/client.rb +0 -68
- data/lib/retab/configuration.rb +8 -6
- data/lib/retab/edit_templates/create_edit_template_request.rb +3 -1
- data/lib/retab/edit_templates/edit_template.rb +3 -1
- data/lib/retab/edit_templates/update_edit_template_request.rb +3 -1
- data/lib/retab/edit_templates.rb +36 -24
- data/lib/retab/edits/edit.rb +6 -1
- data/lib/retab/edits/edit_request.rb +3 -1
- data/lib/retab/edits.rb +45 -25
- data/lib/retab/errors.rb +21 -4
- data/lib/retab/experiment_run_metrics/experiment_by_document_metrics_response.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_by_document_target_metric.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_by_target_document_metric.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_by_target_metrics_response.rb +6 -2
- data/lib/retab/experiment_run_metrics/experiment_confusion_flow_metric.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_confusion_summary_aggregate.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_extract_summary_aggregate.rb +1 -0
- data/lib/retab/experiment_run_metrics/experiment_metric_document_ref.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_metrics_missing_error.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_metrics_stale_error.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_summary_metric_document.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_summary_metrics_response.rb +6 -2
- data/lib/retab/experiment_run_metrics/experiment_target_confusion_metric.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_vote_row.rb +3 -1
- data/lib/retab/experiment_run_metrics/experiment_votes_metrics_response.rb +3 -1
- data/lib/retab/experiment_run_metrics/metrics_stale_error_last_run.rb +3 -1
- data/lib/retab/experiment_run_metrics.rb +9 -9
- data/lib/retab/experiment_run_results/error_workflow_experiment_result.rb +3 -1
- data/lib/retab/experiment_run_results/experiment_result.rb +21 -2
- data/lib/retab/experiment_run_results/experiment_result_timing.rb +3 -1
- data/lib/retab/experiment_run_results.rb +32 -8
- data/lib/retab/experiment_runs/cancel_workflow_experiment_run_response.rb +21 -2
- data/lib/retab/experiment_runs/create_experiment_run_request.rb +3 -1
- data/lib/retab/experiment_runs/experiment_run.rb +21 -2
- data/lib/retab/experiment_runs/experiment_run_timing.rb +3 -1
- data/lib/retab/experiment_runs/experiment_run_trigger.rb +1 -0
- data/lib/retab/experiment_runs.rb +56 -33
- data/lib/retab/extractions/extraction.rb +3 -1
- data/lib/retab/extractions/extraction_consensus.rb +3 -1
- data/lib/retab/extractions/extraction_request.rb +8 -3
- data/lib/retab/extractions/file_ref.rb +3 -1
- data/lib/retab/extractions/retab_usage.rb +1 -0
- data/lib/retab/extractions/sources_response.rb +3 -1
- data/lib/retab/extractions.rb +59 -33
- data/lib/retab/files/complete_file_upload_request.rb +1 -0
- data/lib/retab/files/create_upload_response.rb +3 -1
- data/lib/retab/files/file.rb +6 -1
- data/lib/retab/files/file_link.rb +3 -1
- data/lib/retab/files/upload_file_request.rb +3 -1
- data/lib/retab/files.rb +55 -29
- data/lib/retab/jobs/create_job_request.rb +3 -1
- data/lib/retab/jobs/job.rb +3 -1
- data/lib/retab/jobs/job_error.rb +3 -1
- data/lib/retab/jobs/job_response.rb +3 -1
- data/lib/retab/jobs.rb +73 -37
- data/lib/retab/mime.rb +69 -38
- data/lib/retab/paginated_list.rb +86 -0
- data/lib/retab/parses/parse.rb +3 -1
- data/lib/retab/parses/parse_output.rb +3 -1
- data/lib/retab/parses/parse_request.rb +3 -1
- data/lib/retab/parses.rb +39 -24
- data/lib/retab/partitions/partition.rb +3 -1
- data/lib/retab/partitions/partition_chunk.rb +3 -1
- data/lib/retab/partitions/partition_chunk_likelihood.rb +3 -1
- data/lib/retab/partitions/partition_consensus.rb +6 -2
- data/lib/retab/partitions/partition_request.rb +3 -1
- data/lib/retab/partitions.rb +40 -25
- data/lib/retab/schemas/generate_schema_request.rb +3 -1
- data/lib/retab/schemas/partial_schema.rb +3 -1
- data/lib/retab/schemas.rb +13 -9
- data/lib/retab/shared/http_validation_error.rb +1 -0
- data/lib/retab/shared/validation_error.rb +3 -1
- data/lib/retab/splits/split.rb +3 -1
- data/lib/retab/splits/split_consensus.rb +6 -2
- data/lib/retab/splits/split_request.rb +3 -1
- data/lib/retab/splits/split_result.rb +3 -1
- data/lib/retab/splits/split_subdocument_likelihood.rb +3 -1
- data/lib/retab/splits/subdocument.rb +3 -1
- data/lib/retab/splits.rb +39 -24
- data/lib/retab/types/actor_kind.rb +3 -3
- data/lib/retab/types/api_response.rb +2 -0
- data/lib/retab/types/assertion_drift_status.rb +3 -3
- data/lib/retab/types/assertion_outcome.rb +3 -3
- data/lib/retab/types/base_model.rb +34 -9
- data/lib/retab/types/cancel_workflow_response_cancellation_status.rb +3 -3
- data/lib/retab/types/classifications_order.rb +2 -2
- data/lib/retab/types/condition_evaluation_details_logical_operator.rb +2 -2
- data/lib/retab/types/create_experiment_request_n_consensus.rb +3 -3
- data/lib/retab/types/create_job_request_endpoint.rb +24 -12
- data/lib/retab/types/declarative_apply_response_action.rb +3 -3
- data/lib/retab/types/declarative_plan_field_change_action.rb +3 -3
- data/lib/retab/types/declarative_plan_resource_change_target.rb +3 -3
- data/lib/retab/types/declarative_plan_resource_change_type.rb +44 -22
- data/lib/retab/types/error_step_lifecycle_category.rb +3 -3
- data/lib/retab/types/error_step_lifecycle_stage.rb +7 -7
- data/lib/retab/types/experiment_block_type.rb +4 -4
- data/lib/retab/types/experiment_public_status.rb +5 -5
- data/lib/retab/types/experiment_run_metrics_view.rb +4 -4
- data/lib/retab/types/experiment_run_results_order.rb +9 -0
- data/lib/retab/types/experiment_schema_drift_status.rb +4 -4
- data/lib/retab/types/field_type.rb +2 -2
- data/lib/retab/types/generate_schema_request_reasoning_effort.rb +6 -6
- data/lib/retab/types/handle_payload_type.rb +3 -3
- data/lib/retab/types/job_status.rb +7 -7
- data/lib/retab/types/jobs_source.rb +3 -3
- data/lib/retab/types/latest_block_test_run_summary_status.rb +6 -6
- data/lib/retab/types/length_compare_condition_op.rb +6 -6
- data/lib/retab/types/list_struct.rb +13 -50
- data/lib/retab/types/parse_request_table_parsing_format.rb +4 -4
- data/lib/retab/types/request_options.rb +2 -0
- data/lib/retab/types/resume_status.rb +5 -4
- data/lib/retab/types/review_decision_status.rb +5 -5
- data/lib/retab/types/review_evaluation_review_decision.rb +2 -2
- data/lib/retab/types/similarity_gte_condition_method.rb +2 -2
- data/lib/retab/types/sources_response_document_type.rb +6 -6
- data/lib/retab/types/step_artifact_ref_operation.rb +24 -12
- data/lib/retab/types/submission_status.rb +3 -3
- data/lib/retab/types/update_workflow_block_request_config_mode.rb +2 -2
- data/lib/retab/types/while_loop_termination_termination_reason.rb +3 -3
- data/lib/retab/types/workflow_block_create_request_type.rb +30 -15
- data/lib/retab/types/workflow_block_executions_order.rb +9 -0
- data/lib/retab/types/workflow_block_type.rb +40 -20
- data/lib/retab/types/workflow_experiments_order.rb +9 -0
- data/lib/retab/types/workflow_export_payload_request_exclude_status.rb +8 -8
- data/lib/retab/types/workflow_export_payload_request_export_source.rb +2 -2
- data/lib/retab/types/workflow_export_payload_request_trigger_types.rb +6 -6
- data/lib/retab/types/workflow_test_run_results_order.rb +9 -0
- data/lib/retab/types/{workflow_config_block_type.rb → workflow_tests_order.rb} +1 -1
- data/lib/retab/util.rb +4 -2
- data/lib/retab/version.rb +3 -1
- data/lib/retab/workflow_artifacts/api_call_attempt.rb +3 -1
- data/lib/retab/workflow_artifacts/api_call_invocation.rb +3 -1
- data/lib/retab/workflow_artifacts/b_box.rb +3 -1
- data/lib/retab/workflow_artifacts/classification_workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts/condition_evaluation_details.rb +6 -2
- data/lib/retab/workflow_artifacts/condition_evaluation_per_item.rb +3 -1
- data/lib/retab/workflow_artifacts/condition_evaluation_result.rb +6 -2
- data/lib/retab/workflow_artifacts/condition_evaluation_sub_condition.rb +3 -1
- data/lib/retab/workflow_artifacts/conditional_evaluation.rb +3 -1
- data/lib/retab/workflow_artifacts/edit_config.rb +1 -0
- data/lib/retab/workflow_artifacts/edit_result.rb +3 -1
- data/lib/retab/workflow_artifacts/edit_workflow_artifact.rb +6 -1
- data/lib/retab/workflow_artifacts/extraction_workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts/form_field.rb +3 -1
- data/lib/retab/workflow_artifacts/function_invocation.rb +3 -1
- data/lib/retab/workflow_artifacts/parse_workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts/partition_workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts/review_evaluation.rb +3 -1
- data/lib/retab/workflow_artifacts/split_workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts/while_loop_termination.rb +3 -1
- data/lib/retab/workflow_artifacts/workflow_artifact.rb +3 -1
- data/lib/retab/workflow_artifacts.rb +20 -13
- data/lib/retab/workflow_block_executions/completed_block_execution_lifecycle.rb +1 -0
- data/lib/retab/workflow_block_executions/create_block_execution_request.rb +3 -1
- data/lib/retab/workflow_block_executions/error_block_execution_lifecycle.rb +3 -1
- data/lib/retab/workflow_block_executions/skipped_block_execution_lifecycle.rb +3 -1
- data/lib/retab/workflow_block_executions/stored_block_execution.rb +15 -2
- data/lib/retab/workflow_block_executions.rb +40 -15
- data/lib/retab/workflow_blocks/update_workflow_block_request.rb +3 -1
- data/lib/retab/workflow_blocks/workflow_block.rb +3 -1
- data/lib/retab/workflow_blocks/workflow_block_create_request.rb +3 -1
- data/lib/retab/workflow_blocks.rb +52 -36
- data/lib/retab/workflow_edges/workflow_edge_create_request.rb +3 -1
- data/lib/retab/workflow_edges/workflow_edge_doc.rb +3 -1
- data/lib/retab/workflow_edges.rb +36 -22
- data/lib/retab/workflow_experiments/create_experiment_request.rb +9 -3
- data/lib/retab/workflow_experiments/experiment_document_capture_request.rb +3 -1
- data/lib/retab/workflow_experiments/experiment_document_provenance.rb +3 -1
- data/lib/retab/workflow_experiments/explicit_experiment_document_request.rb +3 -1
- data/lib/retab/workflow_experiments/update_experiment_request.rb +9 -3
- data/lib/retab/workflow_experiments/workflow_experiment.rb +3 -1
- data/lib/retab/workflow_experiments.rb +70 -23
- data/lib/retab/workflow_review_versions/create_review_version_request.rb +3 -1
- data/lib/retab/workflow_review_versions/review_version.rb +3 -1
- data/lib/retab/workflow_review_versions.rb +25 -17
- data/lib/retab/workflow_reviews/actor.rb +3 -1
- data/lib/retab/workflow_reviews/approve_review_request.rb +1 -0
- data/lib/retab/workflow_reviews/reject_review_request.rb +3 -1
- data/lib/retab/workflow_reviews/review.rb +37 -2
- data/lib/retab/workflow_reviews/review_all_of.rb +39 -2
- data/lib/retab/workflow_reviews/review_always.rb +1 -0
- data/lib/retab/workflow_reviews/review_any_of.rb +39 -2
- data/lib/retab/workflow_reviews/review_any_required_field_null.rb +1 -0
- data/lib/retab/workflow_reviews/review_any_split_pages_lt.rb +3 -1
- data/lib/retab/workflow_reviews/review_boundary_confidence_lt.rb +3 -1
- data/lib/retab/workflow_reviews/review_branch_in.rb +3 -1
- data/lib/retab/workflow_reviews/review_category_in.rb +3 -1
- data/lib/retab/workflow_reviews/review_confidence_lt.rb +3 -1
- data/lib/retab/workflow_reviews/review_decision.rb +3 -1
- data/lib/retab/workflow_reviews/review_field_confidence_lt.rb +3 -1
- data/lib/retab/workflow_reviews/review_json_condition.rb +3 -1
- data/lib/retab/workflow_reviews/review_split_count_neq.rb +3 -1
- data/lib/retab/workflow_reviews/review_top_margin_lt.rb +3 -1
- data/lib/retab/workflow_reviews/review_validation_failed.rb +1 -0
- data/lib/retab/workflow_reviews/submit_decision_response.rb +3 -1
- data/lib/retab/workflow_reviews.rb +47 -22
- data/lib/retab/workflow_runs/api_trigger.rb +3 -1
- data/lib/retab/workflow_runs/awaiting_review_run.rb +3 -1
- data/lib/retab/workflow_runs/cancel_workflow_request.rb +1 -0
- data/lib/retab/workflow_runs/cancel_workflow_response.rb +3 -1
- data/lib/retab/workflow_runs/cancelled_terminal.rb +3 -1
- data/lib/retab/workflow_runs/create_workflow_run_request.rb +16 -0
- data/lib/retab/workflow_runs/email_trigger.rb +3 -1
- data/lib/retab/workflow_runs/error_details.rb +3 -1
- data/lib/retab/workflow_runs/error_terminal.rb +3 -1
- data/lib/retab/workflow_runs/manual_trigger.rb +3 -1
- data/lib/retab/workflow_runs/pending_run.rb +1 -0
- data/lib/retab/workflow_runs/restart_trigger.rb +3 -1
- data/lib/retab/workflow_runs/run_inputs.rb +3 -1
- data/lib/retab/workflow_runs/run_timing.rb +3 -1
- data/lib/retab/workflow_runs/running_run.rb +1 -0
- data/lib/retab/workflow_runs/schedule_trigger.rb +3 -1
- data/lib/retab/workflow_runs/webhook_trigger.rb +3 -1
- data/lib/retab/workflow_runs/workflow_export_payload_request.rb +3 -1
- data/lib/retab/workflow_runs/workflow_export_payload_response.rb +3 -1
- data/lib/retab/workflow_runs/workflow_run.rb +39 -3
- data/lib/retab/workflow_runs/workflow_snapshot_ref.rb +3 -1
- data/lib/retab/workflow_runs.rb +97 -47
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_apply_response.rb +6 -2
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_export_response.rb +3 -1
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_change.rb +6 -2
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_field_change.rb +3 -1
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_resource_change.rb +3 -1
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_response.rb +6 -2
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_summary.rb +3 -1
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_validation_response.rb +3 -1
- data/lib/retab/{workflow_specs → workflow_spec}/declarative_workflow_request.rb +1 -0
- data/lib/retab/{workflow_specs.rb → workflow_spec.rb} +29 -13
- data/lib/retab/workflow_steps/awaiting_review_step_lifecycle.rb +1 -0
- data/lib/retab/workflow_steps/cancelled_step_lifecycle.rb +3 -1
- data/lib/retab/workflow_steps/container_context_data.rb +3 -1
- data/lib/retab/workflow_steps/error_step_lifecycle.rb +3 -1
- data/lib/retab/workflow_steps/handle_payload.rb +3 -1
- data/lib/retab/workflow_steps/queued_step_lifecycle.rb +1 -0
- data/lib/retab/workflow_steps/step_artifact_ref.rb +3 -1
- data/lib/retab/workflow_steps/workflow_run_step.rb +28 -3
- data/lib/retab/workflow_steps.rb +34 -17
- data/lib/retab/workflow_test_run_results/assertion_failure.rb +3 -1
- data/lib/retab/workflow_test_run_results/assertion_result.rb +3 -1
- data/lib/retab/workflow_test_run_results/file_handle_input.rb +3 -1
- data/lib/retab/workflow_test_run_results/json_handle_input.rb +3 -1
- data/lib/retab/workflow_test_run_results/manual_workflow_test_source.rb +3 -1
- data/lib/retab/workflow_test_run_results/materialized_document.rb +3 -1
- data/lib/retab/workflow_test_run_results/run_step_workflow_test_source.rb +3 -1
- data/lib/retab/workflow_test_run_results/verdict_summary.rb +3 -1
- data/lib/retab/workflow_test_run_results/workflow_test_result.rb +31 -3
- data/lib/retab/workflow_test_run_results.rb +35 -8
- data/lib/retab/workflow_test_runs/block_test_batch_execution_counts.rb +3 -1
- data/lib/retab/workflow_test_runs/block_test_lifecycle_counts.rb +3 -1
- data/lib/retab/workflow_test_runs/block_test_outcome_counts.rb +3 -1
- data/lib/retab/workflow_test_runs/create_workflow_test_run_request.rb +30 -1
- data/lib/retab/workflow_test_runs/workflow_test_block_target.rb +3 -1
- data/lib/retab/workflow_test_runs/workflow_test_run.rb +39 -3
- data/lib/retab/{workflows/workflow_diagnosis_issue.rb → workflow_test_runs/workflow_test_run_block_scope.rb} +7 -11
- data/lib/retab/workflow_test_runs/workflow_test_run_single_scope.rb +25 -0
- data/lib/retab/workflow_test_runs/workflow_test_run_timing.rb +3 -1
- data/lib/retab/{workflows/workflow_block_position.rb → workflow_test_runs/workflow_test_run_workflow_scope.rb} +5 -8
- data/lib/retab/workflow_test_runs.rb +66 -32
- data/lib/retab/workflow_tests/all_items_match_condition.rb +39 -2
- data/lib/retab/workflow_tests/any_item_matches_condition.rb +39 -2
- data/lib/retab/workflow_tests/array_contains_condition.rb +3 -1
- data/lib/retab/workflow_tests/assertion_schema_dep.rb +3 -1
- data/lib/retab/workflow_tests/assertion_spec.rb +39 -2
- data/lib/retab/workflow_tests/between_condition.rb +3 -1
- data/lib/retab/workflow_tests/contain_condition.rb +3 -1
- data/lib/retab/workflow_tests/create_workflow_test_request.rb +13 -2
- data/lib/retab/workflow_tests/ends_with_condition.rb +3 -1
- data/lib/retab/workflow_tests/equal_condition.rb +3 -1
- data/lib/retab/workflow_tests/exist_condition.rb +1 -0
- data/lib/retab/workflow_tests/json_schema_valid_condition.rb +3 -1
- data/lib/retab/workflow_tests/latest_block_test_run_summary.rb +3 -1
- data/lib/retab/workflow_tests/length_compare_condition.rb +3 -1
- data/lib/retab/workflow_tests/llm_judged_as_condition.rb +3 -1
- data/lib/retab/workflow_tests/llm_not_judged_as_condition.rb +3 -1
- data/lib/retab/workflow_tests/matche_regex_condition.rb +3 -1
- data/lib/retab/workflow_tests/not_contains_condition.rb +3 -1
- data/lib/retab/workflow_tests/not_equals_condition.rb +3 -1
- data/lib/retab/workflow_tests/not_exists_condition.rb +1 -0
- data/lib/retab/workflow_tests/number_compare_condition.rb +3 -1
- data/lib/retab/workflow_tests/object_contains_condition.rb +3 -1
- data/lib/retab/workflow_tests/output_target.rb +3 -1
- data/lib/retab/workflow_tests/similarity_gte_condition.rb +3 -1
- data/lib/retab/workflow_tests/split_iou_condition.rb +3 -1
- data/lib/retab/workflow_tests/start_with_condition.rb +3 -1
- data/lib/retab/workflow_tests/update_workflow_test_request.rb +13 -2
- data/lib/retab/workflow_tests/workflow_test.rb +19 -4
- data/lib/retab/workflow_tests.rb +68 -21
- data/lib/retab/workflows/create_workflow_request.rb +3 -1
- data/lib/retab/workflows/publish_workflow_request.rb +1 -0
- data/lib/retab/workflows/update_workflow_request.rb +3 -1
- data/lib/retab/workflows/workflow.rb +3 -4
- data/lib/retab/workflows/workflow_published.rb +3 -1
- data/lib/retab/workflows.rb +76 -55
- data/lib/retab.rb +6 -6
- data/rbi/retab/classifications.rbi +1 -1
- data/rbi/retab/client.rbi +0 -51
- data/rbi/retab/create_workflow_run_request.rbi +24 -0
- data/rbi/retab/create_workflow_test_run_request.rbi +12 -0
- data/rbi/retab/edit.rbi +6 -0
- data/rbi/retab/edit_template.rbi +4 -4
- data/rbi/retab/edit_templates.rbi +1 -1
- data/rbi/retab/edit_workflow_artifact.rbi +6 -0
- data/rbi/retab/edits.rbi +4 -1
- data/rbi/retab/email_trigger.rbi +2 -2
- data/rbi/retab/experiment_run_results.rbi +5 -2
- data/rbi/retab/experiment_runs.rbi +2 -3
- data/rbi/retab/extraction_request.rbi +6 -0
- data/rbi/retab/extractions.rbi +3 -2
- data/rbi/retab/file.rbi +10 -4
- data/rbi/retab/files.rbi +2 -2
- data/rbi/retab/jobs.rbi +1 -1
- data/rbi/retab/parses.rbi +1 -1
- data/rbi/retab/partitions.rbi +1 -1
- data/rbi/retab/splits.rbi +1 -1
- data/rbi/retab/workflow.rbi +0 -6
- data/rbi/retab/workflow_artifacts.rbi +1 -1
- data/rbi/retab/workflow_block_executions.rbi +5 -2
- data/rbi/retab/workflow_blocks.rbi +4 -1
- data/rbi/retab/workflow_edges.rbi +1 -1
- data/rbi/retab/workflow_experiments.rbi +15 -2
- data/rbi/retab/workflow_review_versions.rbi +1 -1
- data/rbi/retab/workflow_reviews.rbi +4 -1
- data/rbi/retab/workflow_runs.rbi +6 -2
- data/rbi/retab/{workflow_specs.rbi → workflow_spec.rbi} +1 -1
- data/rbi/retab/workflow_steps.rbi +3 -2
- data/rbi/retab/{workflow_diagnosis_issue.rbi → workflow_test_run_block_scope.rbi} +4 -16
- data/rbi/retab/workflow_test_run_results.rbi +6 -2
- data/rbi/retab/workflow_test_run_single_scope.rbi +30 -0
- data/rbi/retab/{workflow_block_position.rbi → workflow_test_run_workflow_scope.rbi} +5 -11
- data/rbi/retab/workflow_test_runs.rbi +5 -4
- data/rbi/retab/workflow_tests.rbi +11 -2
- data/rbi/retab/workflows.rbi +28 -12
- metadata +25 -31
- data/lib/retab/types/workflow_diagnosis_issue_severity.rb +0 -14
- data/lib/retab/workflows/workflow_config_block.rb +0 -44
- data/lib/retab/workflows/workflow_config_edge.rb +0 -35
- data/lib/retab/workflows/workflow_diagnosis_response.rb +0 -29
- data/lib/retab/workflows/workflow_diagnosis_stats.rb +0 -29
- data/lib/retab/workflows/workflow_email_trigger.rb +0 -23
- data/lib/retab/workflows/workflow_graph_diagnosis_request.rb +0 -26
- data/rbi/retab/workflow_config_block.rbi +0 -72
- data/rbi/retab/workflow_config_edge.rbi +0 -54
- data/rbi/retab/workflow_diagnosis_response.rbi +0 -42
- data/rbi/retab/workflow_diagnosis_stats.rbi +0 -42
- data/rbi/retab/workflow_email_trigger.rbi +0 -30
- data/rbi/retab/workflow_graph_diagnosis_request.rbi +0 -36
|
@@ -28,7 +28,7 @@ module Retab
|
|
|
28
28
|
verdict_summary: :verdict_summary
|
|
29
29
|
}.freeze
|
|
30
30
|
|
|
31
|
-
attr_accessor
|
|
31
|
+
attr_accessor(
|
|
32
32
|
:id,
|
|
33
33
|
:run_id,
|
|
34
34
|
:test_id,
|
|
@@ -49,13 +49,32 @@ module Retab
|
|
|
49
49
|
:skipped,
|
|
50
50
|
:assertion_result,
|
|
51
51
|
:verdict_summary
|
|
52
|
+
)
|
|
52
53
|
|
|
53
54
|
def initialize(json)
|
|
55
|
+
super()
|
|
54
56
|
hash = self.class.normalize(json)
|
|
55
57
|
@id = hash[:id]
|
|
56
58
|
@run_id = hash[:run_id]
|
|
57
59
|
@test_id = hash[:test_id]
|
|
58
|
-
@lifecycle = hash[:lifecycle] ? (
|
|
60
|
+
@lifecycle = hash[:lifecycle] ? (
|
|
61
|
+
case hash[:lifecycle][:status]
|
|
62
|
+
when "cancelled"
|
|
63
|
+
Retab::CancelledWorkflowTestRun.new(hash[:lifecycle])
|
|
64
|
+
when "completed"
|
|
65
|
+
Retab::CompletedWorkflowTestRun.new(hash[:lifecycle])
|
|
66
|
+
when "error"
|
|
67
|
+
Retab::ErrorWorkflowTestRun.new(hash[:lifecycle])
|
|
68
|
+
when "pending"
|
|
69
|
+
Retab::PendingWorkflowTestRun.new(hash[:lifecycle])
|
|
70
|
+
when "queued"
|
|
71
|
+
Retab::QueuedWorkflowTestRun.new(hash[:lifecycle])
|
|
72
|
+
when "running"
|
|
73
|
+
Retab::RunningWorkflowTestRun.new(hash[:lifecycle])
|
|
74
|
+
else
|
|
75
|
+
hash[:lifecycle]
|
|
76
|
+
end
|
|
77
|
+
) : nil
|
|
59
78
|
@timing = hash[:timing] ? Retab::WorkflowTestRunTiming.new(hash[:timing]) : nil
|
|
60
79
|
@verdict = hash[:verdict]
|
|
61
80
|
@workflow_id = hash[:workflow_id]
|
|
@@ -64,7 +83,16 @@ module Retab
|
|
|
64
83
|
@handle_inputs_fingerprint = hash[:handle_inputs_fingerprint]
|
|
65
84
|
@workflow_draft_fingerprint = hash[:workflow_draft_fingerprint]
|
|
66
85
|
@block_config_fingerprint = hash[:block_config_fingerprint]
|
|
67
|
-
@source = hash[:source] ? (
|
|
86
|
+
@source = hash[:source] ? (
|
|
87
|
+
case hash[:source][:type]
|
|
88
|
+
when "manual"
|
|
89
|
+
Retab::ManualWorkflowTestSource.new(hash[:source])
|
|
90
|
+
when "run_step"
|
|
91
|
+
Retab::RunStepWorkflowTestSource.new(hash[:source])
|
|
92
|
+
else
|
|
93
|
+
hash[:source]
|
|
94
|
+
end
|
|
95
|
+
) : nil
|
|
68
96
|
@outputs = hash[:outputs] || {}
|
|
69
97
|
@routing_decision = (hash[:routing_decision] || [])
|
|
70
98
|
@warnings = (hash[:warnings] || [])
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# This file is auto-generated by oagen. Do not edit.
|
|
4
4
|
|
|
5
|
-
require
|
|
5
|
+
require "json"
|
|
6
6
|
|
|
7
7
|
module Retab
|
|
8
8
|
class WorkflowTestRunResults
|
|
@@ -12,26 +12,49 @@ module Retab
|
|
|
12
12
|
|
|
13
13
|
# List Test Execution Results
|
|
14
14
|
# @param run_id [String]
|
|
15
|
+
# @param before [String, nil]
|
|
16
|
+
# @param after [String, nil]
|
|
17
|
+
# @param limit [Integer, nil]
|
|
18
|
+
# @param order [Retab::Types::WorkflowTestRunResultsOrder, nil]
|
|
15
19
|
# @param request_options [Hash] (see Retab::Types::RequestOptions)
|
|
16
|
-
# @return [Retab::
|
|
20
|
+
# @return [Retab::PaginatedList<Retab::WorkflowTestResult>]
|
|
17
21
|
def list(
|
|
18
22
|
run_id:,
|
|
23
|
+
before: nil,
|
|
24
|
+
after: nil,
|
|
25
|
+
limit: 20,
|
|
26
|
+
order: "desc",
|
|
19
27
|
request_options: {}
|
|
20
28
|
)
|
|
21
29
|
params = {
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
"run_id" => run_id,
|
|
31
|
+
"before" => before,
|
|
32
|
+
"after" => after,
|
|
33
|
+
"limit" => limit,
|
|
34
|
+
"order" => order
|
|
35
|
+
}.compact
|
|
24
36
|
response = @client.request(
|
|
25
37
|
method: :get,
|
|
26
|
-
path:
|
|
38
|
+
path: "/v1/workflows/tests/results",
|
|
27
39
|
auth: true,
|
|
28
40
|
params: params,
|
|
29
41
|
request_options: request_options
|
|
30
42
|
)
|
|
31
|
-
|
|
43
|
+
fetch_next = -> (cursor) {
|
|
44
|
+
list(
|
|
45
|
+
run_id: run_id,
|
|
46
|
+
before: before,
|
|
47
|
+
after: cursor,
|
|
48
|
+
limit: limit,
|
|
49
|
+
order: order,
|
|
50
|
+
request_options: request_options
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
Retab::PaginatedList.from_response(
|
|
32
54
|
response,
|
|
33
55
|
model: Retab::WorkflowTestResult,
|
|
34
|
-
filters: {
|
|
56
|
+
filters: {run_id: run_id, before: before, limit: limit, order: order},
|
|
57
|
+
fetch_next: fetch_next
|
|
35
58
|
)
|
|
36
59
|
end
|
|
37
60
|
|
|
@@ -50,7 +73,11 @@ module Retab
|
|
|
50
73
|
request_options: request_options
|
|
51
74
|
)
|
|
52
75
|
result = Retab::WorkflowTestResult.new(response.body)
|
|
53
|
-
result.last_response = Retab::Types::ApiResponse.new(
|
|
76
|
+
result.last_response = Retab::Types::ApiResponse.new(
|
|
77
|
+
http_status: response.code.to_i,
|
|
78
|
+
http_headers: response.each_header.to_h,
|
|
79
|
+
request_id: response["x-request-id"]
|
|
80
|
+
)
|
|
54
81
|
result
|
|
55
82
|
end
|
|
56
83
|
end
|
|
@@ -10,11 +10,13 @@ module Retab
|
|
|
10
10
|
outcome: :outcome
|
|
11
11
|
}.freeze
|
|
12
12
|
|
|
13
|
-
attr_accessor
|
|
13
|
+
attr_accessor(
|
|
14
14
|
:lifecycle_counts,
|
|
15
15
|
:outcome
|
|
16
|
+
)
|
|
16
17
|
|
|
17
18
|
def initialize(json)
|
|
19
|
+
super()
|
|
18
20
|
hash = self.class.normalize(json)
|
|
19
21
|
@lifecycle_counts = hash[:lifecycle_counts] ? Retab::BlockTestLifecycleCounts.new(hash[:lifecycle_counts]) : nil
|
|
20
22
|
@outcome = hash[:outcome] ? Retab::BlockTestOutcomeCounts.new(hash[:outcome]) : nil
|
|
@@ -14,15 +14,17 @@ module Retab
|
|
|
14
14
|
cancelled: :cancelled
|
|
15
15
|
}.freeze
|
|
16
16
|
|
|
17
|
-
attr_accessor
|
|
17
|
+
attr_accessor(
|
|
18
18
|
:pending,
|
|
19
19
|
:queued,
|
|
20
20
|
:running,
|
|
21
21
|
:completed,
|
|
22
22
|
:error,
|
|
23
23
|
:cancelled
|
|
24
|
+
)
|
|
24
25
|
|
|
25
26
|
def initialize(json)
|
|
27
|
+
super()
|
|
26
28
|
hash = self.class.normalize(json)
|
|
27
29
|
@pending = hash[:pending]
|
|
28
30
|
@queued = hash[:queued]
|
|
@@ -11,12 +11,14 @@ module Retab
|
|
|
11
11
|
blocked: :blocked
|
|
12
12
|
}.freeze
|
|
13
13
|
|
|
14
|
-
attr_accessor
|
|
14
|
+
attr_accessor(
|
|
15
15
|
:passed,
|
|
16
16
|
:failed,
|
|
17
17
|
:blocked
|
|
18
|
+
)
|
|
18
19
|
|
|
19
20
|
def initialize(json)
|
|
21
|
+
super()
|
|
20
22
|
hash = self.class.normalize(json)
|
|
21
23
|
@passed = hash[:passed]
|
|
22
24
|
@failed = hash[:failed]
|
|
@@ -3,5 +3,34 @@
|
|
|
3
3
|
# This file is auto-generated by oagen. Do not edit.
|
|
4
4
|
|
|
5
5
|
module Retab
|
|
6
|
-
CreateWorkflowTestRunRequest
|
|
6
|
+
class CreateWorkflowTestRunRequest < Retab::Types::BaseModel
|
|
7
|
+
|
|
8
|
+
HASH_ATTRS = {
|
|
9
|
+
workflow_id: :workflow_id,
|
|
10
|
+
scope: :scope
|
|
11
|
+
}.freeze
|
|
12
|
+
|
|
13
|
+
attr_accessor(
|
|
14
|
+
:workflow_id,
|
|
15
|
+
:scope
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
def initialize(json)
|
|
19
|
+
super()
|
|
20
|
+
hash = self.class.normalize(json)
|
|
21
|
+
@workflow_id = hash[:workflow_id]
|
|
22
|
+
@scope = hash[:scope] ? (
|
|
23
|
+
case hash[:scope][:type]
|
|
24
|
+
when "block"
|
|
25
|
+
Retab::WorkflowTestRunBlockScope.new(hash[:scope])
|
|
26
|
+
when "single"
|
|
27
|
+
Retab::WorkflowTestRunSingleScope.new(hash[:scope])
|
|
28
|
+
when "workflow"
|
|
29
|
+
Retab::WorkflowTestRunWorkflowScope.new(hash[:scope])
|
|
30
|
+
else
|
|
31
|
+
hash[:scope]
|
|
32
|
+
end
|
|
33
|
+
) : nil
|
|
34
|
+
end
|
|
35
|
+
end
|
|
7
36
|
end
|
|
@@ -10,11 +10,13 @@ module Retab
|
|
|
10
10
|
block_id: :block_id
|
|
11
11
|
}.freeze
|
|
12
12
|
|
|
13
|
-
attr_accessor
|
|
13
|
+
attr_accessor(
|
|
14
14
|
:type,
|
|
15
15
|
:block_id
|
|
16
|
+
)
|
|
16
17
|
|
|
17
18
|
def initialize(json)
|
|
19
|
+
super()
|
|
18
20
|
hash = self.class.normalize(json)
|
|
19
21
|
@type = hash[:type]
|
|
20
22
|
@block_id = hash[:block_id]
|
|
@@ -17,7 +17,7 @@ module Retab
|
|
|
17
17
|
counts: :counts
|
|
18
18
|
}.freeze
|
|
19
19
|
|
|
20
|
-
attr_accessor
|
|
20
|
+
attr_accessor(
|
|
21
21
|
:id,
|
|
22
22
|
:workflow,
|
|
23
23
|
:trigger,
|
|
@@ -27,13 +27,49 @@ module Retab
|
|
|
27
27
|
:test_id,
|
|
28
28
|
:total_tests,
|
|
29
29
|
:counts
|
|
30
|
+
)
|
|
30
31
|
|
|
31
32
|
def initialize(json)
|
|
33
|
+
super()
|
|
32
34
|
hash = self.class.normalize(json)
|
|
33
35
|
@id = hash[:id]
|
|
34
36
|
@workflow = hash[:workflow] ? Retab::WorkflowSnapshotRef.new(hash[:workflow]) : nil
|
|
35
|
-
@trigger = hash[:trigger] ? (
|
|
36
|
-
|
|
37
|
+
@trigger = hash[:trigger] ? (
|
|
38
|
+
case hash[:trigger][:type]
|
|
39
|
+
when "api"
|
|
40
|
+
Retab::ApiTrigger.new(hash[:trigger])
|
|
41
|
+
when "email"
|
|
42
|
+
Retab::EmailTrigger.new(hash[:trigger])
|
|
43
|
+
when "manual"
|
|
44
|
+
Retab::ManualTrigger.new(hash[:trigger])
|
|
45
|
+
when "restart"
|
|
46
|
+
Retab::RestartTrigger.new(hash[:trigger])
|
|
47
|
+
when "schedule"
|
|
48
|
+
Retab::ScheduleTrigger.new(hash[:trigger])
|
|
49
|
+
when "webhook"
|
|
50
|
+
Retab::WebhookTrigger.new(hash[:trigger])
|
|
51
|
+
else
|
|
52
|
+
hash[:trigger]
|
|
53
|
+
end
|
|
54
|
+
) : nil
|
|
55
|
+
@lifecycle = hash[:lifecycle] ? (
|
|
56
|
+
case hash[:lifecycle][:status]
|
|
57
|
+
when "cancelled"
|
|
58
|
+
Retab::CancelledWorkflowTestRun.new(hash[:lifecycle])
|
|
59
|
+
when "completed"
|
|
60
|
+
Retab::CompletedWorkflowTestRun.new(hash[:lifecycle])
|
|
61
|
+
when "error"
|
|
62
|
+
Retab::ErrorWorkflowTestRun.new(hash[:lifecycle])
|
|
63
|
+
when "pending"
|
|
64
|
+
Retab::PendingWorkflowTestRun.new(hash[:lifecycle])
|
|
65
|
+
when "queued"
|
|
66
|
+
Retab::QueuedWorkflowTestRun.new(hash[:lifecycle])
|
|
67
|
+
when "running"
|
|
68
|
+
Retab::RunningWorkflowTestRun.new(hash[:lifecycle])
|
|
69
|
+
else
|
|
70
|
+
hash[:lifecycle]
|
|
71
|
+
end
|
|
72
|
+
) : nil
|
|
37
73
|
@timing = hash[:timing] ? Retab::WorkflowTestRunTiming.new(hash[:timing]) : nil
|
|
38
74
|
@target = hash[:target] ? Retab::WorkflowTestBlockTarget.new(hash[:target]) : nil
|
|
39
75
|
@test_id = hash[:test_id]
|
|
@@ -3,26 +3,22 @@
|
|
|
3
3
|
# This file is auto-generated by oagen. Do not edit.
|
|
4
4
|
|
|
5
5
|
module Retab
|
|
6
|
-
class
|
|
6
|
+
class WorkflowTestRunBlockScope < Retab::Types::BaseModel
|
|
7
7
|
|
|
8
8
|
HASH_ATTRS = {
|
|
9
|
-
|
|
10
|
-
code: :code,
|
|
11
|
-
message: :message,
|
|
9
|
+
type: :type,
|
|
12
10
|
block_id: :block_id
|
|
13
11
|
}.freeze
|
|
14
12
|
|
|
15
|
-
attr_accessor
|
|
16
|
-
:
|
|
17
|
-
:code,
|
|
18
|
-
:message,
|
|
13
|
+
attr_accessor(
|
|
14
|
+
:type,
|
|
19
15
|
:block_id
|
|
16
|
+
)
|
|
20
17
|
|
|
21
18
|
def initialize(json)
|
|
19
|
+
super()
|
|
22
20
|
hash = self.class.normalize(json)
|
|
23
|
-
@
|
|
24
|
-
@code = hash[:code]
|
|
25
|
-
@message = hash[:message]
|
|
21
|
+
@type = hash[:type]
|
|
26
22
|
@block_id = hash[:block_id]
|
|
27
23
|
end
|
|
28
24
|
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is auto-generated by oagen. Do not edit.
|
|
4
|
+
|
|
5
|
+
module Retab
|
|
6
|
+
class WorkflowTestRunSingleScope < Retab::Types::BaseModel
|
|
7
|
+
|
|
8
|
+
HASH_ATTRS = {
|
|
9
|
+
type: :type,
|
|
10
|
+
test_id: :test_id
|
|
11
|
+
}.freeze
|
|
12
|
+
|
|
13
|
+
attr_accessor(
|
|
14
|
+
:type,
|
|
15
|
+
:test_id
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
def initialize(json)
|
|
19
|
+
super()
|
|
20
|
+
hash = self.class.normalize(json)
|
|
21
|
+
@type = hash[:type]
|
|
22
|
+
@test_id = hash[:test_id]
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -12,13 +12,15 @@ module Retab
|
|
|
12
12
|
duration_ms: :duration_ms
|
|
13
13
|
}.freeze
|
|
14
14
|
|
|
15
|
-
attr_accessor
|
|
15
|
+
attr_accessor(
|
|
16
16
|
:created_at,
|
|
17
17
|
:started_at,
|
|
18
18
|
:completed_at,
|
|
19
19
|
:duration_ms
|
|
20
|
+
)
|
|
20
21
|
|
|
21
22
|
def initialize(json)
|
|
23
|
+
super()
|
|
22
24
|
hash = self.class.normalize(json)
|
|
23
25
|
@created_at = hash[:created_at]
|
|
24
26
|
@started_at = hash[:started_at]
|
|
@@ -3,21 +3,18 @@
|
|
|
3
3
|
# This file is auto-generated by oagen. Do not edit.
|
|
4
4
|
|
|
5
5
|
module Retab
|
|
6
|
-
class
|
|
6
|
+
class WorkflowTestRunWorkflowScope < Retab::Types::BaseModel
|
|
7
7
|
|
|
8
8
|
HASH_ATTRS = {
|
|
9
|
-
|
|
10
|
-
y: :y
|
|
9
|
+
type: :type
|
|
11
10
|
}.freeze
|
|
12
11
|
|
|
13
|
-
attr_accessor
|
|
14
|
-
:x,
|
|
15
|
-
:y
|
|
12
|
+
attr_accessor :type
|
|
16
13
|
|
|
17
14
|
def initialize(json)
|
|
15
|
+
super()
|
|
18
16
|
hash = self.class.normalize(json)
|
|
19
|
-
@
|
|
20
|
-
@y = hash[:y]
|
|
17
|
+
@type = hash[:type]
|
|
21
18
|
end
|
|
22
19
|
end
|
|
23
20
|
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# This file is auto-generated by oagen. Do not edit.
|
|
4
4
|
|
|
5
|
-
require
|
|
5
|
+
require "json"
|
|
6
6
|
|
|
7
7
|
module Retab
|
|
8
8
|
class WorkflowTestRuns
|
|
@@ -22,13 +22,12 @@ module Retab
|
|
|
22
22
|
# @param from_date [String, nil]
|
|
23
23
|
# @param to_date [String, nil]
|
|
24
24
|
# @param sort_by [String, nil]
|
|
25
|
-
# @param fields [String, nil]
|
|
26
25
|
# @param before [String, nil]
|
|
27
26
|
# @param after [String, nil]
|
|
28
27
|
# @param limit [Integer, nil]
|
|
29
28
|
# @param order [Retab::Types::WorkflowTestRunsOrder, nil]
|
|
30
29
|
# @param request_options [Hash] (see Retab::Types::RequestOptions)
|
|
31
|
-
# @return [Retab::
|
|
30
|
+
# @return [Retab::PaginatedList<Retab::WorkflowTestRun>]
|
|
32
31
|
def list(
|
|
33
32
|
workflow_id: nil,
|
|
34
33
|
test_id: nil,
|
|
@@ -40,40 +39,38 @@ module Retab
|
|
|
40
39
|
trigger_types: nil,
|
|
41
40
|
from_date: nil,
|
|
42
41
|
to_date: nil,
|
|
43
|
-
sort_by:
|
|
44
|
-
fields: nil,
|
|
42
|
+
sort_by: "created_at",
|
|
45
43
|
before: nil,
|
|
46
44
|
after: nil,
|
|
47
45
|
limit: 50,
|
|
48
|
-
order:
|
|
46
|
+
order: "desc",
|
|
49
47
|
request_options: {}
|
|
50
48
|
)
|
|
51
49
|
params = {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
'order' => order
|
|
50
|
+
"workflow_id" => workflow_id,
|
|
51
|
+
"test_id" => test_id,
|
|
52
|
+
"target_block_id" => target_block_id,
|
|
53
|
+
"status" => status,
|
|
54
|
+
"statuses" => statuses,
|
|
55
|
+
"exclude_status" => exclude_status,
|
|
56
|
+
"trigger_type" => trigger_type,
|
|
57
|
+
"trigger_types" => trigger_types,
|
|
58
|
+
"from_date" => from_date,
|
|
59
|
+
"to_date" => to_date,
|
|
60
|
+
"sort_by" => sort_by,
|
|
61
|
+
"before" => before,
|
|
62
|
+
"after" => after,
|
|
63
|
+
"limit" => limit,
|
|
64
|
+
"order" => order
|
|
68
65
|
}.compact
|
|
69
66
|
response = @client.request(
|
|
70
67
|
method: :get,
|
|
71
|
-
path:
|
|
68
|
+
path: "/v1/workflows/tests/runs",
|
|
72
69
|
auth: true,
|
|
73
70
|
params: params,
|
|
74
71
|
request_options: request_options
|
|
75
72
|
)
|
|
76
|
-
fetch_next = ->(cursor) {
|
|
73
|
+
fetch_next = -> (cursor) {
|
|
77
74
|
list(
|
|
78
75
|
workflow_id: workflow_id,
|
|
79
76
|
test_id: test_id,
|
|
@@ -86,7 +83,6 @@ module Retab
|
|
|
86
83
|
from_date: from_date,
|
|
87
84
|
to_date: to_date,
|
|
88
85
|
sort_by: sort_by,
|
|
89
|
-
fields: fields,
|
|
90
86
|
before: before,
|
|
91
87
|
after: cursor,
|
|
92
88
|
limit: limit,
|
|
@@ -94,26 +90,56 @@ module Retab
|
|
|
94
90
|
request_options: request_options
|
|
95
91
|
)
|
|
96
92
|
}
|
|
97
|
-
Retab::
|
|
93
|
+
Retab::PaginatedList.from_response(
|
|
98
94
|
response,
|
|
99
95
|
model: Retab::WorkflowTestRun,
|
|
100
|
-
filters: {
|
|
96
|
+
filters: {
|
|
97
|
+
workflow_id: workflow_id,
|
|
98
|
+
test_id: test_id,
|
|
99
|
+
target_block_id: target_block_id,
|
|
100
|
+
status: status,
|
|
101
|
+
statuses: statuses,
|
|
102
|
+
exclude_status: exclude_status,
|
|
103
|
+
trigger_type: trigger_type,
|
|
104
|
+
trigger_types: trigger_types,
|
|
105
|
+
from_date: from_date,
|
|
106
|
+
to_date: to_date,
|
|
107
|
+
sort_by: sort_by,
|
|
108
|
+
before: before,
|
|
109
|
+
limit: limit,
|
|
110
|
+
order: order
|
|
111
|
+
},
|
|
101
112
|
fetch_next: fetch_next
|
|
102
113
|
)
|
|
103
114
|
end
|
|
104
115
|
|
|
105
116
|
# Create Test Run
|
|
117
|
+
# @param workflow_id [String]
|
|
118
|
+
# @param scope [Retab::WorkflowTestRunSingleScope, Retab::WorkflowTestRunWorkflowScope, Retab::WorkflowTestRunBlockScope, nil] Optional execution scope. Omit to run every saved test in the workflow.
|
|
106
119
|
# @param request_options [Hash] (see Retab::Types::RequestOptions)
|
|
107
120
|
# @return [Retab::WorkflowTestRun]
|
|
108
|
-
def create(
|
|
121
|
+
def create(
|
|
122
|
+
workflow_id:,
|
|
123
|
+
scope: nil,
|
|
124
|
+
request_options: {}
|
|
125
|
+
)
|
|
126
|
+
body = {
|
|
127
|
+
"workflow_id" => workflow_id,
|
|
128
|
+
"scope" => scope
|
|
129
|
+
}.compact
|
|
109
130
|
response = @client.request(
|
|
110
131
|
method: :post,
|
|
111
|
-
path:
|
|
132
|
+
path: "/v1/workflows/tests/runs",
|
|
112
133
|
auth: true,
|
|
134
|
+
body: body,
|
|
113
135
|
request_options: request_options
|
|
114
136
|
)
|
|
115
137
|
result = Retab::WorkflowTestRun.new(response.body)
|
|
116
|
-
result.last_response = Retab::Types::ApiResponse.new(
|
|
138
|
+
result.last_response = Retab::Types::ApiResponse.new(
|
|
139
|
+
http_status: response.code.to_i,
|
|
140
|
+
http_headers: response.each_header.to_h,
|
|
141
|
+
request_id: response["x-request-id"]
|
|
142
|
+
)
|
|
117
143
|
result
|
|
118
144
|
end
|
|
119
145
|
|
|
@@ -132,7 +158,11 @@ module Retab
|
|
|
132
158
|
request_options: request_options
|
|
133
159
|
)
|
|
134
160
|
result = Retab::WorkflowTestRun.new(response.body)
|
|
135
|
-
result.last_response = Retab::Types::ApiResponse.new(
|
|
161
|
+
result.last_response = Retab::Types::ApiResponse.new(
|
|
162
|
+
http_status: response.code.to_i,
|
|
163
|
+
http_headers: response.each_header.to_h,
|
|
164
|
+
request_id: response["x-request-id"]
|
|
165
|
+
)
|
|
136
166
|
result
|
|
137
167
|
end
|
|
138
168
|
|
|
@@ -151,7 +181,11 @@ module Retab
|
|
|
151
181
|
request_options: request_options
|
|
152
182
|
)
|
|
153
183
|
result = Retab::WorkflowTestRun.new(response.body)
|
|
154
|
-
result.last_response = Retab::Types::ApiResponse.new(
|
|
184
|
+
result.last_response = Retab::Types::ApiResponse.new(
|
|
185
|
+
http_status: response.code.to_i,
|
|
186
|
+
http_headers: response.each_header.to_h,
|
|
187
|
+
request_id: response["x-request-id"]
|
|
188
|
+
)
|
|
155
189
|
result
|
|
156
190
|
end
|
|
157
191
|
end
|
|
@@ -10,14 +10,51 @@ module Retab
|
|
|
10
10
|
condition: :condition
|
|
11
11
|
}.freeze
|
|
12
12
|
|
|
13
|
-
attr_accessor
|
|
13
|
+
attr_accessor(
|
|
14
14
|
:kind,
|
|
15
15
|
:condition
|
|
16
|
+
)
|
|
16
17
|
|
|
17
18
|
def initialize(json)
|
|
19
|
+
super()
|
|
18
20
|
hash = self.class.normalize(json)
|
|
19
21
|
@kind = hash[:kind]
|
|
20
|
-
@condition = hash[:condition] ? (
|
|
22
|
+
@condition = hash[:condition] ? (
|
|
23
|
+
case hash[:condition][:kind]
|
|
24
|
+
when "all_items_match"
|
|
25
|
+
Retab::AllItemsMatchCondition.new(hash[:condition])
|
|
26
|
+
when "any_item_matches"
|
|
27
|
+
Retab::AnyItemMatchesCondition.new(hash[:condition])
|
|
28
|
+
when "array_contains"
|
|
29
|
+
Retab::ArrayContainsCondition.new(hash[:condition])
|
|
30
|
+
when "between"
|
|
31
|
+
Retab::BetweenCondition.new(hash[:condition])
|
|
32
|
+
when "ends_with"
|
|
33
|
+
Retab::EndsWithCondition.new(hash[:condition])
|
|
34
|
+
when "json_schema_valid"
|
|
35
|
+
Retab::JsonSchemaValidCondition.new(hash[:condition])
|
|
36
|
+
when "length_compare"
|
|
37
|
+
Retab::LengthCompareCondition.new(hash[:condition])
|
|
38
|
+
when "llm_judged_as"
|
|
39
|
+
Retab::LlmJudgedAsCondition.new(hash[:condition])
|
|
40
|
+
when "llm_not_judged_as"
|
|
41
|
+
Retab::LlmNotJudgedAsCondition.new(hash[:condition])
|
|
42
|
+
when "not_contains"
|
|
43
|
+
Retab::NotContainsCondition.new(hash[:condition])
|
|
44
|
+
when "not_equals"
|
|
45
|
+
Retab::NotEqualsCondition.new(hash[:condition])
|
|
46
|
+
when "not_exists"
|
|
47
|
+
Retab::NotExistsCondition.new(hash[:condition])
|
|
48
|
+
when "number_compare"
|
|
49
|
+
Retab::NumberCompareCondition.new(hash[:condition])
|
|
50
|
+
when "object_contains"
|
|
51
|
+
Retab::ObjectContainsCondition.new(hash[:condition])
|
|
52
|
+
when "similarity_gte"
|
|
53
|
+
Retab::SimilarityGteCondition.new(hash[:condition])
|
|
54
|
+
else
|
|
55
|
+
hash[:condition]
|
|
56
|
+
end
|
|
57
|
+
) : nil
|
|
21
58
|
end
|
|
22
59
|
end
|
|
23
60
|
end
|