revengai 1.1.1__py3-none-any.whl

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 (741) hide show
  1. revengai/__init__.py +1035 -0
  2. revengai/api/__init__.py +58 -0
  3. revengai/api/analyses_comments_api.py +1260 -0
  4. revengai/api/analyses_core_api.py +4305 -0
  5. revengai/api/analyses_dynamic_execution_api.py +1991 -0
  6. revengai/api/analyses_results_metadata_api.py +2324 -0
  7. revengai/api/analyses_security_checks_api.py +909 -0
  8. revengai/api/authentication_users_api.py +1386 -0
  9. revengai/api/binaries_api.py +1702 -0
  10. revengai/api/collections_api.py +2222 -0
  11. revengai/api/confidence_api.py +1214 -0
  12. revengai/api/external_sources_api.py +1709 -0
  13. revengai/api/firmware_api.py +624 -0
  14. revengai/api/functions_ai_decompilation_api.py +2728 -0
  15. revengai/api/functions_block_comments_api.py +897 -0
  16. revengai/api/functions_core_api.py +2216 -0
  17. revengai/api/functions_data_types_api.py +1838 -0
  18. revengai/api/functions_decompilation_api.py +2097 -0
  19. revengai/api/functions_renaming_history_api.py +1214 -0
  20. revengai/api/functions_threat_score_api.py +610 -0
  21. revengai/api/models_api.py +303 -0
  22. revengai/api/search_api.py +1483 -0
  23. revengai/api/v1_api.py +6373 -0
  24. revengai/api_client.py +804 -0
  25. revengai/api_response.py +21 -0
  26. revengai/configuration.py +602 -0
  27. revengai/exceptions.py +216 -0
  28. revengai/models/__init__.py +631 -0
  29. revengai/models/addr.py +144 -0
  30. revengai/models/ai_decompilation_rating.py +37 -0
  31. revengai/models/analyse_created.py +99 -0
  32. revengai/models/analysis_access_info.py +89 -0
  33. revengai/models/analysis_config.py +107 -0
  34. revengai/models/analysis_create_request.py +132 -0
  35. revengai/models/analysis_create_response.py +89 -0
  36. revengai/models/analysis_detail_response.py +122 -0
  37. revengai/models/analysis_form.py +138 -0
  38. revengai/models/analysis_functions.py +95 -0
  39. revengai/models/analysis_record.py +123 -0
  40. revengai/models/analysis_scope.py +37 -0
  41. revengai/models/analysis_status.py +94 -0
  42. revengai/models/analysis_strings_response.py +97 -0
  43. revengai/models/analysis_threat_score_data.py +99 -0
  44. revengai/models/analysis_update_request.py +109 -0
  45. revengai/models/analysis_update_tags_request.py +87 -0
  46. revengai/models/analysis_update_tags_response.py +95 -0
  47. revengai/models/ann_function.py +121 -0
  48. revengai/models/ann_input.py +108 -0
  49. revengai/models/app_api_rest_v1_analyse_schema_model_name.py +44 -0
  50. revengai/models/app_api_rest_v1_analyse_schema_status.py +40 -0
  51. revengai/models/app_api_rest_v1_analyse_schema_symbols.py +97 -0
  52. revengai/models/app_api_rest_v1_analysis_info_responses_logs.py +99 -0
  53. revengai/models/app_api_rest_v1_analysis_info_schema_function_rename.py +88 -0
  54. revengai/models/app_api_rest_v1_ann_schema_ann_function.py +135 -0
  55. revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py +39 -0
  56. revengai/models/app_api_rest_v2_analyses_enums_model_name.py +43 -0
  57. revengai/models/app_api_rest_v2_analyses_enums_order_by.py +38 -0
  58. revengai/models/app_api_rest_v2_analyses_enums_status.py +41 -0
  59. revengai/models/app_api_rest_v2_analyses_responses_analysis_tags.py +104 -0
  60. revengai/models/app_api_rest_v2_analyses_responses_logs.py +87 -0
  61. revengai/models/app_api_rest_v2_analyses_responses_tag_item.py +96 -0
  62. revengai/models/app_api_rest_v2_analyses_schemas_symbols.py +97 -0
  63. revengai/models/app_api_rest_v2_collections_enums_order_by.py +41 -0
  64. revengai/models/app_api_rest_v2_functions_rename_schema_function_rename.py +94 -0
  65. revengai/models/app_api_rest_v2_functions_responses_function.py +89 -0
  66. revengai/models/app_api_rest_v2_functions_types_function.py +109 -0
  67. revengai/models/app_api_rest_v2_info_responses_analysis_tags.py +104 -0
  68. revengai/models/app_api_rest_v2_similarity_schema_ann_function.py +121 -0
  69. revengai/models/app_core_responses_base_base_response_analysis_tags1.py +126 -0
  70. revengai/models/app_core_responses_base_base_response_analysis_tags2.py +126 -0
  71. revengai/models/app_services_binary_ann_schema_tag_item.py +99 -0
  72. revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py +87 -0
  73. revengai/models/argument.py +100 -0
  74. revengai/models/base_response.py +125 -0
  75. revengai/models/base_response_analysis_create_response.py +126 -0
  76. revengai/models/base_response_analysis_detail_response.py +126 -0
  77. revengai/models/base_response_analysis_functions.py +126 -0
  78. revengai/models/base_response_analysis_strings_response.py +126 -0
  79. revengai/models/base_response_analysis_threat_score_data.py +126 -0
  80. revengai/models/base_response_analysis_update_tags_response.py +126 -0
  81. revengai/models/base_response_basic.py +126 -0
  82. revengai/models/base_response_binary_additional_response.py +126 -0
  83. revengai/models/base_response_binary_ann_list_response.py +126 -0
  84. revengai/models/base_response_binary_details_response.py +126 -0
  85. revengai/models/base_response_binary_externals_response.py +126 -0
  86. revengai/models/base_response_binary_search_response.py +126 -0
  87. revengai/models/base_response_block_comments_generation_for_function_response.py +126 -0
  88. revengai/models/base_response_block_comments_overview_generation_response.py +117 -0
  89. revengai/models/base_response_bool.py +122 -0
  90. revengai/models/base_response_box_plot_confidence.py +126 -0
  91. revengai/models/base_response_callees_caller_functions_response.py +126 -0
  92. revengai/models/base_response_capabilities.py +126 -0
  93. revengai/models/base_response_check_security_checks_task_response.py +126 -0
  94. revengai/models/base_response_child_binaries_response.py +126 -0
  95. revengai/models/base_response_collection_binaries_update_response.py +126 -0
  96. revengai/models/base_response_collection_response.py +126 -0
  97. revengai/models/base_response_collection_search_response.py +126 -0
  98. revengai/models/base_response_collection_tags_update_response.py +126 -0
  99. revengai/models/base_response_comment_response.py +126 -0
  100. revengai/models/base_response_communities.py +126 -0
  101. revengai/models/base_response_created.py +126 -0
  102. revengai/models/base_response_decompilation_response.py +126 -0
  103. revengai/models/base_response_dict.py +122 -0
  104. revengai/models/base_response_dynamic_execution_status.py +126 -0
  105. revengai/models/base_response_external_response.py +126 -0
  106. revengai/models/base_response_function_analysis_threat_score_data.py +126 -0
  107. revengai/models/base_response_function_blocks_response.py +126 -0
  108. revengai/models/base_response_function_capability_response.py +126 -0
  109. revengai/models/base_response_function_data_types.py +126 -0
  110. revengai/models/base_response_function_data_types_list.py +126 -0
  111. revengai/models/base_response_function_search_response.py +126 -0
  112. revengai/models/base_response_function_strings_response.py +126 -0
  113. revengai/models/base_response_function_task_response.py +126 -0
  114. revengai/models/base_response_function_threat_score.py +126 -0
  115. revengai/models/base_response_functions_detail_response.py +126 -0
  116. revengai/models/base_response_generate_function_data_types.py +126 -0
  117. revengai/models/base_response_generation_status_list.py +126 -0
  118. revengai/models/base_response_get_ai_decompilation_rating_response.py +126 -0
  119. revengai/models/base_response_get_ai_decompilation_task.py +126 -0
  120. revengai/models/base_response_get_public_user_response.py +126 -0
  121. revengai/models/base_response_get_user_response.py +126 -0
  122. revengai/models/base_response_list_collection_results.py +126 -0
  123. revengai/models/base_response_list_comment_response.py +130 -0
  124. revengai/models/base_response_list_die_match.py +130 -0
  125. revengai/models/base_response_list_function_box_plot_confidence.py +130 -0
  126. revengai/models/base_response_list_function_name_history.py +130 -0
  127. revengai/models/base_response_list_sbom.py +130 -0
  128. revengai/models/base_response_list_similar_functions_response.py +130 -0
  129. revengai/models/base_response_list_tag_origin_box_plot_confidence.py +130 -0
  130. revengai/models/base_response_list_user_activity_response.py +130 -0
  131. revengai/models/base_response_login_response.py +126 -0
  132. revengai/models/base_response_logs.py +126 -0
  133. revengai/models/base_response_models_response.py +126 -0
  134. revengai/models/base_response_nearest_neighbor_analysis.py +136 -0
  135. revengai/models/base_response_network_overview_response.py +126 -0
  136. revengai/models/base_response_params.py +126 -0
  137. revengai/models/base_response_process_dumps.py +126 -0
  138. revengai/models/base_response_process_registry.py +126 -0
  139. revengai/models/base_response_process_tree.py +126 -0
  140. revengai/models/base_response_queued_security_checks_task_response.py +126 -0
  141. revengai/models/base_response_recent.py +126 -0
  142. revengai/models/base_response_security_checks_response.py +126 -0
  143. revengai/models/base_response_status.py +126 -0
  144. revengai/models/base_response_str.py +122 -0
  145. revengai/models/base_response_symbols_info.py +126 -0
  146. revengai/models/base_response_tag_search_response.py +126 -0
  147. revengai/models/base_response_task_response.py +126 -0
  148. revengai/models/base_response_ttps.py +126 -0
  149. revengai/models/base_response_vulnerabilities.py +126 -0
  150. revengai/models/basic.py +108 -0
  151. revengai/models/batch_ann.py +106 -0
  152. revengai/models/batch_function_rename.py +95 -0
  153. revengai/models/batch_function_rename_record.py +90 -0
  154. revengai/models/binary_additional_details_data_response.py +113 -0
  155. revengai/models/binary_additional_response.py +106 -0
  156. revengai/models/binary_ann_form.py +94 -0
  157. revengai/models/binary_ann_list_response.py +95 -0
  158. revengai/models/binary_config.py +109 -0
  159. revengai/models/binary_details_response.py +126 -0
  160. revengai/models/binary_externals_response.py +96 -0
  161. revengai/models/binary_search_response.py +95 -0
  162. revengai/models/binary_search_result.py +109 -0
  163. revengai/models/binary_task_status.py +40 -0
  164. revengai/models/block.py +87 -0
  165. revengai/models/block_comments_generation_for_function_response.py +87 -0
  166. revengai/models/boundary.py +91 -0
  167. revengai/models/box_plot_confidence.py +99 -0
  168. revengai/models/callee_function_info.py +107 -0
  169. revengai/models/callees_caller_functions_response.py +107 -0
  170. revengai/models/caller_function_info.py +107 -0
  171. revengai/models/capabilities.py +95 -0
  172. revengai/models/capability.py +91 -0
  173. revengai/models/check_security_checks_task_response.py +88 -0
  174. revengai/models/child_binaries_response.py +105 -0
  175. revengai/models/code_signature_model.py +99 -0
  176. revengai/models/collection_binaries_update_request.py +87 -0
  177. revengai/models/collection_binaries_update_response.py +95 -0
  178. revengai/models/collection_binary_response.py +98 -0
  179. revengai/models/collection_count.py +99 -0
  180. revengai/models/collection_create_request.py +108 -0
  181. revengai/models/collection_list_item.py +113 -0
  182. revengai/models/collection_response.py +132 -0
  183. revengai/models/collection_response_binaries_inner.py +136 -0
  184. revengai/models/collection_scope.py +39 -0
  185. revengai/models/collection_search_response.py +95 -0
  186. revengai/models/collection_search_result.py +125 -0
  187. revengai/models/collection_tags_update_request.py +87 -0
  188. revengai/models/collection_tags_update_response.py +87 -0
  189. revengai/models/collection_update_request.py +107 -0
  190. revengai/models/collections_count_form.py +88 -0
  191. revengai/models/comment_base.py +87 -0
  192. revengai/models/comment_response.py +111 -0
  193. revengai/models/comment_update_request.py +87 -0
  194. revengai/models/communities.py +101 -0
  195. revengai/models/community_match_percentages.py +93 -0
  196. revengai/models/confidence_type.py +40 -0
  197. revengai/models/config_settings.py +101 -0
  198. revengai/models/context.py +142 -0
  199. revengai/models/create_ai_decompilation_request.py +87 -0
  200. revengai/models/created.py +91 -0
  201. revengai/models/decompilation_comment_context.py +99 -0
  202. revengai/models/decompilation_response.py +91 -0
  203. revengai/models/deleted_analysis.py +99 -0
  204. revengai/models/die_match.py +93 -0
  205. revengai/models/dynamic_execution_status_input.py +39 -0
  206. revengai/models/elf_dynamic_entry.py +89 -0
  207. revengai/models/elf_import_model.py +89 -0
  208. revengai/models/elf_model.py +180 -0
  209. revengai/models/elf_relocation.py +99 -0
  210. revengai/models/elf_section.py +105 -0
  211. revengai/models/elf_security.py +95 -0
  212. revengai/models/elf_segment.py +103 -0
  213. revengai/models/elf_symbol.py +99 -0
  214. revengai/models/entrypoint_model.py +89 -0
  215. revengai/models/enumeration.py +98 -0
  216. revengai/models/error_model.py +89 -0
  217. revengai/models/export_model.py +89 -0
  218. revengai/models/exported_binary_ann_result.py +111 -0
  219. revengai/models/external_response.py +92 -0
  220. revengai/models/file_format.py +38 -0
  221. revengai/models/file_hashes.py +141 -0
  222. revengai/models/file_metadata.py +97 -0
  223. revengai/models/file_options.py +41 -0
  224. revengai/models/filters.py +40 -0
  225. revengai/models/function_analysis_threat_score_data.py +99 -0
  226. revengai/models/function_batch_ann.py +106 -0
  227. revengai/models/function_block_destination_response.py +96 -0
  228. revengai/models/function_block_response.py +110 -0
  229. revengai/models/function_blocks_response.py +122 -0
  230. revengai/models/function_boundary.py +91 -0
  231. revengai/models/function_box_plot_confidence.py +93 -0
  232. revengai/models/function_capability_response.py +87 -0
  233. revengai/models/function_comment_create_request.py +93 -0
  234. revengai/models/function_data_types.py +107 -0
  235. revengai/models/function_data_types_list.py +99 -0
  236. revengai/models/function_data_types_list_item.py +109 -0
  237. revengai/models/function_data_types_params.py +87 -0
  238. revengai/models/function_data_types_status.py +91 -0
  239. revengai/models/function_dump.py +106 -0
  240. revengai/models/function_header.py +113 -0
  241. revengai/models/function_info_input.py +106 -0
  242. revengai/models/function_info_input_func_deps_inner.py +164 -0
  243. revengai/models/function_info_output.py +106 -0
  244. revengai/models/function_list.py +87 -0
  245. revengai/models/function_list_basic.py +99 -0
  246. revengai/models/function_local_variable_response.py +95 -0
  247. revengai/models/function_mapping_full.py +248 -0
  248. revengai/models/function_name_confidence_body.py +98 -0
  249. revengai/models/function_name_history.py +97 -0
  250. revengai/models/function_name_input.py +89 -0
  251. revengai/models/function_param_mapping.py +89 -0
  252. revengai/models/function_param_response.py +95 -0
  253. revengai/models/function_params.py +95 -0
  254. revengai/models/function_rename.py +94 -0
  255. revengai/models/function_rename_map.py +96 -0
  256. revengai/models/function_search_response.py +95 -0
  257. revengai/models/function_search_result.py +100 -0
  258. revengai/models/function_string.py +89 -0
  259. revengai/models/function_strings_response.py +97 -0
  260. revengai/models/function_task_response.py +95 -0
  261. revengai/models/function_task_status.py +40 -0
  262. revengai/models/function_threat_score.py +100 -0
  263. revengai/models/function_type_input.py +128 -0
  264. revengai/models/function_type_output.py +128 -0
  265. revengai/models/functions_detail_response.py +122 -0
  266. revengai/models/functions_list_rename.py +95 -0
  267. revengai/models/generate_function_data_types.py +95 -0
  268. revengai/models/generation_status_list.py +99 -0
  269. revengai/models/get_ai_decompilation_rating_response.py +88 -0
  270. revengai/models/get_ai_decompilation_task.py +153 -0
  271. revengai/models/get_public_user_response.py +89 -0
  272. revengai/models/get_user_response.py +100 -0
  273. revengai/models/global_variable.py +102 -0
  274. revengai/models/icon_model.py +92 -0
  275. revengai/models/import_model.py +89 -0
  276. revengai/models/inverse_function_map_item.py +100 -0
  277. revengai/models/inverse_string_map_item.py +94 -0
  278. revengai/models/inverse_value.py +87 -0
  279. revengai/models/isa.py +38 -0
  280. revengai/models/isa_options.py +39 -0
  281. revengai/models/list_collection_results.py +95 -0
  282. revengai/models/login_request.py +90 -0
  283. revengai/models/login_response.py +87 -0
  284. revengai/models/logs.py +87 -0
  285. revengai/models/meta_model.py +96 -0
  286. revengai/models/model_list.py +99 -0
  287. revengai/models/model_name.py +43 -0
  288. revengai/models/models_response.py +87 -0
  289. revengai/models/nearest_neighbor.py +106 -0
  290. revengai/models/network_overview_dns.py +99 -0
  291. revengai/models/network_overview_dns_answer.py +89 -0
  292. revengai/models/network_overview_metadata.py +100 -0
  293. revengai/models/network_overview_response.py +105 -0
  294. revengai/models/order.py +37 -0
  295. revengai/models/origin.py +43 -0
  296. revengai/models/pagination_model.py +91 -0
  297. revengai/models/params.py +104 -0
  298. revengai/models/pdb_debug_model.py +95 -0
  299. revengai/models/pe_model.py +216 -0
  300. revengai/models/platform.py +37 -0
  301. revengai/models/platform_options.py +40 -0
  302. revengai/models/process.py +104 -0
  303. revengai/models/process_dump.py +97 -0
  304. revengai/models/process_dump_metadata.py +91 -0
  305. revengai/models/process_dumps.py +93 -0
  306. revengai/models/process_dumps_data.py +97 -0
  307. revengai/models/process_registry.py +106 -0
  308. revengai/models/process_tree.py +97 -0
  309. revengai/models/queued_security_checks_task_response.py +87 -0
  310. revengai/models/quick_search.py +99 -0
  311. revengai/models/re_analysis_form.py +102 -0
  312. revengai/models/recent.py +95 -0
  313. revengai/models/recent_analysis.py +99 -0
  314. revengai/models/recent_analysis_form.py +92 -0
  315. revengai/models/registry.py +103 -0
  316. revengai/models/relative_binary_response.py +91 -0
  317. revengai/models/rename.py +99 -0
  318. revengai/models/sandbox_options.py +89 -0
  319. revengai/models/sbom.py +97 -0
  320. revengai/models/sbom_package.py +89 -0
  321. revengai/models/scope.py +39 -0
  322. revengai/models/scrape_third_party_config.py +87 -0
  323. revengai/models/search_binary_ids.py +138 -0
  324. revengai/models/search_form.py +97 -0
  325. revengai/models/search_function_ids.py +138 -0
  326. revengai/models/search_query.py +99 -0
  327. revengai/models/section_model.py +97 -0
  328. revengai/models/security_checks_response.py +99 -0
  329. revengai/models/security_checks_result.py +104 -0
  330. revengai/models/security_model.py +107 -0
  331. revengai/models/severity_type.py +41 -0
  332. revengai/models/similar_functions_response.py +101 -0
  333. revengai/models/single_code_certificate_model.py +97 -0
  334. revengai/models/single_code_signature_model.py +97 -0
  335. revengai/models/single_pdb_entry_model.py +91 -0
  336. revengai/models/single_section_model.py +99 -0
  337. revengai/models/stack_variable.py +102 -0
  338. revengai/models/status_input.py +41 -0
  339. revengai/models/status_output.py +89 -0
  340. revengai/models/string_functions.py +97 -0
  341. revengai/models/structure.py +118 -0
  342. revengai/models/structure_member.py +100 -0
  343. revengai/models/symbols.py +97 -0
  344. revengai/models/symbols_info.py +103 -0
  345. revengai/models/tag_confidence_body.py +96 -0
  346. revengai/models/tag_input.py +87 -0
  347. revengai/models/tag_origin_box_plot_confidence.py +97 -0
  348. revengai/models/tag_output.py +89 -0
  349. revengai/models/tag_response.py +89 -0
  350. revengai/models/tag_search_response.py +95 -0
  351. revengai/models/tag_search_result.py +89 -0
  352. revengai/models/tags.py +90 -0
  353. revengai/models/task_response.py +95 -0
  354. revengai/models/task_status.py +40 -0
  355. revengai/models/threat_score_function_body.py +88 -0
  356. revengai/models/timestamp_model.py +91 -0
  357. revengai/models/ttps.py +93 -0
  358. revengai/models/ttps_attack.py +89 -0
  359. revengai/models/ttps_data.py +97 -0
  360. revengai/models/ttps_element.py +109 -0
  361. revengai/models/ttps_occurance.py +89 -0
  362. revengai/models/type_definition.py +98 -0
  363. revengai/models/update_function_data_types.py +93 -0
  364. revengai/models/upload_success.py +106 -0
  365. revengai/models/upsert_ai_decomplation_rating_request.py +88 -0
  366. revengai/models/user_activity_response.py +98 -0
  367. revengai/models/user_boundaries.py +91 -0
  368. revengai/models/vulnerabilities.py +95 -0
  369. revengai/models/vulnerability.py +114 -0
  370. revengai/models/vulnerability_type.py +41 -0
  371. revengai/models/workspace.py +38 -0
  372. revengai/py.typed +0 -0
  373. revengai/rest.py +258 -0
  374. revengai/test/__init__.py +0 -0
  375. revengai/test/test_addr.py +50 -0
  376. revengai/test/test_ai_decompilation_rating.py +33 -0
  377. revengai/test/test_analyse_created.py +53 -0
  378. revengai/test/test_analyses_comments_api.py +59 -0
  379. revengai/test/test_analyses_core_api.py +136 -0
  380. revengai/test/test_analyses_dynamic_execution_api.py +80 -0
  381. revengai/test/test_analyses_results_metadata_api.py +143 -0
  382. revengai/test/test_analyses_security_checks_api.py +52 -0
  383. revengai/test/test_analysis_access_info.py +54 -0
  384. revengai/test/test_analysis_config.py +60 -0
  385. revengai/test/test_analysis_create_request.py +83 -0
  386. revengai/test/test_analysis_create_response.py +54 -0
  387. revengai/test/test_analysis_detail_response.py +83 -0
  388. revengai/test/test_analysis_form.py +81 -0
  389. revengai/test/test_analysis_functions.py +78 -0
  390. revengai/test/test_analysis_record.py +74 -0
  391. revengai/test/test_analysis_scope.py +33 -0
  392. revengai/test/test_analysis_status.py +53 -0
  393. revengai/test/test_analysis_strings_response.py +70 -0
  394. revengai/test/test_analysis_threat_score_data.py +64 -0
  395. revengai/test/test_analysis_update_request.py +52 -0
  396. revengai/test/test_analysis_update_tags_request.py +56 -0
  397. revengai/test/test_analysis_update_tags_response.py +60 -0
  398. revengai/test/test_ann_function.py +61 -0
  399. revengai/test/test_ann_input.py +56 -0
  400. revengai/test/test_app_api_rest_v1_analyse_schema_model_name.py +33 -0
  401. revengai/test/test_app_api_rest_v1_analyse_schema_status.py +33 -0
  402. revengai/test/test_app_api_rest_v1_analyse_schema_symbols.py +57 -0
  403. revengai/test/test_app_api_rest_v1_analysis_info_responses_logs.py +53 -0
  404. revengai/test/test_app_api_rest_v1_analysis_info_schema_function_rename.py +52 -0
  405. revengai/test/test_app_api_rest_v1_ann_schema_ann_function.py +74 -0
  406. revengai/test/test_app_api_rest_v2_analyses_enums_dynamic_execution_status.py +33 -0
  407. revengai/test/test_app_api_rest_v2_analyses_enums_model_name.py +33 -0
  408. revengai/test/test_app_api_rest_v2_analyses_enums_order_by.py +33 -0
  409. revengai/test/test_app_api_rest_v2_analyses_enums_status.py +33 -0
  410. revengai/test/test_app_api_rest_v2_analyses_responses_analysis_tags.py +74 -0
  411. revengai/test/test_app_api_rest_v2_analyses_responses_logs.py +52 -0
  412. revengai/test/test_app_api_rest_v2_analyses_responses_tag_item.py +55 -0
  413. revengai/test/test_app_api_rest_v2_analyses_schemas_symbols.py +57 -0
  414. revengai/test/test_app_api_rest_v2_collections_enums_order_by.py +33 -0
  415. revengai/test/test_app_api_rest_v2_functions_rename_schema_function_rename.py +52 -0
  416. revengai/test/test_app_api_rest_v2_functions_responses_function.py +54 -0
  417. revengai/test/test_app_api_rest_v2_functions_types_function.py +72 -0
  418. revengai/test/test_app_api_rest_v2_info_responses_analysis_tags.py +70 -0
  419. revengai/test/test_app_api_rest_v2_similarity_schema_ann_function.py +61 -0
  420. revengai/test/test_app_core_responses_base_base_response_analysis_tags1.py +73 -0
  421. revengai/test/test_app_core_responses_base_base_response_analysis_tags2.py +75 -0
  422. revengai/test/test_app_services_binary_ann_schema_tag_item.py +52 -0
  423. revengai/test/test_app_services_dynamic_execution_schemas_dynamic_execution_status.py +52 -0
  424. revengai/test/test_argument.py +59 -0
  425. revengai/test/test_authentication_users_api.py +66 -0
  426. revengai/test/test_base_response.py +63 -0
  427. revengai/test/test_base_response_analysis_create_response.py +65 -0
  428. revengai/test/test_base_response_analysis_detail_response.py +81 -0
  429. revengai/test/test_base_response_analysis_functions.py +77 -0
  430. revengai/test/test_base_response_analysis_strings_response.py +73 -0
  431. revengai/test/test_base_response_analysis_threat_score_data.py +70 -0
  432. revengai/test/test_base_response_analysis_update_tags_response.py +68 -0
  433. revengai/test/test_base_response_basic.py +74 -0
  434. revengai/test/test_base_response_binary_additional_response.py +259 -0
  435. revengai/test/test_base_response_binary_ann_list_response.py +83 -0
  436. revengai/test/test_base_response_binary_details_response.py +83 -0
  437. revengai/test/test_base_response_binary_externals_response.py +72 -0
  438. revengai/test/test_base_response_binary_search_response.py +77 -0
  439. revengai/test/test_base_response_block_comments_generation_for_function_response.py +64 -0
  440. revengai/test/test_base_response_block_comments_overview_generation_response.py +63 -0
  441. revengai/test/test_base_response_bool.py +63 -0
  442. revengai/test/test_base_response_box_plot_confidence.py +70 -0
  443. revengai/test/test_base_response_callees_caller_functions_response.py +82 -0
  444. revengai/test/test_base_response_capabilities.py +71 -0
  445. revengai/test/test_base_response_check_security_checks_task_response.py +64 -0
  446. revengai/test/test_base_response_child_binaries_response.py +73 -0
  447. revengai/test/test_base_response_collection_binaries_update_response.py +72 -0
  448. revengai/test/test_base_response_collection_response.py +78 -0
  449. revengai/test/test_base_response_collection_search_response.py +80 -0
  450. revengai/test/test_base_response_collection_tags_update_response.py +66 -0
  451. revengai/test/test_base_response_comment_response.py +71 -0
  452. revengai/test/test_base_response_communities.py +77 -0
  453. revengai/test/test_base_response_created.py +66 -0
  454. revengai/test/test_base_response_decompilation_response.py +66 -0
  455. revengai/test/test_base_response_dict.py +65 -0
  456. revengai/test/test_base_response_dynamic_execution_status.py +64 -0
  457. revengai/test/test_base_response_external_response.py +68 -0
  458. revengai/test/test_base_response_function_analysis_threat_score_data.py +70 -0
  459. revengai/test/test_base_response_function_blocks_response.py +96 -0
  460. revengai/test/test_base_response_function_capability_response.py +66 -0
  461. revengai/test/test_base_response_function_data_types.py +99 -0
  462. revengai/test/test_base_response_function_data_types_list.py +105 -0
  463. revengai/test/test_base_response_function_search_response.py +73 -0
  464. revengai/test/test_base_response_function_strings_response.py +69 -0
  465. revengai/test/test_base_response_function_task_response.py +65 -0
  466. revengai/test/test_base_response_function_threat_score.py +73 -0
  467. revengai/test/test_base_response_functions_detail_response.py +78 -0
  468. revengai/test/test_base_response_generate_function_data_types.py +74 -0
  469. revengai/test/test_base_response_generation_status_list.py +71 -0
  470. revengai/test/test_base_response_get_ai_decompilation_rating_response.py +64 -0
  471. revengai/test/test_base_response_get_ai_decompilation_task.py +118 -0
  472. revengai/test/test_base_response_get_public_user_response.py +65 -0
  473. revengai/test/test_base_response_get_user_response.py +70 -0
  474. revengai/test/test_base_response_list_collection_results.py +79 -0
  475. revengai/test/test_base_response_list_comment_response.py +73 -0
  476. revengai/test/test_base_response_list_die_match.py +69 -0
  477. revengai/test/test_base_response_list_function_box_plot_confidence.py +74 -0
  478. revengai/test/test_base_response_list_function_name_history.py +71 -0
  479. revengai/test/test_base_response_list_sbom.py +73 -0
  480. revengai/test/test_base_response_list_similar_functions_response.py +77 -0
  481. revengai/test/test_base_response_list_tag_origin_box_plot_confidence.py +76 -0
  482. revengai/test/test_base_response_list_user_activity_response.py +71 -0
  483. revengai/test/test_base_response_login_response.py +64 -0
  484. revengai/test/test_base_response_logs.py +64 -0
  485. revengai/test/test_base_response_models_response.py +66 -0
  486. revengai/test/test_base_response_nearest_neighbor_analysis.py +75 -0
  487. revengai/test/test_base_response_network_overview_response.py +80 -0
  488. revengai/test/test_base_response_params.py +70 -0
  489. revengai/test/test_base_response_process_dumps.py +76 -0
  490. revengai/test/test_base_response_process_registry.py +73 -0
  491. revengai/test/test_base_response_process_tree.py +78 -0
  492. revengai/test/test_base_response_queued_security_checks_task_response.py +64 -0
  493. revengai/test/test_base_response_recent.py +79 -0
  494. revengai/test/test_base_response_security_checks_response.py +76 -0
  495. revengai/test/test_base_response_status.py +65 -0
  496. revengai/test/test_base_response_str.py +63 -0
  497. revengai/test/test_base_response_symbols_info.py +68 -0
  498. revengai/test/test_base_response_tag_search_response.py +68 -0
  499. revengai/test/test_base_response_task_response.py +65 -0
  500. revengai/test/test_base_response_ttps.py +81 -0
  501. revengai/test/test_base_response_vulnerabilities.py +77 -0
  502. revengai/test/test_basic.py +72 -0
  503. revengai/test/test_batch_ann.py +55 -0
  504. revengai/test/test_batch_function_rename.py +60 -0
  505. revengai/test/test_batch_function_rename_record.py +54 -0
  506. revengai/test/test_binaries_api.py +73 -0
  507. revengai/test/test_binary_additional_details_data_response.py +256 -0
  508. revengai/test/test_binary_additional_response.py +441 -0
  509. revengai/test/test_binary_ann_form.py +58 -0
  510. revengai/test/test_binary_ann_list_response.py +90 -0
  511. revengai/test/test_binary_config.py +53 -0
  512. revengai/test/test_binary_details_response.py +90 -0
  513. revengai/test/test_binary_externals_response.py +68 -0
  514. revengai/test/test_binary_search_response.py +78 -0
  515. revengai/test/test_binary_search_result.py +72 -0
  516. revengai/test/test_binary_task_status.py +33 -0
  517. revengai/test/test_block.py +52 -0
  518. revengai/test/test_block_comments_generation_for_function_response.py +52 -0
  519. revengai/test/test_boundary.py +56 -0
  520. revengai/test/test_box_plot_confidence.py +64 -0
  521. revengai/test/test_callee_function_info.py +61 -0
  522. revengai/test/test_callees_caller_functions_response.py +87 -0
  523. revengai/test/test_caller_function_info.py +61 -0
  524. revengai/test/test_capabilities.py +66 -0
  525. revengai/test/test_capability.py +60 -0
  526. revengai/test/test_check_security_checks_task_response.py +52 -0
  527. revengai/test/test_child_binaries_response.py +66 -0
  528. revengai/test/test_code_signature_model.py +80 -0
  529. revengai/test/test_collection_binaries_update_request.py +56 -0
  530. revengai/test/test_collection_binaries_update_response.py +68 -0
  531. revengai/test/test_collection_binary_response.py +62 -0
  532. revengai/test/test_collection_count.py +53 -0
  533. revengai/test/test_collection_create_request.py +63 -0
  534. revengai/test/test_collection_list_item.py +72 -0
  535. revengai/test/test_collection_response.py +73 -0
  536. revengai/test/test_collection_response_binaries_inner.py +62 -0
  537. revengai/test/test_collection_scope.py +33 -0
  538. revengai/test/test_collection_search_response.py +84 -0
  539. revengai/test/test_collection_search_result.py +73 -0
  540. revengai/test/test_collection_tags_update_request.py +56 -0
  541. revengai/test/test_collection_tags_update_response.py +56 -0
  542. revengai/test/test_collection_update_request.py +53 -0
  543. revengai/test/test_collections_api.py +80 -0
  544. revengai/test/test_collections_count_form.py +52 -0
  545. revengai/test/test_comment_base.py +52 -0
  546. revengai/test/test_comment_response.py +65 -0
  547. revengai/test/test_comment_update_request.py +52 -0
  548. revengai/test/test_communities.py +78 -0
  549. revengai/test/test_community_match_percentages.py +58 -0
  550. revengai/test/test_confidence_api.py +59 -0
  551. revengai/test/test_confidence_type.py +33 -0
  552. revengai/test/test_config_settings.py +70 -0
  553. revengai/test/test_context.py +54 -0
  554. revengai/test/test_create_ai_decompilation_request.py +52 -0
  555. revengai/test/test_created.py +56 -0
  556. revengai/test/test_decompilation_comment_context.py +54 -0
  557. revengai/test/test_decompilation_response.py +56 -0
  558. revengai/test/test_deleted_analysis.py +52 -0
  559. revengai/test/test_die_match.py +58 -0
  560. revengai/test/test_dynamic_execution_status_input.py +33 -0
  561. revengai/test/test_elf_dynamic_entry.py +54 -0
  562. revengai/test/test_elf_import_model.py +58 -0
  563. revengai/test/test_elf_model.py +236 -0
  564. revengai/test/test_elf_relocation.py +64 -0
  565. revengai/test/test_elf_section.py +70 -0
  566. revengai/test/test_elf_security.py +60 -0
  567. revengai/test/test_elf_segment.py +68 -0
  568. revengai/test/test_elf_symbol.py +64 -0
  569. revengai/test/test_entrypoint_model.py +54 -0
  570. revengai/test/test_enumeration.py +60 -0
  571. revengai/test/test_error_model.py +54 -0
  572. revengai/test/test_export_model.py +62 -0
  573. revengai/test/test_exported_binary_ann_result.py +79 -0
  574. revengai/test/test_external_response.py +60 -0
  575. revengai/test/test_external_sources_api.py +73 -0
  576. revengai/test/test_file_format.py +33 -0
  577. revengai/test/test_file_hashes.py +66 -0
  578. revengai/test/test_file_metadata.py +74 -0
  579. revengai/test/test_file_options.py +33 -0
  580. revengai/test/test_filters.py +33 -0
  581. revengai/test/test_firmware_api.py +45 -0
  582. revengai/test/test_function_analysis_threat_score_data.py +64 -0
  583. revengai/test/test_function_batch_ann.py +55 -0
  584. revengai/test/test_function_block_destination_response.py +56 -0
  585. revengai/test/test_function_block_response.py +75 -0
  586. revengai/test/test_function_blocks_response.py +116 -0
  587. revengai/test/test_function_boundary.py +56 -0
  588. revengai/test/test_function_box_plot_confidence.py +68 -0
  589. revengai/test/test_function_capability_response.py +56 -0
  590. revengai/test/test_function_comment_create_request.py +55 -0
  591. revengai/test/test_function_data_types.py +88 -0
  592. revengai/test/test_function_data_types_list.py +132 -0
  593. revengai/test/test_function_data_types_list_item.py +90 -0
  594. revengai/test/test_function_data_types_params.py +56 -0
  595. revengai/test/test_function_data_types_status.py +56 -0
  596. revengai/test/test_function_dump.py +55 -0
  597. revengai/test/test_function_header.py +73 -0
  598. revengai/test/test_function_info_input.py +85 -0
  599. revengai/test/test_function_info_input_func_deps_inner.py +66 -0
  600. revengai/test/test_function_info_output.py +85 -0
  601. revengai/test/test_function_list.py +56 -0
  602. revengai/test/test_function_list_basic.py +53 -0
  603. revengai/test/test_function_local_variable_response.py +60 -0
  604. revengai/test/test_function_mapping_full.py +148 -0
  605. revengai/test/test_function_name_confidence_body.py +56 -0
  606. revengai/test/test_function_name_history.py +62 -0
  607. revengai/test/test_function_name_input.py +54 -0
  608. revengai/test/test_function_param_mapping.py +54 -0
  609. revengai/test/test_function_param_response.py +60 -0
  610. revengai/test/test_function_params.py +60 -0
  611. revengai/test/test_function_rename.py +52 -0
  612. revengai/test/test_function_rename_map.py +55 -0
  613. revengai/test/test_function_search_response.py +70 -0
  614. revengai/test/test_function_search_result.py +64 -0
  615. revengai/test/test_function_string.py +54 -0
  616. revengai/test/test_function_strings_response.py +62 -0
  617. revengai/test/test_function_task_response.py +52 -0
  618. revengai/test/test_function_task_status.py +33 -0
  619. revengai/test/test_function_threat_score.py +70 -0
  620. revengai/test/test_function_type_input.py +95 -0
  621. revengai/test/test_function_type_output.py +95 -0
  622. revengai/test/test_functions_ai_decompilation_api.py +108 -0
  623. revengai/test/test_functions_block_comments_api.py +73 -0
  624. revengai/test/test_functions_core_api.py +87 -0
  625. revengai/test/test_functions_data_types_api.py +101 -0
  626. revengai/test/test_functions_decompilation_api.py +80 -0
  627. revengai/test/test_functions_detail_response.py +74 -0
  628. revengai/test/test_functions_list_rename.py +62 -0
  629. revengai/test/test_functions_renaming_history_api.py +59 -0
  630. revengai/test/test_functions_threat_score_api.py +59 -0
  631. revengai/test/test_generate_function_data_types.py +72 -0
  632. revengai/test/test_generation_status_list.py +64 -0
  633. revengai/test/test_get_ai_decompilation_rating_response.py +52 -0
  634. revengai/test/test_get_ai_decompilation_task.py +157 -0
  635. revengai/test/test_get_public_user_response.py +54 -0
  636. revengai/test/test_get_user_response.py +64 -0
  637. revengai/test/test_global_variable.py +60 -0
  638. revengai/test/test_icon_model.py +52 -0
  639. revengai/test/test_import_model.py +66 -0
  640. revengai/test/test_inverse_function_map_item.py +55 -0
  641. revengai/test/test_inverse_string_map_item.py +54 -0
  642. revengai/test/test_inverse_value.py +52 -0
  643. revengai/test/test_isa.py +33 -0
  644. revengai/test/test_isa_options.py +33 -0
  645. revengai/test/test_list_collection_results.py +82 -0
  646. revengai/test/test_login_request.py +54 -0
  647. revengai/test/test_login_response.py +52 -0
  648. revengai/test/test_logs.py +52 -0
  649. revengai/test/test_meta_model.py +54 -0
  650. revengai/test/test_model_list.py +53 -0
  651. revengai/test/test_model_name.py +33 -0
  652. revengai/test/test_models_api.py +38 -0
  653. revengai/test/test_models_response.py +56 -0
  654. revengai/test/test_nearest_neighbor.py +66 -0
  655. revengai/test/test_network_overview_dns.py +64 -0
  656. revengai/test/test_network_overview_dns_answer.py +54 -0
  657. revengai/test/test_network_overview_metadata.py +58 -0
  658. revengai/test/test_network_overview_response.py +84 -0
  659. revengai/test/test_order.py +33 -0
  660. revengai/test/test_origin.py +33 -0
  661. revengai/test/test_pagination_model.py +56 -0
  662. revengai/test/test_params.py +64 -0
  663. revengai/test/test_pdb_debug_model.py +62 -0
  664. revengai/test/test_pe_model.py +220 -0
  665. revengai/test/test_platform.py +33 -0
  666. revengai/test/test_platform_options.py +33 -0
  667. revengai/test/test_process.py +72 -0
  668. revengai/test/test_process_dump.py +64 -0
  669. revengai/test/test_process_dump_metadata.py +56 -0
  670. revengai/test/test_process_dumps.py +76 -0
  671. revengai/test/test_process_dumps_data.py +72 -0
  672. revengai/test/test_process_registry.py +70 -0
  673. revengai/test/test_process_tree.py +80 -0
  674. revengai/test/test_queued_security_checks_task_response.py +52 -0
  675. revengai/test/test_quick_search.py +53 -0
  676. revengai/test/test_re_analysis_form.py +58 -0
  677. revengai/test/test_recent.py +82 -0
  678. revengai/test/test_recent_analysis.py +53 -0
  679. revengai/test/test_recent_analysis_form.py +53 -0
  680. revengai/test/test_registry.py +58 -0
  681. revengai/test/test_relative_binary_response.py +56 -0
  682. revengai/test/test_rename.py +53 -0
  683. revengai/test/test_sandbox_options.py +52 -0
  684. revengai/test/test_sbom.py +66 -0
  685. revengai/test/test_sbom_package.py +54 -0
  686. revengai/test/test_scope.py +33 -0
  687. revengai/test/test_scrape_third_party_config.py +51 -0
  688. revengai/test/test_search_api.py +59 -0
  689. revengai/test/test_search_binary_ids.py +50 -0
  690. revengai/test/test_search_form.py +56 -0
  691. revengai/test/test_search_function_ids.py +50 -0
  692. revengai/test/test_search_query.py +52 -0
  693. revengai/test/test_section_model.py +72 -0
  694. revengai/test/test_security_checks_response.py +76 -0
  695. revengai/test/test_security_checks_result.py +66 -0
  696. revengai/test/test_security_model.py +72 -0
  697. revengai/test/test_severity_type.py +33 -0
  698. revengai/test/test_similar_functions_response.py +74 -0
  699. revengai/test/test_single_code_certificate_model.py +62 -0
  700. revengai/test/test_single_code_signature_model.py +70 -0
  701. revengai/test/test_single_pdb_entry_model.py +56 -0
  702. revengai/test/test_single_section_model.py +64 -0
  703. revengai/test/test_stack_variable.py +61 -0
  704. revengai/test/test_status_input.py +33 -0
  705. revengai/test/test_status_output.py +54 -0
  706. revengai/test/test_string_functions.py +62 -0
  707. revengai/test/test_structure.py +71 -0
  708. revengai/test/test_structure_member.py +59 -0
  709. revengai/test/test_symbols.py +57 -0
  710. revengai/test/test_symbols_info.py +55 -0
  711. revengai/test/test_tag_confidence_body.py +60 -0
  712. revengai/test/test_tag_input.py +52 -0
  713. revengai/test/test_tag_origin_box_plot_confidence.py +72 -0
  714. revengai/test/test_tag_output.py +54 -0
  715. revengai/test/test_tag_response.py +54 -0
  716. revengai/test/test_tag_search_response.py +60 -0
  717. revengai/test/test_tag_search_result.py +54 -0
  718. revengai/test/test_tags.py +54 -0
  719. revengai/test/test_task_response.py +52 -0
  720. revengai/test/test_task_status.py +33 -0
  721. revengai/test/test_threat_score_function_body.py +53 -0
  722. revengai/test/test_timestamp_model.py +56 -0
  723. revengai/test/test_ttps.py +86 -0
  724. revengai/test/test_ttps_attack.py +54 -0
  725. revengai/test/test_ttps_data.py +82 -0
  726. revengai/test/test_ttps_element.py +74 -0
  727. revengai/test/test_ttps_occurance.py +54 -0
  728. revengai/test/test_type_definition.py +56 -0
  729. revengai/test/test_update_function_data_types.py +118 -0
  730. revengai/test/test_upload_success.py +54 -0
  731. revengai/test/test_upsert_ai_decomplation_rating_request.py +52 -0
  732. revengai/test/test_user_activity_response.py +62 -0
  733. revengai/test/test_user_boundaries.py +56 -0
  734. revengai/test/test_v1_api.py +185 -0
  735. revengai/test/test_vulnerabilities.py +78 -0
  736. revengai/test/test_vulnerability.py +71 -0
  737. revengai/test/test_vulnerability_type.py +33 -0
  738. revengai/test/test_workspace.py +33 -0
  739. revengai-1.1.1.dist-info/METADATA +470 -0
  740. revengai-1.1.1.dist-info/RECORD +741 -0
  741. revengai-1.1.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,2728 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ RevEng.AI API
5
+
6
+ RevEng.AI is Similarity Search Engine for executable binaries
7
+
8
+ The version of the OpenAPI document: 0.0.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictBool, StrictInt, StrictStr
20
+ from typing import Optional
21
+ from typing_extensions import Annotated
22
+ from revengai.models.base_response import BaseResponse
23
+ from revengai.models.base_response_bool import BaseResponseBool
24
+ from revengai.models.base_response_comment_response import BaseResponseCommentResponse
25
+ from revengai.models.base_response_function_task_response import BaseResponseFunctionTaskResponse
26
+ from revengai.models.base_response_get_ai_decompilation_rating_response import BaseResponseGetAiDecompilationRatingResponse
27
+ from revengai.models.base_response_get_ai_decompilation_task import BaseResponseGetAiDecompilationTask
28
+ from revengai.models.base_response_list_comment_response import BaseResponseListCommentResponse
29
+ from revengai.models.comment_update_request import CommentUpdateRequest
30
+ from revengai.models.function_comment_create_request import FunctionCommentCreateRequest
31
+ from revengai.models.upsert_ai_decomplation_rating_request import UpsertAiDecomplationRatingRequest
32
+
33
+ from revengai.api_client import ApiClient, RequestSerialized
34
+ from revengai.api_response import ApiResponse
35
+ from revengai.rest import RESTResponseType
36
+
37
+
38
+ class FunctionsAIDecompilationApi:
39
+ """NOTE: This class is auto generated by OpenAPI Generator
40
+ Ref: https://openapi-generator.tech
41
+
42
+ Do not edit the class manually.
43
+ """
44
+
45
+ def __init__(self, api_client=None) -> None:
46
+ if api_client is None:
47
+ api_client = ApiClient.get_default()
48
+ self.api_client = api_client
49
+
50
+
51
+ @validate_call
52
+ def create_ai_decompilation_comment(
53
+ self,
54
+ function_id: StrictInt,
55
+ function_comment_create_request: FunctionCommentCreateRequest,
56
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
57
+ _request_timeout: Union[
58
+ None,
59
+ Annotated[StrictFloat, Field(gt=0)],
60
+ Tuple[
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Annotated[StrictFloat, Field(gt=0)]
63
+ ]
64
+ ] = None,
65
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
66
+ _content_type: Optional[StrictStr] = None,
67
+ _headers: Optional[Dict[StrictStr, Any]] = None,
68
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
69
+ ) -> BaseResponseCommentResponse:
70
+ """Create a comment for this function
71
+
72
+ Creates a comment associated with a specified function).
73
+
74
+ :param function_id: (required)
75
+ :type function_id: int
76
+ :param function_comment_create_request: (required)
77
+ :type function_comment_create_request: FunctionCommentCreateRequest
78
+ :param authorization: API Key bearer token
79
+ :type authorization: str
80
+ :param _request_timeout: timeout setting for this request. If one
81
+ number provided, it will be total request
82
+ timeout. It can also be a pair (tuple) of
83
+ (connection, read) timeouts.
84
+ :type _request_timeout: int, tuple(int, int), optional
85
+ :param _request_auth: set to override the auth_settings for an a single
86
+ request; this effectively ignores the
87
+ authentication in the spec for a single request.
88
+ :type _request_auth: dict, optional
89
+ :param _content_type: force content-type for the request.
90
+ :type _content_type: str, Optional
91
+ :param _headers: set to override the headers for a single
92
+ request; this effectively ignores the headers
93
+ in the spec for a single request.
94
+ :type _headers: dict, optional
95
+ :param _host_index: set to override the host_index for a single
96
+ request; this effectively ignores the host_index
97
+ in the spec for a single request.
98
+ :type _host_index: int, optional
99
+ :return: Returns the result object.
100
+ """ # noqa: E501
101
+
102
+ _param = self._create_ai_decompilation_comment_serialize(
103
+ function_id=function_id,
104
+ function_comment_create_request=function_comment_create_request,
105
+ authorization=authorization,
106
+ _request_auth=_request_auth,
107
+ _content_type=_content_type,
108
+ _headers=_headers,
109
+ _host_index=_host_index
110
+ )
111
+
112
+ _response_types_map: Dict[str, Optional[str]] = {
113
+ '201': "BaseResponseCommentResponse",
114
+ '422': "BaseResponse",
115
+ '400': "BaseResponse",
116
+ }
117
+ response_data = self.api_client.call_api(
118
+ *_param,
119
+ _request_timeout=_request_timeout
120
+ )
121
+ response_data.read()
122
+ return self.api_client.response_deserialize(
123
+ response_data=response_data,
124
+ response_types_map=_response_types_map,
125
+ ).data
126
+
127
+
128
+ @validate_call
129
+ def create_ai_decompilation_comment_with_http_info(
130
+ self,
131
+ function_id: StrictInt,
132
+ function_comment_create_request: FunctionCommentCreateRequest,
133
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
134
+ _request_timeout: Union[
135
+ None,
136
+ Annotated[StrictFloat, Field(gt=0)],
137
+ Tuple[
138
+ Annotated[StrictFloat, Field(gt=0)],
139
+ Annotated[StrictFloat, Field(gt=0)]
140
+ ]
141
+ ] = None,
142
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
143
+ _content_type: Optional[StrictStr] = None,
144
+ _headers: Optional[Dict[StrictStr, Any]] = None,
145
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
146
+ ) -> ApiResponse[BaseResponseCommentResponse]:
147
+ """Create a comment for this function
148
+
149
+ Creates a comment associated with a specified function).
150
+
151
+ :param function_id: (required)
152
+ :type function_id: int
153
+ :param function_comment_create_request: (required)
154
+ :type function_comment_create_request: FunctionCommentCreateRequest
155
+ :param authorization: API Key bearer token
156
+ :type authorization: str
157
+ :param _request_timeout: timeout setting for this request. If one
158
+ number provided, it will be total request
159
+ timeout. It can also be a pair (tuple) of
160
+ (connection, read) timeouts.
161
+ :type _request_timeout: int, tuple(int, int), optional
162
+ :param _request_auth: set to override the auth_settings for an a single
163
+ request; this effectively ignores the
164
+ authentication in the spec for a single request.
165
+ :type _request_auth: dict, optional
166
+ :param _content_type: force content-type for the request.
167
+ :type _content_type: str, Optional
168
+ :param _headers: set to override the headers for a single
169
+ request; this effectively ignores the headers
170
+ in the spec for a single request.
171
+ :type _headers: dict, optional
172
+ :param _host_index: set to override the host_index for a single
173
+ request; this effectively ignores the host_index
174
+ in the spec for a single request.
175
+ :type _host_index: int, optional
176
+ :return: Returns the result object.
177
+ """ # noqa: E501
178
+
179
+ _param = self._create_ai_decompilation_comment_serialize(
180
+ function_id=function_id,
181
+ function_comment_create_request=function_comment_create_request,
182
+ authorization=authorization,
183
+ _request_auth=_request_auth,
184
+ _content_type=_content_type,
185
+ _headers=_headers,
186
+ _host_index=_host_index
187
+ )
188
+
189
+ _response_types_map: Dict[str, Optional[str]] = {
190
+ '201': "BaseResponseCommentResponse",
191
+ '422': "BaseResponse",
192
+ '400': "BaseResponse",
193
+ }
194
+ response_data = self.api_client.call_api(
195
+ *_param,
196
+ _request_timeout=_request_timeout
197
+ )
198
+ response_data.read()
199
+ return self.api_client.response_deserialize(
200
+ response_data=response_data,
201
+ response_types_map=_response_types_map,
202
+ )
203
+
204
+
205
+ @validate_call
206
+ def create_ai_decompilation_comment_without_preload_content(
207
+ self,
208
+ function_id: StrictInt,
209
+ function_comment_create_request: FunctionCommentCreateRequest,
210
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
211
+ _request_timeout: Union[
212
+ None,
213
+ Annotated[StrictFloat, Field(gt=0)],
214
+ Tuple[
215
+ Annotated[StrictFloat, Field(gt=0)],
216
+ Annotated[StrictFloat, Field(gt=0)]
217
+ ]
218
+ ] = None,
219
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
220
+ _content_type: Optional[StrictStr] = None,
221
+ _headers: Optional[Dict[StrictStr, Any]] = None,
222
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
223
+ ) -> RESTResponseType:
224
+ """Create a comment for this function
225
+
226
+ Creates a comment associated with a specified function).
227
+
228
+ :param function_id: (required)
229
+ :type function_id: int
230
+ :param function_comment_create_request: (required)
231
+ :type function_comment_create_request: FunctionCommentCreateRequest
232
+ :param authorization: API Key bearer token
233
+ :type authorization: str
234
+ :param _request_timeout: timeout setting for this request. If one
235
+ number provided, it will be total request
236
+ timeout. It can also be a pair (tuple) of
237
+ (connection, read) timeouts.
238
+ :type _request_timeout: int, tuple(int, int), optional
239
+ :param _request_auth: set to override the auth_settings for an a single
240
+ request; this effectively ignores the
241
+ authentication in the spec for a single request.
242
+ :type _request_auth: dict, optional
243
+ :param _content_type: force content-type for the request.
244
+ :type _content_type: str, Optional
245
+ :param _headers: set to override the headers for a single
246
+ request; this effectively ignores the headers
247
+ in the spec for a single request.
248
+ :type _headers: dict, optional
249
+ :param _host_index: set to override the host_index for a single
250
+ request; this effectively ignores the host_index
251
+ in the spec for a single request.
252
+ :type _host_index: int, optional
253
+ :return: Returns the result object.
254
+ """ # noqa: E501
255
+
256
+ _param = self._create_ai_decompilation_comment_serialize(
257
+ function_id=function_id,
258
+ function_comment_create_request=function_comment_create_request,
259
+ authorization=authorization,
260
+ _request_auth=_request_auth,
261
+ _content_type=_content_type,
262
+ _headers=_headers,
263
+ _host_index=_host_index
264
+ )
265
+
266
+ _response_types_map: Dict[str, Optional[str]] = {
267
+ '201': "BaseResponseCommentResponse",
268
+ '422': "BaseResponse",
269
+ '400': "BaseResponse",
270
+ }
271
+ response_data = self.api_client.call_api(
272
+ *_param,
273
+ _request_timeout=_request_timeout
274
+ )
275
+ return response_data.response
276
+
277
+
278
+ def _create_ai_decompilation_comment_serialize(
279
+ self,
280
+ function_id,
281
+ function_comment_create_request,
282
+ authorization,
283
+ _request_auth,
284
+ _content_type,
285
+ _headers,
286
+ _host_index,
287
+ ) -> RequestSerialized:
288
+
289
+ _host = None
290
+
291
+ _collection_formats: Dict[str, str] = {
292
+ }
293
+
294
+ _path_params: Dict[str, str] = {}
295
+ _query_params: List[Tuple[str, str]] = []
296
+ _header_params: Dict[str, Optional[str]] = _headers or {}
297
+ _form_params: List[Tuple[str, str]] = []
298
+ _files: Dict[
299
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
300
+ ] = {}
301
+ _body_params: Optional[bytes] = None
302
+
303
+ # process the path parameters
304
+ if function_id is not None:
305
+ _path_params['function_id'] = function_id
306
+ # process the query parameters
307
+ # process the header parameters
308
+ if authorization is not None:
309
+ _header_params['authorization'] = authorization
310
+ # process the form parameters
311
+ # process the body parameter
312
+ if function_comment_create_request is not None:
313
+ _body_params = function_comment_create_request
314
+
315
+
316
+ # set the HTTP header `Accept`
317
+ if 'Accept' not in _header_params:
318
+ _header_params['Accept'] = self.api_client.select_header_accept(
319
+ [
320
+ 'application/json'
321
+ ]
322
+ )
323
+
324
+ # set the HTTP header `Content-Type`
325
+ if _content_type:
326
+ _header_params['Content-Type'] = _content_type
327
+ else:
328
+ _default_content_type = (
329
+ self.api_client.select_header_content_type(
330
+ [
331
+ 'application/json'
332
+ ]
333
+ )
334
+ )
335
+ if _default_content_type is not None:
336
+ _header_params['Content-Type'] = _default_content_type
337
+
338
+ # authentication setting
339
+ _auth_settings: List[str] = [
340
+ 'APIKey'
341
+ ]
342
+
343
+ return self.api_client.param_serialize(
344
+ method='POST',
345
+ resource_path='/v2/functions/{function_id}/ai-decompilation/comments',
346
+ path_params=_path_params,
347
+ query_params=_query_params,
348
+ header_params=_header_params,
349
+ body=_body_params,
350
+ post_params=_form_params,
351
+ files=_files,
352
+ auth_settings=_auth_settings,
353
+ collection_formats=_collection_formats,
354
+ _host=_host,
355
+ _request_auth=_request_auth
356
+ )
357
+
358
+
359
+
360
+
361
+ @validate_call
362
+ def create_ai_decompilation_task(
363
+ self,
364
+ function_id: StrictInt,
365
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
366
+ _request_timeout: Union[
367
+ None,
368
+ Annotated[StrictFloat, Field(gt=0)],
369
+ Tuple[
370
+ Annotated[StrictFloat, Field(gt=0)],
371
+ Annotated[StrictFloat, Field(gt=0)]
372
+ ]
373
+ ] = None,
374
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
375
+ _content_type: Optional[StrictStr] = None,
376
+ _headers: Optional[Dict[StrictStr, Any]] = None,
377
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
378
+ ) -> BaseResponse:
379
+ """Begins AI Decompilation Process
380
+
381
+ Begins the AI Decompilation Process
382
+
383
+ :param function_id: (required)
384
+ :type function_id: int
385
+ :param authorization: API Key bearer token
386
+ :type authorization: str
387
+ :param _request_timeout: timeout setting for this request. If one
388
+ number provided, it will be total request
389
+ timeout. It can also be a pair (tuple) of
390
+ (connection, read) timeouts.
391
+ :type _request_timeout: int, tuple(int, int), optional
392
+ :param _request_auth: set to override the auth_settings for an a single
393
+ request; this effectively ignores the
394
+ authentication in the spec for a single request.
395
+ :type _request_auth: dict, optional
396
+ :param _content_type: force content-type for the request.
397
+ :type _content_type: str, Optional
398
+ :param _headers: set to override the headers for a single
399
+ request; this effectively ignores the headers
400
+ in the spec for a single request.
401
+ :type _headers: dict, optional
402
+ :param _host_index: set to override the host_index for a single
403
+ request; this effectively ignores the host_index
404
+ in the spec for a single request.
405
+ :type _host_index: int, optional
406
+ :return: Returns the result object.
407
+ """ # noqa: E501
408
+
409
+ _param = self._create_ai_decompilation_task_serialize(
410
+ function_id=function_id,
411
+ authorization=authorization,
412
+ _request_auth=_request_auth,
413
+ _content_type=_content_type,
414
+ _headers=_headers,
415
+ _host_index=_host_index
416
+ )
417
+
418
+ _response_types_map: Dict[str, Optional[str]] = {
419
+ '201': "BaseResponse",
420
+ '422': "BaseResponse",
421
+ '403': "BaseResponse",
422
+ '402': "BaseResponse",
423
+ '409': "BaseResponse",
424
+ '400': "BaseResponse",
425
+ }
426
+ response_data = self.api_client.call_api(
427
+ *_param,
428
+ _request_timeout=_request_timeout
429
+ )
430
+ response_data.read()
431
+ return self.api_client.response_deserialize(
432
+ response_data=response_data,
433
+ response_types_map=_response_types_map,
434
+ ).data
435
+
436
+
437
+ @validate_call
438
+ def create_ai_decompilation_task_with_http_info(
439
+ self,
440
+ function_id: StrictInt,
441
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
442
+ _request_timeout: Union[
443
+ None,
444
+ Annotated[StrictFloat, Field(gt=0)],
445
+ Tuple[
446
+ Annotated[StrictFloat, Field(gt=0)],
447
+ Annotated[StrictFloat, Field(gt=0)]
448
+ ]
449
+ ] = None,
450
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
451
+ _content_type: Optional[StrictStr] = None,
452
+ _headers: Optional[Dict[StrictStr, Any]] = None,
453
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
454
+ ) -> ApiResponse[BaseResponse]:
455
+ """Begins AI Decompilation Process
456
+
457
+ Begins the AI Decompilation Process
458
+
459
+ :param function_id: (required)
460
+ :type function_id: int
461
+ :param authorization: API Key bearer token
462
+ :type authorization: str
463
+ :param _request_timeout: timeout setting for this request. If one
464
+ number provided, it will be total request
465
+ timeout. It can also be a pair (tuple) of
466
+ (connection, read) timeouts.
467
+ :type _request_timeout: int, tuple(int, int), optional
468
+ :param _request_auth: set to override the auth_settings for an a single
469
+ request; this effectively ignores the
470
+ authentication in the spec for a single request.
471
+ :type _request_auth: dict, optional
472
+ :param _content_type: force content-type for the request.
473
+ :type _content_type: str, Optional
474
+ :param _headers: set to override the headers for a single
475
+ request; this effectively ignores the headers
476
+ in the spec for a single request.
477
+ :type _headers: dict, optional
478
+ :param _host_index: set to override the host_index for a single
479
+ request; this effectively ignores the host_index
480
+ in the spec for a single request.
481
+ :type _host_index: int, optional
482
+ :return: Returns the result object.
483
+ """ # noqa: E501
484
+
485
+ _param = self._create_ai_decompilation_task_serialize(
486
+ function_id=function_id,
487
+ authorization=authorization,
488
+ _request_auth=_request_auth,
489
+ _content_type=_content_type,
490
+ _headers=_headers,
491
+ _host_index=_host_index
492
+ )
493
+
494
+ _response_types_map: Dict[str, Optional[str]] = {
495
+ '201': "BaseResponse",
496
+ '422': "BaseResponse",
497
+ '403': "BaseResponse",
498
+ '402': "BaseResponse",
499
+ '409': "BaseResponse",
500
+ '400': "BaseResponse",
501
+ }
502
+ response_data = self.api_client.call_api(
503
+ *_param,
504
+ _request_timeout=_request_timeout
505
+ )
506
+ response_data.read()
507
+ return self.api_client.response_deserialize(
508
+ response_data=response_data,
509
+ response_types_map=_response_types_map,
510
+ )
511
+
512
+
513
+ @validate_call
514
+ def create_ai_decompilation_task_without_preload_content(
515
+ self,
516
+ function_id: StrictInt,
517
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
518
+ _request_timeout: Union[
519
+ None,
520
+ Annotated[StrictFloat, Field(gt=0)],
521
+ Tuple[
522
+ Annotated[StrictFloat, Field(gt=0)],
523
+ Annotated[StrictFloat, Field(gt=0)]
524
+ ]
525
+ ] = None,
526
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
527
+ _content_type: Optional[StrictStr] = None,
528
+ _headers: Optional[Dict[StrictStr, Any]] = None,
529
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
530
+ ) -> RESTResponseType:
531
+ """Begins AI Decompilation Process
532
+
533
+ Begins the AI Decompilation Process
534
+
535
+ :param function_id: (required)
536
+ :type function_id: int
537
+ :param authorization: API Key bearer token
538
+ :type authorization: str
539
+ :param _request_timeout: timeout setting for this request. If one
540
+ number provided, it will be total request
541
+ timeout. It can also be a pair (tuple) of
542
+ (connection, read) timeouts.
543
+ :type _request_timeout: int, tuple(int, int), optional
544
+ :param _request_auth: set to override the auth_settings for an a single
545
+ request; this effectively ignores the
546
+ authentication in the spec for a single request.
547
+ :type _request_auth: dict, optional
548
+ :param _content_type: force content-type for the request.
549
+ :type _content_type: str, Optional
550
+ :param _headers: set to override the headers for a single
551
+ request; this effectively ignores the headers
552
+ in the spec for a single request.
553
+ :type _headers: dict, optional
554
+ :param _host_index: set to override the host_index for a single
555
+ request; this effectively ignores the host_index
556
+ in the spec for a single request.
557
+ :type _host_index: int, optional
558
+ :return: Returns the result object.
559
+ """ # noqa: E501
560
+
561
+ _param = self._create_ai_decompilation_task_serialize(
562
+ function_id=function_id,
563
+ authorization=authorization,
564
+ _request_auth=_request_auth,
565
+ _content_type=_content_type,
566
+ _headers=_headers,
567
+ _host_index=_host_index
568
+ )
569
+
570
+ _response_types_map: Dict[str, Optional[str]] = {
571
+ '201': "BaseResponse",
572
+ '422': "BaseResponse",
573
+ '403': "BaseResponse",
574
+ '402': "BaseResponse",
575
+ '409': "BaseResponse",
576
+ '400': "BaseResponse",
577
+ }
578
+ response_data = self.api_client.call_api(
579
+ *_param,
580
+ _request_timeout=_request_timeout
581
+ )
582
+ return response_data.response
583
+
584
+
585
+ def _create_ai_decompilation_task_serialize(
586
+ self,
587
+ function_id,
588
+ authorization,
589
+ _request_auth,
590
+ _content_type,
591
+ _headers,
592
+ _host_index,
593
+ ) -> RequestSerialized:
594
+
595
+ _host = None
596
+
597
+ _collection_formats: Dict[str, str] = {
598
+ }
599
+
600
+ _path_params: Dict[str, str] = {}
601
+ _query_params: List[Tuple[str, str]] = []
602
+ _header_params: Dict[str, Optional[str]] = _headers or {}
603
+ _form_params: List[Tuple[str, str]] = []
604
+ _files: Dict[
605
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
606
+ ] = {}
607
+ _body_params: Optional[bytes] = None
608
+
609
+ # process the path parameters
610
+ if function_id is not None:
611
+ _path_params['function_id'] = function_id
612
+ # process the query parameters
613
+ # process the header parameters
614
+ if authorization is not None:
615
+ _header_params['authorization'] = authorization
616
+ # process the form parameters
617
+ # process the body parameter
618
+
619
+
620
+ # set the HTTP header `Accept`
621
+ if 'Accept' not in _header_params:
622
+ _header_params['Accept'] = self.api_client.select_header_accept(
623
+ [
624
+ 'application/json'
625
+ ]
626
+ )
627
+
628
+
629
+ # authentication setting
630
+ _auth_settings: List[str] = [
631
+ 'APIKey'
632
+ ]
633
+
634
+ return self.api_client.param_serialize(
635
+ method='POST',
636
+ resource_path='/v2/functions/{function_id}/ai-decompilation',
637
+ path_params=_path_params,
638
+ query_params=_query_params,
639
+ header_params=_header_params,
640
+ body=_body_params,
641
+ post_params=_form_params,
642
+ files=_files,
643
+ auth_settings=_auth_settings,
644
+ collection_formats=_collection_formats,
645
+ _host=_host,
646
+ _request_auth=_request_auth
647
+ )
648
+
649
+
650
+
651
+
652
+ @validate_call
653
+ def delete_ai_decompilation_comment(
654
+ self,
655
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
656
+ function_id: StrictInt,
657
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
658
+ _request_timeout: Union[
659
+ None,
660
+ Annotated[StrictFloat, Field(gt=0)],
661
+ Tuple[
662
+ Annotated[StrictFloat, Field(gt=0)],
663
+ Annotated[StrictFloat, Field(gt=0)]
664
+ ]
665
+ ] = None,
666
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
667
+ _content_type: Optional[StrictStr] = None,
668
+ _headers: Optional[Dict[StrictStr, Any]] = None,
669
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
670
+ ) -> BaseResponseBool:
671
+ """Delete a comment
672
+
673
+ Deletes an existing comment. Users can only delete their own comments.
674
+
675
+ :param comment_id: (required)
676
+ :type comment_id: int
677
+ :param function_id: (required)
678
+ :type function_id: int
679
+ :param authorization: API Key bearer token
680
+ :type authorization: str
681
+ :param _request_timeout: timeout setting for this request. If one
682
+ number provided, it will be total request
683
+ timeout. It can also be a pair (tuple) of
684
+ (connection, read) timeouts.
685
+ :type _request_timeout: int, tuple(int, int), optional
686
+ :param _request_auth: set to override the auth_settings for an a single
687
+ request; this effectively ignores the
688
+ authentication in the spec for a single request.
689
+ :type _request_auth: dict, optional
690
+ :param _content_type: force content-type for the request.
691
+ :type _content_type: str, Optional
692
+ :param _headers: set to override the headers for a single
693
+ request; this effectively ignores the headers
694
+ in the spec for a single request.
695
+ :type _headers: dict, optional
696
+ :param _host_index: set to override the host_index for a single
697
+ request; this effectively ignores the host_index
698
+ in the spec for a single request.
699
+ :type _host_index: int, optional
700
+ :return: Returns the result object.
701
+ """ # noqa: E501
702
+
703
+ _param = self._delete_ai_decompilation_comment_serialize(
704
+ comment_id=comment_id,
705
+ function_id=function_id,
706
+ authorization=authorization,
707
+ _request_auth=_request_auth,
708
+ _content_type=_content_type,
709
+ _headers=_headers,
710
+ _host_index=_host_index
711
+ )
712
+
713
+ _response_types_map: Dict[str, Optional[str]] = {
714
+ '200': "BaseResponseBool",
715
+ '422': "BaseResponse",
716
+ '403': "BaseResponse",
717
+ '400': "BaseResponse",
718
+ }
719
+ response_data = self.api_client.call_api(
720
+ *_param,
721
+ _request_timeout=_request_timeout
722
+ )
723
+ response_data.read()
724
+ return self.api_client.response_deserialize(
725
+ response_data=response_data,
726
+ response_types_map=_response_types_map,
727
+ ).data
728
+
729
+
730
+ @validate_call
731
+ def delete_ai_decompilation_comment_with_http_info(
732
+ self,
733
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
734
+ function_id: StrictInt,
735
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
736
+ _request_timeout: Union[
737
+ None,
738
+ Annotated[StrictFloat, Field(gt=0)],
739
+ Tuple[
740
+ Annotated[StrictFloat, Field(gt=0)],
741
+ Annotated[StrictFloat, Field(gt=0)]
742
+ ]
743
+ ] = None,
744
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
745
+ _content_type: Optional[StrictStr] = None,
746
+ _headers: Optional[Dict[StrictStr, Any]] = None,
747
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
748
+ ) -> ApiResponse[BaseResponseBool]:
749
+ """Delete a comment
750
+
751
+ Deletes an existing comment. Users can only delete their own comments.
752
+
753
+ :param comment_id: (required)
754
+ :type comment_id: int
755
+ :param function_id: (required)
756
+ :type function_id: int
757
+ :param authorization: API Key bearer token
758
+ :type authorization: str
759
+ :param _request_timeout: timeout setting for this request. If one
760
+ number provided, it will be total request
761
+ timeout. It can also be a pair (tuple) of
762
+ (connection, read) timeouts.
763
+ :type _request_timeout: int, tuple(int, int), optional
764
+ :param _request_auth: set to override the auth_settings for an a single
765
+ request; this effectively ignores the
766
+ authentication in the spec for a single request.
767
+ :type _request_auth: dict, optional
768
+ :param _content_type: force content-type for the request.
769
+ :type _content_type: str, Optional
770
+ :param _headers: set to override the headers for a single
771
+ request; this effectively ignores the headers
772
+ in the spec for a single request.
773
+ :type _headers: dict, optional
774
+ :param _host_index: set to override the host_index for a single
775
+ request; this effectively ignores the host_index
776
+ in the spec for a single request.
777
+ :type _host_index: int, optional
778
+ :return: Returns the result object.
779
+ """ # noqa: E501
780
+
781
+ _param = self._delete_ai_decompilation_comment_serialize(
782
+ comment_id=comment_id,
783
+ function_id=function_id,
784
+ authorization=authorization,
785
+ _request_auth=_request_auth,
786
+ _content_type=_content_type,
787
+ _headers=_headers,
788
+ _host_index=_host_index
789
+ )
790
+
791
+ _response_types_map: Dict[str, Optional[str]] = {
792
+ '200': "BaseResponseBool",
793
+ '422': "BaseResponse",
794
+ '403': "BaseResponse",
795
+ '400': "BaseResponse",
796
+ }
797
+ response_data = self.api_client.call_api(
798
+ *_param,
799
+ _request_timeout=_request_timeout
800
+ )
801
+ response_data.read()
802
+ return self.api_client.response_deserialize(
803
+ response_data=response_data,
804
+ response_types_map=_response_types_map,
805
+ )
806
+
807
+
808
+ @validate_call
809
+ def delete_ai_decompilation_comment_without_preload_content(
810
+ self,
811
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
812
+ function_id: StrictInt,
813
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
814
+ _request_timeout: Union[
815
+ None,
816
+ Annotated[StrictFloat, Field(gt=0)],
817
+ Tuple[
818
+ Annotated[StrictFloat, Field(gt=0)],
819
+ Annotated[StrictFloat, Field(gt=0)]
820
+ ]
821
+ ] = None,
822
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
823
+ _content_type: Optional[StrictStr] = None,
824
+ _headers: Optional[Dict[StrictStr, Any]] = None,
825
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
826
+ ) -> RESTResponseType:
827
+ """Delete a comment
828
+
829
+ Deletes an existing comment. Users can only delete their own comments.
830
+
831
+ :param comment_id: (required)
832
+ :type comment_id: int
833
+ :param function_id: (required)
834
+ :type function_id: int
835
+ :param authorization: API Key bearer token
836
+ :type authorization: str
837
+ :param _request_timeout: timeout setting for this request. If one
838
+ number provided, it will be total request
839
+ timeout. It can also be a pair (tuple) of
840
+ (connection, read) timeouts.
841
+ :type _request_timeout: int, tuple(int, int), optional
842
+ :param _request_auth: set to override the auth_settings for an a single
843
+ request; this effectively ignores the
844
+ authentication in the spec for a single request.
845
+ :type _request_auth: dict, optional
846
+ :param _content_type: force content-type for the request.
847
+ :type _content_type: str, Optional
848
+ :param _headers: set to override the headers for a single
849
+ request; this effectively ignores the headers
850
+ in the spec for a single request.
851
+ :type _headers: dict, optional
852
+ :param _host_index: set to override the host_index for a single
853
+ request; this effectively ignores the host_index
854
+ in the spec for a single request.
855
+ :type _host_index: int, optional
856
+ :return: Returns the result object.
857
+ """ # noqa: E501
858
+
859
+ _param = self._delete_ai_decompilation_comment_serialize(
860
+ comment_id=comment_id,
861
+ function_id=function_id,
862
+ authorization=authorization,
863
+ _request_auth=_request_auth,
864
+ _content_type=_content_type,
865
+ _headers=_headers,
866
+ _host_index=_host_index
867
+ )
868
+
869
+ _response_types_map: Dict[str, Optional[str]] = {
870
+ '200': "BaseResponseBool",
871
+ '422': "BaseResponse",
872
+ '403': "BaseResponse",
873
+ '400': "BaseResponse",
874
+ }
875
+ response_data = self.api_client.call_api(
876
+ *_param,
877
+ _request_timeout=_request_timeout
878
+ )
879
+ return response_data.response
880
+
881
+
882
+ def _delete_ai_decompilation_comment_serialize(
883
+ self,
884
+ comment_id,
885
+ function_id,
886
+ authorization,
887
+ _request_auth,
888
+ _content_type,
889
+ _headers,
890
+ _host_index,
891
+ ) -> RequestSerialized:
892
+
893
+ _host = None
894
+
895
+ _collection_formats: Dict[str, str] = {
896
+ }
897
+
898
+ _path_params: Dict[str, str] = {}
899
+ _query_params: List[Tuple[str, str]] = []
900
+ _header_params: Dict[str, Optional[str]] = _headers or {}
901
+ _form_params: List[Tuple[str, str]] = []
902
+ _files: Dict[
903
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
904
+ ] = {}
905
+ _body_params: Optional[bytes] = None
906
+
907
+ # process the path parameters
908
+ if comment_id is not None:
909
+ _path_params['comment_id'] = comment_id
910
+ if function_id is not None:
911
+ _path_params['function_id'] = function_id
912
+ # process the query parameters
913
+ # process the header parameters
914
+ if authorization is not None:
915
+ _header_params['authorization'] = authorization
916
+ # process the form parameters
917
+ # process the body parameter
918
+
919
+
920
+ # set the HTTP header `Accept`
921
+ if 'Accept' not in _header_params:
922
+ _header_params['Accept'] = self.api_client.select_header_accept(
923
+ [
924
+ 'application/json'
925
+ ]
926
+ )
927
+
928
+
929
+ # authentication setting
930
+ _auth_settings: List[str] = [
931
+ 'APIKey'
932
+ ]
933
+
934
+ return self.api_client.param_serialize(
935
+ method='DELETE',
936
+ resource_path='/v2/functions/{function_id}/ai-decompilation/comments/{comment_id}',
937
+ path_params=_path_params,
938
+ query_params=_query_params,
939
+ header_params=_header_params,
940
+ body=_body_params,
941
+ post_params=_form_params,
942
+ files=_files,
943
+ auth_settings=_auth_settings,
944
+ collection_formats=_collection_formats,
945
+ _host=_host,
946
+ _request_auth=_request_auth
947
+ )
948
+
949
+
950
+
951
+
952
+ @validate_call
953
+ def get_ai_decompilation_comments(
954
+ self,
955
+ function_id: StrictInt,
956
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
957
+ _request_timeout: Union[
958
+ None,
959
+ Annotated[StrictFloat, Field(gt=0)],
960
+ Tuple[
961
+ Annotated[StrictFloat, Field(gt=0)],
962
+ Annotated[StrictFloat, Field(gt=0)]
963
+ ]
964
+ ] = None,
965
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
966
+ _content_type: Optional[StrictStr] = None,
967
+ _headers: Optional[Dict[StrictStr, Any]] = None,
968
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
969
+ ) -> BaseResponseListCommentResponse:
970
+ """Get comments for this function
971
+
972
+ Retrieves all comments created for a specific function. Only returns comments for resources the requesting user has access to.
973
+
974
+ :param function_id: (required)
975
+ :type function_id: int
976
+ :param authorization: API Key bearer token
977
+ :type authorization: str
978
+ :param _request_timeout: timeout setting for this request. If one
979
+ number provided, it will be total request
980
+ timeout. It can also be a pair (tuple) of
981
+ (connection, read) timeouts.
982
+ :type _request_timeout: int, tuple(int, int), optional
983
+ :param _request_auth: set to override the auth_settings for an a single
984
+ request; this effectively ignores the
985
+ authentication in the spec for a single request.
986
+ :type _request_auth: dict, optional
987
+ :param _content_type: force content-type for the request.
988
+ :type _content_type: str, Optional
989
+ :param _headers: set to override the headers for a single
990
+ request; this effectively ignores the headers
991
+ in the spec for a single request.
992
+ :type _headers: dict, optional
993
+ :param _host_index: set to override the host_index for a single
994
+ request; this effectively ignores the host_index
995
+ in the spec for a single request.
996
+ :type _host_index: int, optional
997
+ :return: Returns the result object.
998
+ """ # noqa: E501
999
+
1000
+ _param = self._get_ai_decompilation_comments_serialize(
1001
+ function_id=function_id,
1002
+ authorization=authorization,
1003
+ _request_auth=_request_auth,
1004
+ _content_type=_content_type,
1005
+ _headers=_headers,
1006
+ _host_index=_host_index
1007
+ )
1008
+
1009
+ _response_types_map: Dict[str, Optional[str]] = {
1010
+ '200': "BaseResponseListCommentResponse",
1011
+ '422': "BaseResponse",
1012
+ }
1013
+ response_data = self.api_client.call_api(
1014
+ *_param,
1015
+ _request_timeout=_request_timeout
1016
+ )
1017
+ response_data.read()
1018
+ return self.api_client.response_deserialize(
1019
+ response_data=response_data,
1020
+ response_types_map=_response_types_map,
1021
+ ).data
1022
+
1023
+
1024
+ @validate_call
1025
+ def get_ai_decompilation_comments_with_http_info(
1026
+ self,
1027
+ function_id: StrictInt,
1028
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1029
+ _request_timeout: Union[
1030
+ None,
1031
+ Annotated[StrictFloat, Field(gt=0)],
1032
+ Tuple[
1033
+ Annotated[StrictFloat, Field(gt=0)],
1034
+ Annotated[StrictFloat, Field(gt=0)]
1035
+ ]
1036
+ ] = None,
1037
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1038
+ _content_type: Optional[StrictStr] = None,
1039
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1040
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1041
+ ) -> ApiResponse[BaseResponseListCommentResponse]:
1042
+ """Get comments for this function
1043
+
1044
+ Retrieves all comments created for a specific function. Only returns comments for resources the requesting user has access to.
1045
+
1046
+ :param function_id: (required)
1047
+ :type function_id: int
1048
+ :param authorization: API Key bearer token
1049
+ :type authorization: str
1050
+ :param _request_timeout: timeout setting for this request. If one
1051
+ number provided, it will be total request
1052
+ timeout. It can also be a pair (tuple) of
1053
+ (connection, read) timeouts.
1054
+ :type _request_timeout: int, tuple(int, int), optional
1055
+ :param _request_auth: set to override the auth_settings for an a single
1056
+ request; this effectively ignores the
1057
+ authentication in the spec for a single request.
1058
+ :type _request_auth: dict, optional
1059
+ :param _content_type: force content-type for the request.
1060
+ :type _content_type: str, Optional
1061
+ :param _headers: set to override the headers for a single
1062
+ request; this effectively ignores the headers
1063
+ in the spec for a single request.
1064
+ :type _headers: dict, optional
1065
+ :param _host_index: set to override the host_index for a single
1066
+ request; this effectively ignores the host_index
1067
+ in the spec for a single request.
1068
+ :type _host_index: int, optional
1069
+ :return: Returns the result object.
1070
+ """ # noqa: E501
1071
+
1072
+ _param = self._get_ai_decompilation_comments_serialize(
1073
+ function_id=function_id,
1074
+ authorization=authorization,
1075
+ _request_auth=_request_auth,
1076
+ _content_type=_content_type,
1077
+ _headers=_headers,
1078
+ _host_index=_host_index
1079
+ )
1080
+
1081
+ _response_types_map: Dict[str, Optional[str]] = {
1082
+ '200': "BaseResponseListCommentResponse",
1083
+ '422': "BaseResponse",
1084
+ }
1085
+ response_data = self.api_client.call_api(
1086
+ *_param,
1087
+ _request_timeout=_request_timeout
1088
+ )
1089
+ response_data.read()
1090
+ return self.api_client.response_deserialize(
1091
+ response_data=response_data,
1092
+ response_types_map=_response_types_map,
1093
+ )
1094
+
1095
+
1096
+ @validate_call
1097
+ def get_ai_decompilation_comments_without_preload_content(
1098
+ self,
1099
+ function_id: StrictInt,
1100
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1101
+ _request_timeout: Union[
1102
+ None,
1103
+ Annotated[StrictFloat, Field(gt=0)],
1104
+ Tuple[
1105
+ Annotated[StrictFloat, Field(gt=0)],
1106
+ Annotated[StrictFloat, Field(gt=0)]
1107
+ ]
1108
+ ] = None,
1109
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1110
+ _content_type: Optional[StrictStr] = None,
1111
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1112
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1113
+ ) -> RESTResponseType:
1114
+ """Get comments for this function
1115
+
1116
+ Retrieves all comments created for a specific function. Only returns comments for resources the requesting user has access to.
1117
+
1118
+ :param function_id: (required)
1119
+ :type function_id: int
1120
+ :param authorization: API Key bearer token
1121
+ :type authorization: str
1122
+ :param _request_timeout: timeout setting for this request. If one
1123
+ number provided, it will be total request
1124
+ timeout. It can also be a pair (tuple) of
1125
+ (connection, read) timeouts.
1126
+ :type _request_timeout: int, tuple(int, int), optional
1127
+ :param _request_auth: set to override the auth_settings for an a single
1128
+ request; this effectively ignores the
1129
+ authentication in the spec for a single request.
1130
+ :type _request_auth: dict, optional
1131
+ :param _content_type: force content-type for the request.
1132
+ :type _content_type: str, Optional
1133
+ :param _headers: set to override the headers for a single
1134
+ request; this effectively ignores the headers
1135
+ in the spec for a single request.
1136
+ :type _headers: dict, optional
1137
+ :param _host_index: set to override the host_index for a single
1138
+ request; this effectively ignores the host_index
1139
+ in the spec for a single request.
1140
+ :type _host_index: int, optional
1141
+ :return: Returns the result object.
1142
+ """ # noqa: E501
1143
+
1144
+ _param = self._get_ai_decompilation_comments_serialize(
1145
+ function_id=function_id,
1146
+ authorization=authorization,
1147
+ _request_auth=_request_auth,
1148
+ _content_type=_content_type,
1149
+ _headers=_headers,
1150
+ _host_index=_host_index
1151
+ )
1152
+
1153
+ _response_types_map: Dict[str, Optional[str]] = {
1154
+ '200': "BaseResponseListCommentResponse",
1155
+ '422': "BaseResponse",
1156
+ }
1157
+ response_data = self.api_client.call_api(
1158
+ *_param,
1159
+ _request_timeout=_request_timeout
1160
+ )
1161
+ return response_data.response
1162
+
1163
+
1164
+ def _get_ai_decompilation_comments_serialize(
1165
+ self,
1166
+ function_id,
1167
+ authorization,
1168
+ _request_auth,
1169
+ _content_type,
1170
+ _headers,
1171
+ _host_index,
1172
+ ) -> RequestSerialized:
1173
+
1174
+ _host = None
1175
+
1176
+ _collection_formats: Dict[str, str] = {
1177
+ }
1178
+
1179
+ _path_params: Dict[str, str] = {}
1180
+ _query_params: List[Tuple[str, str]] = []
1181
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1182
+ _form_params: List[Tuple[str, str]] = []
1183
+ _files: Dict[
1184
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1185
+ ] = {}
1186
+ _body_params: Optional[bytes] = None
1187
+
1188
+ # process the path parameters
1189
+ if function_id is not None:
1190
+ _path_params['function_id'] = function_id
1191
+ # process the query parameters
1192
+ # process the header parameters
1193
+ if authorization is not None:
1194
+ _header_params['authorization'] = authorization
1195
+ # process the form parameters
1196
+ # process the body parameter
1197
+
1198
+
1199
+ # set the HTTP header `Accept`
1200
+ if 'Accept' not in _header_params:
1201
+ _header_params['Accept'] = self.api_client.select_header_accept(
1202
+ [
1203
+ 'application/json'
1204
+ ]
1205
+ )
1206
+
1207
+
1208
+ # authentication setting
1209
+ _auth_settings: List[str] = [
1210
+ 'APIKey'
1211
+ ]
1212
+
1213
+ return self.api_client.param_serialize(
1214
+ method='GET',
1215
+ resource_path='/v2/functions/{function_id}/ai-decompilation/comments',
1216
+ path_params=_path_params,
1217
+ query_params=_query_params,
1218
+ header_params=_header_params,
1219
+ body=_body_params,
1220
+ post_params=_form_params,
1221
+ files=_files,
1222
+ auth_settings=_auth_settings,
1223
+ collection_formats=_collection_formats,
1224
+ _host=_host,
1225
+ _request_auth=_request_auth
1226
+ )
1227
+
1228
+
1229
+
1230
+
1231
+ @validate_call
1232
+ def get_ai_decompilation_rating(
1233
+ self,
1234
+ function_id: StrictInt,
1235
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1236
+ _request_timeout: Union[
1237
+ None,
1238
+ Annotated[StrictFloat, Field(gt=0)],
1239
+ Tuple[
1240
+ Annotated[StrictFloat, Field(gt=0)],
1241
+ Annotated[StrictFloat, Field(gt=0)]
1242
+ ]
1243
+ ] = None,
1244
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1245
+ _content_type: Optional[StrictStr] = None,
1246
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1247
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1248
+ ) -> BaseResponseGetAiDecompilationRatingResponse:
1249
+ """Get rating for AI decompilation
1250
+
1251
+
1252
+ :param function_id: (required)
1253
+ :type function_id: int
1254
+ :param authorization: API Key bearer token
1255
+ :type authorization: str
1256
+ :param _request_timeout: timeout setting for this request. If one
1257
+ number provided, it will be total request
1258
+ timeout. It can also be a pair (tuple) of
1259
+ (connection, read) timeouts.
1260
+ :type _request_timeout: int, tuple(int, int), optional
1261
+ :param _request_auth: set to override the auth_settings for an a single
1262
+ request; this effectively ignores the
1263
+ authentication in the spec for a single request.
1264
+ :type _request_auth: dict, optional
1265
+ :param _content_type: force content-type for the request.
1266
+ :type _content_type: str, Optional
1267
+ :param _headers: set to override the headers for a single
1268
+ request; this effectively ignores the headers
1269
+ in the spec for a single request.
1270
+ :type _headers: dict, optional
1271
+ :param _host_index: set to override the host_index for a single
1272
+ request; this effectively ignores the host_index
1273
+ in the spec for a single request.
1274
+ :type _host_index: int, optional
1275
+ :return: Returns the result object.
1276
+ """ # noqa: E501
1277
+
1278
+ _param = self._get_ai_decompilation_rating_serialize(
1279
+ function_id=function_id,
1280
+ authorization=authorization,
1281
+ _request_auth=_request_auth,
1282
+ _content_type=_content_type,
1283
+ _headers=_headers,
1284
+ _host_index=_host_index
1285
+ )
1286
+
1287
+ _response_types_map: Dict[str, Optional[str]] = {
1288
+ '200': "BaseResponseGetAiDecompilationRatingResponse",
1289
+ '422': "BaseResponse",
1290
+ }
1291
+ response_data = self.api_client.call_api(
1292
+ *_param,
1293
+ _request_timeout=_request_timeout
1294
+ )
1295
+ response_data.read()
1296
+ return self.api_client.response_deserialize(
1297
+ response_data=response_data,
1298
+ response_types_map=_response_types_map,
1299
+ ).data
1300
+
1301
+
1302
+ @validate_call
1303
+ def get_ai_decompilation_rating_with_http_info(
1304
+ self,
1305
+ function_id: StrictInt,
1306
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1307
+ _request_timeout: Union[
1308
+ None,
1309
+ Annotated[StrictFloat, Field(gt=0)],
1310
+ Tuple[
1311
+ Annotated[StrictFloat, Field(gt=0)],
1312
+ Annotated[StrictFloat, Field(gt=0)]
1313
+ ]
1314
+ ] = None,
1315
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1316
+ _content_type: Optional[StrictStr] = None,
1317
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1318
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1319
+ ) -> ApiResponse[BaseResponseGetAiDecompilationRatingResponse]:
1320
+ """Get rating for AI decompilation
1321
+
1322
+
1323
+ :param function_id: (required)
1324
+ :type function_id: int
1325
+ :param authorization: API Key bearer token
1326
+ :type authorization: str
1327
+ :param _request_timeout: timeout setting for this request. If one
1328
+ number provided, it will be total request
1329
+ timeout. It can also be a pair (tuple) of
1330
+ (connection, read) timeouts.
1331
+ :type _request_timeout: int, tuple(int, int), optional
1332
+ :param _request_auth: set to override the auth_settings for an a single
1333
+ request; this effectively ignores the
1334
+ authentication in the spec for a single request.
1335
+ :type _request_auth: dict, optional
1336
+ :param _content_type: force content-type for the request.
1337
+ :type _content_type: str, Optional
1338
+ :param _headers: set to override the headers for a single
1339
+ request; this effectively ignores the headers
1340
+ in the spec for a single request.
1341
+ :type _headers: dict, optional
1342
+ :param _host_index: set to override the host_index for a single
1343
+ request; this effectively ignores the host_index
1344
+ in the spec for a single request.
1345
+ :type _host_index: int, optional
1346
+ :return: Returns the result object.
1347
+ """ # noqa: E501
1348
+
1349
+ _param = self._get_ai_decompilation_rating_serialize(
1350
+ function_id=function_id,
1351
+ authorization=authorization,
1352
+ _request_auth=_request_auth,
1353
+ _content_type=_content_type,
1354
+ _headers=_headers,
1355
+ _host_index=_host_index
1356
+ )
1357
+
1358
+ _response_types_map: Dict[str, Optional[str]] = {
1359
+ '200': "BaseResponseGetAiDecompilationRatingResponse",
1360
+ '422': "BaseResponse",
1361
+ }
1362
+ response_data = self.api_client.call_api(
1363
+ *_param,
1364
+ _request_timeout=_request_timeout
1365
+ )
1366
+ response_data.read()
1367
+ return self.api_client.response_deserialize(
1368
+ response_data=response_data,
1369
+ response_types_map=_response_types_map,
1370
+ )
1371
+
1372
+
1373
+ @validate_call
1374
+ def get_ai_decompilation_rating_without_preload_content(
1375
+ self,
1376
+ function_id: StrictInt,
1377
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1378
+ _request_timeout: Union[
1379
+ None,
1380
+ Annotated[StrictFloat, Field(gt=0)],
1381
+ Tuple[
1382
+ Annotated[StrictFloat, Field(gt=0)],
1383
+ Annotated[StrictFloat, Field(gt=0)]
1384
+ ]
1385
+ ] = None,
1386
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1387
+ _content_type: Optional[StrictStr] = None,
1388
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1389
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1390
+ ) -> RESTResponseType:
1391
+ """Get rating for AI decompilation
1392
+
1393
+
1394
+ :param function_id: (required)
1395
+ :type function_id: int
1396
+ :param authorization: API Key bearer token
1397
+ :type authorization: str
1398
+ :param _request_timeout: timeout setting for this request. If one
1399
+ number provided, it will be total request
1400
+ timeout. It can also be a pair (tuple) of
1401
+ (connection, read) timeouts.
1402
+ :type _request_timeout: int, tuple(int, int), optional
1403
+ :param _request_auth: set to override the auth_settings for an a single
1404
+ request; this effectively ignores the
1405
+ authentication in the spec for a single request.
1406
+ :type _request_auth: dict, optional
1407
+ :param _content_type: force content-type for the request.
1408
+ :type _content_type: str, Optional
1409
+ :param _headers: set to override the headers for a single
1410
+ request; this effectively ignores the headers
1411
+ in the spec for a single request.
1412
+ :type _headers: dict, optional
1413
+ :param _host_index: set to override the host_index for a single
1414
+ request; this effectively ignores the host_index
1415
+ in the spec for a single request.
1416
+ :type _host_index: int, optional
1417
+ :return: Returns the result object.
1418
+ """ # noqa: E501
1419
+
1420
+ _param = self._get_ai_decompilation_rating_serialize(
1421
+ function_id=function_id,
1422
+ authorization=authorization,
1423
+ _request_auth=_request_auth,
1424
+ _content_type=_content_type,
1425
+ _headers=_headers,
1426
+ _host_index=_host_index
1427
+ )
1428
+
1429
+ _response_types_map: Dict[str, Optional[str]] = {
1430
+ '200': "BaseResponseGetAiDecompilationRatingResponse",
1431
+ '422': "BaseResponse",
1432
+ }
1433
+ response_data = self.api_client.call_api(
1434
+ *_param,
1435
+ _request_timeout=_request_timeout
1436
+ )
1437
+ return response_data.response
1438
+
1439
+
1440
+ def _get_ai_decompilation_rating_serialize(
1441
+ self,
1442
+ function_id,
1443
+ authorization,
1444
+ _request_auth,
1445
+ _content_type,
1446
+ _headers,
1447
+ _host_index,
1448
+ ) -> RequestSerialized:
1449
+
1450
+ _host = None
1451
+
1452
+ _collection_formats: Dict[str, str] = {
1453
+ }
1454
+
1455
+ _path_params: Dict[str, str] = {}
1456
+ _query_params: List[Tuple[str, str]] = []
1457
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1458
+ _form_params: List[Tuple[str, str]] = []
1459
+ _files: Dict[
1460
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1461
+ ] = {}
1462
+ _body_params: Optional[bytes] = None
1463
+
1464
+ # process the path parameters
1465
+ if function_id is not None:
1466
+ _path_params['function_id'] = function_id
1467
+ # process the query parameters
1468
+ # process the header parameters
1469
+ if authorization is not None:
1470
+ _header_params['authorization'] = authorization
1471
+ # process the form parameters
1472
+ # process the body parameter
1473
+
1474
+
1475
+ # set the HTTP header `Accept`
1476
+ if 'Accept' not in _header_params:
1477
+ _header_params['Accept'] = self.api_client.select_header_accept(
1478
+ [
1479
+ 'application/json'
1480
+ ]
1481
+ )
1482
+
1483
+
1484
+ # authentication setting
1485
+ _auth_settings: List[str] = [
1486
+ 'APIKey'
1487
+ ]
1488
+
1489
+ return self.api_client.param_serialize(
1490
+ method='GET',
1491
+ resource_path='/v2/functions/{function_id}/ai-decompilation/rating',
1492
+ path_params=_path_params,
1493
+ query_params=_query_params,
1494
+ header_params=_header_params,
1495
+ body=_body_params,
1496
+ post_params=_form_params,
1497
+ files=_files,
1498
+ auth_settings=_auth_settings,
1499
+ collection_formats=_collection_formats,
1500
+ _host=_host,
1501
+ _request_auth=_request_auth
1502
+ )
1503
+
1504
+
1505
+
1506
+
1507
+ @validate_call
1508
+ def get_ai_decompilation_task_result(
1509
+ self,
1510
+ function_id: StrictInt,
1511
+ summarise: Annotated[Optional[StrictBool], Field(description="Generate a summary for the decompilation")] = None,
1512
+ generate_inline_comments: Annotated[Optional[StrictBool], Field(description="Generate inline comments for the decompilation (only works if summarise is enabled)")] = None,
1513
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1514
+ _request_timeout: Union[
1515
+ None,
1516
+ Annotated[StrictFloat, Field(gt=0)],
1517
+ Tuple[
1518
+ Annotated[StrictFloat, Field(gt=0)],
1519
+ Annotated[StrictFloat, Field(gt=0)]
1520
+ ]
1521
+ ] = None,
1522
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1523
+ _content_type: Optional[StrictStr] = None,
1524
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1525
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1526
+ ) -> BaseResponseGetAiDecompilationTask:
1527
+ """Polls AI Decompilation Process
1528
+
1529
+ Polls the AI Decompilation Process
1530
+
1531
+ :param function_id: (required)
1532
+ :type function_id: int
1533
+ :param summarise: Generate a summary for the decompilation
1534
+ :type summarise: bool
1535
+ :param generate_inline_comments: Generate inline comments for the decompilation (only works if summarise is enabled)
1536
+ :type generate_inline_comments: bool
1537
+ :param authorization: API Key bearer token
1538
+ :type authorization: str
1539
+ :param _request_timeout: timeout setting for this request. If one
1540
+ number provided, it will be total request
1541
+ timeout. It can also be a pair (tuple) of
1542
+ (connection, read) timeouts.
1543
+ :type _request_timeout: int, tuple(int, int), optional
1544
+ :param _request_auth: set to override the auth_settings for an a single
1545
+ request; this effectively ignores the
1546
+ authentication in the spec for a single request.
1547
+ :type _request_auth: dict, optional
1548
+ :param _content_type: force content-type for the request.
1549
+ :type _content_type: str, Optional
1550
+ :param _headers: set to override the headers for a single
1551
+ request; this effectively ignores the headers
1552
+ in the spec for a single request.
1553
+ :type _headers: dict, optional
1554
+ :param _host_index: set to override the host_index for a single
1555
+ request; this effectively ignores the host_index
1556
+ in the spec for a single request.
1557
+ :type _host_index: int, optional
1558
+ :return: Returns the result object.
1559
+ """ # noqa: E501
1560
+
1561
+ _param = self._get_ai_decompilation_task_result_serialize(
1562
+ function_id=function_id,
1563
+ summarise=summarise,
1564
+ generate_inline_comments=generate_inline_comments,
1565
+ authorization=authorization,
1566
+ _request_auth=_request_auth,
1567
+ _content_type=_content_type,
1568
+ _headers=_headers,
1569
+ _host_index=_host_index
1570
+ )
1571
+
1572
+ _response_types_map: Dict[str, Optional[str]] = {
1573
+ '200': "BaseResponseGetAiDecompilationTask",
1574
+ '422': "BaseResponse",
1575
+ '403': "BaseResponse",
1576
+ }
1577
+ response_data = self.api_client.call_api(
1578
+ *_param,
1579
+ _request_timeout=_request_timeout
1580
+ )
1581
+ response_data.read()
1582
+ return self.api_client.response_deserialize(
1583
+ response_data=response_data,
1584
+ response_types_map=_response_types_map,
1585
+ ).data
1586
+
1587
+
1588
+ @validate_call
1589
+ def get_ai_decompilation_task_result_with_http_info(
1590
+ self,
1591
+ function_id: StrictInt,
1592
+ summarise: Annotated[Optional[StrictBool], Field(description="Generate a summary for the decompilation")] = None,
1593
+ generate_inline_comments: Annotated[Optional[StrictBool], Field(description="Generate inline comments for the decompilation (only works if summarise is enabled)")] = None,
1594
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1595
+ _request_timeout: Union[
1596
+ None,
1597
+ Annotated[StrictFloat, Field(gt=0)],
1598
+ Tuple[
1599
+ Annotated[StrictFloat, Field(gt=0)],
1600
+ Annotated[StrictFloat, Field(gt=0)]
1601
+ ]
1602
+ ] = None,
1603
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1604
+ _content_type: Optional[StrictStr] = None,
1605
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1606
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1607
+ ) -> ApiResponse[BaseResponseGetAiDecompilationTask]:
1608
+ """Polls AI Decompilation Process
1609
+
1610
+ Polls the AI Decompilation Process
1611
+
1612
+ :param function_id: (required)
1613
+ :type function_id: int
1614
+ :param summarise: Generate a summary for the decompilation
1615
+ :type summarise: bool
1616
+ :param generate_inline_comments: Generate inline comments for the decompilation (only works if summarise is enabled)
1617
+ :type generate_inline_comments: bool
1618
+ :param authorization: API Key bearer token
1619
+ :type authorization: str
1620
+ :param _request_timeout: timeout setting for this request. If one
1621
+ number provided, it will be total request
1622
+ timeout. It can also be a pair (tuple) of
1623
+ (connection, read) timeouts.
1624
+ :type _request_timeout: int, tuple(int, int), optional
1625
+ :param _request_auth: set to override the auth_settings for an a single
1626
+ request; this effectively ignores the
1627
+ authentication in the spec for a single request.
1628
+ :type _request_auth: dict, optional
1629
+ :param _content_type: force content-type for the request.
1630
+ :type _content_type: str, Optional
1631
+ :param _headers: set to override the headers for a single
1632
+ request; this effectively ignores the headers
1633
+ in the spec for a single request.
1634
+ :type _headers: dict, optional
1635
+ :param _host_index: set to override the host_index for a single
1636
+ request; this effectively ignores the host_index
1637
+ in the spec for a single request.
1638
+ :type _host_index: int, optional
1639
+ :return: Returns the result object.
1640
+ """ # noqa: E501
1641
+
1642
+ _param = self._get_ai_decompilation_task_result_serialize(
1643
+ function_id=function_id,
1644
+ summarise=summarise,
1645
+ generate_inline_comments=generate_inline_comments,
1646
+ authorization=authorization,
1647
+ _request_auth=_request_auth,
1648
+ _content_type=_content_type,
1649
+ _headers=_headers,
1650
+ _host_index=_host_index
1651
+ )
1652
+
1653
+ _response_types_map: Dict[str, Optional[str]] = {
1654
+ '200': "BaseResponseGetAiDecompilationTask",
1655
+ '422': "BaseResponse",
1656
+ '403': "BaseResponse",
1657
+ }
1658
+ response_data = self.api_client.call_api(
1659
+ *_param,
1660
+ _request_timeout=_request_timeout
1661
+ )
1662
+ response_data.read()
1663
+ return self.api_client.response_deserialize(
1664
+ response_data=response_data,
1665
+ response_types_map=_response_types_map,
1666
+ )
1667
+
1668
+
1669
+ @validate_call
1670
+ def get_ai_decompilation_task_result_without_preload_content(
1671
+ self,
1672
+ function_id: StrictInt,
1673
+ summarise: Annotated[Optional[StrictBool], Field(description="Generate a summary for the decompilation")] = None,
1674
+ generate_inline_comments: Annotated[Optional[StrictBool], Field(description="Generate inline comments for the decompilation (only works if summarise is enabled)")] = None,
1675
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1676
+ _request_timeout: Union[
1677
+ None,
1678
+ Annotated[StrictFloat, Field(gt=0)],
1679
+ Tuple[
1680
+ Annotated[StrictFloat, Field(gt=0)],
1681
+ Annotated[StrictFloat, Field(gt=0)]
1682
+ ]
1683
+ ] = None,
1684
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1685
+ _content_type: Optional[StrictStr] = None,
1686
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1687
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1688
+ ) -> RESTResponseType:
1689
+ """Polls AI Decompilation Process
1690
+
1691
+ Polls the AI Decompilation Process
1692
+
1693
+ :param function_id: (required)
1694
+ :type function_id: int
1695
+ :param summarise: Generate a summary for the decompilation
1696
+ :type summarise: bool
1697
+ :param generate_inline_comments: Generate inline comments for the decompilation (only works if summarise is enabled)
1698
+ :type generate_inline_comments: bool
1699
+ :param authorization: API Key bearer token
1700
+ :type authorization: str
1701
+ :param _request_timeout: timeout setting for this request. If one
1702
+ number provided, it will be total request
1703
+ timeout. It can also be a pair (tuple) of
1704
+ (connection, read) timeouts.
1705
+ :type _request_timeout: int, tuple(int, int), optional
1706
+ :param _request_auth: set to override the auth_settings for an a single
1707
+ request; this effectively ignores the
1708
+ authentication in the spec for a single request.
1709
+ :type _request_auth: dict, optional
1710
+ :param _content_type: force content-type for the request.
1711
+ :type _content_type: str, Optional
1712
+ :param _headers: set to override the headers for a single
1713
+ request; this effectively ignores the headers
1714
+ in the spec for a single request.
1715
+ :type _headers: dict, optional
1716
+ :param _host_index: set to override the host_index for a single
1717
+ request; this effectively ignores the host_index
1718
+ in the spec for a single request.
1719
+ :type _host_index: int, optional
1720
+ :return: Returns the result object.
1721
+ """ # noqa: E501
1722
+
1723
+ _param = self._get_ai_decompilation_task_result_serialize(
1724
+ function_id=function_id,
1725
+ summarise=summarise,
1726
+ generate_inline_comments=generate_inline_comments,
1727
+ authorization=authorization,
1728
+ _request_auth=_request_auth,
1729
+ _content_type=_content_type,
1730
+ _headers=_headers,
1731
+ _host_index=_host_index
1732
+ )
1733
+
1734
+ _response_types_map: Dict[str, Optional[str]] = {
1735
+ '200': "BaseResponseGetAiDecompilationTask",
1736
+ '422': "BaseResponse",
1737
+ '403': "BaseResponse",
1738
+ }
1739
+ response_data = self.api_client.call_api(
1740
+ *_param,
1741
+ _request_timeout=_request_timeout
1742
+ )
1743
+ return response_data.response
1744
+
1745
+
1746
+ def _get_ai_decompilation_task_result_serialize(
1747
+ self,
1748
+ function_id,
1749
+ summarise,
1750
+ generate_inline_comments,
1751
+ authorization,
1752
+ _request_auth,
1753
+ _content_type,
1754
+ _headers,
1755
+ _host_index,
1756
+ ) -> RequestSerialized:
1757
+
1758
+ _host = None
1759
+
1760
+ _collection_formats: Dict[str, str] = {
1761
+ }
1762
+
1763
+ _path_params: Dict[str, str] = {}
1764
+ _query_params: List[Tuple[str, str]] = []
1765
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1766
+ _form_params: List[Tuple[str, str]] = []
1767
+ _files: Dict[
1768
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1769
+ ] = {}
1770
+ _body_params: Optional[bytes] = None
1771
+
1772
+ # process the path parameters
1773
+ if function_id is not None:
1774
+ _path_params['function_id'] = function_id
1775
+ # process the query parameters
1776
+ if summarise is not None:
1777
+
1778
+ _query_params.append(('summarise', summarise))
1779
+
1780
+ if generate_inline_comments is not None:
1781
+
1782
+ _query_params.append(('generate_inline_comments', generate_inline_comments))
1783
+
1784
+ # process the header parameters
1785
+ if authorization is not None:
1786
+ _header_params['authorization'] = authorization
1787
+ # process the form parameters
1788
+ # process the body parameter
1789
+
1790
+
1791
+ # set the HTTP header `Accept`
1792
+ if 'Accept' not in _header_params:
1793
+ _header_params['Accept'] = self.api_client.select_header_accept(
1794
+ [
1795
+ 'application/json'
1796
+ ]
1797
+ )
1798
+
1799
+
1800
+ # authentication setting
1801
+ _auth_settings: List[str] = [
1802
+ 'APIKey'
1803
+ ]
1804
+
1805
+ return self.api_client.param_serialize(
1806
+ method='GET',
1807
+ resource_path='/v2/functions/{function_id}/ai-decompilation',
1808
+ path_params=_path_params,
1809
+ query_params=_query_params,
1810
+ header_params=_header_params,
1811
+ body=_body_params,
1812
+ post_params=_form_params,
1813
+ files=_files,
1814
+ auth_settings=_auth_settings,
1815
+ collection_formats=_collection_formats,
1816
+ _host=_host,
1817
+ _request_auth=_request_auth
1818
+ )
1819
+
1820
+
1821
+
1822
+
1823
+ @validate_call
1824
+ def get_ai_decompilation_task_status(
1825
+ self,
1826
+ function_id: StrictInt,
1827
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1828
+ _request_timeout: Union[
1829
+ None,
1830
+ Annotated[StrictFloat, Field(gt=0)],
1831
+ Tuple[
1832
+ Annotated[StrictFloat, Field(gt=0)],
1833
+ Annotated[StrictFloat, Field(gt=0)]
1834
+ ]
1835
+ ] = None,
1836
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1837
+ _content_type: Optional[StrictStr] = None,
1838
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1839
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1840
+ ) -> BaseResponseFunctionTaskResponse:
1841
+ """Check the status of a function ai decompilation
1842
+
1843
+
1844
+ :param function_id: (required)
1845
+ :type function_id: int
1846
+ :param authorization: API Key bearer token
1847
+ :type authorization: str
1848
+ :param _request_timeout: timeout setting for this request. If one
1849
+ number provided, it will be total request
1850
+ timeout. It can also be a pair (tuple) of
1851
+ (connection, read) timeouts.
1852
+ :type _request_timeout: int, tuple(int, int), optional
1853
+ :param _request_auth: set to override the auth_settings for an a single
1854
+ request; this effectively ignores the
1855
+ authentication in the spec for a single request.
1856
+ :type _request_auth: dict, optional
1857
+ :param _content_type: force content-type for the request.
1858
+ :type _content_type: str, Optional
1859
+ :param _headers: set to override the headers for a single
1860
+ request; this effectively ignores the headers
1861
+ in the spec for a single request.
1862
+ :type _headers: dict, optional
1863
+ :param _host_index: set to override the host_index for a single
1864
+ request; this effectively ignores the host_index
1865
+ in the spec for a single request.
1866
+ :type _host_index: int, optional
1867
+ :return: Returns the result object.
1868
+ """ # noqa: E501
1869
+
1870
+ _param = self._get_ai_decompilation_task_status_serialize(
1871
+ function_id=function_id,
1872
+ authorization=authorization,
1873
+ _request_auth=_request_auth,
1874
+ _content_type=_content_type,
1875
+ _headers=_headers,
1876
+ _host_index=_host_index
1877
+ )
1878
+
1879
+ _response_types_map: Dict[str, Optional[str]] = {
1880
+ '200': "BaseResponseFunctionTaskResponse",
1881
+ '422': "BaseResponse",
1882
+ }
1883
+ response_data = self.api_client.call_api(
1884
+ *_param,
1885
+ _request_timeout=_request_timeout
1886
+ )
1887
+ response_data.read()
1888
+ return self.api_client.response_deserialize(
1889
+ response_data=response_data,
1890
+ response_types_map=_response_types_map,
1891
+ ).data
1892
+
1893
+
1894
+ @validate_call
1895
+ def get_ai_decompilation_task_status_with_http_info(
1896
+ self,
1897
+ function_id: StrictInt,
1898
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1899
+ _request_timeout: Union[
1900
+ None,
1901
+ Annotated[StrictFloat, Field(gt=0)],
1902
+ Tuple[
1903
+ Annotated[StrictFloat, Field(gt=0)],
1904
+ Annotated[StrictFloat, Field(gt=0)]
1905
+ ]
1906
+ ] = None,
1907
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1908
+ _content_type: Optional[StrictStr] = None,
1909
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1910
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1911
+ ) -> ApiResponse[BaseResponseFunctionTaskResponse]:
1912
+ """Check the status of a function ai decompilation
1913
+
1914
+
1915
+ :param function_id: (required)
1916
+ :type function_id: int
1917
+ :param authorization: API Key bearer token
1918
+ :type authorization: str
1919
+ :param _request_timeout: timeout setting for this request. If one
1920
+ number provided, it will be total request
1921
+ timeout. It can also be a pair (tuple) of
1922
+ (connection, read) timeouts.
1923
+ :type _request_timeout: int, tuple(int, int), optional
1924
+ :param _request_auth: set to override the auth_settings for an a single
1925
+ request; this effectively ignores the
1926
+ authentication in the spec for a single request.
1927
+ :type _request_auth: dict, optional
1928
+ :param _content_type: force content-type for the request.
1929
+ :type _content_type: str, Optional
1930
+ :param _headers: set to override the headers for a single
1931
+ request; this effectively ignores the headers
1932
+ in the spec for a single request.
1933
+ :type _headers: dict, optional
1934
+ :param _host_index: set to override the host_index for a single
1935
+ request; this effectively ignores the host_index
1936
+ in the spec for a single request.
1937
+ :type _host_index: int, optional
1938
+ :return: Returns the result object.
1939
+ """ # noqa: E501
1940
+
1941
+ _param = self._get_ai_decompilation_task_status_serialize(
1942
+ function_id=function_id,
1943
+ authorization=authorization,
1944
+ _request_auth=_request_auth,
1945
+ _content_type=_content_type,
1946
+ _headers=_headers,
1947
+ _host_index=_host_index
1948
+ )
1949
+
1950
+ _response_types_map: Dict[str, Optional[str]] = {
1951
+ '200': "BaseResponseFunctionTaskResponse",
1952
+ '422': "BaseResponse",
1953
+ }
1954
+ response_data = self.api_client.call_api(
1955
+ *_param,
1956
+ _request_timeout=_request_timeout
1957
+ )
1958
+ response_data.read()
1959
+ return self.api_client.response_deserialize(
1960
+ response_data=response_data,
1961
+ response_types_map=_response_types_map,
1962
+ )
1963
+
1964
+
1965
+ @validate_call
1966
+ def get_ai_decompilation_task_status_without_preload_content(
1967
+ self,
1968
+ function_id: StrictInt,
1969
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1970
+ _request_timeout: Union[
1971
+ None,
1972
+ Annotated[StrictFloat, Field(gt=0)],
1973
+ Tuple[
1974
+ Annotated[StrictFloat, Field(gt=0)],
1975
+ Annotated[StrictFloat, Field(gt=0)]
1976
+ ]
1977
+ ] = None,
1978
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1979
+ _content_type: Optional[StrictStr] = None,
1980
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1981
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1982
+ ) -> RESTResponseType:
1983
+ """Check the status of a function ai decompilation
1984
+
1985
+
1986
+ :param function_id: (required)
1987
+ :type function_id: int
1988
+ :param authorization: API Key bearer token
1989
+ :type authorization: str
1990
+ :param _request_timeout: timeout setting for this request. If one
1991
+ number provided, it will be total request
1992
+ timeout. It can also be a pair (tuple) of
1993
+ (connection, read) timeouts.
1994
+ :type _request_timeout: int, tuple(int, int), optional
1995
+ :param _request_auth: set to override the auth_settings for an a single
1996
+ request; this effectively ignores the
1997
+ authentication in the spec for a single request.
1998
+ :type _request_auth: dict, optional
1999
+ :param _content_type: force content-type for the request.
2000
+ :type _content_type: str, Optional
2001
+ :param _headers: set to override the headers for a single
2002
+ request; this effectively ignores the headers
2003
+ in the spec for a single request.
2004
+ :type _headers: dict, optional
2005
+ :param _host_index: set to override the host_index for a single
2006
+ request; this effectively ignores the host_index
2007
+ in the spec for a single request.
2008
+ :type _host_index: int, optional
2009
+ :return: Returns the result object.
2010
+ """ # noqa: E501
2011
+
2012
+ _param = self._get_ai_decompilation_task_status_serialize(
2013
+ function_id=function_id,
2014
+ authorization=authorization,
2015
+ _request_auth=_request_auth,
2016
+ _content_type=_content_type,
2017
+ _headers=_headers,
2018
+ _host_index=_host_index
2019
+ )
2020
+
2021
+ _response_types_map: Dict[str, Optional[str]] = {
2022
+ '200': "BaseResponseFunctionTaskResponse",
2023
+ '422': "BaseResponse",
2024
+ }
2025
+ response_data = self.api_client.call_api(
2026
+ *_param,
2027
+ _request_timeout=_request_timeout
2028
+ )
2029
+ return response_data.response
2030
+
2031
+
2032
+ def _get_ai_decompilation_task_status_serialize(
2033
+ self,
2034
+ function_id,
2035
+ authorization,
2036
+ _request_auth,
2037
+ _content_type,
2038
+ _headers,
2039
+ _host_index,
2040
+ ) -> RequestSerialized:
2041
+
2042
+ _host = None
2043
+
2044
+ _collection_formats: Dict[str, str] = {
2045
+ }
2046
+
2047
+ _path_params: Dict[str, str] = {}
2048
+ _query_params: List[Tuple[str, str]] = []
2049
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2050
+ _form_params: List[Tuple[str, str]] = []
2051
+ _files: Dict[
2052
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2053
+ ] = {}
2054
+ _body_params: Optional[bytes] = None
2055
+
2056
+ # process the path parameters
2057
+ if function_id is not None:
2058
+ _path_params['function_id'] = function_id
2059
+ # process the query parameters
2060
+ # process the header parameters
2061
+ if authorization is not None:
2062
+ _header_params['authorization'] = authorization
2063
+ # process the form parameters
2064
+ # process the body parameter
2065
+
2066
+
2067
+ # set the HTTP header `Accept`
2068
+ if 'Accept' not in _header_params:
2069
+ _header_params['Accept'] = self.api_client.select_header_accept(
2070
+ [
2071
+ 'application/json'
2072
+ ]
2073
+ )
2074
+
2075
+
2076
+ # authentication setting
2077
+ _auth_settings: List[str] = [
2078
+ 'APIKey'
2079
+ ]
2080
+
2081
+ return self.api_client.param_serialize(
2082
+ method='GET',
2083
+ resource_path='/v2/functions/{function_id}/ai-decompilation/status',
2084
+ path_params=_path_params,
2085
+ query_params=_query_params,
2086
+ header_params=_header_params,
2087
+ body=_body_params,
2088
+ post_params=_form_params,
2089
+ files=_files,
2090
+ auth_settings=_auth_settings,
2091
+ collection_formats=_collection_formats,
2092
+ _host=_host,
2093
+ _request_auth=_request_auth
2094
+ )
2095
+
2096
+
2097
+
2098
+
2099
+ @validate_call
2100
+ def update_ai_decompilation_comment(
2101
+ self,
2102
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
2103
+ function_id: StrictInt,
2104
+ comment_update_request: CommentUpdateRequest,
2105
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2106
+ _request_timeout: Union[
2107
+ None,
2108
+ Annotated[StrictFloat, Field(gt=0)],
2109
+ Tuple[
2110
+ Annotated[StrictFloat, Field(gt=0)],
2111
+ Annotated[StrictFloat, Field(gt=0)]
2112
+ ]
2113
+ ] = None,
2114
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2115
+ _content_type: Optional[StrictStr] = None,
2116
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2117
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2118
+ ) -> BaseResponseCommentResponse:
2119
+ """Update a comment
2120
+
2121
+ Updates the content of an existing comment. Users can only update their own comments.
2122
+
2123
+ :param comment_id: (required)
2124
+ :type comment_id: int
2125
+ :param function_id: (required)
2126
+ :type function_id: int
2127
+ :param comment_update_request: (required)
2128
+ :type comment_update_request: CommentUpdateRequest
2129
+ :param authorization: API Key bearer token
2130
+ :type authorization: str
2131
+ :param _request_timeout: timeout setting for this request. If one
2132
+ number provided, it will be total request
2133
+ timeout. It can also be a pair (tuple) of
2134
+ (connection, read) timeouts.
2135
+ :type _request_timeout: int, tuple(int, int), optional
2136
+ :param _request_auth: set to override the auth_settings for an a single
2137
+ request; this effectively ignores the
2138
+ authentication in the spec for a single request.
2139
+ :type _request_auth: dict, optional
2140
+ :param _content_type: force content-type for the request.
2141
+ :type _content_type: str, Optional
2142
+ :param _headers: set to override the headers for a single
2143
+ request; this effectively ignores the headers
2144
+ in the spec for a single request.
2145
+ :type _headers: dict, optional
2146
+ :param _host_index: set to override the host_index for a single
2147
+ request; this effectively ignores the host_index
2148
+ in the spec for a single request.
2149
+ :type _host_index: int, optional
2150
+ :return: Returns the result object.
2151
+ """ # noqa: E501
2152
+
2153
+ _param = self._update_ai_decompilation_comment_serialize(
2154
+ comment_id=comment_id,
2155
+ function_id=function_id,
2156
+ comment_update_request=comment_update_request,
2157
+ authorization=authorization,
2158
+ _request_auth=_request_auth,
2159
+ _content_type=_content_type,
2160
+ _headers=_headers,
2161
+ _host_index=_host_index
2162
+ )
2163
+
2164
+ _response_types_map: Dict[str, Optional[str]] = {
2165
+ '200': "BaseResponseCommentResponse",
2166
+ '422': "BaseResponse",
2167
+ '403': "BaseResponse",
2168
+ '400': "BaseResponse",
2169
+ }
2170
+ response_data = self.api_client.call_api(
2171
+ *_param,
2172
+ _request_timeout=_request_timeout
2173
+ )
2174
+ response_data.read()
2175
+ return self.api_client.response_deserialize(
2176
+ response_data=response_data,
2177
+ response_types_map=_response_types_map,
2178
+ ).data
2179
+
2180
+
2181
+ @validate_call
2182
+ def update_ai_decompilation_comment_with_http_info(
2183
+ self,
2184
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
2185
+ function_id: StrictInt,
2186
+ comment_update_request: CommentUpdateRequest,
2187
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2188
+ _request_timeout: Union[
2189
+ None,
2190
+ Annotated[StrictFloat, Field(gt=0)],
2191
+ Tuple[
2192
+ Annotated[StrictFloat, Field(gt=0)],
2193
+ Annotated[StrictFloat, Field(gt=0)]
2194
+ ]
2195
+ ] = None,
2196
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2197
+ _content_type: Optional[StrictStr] = None,
2198
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2199
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2200
+ ) -> ApiResponse[BaseResponseCommentResponse]:
2201
+ """Update a comment
2202
+
2203
+ Updates the content of an existing comment. Users can only update their own comments.
2204
+
2205
+ :param comment_id: (required)
2206
+ :type comment_id: int
2207
+ :param function_id: (required)
2208
+ :type function_id: int
2209
+ :param comment_update_request: (required)
2210
+ :type comment_update_request: CommentUpdateRequest
2211
+ :param authorization: API Key bearer token
2212
+ :type authorization: str
2213
+ :param _request_timeout: timeout setting for this request. If one
2214
+ number provided, it will be total request
2215
+ timeout. It can also be a pair (tuple) of
2216
+ (connection, read) timeouts.
2217
+ :type _request_timeout: int, tuple(int, int), optional
2218
+ :param _request_auth: set to override the auth_settings for an a single
2219
+ request; this effectively ignores the
2220
+ authentication in the spec for a single request.
2221
+ :type _request_auth: dict, optional
2222
+ :param _content_type: force content-type for the request.
2223
+ :type _content_type: str, Optional
2224
+ :param _headers: set to override the headers for a single
2225
+ request; this effectively ignores the headers
2226
+ in the spec for a single request.
2227
+ :type _headers: dict, optional
2228
+ :param _host_index: set to override the host_index for a single
2229
+ request; this effectively ignores the host_index
2230
+ in the spec for a single request.
2231
+ :type _host_index: int, optional
2232
+ :return: Returns the result object.
2233
+ """ # noqa: E501
2234
+
2235
+ _param = self._update_ai_decompilation_comment_serialize(
2236
+ comment_id=comment_id,
2237
+ function_id=function_id,
2238
+ comment_update_request=comment_update_request,
2239
+ authorization=authorization,
2240
+ _request_auth=_request_auth,
2241
+ _content_type=_content_type,
2242
+ _headers=_headers,
2243
+ _host_index=_host_index
2244
+ )
2245
+
2246
+ _response_types_map: Dict[str, Optional[str]] = {
2247
+ '200': "BaseResponseCommentResponse",
2248
+ '422': "BaseResponse",
2249
+ '403': "BaseResponse",
2250
+ '400': "BaseResponse",
2251
+ }
2252
+ response_data = self.api_client.call_api(
2253
+ *_param,
2254
+ _request_timeout=_request_timeout
2255
+ )
2256
+ response_data.read()
2257
+ return self.api_client.response_deserialize(
2258
+ response_data=response_data,
2259
+ response_types_map=_response_types_map,
2260
+ )
2261
+
2262
+
2263
+ @validate_call
2264
+ def update_ai_decompilation_comment_without_preload_content(
2265
+ self,
2266
+ comment_id: Annotated[int, Field(strict=True, ge=1)],
2267
+ function_id: StrictInt,
2268
+ comment_update_request: CommentUpdateRequest,
2269
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2270
+ _request_timeout: Union[
2271
+ None,
2272
+ Annotated[StrictFloat, Field(gt=0)],
2273
+ Tuple[
2274
+ Annotated[StrictFloat, Field(gt=0)],
2275
+ Annotated[StrictFloat, Field(gt=0)]
2276
+ ]
2277
+ ] = None,
2278
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2279
+ _content_type: Optional[StrictStr] = None,
2280
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2281
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2282
+ ) -> RESTResponseType:
2283
+ """Update a comment
2284
+
2285
+ Updates the content of an existing comment. Users can only update their own comments.
2286
+
2287
+ :param comment_id: (required)
2288
+ :type comment_id: int
2289
+ :param function_id: (required)
2290
+ :type function_id: int
2291
+ :param comment_update_request: (required)
2292
+ :type comment_update_request: CommentUpdateRequest
2293
+ :param authorization: API Key bearer token
2294
+ :type authorization: str
2295
+ :param _request_timeout: timeout setting for this request. If one
2296
+ number provided, it will be total request
2297
+ timeout. It can also be a pair (tuple) of
2298
+ (connection, read) timeouts.
2299
+ :type _request_timeout: int, tuple(int, int), optional
2300
+ :param _request_auth: set to override the auth_settings for an a single
2301
+ request; this effectively ignores the
2302
+ authentication in the spec for a single request.
2303
+ :type _request_auth: dict, optional
2304
+ :param _content_type: force content-type for the request.
2305
+ :type _content_type: str, Optional
2306
+ :param _headers: set to override the headers for a single
2307
+ request; this effectively ignores the headers
2308
+ in the spec for a single request.
2309
+ :type _headers: dict, optional
2310
+ :param _host_index: set to override the host_index for a single
2311
+ request; this effectively ignores the host_index
2312
+ in the spec for a single request.
2313
+ :type _host_index: int, optional
2314
+ :return: Returns the result object.
2315
+ """ # noqa: E501
2316
+
2317
+ _param = self._update_ai_decompilation_comment_serialize(
2318
+ comment_id=comment_id,
2319
+ function_id=function_id,
2320
+ comment_update_request=comment_update_request,
2321
+ authorization=authorization,
2322
+ _request_auth=_request_auth,
2323
+ _content_type=_content_type,
2324
+ _headers=_headers,
2325
+ _host_index=_host_index
2326
+ )
2327
+
2328
+ _response_types_map: Dict[str, Optional[str]] = {
2329
+ '200': "BaseResponseCommentResponse",
2330
+ '422': "BaseResponse",
2331
+ '403': "BaseResponse",
2332
+ '400': "BaseResponse",
2333
+ }
2334
+ response_data = self.api_client.call_api(
2335
+ *_param,
2336
+ _request_timeout=_request_timeout
2337
+ )
2338
+ return response_data.response
2339
+
2340
+
2341
+ def _update_ai_decompilation_comment_serialize(
2342
+ self,
2343
+ comment_id,
2344
+ function_id,
2345
+ comment_update_request,
2346
+ authorization,
2347
+ _request_auth,
2348
+ _content_type,
2349
+ _headers,
2350
+ _host_index,
2351
+ ) -> RequestSerialized:
2352
+
2353
+ _host = None
2354
+
2355
+ _collection_formats: Dict[str, str] = {
2356
+ }
2357
+
2358
+ _path_params: Dict[str, str] = {}
2359
+ _query_params: List[Tuple[str, str]] = []
2360
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2361
+ _form_params: List[Tuple[str, str]] = []
2362
+ _files: Dict[
2363
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2364
+ ] = {}
2365
+ _body_params: Optional[bytes] = None
2366
+
2367
+ # process the path parameters
2368
+ if comment_id is not None:
2369
+ _path_params['comment_id'] = comment_id
2370
+ if function_id is not None:
2371
+ _path_params['function_id'] = function_id
2372
+ # process the query parameters
2373
+ # process the header parameters
2374
+ if authorization is not None:
2375
+ _header_params['authorization'] = authorization
2376
+ # process the form parameters
2377
+ # process the body parameter
2378
+ if comment_update_request is not None:
2379
+ _body_params = comment_update_request
2380
+
2381
+
2382
+ # set the HTTP header `Accept`
2383
+ if 'Accept' not in _header_params:
2384
+ _header_params['Accept'] = self.api_client.select_header_accept(
2385
+ [
2386
+ 'application/json'
2387
+ ]
2388
+ )
2389
+
2390
+ # set the HTTP header `Content-Type`
2391
+ if _content_type:
2392
+ _header_params['Content-Type'] = _content_type
2393
+ else:
2394
+ _default_content_type = (
2395
+ self.api_client.select_header_content_type(
2396
+ [
2397
+ 'application/json'
2398
+ ]
2399
+ )
2400
+ )
2401
+ if _default_content_type is not None:
2402
+ _header_params['Content-Type'] = _default_content_type
2403
+
2404
+ # authentication setting
2405
+ _auth_settings: List[str] = [
2406
+ 'APIKey'
2407
+ ]
2408
+
2409
+ return self.api_client.param_serialize(
2410
+ method='PATCH',
2411
+ resource_path='/v2/functions/{function_id}/ai-decompilation/comments/{comment_id}',
2412
+ path_params=_path_params,
2413
+ query_params=_query_params,
2414
+ header_params=_header_params,
2415
+ body=_body_params,
2416
+ post_params=_form_params,
2417
+ files=_files,
2418
+ auth_settings=_auth_settings,
2419
+ collection_formats=_collection_formats,
2420
+ _host=_host,
2421
+ _request_auth=_request_auth
2422
+ )
2423
+
2424
+
2425
+
2426
+
2427
+ @validate_call
2428
+ def upsert_ai_decompilation_rating(
2429
+ self,
2430
+ function_id: StrictInt,
2431
+ upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest,
2432
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2433
+ _request_timeout: Union[
2434
+ None,
2435
+ Annotated[StrictFloat, Field(gt=0)],
2436
+ Tuple[
2437
+ Annotated[StrictFloat, Field(gt=0)],
2438
+ Annotated[StrictFloat, Field(gt=0)]
2439
+ ]
2440
+ ] = None,
2441
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2442
+ _content_type: Optional[StrictStr] = None,
2443
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2444
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2445
+ ) -> BaseResponse:
2446
+ """Upsert rating for AI decompilation
2447
+
2448
+
2449
+ :param function_id: (required)
2450
+ :type function_id: int
2451
+ :param upsert_ai_decomplation_rating_request: (required)
2452
+ :type upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest
2453
+ :param authorization: API Key bearer token
2454
+ :type authorization: str
2455
+ :param _request_timeout: timeout setting for this request. If one
2456
+ number provided, it will be total request
2457
+ timeout. It can also be a pair (tuple) of
2458
+ (connection, read) timeouts.
2459
+ :type _request_timeout: int, tuple(int, int), optional
2460
+ :param _request_auth: set to override the auth_settings for an a single
2461
+ request; this effectively ignores the
2462
+ authentication in the spec for a single request.
2463
+ :type _request_auth: dict, optional
2464
+ :param _content_type: force content-type for the request.
2465
+ :type _content_type: str, Optional
2466
+ :param _headers: set to override the headers for a single
2467
+ request; this effectively ignores the headers
2468
+ in the spec for a single request.
2469
+ :type _headers: dict, optional
2470
+ :param _host_index: set to override the host_index for a single
2471
+ request; this effectively ignores the host_index
2472
+ in the spec for a single request.
2473
+ :type _host_index: int, optional
2474
+ :return: Returns the result object.
2475
+ """ # noqa: E501
2476
+
2477
+ _param = self._upsert_ai_decompilation_rating_serialize(
2478
+ function_id=function_id,
2479
+ upsert_ai_decomplation_rating_request=upsert_ai_decomplation_rating_request,
2480
+ authorization=authorization,
2481
+ _request_auth=_request_auth,
2482
+ _content_type=_content_type,
2483
+ _headers=_headers,
2484
+ _host_index=_host_index
2485
+ )
2486
+
2487
+ _response_types_map: Dict[str, Optional[str]] = {
2488
+ '200': "BaseResponse",
2489
+ '422': "BaseResponse",
2490
+ }
2491
+ response_data = self.api_client.call_api(
2492
+ *_param,
2493
+ _request_timeout=_request_timeout
2494
+ )
2495
+ response_data.read()
2496
+ return self.api_client.response_deserialize(
2497
+ response_data=response_data,
2498
+ response_types_map=_response_types_map,
2499
+ ).data
2500
+
2501
+
2502
+ @validate_call
2503
+ def upsert_ai_decompilation_rating_with_http_info(
2504
+ self,
2505
+ function_id: StrictInt,
2506
+ upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest,
2507
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2508
+ _request_timeout: Union[
2509
+ None,
2510
+ Annotated[StrictFloat, Field(gt=0)],
2511
+ Tuple[
2512
+ Annotated[StrictFloat, Field(gt=0)],
2513
+ Annotated[StrictFloat, Field(gt=0)]
2514
+ ]
2515
+ ] = None,
2516
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2517
+ _content_type: Optional[StrictStr] = None,
2518
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2519
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2520
+ ) -> ApiResponse[BaseResponse]:
2521
+ """Upsert rating for AI decompilation
2522
+
2523
+
2524
+ :param function_id: (required)
2525
+ :type function_id: int
2526
+ :param upsert_ai_decomplation_rating_request: (required)
2527
+ :type upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest
2528
+ :param authorization: API Key bearer token
2529
+ :type authorization: str
2530
+ :param _request_timeout: timeout setting for this request. If one
2531
+ number provided, it will be total request
2532
+ timeout. It can also be a pair (tuple) of
2533
+ (connection, read) timeouts.
2534
+ :type _request_timeout: int, tuple(int, int), optional
2535
+ :param _request_auth: set to override the auth_settings for an a single
2536
+ request; this effectively ignores the
2537
+ authentication in the spec for a single request.
2538
+ :type _request_auth: dict, optional
2539
+ :param _content_type: force content-type for the request.
2540
+ :type _content_type: str, Optional
2541
+ :param _headers: set to override the headers for a single
2542
+ request; this effectively ignores the headers
2543
+ in the spec for a single request.
2544
+ :type _headers: dict, optional
2545
+ :param _host_index: set to override the host_index for a single
2546
+ request; this effectively ignores the host_index
2547
+ in the spec for a single request.
2548
+ :type _host_index: int, optional
2549
+ :return: Returns the result object.
2550
+ """ # noqa: E501
2551
+
2552
+ _param = self._upsert_ai_decompilation_rating_serialize(
2553
+ function_id=function_id,
2554
+ upsert_ai_decomplation_rating_request=upsert_ai_decomplation_rating_request,
2555
+ authorization=authorization,
2556
+ _request_auth=_request_auth,
2557
+ _content_type=_content_type,
2558
+ _headers=_headers,
2559
+ _host_index=_host_index
2560
+ )
2561
+
2562
+ _response_types_map: Dict[str, Optional[str]] = {
2563
+ '200': "BaseResponse",
2564
+ '422': "BaseResponse",
2565
+ }
2566
+ response_data = self.api_client.call_api(
2567
+ *_param,
2568
+ _request_timeout=_request_timeout
2569
+ )
2570
+ response_data.read()
2571
+ return self.api_client.response_deserialize(
2572
+ response_data=response_data,
2573
+ response_types_map=_response_types_map,
2574
+ )
2575
+
2576
+
2577
+ @validate_call
2578
+ def upsert_ai_decompilation_rating_without_preload_content(
2579
+ self,
2580
+ function_id: StrictInt,
2581
+ upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest,
2582
+ authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2583
+ _request_timeout: Union[
2584
+ None,
2585
+ Annotated[StrictFloat, Field(gt=0)],
2586
+ Tuple[
2587
+ Annotated[StrictFloat, Field(gt=0)],
2588
+ Annotated[StrictFloat, Field(gt=0)]
2589
+ ]
2590
+ ] = None,
2591
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2592
+ _content_type: Optional[StrictStr] = None,
2593
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2594
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2595
+ ) -> RESTResponseType:
2596
+ """Upsert rating for AI decompilation
2597
+
2598
+
2599
+ :param function_id: (required)
2600
+ :type function_id: int
2601
+ :param upsert_ai_decomplation_rating_request: (required)
2602
+ :type upsert_ai_decomplation_rating_request: UpsertAiDecomplationRatingRequest
2603
+ :param authorization: API Key bearer token
2604
+ :type authorization: str
2605
+ :param _request_timeout: timeout setting for this request. If one
2606
+ number provided, it will be total request
2607
+ timeout. It can also be a pair (tuple) of
2608
+ (connection, read) timeouts.
2609
+ :type _request_timeout: int, tuple(int, int), optional
2610
+ :param _request_auth: set to override the auth_settings for an a single
2611
+ request; this effectively ignores the
2612
+ authentication in the spec for a single request.
2613
+ :type _request_auth: dict, optional
2614
+ :param _content_type: force content-type for the request.
2615
+ :type _content_type: str, Optional
2616
+ :param _headers: set to override the headers for a single
2617
+ request; this effectively ignores the headers
2618
+ in the spec for a single request.
2619
+ :type _headers: dict, optional
2620
+ :param _host_index: set to override the host_index for a single
2621
+ request; this effectively ignores the host_index
2622
+ in the spec for a single request.
2623
+ :type _host_index: int, optional
2624
+ :return: Returns the result object.
2625
+ """ # noqa: E501
2626
+
2627
+ _param = self._upsert_ai_decompilation_rating_serialize(
2628
+ function_id=function_id,
2629
+ upsert_ai_decomplation_rating_request=upsert_ai_decomplation_rating_request,
2630
+ authorization=authorization,
2631
+ _request_auth=_request_auth,
2632
+ _content_type=_content_type,
2633
+ _headers=_headers,
2634
+ _host_index=_host_index
2635
+ )
2636
+
2637
+ _response_types_map: Dict[str, Optional[str]] = {
2638
+ '200': "BaseResponse",
2639
+ '422': "BaseResponse",
2640
+ }
2641
+ response_data = self.api_client.call_api(
2642
+ *_param,
2643
+ _request_timeout=_request_timeout
2644
+ )
2645
+ return response_data.response
2646
+
2647
+
2648
+ def _upsert_ai_decompilation_rating_serialize(
2649
+ self,
2650
+ function_id,
2651
+ upsert_ai_decomplation_rating_request,
2652
+ authorization,
2653
+ _request_auth,
2654
+ _content_type,
2655
+ _headers,
2656
+ _host_index,
2657
+ ) -> RequestSerialized:
2658
+
2659
+ _host = None
2660
+
2661
+ _collection_formats: Dict[str, str] = {
2662
+ }
2663
+
2664
+ _path_params: Dict[str, str] = {}
2665
+ _query_params: List[Tuple[str, str]] = []
2666
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2667
+ _form_params: List[Tuple[str, str]] = []
2668
+ _files: Dict[
2669
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2670
+ ] = {}
2671
+ _body_params: Optional[bytes] = None
2672
+
2673
+ # process the path parameters
2674
+ if function_id is not None:
2675
+ _path_params['function_id'] = function_id
2676
+ # process the query parameters
2677
+ # process the header parameters
2678
+ if authorization is not None:
2679
+ _header_params['authorization'] = authorization
2680
+ # process the form parameters
2681
+ # process the body parameter
2682
+ if upsert_ai_decomplation_rating_request is not None:
2683
+ _body_params = upsert_ai_decomplation_rating_request
2684
+
2685
+
2686
+ # set the HTTP header `Accept`
2687
+ if 'Accept' not in _header_params:
2688
+ _header_params['Accept'] = self.api_client.select_header_accept(
2689
+ [
2690
+ 'application/json'
2691
+ ]
2692
+ )
2693
+
2694
+ # set the HTTP header `Content-Type`
2695
+ if _content_type:
2696
+ _header_params['Content-Type'] = _content_type
2697
+ else:
2698
+ _default_content_type = (
2699
+ self.api_client.select_header_content_type(
2700
+ [
2701
+ 'application/json'
2702
+ ]
2703
+ )
2704
+ )
2705
+ if _default_content_type is not None:
2706
+ _header_params['Content-Type'] = _default_content_type
2707
+
2708
+ # authentication setting
2709
+ _auth_settings: List[str] = [
2710
+ 'APIKey'
2711
+ ]
2712
+
2713
+ return self.api_client.param_serialize(
2714
+ method='PATCH',
2715
+ resource_path='/v2/functions/{function_id}/ai-decompilation/rating',
2716
+ path_params=_path_params,
2717
+ query_params=_query_params,
2718
+ header_params=_header_params,
2719
+ body=_body_params,
2720
+ post_params=_form_params,
2721
+ files=_files,
2722
+ auth_settings=_auth_settings,
2723
+ collection_formats=_collection_formats,
2724
+ _host=_host,
2725
+ _request_auth=_request_auth
2726
+ )
2727
+
2728
+