composio 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (270) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -0
  3. data/Gemfile.lock +93 -0
  4. data/README.md +1779 -0
  5. data/Rakefile +10 -0
  6. data/composio.gemspec +39 -0
  7. data/header.png +0 -0
  8. data/lib/composio/api/actions_api.rb +1062 -0
  9. data/lib/composio/api/api_keys_api.rb +268 -0
  10. data/lib/composio/api/apps_api.rb +266 -0
  11. data/lib/composio/api/auth_api.rb +370 -0
  12. data/lib/composio/api/cli_api.rb +266 -0
  13. data/lib/composio/api/connections_api.rb +591 -0
  14. data/lib/composio/api/integrations_api.rb +578 -0
  15. data/lib/composio/api/logs_api.rb +166 -0
  16. data/lib/composio/api/metadata_api.rb +180 -0
  17. data/lib/composio/api/team_api.rb +188 -0
  18. data/lib/composio/api/triggers_api.rb +1222 -0
  19. data/lib/composio/api_client.rb +436 -0
  20. data/lib/composio/api_client_custom.rb +14 -0
  21. data/lib/composio/api_error.rb +53 -0
  22. data/lib/composio/configuration.rb +330 -0
  23. data/lib/composio/models/action_details.rb +357 -0
  24. data/lib/composio/models/action_details_minimal.rb +329 -0
  25. data/lib/composio/models/action_execution_req_dto.rb +260 -0
  26. data/lib/composio/models/action_execution_res_dto.rb +238 -0
  27. data/lib/composio/models/action_log_data.rb +345 -0
  28. data/lib/composio/models/action_metadata.rb +402 -0
  29. data/lib/composio/models/action_metadata_type.rb +101 -0
  30. data/lib/composio/models/actions_controller_v1.rb +222 -0
  31. data/lib/composio/models/actions_list_response_dto.rb +250 -0
  32. data/lib/composio/models/actions_minimal_list_response_dto.rb +250 -0
  33. data/lib/composio/models/actions_query_dto.rb +300 -0
  34. data/lib/composio/models/active_trigger_instance.rb +311 -0
  35. data/lib/composio/models/active_triggers_res_dto.rb +238 -0
  36. data/lib/composio/models/add_repo_url_req_dto.rb +221 -0
  37. data/lib/composio/models/add_repo_url_res_dto.rb +221 -0
  38. data/lib/composio/models/add_tools_req_dto.rb +251 -0
  39. data/lib/composio/models/add_tools_request_dto.rb +251 -0
  40. data/lib/composio/models/api_key_res_dto.rb +323 -0
  41. data/lib/composio/models/app_info_response_dto.rb +323 -0
  42. data/lib/composio/models/app_list_res_dto.rb +238 -0
  43. data/lib/composio/models/app_query_dto.rb +216 -0
  44. data/lib/composio/models/auth_config_dto.rb +229 -0
  45. data/lib/composio/models/cli_query_dto.rb +231 -0
  46. data/lib/composio/models/connected_account_response_dto.rb +331 -0
  47. data/lib/composio/models/connection_params.rb +395 -0
  48. data/lib/composio/models/connection_params_for_account.rb +323 -0
  49. data/lib/composio/models/connection_params_headers.rb +224 -0
  50. data/lib/composio/models/connection_with_app_data.rb +358 -0
  51. data/lib/composio/models/connection_with_app_data_created_at.rb +101 -0
  52. data/lib/composio/models/connector_list_item_dto.rb +376 -0
  53. data/lib/composio/models/connector_list_item_dto_created_at.rb +102 -0
  54. data/lib/composio/models/connector_list_item_dto_updated_at.rb +102 -0
  55. data/lib/composio/models/create_connector_payload_dto.rb +274 -0
  56. data/lib/composio/models/create_connector_payload_dto_use_composio_auth.rb +226 -0
  57. data/lib/composio/models/delete_api_key_req_dto.rb +221 -0
  58. data/lib/composio/models/delete_api_key_response_dto.rb +221 -0
  59. data/lib/composio/models/delete_row_apidto.rb +236 -0
  60. data/lib/composio/models/delete_tools_req_dto.rb +221 -0
  61. data/lib/composio/models/delete_tools_res_dto.rb +221 -0
  62. data/lib/composio/models/direct_execute_req_dto.rb +262 -0
  63. data/lib/composio/models/enable_trigger_body_dto.rb +221 -0
  64. data/lib/composio/models/enable_trigger_params_dto.rb +236 -0
  65. data/lib/composio/models/execute_action_res_dto.rb +236 -0
  66. data/lib/composio/models/generate_api_key_req_dto.rb +221 -0
  67. data/lib/composio/models/generate_cli_session_req_dto.rb +221 -0
  68. data/lib/composio/models/generate_cli_session_res_dto.rb +221 -0
  69. data/lib/composio/models/get_active_triggers_query_dto.rb +276 -0
  70. data/lib/composio/models/get_cli_session_res_dto.rb +236 -0
  71. data/lib/composio/models/get_connections_query_dto.rb +287 -0
  72. data/lib/composio/models/get_connections_response_dto.rb +250 -0
  73. data/lib/composio/models/get_connections_result.rb +236 -0
  74. data/lib/composio/models/get_connector_info_res_dto.rb +417 -0
  75. data/lib/composio/models/get_connector_list_res_dto.rb +253 -0
  76. data/lib/composio/models/get_logs_dto.rb +288 -0
  77. data/lib/composio/models/get_logs_query_dto.rb +246 -0
  78. data/lib/composio/models/get_trigger_params_dto.rb +221 -0
  79. data/lib/composio/models/get_trigger_response_dto.rb +230 -0
  80. data/lib/composio/models/handle_trigger_body_dto.rb +221 -0
  81. data/lib/composio/models/handle_trigger_params_dto.rb +236 -0
  82. data/lib/composio/models/identify_client_req_dto.rb +231 -0
  83. data/lib/composio/models/identify_client_res_dto.rb +251 -0
  84. data/lib/composio/models/initiate_connection_payload_dto.rb +281 -0
  85. data/lib/composio/models/initiate_connection_response.rb +272 -0
  86. data/lib/composio/models/invite_member_req_dto.rb +251 -0
  87. data/lib/composio/models/job_status.rb +37 -0
  88. data/lib/composio/models/list_triggers_query_dto.rb +246 -0
  89. data/lib/composio/models/logout_res_dto.rb +221 -0
  90. data/lib/composio/models/logs_res_dto.rb +233 -0
  91. data/lib/composio/models/magic_link_req_dto.rb +236 -0
  92. data/lib/composio/models/magic_link_res_dto.rb +220 -0
  93. data/lib/composio/models/member_res_dto.rb +305 -0
  94. data/lib/composio/models/meta.rb +220 -0
  95. data/lib/composio/models/meta_app.rb +220 -0
  96. data/lib/composio/models/metadata_query_dto.rb +221 -0
  97. data/lib/composio/models/metadata_req_dto.rb +232 -0
  98. data/lib/composio/models/o_auth2_callback_query_dto.rb +220 -0
  99. data/lib/composio/models/open_api_spec_list_res_dto.rb +436 -0
  100. data/lib/composio/models/page_info.rb +338 -0
  101. data/lib/composio/models/page_info_dto.rb +248 -0
  102. data/lib/composio/models/patch_connector_req_dto.rb +226 -0
  103. data/lib/composio/models/patch_connector_res_dto.rb +221 -0
  104. data/lib/composio/models/proxy_execution_req_dto.rb +234 -0
  105. data/lib/composio/models/redirect_uri_dto.rb +215 -0
  106. data/lib/composio/models/set_callback_url_body_dto.rb +221 -0
  107. data/lib/composio/models/single_app_info_res_dto.rb +394 -0
  108. data/lib/composio/models/single_trigger_res_dto.rb +336 -0
  109. data/lib/composio/models/status.rb +37 -0
  110. data/lib/composio/models/switch_trigger_status_body_dto.rb +221 -0
  111. data/lib/composio/models/switch_trigger_status_params_dto.rb +221 -0
  112. data/lib/composio/models/time.rb +41 -0
  113. data/lib/composio/models/toggle_connected_account_response_dto.rb +220 -0
  114. data/lib/composio/models/toggle_trigger_state_response_dto.rb +220 -0
  115. data/lib/composio/models/tools_execute_req_dto.rb +275 -0
  116. data/lib/composio/models/track_client_req_dto.rb +240 -0
  117. data/lib/composio/models/track_client_res_dto.rb +221 -0
  118. data/lib/composio/models/trigger_config.rb +237 -0
  119. data/lib/composio/models/trigger_instance_params_dto.rb +221 -0
  120. data/lib/composio/models/trigger_log_data.rb +345 -0
  121. data/lib/composio/models/trigger_log_item_dto.rb +336 -0
  122. data/lib/composio/models/trigger_logs_res_dto.rb +236 -0
  123. data/lib/composio/models/trigger_metadata.rb +402 -0
  124. data/lib/composio/models/trigger_metadata_dto.rb +347 -0
  125. data/lib/composio/models/trigger_metadata_type.rb +101 -0
  126. data/lib/composio/models/trigger_res_dto.rb +361 -0
  127. data/lib/composio/models/trigger_response_dto.rb +241 -0
  128. data/lib/composio/models/trigger_toggle_info_response_dto.rb +221 -0
  129. data/lib/composio/models/triggers_enabled_toggle_req_dto.rb +221 -0
  130. data/lib/composio/models/triggers_enabled_toggle_res_dto.rb +221 -0
  131. data/lib/composio/models/type.rb +37 -0
  132. data/lib/composio/models/user_git_user_info.rb +230 -0
  133. data/lib/composio/models/verify_cli_code_res_dto.rb +251 -0
  134. data/lib/composio/models/verify_magic_link_data_dto.rb +263 -0
  135. data/lib/composio/models/verify_magic_link_req_dto.rb +221 -0
  136. data/lib/composio/models/verify_magic_link_res_dto.rb +230 -0
  137. data/lib/composio/models/webhook_url_response_dto.rb +231 -0
  138. data/lib/composio/version.rb +11 -0
  139. data/lib/composio.rb +214 -0
  140. data/spec/api/actions_api_spec.rb +164 -0
  141. data/spec/api/api_keys_api_spec.rb +61 -0
  142. data/spec/api/apps_api_spec.rb +63 -0
  143. data/spec/api/auth_api_spec.rb +73 -0
  144. data/spec/api/cli_api_spec.rb +63 -0
  145. data/spec/api/connections_api_spec.rb +103 -0
  146. data/spec/api/integrations_api_spec.rb +96 -0
  147. data/spec/api/logs_api_spec.rb +48 -0
  148. data/spec/api/metadata_api_spec.rb +50 -0
  149. data/spec/api/team_api_spec.rb +50 -0
  150. data/spec/api/triggers_api_spec.rb +188 -0
  151. data/spec/api_client_spec.rb +191 -0
  152. data/spec/configuration_spec.rb +38 -0
  153. data/spec/models/action_details_minimal_spec.rb +76 -0
  154. data/spec/models/action_details_spec.rb +88 -0
  155. data/spec/models/action_execution_req_dto_spec.rb +58 -0
  156. data/spec/models/action_execution_res_dto_spec.rb +40 -0
  157. data/spec/models/action_log_data_spec.rb +70 -0
  158. data/spec/models/action_metadata_spec.rb +88 -0
  159. data/spec/models/action_metadata_type_spec.rb +25 -0
  160. data/spec/models/actions_controller_v1_spec.rb +28 -0
  161. data/spec/models/actions_list_response_dto_spec.rb +40 -0
  162. data/spec/models/actions_minimal_list_response_dto_spec.rb +40 -0
  163. data/spec/models/actions_query_dto_spec.rb +82 -0
  164. data/spec/models/active_trigger_instance_spec.rb +70 -0
  165. data/spec/models/active_triggers_res_dto_spec.rb +34 -0
  166. data/spec/models/add_repo_url_req_dto_spec.rb +28 -0
  167. data/spec/models/add_repo_url_res_dto_spec.rb +28 -0
  168. data/spec/models/add_tools_req_dto_spec.rb +40 -0
  169. data/spec/models/add_tools_request_dto_spec.rb +40 -0
  170. data/spec/models/api_key_res_dto_spec.rb +52 -0
  171. data/spec/models/app_info_response_dto_spec.rb +70 -0
  172. data/spec/models/app_list_res_dto_spec.rb +34 -0
  173. data/spec/models/app_query_dto_spec.rb +28 -0
  174. data/spec/models/auth_config_dto_spec.rb +34 -0
  175. data/spec/models/cli_query_dto_spec.rb +34 -0
  176. data/spec/models/connected_account_response_dto_spec.rb +82 -0
  177. data/spec/models/connection_params_for_account_spec.rb +100 -0
  178. data/spec/models/connection_params_headers_spec.rb +34 -0
  179. data/spec/models/connection_params_spec.rb +118 -0
  180. data/spec/models/connection_with_app_data_created_at_spec.rb +25 -0
  181. data/spec/models/connection_with_app_data_spec.rb +100 -0
  182. data/spec/models/connector_list_item_dto_created_at_spec.rb +25 -0
  183. data/spec/models/connector_list_item_dto_spec.rb +94 -0
  184. data/spec/models/connector_list_item_dto_updated_at_spec.rb +25 -0
  185. data/spec/models/create_connector_payload_dto_spec.rb +58 -0
  186. data/spec/models/create_connector_payload_dto_use_composio_auth_spec.rb +22 -0
  187. data/spec/models/delete_api_key_req_dto_spec.rb +28 -0
  188. data/spec/models/delete_api_key_response_dto_spec.rb +28 -0
  189. data/spec/models/delete_row_apidto_spec.rb +34 -0
  190. data/spec/models/delete_tools_req_dto_spec.rb +28 -0
  191. data/spec/models/delete_tools_res_dto_spec.rb +28 -0
  192. data/spec/models/direct_execute_req_dto_spec.rb +46 -0
  193. data/spec/models/enable_trigger_body_dto_spec.rb +28 -0
  194. data/spec/models/enable_trigger_params_dto_spec.rb +34 -0
  195. data/spec/models/execute_action_res_dto_spec.rb +34 -0
  196. data/spec/models/generate_api_key_req_dto_spec.rb +28 -0
  197. data/spec/models/generate_cli_session_req_dto_spec.rb +28 -0
  198. data/spec/models/generate_cli_session_res_dto_spec.rb +28 -0
  199. data/spec/models/get_active_triggers_query_dto_spec.rb +64 -0
  200. data/spec/models/get_cli_session_res_dto_spec.rb +34 -0
  201. data/spec/models/get_connections_query_dto_spec.rb +76 -0
  202. data/spec/models/get_connections_response_dto_spec.rb +40 -0
  203. data/spec/models/get_connections_result_spec.rb +34 -0
  204. data/spec/models/get_connector_info_res_dto_spec.rb +106 -0
  205. data/spec/models/get_connector_list_res_dto_spec.rb +40 -0
  206. data/spec/models/get_logs_dto_spec.rb +70 -0
  207. data/spec/models/get_logs_query_dto_spec.rb +46 -0
  208. data/spec/models/get_trigger_params_dto_spec.rb +28 -0
  209. data/spec/models/get_trigger_response_dto_spec.rb +34 -0
  210. data/spec/models/handle_trigger_body_dto_spec.rb +28 -0
  211. data/spec/models/handle_trigger_params_dto_spec.rb +34 -0
  212. data/spec/models/identify_client_req_dto_spec.rb +34 -0
  213. data/spec/models/identify_client_res_dto_spec.rb +40 -0
  214. data/spec/models/initiate_connection_payload_dto_spec.rb +46 -0
  215. data/spec/models/initiate_connection_response_spec.rb +34 -0
  216. data/spec/models/invite_member_req_dto_spec.rb +40 -0
  217. data/spec/models/job_status_spec.rb +22 -0
  218. data/spec/models/list_triggers_query_dto_spec.rb +46 -0
  219. data/spec/models/logout_res_dto_spec.rb +28 -0
  220. data/spec/models/logs_res_dto_spec.rb +34 -0
  221. data/spec/models/magic_link_req_dto_spec.rb +34 -0
  222. data/spec/models/magic_link_res_dto_spec.rb +28 -0
  223. data/spec/models/member_res_dto_spec.rb +52 -0
  224. data/spec/models/meta_app_spec.rb +28 -0
  225. data/spec/models/meta_spec.rb +28 -0
  226. data/spec/models/metadata_query_dto_spec.rb +28 -0
  227. data/spec/models/metadata_req_dto_spec.rb +34 -0
  228. data/spec/models/o_auth2_callback_query_dto_spec.rb +28 -0
  229. data/spec/models/open_api_spec_list_res_dto_spec.rb +94 -0
  230. data/spec/models/page_info_dto_spec.rb +40 -0
  231. data/spec/models/page_info_spec.rb +46 -0
  232. data/spec/models/patch_connector_req_dto_spec.rb +34 -0
  233. data/spec/models/patch_connector_res_dto_spec.rb +28 -0
  234. data/spec/models/proxy_execution_req_dto_spec.rb +34 -0
  235. data/spec/models/redirect_uri_dto_spec.rb +28 -0
  236. data/spec/models/set_callback_url_body_dto_spec.rb +28 -0
  237. data/spec/models/single_app_info_res_dto_spec.rb +118 -0
  238. data/spec/models/single_trigger_res_dto_spec.rb +76 -0
  239. data/spec/models/status_spec.rb +22 -0
  240. data/spec/models/switch_trigger_status_body_dto_spec.rb +28 -0
  241. data/spec/models/switch_trigger_status_params_dto_spec.rb +28 -0
  242. data/spec/models/time_spec.rb +22 -0
  243. data/spec/models/toggle_connected_account_response_dto_spec.rb +28 -0
  244. data/spec/models/toggle_trigger_state_response_dto_spec.rb +28 -0
  245. data/spec/models/tools_execute_req_dto_spec.rb +58 -0
  246. data/spec/models/track_client_req_dto_spec.rb +40 -0
  247. data/spec/models/track_client_res_dto_spec.rb +28 -0
  248. data/spec/models/trigger_config_spec.rb +34 -0
  249. data/spec/models/trigger_instance_params_dto_spec.rb +28 -0
  250. data/spec/models/trigger_log_data_spec.rb +70 -0
  251. data/spec/models/trigger_log_item_dto_spec.rb +82 -0
  252. data/spec/models/trigger_logs_res_dto_spec.rb +34 -0
  253. data/spec/models/trigger_metadata_dto_spec.rb +82 -0
  254. data/spec/models/trigger_metadata_spec.rb +94 -0
  255. data/spec/models/trigger_metadata_type_spec.rb +25 -0
  256. data/spec/models/trigger_res_dto_spec.rb +100 -0
  257. data/spec/models/trigger_response_dto_spec.rb +40 -0
  258. data/spec/models/trigger_toggle_info_response_dto_spec.rb +28 -0
  259. data/spec/models/triggers_enabled_toggle_req_dto_spec.rb +28 -0
  260. data/spec/models/triggers_enabled_toggle_res_dto_spec.rb +28 -0
  261. data/spec/models/type_spec.rb +22 -0
  262. data/spec/models/user_git_user_info_spec.rb +34 -0
  263. data/spec/models/verify_cli_code_res_dto_spec.rb +40 -0
  264. data/spec/models/verify_magic_link_data_dto_spec.rb +46 -0
  265. data/spec/models/verify_magic_link_req_dto_spec.rb +28 -0
  266. data/spec/models/verify_magic_link_res_dto_spec.rb +34 -0
  267. data/spec/models/webhook_url_response_dto_spec.rb +34 -0
  268. data/spec/simple_test_spec.rb +52 -0
  269. data/spec/spec_helper.rb +107 -0
  270. metadata +504 -0
@@ -0,0 +1,370 @@
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 'cgi'
10
+
11
+ module Composio
12
+ class AuthApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+
19
+ # Identify client
20
+ #
21
+ # @param hash [String] The hash of the client
22
+ # @param framework [String] The framework used by the client
23
+ # @param body [IdentifyClientReqDTO]
24
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
25
+ def identify_client_operation(hash:, framework: SENTINEL, extra: {})
26
+ _body = {}
27
+ _body[:hash] = hash if hash != SENTINEL
28
+ _body[:framework] = framework if framework != SENTINEL
29
+ extra[:identify_client_req_dto] = _body if !_body.empty?
30
+ api_response = identify_client_operation_with_http_info_impl(extra)
31
+ api_response.data
32
+ end
33
+
34
+ # Identify client
35
+ #
36
+ # @param hash [String] The hash of the client
37
+ # @param framework [String] The framework used by the client
38
+ # @param body [IdentifyClientReqDTO]
39
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
40
+ def identify_client_operation_with_http_info(hash:, framework: SENTINEL, extra: {})
41
+ _body = {}
42
+ _body[:hash] = hash if hash != SENTINEL
43
+ _body[:framework] = framework if framework != SENTINEL
44
+ extra[:identify_client_req_dto] = _body if !_body.empty?
45
+ identify_client_operation_with_http_info_impl(extra)
46
+ end
47
+
48
+ # Identify client
49
+ # @param [Hash] opts the optional parameters
50
+ # @option opts [IdentifyClientReqDTO] :identify_client_req_dto IdentifyClientReqDTO
51
+ # @return [IdentifyClientResDTO]
52
+ private def identify_client_operation_impl(opts = {})
53
+ data, _status_code, _headers = identify_client_operation_with_http_info(opts)
54
+ data
55
+ end
56
+
57
+ # Identify client
58
+ # @param [Hash] opts the optional parameters
59
+ # @option opts [IdentifyClientReqDTO] :identify_client_req_dto IdentifyClientReqDTO
60
+ # @return [APIResponse] data is IdentifyClientResDTO, status code, headers and response
61
+ private def identify_client_operation_with_http_info_impl(opts = {})
62
+ if @api_client.config.debugging
63
+ @api_client.config.logger.debug 'Calling API: AuthApi.identify_client_operation ...'
64
+ end
65
+ # resource path
66
+ local_var_path = '/api/v1/client/auth/identify'
67
+
68
+ # query parameters
69
+ query_params = opts[:query_params] || {}
70
+
71
+ # header parameters
72
+ header_params = opts[:header_params] || {}
73
+ # HTTP header 'Accept' (if needed)
74
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
75
+ # HTTP header 'Content-Type'
76
+ content_type = @api_client.select_header_content_type(['application/json'])
77
+ if !content_type.nil?
78
+ header_params['Content-Type'] = content_type
79
+ end
80
+
81
+ # form parameters
82
+ form_params = opts[:form_params] || {}
83
+
84
+ # http body (model)
85
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'identify_client_req_dto'])
86
+
87
+ # return_type
88
+ return_type = opts[:debug_return_type] || 'IdentifyClientResDTO'
89
+
90
+ # auth_names
91
+ auth_names = opts[:debug_auth_names] || ['api_key']
92
+
93
+ new_options = opts.merge(
94
+ :operation => :"AuthApi.identify_client_operation",
95
+ :header_params => header_params,
96
+ :query_params => query_params,
97
+ :form_params => form_params,
98
+ :body => post_body,
99
+ :auth_names => auth_names,
100
+ :return_type => return_type
101
+ )
102
+
103
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug "API called: AuthApi#identify_client_operation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
106
+ end
107
+ APIResponse::new(data, status_code, headers, response)
108
+ end
109
+
110
+
111
+ # Send magic link
112
+ #
113
+ # @param email [String] The email of the user
114
+ # @param verify_host [String] The frontend host of the user
115
+ # @param body [MagicLinkReqDTO]
116
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
117
+ def send_magic_link(email:, verify_host:, extra: {})
118
+ _body = {}
119
+ _body[:email] = email if email != SENTINEL
120
+ _body[:verifyHost] = verify_host if verify_host != SENTINEL
121
+ extra[:magic_link_req_dto] = _body if !_body.empty?
122
+ api_response = send_magic_link_with_http_info_impl(extra)
123
+ api_response.data
124
+ end
125
+
126
+ # Send magic link
127
+ #
128
+ # @param email [String] The email of the user
129
+ # @param verify_host [String] The frontend host of the user
130
+ # @param body [MagicLinkReqDTO]
131
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
132
+ def send_magic_link_with_http_info(email:, verify_host:, extra: {})
133
+ _body = {}
134
+ _body[:email] = email if email != SENTINEL
135
+ _body[:verifyHost] = verify_host if verify_host != SENTINEL
136
+ extra[:magic_link_req_dto] = _body if !_body.empty?
137
+ send_magic_link_with_http_info_impl(extra)
138
+ end
139
+
140
+ # Send magic link
141
+ # @param [Hash] opts the optional parameters
142
+ # @option opts [MagicLinkReqDTO] :magic_link_req_dto MagicLinkReqDTO
143
+ # @return [MagicLinkResDTO]
144
+ private def send_magic_link_impl(opts = {})
145
+ data, _status_code, _headers = send_magic_link_with_http_info(opts)
146
+ data
147
+ end
148
+
149
+ # Send magic link
150
+ # @param [Hash] opts the optional parameters
151
+ # @option opts [MagicLinkReqDTO] :magic_link_req_dto MagicLinkReqDTO
152
+ # @return [APIResponse] data is MagicLinkResDTO, status code, headers and response
153
+ private def send_magic_link_with_http_info_impl(opts = {})
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug 'Calling API: AuthApi.send_magic_link ...'
156
+ end
157
+ # resource path
158
+ local_var_path = '/api/v1/client/auth/send_magic_link'
159
+
160
+ # query parameters
161
+ query_params = opts[:query_params] || {}
162
+
163
+ # header parameters
164
+ header_params = opts[:header_params] || {}
165
+ # HTTP header 'Accept' (if needed)
166
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
167
+ # HTTP header 'Content-Type'
168
+ content_type = @api_client.select_header_content_type(['application/json'])
169
+ if !content_type.nil?
170
+ header_params['Content-Type'] = content_type
171
+ end
172
+
173
+ # form parameters
174
+ form_params = opts[:form_params] || {}
175
+
176
+ # http body (model)
177
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'magic_link_req_dto'])
178
+
179
+ # return_type
180
+ return_type = opts[:debug_return_type] || 'MagicLinkResDTO'
181
+
182
+ # auth_names
183
+ auth_names = opts[:debug_auth_names] || ['api_key']
184
+
185
+ new_options = opts.merge(
186
+ :operation => :"AuthApi.send_magic_link",
187
+ :header_params => header_params,
188
+ :query_params => query_params,
189
+ :form_params => form_params,
190
+ :body => post_body,
191
+ :auth_names => auth_names,
192
+ :return_type => return_type
193
+ )
194
+
195
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
196
+ if @api_client.config.debugging
197
+ @api_client.config.logger.debug "API called: AuthApi#send_magic_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
198
+ end
199
+ APIResponse::new(data, status_code, headers, response)
200
+ end
201
+
202
+
203
+ # Logout API
204
+ #
205
+ # Logout the user and clear the server side session
206
+ #
207
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
208
+ def user_logout(extra: {})
209
+ api_response = user_logout_with_http_info_impl(extra)
210
+ api_response.data
211
+ end
212
+
213
+ # Logout API
214
+ #
215
+ # Logout the user and clear the server side session
216
+ #
217
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
218
+ def user_logout_with_http_info(extra: {})
219
+ user_logout_with_http_info_impl(extra)
220
+ end
221
+
222
+ # Logout API
223
+ # Logout the user and clear the server side session
224
+ # @param [Hash] opts the optional parameters
225
+ # @return [LogoutResDTO]
226
+ private def user_logout_impl(opts = {})
227
+ data, _status_code, _headers = user_logout_with_http_info(opts)
228
+ data
229
+ end
230
+
231
+ # Logout API
232
+ # Logout the user and clear the server side session
233
+ # @param [Hash] opts the optional parameters
234
+ # @return [APIResponse] data is LogoutResDTO, status code, headers and response
235
+ private def user_logout_with_http_info_impl(opts = {})
236
+ if @api_client.config.debugging
237
+ @api_client.config.logger.debug 'Calling API: AuthApi.user_logout ...'
238
+ end
239
+ # resource path
240
+ local_var_path = '/api/v1/client/auth/logout'
241
+
242
+ # query parameters
243
+ query_params = opts[:query_params] || {}
244
+
245
+ # header parameters
246
+ header_params = opts[:header_params] || {}
247
+ # HTTP header 'Accept' (if needed)
248
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
249
+
250
+ # form parameters
251
+ form_params = opts[:form_params] || {}
252
+
253
+ # http body (model)
254
+ post_body = opts[:debug_body]
255
+
256
+ # return_type
257
+ return_type = opts[:debug_return_type] || 'LogoutResDTO'
258
+
259
+ # auth_names
260
+ auth_names = opts[:debug_auth_names] || ['api_key']
261
+
262
+ new_options = opts.merge(
263
+ :operation => :"AuthApi.user_logout",
264
+ :header_params => header_params,
265
+ :query_params => query_params,
266
+ :form_params => form_params,
267
+ :body => post_body,
268
+ :auth_names => auth_names,
269
+ :return_type => return_type
270
+ )
271
+
272
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
273
+ if @api_client.config.debugging
274
+ @api_client.config.logger.debug "API called: AuthApi#user_logout\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
275
+ end
276
+ APIResponse::new(data, status_code, headers, response)
277
+ end
278
+
279
+
280
+ # Verify magic link
281
+ #
282
+ # @param token [String] The magic link token
283
+ # @param body [VerifyMagicLinkReqDTO]
284
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
285
+ def verify_magic_link(token:, extra: {})
286
+ _body = {}
287
+ _body[:token] = token if token != SENTINEL
288
+ extra[:verify_magic_link_req_dto] = _body if !_body.empty?
289
+ api_response = verify_magic_link_with_http_info_impl(extra)
290
+ api_response.data
291
+ end
292
+
293
+ # Verify magic link
294
+ #
295
+ # @param token [String] The magic link token
296
+ # @param body [VerifyMagicLinkReqDTO]
297
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
298
+ def verify_magic_link_with_http_info(token:, extra: {})
299
+ _body = {}
300
+ _body[:token] = token if token != SENTINEL
301
+ extra[:verify_magic_link_req_dto] = _body if !_body.empty?
302
+ verify_magic_link_with_http_info_impl(extra)
303
+ end
304
+
305
+ # Verify magic link
306
+ # @param [Hash] opts the optional parameters
307
+ # @option opts [VerifyMagicLinkReqDTO] :verify_magic_link_req_dto VerifyMagicLinkReqDTO
308
+ # @return [VerifyMagicLinkResDTO]
309
+ private def verify_magic_link_impl(opts = {})
310
+ data, _status_code, _headers = verify_magic_link_with_http_info(opts)
311
+ data
312
+ end
313
+
314
+ # Verify magic link
315
+ # @param [Hash] opts the optional parameters
316
+ # @option opts [VerifyMagicLinkReqDTO] :verify_magic_link_req_dto VerifyMagicLinkReqDTO
317
+ # @return [APIResponse] data is VerifyMagicLinkResDTO, status code, headers and response
318
+ private def verify_magic_link_with_http_info_impl(opts = {})
319
+ if @api_client.config.debugging
320
+ @api_client.config.logger.debug 'Calling API: AuthApi.verify_magic_link ...'
321
+ end
322
+ # resource path
323
+ local_var_path = '/api/v1/client/auth/verify_magic_link'
324
+
325
+ # query parameters
326
+ query_params = opts[:query_params] || {}
327
+
328
+ # header parameters
329
+ header_params = opts[:header_params] || {}
330
+ # HTTP header 'Accept' (if needed)
331
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
332
+ # HTTP header 'Content-Type'
333
+ content_type = @api_client.select_header_content_type(['application/json'])
334
+ if !content_type.nil?
335
+ header_params['Content-Type'] = content_type
336
+ end
337
+
338
+ # form parameters
339
+ form_params = opts[:form_params] || {}
340
+
341
+ # http body (model)
342
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'verify_magic_link_req_dto'])
343
+
344
+ # return_type
345
+ return_type = opts[:debug_return_type] || 'VerifyMagicLinkResDTO'
346
+
347
+ # auth_names
348
+ auth_names = opts[:debug_auth_names] || ['api_key']
349
+
350
+ new_options = opts.merge(
351
+ :operation => :"AuthApi.verify_magic_link",
352
+ :header_params => header_params,
353
+ :query_params => query_params,
354
+ :form_params => form_params,
355
+ :body => post_body,
356
+ :auth_names => auth_names,
357
+ :return_type => return_type
358
+ )
359
+
360
+ data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
361
+ if @api_client.config.debugging
362
+ @api_client.config.logger.debug "API called: AuthApi#verify_magic_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
363
+ end
364
+ APIResponse::new(data, status_code, headers, response)
365
+ end
366
+ end
367
+
368
+ # top-level client access to avoid having the user to insantiate their own API instances
369
+ Auth = AuthApi::new
370
+ end
@@ -0,0 +1,266 @@
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 'cgi'
10
+
11
+ module Composio
12
+ class CLIApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+
19
+ # Handle cli code exchange
20
+ #
21
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
22
+ def exchange_code(extra: {})
23
+ api_response = exchange_code_with_http_info_impl(extra)
24
+ api_response.data
25
+ end
26
+
27
+ # Handle cli code exchange
28
+ #
29
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
30
+ def exchange_code_with_http_info(extra: {})
31
+ exchange_code_with_http_info_impl(extra)
32
+ end
33
+
34
+ # Handle cli code exchange
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [GenerateCLISessionResDTO]
37
+ private def exchange_code_impl(opts = {})
38
+ data, _status_code, _headers = exchange_code_with_http_info(opts)
39
+ data
40
+ end
41
+
42
+ # Handle cli code exchange
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [APIResponse] data is GenerateCLISessionResDTO, status code, headers and response
45
+ private def exchange_code_with_http_info_impl(opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: CLIApi.exchange_code ...'
48
+ end
49
+ # resource path
50
+ local_var_path = '/api/v1/cli/generate-cli-session'
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
59
+
60
+ # form parameters
61
+ form_params = opts[:form_params] || {}
62
+
63
+ # http body (model)
64
+ post_body = opts[:debug_body]
65
+
66
+ # return_type
67
+ return_type = opts[:debug_return_type] || 'GenerateCLISessionResDTO'
68
+
69
+ # auth_names
70
+ auth_names = opts[:debug_auth_names] || ['api_key']
71
+
72
+ new_options = opts.merge(
73
+ :operation => :"CLIApi.exchange_code",
74
+ :header_params => header_params,
75
+ :query_params => query_params,
76
+ :form_params => form_params,
77
+ :body => post_body,
78
+ :auth_names => auth_names,
79
+ :return_type => return_type
80
+ )
81
+
82
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
83
+ if @api_client.config.debugging
84
+ @api_client.config.logger.debug "API called: CLIApi#exchange_code\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
85
+ end
86
+ APIResponse::new(data, status_code, headers, response)
87
+ end
88
+
89
+
90
+ # Get cli code
91
+ #
92
+ # @param key [String]
93
+ # @param code [String]
94
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
95
+ def get_code(key:, code: SENTINEL, extra: {})
96
+ extra[:code] = code if code != SENTINEL
97
+ api_response = get_code_with_http_info_impl(key, extra)
98
+ api_response.data
99
+ end
100
+
101
+ # Get cli code
102
+ #
103
+ # @param key [String]
104
+ # @param code [String]
105
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
106
+ def get_code_with_http_info(key:, code: SENTINEL, extra: {})
107
+ extra[:code] = code if code != SENTINEL
108
+ get_code_with_http_info_impl(key, extra)
109
+ end
110
+
111
+ # Get cli code
112
+ # @param key [String]
113
+ # @param [Hash] opts the optional parameters
114
+ # @option opts [String] :code
115
+ # @return [GetCLISessionResDTO]
116
+ private def get_code_impl(key, opts = {})
117
+ data, _status_code, _headers = get_code_with_http_info(key, opts)
118
+ data
119
+ end
120
+
121
+ # Get cli code
122
+ # @param key [String]
123
+ # @param [Hash] opts the optional parameters
124
+ # @option opts [String] :code
125
+ # @return [APIResponse] data is GetCLISessionResDTO, status code, headers and response
126
+ private def get_code_with_http_info_impl(key, opts = {})
127
+ if @api_client.config.debugging
128
+ @api_client.config.logger.debug 'Calling API: CLIApi.get_code ...'
129
+ end
130
+ # verify the required parameter 'key' is set
131
+ if @api_client.config.client_side_validation && key.nil?
132
+ fail ArgumentError, "Missing the required parameter 'key' when calling CLIApi.get_code"
133
+ end
134
+ # resource path
135
+ local_var_path = '/api/v1/cli/get-cli-code'
136
+
137
+ # query parameters
138
+ query_params = opts[:query_params] || {}
139
+ query_params[:'key'] = key
140
+ query_params[:'code'] = opts[:'code'] if !opts[:'code'].nil?
141
+
142
+ # header parameters
143
+ header_params = opts[:header_params] || {}
144
+ # HTTP header 'Accept' (if needed)
145
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
146
+
147
+ # form parameters
148
+ form_params = opts[:form_params] || {}
149
+
150
+ # http body (model)
151
+ post_body = opts[:debug_body]
152
+
153
+ # return_type
154
+ return_type = opts[:debug_return_type] || 'GetCLISessionResDTO'
155
+
156
+ # auth_names
157
+ auth_names = opts[:debug_auth_names] || ['api_key']
158
+
159
+ new_options = opts.merge(
160
+ :operation => :"CLIApi.get_code",
161
+ :header_params => header_params,
162
+ :query_params => query_params,
163
+ :form_params => form_params,
164
+ :body => post_body,
165
+ :auth_names => auth_names,
166
+ :return_type => return_type
167
+ )
168
+
169
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
170
+ if @api_client.config.debugging
171
+ @api_client.config.logger.debug "API called: CLIApi#get_code\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
172
+ end
173
+ APIResponse::new(data, status_code, headers, response)
174
+ end
175
+
176
+
177
+ # Handle cli code verification
178
+ #
179
+ # @param key [String]
180
+ # @param code [String]
181
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
182
+ def verify_code(key:, code: SENTINEL, extra: {})
183
+ extra[:code] = code if code != SENTINEL
184
+ api_response = verify_code_with_http_info_impl(key, extra)
185
+ api_response.data
186
+ end
187
+
188
+ # Handle cli code verification
189
+ #
190
+ # @param key [String]
191
+ # @param code [String]
192
+ # @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
193
+ def verify_code_with_http_info(key:, code: SENTINEL, extra: {})
194
+ extra[:code] = code if code != SENTINEL
195
+ verify_code_with_http_info_impl(key, extra)
196
+ end
197
+
198
+ # Handle cli code verification
199
+ # @param key [String]
200
+ # @param [Hash] opts the optional parameters
201
+ # @option opts [String] :code
202
+ # @return [VerifyCLICodeResDTO]
203
+ private def verify_code_impl(key, opts = {})
204
+ data, _status_code, _headers = verify_code_with_http_info(key, opts)
205
+ data
206
+ end
207
+
208
+ # Handle cli code verification
209
+ # @param key [String]
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [String] :code
212
+ # @return [APIResponse] data is VerifyCLICodeResDTO, status code, headers and response
213
+ private def verify_code_with_http_info_impl(key, opts = {})
214
+ if @api_client.config.debugging
215
+ @api_client.config.logger.debug 'Calling API: CLIApi.verify_code ...'
216
+ end
217
+ # verify the required parameter 'key' is set
218
+ if @api_client.config.client_side_validation && key.nil?
219
+ fail ArgumentError, "Missing the required parameter 'key' when calling CLIApi.verify_code"
220
+ end
221
+ # resource path
222
+ local_var_path = '/api/v1/cli/verify-cli-code'
223
+
224
+ # query parameters
225
+ query_params = opts[:query_params] || {}
226
+ query_params[:'key'] = key
227
+ query_params[:'code'] = opts[:'code'] if !opts[:'code'].nil?
228
+
229
+ # header parameters
230
+ header_params = opts[:header_params] || {}
231
+ # HTTP header 'Accept' (if needed)
232
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
233
+
234
+ # form parameters
235
+ form_params = opts[:form_params] || {}
236
+
237
+ # http body (model)
238
+ post_body = opts[:debug_body]
239
+
240
+ # return_type
241
+ return_type = opts[:debug_return_type] || 'VerifyCLICodeResDTO'
242
+
243
+ # auth_names
244
+ auth_names = opts[:debug_auth_names] || ['api_key']
245
+
246
+ new_options = opts.merge(
247
+ :operation => :"CLIApi.verify_code",
248
+ :header_params => header_params,
249
+ :query_params => query_params,
250
+ :form_params => form_params,
251
+ :body => post_body,
252
+ :auth_names => auth_names,
253
+ :return_type => return_type
254
+ )
255
+
256
+ data, status_code, headers, response = @api_client.call_api(:GET, local_var_path, new_options)
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug "API called: CLIApi#verify_code\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
259
+ end
260
+ APIResponse::new(data, status_code, headers, response)
261
+ end
262
+ end
263
+
264
+ # top-level client access to avoid having the user to insantiate their own API instances
265
+ CLI = CLIApi::new
266
+ end