revengai 1.79.0__py3-none-any.whl → 1.81.0__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.

Potentially problematic release.


This version of revengai might be problematic. Click here for more details.

revengai/__init__.py CHANGED
@@ -13,7 +13,7 @@
13
13
  """ # noqa: E501
14
14
 
15
15
 
16
- __version__ = "v1.79.0"
16
+ __version__ = "v1.81.0"
17
17
 
18
18
  # Define package exports
19
19
  __all__ = [
@@ -150,7 +150,6 @@ __all__ = [
150
150
  "BaseResponseSecurityChecksResponse",
151
151
  "BaseResponseStatus",
152
152
  "BaseResponseStr",
153
- "BaseResponseSymbolsInfo",
154
153
  "BaseResponseTTPS",
155
154
  "BaseResponseTagSearchResponse",
156
155
  "BaseResponseTaskResponse",
@@ -169,7 +168,6 @@ __all__ = [
169
168
  "BinaryTaskStatus",
170
169
  "Block",
171
170
  "BlockCommentsGenerationForFunctionResponse",
172
- "Boundary",
173
171
  "BoxPlotConfidence",
174
172
  "CalleeFunctionInfo",
175
173
  "CalleesCallerFunctionsResponse",
@@ -328,7 +326,6 @@ __all__ = [
328
326
  "Structure",
329
327
  "StructureMember",
330
328
  "Symbols",
331
- "SymbolsInfo",
332
329
  "TTPS",
333
330
  "TTPSAttack",
334
331
  "TTPSData",
@@ -496,7 +493,6 @@ from revengai.models.base_response_recent import BaseResponseRecent as BaseRespo
496
493
  from revengai.models.base_response_security_checks_response import BaseResponseSecurityChecksResponse as BaseResponseSecurityChecksResponse
497
494
  from revengai.models.base_response_status import BaseResponseStatus as BaseResponseStatus
498
495
  from revengai.models.base_response_str import BaseResponseStr as BaseResponseStr
499
- from revengai.models.base_response_symbols_info import BaseResponseSymbolsInfo as BaseResponseSymbolsInfo
500
496
  from revengai.models.base_response_ttps import BaseResponseTTPS as BaseResponseTTPS
501
497
  from revengai.models.base_response_tag_search_response import BaseResponseTagSearchResponse as BaseResponseTagSearchResponse
502
498
  from revengai.models.base_response_task_response import BaseResponseTaskResponse as BaseResponseTaskResponse
@@ -515,7 +511,6 @@ from revengai.models.binary_search_result import BinarySearchResult as BinarySea
515
511
  from revengai.models.binary_task_status import BinaryTaskStatus as BinaryTaskStatus
516
512
  from revengai.models.block import Block as Block
517
513
  from revengai.models.block_comments_generation_for_function_response import BlockCommentsGenerationForFunctionResponse as BlockCommentsGenerationForFunctionResponse
518
- from revengai.models.boundary import Boundary as Boundary
519
514
  from revengai.models.box_plot_confidence import BoxPlotConfidence as BoxPlotConfidence
520
515
  from revengai.models.callee_function_info import CalleeFunctionInfo as CalleeFunctionInfo
521
516
  from revengai.models.callees_caller_functions_response import CalleesCallerFunctionsResponse as CalleesCallerFunctionsResponse
@@ -674,7 +669,6 @@ from revengai.models.string_functions import StringFunctions as StringFunctions
674
669
  from revengai.models.structure import Structure as Structure
675
670
  from revengai.models.structure_member import StructureMember as StructureMember
676
671
  from revengai.models.symbols import Symbols as Symbols
677
- from revengai.models.symbols_info import SymbolsInfo as SymbolsInfo
678
672
  from revengai.models.ttps import TTPS as TTPS
679
673
  from revengai.models.ttps_attack import TTPSAttack as TTPSAttack
680
674
  from revengai.models.ttps_data import TTPSData as TTPSData
@@ -36,7 +36,6 @@ from revengai.models.base_response_nearest_neighbor_analysis import BaseResponse
36
36
  from revengai.models.base_response_params import BaseResponseParams
37
37
  from revengai.models.base_response_recent import BaseResponseRecent
38
38
  from revengai.models.base_response_status import BaseResponseStatus
39
- from revengai.models.base_response_symbols_info import BaseResponseSymbolsInfo
40
39
  from revengai.models.base_response_upload_response import BaseResponseUploadResponse
41
40
  from revengai.models.binary_ann_form import BinaryAnnForm
42
41
  from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput
@@ -2657,291 +2656,6 @@ class AnalysesCoreApi:
2657
2656
 
2658
2657
 
2659
2658
 
2660
- @validate_call
2661
- def get_symbol_info_for_binary(
2662
- self,
2663
- binary_id: StrictInt,
2664
- authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2665
- _request_timeout: Union[
2666
- None,
2667
- Annotated[StrictFloat, Field(gt=0)],
2668
- Tuple[
2669
- Annotated[StrictFloat, Field(gt=0)],
2670
- Annotated[StrictFloat, Field(gt=0)]
2671
- ]
2672
- ] = None,
2673
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
2674
- _content_type: Optional[StrictStr] = None,
2675
- _headers: Optional[Dict[StrictStr, Any]] = None,
2676
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2677
- ) -> BaseResponseSymbolsInfo:
2678
- """Gets the symbol information of a binary
2679
-
2680
- Given a binary ID gets the symbol information of the binary
2681
-
2682
- :param binary_id: (required)
2683
- :type binary_id: int
2684
- :param authorization: API Key bearer token
2685
- :type authorization: str
2686
- :param _request_timeout: timeout setting for this request. If one
2687
- number provided, it will be total request
2688
- timeout. It can also be a pair (tuple) of
2689
- (connection, read) timeouts.
2690
- :type _request_timeout: int, tuple(int, int), optional
2691
- :param _request_auth: set to override the auth_settings for an a single
2692
- request; this effectively ignores the
2693
- authentication in the spec for a single request.
2694
- :type _request_auth: dict, optional
2695
- :param _content_type: force content-type for the request.
2696
- :type _content_type: str, Optional
2697
- :param _headers: set to override the headers for a single
2698
- request; this effectively ignores the headers
2699
- in the spec for a single request.
2700
- :type _headers: dict, optional
2701
- :param _host_index: set to override the host_index for a single
2702
- request; this effectively ignores the host_index
2703
- in the spec for a single request.
2704
- :type _host_index: int, optional
2705
- :return: Returns the result object.
2706
- """ # noqa: E501
2707
-
2708
- _param = self._get_symbol_info_for_binary_serialize(
2709
- binary_id=binary_id,
2710
- authorization=authorization,
2711
- _request_auth=_request_auth,
2712
- _content_type=_content_type,
2713
- _headers=_headers,
2714
- _host_index=_host_index
2715
- )
2716
-
2717
- _response_types_map: Dict[str, Optional[str]] = {
2718
- '200': "BaseResponseSymbolsInfo",
2719
- '422': "BaseResponse",
2720
- '404': "BaseResponse",
2721
- '403': "BaseResponse",
2722
- }
2723
- response_data = self.api_client.call_api(
2724
- *_param,
2725
- _request_timeout=_request_timeout
2726
- )
2727
- response_data.read()
2728
- return self.api_client.response_deserialize(
2729
- response_data=response_data,
2730
- response_types_map=_response_types_map,
2731
- ).data
2732
-
2733
-
2734
- @validate_call
2735
- def get_symbol_info_for_binary_with_http_info(
2736
- self,
2737
- binary_id: StrictInt,
2738
- authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2739
- _request_timeout: Union[
2740
- None,
2741
- Annotated[StrictFloat, Field(gt=0)],
2742
- Tuple[
2743
- Annotated[StrictFloat, Field(gt=0)],
2744
- Annotated[StrictFloat, Field(gt=0)]
2745
- ]
2746
- ] = None,
2747
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
2748
- _content_type: Optional[StrictStr] = None,
2749
- _headers: Optional[Dict[StrictStr, Any]] = None,
2750
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2751
- ) -> ApiResponse[BaseResponseSymbolsInfo]:
2752
- """Gets the symbol information of a binary
2753
-
2754
- Given a binary ID gets the symbol information of the binary
2755
-
2756
- :param binary_id: (required)
2757
- :type binary_id: int
2758
- :param authorization: API Key bearer token
2759
- :type authorization: str
2760
- :param _request_timeout: timeout setting for this request. If one
2761
- number provided, it will be total request
2762
- timeout. It can also be a pair (tuple) of
2763
- (connection, read) timeouts.
2764
- :type _request_timeout: int, tuple(int, int), optional
2765
- :param _request_auth: set to override the auth_settings for an a single
2766
- request; this effectively ignores the
2767
- authentication in the spec for a single request.
2768
- :type _request_auth: dict, optional
2769
- :param _content_type: force content-type for the request.
2770
- :type _content_type: str, Optional
2771
- :param _headers: set to override the headers for a single
2772
- request; this effectively ignores the headers
2773
- in the spec for a single request.
2774
- :type _headers: dict, optional
2775
- :param _host_index: set to override the host_index for a single
2776
- request; this effectively ignores the host_index
2777
- in the spec for a single request.
2778
- :type _host_index: int, optional
2779
- :return: Returns the result object.
2780
- """ # noqa: E501
2781
-
2782
- _param = self._get_symbol_info_for_binary_serialize(
2783
- binary_id=binary_id,
2784
- authorization=authorization,
2785
- _request_auth=_request_auth,
2786
- _content_type=_content_type,
2787
- _headers=_headers,
2788
- _host_index=_host_index
2789
- )
2790
-
2791
- _response_types_map: Dict[str, Optional[str]] = {
2792
- '200': "BaseResponseSymbolsInfo",
2793
- '422': "BaseResponse",
2794
- '404': "BaseResponse",
2795
- '403': "BaseResponse",
2796
- }
2797
- response_data = self.api_client.call_api(
2798
- *_param,
2799
- _request_timeout=_request_timeout
2800
- )
2801
- response_data.read()
2802
- return self.api_client.response_deserialize(
2803
- response_data=response_data,
2804
- response_types_map=_response_types_map,
2805
- )
2806
-
2807
-
2808
- @validate_call
2809
- def get_symbol_info_for_binary_without_preload_content(
2810
- self,
2811
- binary_id: StrictInt,
2812
- authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
2813
- _request_timeout: Union[
2814
- None,
2815
- Annotated[StrictFloat, Field(gt=0)],
2816
- Tuple[
2817
- Annotated[StrictFloat, Field(gt=0)],
2818
- Annotated[StrictFloat, Field(gt=0)]
2819
- ]
2820
- ] = None,
2821
- _request_auth: Optional[Dict[StrictStr, Any]] = None,
2822
- _content_type: Optional[StrictStr] = None,
2823
- _headers: Optional[Dict[StrictStr, Any]] = None,
2824
- _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2825
- ) -> RESTResponseType:
2826
- """Gets the symbol information of a binary
2827
-
2828
- Given a binary ID gets the symbol information of the binary
2829
-
2830
- :param binary_id: (required)
2831
- :type binary_id: int
2832
- :param authorization: API Key bearer token
2833
- :type authorization: str
2834
- :param _request_timeout: timeout setting for this request. If one
2835
- number provided, it will be total request
2836
- timeout. It can also be a pair (tuple) of
2837
- (connection, read) timeouts.
2838
- :type _request_timeout: int, tuple(int, int), optional
2839
- :param _request_auth: set to override the auth_settings for an a single
2840
- request; this effectively ignores the
2841
- authentication in the spec for a single request.
2842
- :type _request_auth: dict, optional
2843
- :param _content_type: force content-type for the request.
2844
- :type _content_type: str, Optional
2845
- :param _headers: set to override the headers for a single
2846
- request; this effectively ignores the headers
2847
- in the spec for a single request.
2848
- :type _headers: dict, optional
2849
- :param _host_index: set to override the host_index for a single
2850
- request; this effectively ignores the host_index
2851
- in the spec for a single request.
2852
- :type _host_index: int, optional
2853
- :return: Returns the result object.
2854
- """ # noqa: E501
2855
-
2856
- _param = self._get_symbol_info_for_binary_serialize(
2857
- binary_id=binary_id,
2858
- authorization=authorization,
2859
- _request_auth=_request_auth,
2860
- _content_type=_content_type,
2861
- _headers=_headers,
2862
- _host_index=_host_index
2863
- )
2864
-
2865
- _response_types_map: Dict[str, Optional[str]] = {
2866
- '200': "BaseResponseSymbolsInfo",
2867
- '422': "BaseResponse",
2868
- '404': "BaseResponse",
2869
- '403': "BaseResponse",
2870
- }
2871
- response_data = self.api_client.call_api(
2872
- *_param,
2873
- _request_timeout=_request_timeout
2874
- )
2875
- return response_data.response
2876
-
2877
-
2878
- def _get_symbol_info_for_binary_serialize(
2879
- self,
2880
- binary_id,
2881
- authorization,
2882
- _request_auth,
2883
- _content_type,
2884
- _headers,
2885
- _host_index,
2886
- ) -> RequestSerialized:
2887
-
2888
- _host = None
2889
-
2890
- _collection_formats: Dict[str, str] = {
2891
- }
2892
-
2893
- _path_params: Dict[str, str] = {}
2894
- _query_params: List[Tuple[str, str]] = []
2895
- _header_params: Dict[str, Optional[str]] = _headers or {}
2896
- _form_params: List[Tuple[str, str]] = []
2897
- _files: Dict[
2898
- str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2899
- ] = {}
2900
- _body_params: Optional[bytes] = None
2901
-
2902
- # process the path parameters
2903
- if binary_id is not None:
2904
- _path_params['binary_id'] = binary_id
2905
- # process the query parameters
2906
- # process the header parameters
2907
- if authorization is not None:
2908
- _header_params['authorization'] = authorization
2909
- # process the form parameters
2910
- # process the body parameter
2911
-
2912
-
2913
- # set the HTTP header `Accept`
2914
- if 'Accept' not in _header_params:
2915
- _header_params['Accept'] = self.api_client.select_header_accept(
2916
- [
2917
- 'application/json'
2918
- ]
2919
- )
2920
-
2921
-
2922
- # authentication setting
2923
- _auth_settings: List[str] = [
2924
- 'APIKey'
2925
- ]
2926
-
2927
- return self.api_client.param_serialize(
2928
- method='GET',
2929
- resource_path='/v2/analyses/symbol_info/{binary_id}',
2930
- path_params=_path_params,
2931
- query_params=_query_params,
2932
- header_params=_header_params,
2933
- body=_body_params,
2934
- post_params=_form_params,
2935
- files=_files,
2936
- auth_settings=_auth_settings,
2937
- collection_formats=_collection_formats,
2938
- _host=_host,
2939
- _request_auth=_request_auth
2940
- )
2941
-
2942
-
2943
-
2944
-
2945
2659
  @validate_call
2946
2660
  def list_analyses(
2947
2661
  self,
@@ -3017,10 +3017,10 @@ class FunctionsCoreApi:
3017
3017
  function_id: StrictInt,
3018
3018
  limit: Annotated[Optional[StrictInt], Field(description="Number of similar functions to return")] = None,
3019
3019
  distance: Annotated[Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]], Field(description="Maximum cosine distance")] = None,
3020
- collection_ids: Annotated[Optional[List[StrictInt]], Field(description="Collection filtering by IDs")] = None,
3020
+ collection_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Collection filtering by IDs")] = None,
3021
3021
  debug: Annotated[Optional[StrictBool], Field(description="Only return matching debug functions")] = None,
3022
3022
  debug_types: Annotated[Optional[List[StrictStr]], Field(description="If limiting results to functions with debug names, which type of debug names to include?")] = None,
3023
- binary_ids: Annotated[Optional[List[StrictInt]], Field(description="Limit similar functions to specific binaries")] = None,
3023
+ binary_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Limit similar functions to specific binaries")] = None,
3024
3024
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3025
3025
  _request_timeout: Union[
3026
3026
  None,
@@ -3045,13 +3045,13 @@ class FunctionsCoreApi:
3045
3045
  :param distance: Maximum cosine distance
3046
3046
  :type distance: float
3047
3047
  :param collection_ids: Collection filtering by IDs
3048
- :type collection_ids: List[int]
3048
+ :type collection_ids: List[Optional[int]]
3049
3049
  :param debug: Only return matching debug functions
3050
3050
  :type debug: bool
3051
3051
  :param debug_types: If limiting results to functions with debug names, which type of debug names to include?
3052
3052
  :type debug_types: List[str]
3053
3053
  :param binary_ids: Limit similar functions to specific binaries
3054
- :type binary_ids: List[int]
3054
+ :type binary_ids: List[Optional[int]]
3055
3055
  :param authorization: API Key bearer token
3056
3056
  :type authorization: str
3057
3057
  :param _request_timeout: timeout setting for this request. If one
@@ -3112,10 +3112,10 @@ class FunctionsCoreApi:
3112
3112
  function_id: StrictInt,
3113
3113
  limit: Annotated[Optional[StrictInt], Field(description="Number of similar functions to return")] = None,
3114
3114
  distance: Annotated[Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]], Field(description="Maximum cosine distance")] = None,
3115
- collection_ids: Annotated[Optional[List[StrictInt]], Field(description="Collection filtering by IDs")] = None,
3115
+ collection_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Collection filtering by IDs")] = None,
3116
3116
  debug: Annotated[Optional[StrictBool], Field(description="Only return matching debug functions")] = None,
3117
3117
  debug_types: Annotated[Optional[List[StrictStr]], Field(description="If limiting results to functions with debug names, which type of debug names to include?")] = None,
3118
- binary_ids: Annotated[Optional[List[StrictInt]], Field(description="Limit similar functions to specific binaries")] = None,
3118
+ binary_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Limit similar functions to specific binaries")] = None,
3119
3119
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3120
3120
  _request_timeout: Union[
3121
3121
  None,
@@ -3140,13 +3140,13 @@ class FunctionsCoreApi:
3140
3140
  :param distance: Maximum cosine distance
3141
3141
  :type distance: float
3142
3142
  :param collection_ids: Collection filtering by IDs
3143
- :type collection_ids: List[int]
3143
+ :type collection_ids: List[Optional[int]]
3144
3144
  :param debug: Only return matching debug functions
3145
3145
  :type debug: bool
3146
3146
  :param debug_types: If limiting results to functions with debug names, which type of debug names to include?
3147
3147
  :type debug_types: List[str]
3148
3148
  :param binary_ids: Limit similar functions to specific binaries
3149
- :type binary_ids: List[int]
3149
+ :type binary_ids: List[Optional[int]]
3150
3150
  :param authorization: API Key bearer token
3151
3151
  :type authorization: str
3152
3152
  :param _request_timeout: timeout setting for this request. If one
@@ -3207,10 +3207,10 @@ class FunctionsCoreApi:
3207
3207
  function_id: StrictInt,
3208
3208
  limit: Annotated[Optional[StrictInt], Field(description="Number of similar functions to return")] = None,
3209
3209
  distance: Annotated[Optional[Union[Annotated[float, Field(le=1.0, strict=True, ge=0.0)], Annotated[int, Field(le=1, strict=True, ge=0)]]], Field(description="Maximum cosine distance")] = None,
3210
- collection_ids: Annotated[Optional[List[StrictInt]], Field(description="Collection filtering by IDs")] = None,
3210
+ collection_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Collection filtering by IDs")] = None,
3211
3211
  debug: Annotated[Optional[StrictBool], Field(description="Only return matching debug functions")] = None,
3212
3212
  debug_types: Annotated[Optional[List[StrictStr]], Field(description="If limiting results to functions with debug names, which type of debug names to include?")] = None,
3213
- binary_ids: Annotated[Optional[List[StrictInt]], Field(description="Limit similar functions to specific binaries")] = None,
3213
+ binary_ids: Annotated[Optional[List[Optional[StrictInt]]], Field(description="Limit similar functions to specific binaries")] = None,
3214
3214
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
3215
3215
  _request_timeout: Union[
3216
3216
  None,
@@ -3235,13 +3235,13 @@ class FunctionsCoreApi:
3235
3235
  :param distance: Maximum cosine distance
3236
3236
  :type distance: float
3237
3237
  :param collection_ids: Collection filtering by IDs
3238
- :type collection_ids: List[int]
3238
+ :type collection_ids: List[Optional[int]]
3239
3239
  :param debug: Only return matching debug functions
3240
3240
  :type debug: bool
3241
3241
  :param debug_types: If limiting results to functions with debug names, which type of debug names to include?
3242
3242
  :type debug_types: List[str]
3243
3243
  :param binary_ids: Limit similar functions to specific binaries
3244
- :type binary_ids: List[int]
3244
+ :type binary_ids: List[Optional[int]]
3245
3245
  :param authorization: API Key bearer token
3246
3246
  :type authorization: str
3247
3247
  :param _request_timeout: timeout setting for this request. If one
@@ -940,7 +940,7 @@ class FunctionsDataTypesApi:
940
940
  def list_function_data_types_for_analysis(
941
941
  self,
942
942
  analysis_id: StrictInt,
943
- function_ids: Optional[List[StrictInt]] = None,
943
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
944
944
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
945
945
  _request_timeout: Union[
946
946
  None,
@@ -962,7 +962,7 @@ class FunctionsDataTypesApi:
962
962
  :param analysis_id: (required)
963
963
  :type analysis_id: int
964
964
  :param function_ids:
965
- :type function_ids: List[int]
965
+ :type function_ids: List[Optional[int]]
966
966
  :param authorization: API Key bearer token
967
967
  :type authorization: str
968
968
  :param _request_timeout: timeout setting for this request. If one
@@ -1016,7 +1016,7 @@ class FunctionsDataTypesApi:
1016
1016
  def list_function_data_types_for_analysis_with_http_info(
1017
1017
  self,
1018
1018
  analysis_id: StrictInt,
1019
- function_ids: Optional[List[StrictInt]] = None,
1019
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
1020
1020
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1021
1021
  _request_timeout: Union[
1022
1022
  None,
@@ -1038,7 +1038,7 @@ class FunctionsDataTypesApi:
1038
1038
  :param analysis_id: (required)
1039
1039
  :type analysis_id: int
1040
1040
  :param function_ids:
1041
- :type function_ids: List[int]
1041
+ :type function_ids: List[Optional[int]]
1042
1042
  :param authorization: API Key bearer token
1043
1043
  :type authorization: str
1044
1044
  :param _request_timeout: timeout setting for this request. If one
@@ -1092,7 +1092,7 @@ class FunctionsDataTypesApi:
1092
1092
  def list_function_data_types_for_analysis_without_preload_content(
1093
1093
  self,
1094
1094
  analysis_id: StrictInt,
1095
- function_ids: Optional[List[StrictInt]] = None,
1095
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
1096
1096
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1097
1097
  _request_timeout: Union[
1098
1098
  None,
@@ -1114,7 +1114,7 @@ class FunctionsDataTypesApi:
1114
1114
  :param analysis_id: (required)
1115
1115
  :type analysis_id: int
1116
1116
  :param function_ids:
1117
- :type function_ids: List[int]
1117
+ :type function_ids: List[Optional[int]]
1118
1118
  :param authorization: API Key bearer token
1119
1119
  :type authorization: str
1120
1120
  :param _request_timeout: timeout setting for this request. If one
@@ -1236,7 +1236,7 @@ class FunctionsDataTypesApi:
1236
1236
  @validate_call
1237
1237
  def list_function_data_types_for_functions(
1238
1238
  self,
1239
- function_ids: Optional[List[StrictInt]] = None,
1239
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
1240
1240
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1241
1241
  _request_timeout: Union[
1242
1242
  None,
@@ -1256,7 +1256,7 @@ class FunctionsDataTypesApi:
1256
1256
  Returns data types for multiple function IDs
1257
1257
 
1258
1258
  :param function_ids:
1259
- :type function_ids: List[int]
1259
+ :type function_ids: List[Optional[int]]
1260
1260
  :param authorization: API Key bearer token
1261
1261
  :type authorization: str
1262
1262
  :param _request_timeout: timeout setting for this request. If one
@@ -1308,7 +1308,7 @@ class FunctionsDataTypesApi:
1308
1308
  @validate_call
1309
1309
  def list_function_data_types_for_functions_with_http_info(
1310
1310
  self,
1311
- function_ids: Optional[List[StrictInt]] = None,
1311
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
1312
1312
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1313
1313
  _request_timeout: Union[
1314
1314
  None,
@@ -1328,7 +1328,7 @@ class FunctionsDataTypesApi:
1328
1328
  Returns data types for multiple function IDs
1329
1329
 
1330
1330
  :param function_ids:
1331
- :type function_ids: List[int]
1331
+ :type function_ids: List[Optional[int]]
1332
1332
  :param authorization: API Key bearer token
1333
1333
  :type authorization: str
1334
1334
  :param _request_timeout: timeout setting for this request. If one
@@ -1380,7 +1380,7 @@ class FunctionsDataTypesApi:
1380
1380
  @validate_call
1381
1381
  def list_function_data_types_for_functions_without_preload_content(
1382
1382
  self,
1383
- function_ids: Optional[List[StrictInt]] = None,
1383
+ function_ids: Optional[List[Optional[StrictInt]]] = None,
1384
1384
  authorization: Annotated[Optional[StrictStr], Field(description="API Key bearer token")] = None,
1385
1385
  _request_timeout: Union[
1386
1386
  None,
@@ -1400,7 +1400,7 @@ class FunctionsDataTypesApi:
1400
1400
  Returns data types for multiple function IDs
1401
1401
 
1402
1402
  :param function_ids:
1403
- :type function_ids: List[int]
1403
+ :type function_ids: List[Optional[int]]
1404
1404
  :param authorization: API Key bearer token
1405
1405
  :type authorization: str
1406
1406
  :param _request_timeout: timeout setting for this request. If one
revengai/api_client.py CHANGED
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'OpenAPI-Generator/v1.79.0/python'
93
+ self.user_agent = 'OpenAPI-Generator/v1.81.0/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
revengai/configuration.py CHANGED
@@ -529,8 +529,8 @@ conf = revengai.Configuration(
529
529
  return "Python SDK Debug Report:\n"\
530
530
  "OS: {env}\n"\
531
531
  "Python Version: {pyversion}\n"\
532
- "Version of the API: v1.79.0\n"\
533
- "SDK Package Version: v1.79.0".\
532
+ "Version of the API: v1.81.0\n"\
533
+ "SDK Package Version: v1.81.0".\
534
534
  format(env=sys.platform, pyversion=sys.version)
535
535
 
536
536
  def get_host_settings(self) -> List[HostSetting]:
@@ -116,7 +116,6 @@ from revengai.models.base_response_recent import BaseResponseRecent
116
116
  from revengai.models.base_response_security_checks_response import BaseResponseSecurityChecksResponse
117
117
  from revengai.models.base_response_status import BaseResponseStatus
118
118
  from revengai.models.base_response_str import BaseResponseStr
119
- from revengai.models.base_response_symbols_info import BaseResponseSymbolsInfo
120
119
  from revengai.models.base_response_ttps import BaseResponseTTPS
121
120
  from revengai.models.base_response_tag_search_response import BaseResponseTagSearchResponse
122
121
  from revengai.models.base_response_task_response import BaseResponseTaskResponse
@@ -135,7 +134,6 @@ from revengai.models.binary_search_result import BinarySearchResult
135
134
  from revengai.models.binary_task_status import BinaryTaskStatus
136
135
  from revengai.models.block import Block
137
136
  from revengai.models.block_comments_generation_for_function_response import BlockCommentsGenerationForFunctionResponse
138
- from revengai.models.boundary import Boundary
139
137
  from revengai.models.box_plot_confidence import BoxPlotConfidence
140
138
  from revengai.models.callee_function_info import CalleeFunctionInfo
141
139
  from revengai.models.callees_caller_functions_response import CalleesCallerFunctionsResponse
@@ -294,7 +292,6 @@ from revengai.models.string_functions import StringFunctions
294
292
  from revengai.models.structure import Structure
295
293
  from revengai.models.structure_member import StructureMember
296
294
  from revengai.models.symbols import Symbols
297
- from revengai.models.symbols_info import SymbolsInfo
298
295
  from revengai.models.ttps import TTPS
299
296
  from revengai.models.ttps_attack import TTPSAttack
300
297
  from revengai.models.ttps_data import TTPSData
@@ -30,8 +30,8 @@ class ANNFunction(BaseModel):
30
30
  """ # noqa: E501
31
31
  limit: Optional[StrictInt] = Field(default=5, description="The amount of neighbours per function ID")
32
32
  distance: Optional[Union[StrictFloat, StrictInt]] = Field(default=0.1, description="The distance between two neighbours")
33
- analysis_search_ids: Optional[List[StrictInt]] = Field(default=None, description="Perform a search on functions within a list of analyses")
34
- collection_search_ids: Optional[Annotated[List[StrictInt], Field(max_length=5)]] = Field(default=None, description="Search only within these collections")
33
+ analysis_search_ids: Optional[List[Optional[StrictInt]]] = Field(default=None, description="Perform a search on functions within a list of analyses")
34
+ collection_search_ids: Optional[Annotated[List[Optional[StrictInt]], Field(max_length=5)]] = Field(default=None, description="Search only within these collections")
35
35
  search_binary_ids: Optional[SearchBinaryIds] = None
36
36
  search_function_ids: Optional[SearchFunctionIds] = None
37
37
  debug_only: Optional[StrictBool] = Field(default=False, description="Searches for only functions which are debug")
revengai/models/basic.py CHANGED
@@ -18,7 +18,7 @@ import json
18
18
 
19
19
  from datetime import datetime
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
24
24
 
@@ -37,7 +37,8 @@ class Basic(BaseModel):
37
37
  debug: StrictBool = Field(description="Whether the current analysis was analysed with debug symbols")
38
38
  function_count: StrictInt = Field(description="The number of functions in the binary")
39
39
  is_advanced: StrictBool = Field(description="Whether the analysis was advanced")
40
- __properties: ClassVar[List[str]] = ["binary_name", "binary_size", "creation", "sha_256_hash", "model_name", "owner_username", "analysis_scope", "is_owner", "debug", "function_count", "is_advanced"]
40
+ base_address: Optional[StrictInt]
41
+ __properties: ClassVar[List[str]] = ["binary_name", "binary_size", "creation", "sha_256_hash", "model_name", "owner_username", "analysis_scope", "is_owner", "debug", "function_count", "is_advanced", "base_address"]
41
42
 
42
43
  model_config = ConfigDict(
43
44
  populate_by_name=True,
@@ -78,6 +79,11 @@ class Basic(BaseModel):
78
79
  exclude=excluded_fields,
79
80
  exclude_none=True,
80
81
  )
82
+ # set to None if base_address (nullable) is None
83
+ # and model_fields_set contains the field
84
+ if self.base_address is None and "base_address" in self.model_fields_set:
85
+ _dict['base_address'] = None
86
+
81
87
  return _dict
82
88
 
83
89
  @classmethod
@@ -100,7 +106,8 @@ class Basic(BaseModel):
100
106
  "is_owner": obj.get("is_owner"),
101
107
  "debug": obj.get("debug"),
102
108
  "function_count": obj.get("function_count"),
103
- "is_advanced": obj.get("is_advanced")
109
+ "is_advanced": obj.get("is_advanced"),
110
+ "base_address": obj.get("base_address")
104
111
  })
105
112
  return _obj
106
113
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: revengai
3
- Version: 1.79.0
3
+ Version: 1.81.0
4
4
  Summary: RevEng.AI API
5
5
  Project-URL: Repository, https://github.com/RevEngAI/revengai-python
6
6
  Keywords: RevEng.AI API
@@ -68,7 +68,6 @@ Class | Method | HTTP request | Description
68
68
  *AnalysesCoreApi* | [**get_analysis_params**](docs/AnalysesCoreApi.md#get_analysis_params) | **GET** /v2/analyses/{analysis_id}/params | Gets analysis param information
69
69
  *AnalysesCoreApi* | [**get_analysis_status**](docs/AnalysesCoreApi.md#get_analysis_status) | **GET** /v2/analyses/{analysis_id}/status | Gets the status of an analysis
70
70
  *AnalysesCoreApi* | [**get_binary_ann**](docs/AnalysesCoreApi.md#get_binary_ann) | **POST** /v2/binary_ann/{analysis_id} | Binary Ann
71
- *AnalysesCoreApi* | [**get_symbol_info_for_binary**](docs/AnalysesCoreApi.md#get_symbol_info_for_binary) | **GET** /v2/analyses/symbol_info/{binary_id} | Gets the symbol information of a binary
72
71
  *AnalysesCoreApi* | [**list_analyses**](docs/AnalysesCoreApi.md#list_analyses) | **GET** /v2/analyses/list | Gets the most recent analyses
73
72
  *AnalysesCoreApi* | [**lookup_binary_id**](docs/AnalysesCoreApi.md#lookup_binary_id) | **GET** /v2/analyses/lookup/{binary_id} | Gets the analysis ID from binary ID
74
73
  *AnalysesCoreApi* | [**requeue_analysis**](docs/AnalysesCoreApi.md#requeue_analysis) | **POST** /v2/analyses/{analysis_id}/requeue | Requeue Analysis
@@ -279,7 +278,6 @@ Class | Method | HTTP request | Description
279
278
  - [BaseResponseSecurityChecksResponse](docs/BaseResponseSecurityChecksResponse.md)
280
279
  - [BaseResponseStatus](docs/BaseResponseStatus.md)
281
280
  - [BaseResponseStr](docs/BaseResponseStr.md)
282
- - [BaseResponseSymbolsInfo](docs/BaseResponseSymbolsInfo.md)
283
281
  - [BaseResponseTTPS](docs/BaseResponseTTPS.md)
284
282
  - [BaseResponseTagSearchResponse](docs/BaseResponseTagSearchResponse.md)
285
283
  - [BaseResponseTaskResponse](docs/BaseResponseTaskResponse.md)
@@ -298,7 +296,6 @@ Class | Method | HTTP request | Description
298
296
  - [BinaryTaskStatus](docs/BinaryTaskStatus.md)
299
297
  - [Block](docs/Block.md)
300
298
  - [BlockCommentsGenerationForFunctionResponse](docs/BlockCommentsGenerationForFunctionResponse.md)
301
- - [Boundary](docs/Boundary.md)
302
299
  - [BoxPlotConfidence](docs/BoxPlotConfidence.md)
303
300
  - [CalleeFunctionInfo](docs/CalleeFunctionInfo.md)
304
301
  - [CalleesCallerFunctionsResponse](docs/CalleesCallerFunctionsResponse.md)
@@ -457,7 +454,6 @@ Class | Method | HTTP request | Description
457
454
  - [Structure](docs/Structure.md)
458
455
  - [StructureMember](docs/StructureMember.md)
459
456
  - [Symbols](docs/Symbols.md)
460
- - [SymbolsInfo](docs/SymbolsInfo.md)
461
457
  - [TTPS](docs/TTPS.md)
462
458
  - [TTPSAttack](docs/TTPSAttack.md)
463
459
  - [TTPSData](docs/TTPSData.md)
@@ -1,13 +1,13 @@
1
- revengai/__init__.py,sha256=9Q8-GB4zichj6cstzpItOS-qys9iRyYv800jhoS6GfQ,43445
2
- revengai/api_client.py,sha256=LL1XBZAIdrL50Xry_WjUIexjz0dDszC0MAePnj589C8,27670
1
+ revengai/__init__.py,sha256=mYGdsCZqAEy8EyxehalsQkdrE5CdH23WpC0rjjxVVeQ,43147
2
+ revengai/api_client.py,sha256=3dhIkNlTslwBcv05KzP0U9XULy6j0NeK9W70r1LYlnY,27670
3
3
  revengai/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- revengai/configuration.py,sha256=cawkDpwOdW1LGp2LcQDE_l01m2ZKBcOHJiN1Y7OmIQo,18749
4
+ revengai/configuration.py,sha256=F3vkEfBVfedlmizN2CSG8ezC6-K_Dlw4EDOpRJEinY4,18749
5
5
  revengai/exceptions.py,sha256=IvdI9ZIZ9b2lSSKtIKMQDlG-5UPAedrjm3U4xfmGkso,6385
6
6
  revengai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  revengai/rest.py,sha256=T6Q2dcazhntqm288H33BKC1hf8NVdvmQWgaymlJo158,9376
8
8
  revengai/api/__init__.py,sha256=KS_1v_pNTcR2cIzEuwGEFq0f_-HmC6aGSgb1qaq2k90,1396
9
9
  revengai/api/analyses_comments_api.py,sha256=L6NuM8bS3NJRt1b3WKdnZlYVE0YgdcZivNwGuQe5Gb4,49575
10
- revengai/api/analyses_core_api.py,sha256=lcnaGDlp921oDfF_3w5iXzPj8kg8ybp27X1LMGqHqt0,194954
10
+ revengai/api/analyses_core_api.py,sha256=s9PNVMNAYHMS5Hpajqt2PlNpFUXqu2M1fMuYrwemYPM,183698
11
11
  revengai/api/analyses_dynamic_execution_api.py,sha256=4vNnupRsuwNVNk7cPa-VFx2nnLtrokJpHu4YUOPwX_o,77682
12
12
  revengai/api/analyses_results_metadata_api.py,sha256=NlwPugWgnvFLcth_p4DRk8kwBk76offi7y9zxHL5mxk,90181
13
13
  revengai/api/analyses_security_checks_api.py,sha256=b1phfsLDO2kvmLaYtGjMVUkHUhRp63EEN3aJvTyX16o,35691
@@ -19,14 +19,14 @@ revengai/api/external_sources_api.py,sha256=JMyVAoivo6AsgeNekXnSk5BZh02APn9bzojo
19
19
  revengai/api/firmware_api.py,sha256=IPkGAJ-gxmuNcz2sUM6ip-9N2DZujqLJWwhiLvUQBOA,24150
20
20
  revengai/api/functions_ai_decompilation_api.py,sha256=JJZREg2Tz5iozNGl48F1vvkGJOrQoIwFFBbQuEghAeU,109824
21
21
  revengai/api/functions_block_comments_api.py,sha256=SilDkZYrrJ2_6j-Hh-ZNTUZKp1G9XE9aUwVbDzev5Co,35480
22
- revengai/api/functions_core_api.py,sha256=6zAx4b7S0upX1XiqHR2SH59V6En9AecUyaP0UidHyQw,149922
23
- revengai/api/functions_data_types_api.py,sha256=IKhYJHkx-5_XsADmrozZsDxApr_c_Ecey0av_zW_5rI,73749
22
+ revengai/api/functions_core_api.py,sha256=-g1nwdSqyNvF4Fd3L5h0qeY5neSKHThBhgV-FfSAkoM,150042
23
+ revengai/api/functions_data_types_api.py,sha256=Fzu4oI6kTwSE820_cGjr09N_G3uGOa4DUiyPFwOqvx4,73869
24
24
  revengai/api/functions_decompilation_api.py,sha256=nEvYHPFoonmKSAf_t4_voC3SfoDd-O9sisSfA-5hiJo,83262
25
25
  revengai/api/functions_renaming_history_api.py,sha256=L2CDadLnZrA0oNxhJfTSLLiMDz0Z4583Q8zLEj-Ze2I,47441
26
26
  revengai/api/functions_threat_score_api.py,sha256=RYbCaX71r2ssv7VxUrcezT8dSdU5K5ipHD6yR592k6I,23867
27
27
  revengai/api/models_api.py,sha256=bqukeUMctErkaX5mH8Rm3iPKEHQOCx-JT-P8_KV_iP8,11319
28
28
  revengai/api/search_api.py,sha256=Kzo7KfP4nY1-YsoCHxVOQm3Vn89kFjcnUV7oNdaw5z0,65835
29
- revengai/models/__init__.py,sha256=WeAm7NvfOAG1SuX-RgafRz4lbO1VtWqdyhIoqlKrlMw,23406
29
+ revengai/models/__init__.py,sha256=FKjzSnbDp-S01pPLPg4OZ8sXN6fFLF-fxioGYOdJ5SQ,23228
30
30
  revengai/models/addr.py,sha256=-2N-UQsOiZ0eyEAQ7ssk0of8W2fBrXeYdTZXuVt3SZs,4787
31
31
  revengai/models/ai_decompilation_rating.py,sha256=_Ucm2tiqUnnb5XjGSwAJ18ID0eZvGjVRqk-mL0SwJAI,698
32
32
  revengai/models/ai_unstrip_request.py,sha256=loSXNdHATJmY5yttiUCE-lLEOkuE63qVDTz8U0eCAIc,2596
@@ -45,7 +45,7 @@ revengai/models/analysis_threat_score_data.py,sha256=1bCfJF-PyKsy6tW7JH-RyouW7bH
45
45
  revengai/models/analysis_update_request.py,sha256=J4IulQ18iPHjrDMpLn9_NzMg99_W7jS8eCK17feVAtE,3403
46
46
  revengai/models/analysis_update_tags_request.py,sha256=nrJwzS_Yg3SOkvrRcGW6eWfoG_FZn4l9dAZpRQNbV7A,2436
47
47
  revengai/models/analysis_update_tags_response.py,sha256=KRNesNAW57hCPatnsy7ACBZORuKvWfd2XITFLwqtdbA,2936
48
- revengai/models/ann_function.py,sha256=tuIOLi3MpC4DNBP8FPfvTDmkdsSC4Y6mHGv5F9Pk6X8,5126
48
+ revengai/models/ann_function.py,sha256=pq5pSzuebXYIQfYzRQ4Qd9JA8Vjngkv_UjEi2QpwiPk,5146
49
49
  revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py,sha256=x8VdW5OBlfoIoz3IV1HLN-SxeFh7798x6bHIggz7jF8,805
50
50
  revengai/models/app_api_rest_v2_analyses_enums_order_by.py,sha256=Wpv3tfyAeBzN5_jkk4tBtYlJvUn8h0qudg4bvzBtKh8,739
51
51
  revengai/models/app_api_rest_v2_analyses_responses_tag_item.py,sha256=Clh9pPBQKqeqeRiOZG4Fbh77pLPyKMCH3r3nU8Ej0Pc,2921
@@ -131,13 +131,12 @@ revengai/models/base_response_recent.py,sha256=_dcbJwsKBtmZWIS3YnQphgpa3FDkX8Vw-
131
131
  revengai/models/base_response_security_checks_response.py,sha256=X1HIXKbo-Id7qB1OryHsd1WGb_UA-NndyXz6MNBYajA,4682
132
132
  revengai/models/base_response_status.py,sha256=LI9tB94BMbcnVrBvWYrAheu_4cRoyzDvBm-ZspzenBE,4577
133
133
  revengai/models/base_response_str.py,sha256=zTu53NE1e3zJsIw28iCudcK6Z6_1Qj1SycVTu7o4f8Q,4293
134
- revengai/models/base_response_symbols_info.py,sha256=Xds6S7m0EG0hBnlJF6zgmZC5ajs_PPnTRxBMzrcgkYM,4593
135
134
  revengai/models/base_response_tag_search_response.py,sha256=gssJNLuZNf9-I-wdgLoxMfeBalO5GwwT2bpylJYoM3g,4642
136
135
  revengai/models/base_response_task_response.py,sha256=bXkHhQ2-D-COJji5G-pNsJYOhGeZCO6fl_ObQPDAPc4,4601
137
136
  revengai/models/base_response_ttps.py,sha256=-YE-wpKgyPyheUtGThviW3MqJovAQD0RWLYvQe9qTjg,4536
138
137
  revengai/models/base_response_upload_response.py,sha256=6j2_TFjqvg4McQHFjYBmPsZ8m4dBRsXBfwuApyViW8U,4617
139
138
  revengai/models/base_response_vulnerabilities.py,sha256=gsy0wxCCt3qoD3dOvIkCESAEmdK3v0SXEf_Yud61X5M,4624
140
- revengai/models/basic.py,sha256=UrdKnweBU-V4lNRiik9ZTffTKBnkaEJjj1yfTfe8wMU,4010
139
+ revengai/models/basic.py,sha256=hWNfm8W7yoF9HgKvNgt1nSh0qmwys5BZHRRMWiEQPK8,4358
141
140
  revengai/models/binary_additional_details_data_response.py,sha256=PhRBpsYcvfRF32gmBD6S7DzAqrEzEXYqXYwRStoKmlU,3772
142
141
  revengai/models/binary_additional_response.py,sha256=CiG7bH6c4mePyHsj50DKRm2iuyo0O6JzcjZ6J_jEAOs,3478
143
142
  revengai/models/binary_ann_form.py,sha256=pGtM-LuN5dWsA_f0YiMNhlydgAlTPGPGilu1yx9sFjE,3288
@@ -150,7 +149,6 @@ revengai/models/binary_search_result.py,sha256=y2T6qBDMvdLtyfRIBzlFMs6hCdMZqQfoF
150
149
  revengai/models/binary_task_status.py,sha256=hHEJcio8AYxUZBFg3WB4dyEcynczzCEIXxTtEGSlDLQ,765
151
150
  revengai/models/block.py,sha256=zeccSEWdoStw5Dfx3TSv4AJV3IoQ7GNhrM7_5HJF9zA,2394
152
151
  revengai/models/block_comments_generation_for_function_response.py,sha256=sVr84JNBPYxYxoLIJct7NVbHyqa_-eFXdX2pKb7zFMg,2538
153
- revengai/models/boundary.py,sha256=BiUe70JhULF3P7L0oGLvhscB6rgbCMTAWpKC-dpLtQw,2716
154
152
  revengai/models/box_plot_confidence.py,sha256=sbAJu7dTJT-g2cNQeJEK_VxaCASP3fHyXzyU_u9f3Z8,3110
155
153
  revengai/models/callee_function_info.py,sha256=YsvcXKI9rRc7Iidko0smH9YEde_eSPLCa85sKSbW54A,3742
156
154
  revengai/models/callees_caller_functions_response.py,sha256=iFbmAywCAlWTohtDCchXoTTIbdWEZuyenx_3ZJqnUjY,3841
@@ -309,7 +307,6 @@ revengai/models/string_functions.py,sha256=_TEfTPYSAS3-on-NCxZEpJlgcO6KrIQCW_UnF
309
307
  revengai/models/structure.py,sha256=RbXBB7yS2R1_nEoPTjPe-nk0aNHXil1zBqDPXd80VU0,4022
310
308
  revengai/models/structure_member.py,sha256=7sziErgaMiBw3Trib5V9ngLvr7O_segwePS7xnVPFko,3193
311
309
  revengai/models/symbols.py,sha256=gbYM4MlO1hqPK1G5AJPxX5xAvhj92gYb5qdHn4WspzE,3271
312
- revengai/models/symbols_info.py,sha256=ITQeE5oab77cbGqvSjkNLoL_--Pjis_vUtYai6xvZYA,3371
313
310
  revengai/models/tag.py,sha256=Of0MVVngcaf-oVoZ0nT9_AkoeTE-VxtiscEnMD5CC3o,2342
314
311
  revengai/models/tag_confidence_body.py,sha256=3aCx9HN8P0wpr0cNQ4PC-Kz_7R4lT3P--GhRuDUTH5s,2902
315
312
  revengai/models/tag_origin_box_plot_confidence.py,sha256=6ZTJDf0W5p180bbysf72VyxDbFm6_rTY-RjRNTxoDuA,3047
@@ -337,6 +334,6 @@ revengai/models/vulnerabilities.py,sha256=9t6uoZd3svWyfcZJjmj6zP731Dp47Apb25y8Qt
337
334
  revengai/models/vulnerability.py,sha256=P7rAOAYU5JLLpcRr824-YJgZba5kPb_J9ALV3tSNfLQ,3688
338
335
  revengai/models/vulnerability_type.py,sha256=SyOgfMmELYYc_H84oPkikBpjwngtG5Qw9Q_86a2TPr8,866
339
336
  revengai/models/workspace.py,sha256=chjU62GFvByEmaNd6luMNQVQLP3wlPx1zJgGJ_yyMLA,676
340
- revengai-1.79.0.dist-info/METADATA,sha256=7s0kP4Sag5nD0OKxED0mpCNWbfg9-_IbRGN2ALeLOvU,41921
341
- revengai-1.79.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
342
- revengai-1.79.0.dist-info/RECORD,,
337
+ revengai-1.81.0.dist-info/METADATA,sha256=oJbkSIR2NFUwADQJvAoMDsTcr8Tl3yJ6ZIGKrUPKcck,41595
338
+ revengai-1.81.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
339
+ revengai-1.81.0.dist-info/RECORD,,
@@ -1,125 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- RevEng.AI API
5
-
6
- RevEng.AI is Similarity Search Engine for executable binaries
7
-
8
- Generated by OpenAPI Generator (https://openapi-generator.tech)
9
-
10
- Do not edit the class manually.
11
- """ # noqa: E501
12
-
13
-
14
- from __future__ import annotations
15
- import pprint
16
- import re # noqa: F401
17
- import json
18
-
19
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
20
- from typing import Any, ClassVar, Dict, List, Optional
21
- from revengai.models.error_model import ErrorModel
22
- from revengai.models.meta_model import MetaModel
23
- from revengai.models.symbols_info import SymbolsInfo
24
- from typing import Optional, Set
25
- from typing_extensions import Self
26
-
27
- class BaseResponseSymbolsInfo(BaseModel):
28
- """
29
- BaseResponseSymbolsInfo
30
- """ # noqa: E501
31
- status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded")
32
- data: Optional[SymbolsInfo] = None
33
- message: Optional[StrictStr] = None
34
- errors: Optional[List[ErrorModel]] = None
35
- meta: Optional[MetaModel] = Field(default=None, description="Metadata")
36
- __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"]
37
-
38
- model_config = ConfigDict(
39
- populate_by_name=True,
40
- validate_assignment=True,
41
- protected_namespaces=(),
42
- )
43
-
44
-
45
- def to_str(self) -> str:
46
- """Returns the string representation of the model using alias"""
47
- return pprint.pformat(self.model_dump(by_alias=True))
48
-
49
- def to_json(self) -> str:
50
- """Returns the JSON representation of the model using alias"""
51
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
- return json.dumps(self.to_dict())
53
-
54
- @classmethod
55
- def from_json(cls, json_str: str) -> Optional[Self]:
56
- """Create an instance of BaseResponseSymbolsInfo from a JSON string"""
57
- return cls.from_dict(json.loads(json_str))
58
-
59
- def to_dict(self) -> Dict[str, Any]:
60
- """Return the dictionary representation of the model using alias.
61
-
62
- This has the following differences from calling pydantic's
63
- `self.model_dump(by_alias=True)`:
64
-
65
- * `None` is only added to the output dict for nullable fields that
66
- were set at model initialization. Other fields with value `None`
67
- are ignored.
68
- """
69
- excluded_fields: Set[str] = set([
70
- ])
71
-
72
- _dict = self.model_dump(
73
- by_alias=True,
74
- exclude=excluded_fields,
75
- exclude_none=True,
76
- )
77
- # override the default output from pydantic by calling `to_dict()` of data
78
- if self.data:
79
- _dict['data'] = self.data.to_dict()
80
- # override the default output from pydantic by calling `to_dict()` of each item in errors (list)
81
- _items = []
82
- if self.errors:
83
- for _item_errors in self.errors:
84
- if _item_errors:
85
- _items.append(_item_errors.to_dict())
86
- _dict['errors'] = _items
87
- # override the default output from pydantic by calling `to_dict()` of meta
88
- if self.meta:
89
- _dict['meta'] = self.meta.to_dict()
90
- # set to None if data (nullable) is None
91
- # and model_fields_set contains the field
92
- if self.data is None and "data" in self.model_fields_set:
93
- _dict['data'] = None
94
-
95
- # set to None if message (nullable) is None
96
- # and model_fields_set contains the field
97
- if self.message is None and "message" in self.model_fields_set:
98
- _dict['message'] = None
99
-
100
- # set to None if errors (nullable) is None
101
- # and model_fields_set contains the field
102
- if self.errors is None and "errors" in self.model_fields_set:
103
- _dict['errors'] = None
104
-
105
- return _dict
106
-
107
- @classmethod
108
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
109
- """Create an instance of BaseResponseSymbolsInfo from a dict"""
110
- if obj is None:
111
- return None
112
-
113
- if not isinstance(obj, dict):
114
- return cls.model_validate(obj)
115
-
116
- _obj = cls.model_validate({
117
- "status": obj.get("status") if obj.get("status") is not None else True,
118
- "data": SymbolsInfo.from_dict(obj["data"]) if obj.get("data") is not None else None,
119
- "message": obj.get("message"),
120
- "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None,
121
- "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None
122
- })
123
- return _obj
124
-
125
-
@@ -1,90 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- RevEng.AI API
5
-
6
- RevEng.AI is Similarity Search Engine for executable binaries
7
-
8
- Generated by OpenAPI Generator (https://openapi-generator.tech)
9
-
10
- Do not edit the class manually.
11
- """ # noqa: E501
12
-
13
-
14
- from __future__ import annotations
15
- import pprint
16
- import re # noqa: F401
17
- import json
18
-
19
- from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
20
- from typing import Any, ClassVar, Dict, List
21
- from typing import Optional, Set
22
- from typing_extensions import Self
23
-
24
- class Boundary(BaseModel):
25
- """
26
- Boundary
27
- """ # noqa: E501
28
- start_addr: StrictInt = Field(description="Start address of the function boundary")
29
- end_addr: StrictInt = Field(description="End address of the function boundary")
30
- name: StrictStr = Field(description="Name of the function")
31
- __properties: ClassVar[List[str]] = ["start_addr", "end_addr", "name"]
32
-
33
- model_config = ConfigDict(
34
- populate_by_name=True,
35
- validate_assignment=True,
36
- protected_namespaces=(),
37
- )
38
-
39
-
40
- def to_str(self) -> str:
41
- """Returns the string representation of the model using alias"""
42
- return pprint.pformat(self.model_dump(by_alias=True))
43
-
44
- def to_json(self) -> str:
45
- """Returns the JSON representation of the model using alias"""
46
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
- return json.dumps(self.to_dict())
48
-
49
- @classmethod
50
- def from_json(cls, json_str: str) -> Optional[Self]:
51
- """Create an instance of Boundary from a JSON string"""
52
- return cls.from_dict(json.loads(json_str))
53
-
54
- def to_dict(self) -> Dict[str, Any]:
55
- """Return the dictionary representation of the model using alias.
56
-
57
- This has the following differences from calling pydantic's
58
- `self.model_dump(by_alias=True)`:
59
-
60
- * `None` is only added to the output dict for nullable fields that
61
- were set at model initialization. Other fields with value `None`
62
- are ignored.
63
- """
64
- excluded_fields: Set[str] = set([
65
- ])
66
-
67
- _dict = self.model_dump(
68
- by_alias=True,
69
- exclude=excluded_fields,
70
- exclude_none=True,
71
- )
72
- return _dict
73
-
74
- @classmethod
75
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
- """Create an instance of Boundary from a dict"""
77
- if obj is None:
78
- return None
79
-
80
- if not isinstance(obj, dict):
81
- return cls.model_validate(obj)
82
-
83
- _obj = cls.model_validate({
84
- "start_addr": obj.get("start_addr"),
85
- "end_addr": obj.get("end_addr"),
86
- "name": obj.get("name")
87
- })
88
- return _obj
89
-
90
-
@@ -1,102 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- RevEng.AI API
5
-
6
- RevEng.AI is Similarity Search Engine for executable binaries
7
-
8
- Generated by OpenAPI Generator (https://openapi-generator.tech)
9
-
10
- Do not edit the class manually.
11
- """ # noqa: E501
12
-
13
-
14
- from __future__ import annotations
15
- import pprint
16
- import re # noqa: F401
17
- import json
18
-
19
- from pydantic import BaseModel, ConfigDict, StrictInt
20
- from typing import Any, ClassVar, Dict, List, Optional
21
- from revengai.models.boundary import Boundary
22
- from typing import Optional, Set
23
- from typing_extensions import Self
24
-
25
- class SymbolsInfo(BaseModel):
26
- """
27
- SymbolsInfo
28
- """ # noqa: E501
29
- base_addr: Optional[StrictInt] = None
30
- provided_boundaries: Optional[Boundary] = None
31
- __properties: ClassVar[List[str]] = ["base_addr", "provided_boundaries"]
32
-
33
- model_config = ConfigDict(
34
- populate_by_name=True,
35
- validate_assignment=True,
36
- protected_namespaces=(),
37
- )
38
-
39
-
40
- def to_str(self) -> str:
41
- """Returns the string representation of the model using alias"""
42
- return pprint.pformat(self.model_dump(by_alias=True))
43
-
44
- def to_json(self) -> str:
45
- """Returns the JSON representation of the model using alias"""
46
- # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
- return json.dumps(self.to_dict())
48
-
49
- @classmethod
50
- def from_json(cls, json_str: str) -> Optional[Self]:
51
- """Create an instance of SymbolsInfo from a JSON string"""
52
- return cls.from_dict(json.loads(json_str))
53
-
54
- def to_dict(self) -> Dict[str, Any]:
55
- """Return the dictionary representation of the model using alias.
56
-
57
- This has the following differences from calling pydantic's
58
- `self.model_dump(by_alias=True)`:
59
-
60
- * `None` is only added to the output dict for nullable fields that
61
- were set at model initialization. Other fields with value `None`
62
- are ignored.
63
- """
64
- excluded_fields: Set[str] = set([
65
- ])
66
-
67
- _dict = self.model_dump(
68
- by_alias=True,
69
- exclude=excluded_fields,
70
- exclude_none=True,
71
- )
72
- # override the default output from pydantic by calling `to_dict()` of provided_boundaries
73
- if self.provided_boundaries:
74
- _dict['provided_boundaries'] = self.provided_boundaries.to_dict()
75
- # set to None if base_addr (nullable) is None
76
- # and model_fields_set contains the field
77
- if self.base_addr is None and "base_addr" in self.model_fields_set:
78
- _dict['base_addr'] = None
79
-
80
- # set to None if provided_boundaries (nullable) is None
81
- # and model_fields_set contains the field
82
- if self.provided_boundaries is None and "provided_boundaries" in self.model_fields_set:
83
- _dict['provided_boundaries'] = None
84
-
85
- return _dict
86
-
87
- @classmethod
88
- def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
89
- """Create an instance of SymbolsInfo from a dict"""
90
- if obj is None:
91
- return None
92
-
93
- if not isinstance(obj, dict):
94
- return cls.model_validate(obj)
95
-
96
- _obj = cls.model_validate({
97
- "base_addr": obj.get("base_addr"),
98
- "provided_boundaries": Boundary.from_dict(obj["provided_boundaries"]) if obj.get("provided_boundaries") is not None else None
99
- })
100
- return _obj
101
-
102
-