venice_client 1.0.1 → 1.0.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 (586) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +39 -0
  3. data/.gitlab-ci.yml +26 -0
  4. data/.openapi-generator/FILES +395 -0
  5. data/.openapi-generator/VERSION +1 -0
  6. data/.openapi-generator-ignore +23 -0
  7. data/.rspec +2 -0
  8. data/.rubocop.yml +148 -0
  9. data/.travis.yml +11 -0
  10. data/README.md +120 -390
  11. data/Rakefile +2 -0
  12. data/docs/APIKeysApi.md +236 -89
  13. data/docs/AssistantMessage.md +26 -0
  14. data/docs/AssistantMessageContent.md +15 -0
  15. data/docs/AudioApi.md +40 -19
  16. data/docs/AudioModelPricing.md +18 -0
  17. data/docs/AudioModelPricingInput.md +22 -0
  18. data/docs/BillingApi.md +50 -29
  19. data/docs/BillingUsageRequest.md +24 -8
  20. data/docs/BillingUsageResponse.md +16 -4
  21. data/docs/CharactersApi.md +36 -14
  22. data/docs/ChatApi.md +43 -22
  23. data/docs/ChatCompletionRequest.md +66 -28
  24. data/docs/ChatCompletionRequestMessagesInner.md +28 -0
  25. data/docs/ChatCompletionRequestResponseFormat.md +49 -0
  26. data/docs/ChatCompletionRequestStop.md +15 -0
  27. data/docs/ChatCompletionRequestStreamOptions.md +14 -3
  28. data/docs/ChatCompletionRequestToolChoice.md +20 -0
  29. data/docs/ChatCompletionRequestToolChoiceAnyOf.md +20 -0
  30. data/docs/ChatCompletionRequestToolChoiceAnyOfFunction.md +18 -0
  31. data/docs/ChatCompletionRequestVeniceParameters.md +26 -8
  32. data/docs/CreateApiKey200Response.md +20 -0
  33. data/docs/CreateApiKey200ResponseData.md +28 -0
  34. data/docs/CreateApiKeyRequest.md +24 -0
  35. data/docs/CreateApiKeyRequestExpiresAt.md +15 -0
  36. data/docs/CreateChatCompletion200Response.md +32 -0
  37. data/docs/CreateChatCompletion200ResponseChoicesInner.md +26 -0
  38. data/docs/CreateChatCompletion200ResponseChoicesInnerLogprobs.md +24 -0
  39. data/docs/CreateChatCompletion200ResponseChoicesInnerLogprobsTopLogprobsInner.md +22 -0
  40. data/docs/CreateChatCompletion200ResponseChoicesInnerMessage.md +28 -0
  41. data/docs/CreateChatCompletion200ResponseUsage.md +24 -0
  42. data/docs/CreateChatCompletion200ResponseVeniceParameters.md +32 -0
  43. data/docs/CreateChatCompletion200ResponseVeniceParametersWebSearchCitationsInner.md +24 -0
  44. data/docs/CreateChatCompletion400Response.md +20 -0
  45. data/docs/CreateChatCompletion401Response.md +18 -0
  46. data/docs/CreateChatCompletion402Response.md +18 -0
  47. data/docs/CreateChatCompletion415Response.md +18 -0
  48. data/docs/CreateChatCompletion429Response.md +18 -0
  49. data/docs/CreateChatCompletion500Response.md +18 -0
  50. data/docs/CreateChatCompletion503Response.md +18 -0
  51. data/docs/CreateChatCompletion504Response.md +18 -0
  52. data/docs/CreateEmbedding200Response.md +24 -0
  53. data/docs/CreateEmbedding200ResponseDataInner.md +22 -0
  54. data/docs/CreateEmbedding200ResponseUsage.md +20 -0
  55. data/docs/CreateEmbeddingRequestSchema.md +22 -7
  56. data/docs/CreateEmbeddingRequestSchemaInput.md +15 -0
  57. data/docs/CreateEmbeddingRequestSchemaModel.md +15 -0
  58. data/docs/CreateSpeech403Response.md +18 -0
  59. data/docs/CreateSpeechRequestSchema.md +24 -8
  60. data/docs/DeleteApiKey200Response.md +18 -0
  61. data/docs/EditImageRequest.md +20 -0
  62. data/docs/EmbeddingsApi.md +44 -23
  63. data/docs/GenerateImage200Response.md +24 -0
  64. data/docs/GenerateImage200ResponseTiming.md +24 -0
  65. data/docs/GenerateImageRequest.md +44 -18
  66. data/docs/GetApiKeyGenerateWeb3Key200Response.md +20 -0
  67. data/docs/GetApiKeyGenerateWeb3Key200ResponseData.md +18 -0
  68. data/docs/GetApiKeyRateLimitLogs200Response.md +20 -0
  69. data/docs/GetApiKeyRateLimitLogs200ResponseDataInner.md +26 -0
  70. data/docs/GetApiKeyRateLimits200Response.md +18 -0
  71. data/docs/GetApiKeyRateLimits200ResponseData.md +28 -0
  72. data/docs/GetApiKeyRateLimits200ResponseDataApiTier.md +20 -0
  73. data/docs/GetApiKeyRateLimits200ResponseDataBalances.md +22 -0
  74. data/docs/GetApiKeyRateLimits200ResponseDataRateLimitsInner.md +20 -0
  75. data/docs/GetApiKeyRateLimits200ResponseDataRateLimitsInnerRateLimitsInner.md +20 -0
  76. data/docs/GetApiKeys200Response.md +20 -0
  77. data/docs/GetApiKeys200ResponseDataInner.md +34 -0
  78. data/docs/GetApiKeys200ResponseDataInnerConsumptionLimits.md +22 -0
  79. data/docs/GetApiKeys200ResponseDataInnerUsage.md +18 -0
  80. data/docs/GetApiKeys200ResponseDataInnerUsageTrailingSevenDays.md +22 -0
  81. data/docs/GetBillingUsage200Response.md +20 -0
  82. data/docs/GetBillingUsage200ResponseDataInner.md +32 -0
  83. data/docs/GetBillingUsage200ResponseDataInnerInferenceDetails.md +24 -0
  84. data/docs/GetBillingUsage200ResponsePagination.md +24 -0
  85. data/docs/ImageApi.md +198 -102
  86. data/docs/ImageModelConstraints.md +22 -0
  87. data/docs/ImageModelConstraintsSteps.md +20 -0
  88. data/docs/ImageModelPricing.md +20 -0
  89. data/docs/ImageModelPricingGeneration.md +22 -0
  90. data/docs/ImageModelPricingUpscale.md +20 -0
  91. data/docs/ImageModelPricingUpscale2x.md +22 -0
  92. data/docs/ImageModelPricingUpscale4x.md +22 -0
  93. data/docs/ImageStylesGet200Response.md +20 -0
  94. data/docs/ImageStylesGet500Response.md +18 -0
  95. data/docs/ImageURLObject.md +18 -0
  96. data/docs/ImageUrl.md +20 -0
  97. data/docs/JsonObject.md +18 -0
  98. data/docs/JsonSchema.md +20 -0
  99. data/docs/LLMModelPricing.md +20 -0
  100. data/docs/LLMModelPricingInput.md +22 -0
  101. data/docs/LLMModelPricingOutput.md +22 -0
  102. data/docs/ListCharacters200Response.md +20 -0
  103. data/docs/ListCharacters200ResponseDataInner.md +36 -0
  104. data/docs/ListCharacters200ResponseDataInnerStats.md +18 -0
  105. data/docs/ListModelCompatibilityMapping200Response.md +22 -0
  106. data/docs/ListModelTraits200Response.md +22 -0
  107. data/docs/ListModels200Response.md +22 -0
  108. data/docs/ListModels200ResponseType.md +15 -0
  109. data/docs/ListModelsTypeParameter.md +15 -0
  110. data/docs/ModelResponse.md +24 -8
  111. data/docs/ModelResponseModelSpec.md +32 -11
  112. data/docs/ModelResponseModelSpecCapabilities.md +28 -10
  113. data/docs/ModelResponseModelSpecConstraints.md +26 -0
  114. data/docs/ModelResponseModelSpecPricing.md +24 -0
  115. data/docs/ModelsApi.md +112 -49
  116. data/docs/ObjectsInner.md +49 -0
  117. data/docs/PostApiKeyGenerateWeb3KeyRequest.md +30 -0
  118. data/docs/PreviewApi.md +36 -14
  119. data/docs/SimpleGenerateImage200Response.md +20 -0
  120. data/docs/SimpleGenerateImage200ResponseDataInner.md +20 -0
  121. data/docs/SimpleGenerateImage200ResponseDataInnerAnyOf.md +18 -0
  122. data/docs/SimpleGenerateImage200ResponseDataInnerAnyOf1.md +18 -0
  123. data/docs/SimpleGenerateImageRequest.md +36 -14
  124. data/docs/SpeechApi.md +40 -19
  125. data/docs/SystemMessage.md +22 -0
  126. data/docs/SystemMessageContent.md +15 -0
  127. data/docs/Text.md +20 -0
  128. data/docs/TextModelConstraints.md +20 -0
  129. data/docs/TextModelConstraintsTemperature.md +18 -0
  130. data/docs/TextModelConstraintsTopP.md +18 -0
  131. data/docs/ToolCall.md +18 -5
  132. data/docs/ToolCallFunction.md +22 -0
  133. data/docs/ToolMessage.md +28 -0
  134. data/docs/UpscaleImageRequest.md +24 -8
  135. data/docs/UpscaleImageRequestEnhance.md +15 -0
  136. data/docs/UserMessage.md +20 -0
  137. data/docs/UserMessageContent.md +15 -0
  138. data/git_push.sh +11 -9
  139. data/lib/venice_client/api/api_keys_api.rb +122 -65
  140. data/lib/venice_client/api/audio_api.rb +26 -14
  141. data/lib/venice_client/api/billing_api.rb +46 -23
  142. data/lib/venice_client/api/characters_api.rb +20 -11
  143. data/lib/venice_client/api/chat_api.rb +28 -16
  144. data/lib/venice_client/api/embeddings_api.rb +34 -22
  145. data/lib/venice_client/api/image_api.rb +146 -119
  146. data/lib/venice_client/api/models_api.rb +62 -37
  147. data/lib/venice_client/api/preview_api.rb +20 -11
  148. data/lib/venice_client/api/speech_api.rb +26 -14
  149. data/lib/venice_client/api_client.rb +99 -94
  150. data/lib/venice_client/api_error.rb +7 -5
  151. data/lib/venice_client/configuration.rb +129 -24
  152. data/lib/venice_client/models/assistant_message.rb +304 -0
  153. data/lib/venice_client/models/assistant_message_content.rb +104 -0
  154. data/lib/venice_client/models/audio_model_pricing.rb +238 -0
  155. data/lib/venice_client/models/audio_model_pricing_input.rb +292 -0
  156. data/lib/venice_client/models/billing_usage_request.rb +99 -38
  157. data/lib/venice_client/models/billing_usage_response.rb +68 -30
  158. data/lib/venice_client/models/chat_completion_request.rb +389 -61
  159. data/lib/venice_client/models/chat_completion_request_messages_inner.rb +106 -0
  160. data/lib/venice_client/models/chat_completion_request_response_format.rb +106 -0
  161. data/lib/venice_client/models/chat_completion_request_stop.rb +105 -0
  162. data/lib/venice_client/models/chat_completion_request_stream_options.rb +43 -29
  163. data/lib/venice_client/models/chat_completion_request_tool_choice.rb +104 -0
  164. data/lib/venice_client/models/chat_completion_request_tool_choice_any_of.rb +263 -0
  165. data/lib/venice_client/models/chat_completion_request_tool_choice_any_of_function.rb +237 -0
  166. data/lib/venice_client/models/chat_completion_request_venice_parameters.rb +63 -37
  167. data/lib/venice_client/models/{inline_response_200_8.rb → create_api_key200_response.rb} +70 -32
  168. data/lib/venice_client/models/{inline_response_200_8_data.rb → create_api_key200_response_data.rb} +92 -43
  169. data/lib/venice_client/models/{api_keys_body.rb → create_api_key_request.rb} +65 -38
  170. data/lib/venice_client/models/create_api_key_request_expires_at.rb +104 -0
  171. data/lib/venice_client/models/{inline_response_200.rb → create_chat_completion200_response.rb} +120 -42
  172. data/lib/venice_client/models/{inline_response_200_choices.rb → create_chat_completion200_response_choices_inner.rb} +82 -44
  173. data/lib/venice_client/models/{inline_response_200_logprobs.rb → create_chat_completion200_response_choices_inner_logprobs.rb} +72 -34
  174. data/lib/venice_client/models/{inline_response_200_logprobs_top_logprobs.rb → create_chat_completion200_response_choices_inner_logprobs_top_logprobs_inner.rb} +71 -33
  175. data/lib/venice_client/models/create_chat_completion200_response_choices_inner_message.rb +104 -0
  176. data/lib/venice_client/models/{inline_response_200_usage.rb → create_chat_completion200_response_usage.rb} +83 -33
  177. data/lib/venice_client/models/{inline_response_200_venice_parameters.rb → create_chat_completion200_response_venice_parameters.rb} +131 -40
  178. data/lib/venice_client/models/{inline_response_200_venice_parameters_web_search_citations.rb → create_chat_completion200_response_venice_parameters_web_search_citations_inner.rb} +72 -34
  179. data/lib/venice_client/models/{inline_response_400.rb → create_chat_completion400_response.rb} +57 -31
  180. data/lib/venice_client/models/{inline_response_401.rb → create_chat_completion401_response.rb} +57 -31
  181. data/lib/venice_client/models/{inline_response_402.rb → create_chat_completion402_response.rb} +57 -31
  182. data/lib/venice_client/models/create_chat_completion415_response.rb +238 -0
  183. data/lib/venice_client/models/create_chat_completion429_response.rb +238 -0
  184. data/lib/venice_client/models/create_chat_completion500_response.rb +238 -0
  185. data/lib/venice_client/models/create_chat_completion503_response.rb +238 -0
  186. data/lib/venice_client/models/create_chat_completion504_response.rb +238 -0
  187. data/lib/venice_client/models/{inline_response_200_14.rb → create_embedding200_response.rb} +88 -36
  188. data/lib/venice_client/models/{inline_response_200_14_data.rb → create_embedding200_response_data_inner.rb} +75 -35
  189. data/lib/venice_client/models/{inline_response_200_14_usage.rb → create_embedding200_response_usage.rb} +70 -32
  190. data/lib/venice_client/models/create_embedding_request_schema.rb +92 -37
  191. data/lib/venice_client/models/create_embedding_request_schema_input.rb +107 -0
  192. data/lib/venice_client/models/create_embedding_request_schema_model.rb +104 -0
  193. data/lib/venice_client/models/{inline_response_403.rb → create_speech403_response.rb} +57 -31
  194. data/lib/venice_client/models/create_speech_request_schema.rb +112 -40
  195. data/lib/venice_client/models/{inline_response_200_12.rb → delete_api_key200_response.rb} +58 -46
  196. data/lib/venice_client/models/edit_image_request.rb +260 -0
  197. data/lib/venice_client/models/{inline_response_200_1.rb → generate_image200_response.rb} +83 -33
  198. data/lib/venice_client/models/{inline_response_200_1_timing.rb → generate_image200_response_timing.rb} +96 -34
  199. data/lib/venice_client/models/generate_image_request.rb +289 -46
  200. data/lib/venice_client/models/get_api_key_generate_web3_key200_response.rb +263 -0
  201. data/lib/venice_client/models/{inline_response_200_12_data.rb → get_api_key_generate_web3_key200_response_data.rb} +57 -31
  202. data/lib/venice_client/models/{inline_response_200_13.rb → get_api_key_rate_limit_logs200_response.rb} +63 -34
  203. data/lib/venice_client/models/{inline_response_200_11_data.rb → get_api_key_rate_limit_logs200_response_data_inner.rb} +107 -35
  204. data/lib/venice_client/models/{inline_response_200_10.rb → get_api_key_rate_limits200_response.rb} +57 -31
  205. data/lib/venice_client/models/{inline_response_200_10_data.rb → get_api_key_rate_limits200_response_data.rb} +112 -41
  206. data/lib/venice_client/models/{inline_response_200_10_data_api_tier.rb → get_api_key_rate_limits200_response_data_api_tier.rb} +71 -33
  207. data/lib/venice_client/models/{inline_response_200_10_data_balances.rb → get_api_key_rate_limits200_response_data_balances.rb} +60 -36
  208. data/lib/venice_client/models/{inline_response_200_10_data_rate_limits_1.rb → get_api_key_rate_limits200_response_data_rate_limits_inner.rb} +58 -32
  209. data/lib/venice_client/models/{inline_response_200_10_data_rate_limits.rb → get_api_key_rate_limits200_response_data_rate_limits_inner_rate_limits_inner.rb} +70 -32
  210. data/lib/venice_client/models/{inline_response_200_7.rb → get_api_keys200_response.rb} +62 -34
  211. data/lib/venice_client/models/{inline_response_200_7_data.rb → get_api_keys200_response_data_inner.rb} +99 -56
  212. data/lib/venice_client/models/get_api_keys200_response_data_inner_consumption_limits.rb +287 -0
  213. data/lib/venice_client/models/{inline_response_200_7_usage.rb → get_api_keys200_response_data_inner_usage.rb} +57 -31
  214. data/lib/venice_client/models/get_api_keys200_response_data_inner_usage_trailing_seven_days.rb +292 -0
  215. data/lib/venice_client/models/{inline_response_200_15.rb → get_billing_usage200_response.rb} +70 -32
  216. data/lib/venice_client/models/{billing_usage_response_data.rb → get_billing_usage200_response_data_inner.rb} +131 -45
  217. data/lib/venice_client/models/{billing_usage_response_inference_details.rb → get_billing_usage200_response_data_inner_inference_details.rb} +56 -54
  218. data/lib/venice_client/models/{billing_usage_response_pagination.rb → get_billing_usage200_response_pagination.rb} +96 -34
  219. data/lib/venice_client/models/image_model_constraints.rb +292 -0
  220. data/lib/venice_client/models/image_model_constraints_steps.rb +265 -0
  221. data/lib/venice_client/models/image_model_pricing.rb +264 -0
  222. data/lib/venice_client/models/image_model_pricing_generation.rb +292 -0
  223. data/lib/venice_client/models/image_model_pricing_upscale.rb +263 -0
  224. data/lib/venice_client/models/image_model_pricing_upscale2x.rb +292 -0
  225. data/lib/venice_client/models/image_model_pricing_upscale4x.rb +292 -0
  226. data/lib/venice_client/models/{inline_response_200_3.rb → image_styles_get200_response.rb} +62 -34
  227. data/lib/venice_client/models/{inline_response_415.rb → image_styles_get500_response.rb} +57 -31
  228. data/lib/venice_client/models/image_url.rb +288 -0
  229. data/lib/venice_client/models/{inline_response_200_7_usage_trailing_seven_days.rb → image_url_object.rb} +68 -56
  230. data/lib/venice_client/models/json_object.rb +262 -0
  231. data/lib/venice_client/models/json_schema.rb +290 -0
  232. data/lib/venice_client/models/{inline_response_200_11.rb → list_characters200_response.rb} +62 -35
  233. data/lib/venice_client/models/{inline_response_200_13_data.rb → list_characters200_response_data_inner.rb} +154 -50
  234. data/lib/venice_client/models/{inline_response_200_13_stats.rb → list_characters200_response_data_inner_stats.rb} +57 -31
  235. data/lib/venice_client/models/{inline_response_200_6.rb → list_model_compatibility_mapping200_response.rb} +79 -37
  236. data/lib/venice_client/models/{inline_response_200_5.rb → list_model_traits200_response.rb} +79 -37
  237. data/lib/venice_client/models/{inline_response_200_4.rb → list_models200_response.rb} +75 -36
  238. data/lib/venice_client/models/list_models200_response_type.rb +104 -0
  239. data/lib/venice_client/models/list_models_type_parameter.rb +104 -0
  240. data/lib/venice_client/models/llm_model_pricing.rb +264 -0
  241. data/lib/venice_client/models/llm_model_pricing_input.rb +292 -0
  242. data/lib/venice_client/models/llm_model_pricing_output.rb +292 -0
  243. data/lib/venice_client/models/model_response.rb +84 -40
  244. data/lib/venice_client/models/model_response_model_spec.rb +62 -40
  245. data/lib/venice_client/models/model_response_model_spec_capabilities.rb +138 -38
  246. data/lib/venice_client/models/model_response_model_spec_constraints.rb +105 -0
  247. data/lib/venice_client/models/model_response_model_spec_pricing.rb +106 -0
  248. data/lib/venice_client/models/objects_inner.rb +105 -0
  249. data/lib/venice_client/models/{api_keys_generate_web3_key_body.rb → post_api_key_generate_web3_key_request.rb} +91 -40
  250. data/lib/venice_client/models/{inline_response_200_2.rb → simple_generate_image200_response.rb} +73 -35
  251. data/lib/venice_client/models/simple_generate_image200_response_data_inner.rb +104 -0
  252. data/lib/venice_client/models/simple_generate_image200_response_data_inner_any_of.rb +238 -0
  253. data/lib/venice_client/models/{api_keys_consumption_limit.rb → simple_generate_image200_response_data_inner_any_of1.rb} +67 -57
  254. data/lib/venice_client/models/simple_generate_image_request.rb +146 -54
  255. data/lib/venice_client/models/system_message.rb +297 -0
  256. data/lib/venice_client/models/system_message_content.rb +104 -0
  257. data/lib/venice_client/models/text.rb +298 -0
  258. data/lib/venice_client/models/text_model_constraints.rb +264 -0
  259. data/lib/venice_client/models/text_model_constraints_temperature.rb +238 -0
  260. data/lib/venice_client/models/text_model_constraints_top_p.rb +238 -0
  261. data/lib/venice_client/models/tool_call.rb +57 -31
  262. data/lib/venice_client/models/{chat_completion_request_function.rb → tool_call_function.rb} +59 -33
  263. data/lib/venice_client/models/tool_message.rb +344 -0
  264. data/lib/venice_client/models/upscale_image_request.rb +146 -40
  265. data/lib/venice_client/models/upscale_image_request_enhance.rb +105 -0
  266. data/lib/venice_client/models/user_message.rb +288 -0
  267. data/lib/venice_client/models/user_message_content.rb +104 -0
  268. data/lib/venice_client/version.rb +5 -4
  269. data/lib/venice_client.rb +134 -108
  270. data/openapitools.json +7 -0
  271. data/spec/api/api_keys_api_spec.rb +43 -41
  272. data/spec/api/audio_api_spec.rb +18 -16
  273. data/spec/api/billing_api_spec.rb +23 -21
  274. data/spec/api/characters_api_spec.rb +17 -15
  275. data/spec/api/chat_api_spec.rb +19 -17
  276. data/spec/api/embeddings_api_spec.rb +19 -17
  277. data/spec/api/image_api_spec.rb +43 -46
  278. data/spec/api/models_api_spec.rb +28 -26
  279. data/spec/api/preview_api_spec.rb +17 -15
  280. data/spec/api/speech_api_spec.rb +18 -16
  281. data/spec/models/assistant_message_content_spec.rb +21 -0
  282. data/spec/models/assistant_message_spec.rb +64 -0
  283. data/spec/models/audio_model_pricing_input_spec.rb +48 -0
  284. data/spec/models/audio_model_pricing_spec.rb +36 -0
  285. data/spec/models/billing_usage_request_spec.rb +19 -23
  286. data/spec/models/billing_usage_response_spec.rb +12 -16
  287. data/spec/models/chat_completion_request_messages_inner_spec.rb +21 -0
  288. data/spec/models/chat_completion_request_response_format_spec.rb +32 -0
  289. data/spec/models/chat_completion_request_spec.rb +74 -71
  290. data/spec/models/chat_completion_request_stop_spec.rb +21 -0
  291. data/spec/models/chat_completion_request_stream_options_spec.rb +11 -15
  292. data/spec/models/chat_completion_request_tool_choice_any_of_function_spec.rb +36 -0
  293. data/spec/models/chat_completion_request_tool_choice_any_of_spec.rb +42 -0
  294. data/spec/models/chat_completion_request_tool_choice_spec.rb +21 -0
  295. data/spec/models/chat_completion_request_venice_parameters_spec.rb +35 -32
  296. data/spec/models/create_api_key200_response_data_spec.rb +70 -0
  297. data/spec/models/create_api_key200_response_spec.rb +42 -0
  298. data/spec/models/create_api_key_request_expires_at_spec.rb +21 -0
  299. data/spec/models/create_api_key_request_spec.rb +58 -0
  300. data/spec/models/create_chat_completion200_response_choices_inner_logprobs_spec.rb +54 -0
  301. data/spec/models/create_chat_completion200_response_choices_inner_logprobs_top_logprobs_inner_spec.rb +48 -0
  302. data/spec/models/create_chat_completion200_response_choices_inner_message_spec.rb +21 -0
  303. data/spec/models/create_chat_completion200_response_choices_inner_spec.rb +68 -0
  304. data/spec/models/create_chat_completion200_response_spec.rb +82 -0
  305. data/spec/models/create_chat_completion200_response_usage_spec.rb +54 -0
  306. data/spec/models/create_chat_completion200_response_venice_parameters_spec.rb +82 -0
  307. data/spec/models/create_chat_completion200_response_venice_parameters_web_search_citations_inner_spec.rb +54 -0
  308. data/spec/models/create_chat_completion400_response_spec.rb +42 -0
  309. data/spec/models/create_chat_completion401_response_spec.rb +36 -0
  310. data/spec/models/create_chat_completion402_response_spec.rb +36 -0
  311. data/spec/models/create_chat_completion415_response_spec.rb +36 -0
  312. data/spec/models/create_chat_completion429_response_spec.rb +36 -0
  313. data/spec/models/create_chat_completion500_response_spec.rb +36 -0
  314. data/spec/models/create_chat_completion503_response_spec.rb +36 -0
  315. data/spec/models/create_chat_completion504_response_spec.rb +36 -0
  316. data/spec/models/create_embedding200_response_data_inner_spec.rb +52 -0
  317. data/spec/models/create_embedding200_response_spec.rb +58 -0
  318. data/spec/models/create_embedding200_response_usage_spec.rb +42 -0
  319. data/spec/models/create_embedding_request_schema_input_spec.rb +21 -0
  320. data/spec/models/create_embedding_request_schema_model_spec.rb +21 -0
  321. data/spec/models/create_embedding_request_schema_spec.rb +16 -20
  322. data/spec/models/create_speech403_response_spec.rb +36 -0
  323. data/spec/models/create_speech_request_schema_spec.rb +31 -34
  324. data/spec/models/delete_api_key200_response_spec.rb +36 -0
  325. data/spec/models/edit_image_request_spec.rb +42 -0
  326. data/spec/models/generate_image200_response_spec.rb +54 -0
  327. data/spec/models/generate_image200_response_timing_spec.rb +54 -0
  328. data/spec/models/generate_image_request_spec.rb +27 -31
  329. data/spec/models/get_api_key_generate_web3_key200_response_data_spec.rb +36 -0
  330. data/spec/models/get_api_key_generate_web3_key200_response_spec.rb +42 -0
  331. data/spec/models/get_api_key_rate_limit_logs200_response_data_inner_spec.rb +60 -0
  332. data/spec/models/get_api_key_rate_limit_logs200_response_spec.rb +46 -0
  333. data/spec/models/get_api_key_rate_limits200_response_data_api_tier_spec.rb +42 -0
  334. data/spec/models/get_api_key_rate_limits200_response_data_balances_spec.rb +48 -0
  335. data/spec/models/get_api_key_rate_limits200_response_data_rate_limits_inner_rate_limits_inner_spec.rb +42 -0
  336. data/spec/models/get_api_key_rate_limits200_response_data_rate_limits_inner_spec.rb +42 -0
  337. data/spec/models/get_api_key_rate_limits200_response_data_spec.rb +66 -0
  338. data/spec/models/get_api_key_rate_limits200_response_spec.rb +36 -0
  339. data/spec/models/get_api_keys200_response_data_inner_consumption_limits_spec.rb +48 -0
  340. data/spec/models/get_api_keys200_response_data_inner_spec.rb +88 -0
  341. data/spec/models/get_api_keys200_response_data_inner_usage_spec.rb +36 -0
  342. data/spec/models/get_api_keys200_response_data_inner_usage_trailing_seven_days_spec.rb +48 -0
  343. data/spec/models/get_api_keys200_response_spec.rb +46 -0
  344. data/spec/models/get_billing_usage200_response_data_inner_inference_details_spec.rb +54 -0
  345. data/spec/models/get_billing_usage200_response_data_inner_spec.rb +82 -0
  346. data/spec/models/get_billing_usage200_response_pagination_spec.rb +54 -0
  347. data/spec/models/get_billing_usage200_response_spec.rb +42 -0
  348. data/spec/models/image_model_constraints_spec.rb +48 -0
  349. data/spec/models/image_model_constraints_steps_spec.rb +42 -0
  350. data/spec/models/image_model_pricing_generation_spec.rb +48 -0
  351. data/spec/models/image_model_pricing_spec.rb +42 -0
  352. data/spec/models/image_model_pricing_upscale2x_spec.rb +48 -0
  353. data/spec/models/image_model_pricing_upscale4x_spec.rb +48 -0
  354. data/spec/models/image_model_pricing_upscale_spec.rb +42 -0
  355. data/spec/models/image_styles_get200_response_spec.rb +46 -0
  356. data/spec/models/image_styles_get500_response_spec.rb +36 -0
  357. data/spec/models/image_url_object_spec.rb +36 -0
  358. data/spec/models/image_url_spec.rb +46 -0
  359. data/spec/models/json_object_spec.rb +40 -0
  360. data/spec/models/json_schema_spec.rb +46 -0
  361. data/spec/models/list_characters200_response_data_inner_spec.rb +90 -0
  362. data/spec/models/list_characters200_response_data_inner_stats_spec.rb +36 -0
  363. data/spec/models/list_characters200_response_spec.rb +46 -0
  364. data/spec/models/list_model_compatibility_mapping200_response_spec.rb +52 -0
  365. data/spec/models/list_model_traits200_response_spec.rb +52 -0
  366. data/spec/models/list_models200_response_spec.rb +52 -0
  367. data/spec/models/list_models200_response_type_spec.rb +21 -0
  368. data/spec/models/list_models_type_parameter_spec.rb +21 -0
  369. data/spec/models/llm_model_pricing_input_spec.rb +48 -0
  370. data/spec/models/llm_model_pricing_output_spec.rb +48 -0
  371. data/spec/models/llm_model_pricing_spec.rb +42 -0
  372. data/spec/models/model_response_model_spec_capabilities_spec.rb +33 -36
  373. data/spec/models/model_response_model_spec_constraints_spec.rb +21 -0
  374. data/spec/models/model_response_model_spec_pricing_spec.rb +21 -0
  375. data/spec/models/model_response_model_spec_spec.rb +40 -37
  376. data/spec/models/model_response_spec.rb +32 -35
  377. data/spec/models/objects_inner_spec.rb +32 -0
  378. data/spec/models/post_api_key_generate_web3_key_request_spec.rb +76 -0
  379. data/spec/models/simple_generate_image200_response_data_inner_any_of1_spec.rb +36 -0
  380. data/spec/models/simple_generate_image200_response_data_inner_any_of_spec.rb +36 -0
  381. data/spec/models/simple_generate_image200_response_data_inner_spec.rb +21 -0
  382. data/spec/models/simple_generate_image200_response_spec.rb +42 -0
  383. data/spec/models/simple_generate_image_request_spec.rb +29 -33
  384. data/spec/models/system_message_content_spec.rb +21 -0
  385. data/spec/models/system_message_spec.rb +52 -0
  386. data/spec/models/text_model_constraints_spec.rb +42 -0
  387. data/spec/models/text_model_constraints_temperature_spec.rb +36 -0
  388. data/spec/models/text_model_constraints_top_p_spec.rb +36 -0
  389. data/spec/models/text_spec.rb +46 -0
  390. data/spec/models/tool_call_function_spec.rb +48 -0
  391. data/spec/models/tool_call_spec.rb +22 -25
  392. data/spec/models/tool_message_spec.rb +70 -0
  393. data/spec/models/upscale_image_request_enhance_spec.rb +21 -0
  394. data/spec/models/upscale_image_request_spec.rb +28 -31
  395. data/spec/models/user_message_content_spec.rb +21 -0
  396. data/spec/models/user_message_spec.rb +46 -0
  397. data/spec/spec_helper.rb +7 -6
  398. data/swagger.yaml +4791 -0
  399. data/update.sh +9 -0
  400. metadata +440 -356
  401. data/docs/AnyOfChatCompletionRequestMessagesItems.md +0 -6
  402. data/docs/AnyOfChatCompletionRequestStop.md +0 -6
  403. data/docs/AnyOfChatCompletionRequestToolChoice.md +0 -6
  404. data/docs/AnyOfCreateEmbeddingRequestSchemaInput.md +0 -6
  405. data/docs/AnyOfCreateEmbeddingRequestSchemaModel.md +0 -6
  406. data/docs/AnyOfModelResponseModelSpecConstraints.md +0 -6
  407. data/docs/AnyOfModelResponseModelSpecPricing.md +0 -6
  408. data/docs/AnyOfUpscaleImageRequestEnhance.md +0 -6
  409. data/docs/AnyOfUpscaleImageRequestImage.md +0 -6
  410. data/docs/AnyOfapiKeysBodyExpiresAt.md +0 -6
  411. data/docs/AnyOfapiKeysConsumptionLimitUsd.md +0 -6
  412. data/docs/AnyOfapiKeysConsumptionLimitVcu.md +0 -6
  413. data/docs/AnyOfapiKeysGenerateWeb3KeyBodyExpiresAt.md +0 -6
  414. data/docs/AnyOfinlineResponse2002DataItems.md +0 -6
  415. data/docs/AnyOfinlineResponse2004Type.md +0 -6
  416. data/docs/AnyOfinlineResponse2005Type.md +0 -6
  417. data/docs/AnyOfinlineResponse2006Type.md +0 -6
  418. data/docs/AnyOfinlineResponse200ChoicesMessage.md +0 -6
  419. data/docs/AnyOfinlineResponse200PromptLogprobs.md +0 -6
  420. data/docs/ApiKeysBody.md +0 -10
  421. data/docs/ApiKeysConsumptionLimit.md +0 -8
  422. data/docs/ApiKeysGenerateWeb3KeyBody.md +0 -13
  423. data/docs/BillingUsageResponseData.md +0 -14
  424. data/docs/BillingUsageResponseInferenceDetails.md +0 -10
  425. data/docs/BillingUsageResponsePagination.md +0 -10
  426. data/docs/ChatCompletionRequestFunction.md +0 -9
  427. data/docs/InlineResponse200.md +0 -14
  428. data/docs/InlineResponse2001.md +0 -10
  429. data/docs/InlineResponse20010.md +0 -7
  430. data/docs/InlineResponse20010Data.md +0 -12
  431. data/docs/InlineResponse20010DataApiTier.md +0 -8
  432. data/docs/InlineResponse20010DataBalances.md +0 -8
  433. data/docs/InlineResponse20010DataRateLimits.md +0 -8
  434. data/docs/InlineResponse20010DataRateLimits1.md +0 -8
  435. data/docs/InlineResponse20011.md +0 -8
  436. data/docs/InlineResponse20011Data.md +0 -11
  437. data/docs/InlineResponse20012.md +0 -8
  438. data/docs/InlineResponse20012Data.md +0 -7
  439. data/docs/InlineResponse20013.md +0 -8
  440. data/docs/InlineResponse20013Data.md +0 -16
  441. data/docs/InlineResponse20013Stats.md +0 -7
  442. data/docs/InlineResponse20014.md +0 -10
  443. data/docs/InlineResponse20014Data.md +0 -9
  444. data/docs/InlineResponse20014Usage.md +0 -8
  445. data/docs/InlineResponse20015.md +0 -8
  446. data/docs/InlineResponse2001Timing.md +0 -10
  447. data/docs/InlineResponse2002.md +0 -8
  448. data/docs/InlineResponse2003.md +0 -8
  449. data/docs/InlineResponse2004.md +0 -9
  450. data/docs/InlineResponse2005.md +0 -9
  451. data/docs/InlineResponse2006.md +0 -9
  452. data/docs/InlineResponse2007.md +0 -8
  453. data/docs/InlineResponse2007Data.md +0 -15
  454. data/docs/InlineResponse2007Usage.md +0 -7
  455. data/docs/InlineResponse2007UsageTrailingSevenDays.md +0 -8
  456. data/docs/InlineResponse2008.md +0 -8
  457. data/docs/InlineResponse2008Data.md +0 -12
  458. data/docs/InlineResponse2009.md +0 -7
  459. data/docs/InlineResponse200Choices.md +0 -11
  460. data/docs/InlineResponse200Logprobs.md +0 -10
  461. data/docs/InlineResponse200LogprobsTopLogprobs.md +0 -9
  462. data/docs/InlineResponse200Usage.md +0 -10
  463. data/docs/InlineResponse200VeniceParameters.md +0 -13
  464. data/docs/InlineResponse200VeniceParametersWebSearchCitations.md +0 -10
  465. data/docs/InlineResponse400.md +0 -8
  466. data/docs/InlineResponse401.md +0 -7
  467. data/docs/InlineResponse402.md +0 -7
  468. data/docs/InlineResponse403.md +0 -7
  469. data/docs/InlineResponse415.md +0 -7
  470. data/docs/InlineResponse429.md +0 -7
  471. data/docs/InlineResponse500.md +0 -7
  472. data/docs/InlineResponse5001.md +0 -7
  473. data/docs/InlineResponse503.md +0 -7
  474. data/docs/ModelCompatibilitySchema.md +0 -6
  475. data/docs/ModelTraitSchema.md +0 -6
  476. data/docs/OneOfChatCompletionRequestResponseFormat.md +0 -6
  477. data/docs/Type.md +0 -6
  478. data/lib/venice_client/models/any_of_chat_completion_request_messages_items.rb +0 -197
  479. data/lib/venice_client/models/any_of_chat_completion_request_stop.rb +0 -197
  480. data/lib/venice_client/models/any_of_chat_completion_request_tool_choice.rb +0 -197
  481. data/lib/venice_client/models/any_of_create_embedding_request_schema_input.rb +0 -197
  482. data/lib/venice_client/models/any_of_create_embedding_request_schema_model.rb +0 -197
  483. data/lib/venice_client/models/any_of_model_response_model_spec_constraints.rb +0 -197
  484. data/lib/venice_client/models/any_of_model_response_model_spec_pricing.rb +0 -197
  485. data/lib/venice_client/models/any_of_upscale_image_request_enhance.rb +0 -197
  486. data/lib/venice_client/models/any_of_upscale_image_request_image.rb +0 -197
  487. data/lib/venice_client/models/any_ofapi_keys_body_expires_at.rb +0 -197
  488. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_usd.rb +0 -197
  489. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_vcu.rb +0 -195
  490. data/lib/venice_client/models/any_ofapi_keys_generate_web3_key_body_expires_at.rb +0 -197
  491. data/lib/venice_client/models/any_ofinline_response_200_2_data_items.rb +0 -197
  492. data/lib/venice_client/models/any_ofinline_response_200_4_type.rb +0 -197
  493. data/lib/venice_client/models/any_ofinline_response_200_5_type.rb +0 -197
  494. data/lib/venice_client/models/any_ofinline_response_200_6_type.rb +0 -197
  495. data/lib/venice_client/models/any_ofinline_response_200_choices_message.rb +0 -197
  496. data/lib/venice_client/models/any_ofinline_response_200_prompt_logprobs.rb +0 -197
  497. data/lib/venice_client/models/inline_response_200_9.rb +0 -211
  498. data/lib/venice_client/models/inline_response_429.rb +0 -212
  499. data/lib/venice_client/models/inline_response_500.rb +0 -212
  500. data/lib/venice_client/models/inline_response_500_1.rb +0 -212
  501. data/lib/venice_client/models/inline_response_503.rb +0 -212
  502. data/lib/venice_client/models/model_compatibility_schema.rb +0 -202
  503. data/lib/venice_client/models/model_trait_schema.rb +0 -200
  504. data/lib/venice_client/models/one_of_chat_completion_request_response_format.rb +0 -197
  505. data/lib/venice_client/models/type.rb +0 -198
  506. data/spec/api_client_spec.rb +0 -225
  507. data/spec/base_object_spec.rb +0 -109
  508. data/spec/configuration_spec.rb +0 -41
  509. data/spec/models/any_of_chat_completion_request_messages_items_spec.rb +0 -34
  510. data/spec/models/any_of_chat_completion_request_stop_spec.rb +0 -34
  511. data/spec/models/any_of_chat_completion_request_tool_choice_spec.rb +0 -34
  512. data/spec/models/any_of_create_embedding_request_schema_input_spec.rb +0 -34
  513. data/spec/models/any_of_create_embedding_request_schema_model_spec.rb +0 -34
  514. data/spec/models/any_of_model_response_model_spec_constraints_spec.rb +0 -34
  515. data/spec/models/any_of_model_response_model_spec_pricing_spec.rb +0 -34
  516. data/spec/models/any_of_upscale_image_request_enhance_spec.rb +0 -34
  517. data/spec/models/any_of_upscale_image_request_image_spec.rb +0 -34
  518. data/spec/models/any_ofapi_keys_body_expires_at_spec.rb +0 -34
  519. data/spec/models/any_ofapi_keys_consumption_limit_usd_spec.rb +0 -34
  520. data/spec/models/any_ofapi_keys_consumption_limit_vcu_spec.rb +0 -34
  521. data/spec/models/any_ofapi_keys_generate_web3_key_body_expires_at_spec.rb +0 -34
  522. data/spec/models/any_ofinline_response_200_2_data_items_spec.rb +0 -34
  523. data/spec/models/any_ofinline_response_200_4_type_spec.rb +0 -34
  524. data/spec/models/any_ofinline_response_200_5_type_spec.rb +0 -34
  525. data/spec/models/any_ofinline_response_200_6_type_spec.rb +0 -34
  526. data/spec/models/any_ofinline_response_200_choices_message_spec.rb +0 -34
  527. data/spec/models/any_ofinline_response_200_prompt_logprobs_spec.rb +0 -34
  528. data/spec/models/api_keys_body_spec.rb +0 -61
  529. data/spec/models/api_keys_consumption_limit_spec.rb +0 -46
  530. data/spec/models/api_keys_generate_web3_key_body_spec.rb +0 -80
  531. data/spec/models/billing_usage_response_data_spec.rb +0 -86
  532. data/spec/models/billing_usage_response_inference_details_spec.rb +0 -57
  533. data/spec/models/billing_usage_response_pagination_spec.rb +0 -58
  534. data/spec/models/chat_completion_request_function_spec.rb +0 -52
  535. data/spec/models/inline_response_200_10_data_api_tier_spec.rb +0 -45
  536. data/spec/models/inline_response_200_10_data_balances_spec.rb +0 -45
  537. data/spec/models/inline_response_200_10_data_rate_limits_1_spec.rb +0 -45
  538. data/spec/models/inline_response_200_10_data_rate_limits_spec.rb +0 -46
  539. data/spec/models/inline_response_200_10_data_spec.rb +0 -69
  540. data/spec/models/inline_response_200_10_spec.rb +0 -40
  541. data/spec/models/inline_response_200_11_data_spec.rb +0 -64
  542. data/spec/models/inline_response_200_11_spec.rb +0 -50
  543. data/spec/models/inline_response_200_12_data_spec.rb +0 -39
  544. data/spec/models/inline_response_200_12_spec.rb +0 -46
  545. data/spec/models/inline_response_200_13_data_spec.rb +0 -93
  546. data/spec/models/inline_response_200_13_spec.rb +0 -49
  547. data/spec/models/inline_response_200_13_stats_spec.rb +0 -40
  548. data/spec/models/inline_response_200_14_data_spec.rb +0 -55
  549. data/spec/models/inline_response_200_14_spec.rb +0 -61
  550. data/spec/models/inline_response_200_14_usage_spec.rb +0 -45
  551. data/spec/models/inline_response_200_15_spec.rb +0 -45
  552. data/spec/models/inline_response_200_1_spec.rb +0 -57
  553. data/spec/models/inline_response_200_1_timing_spec.rb +0 -58
  554. data/spec/models/inline_response_200_2_spec.rb +0 -46
  555. data/spec/models/inline_response_200_3_spec.rb +0 -50
  556. data/spec/models/inline_response_200_4_spec.rb +0 -55
  557. data/spec/models/inline_response_200_5_spec.rb +0 -55
  558. data/spec/models/inline_response_200_6_spec.rb +0 -55
  559. data/spec/models/inline_response_200_7_data_spec.rb +0 -91
  560. data/spec/models/inline_response_200_7_spec.rb +0 -50
  561. data/spec/models/inline_response_200_7_usage_spec.rb +0 -39
  562. data/spec/models/inline_response_200_7_usage_trailing_seven_days_spec.rb +0 -45
  563. data/spec/models/inline_response_200_8_data_spec.rb +0 -73
  564. data/spec/models/inline_response_200_8_spec.rb +0 -45
  565. data/spec/models/inline_response_200_9_spec.rb +0 -39
  566. data/spec/models/inline_response_200_choices_spec.rb +0 -72
  567. data/spec/models/inline_response_200_logprobs_spec.rb +0 -57
  568. data/spec/models/inline_response_200_logprobs_top_logprobs_spec.rb +0 -51
  569. data/spec/models/inline_response_200_spec.rb +0 -85
  570. data/spec/models/inline_response_200_usage_spec.rb +0 -57
  571. data/spec/models/inline_response_200_venice_parameters_spec.rb +0 -80
  572. data/spec/models/inline_response_200_venice_parameters_web_search_citations_spec.rb +0 -57
  573. data/spec/models/inline_response_400_spec.rb +0 -45
  574. data/spec/models/inline_response_401_spec.rb +0 -39
  575. data/spec/models/inline_response_402_spec.rb +0 -39
  576. data/spec/models/inline_response_403_spec.rb +0 -40
  577. data/spec/models/inline_response_415_spec.rb +0 -40
  578. data/spec/models/inline_response_429_spec.rb +0 -39
  579. data/spec/models/inline_response_500_1_spec.rb +0 -40
  580. data/spec/models/inline_response_500_spec.rb +0 -39
  581. data/spec/models/inline_response_503_spec.rb +0 -40
  582. data/spec/models/model_compatibility_schema_spec.rb +0 -34
  583. data/spec/models/model_trait_schema_spec.rb +0 -34
  584. data/spec/models/one_of_chat_completion_request_response_format_spec.rb +0 -34
  585. data/spec/models/type_spec.rb +0 -34
  586. data/venice_client.gemspec +0 -38
@@ -0,0 +1,104 @@
1
+ =begin
2
+ #Venice.ai API
3
+
4
+ #The Venice.ai API.
5
+
6
+ The version of the OpenAPI document: 20250709.013306
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VeniceClient
17
+ module CreateChatCompletion200ResponseChoicesInnerMessage
18
+ class << self
19
+ # List of class defined in anyOf (OpenAPI v3)
20
+ def openapi_any_of
21
+ [
22
+ :'AssistantMessage',
23
+ :'ToolMessage'
24
+ ]
25
+ end
26
+
27
+ # Builds the object
28
+ # @param [Mixed] Data to be matched against the list of anyOf items
29
+ # @return [Object] Returns the model or the data itself
30
+ def build(data)
31
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
32
+ # Note:
33
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
34
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
35
+ # - TODO: scalar values are de facto behaving as if they were nullable.
36
+ # - TODO: logging when debugging is set.
37
+ openapi_any_of.each do |klass|
38
+ begin
39
+ next if klass == :AnyType # "nullable: true"
40
+ typed_data = find_and_cast_into_type(klass, data)
41
+ return typed_data if typed_data
42
+ rescue # rescue all errors so we keep iterating even if the current item lookup raises
43
+ end
44
+ end
45
+
46
+ openapi_any_of.include?(:AnyType) ? data : nil
47
+ end
48
+
49
+ private
50
+
51
+ SchemaMismatchError = Class.new(StandardError)
52
+
53
+ # Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
54
+ def find_and_cast_into_type(klass, data)
55
+ return if data.nil?
56
+
57
+ case klass.to_s
58
+ when 'Boolean'
59
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
60
+ when 'Float'
61
+ return data if data.instance_of?(Float)
62
+ when 'Integer'
63
+ return data if data.instance_of?(Integer)
64
+ when 'Time'
65
+ return Time.parse(data)
66
+ when 'Date'
67
+ return Date.iso8601(data)
68
+ when 'String'
69
+ return data if data.instance_of?(String)
70
+ when 'Object' # "type: object"
71
+ return data if data.instance_of?(Hash)
72
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
73
+ if data.instance_of?(Array)
74
+ sub_type = Regexp.last_match[:sub_type]
75
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
76
+ end
77
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
78
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
79
+ sub_type = Regexp.last_match[:sub_type]
80
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
81
+ end
82
+ else # model
83
+ const = VeniceClient.const_get(klass)
84
+ if const
85
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
86
+ model = const.build(data)
87
+ return model if model
88
+ else
89
+ # raise if data contains keys that are not known to the model
90
+ raise if const.respond_to?(:acceptable_attributes) && !(data.keys - const.acceptable_attributes).empty?
91
+ model = const.build_from_hash(data)
92
+ return model if model
93
+ end
94
+ end
95
+ end
96
+
97
+ raise # if no match by now, raise
98
+ rescue
99
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
100
+ end
101
+ end
102
+ end
103
+
104
+ end
@@ -3,16 +3,18 @@
3
3
 
4
4
  #The Venice.ai API.
5
5
 
6
- OpenAPI spec version: 20250521.233203
6
+ The version of the OpenAPI document: 20250709.013306
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.68
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module VeniceClient
15
- class InlineResponse200Usage
17
+ class CreateChatCompletion200ResponseUsage
16
18
  # The number of tokens in the completion.
17
19
  attr_accessor :completion_tokens
18
20
 
@@ -35,13 +37,23 @@ module VeniceClient
35
37
  }
36
38
  end
37
39
 
40
+ # Returns attribute mapping this model knows about
41
+ def self.acceptable_attribute_map
42
+ attribute_map
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ acceptable_attribute_map.values
48
+ end
49
+
38
50
  # Attribute type mapping.
39
51
  def self.openapi_types
40
52
  {
41
- :'completion_tokens' => :'Object',
42
- :'prompt_tokens' => :'Object',
53
+ :'completion_tokens' => :'Integer',
54
+ :'prompt_tokens' => :'Integer',
43
55
  :'prompt_tokens_details' => :'Object',
44
- :'total_tokens' => :'Object'
56
+ :'total_tokens' => :'Integer'
45
57
  }
46
58
  end
47
59
 
@@ -51,28 +63,33 @@ module VeniceClient
51
63
  :'prompt_tokens_details',
52
64
  ])
53
65
  end
54
-
66
+
55
67
  # Initializes the object
56
68
  # @param [Hash] attributes Model attributes in the form of hash
57
69
  def initialize(attributes = {})
58
70
  if (!attributes.is_a?(Hash))
59
- fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::InlineResponse200Usage` initialize method"
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::CreateChatCompletion200ResponseUsage` initialize method"
60
72
  end
61
73
 
62
74
  # check to see if the attribute exists and convert string to symbol for hash key
75
+ acceptable_attribute_map = self.class.acceptable_attribute_map
63
76
  attributes = attributes.each_with_object({}) { |(k, v), h|
64
- if (!self.class.attribute_map.key?(k.to_sym))
65
- fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::InlineResponse200Usage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ if (!acceptable_attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::CreateChatCompletion200ResponseUsage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
66
79
  end
67
80
  h[k.to_sym] = v
68
81
  }
69
82
 
70
83
  if attributes.key?(:'completion_tokens')
71
84
  self.completion_tokens = attributes[:'completion_tokens']
85
+ else
86
+ self.completion_tokens = nil
72
87
  end
73
88
 
74
89
  if attributes.key?(:'prompt_tokens')
75
90
  self.prompt_tokens = attributes[:'prompt_tokens']
91
+ else
92
+ self.prompt_tokens = nil
76
93
  end
77
94
 
78
95
  if attributes.key?(:'prompt_tokens_details')
@@ -81,12 +98,15 @@ module VeniceClient
81
98
 
82
99
  if attributes.key?(:'total_tokens')
83
100
  self.total_tokens = attributes[:'total_tokens']
101
+ else
102
+ self.total_tokens = nil
84
103
  end
85
104
  end
86
105
 
87
106
  # Show invalid properties with the reasons. Usually used together with valid?
88
107
  # @return Array for valid properties with the reasons
89
108
  def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
90
110
  invalid_properties = Array.new
91
111
  if @completion_tokens.nil?
92
112
  invalid_properties.push('invalid value for "completion_tokens", completion_tokens cannot be nil.')
@@ -106,12 +126,43 @@ module VeniceClient
106
126
  # Check to see if the all the properties in the model are valid
107
127
  # @return true if the model is valid
108
128
  def valid?
129
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
130
  return false if @completion_tokens.nil?
110
131
  return false if @prompt_tokens.nil?
111
132
  return false if @total_tokens.nil?
112
133
  true
113
134
  end
114
135
 
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] completion_tokens Value to be assigned
138
+ def completion_tokens=(completion_tokens)
139
+ if completion_tokens.nil?
140
+ fail ArgumentError, 'completion_tokens cannot be nil'
141
+ end
142
+
143
+ @completion_tokens = completion_tokens
144
+ end
145
+
146
+ # Custom attribute writer method with validation
147
+ # @param [Object] prompt_tokens Value to be assigned
148
+ def prompt_tokens=(prompt_tokens)
149
+ if prompt_tokens.nil?
150
+ fail ArgumentError, 'prompt_tokens cannot be nil'
151
+ end
152
+
153
+ @prompt_tokens = prompt_tokens
154
+ end
155
+
156
+ # Custom attribute writer method with validation
157
+ # @param [Object] total_tokens Value to be assigned
158
+ def total_tokens=(total_tokens)
159
+ if total_tokens.nil?
160
+ fail ArgumentError, 'total_tokens cannot be nil'
161
+ end
162
+
163
+ @total_tokens = total_tokens
164
+ end
165
+
115
166
  # Checks equality by comparing each attribute.
116
167
  # @param [Object] Object to be compared
117
168
  def ==(o)
@@ -139,39 +190,33 @@ module VeniceClient
139
190
  # @param [Hash] attributes Model attributes in the form of hash
140
191
  # @return [Object] Returns the model itself
141
192
  def self.build_from_hash(attributes)
142
- new.build_from_hash(attributes)
143
- end
144
-
145
- # Builds the object from hash
146
- # @param [Hash] attributes Model attributes in the form of hash
147
- # @return [Object] Returns the model itself
148
- def build_from_hash(attributes)
149
193
  return nil unless attributes.is_a?(Hash)
150
- self.class.openapi_types.each_pair do |key, type|
151
- if type =~ /\AArray<(.*)>/i
194
+ attributes = attributes.transform_keys(&:to_sym)
195
+ transformed_hash = {}
196
+ openapi_types.each_pair do |key, type|
197
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
198
+ transformed_hash["#{key}"] = nil
199
+ elsif type =~ /\AArray<(.*)>/i
152
200
  # check to ensure the input is an array given that the attribute
153
201
  # is documented as an array but the input is not
154
- if attributes[self.class.attribute_map[key]].is_a?(Array)
155
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
202
+ if attributes[attribute_map[key]].is_a?(Array)
203
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
156
204
  end
157
- elsif !attributes[self.class.attribute_map[key]].nil?
158
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
160
- self.send("#{key}=", nil)
205
+ elsif !attributes[attribute_map[key]].nil?
206
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
161
207
  end
162
208
  end
163
-
164
- self
209
+ new(transformed_hash)
165
210
  end
166
211
 
167
212
  # Deserializes the data based on type
168
213
  # @param string type Data type
169
214
  # @param string value Value to be deserialized
170
215
  # @return [Object] Deserialized data
171
- def _deserialize(type, value)
216
+ def self._deserialize(type, value)
172
217
  case type.to_sym
173
- when :DateTime
174
- DateTime.parse(value)
218
+ when :Time
219
+ Time.parse(value)
175
220
  when :Date
176
221
  Date.parse(value)
177
222
  when :String
@@ -201,7 +246,9 @@ module VeniceClient
201
246
  end
202
247
  end
203
248
  else # model
204
- VeniceClient.const_get(type).build_from_hash(value)
249
+ # models (e.g. Pet) or oneOf
250
+ klass = VeniceClient.const_get(type)
251
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
205
252
  end
206
253
  end
207
254
 
@@ -249,5 +296,8 @@ module VeniceClient
249
296
  else
250
297
  value
251
298
  end
252
- end end
299
+ end
300
+
301
+ end
302
+
253
303
  end
@@ -3,17 +3,19 @@
3
3
 
4
4
  #The Venice.ai API.
5
5
 
6
- OpenAPI spec version: 20250521.233203
6
+ The version of the OpenAPI document: 20250709.013306
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.68
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
16
  module VeniceClient
15
17
  # Unique parameters to Venice's API implementation.
16
- class InlineResponse200VeniceParameters
18
+ class CreateChatCompletion200ResponseVeniceParameters
17
19
  # Did the request enable web search?
18
20
  attr_accessor :enable_web_search
19
21
 
@@ -23,6 +25,9 @@ module VeniceClient
23
25
  # Did the request include the Venice system prompt?
24
26
  attr_accessor :include_venice_system_prompt
25
27
 
28
+ # Did the request include search results in the stream?
29
+ attr_accessor :include_search_results_in_stream
30
+
26
31
  # The character slug of a public Venice character.
27
32
  attr_accessor :character_slug
28
33
 
@@ -63,6 +68,7 @@ module VeniceClient
63
68
  :'enable_web_search' => :'enable_web_search',
64
69
  :'enable_web_citations' => :'enable_web_citations',
65
70
  :'include_venice_system_prompt' => :'include_venice_system_prompt',
71
+ :'include_search_results_in_stream' => :'include_search_results_in_stream',
66
72
  :'character_slug' => :'character_slug',
67
73
  :'strip_thinking_response' => :'strip_thinking_response',
68
74
  :'disable_thinking' => :'disable_thinking',
@@ -70,16 +76,27 @@ module VeniceClient
70
76
  }
71
77
  end
72
78
 
79
+ # Returns attribute mapping this model knows about
80
+ def self.acceptable_attribute_map
81
+ attribute_map
82
+ end
83
+
84
+ # Returns all the JSON keys this model knows about
85
+ def self.acceptable_attributes
86
+ acceptable_attribute_map.values
87
+ end
88
+
73
89
  # Attribute type mapping.
74
90
  def self.openapi_types
75
91
  {
76
- :'enable_web_search' => :'Object',
77
- :'enable_web_citations' => :'Object',
78
- :'include_venice_system_prompt' => :'Object',
79
- :'character_slug' => :'Object',
80
- :'strip_thinking_response' => :'Object',
81
- :'disable_thinking' => :'Object',
82
- :'web_search_citations' => :'Object'
92
+ :'enable_web_search' => :'String',
93
+ :'enable_web_citations' => :'Boolean',
94
+ :'include_venice_system_prompt' => :'Boolean',
95
+ :'include_search_results_in_stream' => :'Boolean',
96
+ :'character_slug' => :'String',
97
+ :'strip_thinking_response' => :'Boolean',
98
+ :'disable_thinking' => :'Boolean',
99
+ :'web_search_citations' => :'Array<CreateChatCompletion200ResponseVeniceParametersWebSearchCitationsInner>'
83
100
  }
84
101
  end
85
102
 
@@ -88,32 +105,45 @@ module VeniceClient
88
105
  Set.new([
89
106
  ])
90
107
  end
91
-
108
+
92
109
  # Initializes the object
93
110
  # @param [Hash] attributes Model attributes in the form of hash
94
111
  def initialize(attributes = {})
95
112
  if (!attributes.is_a?(Hash))
96
- fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::InlineResponse200VeniceParameters` initialize method"
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::CreateChatCompletion200ResponseVeniceParameters` initialize method"
97
114
  end
98
115
 
99
116
  # check to see if the attribute exists and convert string to symbol for hash key
117
+ acceptable_attribute_map = self.class.acceptable_attribute_map
100
118
  attributes = attributes.each_with_object({}) { |(k, v), h|
101
- if (!self.class.attribute_map.key?(k.to_sym))
102
- fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::InlineResponse200VeniceParameters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
119
+ if (!acceptable_attribute_map.key?(k.to_sym))
120
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::CreateChatCompletion200ResponseVeniceParameters`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
103
121
  end
104
122
  h[k.to_sym] = v
105
123
  }
106
124
 
107
125
  if attributes.key?(:'enable_web_search')
108
126
  self.enable_web_search = attributes[:'enable_web_search']
127
+ else
128
+ self.enable_web_search = nil
109
129
  end
110
130
 
111
131
  if attributes.key?(:'enable_web_citations')
112
132
  self.enable_web_citations = attributes[:'enable_web_citations']
133
+ else
134
+ self.enable_web_citations = nil
113
135
  end
114
136
 
115
137
  if attributes.key?(:'include_venice_system_prompt')
116
138
  self.include_venice_system_prompt = attributes[:'include_venice_system_prompt']
139
+ else
140
+ self.include_venice_system_prompt = nil
141
+ end
142
+
143
+ if attributes.key?(:'include_search_results_in_stream')
144
+ self.include_search_results_in_stream = attributes[:'include_search_results_in_stream']
145
+ else
146
+ self.include_search_results_in_stream = nil
117
147
  end
118
148
 
119
149
  if attributes.key?(:'character_slug')
@@ -122,10 +152,14 @@ module VeniceClient
122
152
 
123
153
  if attributes.key?(:'strip_thinking_response')
124
154
  self.strip_thinking_response = attributes[:'strip_thinking_response']
155
+ else
156
+ self.strip_thinking_response = nil
125
157
  end
126
158
 
127
159
  if attributes.key?(:'disable_thinking')
128
160
  self.disable_thinking = attributes[:'disable_thinking']
161
+ else
162
+ self.disable_thinking = nil
129
163
  end
130
164
 
131
165
  if attributes.key?(:'web_search_citations')
@@ -138,6 +172,7 @@ module VeniceClient
138
172
  # Show invalid properties with the reasons. Usually used together with valid?
139
173
  # @return Array for valid properties with the reasons
140
174
  def list_invalid_properties
175
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
141
176
  invalid_properties = Array.new
142
177
  if @enable_web_search.nil?
143
178
  invalid_properties.push('invalid value for "enable_web_search", enable_web_search cannot be nil.')
@@ -151,6 +186,10 @@ module VeniceClient
151
186
  invalid_properties.push('invalid value for "include_venice_system_prompt", include_venice_system_prompt cannot be nil.')
152
187
  end
153
188
 
189
+ if @include_search_results_in_stream.nil?
190
+ invalid_properties.push('invalid value for "include_search_results_in_stream", include_search_results_in_stream cannot be nil.')
191
+ end
192
+
154
193
  if @strip_thinking_response.nil?
155
194
  invalid_properties.push('invalid value for "strip_thinking_response", strip_thinking_response cannot be nil.')
156
195
  end
@@ -165,11 +204,13 @@ module VeniceClient
165
204
  # Check to see if the all the properties in the model are valid
166
205
  # @return true if the model is valid
167
206
  def valid?
207
+ warn '[DEPRECATED] the `valid?` method is obsolete'
168
208
  return false if @enable_web_search.nil?
169
- enable_web_search_validator = EnumAttributeValidator.new('Object', ['auto', 'false', 'true'])
209
+ enable_web_search_validator = EnumAttributeValidator.new('String', ["auto", "false", "true"])
170
210
  return false unless enable_web_search_validator.valid?(@enable_web_search)
171
211
  return false if @enable_web_citations.nil?
172
212
  return false if @include_venice_system_prompt.nil?
213
+ return false if @include_search_results_in_stream.nil?
173
214
  return false if @strip_thinking_response.nil?
174
215
  return false if @disable_thinking.nil?
175
216
  true
@@ -178,13 +219,63 @@ module VeniceClient
178
219
  # Custom attribute writer method checking allowed values (enum).
179
220
  # @param [Object] enable_web_search Object to be assigned
180
221
  def enable_web_search=(enable_web_search)
181
- validator = EnumAttributeValidator.new('Object', ['auto', 'false', 'true'])
222
+ validator = EnumAttributeValidator.new('String', ["auto", "false", "true"])
182
223
  unless validator.valid?(enable_web_search)
183
224
  fail ArgumentError, "invalid value for \"enable_web_search\", must be one of #{validator.allowable_values}."
184
225
  end
185
226
  @enable_web_search = enable_web_search
186
227
  end
187
228
 
229
+ # Custom attribute writer method with validation
230
+ # @param [Object] enable_web_citations Value to be assigned
231
+ def enable_web_citations=(enable_web_citations)
232
+ if enable_web_citations.nil?
233
+ fail ArgumentError, 'enable_web_citations cannot be nil'
234
+ end
235
+
236
+ @enable_web_citations = enable_web_citations
237
+ end
238
+
239
+ # Custom attribute writer method with validation
240
+ # @param [Object] include_venice_system_prompt Value to be assigned
241
+ def include_venice_system_prompt=(include_venice_system_prompt)
242
+ if include_venice_system_prompt.nil?
243
+ fail ArgumentError, 'include_venice_system_prompt cannot be nil'
244
+ end
245
+
246
+ @include_venice_system_prompt = include_venice_system_prompt
247
+ end
248
+
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] include_search_results_in_stream Value to be assigned
251
+ def include_search_results_in_stream=(include_search_results_in_stream)
252
+ if include_search_results_in_stream.nil?
253
+ fail ArgumentError, 'include_search_results_in_stream cannot be nil'
254
+ end
255
+
256
+ @include_search_results_in_stream = include_search_results_in_stream
257
+ end
258
+
259
+ # Custom attribute writer method with validation
260
+ # @param [Object] strip_thinking_response Value to be assigned
261
+ def strip_thinking_response=(strip_thinking_response)
262
+ if strip_thinking_response.nil?
263
+ fail ArgumentError, 'strip_thinking_response cannot be nil'
264
+ end
265
+
266
+ @strip_thinking_response = strip_thinking_response
267
+ end
268
+
269
+ # Custom attribute writer method with validation
270
+ # @param [Object] disable_thinking Value to be assigned
271
+ def disable_thinking=(disable_thinking)
272
+ if disable_thinking.nil?
273
+ fail ArgumentError, 'disable_thinking cannot be nil'
274
+ end
275
+
276
+ @disable_thinking = disable_thinking
277
+ end
278
+
188
279
  # Checks equality by comparing each attribute.
189
280
  # @param [Object] Object to be compared
190
281
  def ==(o)
@@ -193,6 +284,7 @@ module VeniceClient
193
284
  enable_web_search == o.enable_web_search &&
194
285
  enable_web_citations == o.enable_web_citations &&
195
286
  include_venice_system_prompt == o.include_venice_system_prompt &&
287
+ include_search_results_in_stream == o.include_search_results_in_stream &&
196
288
  character_slug == o.character_slug &&
197
289
  strip_thinking_response == o.strip_thinking_response &&
198
290
  disable_thinking == o.disable_thinking &&
@@ -208,46 +300,40 @@ module VeniceClient
208
300
  # Calculates hash code according to all attributes.
209
301
  # @return [Integer] Hash code
210
302
  def hash
211
- [enable_web_search, enable_web_citations, include_venice_system_prompt, character_slug, strip_thinking_response, disable_thinking, web_search_citations].hash
303
+ [enable_web_search, enable_web_citations, include_venice_system_prompt, include_search_results_in_stream, character_slug, strip_thinking_response, disable_thinking, web_search_citations].hash
212
304
  end
213
305
 
214
306
  # Builds the object from hash
215
307
  # @param [Hash] attributes Model attributes in the form of hash
216
308
  # @return [Object] Returns the model itself
217
309
  def self.build_from_hash(attributes)
218
- new.build_from_hash(attributes)
219
- end
220
-
221
- # Builds the object from hash
222
- # @param [Hash] attributes Model attributes in the form of hash
223
- # @return [Object] Returns the model itself
224
- def build_from_hash(attributes)
225
310
  return nil unless attributes.is_a?(Hash)
226
- self.class.openapi_types.each_pair do |key, type|
227
- if type =~ /\AArray<(.*)>/i
311
+ attributes = attributes.transform_keys(&:to_sym)
312
+ transformed_hash = {}
313
+ openapi_types.each_pair do |key, type|
314
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
315
+ transformed_hash["#{key}"] = nil
316
+ elsif type =~ /\AArray<(.*)>/i
228
317
  # check to ensure the input is an array given that the attribute
229
318
  # is documented as an array but the input is not
230
- if attributes[self.class.attribute_map[key]].is_a?(Array)
231
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
319
+ if attributes[attribute_map[key]].is_a?(Array)
320
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
232
321
  end
233
- elsif !attributes[self.class.attribute_map[key]].nil?
234
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
235
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
236
- self.send("#{key}=", nil)
322
+ elsif !attributes[attribute_map[key]].nil?
323
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
237
324
  end
238
325
  end
239
-
240
- self
326
+ new(transformed_hash)
241
327
  end
242
328
 
243
329
  # Deserializes the data based on type
244
330
  # @param string type Data type
245
331
  # @param string value Value to be deserialized
246
332
  # @return [Object] Deserialized data
247
- def _deserialize(type, value)
333
+ def self._deserialize(type, value)
248
334
  case type.to_sym
249
- when :DateTime
250
- DateTime.parse(value)
335
+ when :Time
336
+ Time.parse(value)
251
337
  when :Date
252
338
  Date.parse(value)
253
339
  when :String
@@ -277,7 +363,9 @@ module VeniceClient
277
363
  end
278
364
  end
279
365
  else # model
280
- VeniceClient.const_get(type).build_from_hash(value)
366
+ # models (e.g. Pet) or oneOf
367
+ klass = VeniceClient.const_get(type)
368
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
281
369
  end
282
370
  end
283
371
 
@@ -325,5 +413,8 @@ module VeniceClient
325
413
  else
326
414
  value
327
415
  end
328
- end end
416
+ end
417
+
418
+ end
419
+
329
420
  end