vellum_ai 0.3.4

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 (269) hide show
  1. checksums.yaml +7 -0
  2. data/lib/core/file_utilities.rb +26 -0
  3. data/lib/environment.rb +11 -0
  4. data/lib/gemconfig.rb +14 -0
  5. data/lib/requests.rb +88 -0
  6. data/lib/types_export.rb +255 -0
  7. data/lib/vellum_ai/deployments/client.rb +157 -0
  8. data/lib/vellum_ai/deployments/types/deployments_list_request_status.rb +8 -0
  9. data/lib/vellum_ai/document_indexes/client.rb +135 -0
  10. data/lib/vellum_ai/documents/client.rb +245 -0
  11. data/lib/vellum_ai/model_versions/client.rb +61 -0
  12. data/lib/vellum_ai/registered_prompts/client.rb +154 -0
  13. data/lib/vellum_ai/sandboxes/client.rb +132 -0
  14. data/lib/vellum_ai/test_suites/client.rb +130 -0
  15. data/lib/vellum_ai/types/api_node_result.rb +52 -0
  16. data/lib/vellum_ai/types/api_node_result_data.rb +80 -0
  17. data/lib/vellum_ai/types/array_chat_message_content.rb +50 -0
  18. data/lib/vellum_ai/types/array_chat_message_content_item.rb +103 -0
  19. data/lib/vellum_ai/types/array_chat_message_content_item_request.rb +103 -0
  20. data/lib/vellum_ai/types/array_chat_message_content_request.rb +50 -0
  21. data/lib/vellum_ai/types/block_type_enum.rb +11 -0
  22. data/lib/vellum_ai/types/chat_history_enum.rb +5 -0
  23. data/lib/vellum_ai/types/chat_history_input_request.rb +55 -0
  24. data/lib/vellum_ai/types/chat_message.rb +62 -0
  25. data/lib/vellum_ai/types/chat_message_content.rb +116 -0
  26. data/lib/vellum_ai/types/chat_message_content_request.rb +116 -0
  27. data/lib/vellum_ai/types/chat_message_request.rb +62 -0
  28. data/lib/vellum_ai/types/chat_message_role.rb +6 -0
  29. data/lib/vellum_ai/types/code_execution_node_chat_history_result.rb +54 -0
  30. data/lib/vellum_ai/types/code_execution_node_error_result.rb +56 -0
  31. data/lib/vellum_ai/types/code_execution_node_json_result.rb +50 -0
  32. data/lib/vellum_ai/types/code_execution_node_number_result.rb +50 -0
  33. data/lib/vellum_ai/types/code_execution_node_result.rb +52 -0
  34. data/lib/vellum_ai/types/code_execution_node_result_data.rb +51 -0
  35. data/lib/vellum_ai/types/code_execution_node_result_output.rb +142 -0
  36. data/lib/vellum_ai/types/code_execution_node_search_results_result.rb +54 -0
  37. data/lib/vellum_ai/types/code_execution_node_string_result.rb +50 -0
  38. data/lib/vellum_ai/types/conditional_node_result.rb +52 -0
  39. data/lib/vellum_ai/types/conditional_node_result_data.rb +45 -0
  40. data/lib/vellum_ai/types/deployment_provider_payload_response.rb +45 -0
  41. data/lib/vellum_ai/types/deployment_read.rb +115 -0
  42. data/lib/vellum_ai/types/document_document_to_document_index.rb +70 -0
  43. data/lib/vellum_ai/types/document_index_read.rb +98 -0
  44. data/lib/vellum_ai/types/document_read.rb +121 -0
  45. data/lib/vellum_ai/types/document_status.rb +5 -0
  46. data/lib/vellum_ai/types/enriched_normalized_completion.rb +118 -0
  47. data/lib/vellum_ai/types/entity_status.rb +6 -0
  48. data/lib/vellum_ai/types/environment_enum.rb +6 -0
  49. data/lib/vellum_ai/types/error_enum.rb +5 -0
  50. data/lib/vellum_ai/types/error_variable_value.rb +51 -0
  51. data/lib/vellum_ai/types/execute_prompt_api_error_response.rb +45 -0
  52. data/lib/vellum_ai/types/execute_prompt_event.rb +116 -0
  53. data/lib/vellum_ai/types/execute_prompt_response.rb +90 -0
  54. data/lib/vellum_ai/types/execute_workflow_error_response.rb +45 -0
  55. data/lib/vellum_ai/types/execute_workflow_response.rb +67 -0
  56. data/lib/vellum_ai/types/execute_workflow_stream_error_response.rb +45 -0
  57. data/lib/vellum_ai/types/execute_workflow_workflow_result_event.rb +90 -0
  58. data/lib/vellum_ai/types/finish_reason_enum.rb +6 -0
  59. data/lib/vellum_ai/types/fulfilled_enum.rb +5 -0
  60. data/lib/vellum_ai/types/fulfilled_execute_prompt_event.rb +66 -0
  61. data/lib/vellum_ai/types/fulfilled_execute_prompt_response.rb +71 -0
  62. data/lib/vellum_ai/types/fulfilled_execute_workflow_workflow_result_event.rb +61 -0
  63. data/lib/vellum_ai/types/fulfilled_function_call.rb +56 -0
  64. data/lib/vellum_ai/types/fulfilled_prompt_execution_meta.rb +52 -0
  65. data/lib/vellum_ai/types/fulfilled_workflow_node_result_event.rb +90 -0
  66. data/lib/vellum_ai/types/function_call.rb +90 -0
  67. data/lib/vellum_ai/types/function_call_chat_message_content.rb +52 -0
  68. data/lib/vellum_ai/types/function_call_chat_message_content_request.rb +52 -0
  69. data/lib/vellum_ai/types/function_call_chat_message_content_value.rb +56 -0
  70. data/lib/vellum_ai/types/function_call_chat_message_content_value_request.rb +56 -0
  71. data/lib/vellum_ai/types/function_call_enum.rb +5 -0
  72. data/lib/vellum_ai/types/function_call_variable_value.rb +51 -0
  73. data/lib/vellum_ai/types/generate_error_response.rb +45 -0
  74. data/lib/vellum_ai/types/generate_options_request.rb +50 -0
  75. data/lib/vellum_ai/types/generate_request.rb +60 -0
  76. data/lib/vellum_ai/types/generate_response.rb +49 -0
  77. data/lib/vellum_ai/types/generate_result.rb +62 -0
  78. data/lib/vellum_ai/types/generate_result_data.rb +49 -0
  79. data/lib/vellum_ai/types/generate_result_error.rb +45 -0
  80. data/lib/vellum_ai/types/generate_stream_response.rb +51 -0
  81. data/lib/vellum_ai/types/generate_stream_result.rb +67 -0
  82. data/lib/vellum_ai/types/generate_stream_result_data.rb +56 -0
  83. data/lib/vellum_ai/types/image_chat_message_content.rb +52 -0
  84. data/lib/vellum_ai/types/image_chat_message_content_request.rb +52 -0
  85. data/lib/vellum_ai/types/image_enum.rb +5 -0
  86. data/lib/vellum_ai/types/indexing_state_enum.rb +12 -0
  87. data/lib/vellum_ai/types/initiated_enum.rb +5 -0
  88. data/lib/vellum_ai/types/initiated_execute_prompt_event.rb +57 -0
  89. data/lib/vellum_ai/types/initiated_prompt_execution_meta.rb +68 -0
  90. data/lib/vellum_ai/types/initiated_workflow_node_result_event.rb +90 -0
  91. data/lib/vellum_ai/types/json_enum.rb +5 -0
  92. data/lib/vellum_ai/types/json_input_request.rb +51 -0
  93. data/lib/vellum_ai/types/json_variable_value.rb +45 -0
  94. data/lib/vellum_ai/types/logical_operator.rb +25 -0
  95. data/lib/vellum_ai/types/logprobs_enum.rb +6 -0
  96. data/lib/vellum_ai/types/metadata_filter_config_request.rb +85 -0
  97. data/lib/vellum_ai/types/metadata_filter_rule_combinator.rb +6 -0
  98. data/lib/vellum_ai/types/metadata_filter_rule_request.rb +84 -0
  99. data/lib/vellum_ai/types/model_version_build_config.rb +66 -0
  100. data/lib/vellum_ai/types/model_version_exec_config.rb +90 -0
  101. data/lib/vellum_ai/types/model_version_exec_config_parameters.rb +98 -0
  102. data/lib/vellum_ai/types/model_version_read.rb +133 -0
  103. data/lib/vellum_ai/types/model_version_read_status_enum.rb +11 -0
  104. data/lib/vellum_ai/types/model_version_sandbox_snapshot.rb +61 -0
  105. data/lib/vellum_ai/types/named_test_case_chat_history_variable_value_request.rb +54 -0
  106. data/lib/vellum_ai/types/named_test_case_error_variable_value_request.rb +56 -0
  107. data/lib/vellum_ai/types/named_test_case_json_variable_value_request.rb +50 -0
  108. data/lib/vellum_ai/types/named_test_case_number_variable_value_request.rb +50 -0
  109. data/lib/vellum_ai/types/named_test_case_search_results_variable_value_request.rb +54 -0
  110. data/lib/vellum_ai/types/named_test_case_string_variable_value_request.rb +50 -0
  111. data/lib/vellum_ai/types/named_test_case_variable_value_request.rb +142 -0
  112. data/lib/vellum_ai/types/node_input_compiled_chat_history_value.rb +59 -0
  113. data/lib/vellum_ai/types/node_input_compiled_error_value.rb +61 -0
  114. data/lib/vellum_ai/types/node_input_compiled_json_value.rb +55 -0
  115. data/lib/vellum_ai/types/node_input_compiled_number_value.rb +55 -0
  116. data/lib/vellum_ai/types/node_input_compiled_search_results_value.rb +59 -0
  117. data/lib/vellum_ai/types/node_input_compiled_string_value.rb +55 -0
  118. data/lib/vellum_ai/types/node_input_variable_compiled_value.rb +142 -0
  119. data/lib/vellum_ai/types/node_output_compiled_chat_history_value.rb +54 -0
  120. data/lib/vellum_ai/types/node_output_compiled_error_value.rb +56 -0
  121. data/lib/vellum_ai/types/node_output_compiled_json_value.rb +50 -0
  122. data/lib/vellum_ai/types/node_output_compiled_number_value.rb +50 -0
  123. data/lib/vellum_ai/types/node_output_compiled_search_results_value.rb +54 -0
  124. data/lib/vellum_ai/types/node_output_compiled_string_value.rb +50 -0
  125. data/lib/vellum_ai/types/node_output_compiled_value.rb +142 -0
  126. data/lib/vellum_ai/types/normalized_log_probs.rb +54 -0
  127. data/lib/vellum_ai/types/normalized_token_log_probs.rb +61 -0
  128. data/lib/vellum_ai/types/number_enum.rb +5 -0
  129. data/lib/vellum_ai/types/paginated_slim_deployment_read_list.rb +64 -0
  130. data/lib/vellum_ai/types/paginated_slim_document_list.rb +64 -0
  131. data/lib/vellum_ai/types/paginated_slim_workflow_deployment_list.rb +64 -0
  132. data/lib/vellum_ai/types/processing_failure_reason_enum.rb +9 -0
  133. data/lib/vellum_ai/types/processing_state_enum.rb +11 -0
  134. data/lib/vellum_ai/types/prompt_deployment_expand_meta_request_request.rb +74 -0
  135. data/lib/vellum_ai/types/prompt_deployment_input_request.rb +103 -0
  136. data/lib/vellum_ai/types/prompt_execution_meta.rb +76 -0
  137. data/lib/vellum_ai/types/prompt_node_result.rb +52 -0
  138. data/lib/vellum_ai/types/prompt_node_result_data.rb +55 -0
  139. data/lib/vellum_ai/types/prompt_output.rb +116 -0
  140. data/lib/vellum_ai/types/prompt_template_block.rb +62 -0
  141. data/lib/vellum_ai/types/prompt_template_block_data.rb +54 -0
  142. data/lib/vellum_ai/types/prompt_template_block_data_request.rb +54 -0
  143. data/lib/vellum_ai/types/prompt_template_block_properties.rb +104 -0
  144. data/lib/vellum_ai/types/prompt_template_block_properties_request.rb +104 -0
  145. data/lib/vellum_ai/types/prompt_template_block_request.rb +62 -0
  146. data/lib/vellum_ai/types/provider_enum.rb +20 -0
  147. data/lib/vellum_ai/types/raw_prompt_execution_overrides_request.rb +55 -0
  148. data/lib/vellum_ai/types/register_prompt_error_response.rb +45 -0
  149. data/lib/vellum_ai/types/register_prompt_model_parameters_request.rb +98 -0
  150. data/lib/vellum_ai/types/register_prompt_prompt.rb +50 -0
  151. data/lib/vellum_ai/types/register_prompt_prompt_info_request.rb +60 -0
  152. data/lib/vellum_ai/types/register_prompt_response.rb +110 -0
  153. data/lib/vellum_ai/types/registered_prompt_deployment.rb +55 -0
  154. data/lib/vellum_ai/types/registered_prompt_input_variable_request.rb +56 -0
  155. data/lib/vellum_ai/types/registered_prompt_model_version.rb +50 -0
  156. data/lib/vellum_ai/types/registered_prompt_sandbox.rb +50 -0
  157. data/lib/vellum_ai/types/registered_prompt_sandbox_snapshot.rb +45 -0
  158. data/lib/vellum_ai/types/rejected_enum.rb +5 -0
  159. data/lib/vellum_ai/types/rejected_execute_prompt_event.rb +68 -0
  160. data/lib/vellum_ai/types/rejected_execute_prompt_response.rb +73 -0
  161. data/lib/vellum_ai/types/rejected_execute_workflow_workflow_result_event.rb +63 -0
  162. data/lib/vellum_ai/types/rejected_function_call.rb +62 -0
  163. data/lib/vellum_ai/types/rejected_prompt_execution_meta.rb +52 -0
  164. data/lib/vellum_ai/types/rejected_workflow_node_result_event.rb +92 -0
  165. data/lib/vellum_ai/types/sandbox_scenario.rb +59 -0
  166. data/lib/vellum_ai/types/scenario_input.rb +70 -0
  167. data/lib/vellum_ai/types/scenario_input_request.rb +70 -0
  168. data/lib/vellum_ai/types/scenario_input_type_enum.rb +6 -0
  169. data/lib/vellum_ai/types/search_error_response.rb +45 -0
  170. data/lib/vellum_ai/types/search_filters_request.rb +56 -0
  171. data/lib/vellum_ai/types/search_node_result.rb +52 -0
  172. data/lib/vellum_ai/types/search_node_result_data.rb +70 -0
  173. data/lib/vellum_ai/types/search_request_options_request.rb +79 -0
  174. data/lib/vellum_ai/types/search_response.rb +49 -0
  175. data/lib/vellum_ai/types/search_result.rb +66 -0
  176. data/lib/vellum_ai/types/search_result_document.rb +60 -0
  177. data/lib/vellum_ai/types/search_result_document_request.rb +55 -0
  178. data/lib/vellum_ai/types/search_result_merging_request.rb +45 -0
  179. data/lib/vellum_ai/types/search_result_request.rb +66 -0
  180. data/lib/vellum_ai/types/search_results_enum.rb +5 -0
  181. data/lib/vellum_ai/types/search_weights_request.rb +50 -0
  182. data/lib/vellum_ai/types/slim_deployment_read.rb +109 -0
  183. data/lib/vellum_ai/types/slim_document.rb +126 -0
  184. data/lib/vellum_ai/types/slim_workflow_deployment.rb +118 -0
  185. data/lib/vellum_ai/types/streaming_enum.rb +5 -0
  186. data/lib/vellum_ai/types/streaming_execute_prompt_event.rb +85 -0
  187. data/lib/vellum_ai/types/streaming_prompt_execution_meta.rb +46 -0
  188. data/lib/vellum_ai/types/streaming_workflow_node_result_event.rb +99 -0
  189. data/lib/vellum_ai/types/string_chat_message_content.rb +46 -0
  190. data/lib/vellum_ai/types/string_chat_message_content_request.rb +46 -0
  191. data/lib/vellum_ai/types/string_enum.rb +5 -0
  192. data/lib/vellum_ai/types/string_input_request.rb +51 -0
  193. data/lib/vellum_ai/types/string_variable_value.rb +45 -0
  194. data/lib/vellum_ai/types/submit_completion_actual_request.rb +67 -0
  195. data/lib/vellum_ai/types/submit_completion_actuals_error_response.rb +45 -0
  196. data/lib/vellum_ai/types/submit_workflow_execution_actual_request.rb +103 -0
  197. data/lib/vellum_ai/types/templating_node_chat_history_result.rb +54 -0
  198. data/lib/vellum_ai/types/templating_node_error_result.rb +56 -0
  199. data/lib/vellum_ai/types/templating_node_json_result.rb +50 -0
  200. data/lib/vellum_ai/types/templating_node_number_result.rb +50 -0
  201. data/lib/vellum_ai/types/templating_node_result.rb +52 -0
  202. data/lib/vellum_ai/types/templating_node_result_data.rb +51 -0
  203. data/lib/vellum_ai/types/templating_node_result_output.rb +142 -0
  204. data/lib/vellum_ai/types/templating_node_search_results_result.rb +54 -0
  205. data/lib/vellum_ai/types/templating_node_string_result.rb +50 -0
  206. data/lib/vellum_ai/types/terminal_node_chat_history_result.rb +59 -0
  207. data/lib/vellum_ai/types/terminal_node_error_result.rb +61 -0
  208. data/lib/vellum_ai/types/terminal_node_json_result.rb +55 -0
  209. data/lib/vellum_ai/types/terminal_node_number_result.rb +55 -0
  210. data/lib/vellum_ai/types/terminal_node_result.rb +52 -0
  211. data/lib/vellum_ai/types/terminal_node_result_data.rb +51 -0
  212. data/lib/vellum_ai/types/terminal_node_result_output.rb +142 -0
  213. data/lib/vellum_ai/types/terminal_node_search_results_result.rb +59 -0
  214. data/lib/vellum_ai/types/terminal_node_string_result.rb +55 -0
  215. data/lib/vellum_ai/types/test_case_chat_history_variable_value.rb +54 -0
  216. data/lib/vellum_ai/types/test_case_error_variable_value.rb +56 -0
  217. data/lib/vellum_ai/types/test_case_json_variable_value.rb +50 -0
  218. data/lib/vellum_ai/types/test_case_number_variable_value.rb +50 -0
  219. data/lib/vellum_ai/types/test_case_search_results_variable_value.rb +54 -0
  220. data/lib/vellum_ai/types/test_case_string_variable_value.rb +50 -0
  221. data/lib/vellum_ai/types/test_case_variable_value.rb +142 -0
  222. data/lib/vellum_ai/types/test_suite_test_case.rb +68 -0
  223. data/lib/vellum_ai/types/upload_document_error_response.rb +45 -0
  224. data/lib/vellum_ai/types/upload_document_response.rb +45 -0
  225. data/lib/vellum_ai/types/vellum_error.rb +51 -0
  226. data/lib/vellum_ai/types/vellum_error_code_enum.rb +10 -0
  227. data/lib/vellum_ai/types/vellum_error_request.rb +51 -0
  228. data/lib/vellum_ai/types/vellum_image.rb +50 -0
  229. data/lib/vellum_ai/types/vellum_image_request.rb +50 -0
  230. data/lib/vellum_ai/types/vellum_variable.rb +56 -0
  231. data/lib/vellum_ai/types/vellum_variable_type.rb +16 -0
  232. data/lib/vellum_ai/types/workflow_event_error.rb +51 -0
  233. data/lib/vellum_ai/types/workflow_execution_actual_chat_history_request.rb +77 -0
  234. data/lib/vellum_ai/types/workflow_execution_actual_json_request.rb +73 -0
  235. data/lib/vellum_ai/types/workflow_execution_actual_string_request.rb +73 -0
  236. data/lib/vellum_ai/types/workflow_execution_event_error_code.rb +13 -0
  237. data/lib/vellum_ai/types/workflow_execution_event_type.rb +6 -0
  238. data/lib/vellum_ai/types/workflow_execution_node_result_event.rb +68 -0
  239. data/lib/vellum_ai/types/workflow_execution_workflow_result_event.rb +68 -0
  240. data/lib/vellum_ai/types/workflow_node_result_data.rb +155 -0
  241. data/lib/vellum_ai/types/workflow_node_result_event.rb +116 -0
  242. data/lib/vellum_ai/types/workflow_node_result_event_state.rb +11 -0
  243. data/lib/vellum_ai/types/workflow_output.rb +168 -0
  244. data/lib/vellum_ai/types/workflow_output_chat_history.rb +60 -0
  245. data/lib/vellum_ai/types/workflow_output_error.rb +62 -0
  246. data/lib/vellum_ai/types/workflow_output_function_call.rb +62 -0
  247. data/lib/vellum_ai/types/workflow_output_image.rb +62 -0
  248. data/lib/vellum_ai/types/workflow_output_json.rb +56 -0
  249. data/lib/vellum_ai/types/workflow_output_number.rb +56 -0
  250. data/lib/vellum_ai/types/workflow_output_search_results.rb +60 -0
  251. data/lib/vellum_ai/types/workflow_output_string.rb +56 -0
  252. data/lib/vellum_ai/types/workflow_request_chat_history_input_request.rb +54 -0
  253. data/lib/vellum_ai/types/workflow_request_input_request.rb +116 -0
  254. data/lib/vellum_ai/types/workflow_request_json_input_request.rb +50 -0
  255. data/lib/vellum_ai/types/workflow_request_number_input_request.rb +50 -0
  256. data/lib/vellum_ai/types/workflow_request_string_input_request.rb +50 -0
  257. data/lib/vellum_ai/types/workflow_result_event.rb +95 -0
  258. data/lib/vellum_ai/types/workflow_result_event_output_data.rb +142 -0
  259. data/lib/vellum_ai/types/workflow_result_event_output_data_chat_history.rb +83 -0
  260. data/lib/vellum_ai/types/workflow_result_event_output_data_error.rb +85 -0
  261. data/lib/vellum_ai/types/workflow_result_event_output_data_json.rb +79 -0
  262. data/lib/vellum_ai/types/workflow_result_event_output_data_number.rb +79 -0
  263. data/lib/vellum_ai/types/workflow_result_event_output_data_search_results.rb +83 -0
  264. data/lib/vellum_ai/types/workflow_result_event_output_data_string.rb +79 -0
  265. data/lib/vellum_ai/types/workflow_stream_event.rb +90 -0
  266. data/lib/vellum_ai/workflow_deployments/client.rb +82 -0
  267. data/lib/vellum_ai/workflow_deployments/types/workflow_deployments_list_request_status.rb +8 -0
  268. data/lib/vellum_ai.rb +476 -0
  269. metadata +381 -0
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "workflow_execution_actual_string_request"
5
+ require_relative "workflow_execution_actual_json_request"
6
+ require_relative "workflow_execution_actual_chat_history_request"
7
+
8
+ module Vellum
9
+ class SubmitWorkflowExecutionActualRequest
10
+ attr_reader :member, :discriminant
11
+
12
+ private_class_method :new
13
+ alias kind_of? is_a?
14
+ # @param member [Object]
15
+ # @param discriminant [String]
16
+ # @return [SubmitWorkflowExecutionActualRequest]
17
+ def initialize(member:, discriminant:)
18
+ # @type [Object]
19
+ @member = member
20
+ # @type [String]
21
+ @discriminant = discriminant
22
+ end
23
+
24
+ # Deserialize a JSON object to an instance of SubmitWorkflowExecutionActualRequest
25
+ #
26
+ # @param json_object [JSON]
27
+ # @return [SubmitWorkflowExecutionActualRequest]
28
+ def self.from_json(json_object:)
29
+ struct = JSON.parse(json_object, object_class: OpenStruct)
30
+ member = case struct.output_type
31
+ when "STRING"
32
+ WorkflowExecutionActualStringRequest.from_json(json_object: json_object)
33
+ when "JSON"
34
+ WorkflowExecutionActualJsonRequest.from_json(json_object: json_object)
35
+ when "CHAT_HISTORY"
36
+ WorkflowExecutionActualChatHistoryRequest.from_json(json_object: json_object)
37
+ else
38
+ WorkflowExecutionActualStringRequest.from_json(json_object: json_object)
39
+ end
40
+ new(member: member, discriminant: struct.output_type)
41
+ end
42
+
43
+ # For Union Types, to_json functionality is delegated to the wrapped member.
44
+ #
45
+ # @return [JSON]
46
+ def to_json(*_args)
47
+ case @discriminant
48
+ when "STRING"
49
+ { **@member.to_json, output_type: @discriminant }.to_json
50
+ when "JSON"
51
+ { **@member.to_json, output_type: @discriminant }.to_json
52
+ when "CHAT_HISTORY"
53
+ { **@member.to_json, output_type: @discriminant }.to_json
54
+ else
55
+ { "output_type": @discriminant, value: @member }.to_json
56
+ end
57
+ @member.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ case obj.output_type
66
+ when "STRING"
67
+ WorkflowExecutionActualStringRequest.validate_raw(obj: obj)
68
+ when "JSON"
69
+ WorkflowExecutionActualJsonRequest.validate_raw(obj: obj)
70
+ when "CHAT_HISTORY"
71
+ WorkflowExecutionActualChatHistoryRequest.validate_raw(obj: obj)
72
+ else
73
+ raise("Passed value matched no type within the union, validation failed.")
74
+ end
75
+ end
76
+
77
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Boolean]
81
+ def is_a?(obj)
82
+ @member.is_a?(obj)
83
+ end
84
+
85
+ # @param member [WorkflowExecutionActualStringRequest]
86
+ # @return [SubmitWorkflowExecutionActualRequest]
87
+ def self.string(member:)
88
+ new(member: member, discriminant: "STRING")
89
+ end
90
+
91
+ # @param member [WorkflowExecutionActualJsonRequest]
92
+ # @return [SubmitWorkflowExecutionActualRequest]
93
+ def self.json(member:)
94
+ new(member: member, discriminant: "JSON")
95
+ end
96
+
97
+ # @param member [WorkflowExecutionActualChatHistoryRequest]
98
+ # @return [SubmitWorkflowExecutionActualRequest]
99
+ def self.chat_history(member:)
100
+ new(member: member, discriminant: "CHAT_HISTORY")
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "chat_message"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class TemplatingNodeChatHistoryResult
8
+ attr_reader :id, :value, :additional_properties
9
+
10
+ # @param id [String]
11
+ # @param value [Array<ChatMessage>]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [TemplatingNodeChatHistoryResult]
14
+ def initialize(id:, value: nil, additional_properties: nil)
15
+ # @type [String]
16
+ @id = id
17
+ # @type [Array<ChatMessage>]
18
+ @value = value
19
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
20
+ @additional_properties = additional_properties
21
+ end
22
+
23
+ # Deserialize a JSON object to an instance of TemplatingNodeChatHistoryResult
24
+ #
25
+ # @param json_object [JSON]
26
+ # @return [TemplatingNodeChatHistoryResult]
27
+ def self.from_json(json_object:)
28
+ struct = JSON.parse(json_object, object_class: OpenStruct)
29
+ parsed_json = JSON.parse(json_object)
30
+ id = struct.id
31
+ value = parsed_json["value"].map do |v|
32
+ v = v.to_json
33
+ ChatMessage.from_json(json_object: v)
34
+ end
35
+ new(id: id, value: value, additional_properties: struct)
36
+ end
37
+
38
+ # Serialize an instance of TemplatingNodeChatHistoryResult to a JSON object
39
+ #
40
+ # @return [JSON]
41
+ def to_json(*_args)
42
+ { "id": @id, "value": @value }.to_json
43
+ end
44
+
45
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
46
+ #
47
+ # @param obj [Object]
48
+ # @return [Void]
49
+ def self.validate_raw(obj:)
50
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
51
+ obj.value&.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "vellum_error"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class TemplatingNodeErrorResult
8
+ attr_reader :id, :value, :additional_properties
9
+
10
+ # @param id [String]
11
+ # @param value [VellumError]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [TemplatingNodeErrorResult]
14
+ def initialize(id:, value: nil, additional_properties: nil)
15
+ # @type [String]
16
+ @id = id
17
+ # @type [VellumError]
18
+ @value = value
19
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
20
+ @additional_properties = additional_properties
21
+ end
22
+
23
+ # Deserialize a JSON object to an instance of TemplatingNodeErrorResult
24
+ #
25
+ # @param json_object [JSON]
26
+ # @return [TemplatingNodeErrorResult]
27
+ def self.from_json(json_object:)
28
+ struct = JSON.parse(json_object, object_class: OpenStruct)
29
+ parsed_json = JSON.parse(json_object)
30
+ id = struct.id
31
+ if parsed_json["value"].nil?
32
+ value = nil
33
+ else
34
+ value = parsed_json["value"].to_json
35
+ value = VellumError.from_json(json_object: value)
36
+ end
37
+ new(id: id, value: value, additional_properties: struct)
38
+ end
39
+
40
+ # Serialize an instance of TemplatingNodeErrorResult to a JSON object
41
+ #
42
+ # @return [JSON]
43
+ def to_json(*_args)
44
+ { "id": @id, "value": @value }.to_json
45
+ end
46
+
47
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
48
+ #
49
+ # @param obj [Object]
50
+ # @return [Void]
51
+ def self.validate_raw(obj:)
52
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
53
+ obj.value.nil? || VellumError.validate_raw(obj: obj.value)
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Vellum
6
+ class TemplatingNodeJsonResult
7
+ attr_reader :id, :value, :additional_properties
8
+
9
+ # @param id [String]
10
+ # @param value [Hash{String => String}]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [TemplatingNodeJsonResult]
13
+ def initialize(id:, value: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @id = id
16
+ # @type [Hash{String => String}]
17
+ @value = value
18
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
19
+ @additional_properties = additional_properties
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of TemplatingNodeJsonResult
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [TemplatingNodeJsonResult]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ JSON.parse(json_object)
29
+ id = struct.id
30
+ value = struct.value
31
+ new(id: id, value: value, additional_properties: struct)
32
+ end
33
+
34
+ # Serialize an instance of TemplatingNodeJsonResult to a JSON object
35
+ #
36
+ # @return [JSON]
37
+ def to_json(*_args)
38
+ { "id": @id, "value": @value }.to_json
39
+ end
40
+
41
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:)
46
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
47
+ obj.value&.is_a?(Hash) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Vellum
6
+ class TemplatingNodeNumberResult
7
+ attr_reader :id, :value, :additional_properties
8
+
9
+ # @param id [String]
10
+ # @param value [Float]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [TemplatingNodeNumberResult]
13
+ def initialize(id:, value: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @id = id
16
+ # @type [Float]
17
+ @value = value
18
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
19
+ @additional_properties = additional_properties
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of TemplatingNodeNumberResult
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [TemplatingNodeNumberResult]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ JSON.parse(json_object)
29
+ id = struct.id
30
+ value = struct.value
31
+ new(id: id, value: value, additional_properties: struct)
32
+ end
33
+
34
+ # Serialize an instance of TemplatingNodeNumberResult to a JSON object
35
+ #
36
+ # @return [JSON]
37
+ def to_json(*_args)
38
+ { "id": @id, "value": @value }.to_json
39
+ end
40
+
41
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:)
46
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
47
+ obj.value&.is_a?(Float) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "templating_node_result_data"
4
+ require "json"
5
+
6
+ module Vellum
7
+ # A Node Result Event emitted from a Templating Node.
8
+ class TemplatingNodeResult
9
+ attr_reader :data, :additional_properties
10
+
11
+ # @param data [TemplatingNodeResultData]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [TemplatingNodeResult]
14
+ def initialize(data:, additional_properties: nil)
15
+ # @type [TemplatingNodeResultData]
16
+ @data = data
17
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
18
+ @additional_properties = additional_properties
19
+ end
20
+
21
+ # Deserialize a JSON object to an instance of TemplatingNodeResult
22
+ #
23
+ # @param json_object [JSON]
24
+ # @return [TemplatingNodeResult]
25
+ def self.from_json(json_object:)
26
+ struct = JSON.parse(json_object, object_class: OpenStruct)
27
+ parsed_json = JSON.parse(json_object)
28
+ if parsed_json["data"].nil?
29
+ data = nil
30
+ else
31
+ data = parsed_json["data"].to_json
32
+ data = TemplatingNodeResultData.from_json(json_object: data)
33
+ end
34
+ new(data: data, additional_properties: struct)
35
+ end
36
+
37
+ # Serialize an instance of TemplatingNodeResult to a JSON object
38
+ #
39
+ # @return [JSON]
40
+ def to_json(*_args)
41
+ { "data": @data }.to_json
42
+ end
43
+
44
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
45
+ #
46
+ # @param obj [Object]
47
+ # @return [Void]
48
+ def self.validate_raw(obj:)
49
+ TemplatingNodeResultData.validate_raw(obj: obj.data)
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "templating_node_result_output"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class TemplatingNodeResultData
8
+ attr_reader :output, :additional_properties
9
+
10
+ # @param output [TemplatingNodeResultOutput]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [TemplatingNodeResultData]
13
+ def initialize(output:, additional_properties: nil)
14
+ # @type [TemplatingNodeResultOutput]
15
+ @output = output
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of TemplatingNodeResultData
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [TemplatingNodeResultData]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ parsed_json = JSON.parse(json_object)
27
+ if parsed_json["output"].nil?
28
+ output = nil
29
+ else
30
+ output = parsed_json["output"].to_json
31
+ output = TemplatingNodeResultOutput.from_json(json_object: output)
32
+ end
33
+ new(output: output, additional_properties: struct)
34
+ end
35
+
36
+ # Serialize an instance of TemplatingNodeResultData to a JSON object
37
+ #
38
+ # @return [JSON]
39
+ def to_json(*_args)
40
+ { "output": @output }.to_json
41
+ end
42
+
43
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
44
+ #
45
+ # @param obj [Object]
46
+ # @return [Void]
47
+ def self.validate_raw(obj:)
48
+ TemplatingNodeResultOutput.validate_raw(obj: obj.output)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,142 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "templating_node_string_result"
5
+ require_relative "templating_node_number_result"
6
+ require_relative "templating_node_json_result"
7
+ require_relative "templating_node_chat_history_result"
8
+ require_relative "templating_node_search_results_result"
9
+ require_relative "templating_node_error_result"
10
+
11
+ module Vellum
12
+ class TemplatingNodeResultOutput
13
+ attr_reader :member, :discriminant
14
+
15
+ private_class_method :new
16
+ alias kind_of? is_a?
17
+ # @param member [Object]
18
+ # @param discriminant [String]
19
+ # @return [TemplatingNodeResultOutput]
20
+ def initialize(member:, discriminant:)
21
+ # @type [Object]
22
+ @member = member
23
+ # @type [String]
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of TemplatingNodeResultOutput
28
+ #
29
+ # @param json_object [JSON]
30
+ # @return [TemplatingNodeResultOutput]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ member = case struct.type
34
+ when "STRING"
35
+ TemplatingNodeStringResult.from_json(json_object: json_object)
36
+ when "NUMBER"
37
+ TemplatingNodeNumberResult.from_json(json_object: json_object)
38
+ when "JSON"
39
+ TemplatingNodeJsonResult.from_json(json_object: json_object)
40
+ when "CHAT_HISTORY"
41
+ TemplatingNodeChatHistoryResult.from_json(json_object: json_object)
42
+ when "SEARCH_RESULTS"
43
+ TemplatingNodeSearchResultsResult.from_json(json_object: json_object)
44
+ when "ERROR"
45
+ TemplatingNodeErrorResult.from_json(json_object: json_object)
46
+ else
47
+ TemplatingNodeStringResult.from_json(json_object: json_object)
48
+ end
49
+ new(member: member, discriminant: struct.type)
50
+ end
51
+
52
+ # For Union Types, to_json functionality is delegated to the wrapped member.
53
+ #
54
+ # @return [JSON]
55
+ def to_json(*_args)
56
+ case @discriminant
57
+ when "STRING"
58
+ { **@member.to_json, type: @discriminant }.to_json
59
+ when "NUMBER"
60
+ { **@member.to_json, type: @discriminant }.to_json
61
+ when "JSON"
62
+ { **@member.to_json, type: @discriminant }.to_json
63
+ when "CHAT_HISTORY"
64
+ { **@member.to_json, type: @discriminant }.to_json
65
+ when "SEARCH_RESULTS"
66
+ { **@member.to_json, type: @discriminant }.to_json
67
+ when "ERROR"
68
+ { **@member.to_json, type: @discriminant }.to_json
69
+ else
70
+ { "type": @discriminant, value: @member }.to_json
71
+ end
72
+ @member.to_json
73
+ end
74
+
75
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ case obj.type
81
+ when "STRING"
82
+ TemplatingNodeStringResult.validate_raw(obj: obj)
83
+ when "NUMBER"
84
+ TemplatingNodeNumberResult.validate_raw(obj: obj)
85
+ when "JSON"
86
+ TemplatingNodeJsonResult.validate_raw(obj: obj)
87
+ when "CHAT_HISTORY"
88
+ TemplatingNodeChatHistoryResult.validate_raw(obj: obj)
89
+ when "SEARCH_RESULTS"
90
+ TemplatingNodeSearchResultsResult.validate_raw(obj: obj)
91
+ when "ERROR"
92
+ TemplatingNodeErrorResult.validate_raw(obj: obj)
93
+ else
94
+ raise("Passed value matched no type within the union, validation failed.")
95
+ end
96
+ end
97
+
98
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
99
+ #
100
+ # @param obj [Object]
101
+ # @return [Boolean]
102
+ def is_a?(obj)
103
+ @member.is_a?(obj)
104
+ end
105
+
106
+ # @param member [TemplatingNodeStringResult]
107
+ # @return [TemplatingNodeResultOutput]
108
+ def self.string(member:)
109
+ new(member: member, discriminant: "STRING")
110
+ end
111
+
112
+ # @param member [TemplatingNodeNumberResult]
113
+ # @return [TemplatingNodeResultOutput]
114
+ def self.number(member:)
115
+ new(member: member, discriminant: "NUMBER")
116
+ end
117
+
118
+ # @param member [TemplatingNodeJsonResult]
119
+ # @return [TemplatingNodeResultOutput]
120
+ def self.json(member:)
121
+ new(member: member, discriminant: "JSON")
122
+ end
123
+
124
+ # @param member [TemplatingNodeChatHistoryResult]
125
+ # @return [TemplatingNodeResultOutput]
126
+ def self.chat_history(member:)
127
+ new(member: member, discriminant: "CHAT_HISTORY")
128
+ end
129
+
130
+ # @param member [TemplatingNodeSearchResultsResult]
131
+ # @return [TemplatingNodeResultOutput]
132
+ def self.search_results(member:)
133
+ new(member: member, discriminant: "SEARCH_RESULTS")
134
+ end
135
+
136
+ # @param member [TemplatingNodeErrorResult]
137
+ # @return [TemplatingNodeResultOutput]
138
+ def self.error(member:)
139
+ new(member: member, discriminant: "ERROR")
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "search_result"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class TemplatingNodeSearchResultsResult
8
+ attr_reader :id, :value, :additional_properties
9
+
10
+ # @param id [String]
11
+ # @param value [Array<SearchResult>]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [TemplatingNodeSearchResultsResult]
14
+ def initialize(id:, value: nil, additional_properties: nil)
15
+ # @type [String]
16
+ @id = id
17
+ # @type [Array<SearchResult>]
18
+ @value = value
19
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
20
+ @additional_properties = additional_properties
21
+ end
22
+
23
+ # Deserialize a JSON object to an instance of TemplatingNodeSearchResultsResult
24
+ #
25
+ # @param json_object [JSON]
26
+ # @return [TemplatingNodeSearchResultsResult]
27
+ def self.from_json(json_object:)
28
+ struct = JSON.parse(json_object, object_class: OpenStruct)
29
+ parsed_json = JSON.parse(json_object)
30
+ id = struct.id
31
+ value = parsed_json["value"].map do |v|
32
+ v = v.to_json
33
+ SearchResult.from_json(json_object: v)
34
+ end
35
+ new(id: id, value: value, additional_properties: struct)
36
+ end
37
+
38
+ # Serialize an instance of TemplatingNodeSearchResultsResult to a JSON object
39
+ #
40
+ # @return [JSON]
41
+ def to_json(*_args)
42
+ { "id": @id, "value": @value }.to_json
43
+ end
44
+
45
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
46
+ #
47
+ # @param obj [Object]
48
+ # @return [Void]
49
+ def self.validate_raw(obj:)
50
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
51
+ obj.value&.is_a?(Array) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Vellum
6
+ class TemplatingNodeStringResult
7
+ attr_reader :id, :value, :additional_properties
8
+
9
+ # @param id [String]
10
+ # @param value [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [TemplatingNodeStringResult]
13
+ def initialize(id:, value: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @id = id
16
+ # @type [String]
17
+ @value = value
18
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
19
+ @additional_properties = additional_properties
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of TemplatingNodeStringResult
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [TemplatingNodeStringResult]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ JSON.parse(json_object)
29
+ id = struct.id
30
+ value = struct.value
31
+ new(id: id, value: value, additional_properties: struct)
32
+ end
33
+
34
+ # Serialize an instance of TemplatingNodeStringResult to a JSON object
35
+ #
36
+ # @return [JSON]
37
+ def to_json(*_args)
38
+ { "id": @id, "value": @value }.to_json
39
+ end
40
+
41
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
42
+ #
43
+ # @param obj [Object]
44
+ # @return [Void]
45
+ def self.validate_raw(obj:)
46
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
47
+ obj.value&.is_a?(String) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
48
+ end
49
+ end
50
+ end