composio 0.1.0

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 (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