cuadra-ai-sdk 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +99 -0
- data/lib/cuadra_ai/api_helper.rb +10 -0
- data/lib/cuadra_ai/client.rb +91 -0
- data/lib/cuadra_ai/configuration.rb +105 -0
- data/lib/cuadra_ai/controllers/base_controller.rb +67 -0
- data/lib/cuadra_ai/controllers/chat_controller.rb +41 -0
- data/lib/cuadra_ai/controllers/embeds_controller.rb +41 -0
- data/lib/cuadra_ai/controllers/models_controller.rb +172 -0
- data/lib/cuadra_ai/controllers/oauth_authorization_controller.rb +87 -0
- data/lib/cuadra_ai/controllers/usage_controller.rb +70 -0
- data/lib/cuadra_ai/exceptions/api_exception.rb +21 -0
- data/lib/cuadra_ai/exceptions/error_response_exception.rb +57 -0
- data/lib/cuadra_ai/exceptions/oauth_provider_exception.rb +64 -0
- data/lib/cuadra_ai/http/api_response.rb +19 -0
- data/lib/cuadra_ai/http/auth/oauth_2.rb +139 -0
- data/lib/cuadra_ai/http/http_call_back.rb +10 -0
- data/lib/cuadra_ai/http/http_method_enum.rb +10 -0
- data/lib/cuadra_ai/http/http_request.rb +10 -0
- data/lib/cuadra_ai/http/http_response.rb +10 -0
- data/lib/cuadra_ai/logging/configuration/api_logging_configuration.rb +114 -0
- data/lib/cuadra_ai/logging/sdk_logger.rb +17 -0
- data/lib/cuadra_ai/models/base_model.rb +110 -0
- data/lib/cuadra_ai/models/chat.rb +102 -0
- data/lib/cuadra_ai/models/chat_response_ex.rb +106 -0
- data/lib/cuadra_ai/models/content_ex.rb +86 -0
- data/lib/cuadra_ai/models/embed.rb +100 -0
- data/lib/cuadra_ai/models/embed_response_ex.rb +85 -0
- data/lib/cuadra_ai/models/inline_data_ex.rb +87 -0
- data/lib/cuadra_ai/models/model_ex.rb +169 -0
- data/lib/cuadra_ai/models/oauth_provider_error.rb +45 -0
- data/lib/cuadra_ai/models/oauth_token.rb +96 -0
- data/lib/cuadra_ai/models/paginated_response_ex_list_model_ex.rb +104 -0
- data/lib/cuadra_ai/models/tokens_ex.rb +86 -0
- data/lib/cuadra_ai/models/total_usage_ex.rb +86 -0
- data/lib/cuadra_ai/models/usage_calculation_ex.rb +77 -0
- data/lib/cuadra_ai/models/usage_ex.rb +86 -0
- data/lib/cuadra_ai/utilities/date_time_helper.rb +11 -0
- data/lib/cuadra_ai/utilities/file_wrapper.rb +28 -0
- data/lib/cuadra_ai.rb +63 -0
- metadata +126 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
# cuadra_ai
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module CuadraAi
|
7
|
+
# This is the token usage result of your request
|
8
|
+
class UsageEx < BaseModel
|
9
|
+
SKIP = Object.new
|
10
|
+
private_constant :SKIP
|
11
|
+
|
12
|
+
# Tokens used
|
13
|
+
# @return [TokensEx]
|
14
|
+
attr_accessor :billed_tokens
|
15
|
+
|
16
|
+
# Tokens used
|
17
|
+
# @return [TokensEx]
|
18
|
+
attr_accessor :used_tokens
|
19
|
+
|
20
|
+
# A mapping from model property names to API property names.
|
21
|
+
def self.names
|
22
|
+
@_hash = {} if @_hash.nil?
|
23
|
+
@_hash['billed_tokens'] = 'billedTokens'
|
24
|
+
@_hash['used_tokens'] = 'usedTokens'
|
25
|
+
@_hash
|
26
|
+
end
|
27
|
+
|
28
|
+
# An array for optional fields
|
29
|
+
def self.optionals
|
30
|
+
%w[
|
31
|
+
billed_tokens
|
32
|
+
used_tokens
|
33
|
+
]
|
34
|
+
end
|
35
|
+
|
36
|
+
# An array for nullable fields
|
37
|
+
def self.nullables
|
38
|
+
[]
|
39
|
+
end
|
40
|
+
|
41
|
+
def initialize(billed_tokens: SKIP, used_tokens: SKIP,
|
42
|
+
additional_properties: nil)
|
43
|
+
# Add additional model properties to the instance
|
44
|
+
additional_properties = {} if additional_properties.nil?
|
45
|
+
|
46
|
+
@billed_tokens = billed_tokens unless billed_tokens == SKIP
|
47
|
+
@used_tokens = used_tokens unless used_tokens == SKIP
|
48
|
+
@additional_properties = additional_properties
|
49
|
+
end
|
50
|
+
|
51
|
+
# Creates an instance of the object from a hash.
|
52
|
+
def self.from_hash(hash)
|
53
|
+
return nil unless hash
|
54
|
+
|
55
|
+
# Extract variables from the hash.
|
56
|
+
billed_tokens = TokensEx.from_hash(hash['billedTokens']) if hash['billedTokens']
|
57
|
+
used_tokens = TokensEx.from_hash(hash['usedTokens']) if hash['usedTokens']
|
58
|
+
|
59
|
+
# Create a new hash for additional properties, removing known properties.
|
60
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
61
|
+
|
62
|
+
additional_properties = APIHelper.get_additional_properties(
|
63
|
+
new_hash, proc { |value| value }
|
64
|
+
)
|
65
|
+
|
66
|
+
# Create object from extracted values.
|
67
|
+
UsageEx.new(billed_tokens: billed_tokens,
|
68
|
+
used_tokens: used_tokens,
|
69
|
+
additional_properties: additional_properties)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Provides a human-readable string representation of the object.
|
73
|
+
def to_s
|
74
|
+
class_name = self.class.name.split('::').last
|
75
|
+
"<#{class_name} billed_tokens: #{@billed_tokens}, used_tokens: #{@used_tokens},"\
|
76
|
+
" additional_properties: #{@additional_properties}>"
|
77
|
+
end
|
78
|
+
|
79
|
+
# Provides a debugging-friendly string with detailed object information.
|
80
|
+
def inspect
|
81
|
+
class_name = self.class.name.split('::').last
|
82
|
+
"<#{class_name} billed_tokens: #{@billed_tokens.inspect}, used_tokens:"\
|
83
|
+
" #{@used_tokens.inspect}, additional_properties: #{@additional_properties}>"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# cuadra_ai
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
module CuadraAi
|
8
|
+
# A utility that supports dateTime conversion to different formats
|
9
|
+
class DateTimeHelper < CoreLibrary::DateTimeHelper
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# cuadra_ai
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
module CuadraAi
|
7
|
+
# A utility to allow users to set the content-type for files
|
8
|
+
class FileWrapper < CoreLibrary::FileWrapper
|
9
|
+
# The constructor.
|
10
|
+
# @param [File] file The file to be sent in the request.
|
11
|
+
# @param [string] content_type The content type of the provided file.
|
12
|
+
def initialize(file, content_type: 'application/octet-stream')
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
# Provides a human-readable string representation of the object.
|
17
|
+
def to_s
|
18
|
+
class_name = self.class.name.split('::').last
|
19
|
+
"<#{class_name} file: #{@file}, content_type: #{@content_type}>"
|
20
|
+
end
|
21
|
+
|
22
|
+
# Provides a debugging-friendly string with detailed object information.
|
23
|
+
def to_inspect
|
24
|
+
class_name = self.class.name.split('::').last
|
25
|
+
"<#{class_name} file: #{@file.inspect}, content_type: #{@content_type.inspect}>"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/cuadra_ai.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
# cuadra_ai
|
2
|
+
#
|
3
|
+
# This file was automatically generated by APIMATIC v2.0
|
4
|
+
# ( https://apimatic.io ).
|
5
|
+
|
6
|
+
require 'date'
|
7
|
+
require 'json'
|
8
|
+
|
9
|
+
require 'apimatic_core_interfaces'
|
10
|
+
require 'apimatic_core'
|
11
|
+
require 'apimatic_faraday_client_adapter'
|
12
|
+
|
13
|
+
require_relative 'cuadra_ai/api_helper'
|
14
|
+
require_relative 'cuadra_ai/client'
|
15
|
+
|
16
|
+
# Utilities
|
17
|
+
require_relative 'cuadra_ai/utilities/file_wrapper'
|
18
|
+
require_relative 'cuadra_ai/utilities/date_time_helper'
|
19
|
+
|
20
|
+
# Http
|
21
|
+
require_relative 'cuadra_ai/http/api_response'
|
22
|
+
require_relative 'cuadra_ai/http/http_call_back'
|
23
|
+
require_relative 'cuadra_ai/http/http_method_enum'
|
24
|
+
require_relative 'cuadra_ai/http/http_request'
|
25
|
+
require_relative 'cuadra_ai/http/http_response'
|
26
|
+
|
27
|
+
|
28
|
+
# Logger
|
29
|
+
require_relative 'cuadra_ai/logging/configuration/api_logging_configuration'
|
30
|
+
require_relative 'cuadra_ai/logging/sdk_logger'
|
31
|
+
require_relative 'cuadra_ai/http/auth/oauth_2'
|
32
|
+
|
33
|
+
# Models
|
34
|
+
require_relative 'cuadra_ai/models/base_model'
|
35
|
+
require_relative 'cuadra_ai/models/chat'
|
36
|
+
require_relative 'cuadra_ai/models/content_ex'
|
37
|
+
require_relative 'cuadra_ai/models/inline_data_ex'
|
38
|
+
require_relative 'cuadra_ai/models/usage_calculation_ex'
|
39
|
+
require_relative 'cuadra_ai/models/model_ex'
|
40
|
+
require_relative 'cuadra_ai/models/embed'
|
41
|
+
require_relative 'cuadra_ai/models/embed_response_ex'
|
42
|
+
require_relative 'cuadra_ai/models/tokens_ex'
|
43
|
+
require_relative 'cuadra_ai/models/usage_ex'
|
44
|
+
require_relative 'cuadra_ai/models/chat_response_ex'
|
45
|
+
require_relative 'cuadra_ai/models/total_usage_ex'
|
46
|
+
require_relative 'cuadra_ai/models/paginated_response_ex_list_model_ex'
|
47
|
+
require_relative 'cuadra_ai/models/oauth_token'
|
48
|
+
require_relative 'cuadra_ai/models/oauth_provider_error'
|
49
|
+
|
50
|
+
# Exceptions
|
51
|
+
require_relative 'cuadra_ai/exceptions/api_exception'
|
52
|
+
require_relative 'cuadra_ai/exceptions/error_response_exception'
|
53
|
+
require_relative 'cuadra_ai/exceptions/oauth_provider_exception'
|
54
|
+
|
55
|
+
require_relative 'cuadra_ai/configuration'
|
56
|
+
|
57
|
+
# Controllers
|
58
|
+
require_relative 'cuadra_ai/controllers/base_controller'
|
59
|
+
require_relative 'cuadra_ai/controllers/chat_controller'
|
60
|
+
require_relative 'cuadra_ai/controllers/models_controller'
|
61
|
+
require_relative 'cuadra_ai/controllers/embeds_controller'
|
62
|
+
require_relative 'cuadra_ai/controllers/usage_controller'
|
63
|
+
require_relative 'cuadra_ai/controllers/oauth_authorization_controller'
|
metadata
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cuadra-ai-sdk
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Cuadra AI
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-07-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: apimatic_core_interfaces
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.2.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.2.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: apimatic_core
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.3.17
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.3.17
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: apimatic_faraday_client_adapter
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.1.4
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.1.4
|
55
|
+
description: Build AI agents with your own data, accelerate time-to-value, and create
|
56
|
+
solutions as unique as your business.
|
57
|
+
email:
|
58
|
+
- dan@cuadra.ai
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- LICENSE
|
64
|
+
- README.md
|
65
|
+
- lib/cuadra_ai.rb
|
66
|
+
- lib/cuadra_ai/api_helper.rb
|
67
|
+
- lib/cuadra_ai/client.rb
|
68
|
+
- lib/cuadra_ai/configuration.rb
|
69
|
+
- lib/cuadra_ai/controllers/base_controller.rb
|
70
|
+
- lib/cuadra_ai/controllers/chat_controller.rb
|
71
|
+
- lib/cuadra_ai/controllers/embeds_controller.rb
|
72
|
+
- lib/cuadra_ai/controllers/models_controller.rb
|
73
|
+
- lib/cuadra_ai/controllers/oauth_authorization_controller.rb
|
74
|
+
- lib/cuadra_ai/controllers/usage_controller.rb
|
75
|
+
- lib/cuadra_ai/exceptions/api_exception.rb
|
76
|
+
- lib/cuadra_ai/exceptions/error_response_exception.rb
|
77
|
+
- lib/cuadra_ai/exceptions/oauth_provider_exception.rb
|
78
|
+
- lib/cuadra_ai/http/api_response.rb
|
79
|
+
- lib/cuadra_ai/http/auth/oauth_2.rb
|
80
|
+
- lib/cuadra_ai/http/http_call_back.rb
|
81
|
+
- lib/cuadra_ai/http/http_method_enum.rb
|
82
|
+
- lib/cuadra_ai/http/http_request.rb
|
83
|
+
- lib/cuadra_ai/http/http_response.rb
|
84
|
+
- lib/cuadra_ai/logging/configuration/api_logging_configuration.rb
|
85
|
+
- lib/cuadra_ai/logging/sdk_logger.rb
|
86
|
+
- lib/cuadra_ai/models/base_model.rb
|
87
|
+
- lib/cuadra_ai/models/chat.rb
|
88
|
+
- lib/cuadra_ai/models/chat_response_ex.rb
|
89
|
+
- lib/cuadra_ai/models/content_ex.rb
|
90
|
+
- lib/cuadra_ai/models/embed.rb
|
91
|
+
- lib/cuadra_ai/models/embed_response_ex.rb
|
92
|
+
- lib/cuadra_ai/models/inline_data_ex.rb
|
93
|
+
- lib/cuadra_ai/models/model_ex.rb
|
94
|
+
- lib/cuadra_ai/models/oauth_provider_error.rb
|
95
|
+
- lib/cuadra_ai/models/oauth_token.rb
|
96
|
+
- lib/cuadra_ai/models/paginated_response_ex_list_model_ex.rb
|
97
|
+
- lib/cuadra_ai/models/tokens_ex.rb
|
98
|
+
- lib/cuadra_ai/models/total_usage_ex.rb
|
99
|
+
- lib/cuadra_ai/models/usage_calculation_ex.rb
|
100
|
+
- lib/cuadra_ai/models/usage_ex.rb
|
101
|
+
- lib/cuadra_ai/utilities/date_time_helper.rb
|
102
|
+
- lib/cuadra_ai/utilities/file_wrapper.rb
|
103
|
+
homepage: https://cuadra.ai/
|
104
|
+
licenses:
|
105
|
+
- MIT
|
106
|
+
metadata: {}
|
107
|
+
post_install_message:
|
108
|
+
rdoc_options: []
|
109
|
+
require_paths:
|
110
|
+
- lib
|
111
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '2.6'
|
116
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '0'
|
121
|
+
requirements: []
|
122
|
+
rubygems_version: 3.1.6
|
123
|
+
signing_key:
|
124
|
+
specification_version: 4
|
125
|
+
summary: Cuadra AI SDK
|
126
|
+
test_files: []
|