venice_client 1.0.1 → 1.0.3

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 +71 -48
  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,292 @@
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
+ class LLMModelPricingInput
18
+ # USD cost per million input tokens
19
+ attr_accessor :usd
20
+
21
+ # VCU cost per million input tokens (deprecated - use Diem instead)
22
+ attr_accessor :vcu
23
+
24
+ # Diem cost per million input tokens
25
+ attr_accessor :diem
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'usd' => :'usd',
31
+ :'vcu' => :'vcu',
32
+ :'diem' => :'diem'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'usd' => :'Float',
50
+ :'vcu' => :'Float',
51
+ :'diem' => :'Float'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::LLMModelPricingInput` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ acceptable_attribute_map = self.class.acceptable_attribute_map
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!acceptable_attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::LLMModelPricingInput`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'usd')
78
+ self.usd = attributes[:'usd']
79
+ else
80
+ self.usd = nil
81
+ end
82
+
83
+ if attributes.key?(:'vcu')
84
+ self.vcu = attributes[:'vcu']
85
+ else
86
+ self.vcu = nil
87
+ end
88
+
89
+ if attributes.key?(:'diem')
90
+ self.diem = attributes[:'diem']
91
+ else
92
+ self.diem = nil
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ if @usd.nil?
102
+ invalid_properties.push('invalid value for "usd", usd cannot be nil.')
103
+ end
104
+
105
+ if @vcu.nil?
106
+ invalid_properties.push('invalid value for "vcu", vcu cannot be nil.')
107
+ end
108
+
109
+ if @diem.nil?
110
+ invalid_properties.push('invalid value for "diem", diem cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ warn '[DEPRECATED] the `valid?` method is obsolete'
120
+ return false if @usd.nil?
121
+ return false if @vcu.nil?
122
+ return false if @diem.nil?
123
+ true
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] usd Value to be assigned
128
+ def usd=(usd)
129
+ if usd.nil?
130
+ fail ArgumentError, 'usd cannot be nil'
131
+ end
132
+
133
+ @usd = usd
134
+ end
135
+
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] vcu Value to be assigned
138
+ def vcu=(vcu)
139
+ if vcu.nil?
140
+ fail ArgumentError, 'vcu cannot be nil'
141
+ end
142
+
143
+ @vcu = vcu
144
+ end
145
+
146
+ # Custom attribute writer method with validation
147
+ # @param [Object] diem Value to be assigned
148
+ def diem=(diem)
149
+ if diem.nil?
150
+ fail ArgumentError, 'diem cannot be nil'
151
+ end
152
+
153
+ @diem = diem
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ usd == o.usd &&
162
+ vcu == o.vcu &&
163
+ diem == o.diem
164
+ end
165
+
166
+ # @see the `==` method
167
+ # @param [Object] Object to be compared
168
+ def eql?(o)
169
+ self == o
170
+ end
171
+
172
+ # Calculates hash code according to all attributes.
173
+ # @return [Integer] Hash code
174
+ def hash
175
+ [usd, vcu, diem].hash
176
+ end
177
+
178
+ # Builds the object from hash
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ # @return [Object] Returns the model itself
181
+ def self.build_from_hash(attributes)
182
+ return nil unless attributes.is_a?(Hash)
183
+ attributes = attributes.transform_keys(&:to_sym)
184
+ transformed_hash = {}
185
+ openapi_types.each_pair do |key, type|
186
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
187
+ transformed_hash["#{key}"] = nil
188
+ elsif type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[attribute_map[key]].is_a?(Array)
192
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
193
+ end
194
+ elsif !attributes[attribute_map[key]].nil?
195
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
196
+ end
197
+ end
198
+ new(transformed_hash)
199
+ end
200
+
201
+ # Deserializes the data based on type
202
+ # @param string type Data type
203
+ # @param string value Value to be deserialized
204
+ # @return [Object] Deserialized data
205
+ def self._deserialize(type, value)
206
+ case type.to_sym
207
+ when :Time
208
+ Time.parse(value)
209
+ when :Date
210
+ Date.parse(value)
211
+ when :String
212
+ value.to_s
213
+ when :Integer
214
+ value.to_i
215
+ when :Float
216
+ value.to_f
217
+ when :Boolean
218
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
219
+ true
220
+ else
221
+ false
222
+ end
223
+ when :Object
224
+ # generic object (usually a Hash), return directly
225
+ value
226
+ when /\AArray<(?<inner_type>.+)>\z/
227
+ inner_type = Regexp.last_match[:inner_type]
228
+ value.map { |v| _deserialize(inner_type, v) }
229
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
230
+ k_type = Regexp.last_match[:k_type]
231
+ v_type = Regexp.last_match[:v_type]
232
+ {}.tap do |hash|
233
+ value.each do |k, v|
234
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
235
+ end
236
+ end
237
+ else # model
238
+ # models (e.g. Pet) or oneOf
239
+ klass = VeniceClient.const_get(type)
240
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
241
+ end
242
+ end
243
+
244
+ # Returns the string representation of the object
245
+ # @return [String] String presentation of the object
246
+ def to_s
247
+ to_hash.to_s
248
+ end
249
+
250
+ # to_body is an alias to to_hash (backward compatibility)
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # Returns the object in the form of hash
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_hash
259
+ hash = {}
260
+ self.class.attribute_map.each_pair do |attr, param|
261
+ value = self.send(attr)
262
+ if value.nil?
263
+ is_nullable = self.class.openapi_nullable.include?(attr)
264
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
265
+ end
266
+
267
+ hash[param] = _to_hash(value)
268
+ end
269
+ hash
270
+ end
271
+
272
+ # Outputs non-array value in the form of hash
273
+ # For object, use to_hash. Otherwise, just return the value
274
+ # @param [Object] value Any valid value
275
+ # @return [Hash] Returns the value in the form of hash
276
+ def _to_hash(value)
277
+ if value.is_a?(Array)
278
+ value.compact.map { |v| _to_hash(v) }
279
+ elsif value.is_a?(Hash)
280
+ {}.tap do |hash|
281
+ value.each { |k, v| hash[k] = _to_hash(v) }
282
+ end
283
+ elsif value.respond_to? :to_hash
284
+ value.to_hash
285
+ else
286
+ value
287
+ end
288
+ end
289
+
290
+ end
291
+
292
+ end
@@ -0,0 +1,292 @@
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
+ class LLMModelPricingOutput
18
+ # USD cost per million output tokens
19
+ attr_accessor :usd
20
+
21
+ # VCU cost per million output tokens (deprecated - use Diem instead)
22
+ attr_accessor :vcu
23
+
24
+ # Diem cost per million output tokens
25
+ attr_accessor :diem
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'usd' => :'usd',
31
+ :'vcu' => :'vcu',
32
+ :'diem' => :'diem'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'usd' => :'Float',
50
+ :'vcu' => :'Float',
51
+ :'diem' => :'Float'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::LLMModelPricingOutput` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ acceptable_attribute_map = self.class.acceptable_attribute_map
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!acceptable_attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::LLMModelPricingOutput`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'usd')
78
+ self.usd = attributes[:'usd']
79
+ else
80
+ self.usd = nil
81
+ end
82
+
83
+ if attributes.key?(:'vcu')
84
+ self.vcu = attributes[:'vcu']
85
+ else
86
+ self.vcu = nil
87
+ end
88
+
89
+ if attributes.key?(:'diem')
90
+ self.diem = attributes[:'diem']
91
+ else
92
+ self.diem = nil
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ if @usd.nil?
102
+ invalid_properties.push('invalid value for "usd", usd cannot be nil.')
103
+ end
104
+
105
+ if @vcu.nil?
106
+ invalid_properties.push('invalid value for "vcu", vcu cannot be nil.')
107
+ end
108
+
109
+ if @diem.nil?
110
+ invalid_properties.push('invalid value for "diem", diem cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ warn '[DEPRECATED] the `valid?` method is obsolete'
120
+ return false if @usd.nil?
121
+ return false if @vcu.nil?
122
+ return false if @diem.nil?
123
+ true
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] usd Value to be assigned
128
+ def usd=(usd)
129
+ if usd.nil?
130
+ fail ArgumentError, 'usd cannot be nil'
131
+ end
132
+
133
+ @usd = usd
134
+ end
135
+
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] vcu Value to be assigned
138
+ def vcu=(vcu)
139
+ if vcu.nil?
140
+ fail ArgumentError, 'vcu cannot be nil'
141
+ end
142
+
143
+ @vcu = vcu
144
+ end
145
+
146
+ # Custom attribute writer method with validation
147
+ # @param [Object] diem Value to be assigned
148
+ def diem=(diem)
149
+ if diem.nil?
150
+ fail ArgumentError, 'diem cannot be nil'
151
+ end
152
+
153
+ @diem = diem
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ usd == o.usd &&
162
+ vcu == o.vcu &&
163
+ diem == o.diem
164
+ end
165
+
166
+ # @see the `==` method
167
+ # @param [Object] Object to be compared
168
+ def eql?(o)
169
+ self == o
170
+ end
171
+
172
+ # Calculates hash code according to all attributes.
173
+ # @return [Integer] Hash code
174
+ def hash
175
+ [usd, vcu, diem].hash
176
+ end
177
+
178
+ # Builds the object from hash
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ # @return [Object] Returns the model itself
181
+ def self.build_from_hash(attributes)
182
+ return nil unless attributes.is_a?(Hash)
183
+ attributes = attributes.transform_keys(&:to_sym)
184
+ transformed_hash = {}
185
+ openapi_types.each_pair do |key, type|
186
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
187
+ transformed_hash["#{key}"] = nil
188
+ elsif type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[attribute_map[key]].is_a?(Array)
192
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
193
+ end
194
+ elsif !attributes[attribute_map[key]].nil?
195
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
196
+ end
197
+ end
198
+ new(transformed_hash)
199
+ end
200
+
201
+ # Deserializes the data based on type
202
+ # @param string type Data type
203
+ # @param string value Value to be deserialized
204
+ # @return [Object] Deserialized data
205
+ def self._deserialize(type, value)
206
+ case type.to_sym
207
+ when :Time
208
+ Time.parse(value)
209
+ when :Date
210
+ Date.parse(value)
211
+ when :String
212
+ value.to_s
213
+ when :Integer
214
+ value.to_i
215
+ when :Float
216
+ value.to_f
217
+ when :Boolean
218
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
219
+ true
220
+ else
221
+ false
222
+ end
223
+ when :Object
224
+ # generic object (usually a Hash), return directly
225
+ value
226
+ when /\AArray<(?<inner_type>.+)>\z/
227
+ inner_type = Regexp.last_match[:inner_type]
228
+ value.map { |v| _deserialize(inner_type, v) }
229
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
230
+ k_type = Regexp.last_match[:k_type]
231
+ v_type = Regexp.last_match[:v_type]
232
+ {}.tap do |hash|
233
+ value.each do |k, v|
234
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
235
+ end
236
+ end
237
+ else # model
238
+ # models (e.g. Pet) or oneOf
239
+ klass = VeniceClient.const_get(type)
240
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
241
+ end
242
+ end
243
+
244
+ # Returns the string representation of the object
245
+ # @return [String] String presentation of the object
246
+ def to_s
247
+ to_hash.to_s
248
+ end
249
+
250
+ # to_body is an alias to to_hash (backward compatibility)
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_body
253
+ to_hash
254
+ end
255
+
256
+ # Returns the object in the form of hash
257
+ # @return [Hash] Returns the object in the form of hash
258
+ def to_hash
259
+ hash = {}
260
+ self.class.attribute_map.each_pair do |attr, param|
261
+ value = self.send(attr)
262
+ if value.nil?
263
+ is_nullable = self.class.openapi_nullable.include?(attr)
264
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
265
+ end
266
+
267
+ hash[param] = _to_hash(value)
268
+ end
269
+ hash
270
+ end
271
+
272
+ # Outputs non-array value in the form of hash
273
+ # For object, use to_hash. Otherwise, just return the value
274
+ # @param [Object] value Any valid value
275
+ # @return [Hash] Returns the value in the form of hash
276
+ def _to_hash(value)
277
+ if value.is_a?(Array)
278
+ value.compact.map { |v| _to_hash(v) }
279
+ elsif value.is_a?(Hash)
280
+ {}.tap do |hash|
281
+ value.each { |k, v| hash[k] = _to_hash(v) }
282
+ end
283
+ elsif value.respond_to? :to_hash
284
+ value.to_hash
285
+ else
286
+ value
287
+ end
288
+ end
289
+
290
+ end
291
+
292
+ end