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.
Files changed (354) hide show
  1. checksums.yaml +4 -4
  2. data/lib/retab/base_client.rb +168 -33
  3. data/lib/retab/classifications/category.rb +3 -1
  4. data/lib/retab/classifications/classification.rb +3 -1
  5. data/lib/retab/classifications/classification_consensus.rb +3 -1
  6. data/lib/retab/classifications/classification_decision.rb +3 -1
  7. data/lib/retab/classifications/classification_request.rb +3 -1
  8. data/lib/retab/classifications.rb +40 -25
  9. data/lib/retab/client.rb +0 -68
  10. data/lib/retab/configuration.rb +8 -6
  11. data/lib/retab/edit_templates/create_edit_template_request.rb +3 -1
  12. data/lib/retab/edit_templates/edit_template.rb +3 -1
  13. data/lib/retab/edit_templates/update_edit_template_request.rb +3 -1
  14. data/lib/retab/edit_templates.rb +36 -24
  15. data/lib/retab/edits/edit.rb +6 -1
  16. data/lib/retab/edits/edit_request.rb +3 -1
  17. data/lib/retab/edits.rb +45 -25
  18. data/lib/retab/errors.rb +21 -4
  19. data/lib/retab/experiment_run_metrics/experiment_by_document_metrics_response.rb +3 -1
  20. data/lib/retab/experiment_run_metrics/experiment_by_document_target_metric.rb +3 -1
  21. data/lib/retab/experiment_run_metrics/experiment_by_target_document_metric.rb +3 -1
  22. data/lib/retab/experiment_run_metrics/experiment_by_target_metrics_response.rb +6 -2
  23. data/lib/retab/experiment_run_metrics/experiment_confusion_flow_metric.rb +3 -1
  24. data/lib/retab/experiment_run_metrics/experiment_confusion_summary_aggregate.rb +3 -1
  25. data/lib/retab/experiment_run_metrics/experiment_extract_summary_aggregate.rb +1 -0
  26. data/lib/retab/experiment_run_metrics/experiment_metric_document_ref.rb +3 -1
  27. data/lib/retab/experiment_run_metrics/experiment_metrics_missing_error.rb +3 -1
  28. data/lib/retab/experiment_run_metrics/experiment_metrics_stale_error.rb +3 -1
  29. data/lib/retab/experiment_run_metrics/experiment_summary_metric_document.rb +3 -1
  30. data/lib/retab/experiment_run_metrics/experiment_summary_metrics_response.rb +6 -2
  31. data/lib/retab/experiment_run_metrics/experiment_target_confusion_metric.rb +3 -1
  32. data/lib/retab/experiment_run_metrics/experiment_vote_row.rb +3 -1
  33. data/lib/retab/experiment_run_metrics/experiment_votes_metrics_response.rb +3 -1
  34. data/lib/retab/experiment_run_metrics/metrics_stale_error_last_run.rb +3 -1
  35. data/lib/retab/experiment_run_metrics.rb +9 -9
  36. data/lib/retab/experiment_run_results/error_workflow_experiment_result.rb +3 -1
  37. data/lib/retab/experiment_run_results/experiment_result.rb +21 -2
  38. data/lib/retab/experiment_run_results/experiment_result_timing.rb +3 -1
  39. data/lib/retab/experiment_run_results.rb +32 -8
  40. data/lib/retab/experiment_runs/cancel_workflow_experiment_run_response.rb +21 -2
  41. data/lib/retab/experiment_runs/create_experiment_run_request.rb +3 -1
  42. data/lib/retab/experiment_runs/experiment_run.rb +21 -2
  43. data/lib/retab/experiment_runs/experiment_run_timing.rb +3 -1
  44. data/lib/retab/experiment_runs/experiment_run_trigger.rb +1 -0
  45. data/lib/retab/experiment_runs.rb +56 -33
  46. data/lib/retab/extractions/extraction.rb +3 -1
  47. data/lib/retab/extractions/extraction_consensus.rb +3 -1
  48. data/lib/retab/extractions/extraction_request.rb +8 -3
  49. data/lib/retab/extractions/file_ref.rb +3 -1
  50. data/lib/retab/extractions/retab_usage.rb +1 -0
  51. data/lib/retab/extractions/sources_response.rb +3 -1
  52. data/lib/retab/extractions.rb +59 -33
  53. data/lib/retab/files/complete_file_upload_request.rb +1 -0
  54. data/lib/retab/files/create_upload_response.rb +3 -1
  55. data/lib/retab/files/file.rb +6 -1
  56. data/lib/retab/files/file_link.rb +3 -1
  57. data/lib/retab/files/upload_file_request.rb +3 -1
  58. data/lib/retab/files.rb +55 -29
  59. data/lib/retab/jobs/create_job_request.rb +3 -1
  60. data/lib/retab/jobs/job.rb +3 -1
  61. data/lib/retab/jobs/job_error.rb +3 -1
  62. data/lib/retab/jobs/job_response.rb +3 -1
  63. data/lib/retab/jobs.rb +73 -37
  64. data/lib/retab/mime.rb +69 -38
  65. data/lib/retab/paginated_list.rb +86 -0
  66. data/lib/retab/parses/parse.rb +3 -1
  67. data/lib/retab/parses/parse_output.rb +3 -1
  68. data/lib/retab/parses/parse_request.rb +3 -1
  69. data/lib/retab/parses.rb +39 -24
  70. data/lib/retab/partitions/partition.rb +3 -1
  71. data/lib/retab/partitions/partition_chunk.rb +3 -1
  72. data/lib/retab/partitions/partition_chunk_likelihood.rb +3 -1
  73. data/lib/retab/partitions/partition_consensus.rb +6 -2
  74. data/lib/retab/partitions/partition_request.rb +3 -1
  75. data/lib/retab/partitions.rb +40 -25
  76. data/lib/retab/schemas/generate_schema_request.rb +3 -1
  77. data/lib/retab/schemas/partial_schema.rb +3 -1
  78. data/lib/retab/schemas.rb +13 -9
  79. data/lib/retab/shared/http_validation_error.rb +1 -0
  80. data/lib/retab/shared/validation_error.rb +3 -1
  81. data/lib/retab/splits/split.rb +3 -1
  82. data/lib/retab/splits/split_consensus.rb +6 -2
  83. data/lib/retab/splits/split_request.rb +3 -1
  84. data/lib/retab/splits/split_result.rb +3 -1
  85. data/lib/retab/splits/split_subdocument_likelihood.rb +3 -1
  86. data/lib/retab/splits/subdocument.rb +3 -1
  87. data/lib/retab/splits.rb +39 -24
  88. data/lib/retab/types/actor_kind.rb +3 -3
  89. data/lib/retab/types/api_response.rb +2 -0
  90. data/lib/retab/types/assertion_drift_status.rb +3 -3
  91. data/lib/retab/types/assertion_outcome.rb +3 -3
  92. data/lib/retab/types/base_model.rb +34 -9
  93. data/lib/retab/types/cancel_workflow_response_cancellation_status.rb +3 -3
  94. data/lib/retab/types/classifications_order.rb +2 -2
  95. data/lib/retab/types/condition_evaluation_details_logical_operator.rb +2 -2
  96. data/lib/retab/types/create_experiment_request_n_consensus.rb +3 -3
  97. data/lib/retab/types/create_job_request_endpoint.rb +24 -12
  98. data/lib/retab/types/declarative_apply_response_action.rb +3 -3
  99. data/lib/retab/types/declarative_plan_field_change_action.rb +3 -3
  100. data/lib/retab/types/declarative_plan_resource_change_target.rb +3 -3
  101. data/lib/retab/types/declarative_plan_resource_change_type.rb +44 -22
  102. data/lib/retab/types/error_step_lifecycle_category.rb +3 -3
  103. data/lib/retab/types/error_step_lifecycle_stage.rb +7 -7
  104. data/lib/retab/types/experiment_block_type.rb +4 -4
  105. data/lib/retab/types/experiment_public_status.rb +5 -5
  106. data/lib/retab/types/experiment_run_metrics_view.rb +4 -4
  107. data/lib/retab/types/experiment_run_results_order.rb +9 -0
  108. data/lib/retab/types/experiment_schema_drift_status.rb +4 -4
  109. data/lib/retab/types/field_type.rb +2 -2
  110. data/lib/retab/types/generate_schema_request_reasoning_effort.rb +6 -6
  111. data/lib/retab/types/handle_payload_type.rb +3 -3
  112. data/lib/retab/types/job_status.rb +7 -7
  113. data/lib/retab/types/jobs_source.rb +3 -3
  114. data/lib/retab/types/latest_block_test_run_summary_status.rb +6 -6
  115. data/lib/retab/types/length_compare_condition_op.rb +6 -6
  116. data/lib/retab/types/list_struct.rb +13 -50
  117. data/lib/retab/types/parse_request_table_parsing_format.rb +4 -4
  118. data/lib/retab/types/request_options.rb +2 -0
  119. data/lib/retab/types/resume_status.rb +5 -4
  120. data/lib/retab/types/review_decision_status.rb +5 -5
  121. data/lib/retab/types/review_evaluation_review_decision.rb +2 -2
  122. data/lib/retab/types/similarity_gte_condition_method.rb +2 -2
  123. data/lib/retab/types/sources_response_document_type.rb +6 -6
  124. data/lib/retab/types/step_artifact_ref_operation.rb +24 -12
  125. data/lib/retab/types/submission_status.rb +3 -3
  126. data/lib/retab/types/update_workflow_block_request_config_mode.rb +2 -2
  127. data/lib/retab/types/while_loop_termination_termination_reason.rb +3 -3
  128. data/lib/retab/types/workflow_block_create_request_type.rb +30 -15
  129. data/lib/retab/types/workflow_block_executions_order.rb +9 -0
  130. data/lib/retab/types/workflow_block_type.rb +40 -20
  131. data/lib/retab/types/workflow_experiments_order.rb +9 -0
  132. data/lib/retab/types/workflow_export_payload_request_exclude_status.rb +8 -8
  133. data/lib/retab/types/workflow_export_payload_request_export_source.rb +2 -2
  134. data/lib/retab/types/workflow_export_payload_request_trigger_types.rb +6 -6
  135. data/lib/retab/types/workflow_test_run_results_order.rb +9 -0
  136. data/lib/retab/types/{workflow_config_block_type.rb → workflow_tests_order.rb} +1 -1
  137. data/lib/retab/util.rb +4 -2
  138. data/lib/retab/version.rb +3 -1
  139. data/lib/retab/workflow_artifacts/api_call_attempt.rb +3 -1
  140. data/lib/retab/workflow_artifacts/api_call_invocation.rb +3 -1
  141. data/lib/retab/workflow_artifacts/b_box.rb +3 -1
  142. data/lib/retab/workflow_artifacts/classification_workflow_artifact.rb +3 -1
  143. data/lib/retab/workflow_artifacts/condition_evaluation_details.rb +6 -2
  144. data/lib/retab/workflow_artifacts/condition_evaluation_per_item.rb +3 -1
  145. data/lib/retab/workflow_artifacts/condition_evaluation_result.rb +6 -2
  146. data/lib/retab/workflow_artifacts/condition_evaluation_sub_condition.rb +3 -1
  147. data/lib/retab/workflow_artifacts/conditional_evaluation.rb +3 -1
  148. data/lib/retab/workflow_artifacts/edit_config.rb +1 -0
  149. data/lib/retab/workflow_artifacts/edit_result.rb +3 -1
  150. data/lib/retab/workflow_artifacts/edit_workflow_artifact.rb +6 -1
  151. data/lib/retab/workflow_artifacts/extraction_workflow_artifact.rb +3 -1
  152. data/lib/retab/workflow_artifacts/form_field.rb +3 -1
  153. data/lib/retab/workflow_artifacts/function_invocation.rb +3 -1
  154. data/lib/retab/workflow_artifacts/parse_workflow_artifact.rb +3 -1
  155. data/lib/retab/workflow_artifacts/partition_workflow_artifact.rb +3 -1
  156. data/lib/retab/workflow_artifacts/review_evaluation.rb +3 -1
  157. data/lib/retab/workflow_artifacts/split_workflow_artifact.rb +3 -1
  158. data/lib/retab/workflow_artifacts/while_loop_termination.rb +3 -1
  159. data/lib/retab/workflow_artifacts/workflow_artifact.rb +3 -1
  160. data/lib/retab/workflow_artifacts.rb +20 -13
  161. data/lib/retab/workflow_block_executions/completed_block_execution_lifecycle.rb +1 -0
  162. data/lib/retab/workflow_block_executions/create_block_execution_request.rb +3 -1
  163. data/lib/retab/workflow_block_executions/error_block_execution_lifecycle.rb +3 -1
  164. data/lib/retab/workflow_block_executions/skipped_block_execution_lifecycle.rb +3 -1
  165. data/lib/retab/workflow_block_executions/stored_block_execution.rb +15 -2
  166. data/lib/retab/workflow_block_executions.rb +40 -15
  167. data/lib/retab/workflow_blocks/update_workflow_block_request.rb +3 -1
  168. data/lib/retab/workflow_blocks/workflow_block.rb +3 -1
  169. data/lib/retab/workflow_blocks/workflow_block_create_request.rb +3 -1
  170. data/lib/retab/workflow_blocks.rb +52 -36
  171. data/lib/retab/workflow_edges/workflow_edge_create_request.rb +3 -1
  172. data/lib/retab/workflow_edges/workflow_edge_doc.rb +3 -1
  173. data/lib/retab/workflow_edges.rb +36 -22
  174. data/lib/retab/workflow_experiments/create_experiment_request.rb +9 -3
  175. data/lib/retab/workflow_experiments/experiment_document_capture_request.rb +3 -1
  176. data/lib/retab/workflow_experiments/experiment_document_provenance.rb +3 -1
  177. data/lib/retab/workflow_experiments/explicit_experiment_document_request.rb +3 -1
  178. data/lib/retab/workflow_experiments/update_experiment_request.rb +9 -3
  179. data/lib/retab/workflow_experiments/workflow_experiment.rb +3 -1
  180. data/lib/retab/workflow_experiments.rb +70 -23
  181. data/lib/retab/workflow_review_versions/create_review_version_request.rb +3 -1
  182. data/lib/retab/workflow_review_versions/review_version.rb +3 -1
  183. data/lib/retab/workflow_review_versions.rb +25 -17
  184. data/lib/retab/workflow_reviews/actor.rb +3 -1
  185. data/lib/retab/workflow_reviews/approve_review_request.rb +1 -0
  186. data/lib/retab/workflow_reviews/reject_review_request.rb +3 -1
  187. data/lib/retab/workflow_reviews/review.rb +37 -2
  188. data/lib/retab/workflow_reviews/review_all_of.rb +39 -2
  189. data/lib/retab/workflow_reviews/review_always.rb +1 -0
  190. data/lib/retab/workflow_reviews/review_any_of.rb +39 -2
  191. data/lib/retab/workflow_reviews/review_any_required_field_null.rb +1 -0
  192. data/lib/retab/workflow_reviews/review_any_split_pages_lt.rb +3 -1
  193. data/lib/retab/workflow_reviews/review_boundary_confidence_lt.rb +3 -1
  194. data/lib/retab/workflow_reviews/review_branch_in.rb +3 -1
  195. data/lib/retab/workflow_reviews/review_category_in.rb +3 -1
  196. data/lib/retab/workflow_reviews/review_confidence_lt.rb +3 -1
  197. data/lib/retab/workflow_reviews/review_decision.rb +3 -1
  198. data/lib/retab/workflow_reviews/review_field_confidence_lt.rb +3 -1
  199. data/lib/retab/workflow_reviews/review_json_condition.rb +3 -1
  200. data/lib/retab/workflow_reviews/review_split_count_neq.rb +3 -1
  201. data/lib/retab/workflow_reviews/review_top_margin_lt.rb +3 -1
  202. data/lib/retab/workflow_reviews/review_validation_failed.rb +1 -0
  203. data/lib/retab/workflow_reviews/submit_decision_response.rb +3 -1
  204. data/lib/retab/workflow_reviews.rb +47 -22
  205. data/lib/retab/workflow_runs/api_trigger.rb +3 -1
  206. data/lib/retab/workflow_runs/awaiting_review_run.rb +3 -1
  207. data/lib/retab/workflow_runs/cancel_workflow_request.rb +1 -0
  208. data/lib/retab/workflow_runs/cancel_workflow_response.rb +3 -1
  209. data/lib/retab/workflow_runs/cancelled_terminal.rb +3 -1
  210. data/lib/retab/workflow_runs/create_workflow_run_request.rb +16 -0
  211. data/lib/retab/workflow_runs/email_trigger.rb +3 -1
  212. data/lib/retab/workflow_runs/error_details.rb +3 -1
  213. data/lib/retab/workflow_runs/error_terminal.rb +3 -1
  214. data/lib/retab/workflow_runs/manual_trigger.rb +3 -1
  215. data/lib/retab/workflow_runs/pending_run.rb +1 -0
  216. data/lib/retab/workflow_runs/restart_trigger.rb +3 -1
  217. data/lib/retab/workflow_runs/run_inputs.rb +3 -1
  218. data/lib/retab/workflow_runs/run_timing.rb +3 -1
  219. data/lib/retab/workflow_runs/running_run.rb +1 -0
  220. data/lib/retab/workflow_runs/schedule_trigger.rb +3 -1
  221. data/lib/retab/workflow_runs/webhook_trigger.rb +3 -1
  222. data/lib/retab/workflow_runs/workflow_export_payload_request.rb +3 -1
  223. data/lib/retab/workflow_runs/workflow_export_payload_response.rb +3 -1
  224. data/lib/retab/workflow_runs/workflow_run.rb +39 -3
  225. data/lib/retab/workflow_runs/workflow_snapshot_ref.rb +3 -1
  226. data/lib/retab/workflow_runs.rb +97 -47
  227. data/lib/retab/{workflow_specs → workflow_spec}/declarative_apply_response.rb +6 -2
  228. data/lib/retab/{workflow_specs → workflow_spec}/declarative_export_response.rb +3 -1
  229. data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_change.rb +6 -2
  230. data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_field_change.rb +3 -1
  231. data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_resource_change.rb +3 -1
  232. data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_response.rb +6 -2
  233. data/lib/retab/{workflow_specs → workflow_spec}/declarative_plan_summary.rb +3 -1
  234. data/lib/retab/{workflow_specs → workflow_spec}/declarative_validation_response.rb +3 -1
  235. data/lib/retab/{workflow_specs → workflow_spec}/declarative_workflow_request.rb +1 -0
  236. data/lib/retab/{workflow_specs.rb → workflow_spec.rb} +29 -13
  237. data/lib/retab/workflow_steps/awaiting_review_step_lifecycle.rb +1 -0
  238. data/lib/retab/workflow_steps/cancelled_step_lifecycle.rb +3 -1
  239. data/lib/retab/workflow_steps/container_context_data.rb +3 -1
  240. data/lib/retab/workflow_steps/error_step_lifecycle.rb +3 -1
  241. data/lib/retab/workflow_steps/handle_payload.rb +3 -1
  242. data/lib/retab/workflow_steps/queued_step_lifecycle.rb +1 -0
  243. data/lib/retab/workflow_steps/step_artifact_ref.rb +3 -1
  244. data/lib/retab/workflow_steps/workflow_run_step.rb +28 -3
  245. data/lib/retab/workflow_steps.rb +34 -17
  246. data/lib/retab/workflow_test_run_results/assertion_failure.rb +3 -1
  247. data/lib/retab/workflow_test_run_results/assertion_result.rb +3 -1
  248. data/lib/retab/workflow_test_run_results/file_handle_input.rb +3 -1
  249. data/lib/retab/workflow_test_run_results/json_handle_input.rb +3 -1
  250. data/lib/retab/workflow_test_run_results/manual_workflow_test_source.rb +3 -1
  251. data/lib/retab/workflow_test_run_results/materialized_document.rb +3 -1
  252. data/lib/retab/workflow_test_run_results/run_step_workflow_test_source.rb +3 -1
  253. data/lib/retab/workflow_test_run_results/verdict_summary.rb +3 -1
  254. data/lib/retab/workflow_test_run_results/workflow_test_result.rb +31 -3
  255. data/lib/retab/workflow_test_run_results.rb +35 -8
  256. data/lib/retab/workflow_test_runs/block_test_batch_execution_counts.rb +3 -1
  257. data/lib/retab/workflow_test_runs/block_test_lifecycle_counts.rb +3 -1
  258. data/lib/retab/workflow_test_runs/block_test_outcome_counts.rb +3 -1
  259. data/lib/retab/workflow_test_runs/create_workflow_test_run_request.rb +30 -1
  260. data/lib/retab/workflow_test_runs/workflow_test_block_target.rb +3 -1
  261. data/lib/retab/workflow_test_runs/workflow_test_run.rb +39 -3
  262. data/lib/retab/{workflows/workflow_diagnosis_issue.rb → workflow_test_runs/workflow_test_run_block_scope.rb} +7 -11
  263. data/lib/retab/workflow_test_runs/workflow_test_run_single_scope.rb +25 -0
  264. data/lib/retab/workflow_test_runs/workflow_test_run_timing.rb +3 -1
  265. data/lib/retab/{workflows/workflow_block_position.rb → workflow_test_runs/workflow_test_run_workflow_scope.rb} +5 -8
  266. data/lib/retab/workflow_test_runs.rb +66 -32
  267. data/lib/retab/workflow_tests/all_items_match_condition.rb +39 -2
  268. data/lib/retab/workflow_tests/any_item_matches_condition.rb +39 -2
  269. data/lib/retab/workflow_tests/array_contains_condition.rb +3 -1
  270. data/lib/retab/workflow_tests/assertion_schema_dep.rb +3 -1
  271. data/lib/retab/workflow_tests/assertion_spec.rb +39 -2
  272. data/lib/retab/workflow_tests/between_condition.rb +3 -1
  273. data/lib/retab/workflow_tests/contain_condition.rb +3 -1
  274. data/lib/retab/workflow_tests/create_workflow_test_request.rb +13 -2
  275. data/lib/retab/workflow_tests/ends_with_condition.rb +3 -1
  276. data/lib/retab/workflow_tests/equal_condition.rb +3 -1
  277. data/lib/retab/workflow_tests/exist_condition.rb +1 -0
  278. data/lib/retab/workflow_tests/json_schema_valid_condition.rb +3 -1
  279. data/lib/retab/workflow_tests/latest_block_test_run_summary.rb +3 -1
  280. data/lib/retab/workflow_tests/length_compare_condition.rb +3 -1
  281. data/lib/retab/workflow_tests/llm_judged_as_condition.rb +3 -1
  282. data/lib/retab/workflow_tests/llm_not_judged_as_condition.rb +3 -1
  283. data/lib/retab/workflow_tests/matche_regex_condition.rb +3 -1
  284. data/lib/retab/workflow_tests/not_contains_condition.rb +3 -1
  285. data/lib/retab/workflow_tests/not_equals_condition.rb +3 -1
  286. data/lib/retab/workflow_tests/not_exists_condition.rb +1 -0
  287. data/lib/retab/workflow_tests/number_compare_condition.rb +3 -1
  288. data/lib/retab/workflow_tests/object_contains_condition.rb +3 -1
  289. data/lib/retab/workflow_tests/output_target.rb +3 -1
  290. data/lib/retab/workflow_tests/similarity_gte_condition.rb +3 -1
  291. data/lib/retab/workflow_tests/split_iou_condition.rb +3 -1
  292. data/lib/retab/workflow_tests/start_with_condition.rb +3 -1
  293. data/lib/retab/workflow_tests/update_workflow_test_request.rb +13 -2
  294. data/lib/retab/workflow_tests/workflow_test.rb +19 -4
  295. data/lib/retab/workflow_tests.rb +68 -21
  296. data/lib/retab/workflows/create_workflow_request.rb +3 -1
  297. data/lib/retab/workflows/publish_workflow_request.rb +1 -0
  298. data/lib/retab/workflows/update_workflow_request.rb +3 -1
  299. data/lib/retab/workflows/workflow.rb +3 -4
  300. data/lib/retab/workflows/workflow_published.rb +3 -1
  301. data/lib/retab/workflows.rb +76 -55
  302. data/lib/retab.rb +6 -6
  303. data/rbi/retab/classifications.rbi +1 -1
  304. data/rbi/retab/client.rbi +0 -51
  305. data/rbi/retab/create_workflow_run_request.rbi +24 -0
  306. data/rbi/retab/create_workflow_test_run_request.rbi +12 -0
  307. data/rbi/retab/edit.rbi +6 -0
  308. data/rbi/retab/edit_template.rbi +4 -4
  309. data/rbi/retab/edit_templates.rbi +1 -1
  310. data/rbi/retab/edit_workflow_artifact.rbi +6 -0
  311. data/rbi/retab/edits.rbi +4 -1
  312. data/rbi/retab/email_trigger.rbi +2 -2
  313. data/rbi/retab/experiment_run_results.rbi +5 -2
  314. data/rbi/retab/experiment_runs.rbi +2 -3
  315. data/rbi/retab/extraction_request.rbi +6 -0
  316. data/rbi/retab/extractions.rbi +3 -2
  317. data/rbi/retab/file.rbi +10 -4
  318. data/rbi/retab/files.rbi +2 -2
  319. data/rbi/retab/jobs.rbi +1 -1
  320. data/rbi/retab/parses.rbi +1 -1
  321. data/rbi/retab/partitions.rbi +1 -1
  322. data/rbi/retab/splits.rbi +1 -1
  323. data/rbi/retab/workflow.rbi +0 -6
  324. data/rbi/retab/workflow_artifacts.rbi +1 -1
  325. data/rbi/retab/workflow_block_executions.rbi +5 -2
  326. data/rbi/retab/workflow_blocks.rbi +4 -1
  327. data/rbi/retab/workflow_edges.rbi +1 -1
  328. data/rbi/retab/workflow_experiments.rbi +15 -2
  329. data/rbi/retab/workflow_review_versions.rbi +1 -1
  330. data/rbi/retab/workflow_reviews.rbi +4 -1
  331. data/rbi/retab/workflow_runs.rbi +6 -2
  332. data/rbi/retab/{workflow_specs.rbi → workflow_spec.rbi} +1 -1
  333. data/rbi/retab/workflow_steps.rbi +3 -2
  334. data/rbi/retab/{workflow_diagnosis_issue.rbi → workflow_test_run_block_scope.rbi} +4 -16
  335. data/rbi/retab/workflow_test_run_results.rbi +6 -2
  336. data/rbi/retab/workflow_test_run_single_scope.rbi +30 -0
  337. data/rbi/retab/{workflow_block_position.rbi → workflow_test_run_workflow_scope.rbi} +5 -11
  338. data/rbi/retab/workflow_test_runs.rbi +5 -4
  339. data/rbi/retab/workflow_tests.rbi +11 -2
  340. data/rbi/retab/workflows.rbi +28 -12
  341. metadata +25 -31
  342. data/lib/retab/types/workflow_diagnosis_issue_severity.rb +0 -14
  343. data/lib/retab/workflows/workflow_config_block.rb +0 -44
  344. data/lib/retab/workflows/workflow_config_edge.rb +0 -35
  345. data/lib/retab/workflows/workflow_diagnosis_response.rb +0 -29
  346. data/lib/retab/workflows/workflow_diagnosis_stats.rb +0 -29
  347. data/lib/retab/workflows/workflow_email_trigger.rb +0 -23
  348. data/lib/retab/workflows/workflow_graph_diagnosis_request.rb +0 -26
  349. data/rbi/retab/workflow_config_block.rbi +0 -72
  350. data/rbi/retab/workflow_config_edge.rbi +0 -54
  351. data/rbi/retab/workflow_diagnosis_response.rbi +0 -42
  352. data/rbi/retab/workflow_diagnosis_stats.rbi +0 -42
  353. data/rbi/retab/workflow_email_trigger.rbi +0 -30
  354. 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] ? (case hash[:lifecycle][:status] when "cancelled" then Retab::CancelledWorkflowTestRun.new(hash[:lifecycle]) when "completed" then Retab::CompletedWorkflowTestRun.new(hash[:lifecycle]) when "error" then Retab::ErrorWorkflowTestRun.new(hash[:lifecycle]) when "pending" then Retab::PendingWorkflowTestRun.new(hash[:lifecycle]) when "queued" then Retab::QueuedWorkflowTestRun.new(hash[:lifecycle]) when "running" then Retab::RunningWorkflowTestRun.new(hash[:lifecycle]) else hash[:lifecycle] end) : nil
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] ? (case hash[:source][:type] when "manual" then Retab::ManualWorkflowTestSource.new(hash[:source]) when "run_step" then Retab::RunStepWorkflowTestSource.new(hash[:source]) else hash[:source] end) : nil
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 'json'
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::Types::ListStruct<Retab::WorkflowTestResult>]
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
- 'run_id' => run_id
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: '/v1/workflows/tests/results',
38
+ path: "/v1/workflows/tests/results",
27
39
  auth: true,
28
40
  params: params,
29
41
  request_options: request_options
30
42
  )
31
- Retab::Types::ListStruct.from_response(
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: { run_id: run_id }
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(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
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 = CreateWorkflowRunRequest
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] ? (case hash[:trigger][:type] when "api" then Retab::ApiTrigger.new(hash[:trigger]) when "email" then Retab::EmailTrigger.new(hash[:trigger]) when "manual" then Retab::ManualTrigger.new(hash[:trigger]) when "restart" then Retab::RestartTrigger.new(hash[:trigger]) when "schedule" then Retab::ScheduleTrigger.new(hash[:trigger]) when "webhook" then Retab::WebhookTrigger.new(hash[:trigger]) else hash[:trigger] end) : nil
36
- @lifecycle = hash[:lifecycle] ? (case hash[:lifecycle][:status] when "cancelled" then Retab::CancelledWorkflowTestRun.new(hash[:lifecycle]) when "completed" then Retab::CompletedWorkflowTestRun.new(hash[:lifecycle]) when "error" then Retab::ErrorWorkflowTestRun.new(hash[:lifecycle]) when "pending" then Retab::PendingWorkflowTestRun.new(hash[:lifecycle]) when "queued" then Retab::QueuedWorkflowTestRun.new(hash[:lifecycle]) when "running" then Retab::RunningWorkflowTestRun.new(hash[:lifecycle]) else hash[:lifecycle] end) : nil
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 WorkflowDiagnosisIssue < Retab::Types::BaseModel
6
+ class WorkflowTestRunBlockScope < Retab::Types::BaseModel
7
7
 
8
8
  HASH_ATTRS = {
9
- severity: :severity,
10
- code: :code,
11
- message: :message,
9
+ type: :type,
12
10
  block_id: :block_id
13
11
  }.freeze
14
12
 
15
- attr_accessor \
16
- :severity,
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
- @severity = hash[:severity]
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 WorkflowBlockPosition < Retab::Types::BaseModel
6
+ class WorkflowTestRunWorkflowScope < Retab::Types::BaseModel
7
7
 
8
8
  HASH_ATTRS = {
9
- x: :x,
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
- @x = hash[:x]
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 'json'
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::Types::ListStruct<Retab::WorkflowTestRun>]
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: 'created_at',
44
- fields: nil,
42
+ sort_by: "created_at",
45
43
  before: nil,
46
44
  after: nil,
47
45
  limit: 50,
48
- order: 'desc',
46
+ order: "desc",
49
47
  request_options: {}
50
48
  )
51
49
  params = {
52
- 'workflow_id' => workflow_id,
53
- 'test_id' => test_id,
54
- 'target_block_id' => target_block_id,
55
- 'status' => status,
56
- 'statuses' => statuses,
57
- 'exclude_status' => exclude_status,
58
- 'trigger_type' => trigger_type,
59
- 'trigger_types' => trigger_types,
60
- 'from_date' => from_date,
61
- 'to_date' => to_date,
62
- 'sort_by' => sort_by,
63
- 'fields' => fields,
64
- 'before' => before,
65
- 'after' => after,
66
- 'limit' => limit,
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: '/v1/workflows/tests/runs',
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::Types::ListStruct.from_response(
93
+ Retab::PaginatedList.from_response(
98
94
  response,
99
95
  model: Retab::WorkflowTestRun,
100
- filters: { workflow_id: workflow_id, test_id: test_id, target_block_id: target_block_id, status: status, statuses: statuses, exclude_status: exclude_status, trigger_type: trigger_type, trigger_types: trigger_types, from_date: from_date, to_date: to_date, sort_by: sort_by, fields: fields, before: before, limit: limit, order: order },
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(request_options: {})
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: '/v1/workflows/tests/runs',
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(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
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(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
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(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
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] ? (case hash[:condition][:kind] when "all_items_match" then Retab::AllItemsMatchCondition.new(hash[:condition]) when "any_item_matches" then Retab::AnyItemMatchesCondition.new(hash[:condition]) when "array_contains" then Retab::ArrayContainsCondition.new(hash[:condition]) when "between" then Retab::BetweenCondition.new(hash[:condition]) when "ends_with" then Retab::EndsWithCondition.new(hash[:condition]) when "json_schema_valid" then Retab::JsonSchemaValidCondition.new(hash[:condition]) when "length_compare" then Retab::LengthCompareCondition.new(hash[:condition]) when "llm_judged_as" then Retab::LlmJudgedAsCondition.new(hash[:condition]) when "llm_not_judged_as" then Retab::LlmNotJudgedAsCondition.new(hash[:condition]) when "not_contains" then Retab::NotContainsCondition.new(hash[:condition]) when "not_equals" then Retab::NotEqualsCondition.new(hash[:condition]) when "not_exists" then Retab::NotExistsCondition.new(hash[:condition]) when "number_compare" then Retab::NumberCompareCondition.new(hash[:condition]) when "object_contains" then Retab::ObjectContainsCondition.new(hash[:condition]) when "similarity_gte" then Retab::SimilarityGteCondition.new(hash[:condition]) else hash[:condition] end) : nil
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