composio 0.1.8 → 0.1.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 953aa316be770c444ed3e7225b3ce1ce3ab7bb12522d23895c5f5395dd120479
4
- data.tar.gz: 2238ce5295754b4004e39507bc11f0ec7e31b939b02fe1cd0aedacb0ab5af664
3
+ metadata.gz: 5aecc3e5f9446b4ddffd0be14d28cee1934a0fbc7bdfd0035168c6a9c047987e
4
+ data.tar.gz: b4b3ee3a9224052e762f07e9e6285b0c0a2ee7e3c470e48602b794478c99f4d8
5
5
  SHA512:
6
- metadata.gz: 9151c65b1ec793c2d1e055f86c3c8c7a21f1f1b5472b692d65867d1de779e033ba2b55003ba4206b39c4e4ee3205f016666a62ac53bf7d03e25d494e6e27345a
7
- data.tar.gz: b352e4ec843c6f7add2e991b4074ad63010e1108a60d6016b499e0f95f3bd91c3eedb8ca7bb679cbb7189a4059c3b3a790c2c8b3ff4c046bd62a0461cbf0ec49
6
+ metadata.gz: 579f87f534abdbcd8ddbdfa8ac9c5a38e3514fcbcbda42b702e044fa790a526e163b3b1a233473c50eb419c51adcdd19412a83801994b0876cb8e0a29c71d4fe
7
+ data.tar.gz: 929b082c49ea2a0e881bb50e2adc3fcb2b86a70f27e64fd0c03104d5baf929b3551c65e4c1e17250c96246f1f769046b2af4ec88148216f48502064d417b3e3d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- composio (0.1.8)
4
+ composio (0.1.10)
5
5
  faraday (>= 1.0.1, < 3.0)
6
6
  faraday-multipart (~> 1.0, >= 1.0.4)
7
7
 
@@ -49,7 +49,7 @@ GEM
49
49
  rspec-core (~> 3.13.0)
50
50
  rspec-expectations (~> 3.13.0)
51
51
  rspec-mocks (~> 3.13.0)
52
- rspec-core (3.13.1)
52
+ rspec-core (3.13.2)
53
53
  rspec-support (~> 3.13.0)
54
54
  rspec-expectations (3.13.3)
55
55
  diff-lcs (>= 1.2.0, < 2.0)
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Composio SDK: Equip your agent with high-quality tools and build your real-world usecase
8
8
 
9
- [![npm](https://img.shields.io/badge/gem-v0.1.8-blue)](https://rubygems.org/gems/composio/versions/0.1.8)
9
+ [![npm](https://img.shields.io/badge/gem-v0.1.10-blue)](https://rubygems.org/gems/composio/versions/0.1.10)
10
10
  [![More Info](https://img.shields.io/badge/More%20Info-Click%20Here-orange)](https://composio.dev)
11
11
 
12
12
  </div>
@@ -78,7 +78,7 @@ Composio SDK: Equip your agent with high-quality tools and build your real-world
78
78
  Add to Gemfile:
79
79
 
80
80
  ```ruby
81
- gem 'composio', '~> 0.1.8'
81
+ gem 'composio', '~> 0.1.10'
82
82
  ```
83
83
 
84
84
  ## Getting Started<a id="getting-started"></a>
@@ -209,6 +209,15 @@ result = composio.actions.execute(
209
209
  entity_id: "string_example",
210
210
  endpoint: "string_example",
211
211
  input: {},
212
+ auth_config: {
213
+ "parameters" => [
214
+ {
215
+ "name" => "name_example",
216
+ "_in" => "_in_example",
217
+ "value" => "value_example",
218
+ }
219
+ ],
220
+ },
212
221
  text: "string_example",
213
222
  )
214
223
  p result
@@ -222,6 +231,7 @@ p result
222
231
  ##### entityId: `String`<a id="entityid-string"></a>
223
232
  ##### endpoint: `String`<a id="endpoint-string"></a>
224
233
  ##### input: `Object`<a id="input-object"></a>
234
+ ##### authConfig: [`CustomAuthDTO`](./lib/composio/models/custom_auth_dto.rb)<a id="authconfig-customauthdtolibcomposiomodelscustom_auth_dtorb"></a>
225
235
  ##### text: `String`<a id="text-string"></a>
226
236
  #### 🔄 Return<a id="🔄-return"></a>
227
237
 
@@ -26,16 +26,18 @@ module Composio
26
26
  # @param entity_id [String]
27
27
  # @param endpoint [String]
28
28
  # @param input [Object]
29
+ # @param auth_config [CustomAuthDTO]
29
30
  # @param text [String]
30
31
  # @param body [ActionExecutionReqDTO]
31
32
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
32
- def execute(action_id:, connected_account_id: SENTINEL, app_name: SENTINEL, entity_id: SENTINEL, endpoint: SENTINEL, input: SENTINEL, text: SENTINEL, extra: {})
33
+ def execute(action_id:, connected_account_id: SENTINEL, app_name: SENTINEL, entity_id: SENTINEL, endpoint: SENTINEL, input: SENTINEL, auth_config: SENTINEL, text: SENTINEL, extra: {})
33
34
  _body = {}
34
35
  _body[:connectedAccountId] = connected_account_id if connected_account_id != SENTINEL
35
36
  _body[:appName] = app_name if app_name != SENTINEL
36
37
  _body[:entityId] = entity_id if entity_id != SENTINEL
37
38
  _body[:endpoint] = endpoint if endpoint != SENTINEL
38
39
  _body[:input] = input if input != SENTINEL
40
+ _body[:authConfig] = auth_config if auth_config != SENTINEL
39
41
  _body[:text] = text if text != SENTINEL
40
42
  extra[:action_execution_req_dto] = _body if !_body.empty?
41
43
  api_response = execute_with_http_info_impl(action_id, extra)
@@ -52,16 +54,18 @@ module Composio
52
54
  # @param entity_id [String]
53
55
  # @param endpoint [String]
54
56
  # @param input [Object]
57
+ # @param auth_config [CustomAuthDTO]
55
58
  # @param text [String]
56
59
  # @param body [ActionExecutionReqDTO]
57
60
  # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
58
- def execute_with_http_info(action_id:, connected_account_id: SENTINEL, app_name: SENTINEL, entity_id: SENTINEL, endpoint: SENTINEL, input: SENTINEL, text: SENTINEL, extra: {})
61
+ def execute_with_http_info(action_id:, connected_account_id: SENTINEL, app_name: SENTINEL, entity_id: SENTINEL, endpoint: SENTINEL, input: SENTINEL, auth_config: SENTINEL, text: SENTINEL, extra: {})
59
62
  _body = {}
60
63
  _body[:connectedAccountId] = connected_account_id if connected_account_id != SENTINEL
61
64
  _body[:appName] = app_name if app_name != SENTINEL
62
65
  _body[:entityId] = entity_id if entity_id != SENTINEL
63
66
  _body[:endpoint] = endpoint if endpoint != SENTINEL
64
67
  _body[:input] = input if input != SENTINEL
68
+ _body[:authConfig] = auth_config if auth_config != SENTINEL
65
69
  _body[:text] = text if text != SENTINEL
66
70
  extra[:action_execution_req_dto] = _body if !_body.empty?
67
71
  execute_with_http_info_impl(action_id, extra)
@@ -21,6 +21,8 @@ module Composio
21
21
 
22
22
  attr_accessor :input
23
23
 
24
+ attr_accessor :auth_config
25
+
24
26
  attr_accessor :text
25
27
 
26
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -31,6 +33,7 @@ module Composio
31
33
  :'entity_id' => :'entityId',
32
34
  :'endpoint' => :'endpoint',
33
35
  :'input' => :'input',
36
+ :'auth_config' => :'authConfig',
34
37
  :'text' => :'text'
35
38
  }
36
39
  end
@@ -48,6 +51,7 @@ module Composio
48
51
  :'entity_id' => :'String',
49
52
  :'endpoint' => :'String',
50
53
  :'input' => :'Object',
54
+ :'auth_config' => :'CustomAuthDTO',
51
55
  :'text' => :'String'
52
56
  }
53
57
  end
@@ -93,6 +97,10 @@ module Composio
93
97
  self.input = attributes[:'input']
94
98
  end
95
99
 
100
+ if attributes.key?(:'auth_config')
101
+ self.auth_config = attributes[:'auth_config']
102
+ end
103
+
96
104
  if attributes.key?(:'text')
97
105
  self.text = attributes[:'text']
98
106
  end
@@ -121,6 +129,7 @@ module Composio
121
129
  entity_id == o.entity_id &&
122
130
  endpoint == o.endpoint &&
123
131
  input == o.input &&
132
+ auth_config == o.auth_config &&
124
133
  text == o.text
125
134
  end
126
135
 
@@ -133,7 +142,7 @@ module Composio
133
142
  # Calculates hash code according to all attributes.
134
143
  # @return [Integer] Hash code
135
144
  def hash
136
- [connected_account_id, app_name, entity_id, endpoint, input, text].hash
145
+ [connected_account_id, app_name, entity_id, endpoint, input, auth_config, text].hash
137
146
  end
138
147
 
139
148
  # Builds the object from hash
@@ -0,0 +1,240 @@
1
+ =begin
2
+ #Composio OpenAPI
3
+
4
+ #Composio SDK: Equip your agent with high-quality tools and build your real-world usecase
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ =end
8
+
9
+ require 'date'
10
+ require 'time'
11
+
12
+ module Composio
13
+ class CustomAuthDTO
14
+ attr_accessor :parameters
15
+
16
+ attr_accessor :base_url
17
+
18
+ attr_accessor :body
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'parameters' => :'parameters',
24
+ :'base_url' => :'base_url',
25
+ :'body' => :'body'
26
+ }
27
+ end
28
+
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'parameters' => :'Array<Parameter>',
38
+ :'base_url' => :'String',
39
+ :'body' => :'Object'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Composio::CustomAuthDTO` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Composio::CustomAuthDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'parameters')
65
+ if (value = attributes[:'parameters']).is_a?(Array)
66
+ self.parameters = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'base_url')
71
+ self.base_url = attributes[:'base_url']
72
+ end
73
+
74
+ if attributes.key?(:'body')
75
+ self.body = attributes[:'body']
76
+ end
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properties with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+ if @parameters.nil?
84
+ invalid_properties.push('invalid value for "parameters", parameters cannot be nil.')
85
+ end
86
+
87
+ invalid_properties
88
+ end
89
+
90
+ # Check to see if the all the properties in the model are valid
91
+ # @return true if the model is valid
92
+ def valid?
93
+ return false if @parameters.nil?
94
+ true
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] Object to be compared
99
+ def ==(o)
100
+ return true if self.equal?(o)
101
+ self.class == o.class &&
102
+ parameters == o.parameters &&
103
+ base_url == o.base_url &&
104
+ body == o.body
105
+ end
106
+
107
+ # @see the `==` method
108
+ # @param [Object] Object to be compared
109
+ def eql?(o)
110
+ self == o
111
+ end
112
+
113
+ # Calculates hash code according to all attributes.
114
+ # @return [Integer] Hash code
115
+ def hash
116
+ [parameters, base_url, body].hash
117
+ end
118
+
119
+ # Builds the object from hash
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ # @return [Object] Returns the model itself
122
+ def self.build_from_hash(attributes)
123
+ new.build_from_hash(attributes)
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def build_from_hash(attributes)
130
+ return nil unless attributes.is_a?(Hash)
131
+ attributes = attributes.transform_keys(&:to_sym)
132
+ self.class.openapi_types.each_pair do |key, type|
133
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
+ self.send("#{key}=", nil)
135
+ elsif type =~ /\AArray<(.*)>/i
136
+ # check to ensure the input is an array given that the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ end
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :Time
156
+ Time.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :Boolean
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ # models (e.g. Pet) or oneOf
187
+ klass = Composio.const_get(type)
188
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ # Returns the string representation of the object
193
+ # @return [String] String presentation of the object
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_hash (backward compatibility)
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ if value.nil?
211
+ is_nullable = self.class.openapi_nullable.include?(attr)
212
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
213
+ end
214
+
215
+ hash[param] = _to_hash(value)
216
+ end
217
+ hash
218
+ end
219
+
220
+ # Outputs non-array value in the form of hash
221
+ # For object, use to_hash. Otherwise, just return the value
222
+ # @param [Object] value Any valid value
223
+ # @return [Hash] Returns the value in the form of hash
224
+ def _to_hash(value)
225
+ if value.is_a?(Array)
226
+ value.compact.map { |v| _to_hash(v) }
227
+ elsif value.is_a?(Hash)
228
+ {}.tap do |hash|
229
+ value.each { |k, v| hash[k] = _to_hash(v) }
230
+ end
231
+ elsif value.respond_to? :to_hash
232
+ value.to_hash
233
+ else
234
+ value
235
+ end
236
+ end
237
+
238
+ end
239
+
240
+ end
@@ -15,9 +15,10 @@ module Composio
15
15
  STARTER = "STARTER".freeze
16
16
  GROWTH = "GROWTH".freeze
17
17
  ENTERPRISE = "ENTERPRISE".freeze
18
+ STARTUP = "STARTUP".freeze
18
19
 
19
20
  def self.all_vars
20
- @all_vars ||= [HOBBY, STARTER, GROWTH, ENTERPRISE].freeze
21
+ @all_vars ||= [HOBBY, STARTER, GROWTH, ENTERPRISE, STARTUP].freeze
21
22
  end
22
23
 
23
24
  # Builds the enum from string
@@ -7,5 +7,5 @@ The version of the OpenAPI document: 1.0.0
7
7
  =end
8
8
 
9
9
  module Composio
10
- VERSION = '0.1.8'
10
+ VERSION = '0.1.10'
11
11
  end
data/lib/composio.rb CHANGED
@@ -59,6 +59,7 @@ require 'composio/models/connector_list_item_dto_updated_at'
59
59
  require 'composio/models/create_checkout_session_req_dto'
60
60
  require 'composio/models/create_connector_payload_dto'
61
61
  require 'composio/models/create_connector_payload_dto_use_composio_auth'
62
+ require 'composio/models/custom_auth_dto'
62
63
  require 'composio/models/data'
63
64
  require 'composio/models/delete_api_key_req_dto'
64
65
  require 'composio/models/delete_api_key_response_dto'
@@ -49,6 +49,12 @@ describe Composio::ActionExecutionReqDTO do
49
49
  end
50
50
  end
51
51
 
52
+ describe 'test attribute "auth_config"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
55
+ end
56
+ end
57
+
52
58
  describe 'test attribute "text"' do
53
59
  it 'should work' do
54
60
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #Composio OpenAPI
3
+
4
+ #Composio SDK: Equip your agent with high-quality tools and build your real-world usecase
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ =end
8
+
9
+ require 'spec_helper'
10
+ require 'json'
11
+ require 'date'
12
+
13
+ # Unit tests for Composio::CustomAuthDTO
14
+ describe Composio::CustomAuthDTO do
15
+ let(:instance) { Composio::CustomAuthDTO.new }
16
+
17
+ describe 'test an instance of CustomAuthDTO' do
18
+ it 'should create an instance of CustomAuthDTO' do
19
+ expect(instance).to be_instance_of(Composio::CustomAuthDTO)
20
+ end
21
+ end
22
+ describe 'test attribute "parameters"' do
23
+ it 'should work' do
24
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
25
+ end
26
+ end
27
+
28
+ describe 'test attribute "base_url"' do
29
+ it 'should work' do
30
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
31
+ end
32
+ end
33
+
34
+ describe 'test attribute "body"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: composio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konfig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-09 00:00:00.000000000 Z
11
+ date: 2024-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -144,6 +144,7 @@ files:
144
144
  - lib/composio/models/create_checkout_session_req_dto.rb
145
145
  - lib/composio/models/create_connector_payload_dto.rb
146
146
  - lib/composio/models/create_connector_payload_dto_use_composio_auth.rb
147
+ - lib/composio/models/custom_auth_dto.rb
147
148
  - lib/composio/models/data.rb
148
149
  - lib/composio/models/delete_api_key_req_dto.rb
149
150
  - lib/composio/models/delete_api_key_response_dto.rb
@@ -305,6 +306,7 @@ files:
305
306
  - spec/models/create_checkout_session_req_dto_spec.rb
306
307
  - spec/models/create_connector_payload_dto_spec.rb
307
308
  - spec/models/create_connector_payload_dto_use_composio_auth_spec.rb
309
+ - spec/models/custom_auth_dto_spec.rb
308
310
  - spec/models/data_spec.rb
309
311
  - spec/models/delete_api_key_req_dto_spec.rb
310
312
  - spec/models/delete_api_key_response_dto_spec.rb
@@ -461,6 +463,7 @@ test_files:
461
463
  - spec/models/track_client_req_dto_spec.rb
462
464
  - spec/models/action_metadata_type_spec.rb
463
465
  - spec/models/toggle_trigger_state_response_dto_spec.rb
466
+ - spec/models/custom_auth_dto_spec.rb
464
467
  - spec/models/connected_account_response_dto_spec.rb
465
468
  - spec/models/verify_magic_link_res_dto_spec.rb
466
469
  - spec/models/ingest_data_response_dto_spec.rb