diff --git a/.sdk-version b/.sdk-version index 44b3480..f2d3a6a 100644 --- a/.sdk-version +++ b/.sdk-version @@ -1 +1 @@ -v3.74.4 +v3.78.1 diff --git a/README.md b/README.md index 277236e..1e12056 100644 --- a/README.md +++ b/README.md @@ -71,13 +71,6 @@ Class | Method | HTTP request | Description *AnalysesCoreApi* | [**update_analysis**](docs/AnalysesCoreApi.md#update_analysis) | **PATCH** /v2/analyses/{analysis_id} | Update Analysis *AnalysesCoreApi* | [**update_analysis_tags**](docs/AnalysesCoreApi.md#update_analysis_tags) | **PATCH** /v2/analyses/{analysis_id}/tags | Update Analysis Tags *AnalysesCoreApi* | [**upload_file**](docs/AnalysesCoreApi.md#upload_file) | **POST** /v2/upload | Upload File -*AnalysesDynamicExecutionApi* | [**get_dynamic_execution_status**](docs/AnalysesDynamicExecutionApi.md#get_dynamic_execution_status) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/status | Get the status of a dynamic execution task -*AnalysesDynamicExecutionApi* | [**get_network_overview**](docs/AnalysesDynamicExecutionApi.md#get_network_overview) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/network-overview | Get the dynamic execution results for network overview -*AnalysesDynamicExecutionApi* | [**get_process_dump**](docs/AnalysesDynamicExecutionApi.md#get_process_dump) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-dumps/{dump_name} | Get the dynamic execution results for a specific process dump -*AnalysesDynamicExecutionApi* | [**get_process_dumps**](docs/AnalysesDynamicExecutionApi.md#get_process_dumps) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-dumps | Get the dynamic execution results for process dumps -*AnalysesDynamicExecutionApi* | [**get_process_registry**](docs/AnalysesDynamicExecutionApi.md#get_process_registry) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-registry | Get the dynamic execution results for process registry -*AnalysesDynamicExecutionApi* | [**get_process_tree**](docs/AnalysesDynamicExecutionApi.md#get_process_tree) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-tree | Get the dynamic execution results for process tree -*AnalysesDynamicExecutionApi* | [**get_ttps**](docs/AnalysesDynamicExecutionApi.md#get_ttps) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/ttps | Get the dynamic execution results for ttps *AnalysesResultsMetadataApi* | [**get_analysis_functions_paginated**](docs/AnalysesResultsMetadataApi.md#get_analysis_functions_paginated) | **GET** /v2/analyses/{analysis_id}/functions | Get functions from analysis *AnalysesResultsMetadataApi* | [**get_capabilities**](docs/AnalysesResultsMetadataApi.md#get_capabilities) | **GET** /v2/analyses/{analysis_id}/capabilities | Gets the capabilities from the analysis *AnalysesResultsMetadataApi* | [**get_functions_list**](docs/AnalysesResultsMetadataApi.md#get_functions_list) | **GET** /v2/analyses/{analysis_id}/functions/list | Gets functions from analysis @@ -109,6 +102,13 @@ Class | Method | HTTP request | Description *CollectionsApi* | [**update_collection_binaries**](docs/CollectionsApi.md#update_collection_binaries) | **PATCH** /v2/collections/{collection_id}/binaries | Updates a collection binaries *CollectionsApi* | [**update_collection_tags**](docs/CollectionsApi.md#update_collection_tags) | **PATCH** /v2/collections/{collection_id}/tags | Updates a collection tags *ConfigApi* | [**get_config**](docs/ConfigApi.md#get_config) | **GET** /v2/config | Get Config +*ConversationsApi* | [**cancel_run**](docs/ConversationsApi.md#cancel_run) | **POST** /v2/conversations/{id}/cancel | Cancel an active run +*ConversationsApi* | [**confirm_tool**](docs/ConversationsApi.md#confirm_tool) | **POST** /v2/conversations/{id}/confirm | Approve or reject a pending tool confirmation +*ConversationsApi* | [**create_conversation**](docs/ConversationsApi.md#create_conversation) | **POST** /v2/conversations | Create a new conversation +*ConversationsApi* | [**get_conversation**](docs/ConversationsApi.md#get_conversation) | **GET** /v2/conversations/{id} | Get a conversation with its events +*ConversationsApi* | [**list_conversations**](docs/ConversationsApi.md#list_conversations) | **GET** /v2/conversations | List conversations for the authenticated user +*ConversationsApi* | [**send_message**](docs/ConversationsApi.md#send_message) | **POST** /v2/conversations/{id}/messages | Send a message and start an agentic run +*ConversationsApi* | [**stream_events**](docs/ConversationsApi.md#stream_events) | **GET** /v2/conversations/{id}/events | Stream conversation events (SSE) *ExternalSourcesApi* | [**create_external_task_vt**](docs/ExternalSourcesApi.md#create_external_task_vt) | **POST** /v2/analysis/{analysis_id}/external/vt | Pulls data from VirusTotal *ExternalSourcesApi* | [**get_vt_data**](docs/ExternalSourcesApi.md#get_vt_data) | **GET** /v2/analysis/{analysis_id}/external/vt | Get VirusTotal data *ExternalSourcesApi* | [**get_vt_task_status**](docs/ExternalSourcesApi.md#get_vt_task_status) | **GET** /v2/analysis/{analysis_id}/external/vt/status | Check the status of VirusTotal data retrieval @@ -156,6 +156,7 @@ Class | Method | HTTP request | Description ## Documentation For Models + - [APIError](docs/APIError.md) - [AdditionalDetailsStatusResponse](docs/AdditionalDetailsStatusResponse.md) - [Addr](docs/Addr.md) - [AiDecompilationRating](docs/AiDecompilationRating.md) @@ -186,13 +187,11 @@ Class | Method | HTTP request | Description - [AnalysisUpdateTagsRequest](docs/AnalysisUpdateTagsRequest.md) - [AnalysisUpdateTagsResponse](docs/AnalysisUpdateTagsResponse.md) - [AppApiRestV2AgentSchemaCapability](docs/AppApiRestV2AgentSchemaCapability.md) - - [AppApiRestV2AnalysesEnumsDynamicExecutionStatus](docs/AppApiRestV2AnalysesEnumsDynamicExecutionStatus.md) - [AppApiRestV2AnalysesEnumsOrderBy](docs/AppApiRestV2AnalysesEnumsOrderBy.md) - [AppApiRestV2CollectionsEnumsOrderBy](docs/AppApiRestV2CollectionsEnumsOrderBy.md) - [AppApiRestV2FunctionsResponsesFunction](docs/AppApiRestV2FunctionsResponsesFunction.md) - [AppApiRestV2FunctionsTypesFunction](docs/AppApiRestV2FunctionsTypesFunction.md) - [AppApiRestV2InfoTypesCapability](docs/AppApiRestV2InfoTypesCapability.md) - - [AppServicesDynamicExecutionSchemasDynamicExecutionStatus](docs/AppServicesDynamicExecutionSchemasDynamicExecutionStatus.md) - [Argument](docs/Argument.md) - [AutoRunAgents](docs/AutoRunAgents.md) - [AutoUnstripRequest](docs/AutoUnstripRequest.md) @@ -229,7 +228,6 @@ Class | Method | HTTP request | Description - [BaseResponseConfigResponse](docs/BaseResponseConfigResponse.md) - [BaseResponseCreated](docs/BaseResponseCreated.md) - [BaseResponseDict](docs/BaseResponseDict.md) - - [BaseResponseDynamicExecutionStatus](docs/BaseResponseDynamicExecutionStatus.md) - [BaseResponseExternalResponse](docs/BaseResponseExternalResponse.md) - [BaseResponseFunctionBlocksResponse](docs/BaseResponseFunctionBlocksResponse.md) - [BaseResponseFunctionCapabilityResponse](docs/BaseResponseFunctionCapabilityResponse.md) @@ -253,18 +251,13 @@ Class | Method | HTTP request | Description - [BaseResponseListUserActivityResponse](docs/BaseResponseListUserActivityResponse.md) - [BaseResponseLogs](docs/BaseResponseLogs.md) - [BaseResponseModelsResponse](docs/BaseResponseModelsResponse.md) - - [BaseResponseNetworkOverviewResponse](docs/BaseResponseNetworkOverviewResponse.md) - [BaseResponseParams](docs/BaseResponseParams.md) - [BaseResponsePipelineStatusResponse](docs/BaseResponsePipelineStatusResponse.md) - - [BaseResponseProcessDumps](docs/BaseResponseProcessDumps.md) - - [BaseResponseProcessRegistry](docs/BaseResponseProcessRegistry.md) - - [BaseResponseProcessTree](docs/BaseResponseProcessTree.md) - [BaseResponseQueuedWorkflowTaskResponse](docs/BaseResponseQueuedWorkflowTaskResponse.md) - [BaseResponseRecent](docs/BaseResponseRecent.md) - [BaseResponseReportAnalysisResponse](docs/BaseResponseReportAnalysisResponse.md) - [BaseResponseStatus](docs/BaseResponseStatus.md) - [BaseResponseStr](docs/BaseResponseStr.md) - - [BaseResponseTTPS](docs/BaseResponseTTPS.md) - [BaseResponseTagSearchResponse](docs/BaseResponseTagSearchResponse.md) - [BaseResponseTaskResponse](docs/BaseResponseTaskResponse.md) - [BaseResponseTaskStatusResponse](docs/BaseResponseTaskStatusResponse.md) @@ -309,11 +302,16 @@ Class | Method | HTTP request | Description - [CommentResponse](docs/CommentResponse.md) - [CommentUpdateRequest](docs/CommentUpdateRequest.md) - [ConfigResponse](docs/ConfigResponse.md) + - [ConfirmToolInputBody](docs/ConfirmToolInputBody.md) - [Context](docs/Context.md) + - [Conversation](docs/Conversation.md) + - [ConversationContext](docs/ConversationContext.md) + - [ConversationWithEvents](docs/ConversationWithEvents.md) + - [CreateConversationRequest](docs/CreateConversationRequest.md) - [Created](docs/Created.md) - [DecompilationCommentContext](docs/DecompilationCommentContext.md) - [DieMatch](docs/DieMatch.md) - - [DynamicExecutionStatusInput](docs/DynamicExecutionStatusInput.md) + - [DynamicExecutionStatus](docs/DynamicExecutionStatus.md) - [ELFImportModel](docs/ELFImportModel.md) - [ELFModel](docs/ELFModel.md) - [ELFRelocation](docs/ELFRelocation.md) @@ -324,7 +322,25 @@ Class | Method | HTTP request | Description - [ElfDynamicEntry](docs/ElfDynamicEntry.md) - [EntrypointModel](docs/EntrypointModel.md) - [Enumeration](docs/Enumeration.md) + - [ErrorBody](docs/ErrorBody.md) - [ErrorModel](docs/ErrorModel.md) + - [Event](docs/Event.md) + - [EventCONTEXTCOMPACTED](docs/EventCONTEXTCOMPACTED.md) + - [EventRUNCANCELLED](docs/EventRUNCANCELLED.md) + - [EventRUNERROR](docs/EventRUNERROR.md) + - [EventRUNFINISHED](docs/EventRUNFINISHED.md) + - [EventRUNSTARTED](docs/EventRUNSTARTED.md) + - [EventSTEPFINISHED](docs/EventSTEPFINISHED.md) + - [EventSTEPSTARTED](docs/EventSTEPSTARTED.md) + - [EventTEXTMESSAGECONTENT](docs/EventTEXTMESSAGECONTENT.md) + - [EventTEXTMESSAGEEND](docs/EventTEXTMESSAGEEND.md) + - [EventTEXTMESSAGESTART](docs/EventTEXTMESSAGESTART.md) + - [EventTITLEUPDATED](docs/EventTITLEUPDATED.md) + - [EventTOOLCALLARGSDELTA](docs/EventTOOLCALLARGSDELTA.md) + - [EventTOOLCALLEND](docs/EventTOOLCALLEND.md) + - [EventTOOLCALLRESULT](docs/EventTOOLCALLRESULT.md) + - [EventTOOLCALLSTART](docs/EventTOOLCALLSTART.md) + - [EventTOOLCONFIRMATIONREQUIRED](docs/EventTOOLCONFIRMATIONREQUIRED.md) - [ExportModel](docs/ExportModel.md) - [ExternalResponse](docs/ExternalResponse.md) - [FileFormat](docs/FileFormat.md) @@ -394,10 +410,6 @@ Class | Method | HTTP request | Description - [ModelsResponse](docs/ModelsResponse.md) - [NameConfidence](docs/NameConfidence.md) - [NameSourceType](docs/NameSourceType.md) - - [NetworkOverviewDns](docs/NetworkOverviewDns.md) - - [NetworkOverviewDnsAnswer](docs/NetworkOverviewDnsAnswer.md) - - [NetworkOverviewMetadata](docs/NetworkOverviewMetadata.md) - - [NetworkOverviewResponse](docs/NetworkOverviewResponse.md) - [Order](docs/Order.md) - [PDBDebugModel](docs/PDBDebugModel.md) - [PEModel](docs/PEModel.md) @@ -406,19 +418,11 @@ Class | Method | HTTP request | Description - [PipelineStageStatus](docs/PipelineStageStatus.md) - [PipelineStatusResponse](docs/PipelineStatusResponse.md) - [Platform](docs/Platform.md) - - [Process](docs/Process.md) - - [ProcessDump](docs/ProcessDump.md) - - [ProcessDumpMetadata](docs/ProcessDumpMetadata.md) - - [ProcessDumps](docs/ProcessDumps.md) - - [ProcessDumpsData](docs/ProcessDumpsData.md) - - [ProcessRegistry](docs/ProcessRegistry.md) - - [ProcessTree](docs/ProcessTree.md) - [PutAnalysisStringsRequest](docs/PutAnalysisStringsRequest.md) - [QueuedWorkflowTaskResponse](docs/QueuedWorkflowTaskResponse.md) - [ReAnalysisForm](docs/ReAnalysisForm.md) - [Recent](docs/Recent.md) - [RegenerateTarget](docs/RegenerateTarget.md) - - [Registry](docs/Registry.md) - [RelativeBinaryResponse](docs/RelativeBinaryResponse.md) - [ReportAnalysisResponse](docs/ReportAnalysisResponse.md) - [SBOM](docs/SBOM.md) @@ -428,26 +432,40 @@ Class | Method | HTTP request | Description - [SectionModel](docs/SectionModel.md) - [SecurityModel](docs/SecurityModel.md) - [SegmentInfo](docs/SegmentInfo.md) + - [SendMessageRequest](docs/SendMessageRequest.md) - [SingleCodeCertificateModel](docs/SingleCodeCertificateModel.md) - [SingleCodeSignatureModel](docs/SingleCodeSignatureModel.md) - [SinglePDBEntryModel](docs/SinglePDBEntryModel.md) - [SingleSectionModel](docs/SingleSectionModel.md) + - [SseEventContextCompactedData](docs/SseEventContextCompactedData.md) + - [SseEventRunCancelledData](docs/SseEventRunCancelledData.md) + - [SseEventRunErrorData](docs/SseEventRunErrorData.md) + - [SseEventRunFinishedData](docs/SseEventRunFinishedData.md) + - [SseEventRunStartedData](docs/SseEventRunStartedData.md) + - [SseEventStepFinishedData](docs/SseEventStepFinishedData.md) + - [SseEventStepStartedData](docs/SseEventStepStartedData.md) + - [SseEventTextMessageContentData](docs/SseEventTextMessageContentData.md) + - [SseEventTextMessageEndData](docs/SseEventTextMessageEndData.md) + - [SseEventTextMessageStartData](docs/SseEventTextMessageStartData.md) + - [SseEventTitleUpdatedData](docs/SseEventTitleUpdatedData.md) + - [SseEventToolCallArgsDeltaData](docs/SseEventToolCallArgsDeltaData.md) + - [SseEventToolCallEndData](docs/SseEventToolCallEndData.md) + - [SseEventToolCallResultData](docs/SseEventToolCallResultData.md) + - [SseEventToolCallStartData](docs/SseEventToolCallStartData.md) + - [SseEventToolConfirmationRequiredData](docs/SseEventToolConfirmationRequiredData.md) - [StackVariable](docs/StackVariable.md) - [StageEvent](docs/StageEvent.md) - [StageStatus](docs/StageStatus.md) - [StatusInput](docs/StatusInput.md) - [StatusOutput](docs/StatusOutput.md) + - [StatusResponse](docs/StatusResponse.md) + - [StreamEvents200ResponseInner](docs/StreamEvents200ResponseInner.md) - [StringFunctions](docs/StringFunctions.md) - [StringSource](docs/StringSource.md) - [Structure](docs/Structure.md) - [StructureMember](docs/StructureMember.md) - [SubmitUserFeedbackRequest](docs/SubmitUserFeedbackRequest.md) - [Symbols](docs/Symbols.md) - - [TTPS](docs/TTPS.md) - - [TTPSAttack](docs/TTPSAttack.md) - - [TTPSData](docs/TTPSData.md) - - [TTPSElement](docs/TTPSElement.md) - - [TTPSOccurance](docs/TTPSOccurance.md) - [Tag](docs/Tag.md) - [TagItem](docs/TagItem.md) - [TagResponse](docs/TagResponse.md) diff --git a/docs/APIError.md b/docs/APIError.md new file mode 100644 index 0000000..bd2bed5 --- /dev/null +++ b/docs/APIError.md @@ -0,0 +1,30 @@ +# APIError + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**error** | [**ErrorBody**](ErrorBody.md) | | + +## Example + +```python +from revengai.models.api_error import APIError + +# TODO update the JSON string below +json = "{}" +# create an instance of APIError from a JSON string +api_error_instance = APIError.from_json(json) +# print the JSON string representation of the object +print(APIError.to_json()) + +# convert the object into a dict +api_error_dict = api_error_instance.to_dict() +# create an instance of APIError from a dict +api_error_from_dict = APIError.from_dict(api_error_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AnalysesCoreApi.md b/docs/AnalysesCoreApi.md index b9c5993..5c8e68c 100644 --- a/docs/AnalysesCoreApi.md +++ b/docs/AnalysesCoreApi.md @@ -758,7 +758,7 @@ Gets the most recent analyses provided a scope, this is then paginated, if pages import revengai from revengai.models.app_api_rest_v2_analyses_enums_order_by import AppApiRestV2AnalysesEnumsOrderBy from revengai.models.base_response_recent import BaseResponseRecent -from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput +from revengai.models.dynamic_execution_status import DynamicExecutionStatus from revengai.models.model_name import ModelName from revengai.models.order import Order from revengai.models.status_input import StatusInput @@ -791,7 +791,7 @@ with revengai.ApiClient(configuration) as api_client: workspace = ["personal"] # List[Workspace] | The workspace to be viewed (optional) (default to ["personal"]) status = ["All"] # List[StatusInput] | The status of the analysis (optional) (default to ["All"]) model_name = [revengai.ModelName()] # List[ModelName] | Show analysis belonging to the model (optional) - dynamic_execution_status = revengai.DynamicExecutionStatusInput() # DynamicExecutionStatusInput | Show analysis that have a dynamic execution with the given status (optional) + dynamic_execution_status = revengai.DynamicExecutionStatus() # DynamicExecutionStatus | Show analysis that have a dynamic execution with the given status (optional) usernames = [] # List[Optional[str]] | Show analysis belonging to the user (optional) (default to []) sha256_hash = 'sha256_hash_example' # str | (optional) limit = 20 # int | (optional) (default to 20) @@ -819,7 +819,7 @@ Name | Type | Description | Notes **workspace** | [**List[Workspace]**](Workspace.md)| The workspace to be viewed | [optional] [default to ["personal"]] **status** | [**List[StatusInput]**](StatusInput.md)| The status of the analysis | [optional] [default to ["All"]] **model_name** | [**List[ModelName]**](ModelName.md)| Show analysis belonging to the model | [optional] - **dynamic_execution_status** | [**DynamicExecutionStatusInput**](.md)| Show analysis that have a dynamic execution with the given status | [optional] + **dynamic_execution_status** | [**DynamicExecutionStatus**](.md)| Show analysis that have a dynamic execution with the given status | [optional] **usernames** | [**List[Optional[str]]**](str.md)| Show analysis belonging to the user | [optional] [default to []] **sha256_hash** | **str**| | [optional] **limit** | **int**| | [optional] [default to 20] diff --git a/docs/AnalysisRecord.md b/docs/AnalysisRecord.md index d3e0501..8b58c0b 100644 --- a/docs/AnalysisRecord.md +++ b/docs/AnalysisRecord.md @@ -18,7 +18,7 @@ Name | Type | Description | Notes **function_boundaries_hash** | **str** | The hash of the function boundaries | **binary_size** | **int** | The size of the binary | **username** | **str** | The username of the analysis owner | -**dynamic_execution_status** | [**AppApiRestV2AnalysesEnumsDynamicExecutionStatus**](AppApiRestV2AnalysesEnumsDynamicExecutionStatus.md) | | [optional] +**dynamic_execution_status** | [**DynamicExecutionStatus**](DynamicExecutionStatus.md) | | [optional] **dynamic_execution_task_id** | **int** | | [optional] **base_address** | **int** | The base address of the binary | **tags** | [**List[TagItem]**](TagItem.md) | List of tags associated with the analysis | [optional] diff --git a/docs/AppApiRestV2AnalysesEnumsDynamicExecutionStatus.md b/docs/AppApiRestV2AnalysesEnumsDynamicExecutionStatus.md deleted file mode 100644 index d7fc700..0000000 --- a/docs/AppApiRestV2AnalysesEnumsDynamicExecutionStatus.md +++ /dev/null @@ -1,17 +0,0 @@ -# AppApiRestV2AnalysesEnumsDynamicExecutionStatus - -Custom enum for the dynamic execution status - -## Enum - -* `PENDING` (value: `'PENDING'`) - -* `ERROR` (value: `'ERROR'`) - -* `SUCCESS` (value: `'SUCCESS'`) - -* `ALL` (value: `'ALL'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/AppServicesDynamicExecutionSchemasDynamicExecutionStatus.md b/docs/AppServicesDynamicExecutionSchemasDynamicExecutionStatus.md deleted file mode 100644 index 0c1b630..0000000 --- a/docs/AppServicesDynamicExecutionSchemasDynamicExecutionStatus.md +++ /dev/null @@ -1,29 +0,0 @@ -# AppServicesDynamicExecutionSchemasDynamicExecutionStatus - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **str** | | - -## Example - -```python -from revengai.models.app_services_dynamic_execution_schemas_dynamic_execution_status import AppServicesDynamicExecutionSchemasDynamicExecutionStatus - -# TODO update the JSON string below -json = "{}" -# create an instance of AppServicesDynamicExecutionSchemasDynamicExecutionStatus from a JSON string -app_services_dynamic_execution_schemas_dynamic_execution_status_instance = AppServicesDynamicExecutionSchemasDynamicExecutionStatus.from_json(json) -# print the JSON string representation of the object -print(AppServicesDynamicExecutionSchemasDynamicExecutionStatus.to_json()) - -# convert the object into a dict -app_services_dynamic_execution_schemas_dynamic_execution_status_dict = app_services_dynamic_execution_schemas_dynamic_execution_status_instance.to_dict() -# create an instance of AppServicesDynamicExecutionSchemasDynamicExecutionStatus from a dict -app_services_dynamic_execution_schemas_dynamic_execution_status_from_dict = AppServicesDynamicExecutionSchemasDynamicExecutionStatus.from_dict(app_services_dynamic_execution_schemas_dynamic_execution_status_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseDynamicExecutionStatus.md b/docs/BaseResponseDynamicExecutionStatus.md deleted file mode 100644 index 50e6a09..0000000 --- a/docs/BaseResponseDynamicExecutionStatus.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseDynamicExecutionStatus - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**AppServicesDynamicExecutionSchemasDynamicExecutionStatus**](AppServicesDynamicExecutionSchemasDynamicExecutionStatus.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseDynamicExecutionStatus from a JSON string -base_response_dynamic_execution_status_instance = BaseResponseDynamicExecutionStatus.from_json(json) -# print the JSON string representation of the object -print(BaseResponseDynamicExecutionStatus.to_json()) - -# convert the object into a dict -base_response_dynamic_execution_status_dict = base_response_dynamic_execution_status_instance.to_dict() -# create an instance of BaseResponseDynamicExecutionStatus from a dict -base_response_dynamic_execution_status_from_dict = BaseResponseDynamicExecutionStatus.from_dict(base_response_dynamic_execution_status_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseNetworkOverviewResponse.md b/docs/BaseResponseNetworkOverviewResponse.md deleted file mode 100644 index e749d9b..0000000 --- a/docs/BaseResponseNetworkOverviewResponse.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseNetworkOverviewResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**NetworkOverviewResponse**](NetworkOverviewResponse.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseNetworkOverviewResponse from a JSON string -base_response_network_overview_response_instance = BaseResponseNetworkOverviewResponse.from_json(json) -# print the JSON string representation of the object -print(BaseResponseNetworkOverviewResponse.to_json()) - -# convert the object into a dict -base_response_network_overview_response_dict = base_response_network_overview_response_instance.to_dict() -# create an instance of BaseResponseNetworkOverviewResponse from a dict -base_response_network_overview_response_from_dict = BaseResponseNetworkOverviewResponse.from_dict(base_response_network_overview_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseProcessDumps.md b/docs/BaseResponseProcessDumps.md deleted file mode 100644 index 2e6257b..0000000 --- a/docs/BaseResponseProcessDumps.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseProcessDumps - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**ProcessDumps**](ProcessDumps.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseProcessDumps from a JSON string -base_response_process_dumps_instance = BaseResponseProcessDumps.from_json(json) -# print the JSON string representation of the object -print(BaseResponseProcessDumps.to_json()) - -# convert the object into a dict -base_response_process_dumps_dict = base_response_process_dumps_instance.to_dict() -# create an instance of BaseResponseProcessDumps from a dict -base_response_process_dumps_from_dict = BaseResponseProcessDumps.from_dict(base_response_process_dumps_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseProcessRegistry.md b/docs/BaseResponseProcessRegistry.md deleted file mode 100644 index 47975ab..0000000 --- a/docs/BaseResponseProcessRegistry.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseProcessRegistry - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**ProcessRegistry**](ProcessRegistry.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseProcessRegistry from a JSON string -base_response_process_registry_instance = BaseResponseProcessRegistry.from_json(json) -# print the JSON string representation of the object -print(BaseResponseProcessRegistry.to_json()) - -# convert the object into a dict -base_response_process_registry_dict = base_response_process_registry_instance.to_dict() -# create an instance of BaseResponseProcessRegistry from a dict -base_response_process_registry_from_dict = BaseResponseProcessRegistry.from_dict(base_response_process_registry_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseProcessTree.md b/docs/BaseResponseProcessTree.md deleted file mode 100644 index 2c4e2eb..0000000 --- a/docs/BaseResponseProcessTree.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseProcessTree - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**ProcessTree**](ProcessTree.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_process_tree import BaseResponseProcessTree - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseProcessTree from a JSON string -base_response_process_tree_instance = BaseResponseProcessTree.from_json(json) -# print the JSON string representation of the object -print(BaseResponseProcessTree.to_json()) - -# convert the object into a dict -base_response_process_tree_dict = base_response_process_tree_instance.to_dict() -# create an instance of BaseResponseProcessTree from a dict -base_response_process_tree_from_dict = BaseResponseProcessTree.from_dict(base_response_process_tree_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BaseResponseTTPS.md b/docs/BaseResponseTTPS.md deleted file mode 100644 index 584f6c8..0000000 --- a/docs/BaseResponseTTPS.md +++ /dev/null @@ -1,33 +0,0 @@ -# BaseResponseTTPS - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**status** | **bool** | Response status on whether the request succeeded | [optional] [default to True] -**data** | [**TTPS**](TTPS.md) | | [optional] -**message** | **str** | | [optional] -**errors** | [**List[ErrorModel]**](ErrorModel.md) | | [optional] -**meta** | [**MetaModel**](MetaModel.md) | Metadata | [optional] - -## Example - -```python -from revengai.models.base_response_ttps import BaseResponseTTPS - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseResponseTTPS from a JSON string -base_response_ttps_instance = BaseResponseTTPS.from_json(json) -# print the JSON string representation of the object -print(BaseResponseTTPS.to_json()) - -# convert the object into a dict -base_response_ttps_dict = base_response_ttps_instance.to_dict() -# create an instance of BaseResponseTTPS from a dict -base_response_ttps_from_dict = BaseResponseTTPS.from_dict(base_response_ttps_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ConfirmToolInputBody.md b/docs/ConfirmToolInputBody.md new file mode 100644 index 0000000..97ead6a --- /dev/null +++ b/docs/ConfirmToolInputBody.md @@ -0,0 +1,30 @@ +# ConfirmToolInputBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**approved** | **bool** | Whether the user approves the pending tool call. | + +## Example + +```python +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody + +# TODO update the JSON string below +json = "{}" +# create an instance of ConfirmToolInputBody from a JSON string +confirm_tool_input_body_instance = ConfirmToolInputBody.from_json(json) +# print the JSON string representation of the object +print(ConfirmToolInputBody.to_json()) + +# convert the object into a dict +confirm_tool_input_body_dict = confirm_tool_input_body_instance.to_dict() +# create an instance of ConfirmToolInputBody from a dict +confirm_tool_input_body_from_dict = ConfirmToolInputBody.from_dict(confirm_tool_input_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Conversation.md b/docs/Conversation.md new file mode 100644 index 0000000..ed7ae0f --- /dev/null +++ b/docs/Conversation.md @@ -0,0 +1,35 @@ +# Conversation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**context** | **object** | | [optional] +**conversation_uuid** | **str** | | +**created_at** | **datetime** | | +**title** | **str** | | +**updated_at** | **datetime** | | +**user_id** | **int** | | + +## Example + +```python +from revengai.models.conversation import Conversation + +# TODO update the JSON string below +json = "{}" +# create an instance of Conversation from a JSON string +conversation_instance = Conversation.from_json(json) +# print the JSON string representation of the object +print(Conversation.to_json()) + +# convert the object into a dict +conversation_dict = conversation_instance.to_dict() +# create an instance of Conversation from a dict +conversation_from_dict = Conversation.from_dict(conversation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConversationContext.md b/docs/ConversationContext.md new file mode 100644 index 0000000..72092d2 --- /dev/null +++ b/docs/ConversationContext.md @@ -0,0 +1,30 @@ +# ConversationContext + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analysis_id** | **int** | | [optional] +**function_id** | **int** | | [optional] + +## Example + +```python +from revengai.models.conversation_context import ConversationContext + +# TODO update the JSON string below +json = "{}" +# create an instance of ConversationContext from a JSON string +conversation_context_instance = ConversationContext.from_json(json) +# print the JSON string representation of the object +print(ConversationContext.to_json()) + +# convert the object into a dict +conversation_context_dict = conversation_context_instance.to_dict() +# create an instance of ConversationContext from a dict +conversation_context_from_dict = ConversationContext.from_dict(conversation_context_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConversationWithEvents.md b/docs/ConversationWithEvents.md new file mode 100644 index 0000000..1a1ab2d --- /dev/null +++ b/docs/ConversationWithEvents.md @@ -0,0 +1,36 @@ +# ConversationWithEvents + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**context** | **object** | | [optional] +**conversation_uuid** | **str** | | +**created_at** | **datetime** | | +**events** | [**List[Event]**](Event.md) | | +**title** | **str** | | +**updated_at** | **datetime** | | +**user_id** | **int** | | + +## Example + +```python +from revengai.models.conversation_with_events import ConversationWithEvents + +# TODO update the JSON string below +json = "{}" +# create an instance of ConversationWithEvents from a JSON string +conversation_with_events_instance = ConversationWithEvents.from_json(json) +# print the JSON string representation of the object +print(ConversationWithEvents.to_json()) + +# convert the object into a dict +conversation_with_events_dict = conversation_with_events_instance.to_dict() +# create an instance of ConversationWithEvents from a dict +conversation_with_events_from_dict = ConversationWithEvents.from_dict(conversation_with_events_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AnalysesDynamicExecutionApi.md b/docs/ConversationsApi.md similarity index 53% rename from docs/AnalysesDynamicExecutionApi.md rename to docs/ConversationsApi.md index 0f267a4..417fab7 100644 --- a/docs/AnalysesDynamicExecutionApi.md +++ b/docs/ConversationsApi.md @@ -1,22 +1,29 @@ -# revengai.AnalysesDynamicExecutionApi +# revengai.ConversationsApi All URIs are relative to *https://api.reveng.ai* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_dynamic_execution_status**](AnalysesDynamicExecutionApi.md#get_dynamic_execution_status) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/status | Get the status of a dynamic execution task -[**get_network_overview**](AnalysesDynamicExecutionApi.md#get_network_overview) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/network-overview | Get the dynamic execution results for network overview -[**get_process_dump**](AnalysesDynamicExecutionApi.md#get_process_dump) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-dumps/{dump_name} | Get the dynamic execution results for a specific process dump -[**get_process_dumps**](AnalysesDynamicExecutionApi.md#get_process_dumps) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-dumps | Get the dynamic execution results for process dumps -[**get_process_registry**](AnalysesDynamicExecutionApi.md#get_process_registry) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-registry | Get the dynamic execution results for process registry -[**get_process_tree**](AnalysesDynamicExecutionApi.md#get_process_tree) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/process-tree | Get the dynamic execution results for process tree -[**get_ttps**](AnalysesDynamicExecutionApi.md#get_ttps) | **GET** /v2/analyses/{analysis_id}/dynamic-execution/ttps | Get the dynamic execution results for ttps +[**cancel_run**](ConversationsApi.md#cancel_run) | **POST** /v2/conversations/{id}/cancel | Cancel an active run +[**confirm_tool**](ConversationsApi.md#confirm_tool) | **POST** /v2/conversations/{id}/confirm | Approve or reject a pending tool confirmation +[**create_conversation**](ConversationsApi.md#create_conversation) | **POST** /v2/conversations | Create a new conversation +[**get_conversation**](ConversationsApi.md#get_conversation) | **GET** /v2/conversations/{id} | Get a conversation with its events +[**list_conversations**](ConversationsApi.md#list_conversations) | **GET** /v2/conversations | List conversations for the authenticated user +[**send_message**](ConversationsApi.md#send_message) | **POST** /v2/conversations/{id}/messages | Send a message and start an agentic run +[**stream_events**](ConversationsApi.md#stream_events) | **GET** /v2/conversations/{id}/events | Stream conversation events (SSE) -# **get_dynamic_execution_status** -> BaseResponseDynamicExecutionStatus get_dynamic_execution_status(analysis_id) +# **cancel_run** +> StatusResponse cancel_run(id) -Get the status of a dynamic execution task +Cancel an active run + +Cancels the currently active agentic run for the given conversation. Returns 404 if no run is in progress. + +**Error codes:** +- `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID +- `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found +- `404` [`NO_ACTIVE_RUN`](/errors/NO_ACTIVE_RUN) — No Active Run ### Example @@ -24,7 +31,7 @@ Get the status of a dynamic execution task ```python import revengai -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus +from revengai.models.status_response import StatusResponse from revengai.rest import ApiException from pprint import pprint @@ -48,16 +55,16 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) + id = 'id_example' # str | Conversation UUID try: - # Get the status of a dynamic execution task - api_response = api_instance.get_dynamic_execution_status(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_dynamic_execution_status:\n") + # Cancel an active run + api_response = api_instance.cancel_run(id) + print("The response of ConversationsApi->cancel_run:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_dynamic_execution_status: %s\n" % e) + print("Exception when calling ConversationsApi->cancel_run: %s\n" % e) ``` @@ -67,11 +74,11 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | + **id** | **str**| Conversation UUID | ### Return type -[**BaseResponseDynamicExecutionStatus**](BaseResponseDynamicExecutionStatus.md) +[**StatusResponse**](StatusResponse.md) ### Authorization @@ -86,15 +93,25 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**200** | OK | - | +**400** | Bad Request | - | +**404** | Not Found | - | +**422** | Unprocessable Entity | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_network_overview** -> BaseResponseNetworkOverviewResponse get_network_overview(analysis_id) +# **confirm_tool** +> StatusResponse confirm_tool(id, confirm_tool_input_body) + +Approve or reject a pending tool confirmation -Get the dynamic execution results for network overview +Responds to a pending tool confirmation request. The agent pauses before executing certain tools and emits a `TOOL_CONFIRMATION_REQUIRED` event. Use this endpoint to approve or reject the tool call. Returns 404 if no confirmation is pending. + +**Error codes:** +- `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID +- `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found +- `404` [`NO_PENDING_CONFIRMATION`](/errors/NO_PENDING_CONFIRMATION) — No Pending Confirmation ### Example @@ -102,7 +119,8 @@ Get the dynamic execution results for network overview ```python import revengai -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody +from revengai.models.status_response import StatusResponse from revengai.rest import ApiException from pprint import pprint @@ -126,16 +144,17 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) + id = 'id_example' # str | Conversation UUID + confirm_tool_input_body = revengai.ConfirmToolInputBody() # ConfirmToolInputBody | try: - # Get the dynamic execution results for network overview - api_response = api_instance.get_network_overview(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_network_overview:\n") + # Approve or reject a pending tool confirmation + api_response = api_instance.confirm_tool(id, confirm_tool_input_body) + print("The response of ConversationsApi->confirm_tool:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_network_overview: %s\n" % e) + print("Exception when calling ConversationsApi->confirm_tool: %s\n" % e) ``` @@ -145,11 +164,12 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | + **id** | **str**| Conversation UUID | + **confirm_tool_input_body** | [**ConfirmToolInputBody**](ConfirmToolInputBody.md)| | ### Return type -[**BaseResponseNetworkOverviewResponse**](BaseResponseNetworkOverviewResponse.md) +[**StatusResponse**](StatusResponse.md) ### Authorization @@ -157,22 +177,30 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**200** | OK | - | +**400** | Bad Request | - | +**404** | Not Found | - | +**422** | Unprocessable Entity | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_process_dump** -> object get_process_dump(analysis_id, dump_name) +# **create_conversation** +> Conversation create_conversation(create_conversation_request) -Get the dynamic execution results for a specific process dump +Create a new conversation + +Creates a new conversation for the authenticated user. Optionally include a binary analysis context to scope the assistant to a specific analysis. + +**Error codes:** +- `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request ### Example @@ -180,6 +208,8 @@ Get the dynamic execution results for a specific process dump ```python import revengai +from revengai.models.conversation import Conversation +from revengai.models.create_conversation_request import CreateConversationRequest from revengai.rest import ApiException from pprint import pprint @@ -203,17 +233,16 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | - dump_name = 'dump_name_example' # str | + api_instance = revengai.ConversationsApi(api_client) + create_conversation_request = revengai.CreateConversationRequest() # CreateConversationRequest | try: - # Get the dynamic execution results for a specific process dump - api_response = api_instance.get_process_dump(analysis_id, dump_name) - print("The response of AnalysesDynamicExecutionApi->get_process_dump:\n") + # Create a new conversation + api_response = api_instance.create_conversation(create_conversation_request) + print("The response of ConversationsApi->create_conversation:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_process_dump: %s\n" % e) + print("Exception when calling ConversationsApi->create_conversation: %s\n" % e) ``` @@ -223,12 +252,11 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | - **dump_name** | **str**| | + **create_conversation_request** | [**CreateConversationRequest**](CreateConversationRequest.md)| | ### Return type -**object** +[**Conversation**](Conversation.md) ### Authorization @@ -236,22 +264,30 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**201** | Created | - | +**400** | Bad Request | - | +**422** | Unprocessable Entity | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_process_dumps** -> BaseResponseProcessDumps get_process_dumps(analysis_id) +# **get_conversation** +> ConversationWithEvents get_conversation(id) + +Get a conversation with its events + +Returns the conversation metadata along with all persisted events. Useful for reconstructing the full conversation history on page load. -Get the dynamic execution results for process dumps +**Error codes:** +- `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID +- `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found ### Example @@ -259,7 +295,7 @@ Get the dynamic execution results for process dumps ```python import revengai -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps +from revengai.models.conversation_with_events import ConversationWithEvents from revengai.rest import ApiException from pprint import pprint @@ -283,16 +319,16 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) + id = 'id_example' # str | Conversation UUID try: - # Get the dynamic execution results for process dumps - api_response = api_instance.get_process_dumps(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_process_dumps:\n") + # Get a conversation with its events + api_response = api_instance.get_conversation(id) + print("The response of ConversationsApi->get_conversation:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_process_dumps: %s\n" % e) + print("Exception when calling ConversationsApi->get_conversation: %s\n" % e) ``` @@ -302,11 +338,11 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | + **id** | **str**| Conversation UUID | ### Return type -[**BaseResponseProcessDumps**](BaseResponseProcessDumps.md) +[**ConversationWithEvents**](ConversationWithEvents.md) ### Authorization @@ -321,15 +357,20 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**200** | OK | - | +**400** | Bad Request | - | +**404** | Not Found | - | +**422** | Unprocessable Entity | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_process_registry** -> BaseResponseProcessRegistry get_process_registry(analysis_id) +# **list_conversations** +> List[Conversation] list_conversations() -Get the dynamic execution results for process registry +List conversations for the authenticated user + +Returns all conversations owned by the authenticated user, ordered by most recently updated. ### Example @@ -337,7 +378,7 @@ Get the dynamic execution results for process registry ```python import revengai -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry +from revengai.models.conversation import Conversation from revengai.rest import ApiException from pprint import pprint @@ -361,30 +402,26 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) try: - # Get the dynamic execution results for process registry - api_response = api_instance.get_process_registry(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_process_registry:\n") + # List conversations for the authenticated user + api_response = api_instance.list_conversations() + print("The response of ConversationsApi->list_conversations:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_process_registry: %s\n" % e) + print("Exception when calling ConversationsApi->list_conversations: %s\n" % e) ``` ### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | +This endpoint does not need any parameter. ### Return type -[**BaseResponseProcessRegistry**](BaseResponseProcessRegistry.md) +[**List[Conversation]**](Conversation.md) ### Authorization @@ -399,15 +436,25 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**200** | OK | - | +**0** | Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_process_tree** -> BaseResponseProcessTree get_process_tree(analysis_id) +# **send_message** +> StatusResponse send_message(id, send_message_request) + +Send a message and start an agentic run -Get the dynamic execution results for process tree +Sends a user message to the conversation and kicks off an agentic processing loop in the background. Returns immediately with 202 Accepted. Subscribe to `/v2/conversations/{id}/events` via SSE to receive real-time updates including text deltas, tool calls, and run lifecycle events. + +**Error codes:** +- `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request +- `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID +- `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found +- `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied +- `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +- `409` [`RUN_ALREADY_ACTIVE`](/errors/RUN_ALREADY_ACTIVE) — Run Already Active ### Example @@ -415,7 +462,8 @@ Get the dynamic execution results for process tree ```python import revengai -from revengai.models.base_response_process_tree import BaseResponseProcessTree +from revengai.models.send_message_request import SendMessageRequest +from revengai.models.status_response import StatusResponse from revengai.rest import ApiException from pprint import pprint @@ -439,16 +487,17 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) + id = 'id_example' # str | Conversation UUID + send_message_request = revengai.SendMessageRequest() # SendMessageRequest | try: - # Get the dynamic execution results for process tree - api_response = api_instance.get_process_tree(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_process_tree:\n") + # Send a message and start an agentic run + api_response = api_instance.send_message(id, send_message_request) + print("The response of ConversationsApi->send_message:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_process_tree: %s\n" % e) + print("Exception when calling ConversationsApi->send_message: %s\n" % e) ``` @@ -458,11 +507,12 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | + **id** | **str**| Conversation UUID | + **send_message_request** | [**SendMessageRequest**](SendMessageRequest.md)| | ### Return type -[**BaseResponseProcessTree**](BaseResponseProcessTree.md) +[**StatusResponse**](StatusResponse.md) ### Authorization @@ -470,22 +520,30 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**202** | Accepted | - | +**400** | Bad Request | - | +**402** | Payment Required | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_ttps** -> BaseResponseTTPS get_ttps(analysis_id) +# **stream_events** +> List[StreamEvents200ResponseInner] stream_events(id, last_event_id=last_event_id) -Get the dynamic execution results for ttps +Stream conversation events (SSE) + +Opens a Server-Sent Events stream for the given conversation. Events include run lifecycle updates, streaming text deltas, tool call progress, and more. Use the `last_event_id` query parameter to replay missed events after a reconnection. ### Example @@ -493,7 +551,7 @@ Get the dynamic execution results for ttps ```python import revengai -from revengai.models.base_response_ttps import BaseResponseTTPS +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner from revengai.rest import ApiException from pprint import pprint @@ -517,16 +575,17 @@ configuration.api_key['APIKey'] = os.environ["API_KEY"] # Enter a context with an instance of the API client with revengai.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = revengai.AnalysesDynamicExecutionApi(api_client) - analysis_id = 56 # int | + api_instance = revengai.ConversationsApi(api_client) + id = 'id_example' # str | Conversation UUID + last_event_id = 56 # int | Replay events after this ID (optional) try: - # Get the dynamic execution results for ttps - api_response = api_instance.get_ttps(analysis_id) - print("The response of AnalysesDynamicExecutionApi->get_ttps:\n") + # Stream conversation events (SSE) + api_response = api_instance.stream_events(id, last_event_id=last_event_id) + print("The response of ConversationsApi->stream_events:\n") pprint(api_response) except Exception as e: - print("Exception when calling AnalysesDynamicExecutionApi->get_ttps: %s\n" % e) + print("Exception when calling ConversationsApi->stream_events: %s\n" % e) ``` @@ -536,11 +595,12 @@ with revengai.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **analysis_id** | **int**| | + **id** | **str**| Conversation UUID | + **last_event_id** | **int**| Replay events after this ID | [optional] ### Return type -[**BaseResponseTTPS**](BaseResponseTTPS.md) +[**List[StreamEvents200ResponseInner]**](StreamEvents200ResponseInner.md) ### Authorization @@ -549,14 +609,14 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/json + - **Accept**: text/event-stream, application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Successful Response | - | -**422** | Invalid request parameters | - | +**200** | OK | - | +**0** | Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/CreateConversationRequest.md b/docs/CreateConversationRequest.md new file mode 100644 index 0000000..9e3d0f9 --- /dev/null +++ b/docs/CreateConversationRequest.md @@ -0,0 +1,31 @@ +# CreateConversationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**context** | [**ConversationContext**](ConversationContext.md) | | [optional] +**title** | **str** | | [optional] + +## Example + +```python +from revengai.models.create_conversation_request import CreateConversationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateConversationRequest from a JSON string +create_conversation_request_instance = CreateConversationRequest.from_json(json) +# print the JSON string representation of the object +print(CreateConversationRequest.to_json()) + +# convert the object into a dict +create_conversation_request_dict = create_conversation_request_instance.to_dict() +# create an instance of CreateConversationRequest from a dict +create_conversation_request_from_dict = CreateConversationRequest.from_dict(create_conversation_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DynamicExecutionStatusInput.md b/docs/DynamicExecutionStatus.md similarity index 91% rename from docs/DynamicExecutionStatusInput.md rename to docs/DynamicExecutionStatus.md index b3c70aa..ba2846b 100644 --- a/docs/DynamicExecutionStatusInput.md +++ b/docs/DynamicExecutionStatus.md @@ -1,4 +1,4 @@ -# DynamicExecutionStatusInput +# DynamicExecutionStatus Custom enum for the dynamic execution status diff --git a/docs/ErrorBody.md b/docs/ErrorBody.md new file mode 100644 index 0000000..67512da --- /dev/null +++ b/docs/ErrorBody.md @@ -0,0 +1,33 @@ +# ErrorBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **str** | Stable, machine-readable error code. Versioned and documented. | +**detail** | **str** | Additional context where helpful (quota numbers, validation specifics, etc.). | [optional] +**doc_url** | **str** | Link to documentation explaining this error and resolution steps. | [optional] +**message** | **str** | Human-readable summary. Never contains internals. Suitable for direct display. | +**trace_id** | **str** | Correlation ID from the request. Quote this in support requests. | + +## Example + +```python +from revengai.models.error_body import ErrorBody + +# TODO update the JSON string below +json = "{}" +# create an instance of ErrorBody from a JSON string +error_body_instance = ErrorBody.from_json(json) +# print the JSON string representation of the object +print(ErrorBody.to_json()) + +# convert the object into a dict +error_body_dict = error_body_instance.to_dict() +# create an instance of ErrorBody from a dict +error_body_from_dict = ErrorBody.from_dict(error_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Event.md b/docs/Event.md new file mode 100644 index 0000000..3d10b6d --- /dev/null +++ b/docs/Event.md @@ -0,0 +1,35 @@ +# Event + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**conversation_uuid** | **str** | | +**created_at** | **datetime** | | +**data** | **object** | | +**event_id** | **int** | | +**role** | **int** | | +**tokens_used** | **int** | | +**type** | **int** | | + +## Example + +```python +from revengai.models.event import Event + +# TODO update the JSON string below +json = "{}" +# create an instance of Event from a JSON string +event_instance = Event.from_json(json) +# print the JSON string representation of the object +print(Event.to_json()) + +# convert the object into a dict +event_dict = event_instance.to_dict() +# create an instance of Event from a dict +event_from_dict = Event.from_dict(event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventCONTEXTCOMPACTED.md b/docs/EventCONTEXTCOMPACTED.md new file mode 100644 index 0000000..eaf8eb1 --- /dev/null +++ b/docs/EventCONTEXTCOMPACTED.md @@ -0,0 +1,32 @@ +# EventCONTEXTCOMPACTED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventContextCompactedData**](SseEventContextCompactedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_contextcompacted import EventCONTEXTCOMPACTED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventCONTEXTCOMPACTED from a JSON string +event_contextcompacted_instance = EventCONTEXTCOMPACTED.from_json(json) +# print the JSON string representation of the object +print(EventCONTEXTCOMPACTED.to_json()) + +# convert the object into a dict +event_contextcompacted_dict = event_contextcompacted_instance.to_dict() +# create an instance of EventCONTEXTCOMPACTED from a dict +event_contextcompacted_from_dict = EventCONTEXTCOMPACTED.from_dict(event_contextcompacted_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventRUNCANCELLED.md b/docs/EventRUNCANCELLED.md new file mode 100644 index 0000000..2b155fe --- /dev/null +++ b/docs/EventRUNCANCELLED.md @@ -0,0 +1,32 @@ +# EventRUNCANCELLED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventRunCancelledData**](SseEventRunCancelledData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_runcancelled import EventRUNCANCELLED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventRUNCANCELLED from a JSON string +event_runcancelled_instance = EventRUNCANCELLED.from_json(json) +# print the JSON string representation of the object +print(EventRUNCANCELLED.to_json()) + +# convert the object into a dict +event_runcancelled_dict = event_runcancelled_instance.to_dict() +# create an instance of EventRUNCANCELLED from a dict +event_runcancelled_from_dict = EventRUNCANCELLED.from_dict(event_runcancelled_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventRUNERROR.md b/docs/EventRUNERROR.md new file mode 100644 index 0000000..b6fa758 --- /dev/null +++ b/docs/EventRUNERROR.md @@ -0,0 +1,32 @@ +# EventRUNERROR + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventRunErrorData**](SseEventRunErrorData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_runerror import EventRUNERROR + +# TODO update the JSON string below +json = "{}" +# create an instance of EventRUNERROR from a JSON string +event_runerror_instance = EventRUNERROR.from_json(json) +# print the JSON string representation of the object +print(EventRUNERROR.to_json()) + +# convert the object into a dict +event_runerror_dict = event_runerror_instance.to_dict() +# create an instance of EventRUNERROR from a dict +event_runerror_from_dict = EventRUNERROR.from_dict(event_runerror_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventRUNFINISHED.md b/docs/EventRUNFINISHED.md new file mode 100644 index 0000000..6bf42c1 --- /dev/null +++ b/docs/EventRUNFINISHED.md @@ -0,0 +1,32 @@ +# EventRUNFINISHED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventRunFinishedData**](SseEventRunFinishedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_runfinished import EventRUNFINISHED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventRUNFINISHED from a JSON string +event_runfinished_instance = EventRUNFINISHED.from_json(json) +# print the JSON string representation of the object +print(EventRUNFINISHED.to_json()) + +# convert the object into a dict +event_runfinished_dict = event_runfinished_instance.to_dict() +# create an instance of EventRUNFINISHED from a dict +event_runfinished_from_dict = EventRUNFINISHED.from_dict(event_runfinished_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventRUNSTARTED.md b/docs/EventRUNSTARTED.md new file mode 100644 index 0000000..007a493 --- /dev/null +++ b/docs/EventRUNSTARTED.md @@ -0,0 +1,32 @@ +# EventRUNSTARTED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventRunStartedData**](SseEventRunStartedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_runstarted import EventRUNSTARTED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventRUNSTARTED from a JSON string +event_runstarted_instance = EventRUNSTARTED.from_json(json) +# print the JSON string representation of the object +print(EventRUNSTARTED.to_json()) + +# convert the object into a dict +event_runstarted_dict = event_runstarted_instance.to_dict() +# create an instance of EventRUNSTARTED from a dict +event_runstarted_from_dict = EventRUNSTARTED.from_dict(event_runstarted_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventSTEPFINISHED.md b/docs/EventSTEPFINISHED.md new file mode 100644 index 0000000..13d33bf --- /dev/null +++ b/docs/EventSTEPFINISHED.md @@ -0,0 +1,32 @@ +# EventSTEPFINISHED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventStepFinishedData**](SseEventStepFinishedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_stepfinished import EventSTEPFINISHED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventSTEPFINISHED from a JSON string +event_stepfinished_instance = EventSTEPFINISHED.from_json(json) +# print the JSON string representation of the object +print(EventSTEPFINISHED.to_json()) + +# convert the object into a dict +event_stepfinished_dict = event_stepfinished_instance.to_dict() +# create an instance of EventSTEPFINISHED from a dict +event_stepfinished_from_dict = EventSTEPFINISHED.from_dict(event_stepfinished_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventSTEPSTARTED.md b/docs/EventSTEPSTARTED.md new file mode 100644 index 0000000..d270cff --- /dev/null +++ b/docs/EventSTEPSTARTED.md @@ -0,0 +1,32 @@ +# EventSTEPSTARTED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventStepStartedData**](SseEventStepStartedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_stepstarted import EventSTEPSTARTED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventSTEPSTARTED from a JSON string +event_stepstarted_instance = EventSTEPSTARTED.from_json(json) +# print the JSON string representation of the object +print(EventSTEPSTARTED.to_json()) + +# convert the object into a dict +event_stepstarted_dict = event_stepstarted_instance.to_dict() +# create an instance of EventSTEPSTARTED from a dict +event_stepstarted_from_dict = EventSTEPSTARTED.from_dict(event_stepstarted_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTEXTMESSAGECONTENT.md b/docs/EventTEXTMESSAGECONTENT.md new file mode 100644 index 0000000..205760e --- /dev/null +++ b/docs/EventTEXTMESSAGECONTENT.md @@ -0,0 +1,32 @@ +# EventTEXTMESSAGECONTENT + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventTextMessageContentData**](SseEventTextMessageContentData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_textmessagecontent import EventTEXTMESSAGECONTENT + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTEXTMESSAGECONTENT from a JSON string +event_textmessagecontent_instance = EventTEXTMESSAGECONTENT.from_json(json) +# print the JSON string representation of the object +print(EventTEXTMESSAGECONTENT.to_json()) + +# convert the object into a dict +event_textmessagecontent_dict = event_textmessagecontent_instance.to_dict() +# create an instance of EventTEXTMESSAGECONTENT from a dict +event_textmessagecontent_from_dict = EventTEXTMESSAGECONTENT.from_dict(event_textmessagecontent_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTEXTMESSAGEEND.md b/docs/EventTEXTMESSAGEEND.md new file mode 100644 index 0000000..38caf06 --- /dev/null +++ b/docs/EventTEXTMESSAGEEND.md @@ -0,0 +1,32 @@ +# EventTEXTMESSAGEEND + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventTextMessageEndData**](SseEventTextMessageEndData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_textmessageend import EventTEXTMESSAGEEND + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTEXTMESSAGEEND from a JSON string +event_textmessageend_instance = EventTEXTMESSAGEEND.from_json(json) +# print the JSON string representation of the object +print(EventTEXTMESSAGEEND.to_json()) + +# convert the object into a dict +event_textmessageend_dict = event_textmessageend_instance.to_dict() +# create an instance of EventTEXTMESSAGEEND from a dict +event_textmessageend_from_dict = EventTEXTMESSAGEEND.from_dict(event_textmessageend_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTEXTMESSAGESTART.md b/docs/EventTEXTMESSAGESTART.md new file mode 100644 index 0000000..a28a71d --- /dev/null +++ b/docs/EventTEXTMESSAGESTART.md @@ -0,0 +1,32 @@ +# EventTEXTMESSAGESTART + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventTextMessageStartData**](SseEventTextMessageStartData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_textmessagestart import EventTEXTMESSAGESTART + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTEXTMESSAGESTART from a JSON string +event_textmessagestart_instance = EventTEXTMESSAGESTART.from_json(json) +# print the JSON string representation of the object +print(EventTEXTMESSAGESTART.to_json()) + +# convert the object into a dict +event_textmessagestart_dict = event_textmessagestart_instance.to_dict() +# create an instance of EventTEXTMESSAGESTART from a dict +event_textmessagestart_from_dict = EventTEXTMESSAGESTART.from_dict(event_textmessagestart_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTITLEUPDATED.md b/docs/EventTITLEUPDATED.md new file mode 100644 index 0000000..74fb6f8 --- /dev/null +++ b/docs/EventTITLEUPDATED.md @@ -0,0 +1,32 @@ +# EventTITLEUPDATED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventTitleUpdatedData**](SseEventTitleUpdatedData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_titleupdated import EventTITLEUPDATED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTITLEUPDATED from a JSON string +event_titleupdated_instance = EventTITLEUPDATED.from_json(json) +# print the JSON string representation of the object +print(EventTITLEUPDATED.to_json()) + +# convert the object into a dict +event_titleupdated_dict = event_titleupdated_instance.to_dict() +# create an instance of EventTITLEUPDATED from a dict +event_titleupdated_from_dict = EventTITLEUPDATED.from_dict(event_titleupdated_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTOOLCALLARGSDELTA.md b/docs/EventTOOLCALLARGSDELTA.md new file mode 100644 index 0000000..3ae7300 --- /dev/null +++ b/docs/EventTOOLCALLARGSDELTA.md @@ -0,0 +1,32 @@ +# EventTOOLCALLARGSDELTA + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolCallArgsDeltaData**](SseEventToolCallArgsDeltaData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_toolcallargsdelta import EventTOOLCALLARGSDELTA + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTOOLCALLARGSDELTA from a JSON string +event_toolcallargsdelta_instance = EventTOOLCALLARGSDELTA.from_json(json) +# print the JSON string representation of the object +print(EventTOOLCALLARGSDELTA.to_json()) + +# convert the object into a dict +event_toolcallargsdelta_dict = event_toolcallargsdelta_instance.to_dict() +# create an instance of EventTOOLCALLARGSDELTA from a dict +event_toolcallargsdelta_from_dict = EventTOOLCALLARGSDELTA.from_dict(event_toolcallargsdelta_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTOOLCALLEND.md b/docs/EventTOOLCALLEND.md new file mode 100644 index 0000000..2fdb6a3 --- /dev/null +++ b/docs/EventTOOLCALLEND.md @@ -0,0 +1,32 @@ +# EventTOOLCALLEND + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolCallEndData**](SseEventToolCallEndData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_toolcallend import EventTOOLCALLEND + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTOOLCALLEND from a JSON string +event_toolcallend_instance = EventTOOLCALLEND.from_json(json) +# print the JSON string representation of the object +print(EventTOOLCALLEND.to_json()) + +# convert the object into a dict +event_toolcallend_dict = event_toolcallend_instance.to_dict() +# create an instance of EventTOOLCALLEND from a dict +event_toolcallend_from_dict = EventTOOLCALLEND.from_dict(event_toolcallend_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTOOLCALLRESULT.md b/docs/EventTOOLCALLRESULT.md new file mode 100644 index 0000000..9f388b7 --- /dev/null +++ b/docs/EventTOOLCALLRESULT.md @@ -0,0 +1,32 @@ +# EventTOOLCALLRESULT + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolCallResultData**](SseEventToolCallResultData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_toolcallresult import EventTOOLCALLRESULT + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTOOLCALLRESULT from a JSON string +event_toolcallresult_instance = EventTOOLCALLRESULT.from_json(json) +# print the JSON string representation of the object +print(EventTOOLCALLRESULT.to_json()) + +# convert the object into a dict +event_toolcallresult_dict = event_toolcallresult_instance.to_dict() +# create an instance of EventTOOLCALLRESULT from a dict +event_toolcallresult_from_dict = EventTOOLCALLRESULT.from_dict(event_toolcallresult_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTOOLCALLSTART.md b/docs/EventTOOLCALLSTART.md new file mode 100644 index 0000000..66b4466 --- /dev/null +++ b/docs/EventTOOLCALLSTART.md @@ -0,0 +1,32 @@ +# EventTOOLCALLSTART + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolCallStartData**](SseEventToolCallStartData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_toolcallstart import EventTOOLCALLSTART + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTOOLCALLSTART from a JSON string +event_toolcallstart_instance = EventTOOLCALLSTART.from_json(json) +# print the JSON string representation of the object +print(EventTOOLCALLSTART.to_json()) + +# convert the object into a dict +event_toolcallstart_dict = event_toolcallstart_instance.to_dict() +# create an instance of EventTOOLCALLSTART from a dict +event_toolcallstart_from_dict = EventTOOLCALLSTART.from_dict(event_toolcallstart_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EventTOOLCONFIRMATIONREQUIRED.md b/docs/EventTOOLCONFIRMATIONREQUIRED.md new file mode 100644 index 0000000..3e93261 --- /dev/null +++ b/docs/EventTOOLCONFIRMATIONREQUIRED.md @@ -0,0 +1,32 @@ +# EventTOOLCONFIRMATIONREQUIRED + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolConfirmationRequiredData**](SseEventToolConfirmationRequiredData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.event_toolconfirmationrequired import EventTOOLCONFIRMATIONREQUIRED + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTOOLCONFIRMATIONREQUIRED from a JSON string +event_toolconfirmationrequired_instance = EventTOOLCONFIRMATIONREQUIRED.from_json(json) +# print the JSON string representation of the object +print(EventTOOLCONFIRMATIONREQUIRED.to_json()) + +# convert the object into a dict +event_toolconfirmationrequired_dict = event_toolconfirmationrequired_instance.to_dict() +# create an instance of EventTOOLCONFIRMATIONREQUIRED from a dict +event_toolconfirmationrequired_from_dict = EventTOOLCONFIRMATIONREQUIRED.from_dict(event_toolconfirmationrequired_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NetworkOverviewDns.md b/docs/NetworkOverviewDns.md deleted file mode 100644 index cb2cc83..0000000 --- a/docs/NetworkOverviewDns.md +++ /dev/null @@ -1,31 +0,0 @@ -# NetworkOverviewDns - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**host** | **str** | | -**type** | **str** | | -**answers** | [**List[NetworkOverviewDnsAnswer]**](NetworkOverviewDnsAnswer.md) | | - -## Example - -```python -from revengai.models.network_overview_dns import NetworkOverviewDns - -# TODO update the JSON string below -json = "{}" -# create an instance of NetworkOverviewDns from a JSON string -network_overview_dns_instance = NetworkOverviewDns.from_json(json) -# print the JSON string representation of the object -print(NetworkOverviewDns.to_json()) - -# convert the object into a dict -network_overview_dns_dict = network_overview_dns_instance.to_dict() -# create an instance of NetworkOverviewDns from a dict -network_overview_dns_from_dict = NetworkOverviewDns.from_dict(network_overview_dns_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/NetworkOverviewDnsAnswer.md b/docs/NetworkOverviewDnsAnswer.md deleted file mode 100644 index 77a4835..0000000 --- a/docs/NetworkOverviewDnsAnswer.md +++ /dev/null @@ -1,30 +0,0 @@ -# NetworkOverviewDnsAnswer - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **str** | | -**data** | **str** | | - -## Example - -```python -from revengai.models.network_overview_dns_answer import NetworkOverviewDnsAnswer - -# TODO update the JSON string below -json = "{}" -# create an instance of NetworkOverviewDnsAnswer from a JSON string -network_overview_dns_answer_instance = NetworkOverviewDnsAnswer.from_json(json) -# print the JSON string representation of the object -print(NetworkOverviewDnsAnswer.to_json()) - -# convert the object into a dict -network_overview_dns_answer_dict = network_overview_dns_answer_instance.to_dict() -# create an instance of NetworkOverviewDnsAnswer from a dict -network_overview_dns_answer_from_dict = NetworkOverviewDnsAnswer.from_dict(network_overview_dns_answer_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/NetworkOverviewMetadata.md b/docs/NetworkOverviewMetadata.md deleted file mode 100644 index 91fbfd1..0000000 --- a/docs/NetworkOverviewMetadata.md +++ /dev/null @@ -1,32 +0,0 @@ -# NetworkOverviewMetadata - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**host** | **str** | | -**country_code** | **str** | | -**asn** | **str** | | -**type** | **str** | | - -## Example - -```python -from revengai.models.network_overview_metadata import NetworkOverviewMetadata - -# TODO update the JSON string below -json = "{}" -# create an instance of NetworkOverviewMetadata from a JSON string -network_overview_metadata_instance = NetworkOverviewMetadata.from_json(json) -# print the JSON string representation of the object -print(NetworkOverviewMetadata.to_json()) - -# convert the object into a dict -network_overview_metadata_dict = network_overview_metadata_instance.to_dict() -# create an instance of NetworkOverviewMetadata from a dict -network_overview_metadata_from_dict = NetworkOverviewMetadata.from_dict(network_overview_metadata_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/NetworkOverviewResponse.md b/docs/NetworkOverviewResponse.md deleted file mode 100644 index 8712b5a..0000000 --- a/docs/NetworkOverviewResponse.md +++ /dev/null @@ -1,30 +0,0 @@ -# NetworkOverviewResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**dns** | [**List[NetworkOverviewDns]**](NetworkOverviewDns.md) | | -**metadata** | [**List[NetworkOverviewMetadata]**](NetworkOverviewMetadata.md) | | - -## Example - -```python -from revengai.models.network_overview_response import NetworkOverviewResponse - -# TODO update the JSON string below -json = "{}" -# create an instance of NetworkOverviewResponse from a JSON string -network_overview_response_instance = NetworkOverviewResponse.from_json(json) -# print the JSON string representation of the object -print(NetworkOverviewResponse.to_json()) - -# convert the object into a dict -network_overview_response_dict = network_overview_response_instance.to_dict() -# create an instance of NetworkOverviewResponse from a dict -network_overview_response_from_dict = NetworkOverviewResponse.from_dict(network_overview_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/Process.md b/docs/Process.md deleted file mode 100644 index a782602..0000000 --- a/docs/Process.md +++ /dev/null @@ -1,35 +0,0 @@ -# Process - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pid** | **int** | | -**procname** | **str** | | -**executable_name** | **str** | | -**args** | **List[str]** | | -**ts_from** | **float** | | -**ts_to** | **float** | | -**children** | **List[object]** | | - -## Example - -```python -from revengai.models.process import Process - -# TODO update the JSON string below -json = "{}" -# create an instance of Process from a JSON string -process_instance = Process.from_json(json) -# print the JSON string representation of the object -print(Process.to_json()) - -# convert the object into a dict -process_dict = process_instance.to_dict() -# create an instance of Process from a dict -process_from_dict = Process.from_dict(process_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessDump.md b/docs/ProcessDump.md deleted file mode 100644 index d2d62bd..0000000 --- a/docs/ProcessDump.md +++ /dev/null @@ -1,32 +0,0 @@ -# ProcessDump - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**base_address** | **int** | | -**actual_filename** | **str** | | -**filename_friendly** | **str** | | -**extended_metadata** | [**ProcessDumpMetadata**](ProcessDumpMetadata.md) | | - -## Example - -```python -from revengai.models.process_dump import ProcessDump - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessDump from a JSON string -process_dump_instance = ProcessDump.from_json(json) -# print the JSON string representation of the object -print(ProcessDump.to_json()) - -# convert the object into a dict -process_dump_dict = process_dump_instance.to_dict() -# create an instance of ProcessDump from a dict -process_dump_from_dict = ProcessDump.from_dict(process_dump_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessDumpMetadata.md b/docs/ProcessDumpMetadata.md deleted file mode 100644 index 03a610c..0000000 --- a/docs/ProcessDumpMetadata.md +++ /dev/null @@ -1,31 +0,0 @@ -# ProcessDumpMetadata - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**sha256** | **str** | | -**type** | **str** | | -**size** | **int** | | - -## Example - -```python -from revengai.models.process_dump_metadata import ProcessDumpMetadata - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessDumpMetadata from a JSON string -process_dump_metadata_instance = ProcessDumpMetadata.from_json(json) -# print the JSON string representation of the object -print(ProcessDumpMetadata.to_json()) - -# convert the object into a dict -process_dump_metadata_dict = process_dump_metadata_instance.to_dict() -# create an instance of ProcessDumpMetadata from a dict -process_dump_metadata_from_dict = ProcessDumpMetadata.from_dict(process_dump_metadata_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessDumps.md b/docs/ProcessDumps.md deleted file mode 100644 index c1413dc..0000000 --- a/docs/ProcessDumps.md +++ /dev/null @@ -1,30 +0,0 @@ -# ProcessDumps - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**success** | **bool** | | -**data** | [**ProcessDumpsData**](ProcessDumpsData.md) | | - -## Example - -```python -from revengai.models.process_dumps import ProcessDumps - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessDumps from a JSON string -process_dumps_instance = ProcessDumps.from_json(json) -# print the JSON string representation of the object -print(ProcessDumps.to_json()) - -# convert the object into a dict -process_dumps_dict = process_dumps_instance.to_dict() -# create an instance of ProcessDumps from a dict -process_dumps_from_dict = ProcessDumps.from_dict(process_dumps_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessDumpsData.md b/docs/ProcessDumpsData.md deleted file mode 100644 index 424091e..0000000 --- a/docs/ProcessDumpsData.md +++ /dev/null @@ -1,30 +0,0 @@ -# ProcessDumpsData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**count** | **int** | | -**dumps** | [**List[ProcessDump]**](ProcessDump.md) | | - -## Example - -```python -from revengai.models.process_dumps_data import ProcessDumpsData - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessDumpsData from a JSON string -process_dumps_data_instance = ProcessDumpsData.from_json(json) -# print the JSON string representation of the object -print(ProcessDumpsData.to_json()) - -# convert the object into a dict -process_dumps_data_dict = process_dumps_data_instance.to_dict() -# create an instance of ProcessDumpsData from a dict -process_dumps_data_from_dict = ProcessDumpsData.from_dict(process_dumps_data_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessRegistry.md b/docs/ProcessRegistry.md deleted file mode 100644 index af0cf3b..0000000 --- a/docs/ProcessRegistry.md +++ /dev/null @@ -1,30 +0,0 @@ -# ProcessRegistry - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**success** | **bool** | | -**data** | **Dict[str, List[Registry]]** | | - -## Example - -```python -from revengai.models.process_registry import ProcessRegistry - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessRegistry from a JSON string -process_registry_instance = ProcessRegistry.from_json(json) -# print the JSON string representation of the object -print(ProcessRegistry.to_json()) - -# convert the object into a dict -process_registry_dict = process_registry_instance.to_dict() -# create an instance of ProcessRegistry from a dict -process_registry_from_dict = ProcessRegistry.from_dict(process_registry_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ProcessTree.md b/docs/ProcessTree.md deleted file mode 100644 index b7c2b1f..0000000 --- a/docs/ProcessTree.md +++ /dev/null @@ -1,30 +0,0 @@ -# ProcessTree - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**success** | **bool** | | -**data** | [**List[Process]**](Process.md) | | - -## Example - -```python -from revengai.models.process_tree import ProcessTree - -# TODO update the JSON string below -json = "{}" -# create an instance of ProcessTree from a JSON string -process_tree_instance = ProcessTree.from_json(json) -# print the JSON string representation of the object -print(ProcessTree.to_json()) - -# convert the object into a dict -process_tree_dict = process_tree_instance.to_dict() -# create an instance of ProcessTree from a dict -process_tree_from_dict = ProcessTree.from_dict(process_tree_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/Registry.md b/docs/Registry.md deleted file mode 100644 index 9c53505..0000000 --- a/docs/Registry.md +++ /dev/null @@ -1,32 +0,0 @@ -# Registry - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**method** | **str** | | -**key** | **str** | | -**value_name** | **str** | | -**value** | **str** | | - -## Example - -```python -from revengai.models.registry import Registry - -# TODO update the JSON string below -json = "{}" -# create an instance of Registry from a JSON string -registry_instance = Registry.from_json(json) -# print the JSON string representation of the object -print(Registry.to_json()) - -# convert the object into a dict -registry_dict = registry_instance.to_dict() -# create an instance of Registry from a dict -registry_from_dict = Registry.from_dict(registry_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/SendMessageRequest.md b/docs/SendMessageRequest.md new file mode 100644 index 0000000..007efc2 --- /dev/null +++ b/docs/SendMessageRequest.md @@ -0,0 +1,31 @@ +# SendMessageRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**content** | **str** | | +**context** | [**ConversationContext**](ConversationContext.md) | | [optional] + +## Example + +```python +from revengai.models.send_message_request import SendMessageRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SendMessageRequest from a JSON string +send_message_request_instance = SendMessageRequest.from_json(json) +# print the JSON string representation of the object +print(SendMessageRequest.to_json()) + +# convert the object into a dict +send_message_request_dict = send_message_request_instance.to_dict() +# create an instance of SendMessageRequest from a dict +send_message_request_from_dict = SendMessageRequest.from_dict(send_message_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventContextCompactedData.md b/docs/SseEventContextCompactedData.md new file mode 100644 index 0000000..c17518d --- /dev/null +++ b/docs/SseEventContextCompactedData.md @@ -0,0 +1,31 @@ +# SseEventContextCompactedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_context_compacted_data import SseEventContextCompactedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventContextCompactedData from a JSON string +sse_event_context_compacted_data_instance = SseEventContextCompactedData.from_json(json) +# print the JSON string representation of the object +print(SseEventContextCompactedData.to_json()) + +# convert the object into a dict +sse_event_context_compacted_data_dict = sse_event_context_compacted_data_instance.to_dict() +# create an instance of SseEventContextCompactedData from a dict +sse_event_context_compacted_data_from_dict = SseEventContextCompactedData.from_dict(sse_event_context_compacted_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventRunCancelledData.md b/docs/SseEventRunCancelledData.md new file mode 100644 index 0000000..2ae0116 --- /dev/null +++ b/docs/SseEventRunCancelledData.md @@ -0,0 +1,31 @@ +# SseEventRunCancelledData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_run_cancelled_data import SseEventRunCancelledData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventRunCancelledData from a JSON string +sse_event_run_cancelled_data_instance = SseEventRunCancelledData.from_json(json) +# print the JSON string representation of the object +print(SseEventRunCancelledData.to_json()) + +# convert the object into a dict +sse_event_run_cancelled_data_dict = sse_event_run_cancelled_data_instance.to_dict() +# create an instance of SseEventRunCancelledData from a dict +sse_event_run_cancelled_data_from_dict = SseEventRunCancelledData.from_dict(sse_event_run_cancelled_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventRunErrorData.md b/docs/SseEventRunErrorData.md new file mode 100644 index 0000000..573b074 --- /dev/null +++ b/docs/SseEventRunErrorData.md @@ -0,0 +1,31 @@ +# SseEventRunErrorData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_run_error_data import SseEventRunErrorData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventRunErrorData from a JSON string +sse_event_run_error_data_instance = SseEventRunErrorData.from_json(json) +# print the JSON string representation of the object +print(SseEventRunErrorData.to_json()) + +# convert the object into a dict +sse_event_run_error_data_dict = sse_event_run_error_data_instance.to_dict() +# create an instance of SseEventRunErrorData from a dict +sse_event_run_error_data_from_dict = SseEventRunErrorData.from_dict(sse_event_run_error_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventRunFinishedData.md b/docs/SseEventRunFinishedData.md new file mode 100644 index 0000000..e7ad6c6 --- /dev/null +++ b/docs/SseEventRunFinishedData.md @@ -0,0 +1,31 @@ +# SseEventRunFinishedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_run_finished_data import SseEventRunFinishedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventRunFinishedData from a JSON string +sse_event_run_finished_data_instance = SseEventRunFinishedData.from_json(json) +# print the JSON string representation of the object +print(SseEventRunFinishedData.to_json()) + +# convert the object into a dict +sse_event_run_finished_data_dict = sse_event_run_finished_data_instance.to_dict() +# create an instance of SseEventRunFinishedData from a dict +sse_event_run_finished_data_from_dict = SseEventRunFinishedData.from_dict(sse_event_run_finished_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventRunStartedData.md b/docs/SseEventRunStartedData.md new file mode 100644 index 0000000..1905d07 --- /dev/null +++ b/docs/SseEventRunStartedData.md @@ -0,0 +1,31 @@ +# SseEventRunStartedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_run_started_data import SseEventRunStartedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventRunStartedData from a JSON string +sse_event_run_started_data_instance = SseEventRunStartedData.from_json(json) +# print the JSON string representation of the object +print(SseEventRunStartedData.to_json()) + +# convert the object into a dict +sse_event_run_started_data_dict = sse_event_run_started_data_instance.to_dict() +# create an instance of SseEventRunStartedData from a dict +sse_event_run_started_data_from_dict = SseEventRunStartedData.from_dict(sse_event_run_started_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventStepFinishedData.md b/docs/SseEventStepFinishedData.md new file mode 100644 index 0000000..3656bef --- /dev/null +++ b/docs/SseEventStepFinishedData.md @@ -0,0 +1,31 @@ +# SseEventStepFinishedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_step_finished_data import SseEventStepFinishedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventStepFinishedData from a JSON string +sse_event_step_finished_data_instance = SseEventStepFinishedData.from_json(json) +# print the JSON string representation of the object +print(SseEventStepFinishedData.to_json()) + +# convert the object into a dict +sse_event_step_finished_data_dict = sse_event_step_finished_data_instance.to_dict() +# create an instance of SseEventStepFinishedData from a dict +sse_event_step_finished_data_from_dict = SseEventStepFinishedData.from_dict(sse_event_step_finished_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventStepStartedData.md b/docs/SseEventStepStartedData.md new file mode 100644 index 0000000..4ad0df1 --- /dev/null +++ b/docs/SseEventStepStartedData.md @@ -0,0 +1,31 @@ +# SseEventStepStartedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_step_started_data import SseEventStepStartedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventStepStartedData from a JSON string +sse_event_step_started_data_instance = SseEventStepStartedData.from_json(json) +# print the JSON string representation of the object +print(SseEventStepStartedData.to_json()) + +# convert the object into a dict +sse_event_step_started_data_dict = sse_event_step_started_data_instance.to_dict() +# create an instance of SseEventStepStartedData from a dict +sse_event_step_started_data_from_dict = SseEventStepStartedData.from_dict(sse_event_step_started_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventTextMessageContentData.md b/docs/SseEventTextMessageContentData.md new file mode 100644 index 0000000..03302e5 --- /dev/null +++ b/docs/SseEventTextMessageContentData.md @@ -0,0 +1,31 @@ +# SseEventTextMessageContentData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_text_message_content_data import SseEventTextMessageContentData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventTextMessageContentData from a JSON string +sse_event_text_message_content_data_instance = SseEventTextMessageContentData.from_json(json) +# print the JSON string representation of the object +print(SseEventTextMessageContentData.to_json()) + +# convert the object into a dict +sse_event_text_message_content_data_dict = sse_event_text_message_content_data_instance.to_dict() +# create an instance of SseEventTextMessageContentData from a dict +sse_event_text_message_content_data_from_dict = SseEventTextMessageContentData.from_dict(sse_event_text_message_content_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventTextMessageEndData.md b/docs/SseEventTextMessageEndData.md new file mode 100644 index 0000000..5b31d6b --- /dev/null +++ b/docs/SseEventTextMessageEndData.md @@ -0,0 +1,31 @@ +# SseEventTextMessageEndData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_text_message_end_data import SseEventTextMessageEndData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventTextMessageEndData from a JSON string +sse_event_text_message_end_data_instance = SseEventTextMessageEndData.from_json(json) +# print the JSON string representation of the object +print(SseEventTextMessageEndData.to_json()) + +# convert the object into a dict +sse_event_text_message_end_data_dict = sse_event_text_message_end_data_instance.to_dict() +# create an instance of SseEventTextMessageEndData from a dict +sse_event_text_message_end_data_from_dict = SseEventTextMessageEndData.from_dict(sse_event_text_message_end_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventTextMessageStartData.md b/docs/SseEventTextMessageStartData.md new file mode 100644 index 0000000..18fdabc --- /dev/null +++ b/docs/SseEventTextMessageStartData.md @@ -0,0 +1,31 @@ +# SseEventTextMessageStartData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_text_message_start_data import SseEventTextMessageStartData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventTextMessageStartData from a JSON string +sse_event_text_message_start_data_instance = SseEventTextMessageStartData.from_json(json) +# print the JSON string representation of the object +print(SseEventTextMessageStartData.to_json()) + +# convert the object into a dict +sse_event_text_message_start_data_dict = sse_event_text_message_start_data_instance.to_dict() +# create an instance of SseEventTextMessageStartData from a dict +sse_event_text_message_start_data_from_dict = SseEventTextMessageStartData.from_dict(sse_event_text_message_start_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventTitleUpdatedData.md b/docs/SseEventTitleUpdatedData.md new file mode 100644 index 0000000..90b0579 --- /dev/null +++ b/docs/SseEventTitleUpdatedData.md @@ -0,0 +1,31 @@ +# SseEventTitleUpdatedData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_title_updated_data import SseEventTitleUpdatedData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventTitleUpdatedData from a JSON string +sse_event_title_updated_data_instance = SseEventTitleUpdatedData.from_json(json) +# print the JSON string representation of the object +print(SseEventTitleUpdatedData.to_json()) + +# convert the object into a dict +sse_event_title_updated_data_dict = sse_event_title_updated_data_instance.to_dict() +# create an instance of SseEventTitleUpdatedData from a dict +sse_event_title_updated_data_from_dict = SseEventTitleUpdatedData.from_dict(sse_event_title_updated_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventToolCallArgsDeltaData.md b/docs/SseEventToolCallArgsDeltaData.md new file mode 100644 index 0000000..9331c37 --- /dev/null +++ b/docs/SseEventToolCallArgsDeltaData.md @@ -0,0 +1,31 @@ +# SseEventToolCallArgsDeltaData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_tool_call_args_delta_data import SseEventToolCallArgsDeltaData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventToolCallArgsDeltaData from a JSON string +sse_event_tool_call_args_delta_data_instance = SseEventToolCallArgsDeltaData.from_json(json) +# print the JSON string representation of the object +print(SseEventToolCallArgsDeltaData.to_json()) + +# convert the object into a dict +sse_event_tool_call_args_delta_data_dict = sse_event_tool_call_args_delta_data_instance.to_dict() +# create an instance of SseEventToolCallArgsDeltaData from a dict +sse_event_tool_call_args_delta_data_from_dict = SseEventToolCallArgsDeltaData.from_dict(sse_event_tool_call_args_delta_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventToolCallEndData.md b/docs/SseEventToolCallEndData.md new file mode 100644 index 0000000..7c168c0 --- /dev/null +++ b/docs/SseEventToolCallEndData.md @@ -0,0 +1,31 @@ +# SseEventToolCallEndData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_tool_call_end_data import SseEventToolCallEndData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventToolCallEndData from a JSON string +sse_event_tool_call_end_data_instance = SseEventToolCallEndData.from_json(json) +# print the JSON string representation of the object +print(SseEventToolCallEndData.to_json()) + +# convert the object into a dict +sse_event_tool_call_end_data_dict = sse_event_tool_call_end_data_instance.to_dict() +# create an instance of SseEventToolCallEndData from a dict +sse_event_tool_call_end_data_from_dict = SseEventToolCallEndData.from_dict(sse_event_tool_call_end_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventToolCallResultData.md b/docs/SseEventToolCallResultData.md new file mode 100644 index 0000000..563f9e4 --- /dev/null +++ b/docs/SseEventToolCallResultData.md @@ -0,0 +1,31 @@ +# SseEventToolCallResultData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_tool_call_result_data import SseEventToolCallResultData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventToolCallResultData from a JSON string +sse_event_tool_call_result_data_instance = SseEventToolCallResultData.from_json(json) +# print the JSON string representation of the object +print(SseEventToolCallResultData.to_json()) + +# convert the object into a dict +sse_event_tool_call_result_data_dict = sse_event_tool_call_result_data_instance.to_dict() +# create an instance of SseEventToolCallResultData from a dict +sse_event_tool_call_result_data_from_dict = SseEventToolCallResultData.from_dict(sse_event_tool_call_result_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventToolCallStartData.md b/docs/SseEventToolCallStartData.md new file mode 100644 index 0000000..d7963ba --- /dev/null +++ b/docs/SseEventToolCallStartData.md @@ -0,0 +1,31 @@ +# SseEventToolCallStartData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_tool_call_start_data import SseEventToolCallStartData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventToolCallStartData from a JSON string +sse_event_tool_call_start_data_instance = SseEventToolCallStartData.from_json(json) +# print the JSON string representation of the object +print(SseEventToolCallStartData.to_json()) + +# convert the object into a dict +sse_event_tool_call_start_data_dict = sse_event_tool_call_start_data_instance.to_dict() +# create an instance of SseEventToolCallStartData from a dict +sse_event_tool_call_start_data_from_dict = SseEventToolCallStartData.from_dict(sse_event_tool_call_start_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SseEventToolConfirmationRequiredData.md b/docs/SseEventToolConfirmationRequiredData.md new file mode 100644 index 0000000..8d9bac5 --- /dev/null +++ b/docs/SseEventToolConfirmationRequiredData.md @@ -0,0 +1,31 @@ +# SseEventToolConfirmationRequiredData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **object** | | +**event_id** | **int** | | +**type** | **str** | | + +## Example + +```python +from revengai.models.sse_event_tool_confirmation_required_data import SseEventToolConfirmationRequiredData + +# TODO update the JSON string below +json = "{}" +# create an instance of SseEventToolConfirmationRequiredData from a JSON string +sse_event_tool_confirmation_required_data_instance = SseEventToolConfirmationRequiredData.from_json(json) +# print the JSON string representation of the object +print(SseEventToolConfirmationRequiredData.to_json()) + +# convert the object into a dict +sse_event_tool_confirmation_required_data_dict = sse_event_tool_confirmation_required_data_instance.to_dict() +# create an instance of SseEventToolConfirmationRequiredData from a dict +sse_event_tool_confirmation_required_data_from_dict = SseEventToolConfirmationRequiredData.from_dict(sse_event_tool_confirmation_required_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StatusResponse.md b/docs/StatusResponse.md new file mode 100644 index 0000000..c2cd50e --- /dev/null +++ b/docs/StatusResponse.md @@ -0,0 +1,32 @@ +# StatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_schema** | **str** | A URL to the JSON Schema for this object. | [optional] [readonly] +**conversation_uuid** | **str** | | +**status** | **str** | | +**trace_id** | **str** | OpenTelemetry trace ID for this run. Use this to look up tool call spans in your trace backend. | [optional] + +## Example + +```python +from revengai.models.status_response import StatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of StatusResponse from a JSON string +status_response_instance = StatusResponse.from_json(json) +# print the JSON string representation of the object +print(StatusResponse.to_json()) + +# convert the object into a dict +status_response_dict = status_response_instance.to_dict() +# create an instance of StatusResponse from a dict +status_response_from_dict = StatusResponse.from_dict(status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StreamEvents200ResponseInner.md b/docs/StreamEvents200ResponseInner.md new file mode 100644 index 0000000..efae056 --- /dev/null +++ b/docs/StreamEvents200ResponseInner.md @@ -0,0 +1,32 @@ +# StreamEvents200ResponseInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**SseEventToolConfirmationRequiredData**](SseEventToolConfirmationRequiredData.md) | | +**event** | **str** | The event name. | +**id** | **int** | The event ID. | [optional] +**retry** | **int** | The retry time in milliseconds. | [optional] + +## Example + +```python +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner + +# TODO update the JSON string below +json = "{}" +# create an instance of StreamEvents200ResponseInner from a JSON string +stream_events200_response_inner_instance = StreamEvents200ResponseInner.from_json(json) +# print the JSON string representation of the object +print(StreamEvents200ResponseInner.to_json()) + +# convert the object into a dict +stream_events200_response_inner_dict = stream_events200_response_inner_instance.to_dict() +# create an instance of StreamEvents200ResponseInner from a dict +stream_events200_response_inner_from_dict = StreamEvents200ResponseInner.from_dict(stream_events200_response_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TTPS.md b/docs/TTPS.md deleted file mode 100644 index 9fa74b9..0000000 --- a/docs/TTPS.md +++ /dev/null @@ -1,30 +0,0 @@ -# TTPS - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**success** | **bool** | | -**data** | [**TTPSData**](TTPSData.md) | | - -## Example - -```python -from revengai.models.ttps import TTPS - -# TODO update the JSON string below -json = "{}" -# create an instance of TTPS from a JSON string -ttps_instance = TTPS.from_json(json) -# print the JSON string representation of the object -print(TTPS.to_json()) - -# convert the object into a dict -ttps_dict = ttps_instance.to_dict() -# create an instance of TTPS from a dict -ttps_from_dict = TTPS.from_dict(ttps_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TTPSAttack.md b/docs/TTPSAttack.md deleted file mode 100644 index 2d6b4f7..0000000 --- a/docs/TTPSAttack.md +++ /dev/null @@ -1,30 +0,0 @@ -# TTPSAttack - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **str** | | -**name** | **str** | | - -## Example - -```python -from revengai.models.ttps_attack import TTPSAttack - -# TODO update the JSON string below -json = "{}" -# create an instance of TTPSAttack from a JSON string -ttps_attack_instance = TTPSAttack.from_json(json) -# print the JSON string representation of the object -print(TTPSAttack.to_json()) - -# convert the object into a dict -ttps_attack_dict = ttps_attack_instance.to_dict() -# create an instance of TTPSAttack from a dict -ttps_attack_from_dict = TTPSAttack.from_dict(ttps_attack_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TTPSData.md b/docs/TTPSData.md deleted file mode 100644 index 089bc80..0000000 --- a/docs/TTPSData.md +++ /dev/null @@ -1,30 +0,0 @@ -# TTPSData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**score** | **int** | | -**ttps** | [**List[TTPSElement]**](TTPSElement.md) | | - -## Example - -```python -from revengai.models.ttps_data import TTPSData - -# TODO update the JSON string below -json = "{}" -# create an instance of TTPSData from a JSON string -ttps_data_instance = TTPSData.from_json(json) -# print the JSON string representation of the object -print(TTPSData.to_json()) - -# convert the object into a dict -ttps_data_dict = ttps_data_instance.to_dict() -# create an instance of TTPSData from a dict -ttps_data_from_dict = TTPSData.from_dict(ttps_data_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TTPSElement.md b/docs/TTPSElement.md deleted file mode 100644 index 12c160c..0000000 --- a/docs/TTPSElement.md +++ /dev/null @@ -1,32 +0,0 @@ -# TTPSElement - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **str** | | -**attack** | [**List[TTPSAttack]**](TTPSAttack.md) | | -**occurrences** | [**List[TTPSOccurance]**](TTPSOccurance.md) | | -**score** | **int** | | - -## Example - -```python -from revengai.models.ttps_element import TTPSElement - -# TODO update the JSON string below -json = "{}" -# create an instance of TTPSElement from a JSON string -ttps_element_instance = TTPSElement.from_json(json) -# print the JSON string representation of the object -print(TTPSElement.to_json()) - -# convert the object into a dict -ttps_element_dict = ttps_element_instance.to_dict() -# create an instance of TTPSElement from a dict -ttps_element_from_dict = TTPSElement.from_dict(ttps_element_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TTPSOccurance.md b/docs/TTPSOccurance.md deleted file mode 100644 index 8ba44be..0000000 --- a/docs/TTPSOccurance.md +++ /dev/null @@ -1,30 +0,0 @@ -# TTPSOccurance - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**ppid** | **int** | | -**pid** | **int** | | - -## Example - -```python -from revengai.models.ttps_occurance import TTPSOccurance - -# TODO update the JSON string below -json = "{}" -# create an instance of TTPSOccurance from a JSON string -ttps_occurance_instance = TTPSOccurance.from_json(json) -# print the JSON string representation of the object -print(TTPSOccurance.to_json()) - -# convert the object into a dict -ttps_occurance_dict = ttps_occurance_instance.to_dict() -# create an instance of TTPSOccurance from a dict -ttps_occurance_from_dict = TTPSOccurance.from_dict(ttps_occurance_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/revengai/__init__.py b/revengai/__init__.py index ff019a8..0a616f4 100644 --- a/revengai/__init__.py +++ b/revengai/__init__.py @@ -13,7 +13,7 @@ """ # noqa: E501 -__version__ = "v3.74.4" +__version__ = "v3.78.1" # Define package exports __all__ = [ @@ -21,7 +21,6 @@ "AnalysesBulkActionsApi", "AnalysesCommentsApi", "AnalysesCoreApi", - "AnalysesDynamicExecutionApi", "AnalysesResultsMetadataApi", "AnalysesXRefsApi", "AnalysisStagesApi", @@ -29,6 +28,7 @@ "BinariesApi", "CollectionsApi", "ConfigApi", + "ConversationsApi", "ExternalSourcesApi", "FirmwareApi", "FunctionsAIDecompilationApi", @@ -46,6 +46,7 @@ "ApiKeyError", "ApiAttributeError", "ApiException", + "APIError", "AdditionalDetailsStatusResponse", "Addr", "AiDecompilationRating", @@ -76,13 +77,11 @@ "AnalysisUpdateTagsRequest", "AnalysisUpdateTagsResponse", "AppApiRestV2AgentSchemaCapability", - "AppApiRestV2AnalysesEnumsDynamicExecutionStatus", "AppApiRestV2AnalysesEnumsOrderBy", "AppApiRestV2CollectionsEnumsOrderBy", "AppApiRestV2FunctionsResponsesFunction", "AppApiRestV2FunctionsTypesFunction", "AppApiRestV2InfoTypesCapability", - "AppServicesDynamicExecutionSchemasDynamicExecutionStatus", "Argument", "AutoRunAgents", "AutoUnstripRequest", @@ -119,7 +118,6 @@ "BaseResponseConfigResponse", "BaseResponseCreated", "BaseResponseDict", - "BaseResponseDynamicExecutionStatus", "BaseResponseExternalResponse", "BaseResponseFunctionBlocksResponse", "BaseResponseFunctionCapabilityResponse", @@ -143,18 +141,13 @@ "BaseResponseListUserActivityResponse", "BaseResponseLogs", "BaseResponseModelsResponse", - "BaseResponseNetworkOverviewResponse", "BaseResponseParams", "BaseResponsePipelineStatusResponse", - "BaseResponseProcessDumps", - "BaseResponseProcessRegistry", - "BaseResponseProcessTree", "BaseResponseQueuedWorkflowTaskResponse", "BaseResponseRecent", "BaseResponseReportAnalysisResponse", "BaseResponseStatus", "BaseResponseStr", - "BaseResponseTTPS", "BaseResponseTagSearchResponse", "BaseResponseTaskResponse", "BaseResponseTaskStatusResponse", @@ -199,11 +192,16 @@ "CommentResponse", "CommentUpdateRequest", "ConfigResponse", + "ConfirmToolInputBody", "Context", + "Conversation", + "ConversationContext", + "ConversationWithEvents", + "CreateConversationRequest", "Created", "DecompilationCommentContext", "DieMatch", - "DynamicExecutionStatusInput", + "DynamicExecutionStatus", "ELFImportModel", "ELFModel", "ELFRelocation", @@ -214,7 +212,25 @@ "ElfDynamicEntry", "EntrypointModel", "Enumeration", + "ErrorBody", "ErrorModel", + "Event", + "EventCONTEXTCOMPACTED", + "EventRUNCANCELLED", + "EventRUNERROR", + "EventRUNFINISHED", + "EventRUNSTARTED", + "EventSTEPFINISHED", + "EventSTEPSTARTED", + "EventTEXTMESSAGECONTENT", + "EventTEXTMESSAGEEND", + "EventTEXTMESSAGESTART", + "EventTITLEUPDATED", + "EventTOOLCALLARGSDELTA", + "EventTOOLCALLEND", + "EventTOOLCALLRESULT", + "EventTOOLCALLSTART", + "EventTOOLCONFIRMATIONREQUIRED", "ExportModel", "ExternalResponse", "FileFormat", @@ -284,10 +300,6 @@ "ModelsResponse", "NameConfidence", "NameSourceType", - "NetworkOverviewDns", - "NetworkOverviewDnsAnswer", - "NetworkOverviewMetadata", - "NetworkOverviewResponse", "Order", "PDBDebugModel", "PEModel", @@ -296,19 +308,11 @@ "PipelineStageStatus", "PipelineStatusResponse", "Platform", - "Process", - "ProcessDump", - "ProcessDumpMetadata", - "ProcessDumps", - "ProcessDumpsData", - "ProcessRegistry", - "ProcessTree", "PutAnalysisStringsRequest", "QueuedWorkflowTaskResponse", "ReAnalysisForm", "Recent", "RegenerateTarget", - "Registry", "RelativeBinaryResponse", "ReportAnalysisResponse", "SBOM", @@ -318,26 +322,40 @@ "SectionModel", "SecurityModel", "SegmentInfo", + "SendMessageRequest", "SingleCodeCertificateModel", "SingleCodeSignatureModel", "SinglePDBEntryModel", "SingleSectionModel", + "SseEventContextCompactedData", + "SseEventRunCancelledData", + "SseEventRunErrorData", + "SseEventRunFinishedData", + "SseEventRunStartedData", + "SseEventStepFinishedData", + "SseEventStepStartedData", + "SseEventTextMessageContentData", + "SseEventTextMessageEndData", + "SseEventTextMessageStartData", + "SseEventTitleUpdatedData", + "SseEventToolCallArgsDeltaData", + "SseEventToolCallEndData", + "SseEventToolCallResultData", + "SseEventToolCallStartData", + "SseEventToolConfirmationRequiredData", "StackVariable", "StageEvent", "StageStatus", "StatusInput", "StatusOutput", + "StatusResponse", + "StreamEvents200ResponseInner", "StringFunctions", "StringSource", "Structure", "StructureMember", "SubmitUserFeedbackRequest", "Symbols", - "TTPS", - "TTPSAttack", - "TTPSData", - "TTPSElement", - "TTPSOccurance", "Tag", "TagItem", "TagResponse", @@ -368,7 +386,6 @@ from revengai.api.analyses_bulk_actions_api import AnalysesBulkActionsApi as AnalysesBulkActionsApi from revengai.api.analyses_comments_api import AnalysesCommentsApi as AnalysesCommentsApi from revengai.api.analyses_core_api import AnalysesCoreApi as AnalysesCoreApi -from revengai.api.analyses_dynamic_execution_api import AnalysesDynamicExecutionApi as AnalysesDynamicExecutionApi from revengai.api.analyses_results_metadata_api import AnalysesResultsMetadataApi as AnalysesResultsMetadataApi from revengai.api.analyses_x_refs_api import AnalysesXRefsApi as AnalysesXRefsApi from revengai.api.analysis_stages_api import AnalysisStagesApi as AnalysisStagesApi @@ -376,6 +393,7 @@ from revengai.api.binaries_api import BinariesApi as BinariesApi from revengai.api.collections_api import CollectionsApi as CollectionsApi from revengai.api.config_api import ConfigApi as ConfigApi +from revengai.api.conversations_api import ConversationsApi as ConversationsApi from revengai.api.external_sources_api import ExternalSourcesApi as ExternalSourcesApi from revengai.api.firmware_api import FirmwareApi as FirmwareApi from revengai.api.functions_ai_decompilation_api import FunctionsAIDecompilationApi as FunctionsAIDecompilationApi @@ -397,6 +415,7 @@ from revengai.exceptions import ApiException as ApiException # import models into sdk package +from revengai.models.api_error import APIError as APIError from revengai.models.additional_details_status_response import AdditionalDetailsStatusResponse as AdditionalDetailsStatusResponse from revengai.models.addr import Addr as Addr from revengai.models.ai_decompilation_rating import AiDecompilationRating as AiDecompilationRating @@ -427,13 +446,11 @@ from revengai.models.analysis_update_tags_request import AnalysisUpdateTagsRequest as AnalysisUpdateTagsRequest from revengai.models.analysis_update_tags_response import AnalysisUpdateTagsResponse as AnalysisUpdateTagsResponse from revengai.models.app_api_rest_v2_agent_schema_capability import AppApiRestV2AgentSchemaCapability as AppApiRestV2AgentSchemaCapability -from revengai.models.app_api_rest_v2_analyses_enums_dynamic_execution_status import AppApiRestV2AnalysesEnumsDynamicExecutionStatus as AppApiRestV2AnalysesEnumsDynamicExecutionStatus from revengai.models.app_api_rest_v2_analyses_enums_order_by import AppApiRestV2AnalysesEnumsOrderBy as AppApiRestV2AnalysesEnumsOrderBy from revengai.models.app_api_rest_v2_collections_enums_order_by import AppApiRestV2CollectionsEnumsOrderBy as AppApiRestV2CollectionsEnumsOrderBy from revengai.models.app_api_rest_v2_functions_responses_function import AppApiRestV2FunctionsResponsesFunction as AppApiRestV2FunctionsResponsesFunction from revengai.models.app_api_rest_v2_functions_types_function import AppApiRestV2FunctionsTypesFunction as AppApiRestV2FunctionsTypesFunction from revengai.models.app_api_rest_v2_info_types_capability import AppApiRestV2InfoTypesCapability as AppApiRestV2InfoTypesCapability -from revengai.models.app_services_dynamic_execution_schemas_dynamic_execution_status import AppServicesDynamicExecutionSchemasDynamicExecutionStatus as AppServicesDynamicExecutionSchemasDynamicExecutionStatus from revengai.models.argument import Argument as Argument from revengai.models.auto_run_agents import AutoRunAgents as AutoRunAgents from revengai.models.auto_unstrip_request import AutoUnstripRequest as AutoUnstripRequest @@ -470,7 +487,6 @@ from revengai.models.base_response_config_response import BaseResponseConfigResponse as BaseResponseConfigResponse from revengai.models.base_response_created import BaseResponseCreated as BaseResponseCreated from revengai.models.base_response_dict import BaseResponseDict as BaseResponseDict -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus as BaseResponseDynamicExecutionStatus from revengai.models.base_response_external_response import BaseResponseExternalResponse as BaseResponseExternalResponse from revengai.models.base_response_function_blocks_response import BaseResponseFunctionBlocksResponse as BaseResponseFunctionBlocksResponse from revengai.models.base_response_function_capability_response import BaseResponseFunctionCapabilityResponse as BaseResponseFunctionCapabilityResponse @@ -494,18 +510,13 @@ from revengai.models.base_response_list_user_activity_response import BaseResponseListUserActivityResponse as BaseResponseListUserActivityResponse from revengai.models.base_response_logs import BaseResponseLogs as BaseResponseLogs from revengai.models.base_response_models_response import BaseResponseModelsResponse as BaseResponseModelsResponse -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse as BaseResponseNetworkOverviewResponse from revengai.models.base_response_params import BaseResponseParams as BaseResponseParams from revengai.models.base_response_pipeline_status_response import BaseResponsePipelineStatusResponse as BaseResponsePipelineStatusResponse -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps as BaseResponseProcessDumps -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry as BaseResponseProcessRegistry -from revengai.models.base_response_process_tree import BaseResponseProcessTree as BaseResponseProcessTree from revengai.models.base_response_queued_workflow_task_response import BaseResponseQueuedWorkflowTaskResponse as BaseResponseQueuedWorkflowTaskResponse from revengai.models.base_response_recent import BaseResponseRecent as BaseResponseRecent from revengai.models.base_response_report_analysis_response import BaseResponseReportAnalysisResponse as BaseResponseReportAnalysisResponse from revengai.models.base_response_status import BaseResponseStatus as BaseResponseStatus from revengai.models.base_response_str import BaseResponseStr as BaseResponseStr -from revengai.models.base_response_ttps import BaseResponseTTPS as BaseResponseTTPS from revengai.models.base_response_tag_search_response import BaseResponseTagSearchResponse as BaseResponseTagSearchResponse from revengai.models.base_response_task_response import BaseResponseTaskResponse as BaseResponseTaskResponse from revengai.models.base_response_task_status_response import BaseResponseTaskStatusResponse as BaseResponseTaskStatusResponse @@ -550,11 +561,16 @@ from revengai.models.comment_response import CommentResponse as CommentResponse from revengai.models.comment_update_request import CommentUpdateRequest as CommentUpdateRequest from revengai.models.config_response import ConfigResponse as ConfigResponse +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody as ConfirmToolInputBody from revengai.models.context import Context as Context +from revengai.models.conversation import Conversation as Conversation +from revengai.models.conversation_context import ConversationContext as ConversationContext +from revengai.models.conversation_with_events import ConversationWithEvents as ConversationWithEvents +from revengai.models.create_conversation_request import CreateConversationRequest as CreateConversationRequest from revengai.models.created import Created as Created from revengai.models.decompilation_comment_context import DecompilationCommentContext as DecompilationCommentContext from revengai.models.die_match import DieMatch as DieMatch -from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput as DynamicExecutionStatusInput +from revengai.models.dynamic_execution_status import DynamicExecutionStatus as DynamicExecutionStatus from revengai.models.elf_import_model import ELFImportModel as ELFImportModel from revengai.models.elf_model import ELFModel as ELFModel from revengai.models.elf_relocation import ELFRelocation as ELFRelocation @@ -565,7 +581,25 @@ from revengai.models.elf_dynamic_entry import ElfDynamicEntry as ElfDynamicEntry from revengai.models.entrypoint_model import EntrypointModel as EntrypointModel from revengai.models.enumeration import Enumeration as Enumeration +from revengai.models.error_body import ErrorBody as ErrorBody from revengai.models.error_model import ErrorModel as ErrorModel +from revengai.models.event import Event as Event +from revengai.models.event_contextcompacted import EventCONTEXTCOMPACTED as EventCONTEXTCOMPACTED +from revengai.models.event_runcancelled import EventRUNCANCELLED as EventRUNCANCELLED +from revengai.models.event_runerror import EventRUNERROR as EventRUNERROR +from revengai.models.event_runfinished import EventRUNFINISHED as EventRUNFINISHED +from revengai.models.event_runstarted import EventRUNSTARTED as EventRUNSTARTED +from revengai.models.event_stepfinished import EventSTEPFINISHED as EventSTEPFINISHED +from revengai.models.event_stepstarted import EventSTEPSTARTED as EventSTEPSTARTED +from revengai.models.event_textmessagecontent import EventTEXTMESSAGECONTENT as EventTEXTMESSAGECONTENT +from revengai.models.event_textmessageend import EventTEXTMESSAGEEND as EventTEXTMESSAGEEND +from revengai.models.event_textmessagestart import EventTEXTMESSAGESTART as EventTEXTMESSAGESTART +from revengai.models.event_titleupdated import EventTITLEUPDATED as EventTITLEUPDATED +from revengai.models.event_toolcallargsdelta import EventTOOLCALLARGSDELTA as EventTOOLCALLARGSDELTA +from revengai.models.event_toolcallend import EventTOOLCALLEND as EventTOOLCALLEND +from revengai.models.event_toolcallresult import EventTOOLCALLRESULT as EventTOOLCALLRESULT +from revengai.models.event_toolcallstart import EventTOOLCALLSTART as EventTOOLCALLSTART +from revengai.models.event_toolconfirmationrequired import EventTOOLCONFIRMATIONREQUIRED as EventTOOLCONFIRMATIONREQUIRED from revengai.models.export_model import ExportModel as ExportModel from revengai.models.external_response import ExternalResponse as ExternalResponse from revengai.models.file_format import FileFormat as FileFormat @@ -635,10 +669,6 @@ from revengai.models.models_response import ModelsResponse as ModelsResponse from revengai.models.name_confidence import NameConfidence as NameConfidence from revengai.models.name_source_type import NameSourceType as NameSourceType -from revengai.models.network_overview_dns import NetworkOverviewDns as NetworkOverviewDns -from revengai.models.network_overview_dns_answer import NetworkOverviewDnsAnswer as NetworkOverviewDnsAnswer -from revengai.models.network_overview_metadata import NetworkOverviewMetadata as NetworkOverviewMetadata -from revengai.models.network_overview_response import NetworkOverviewResponse as NetworkOverviewResponse from revengai.models.order import Order as Order from revengai.models.pdb_debug_model import PDBDebugModel as PDBDebugModel from revengai.models.pe_model import PEModel as PEModel @@ -647,19 +677,11 @@ from revengai.models.pipeline_stage_status import PipelineStageStatus as PipelineStageStatus from revengai.models.pipeline_status_response import PipelineStatusResponse as PipelineStatusResponse from revengai.models.platform import Platform as Platform -from revengai.models.process import Process as Process -from revengai.models.process_dump import ProcessDump as ProcessDump -from revengai.models.process_dump_metadata import ProcessDumpMetadata as ProcessDumpMetadata -from revengai.models.process_dumps import ProcessDumps as ProcessDumps -from revengai.models.process_dumps_data import ProcessDumpsData as ProcessDumpsData -from revengai.models.process_registry import ProcessRegistry as ProcessRegistry -from revengai.models.process_tree import ProcessTree as ProcessTree from revengai.models.put_analysis_strings_request import PutAnalysisStringsRequest as PutAnalysisStringsRequest from revengai.models.queued_workflow_task_response import QueuedWorkflowTaskResponse as QueuedWorkflowTaskResponse from revengai.models.re_analysis_form import ReAnalysisForm as ReAnalysisForm from revengai.models.recent import Recent as Recent from revengai.models.regenerate_target import RegenerateTarget as RegenerateTarget -from revengai.models.registry import Registry as Registry from revengai.models.relative_binary_response import RelativeBinaryResponse as RelativeBinaryResponse from revengai.models.report_analysis_response import ReportAnalysisResponse as ReportAnalysisResponse from revengai.models.sbom import SBOM as SBOM @@ -669,26 +691,40 @@ from revengai.models.section_model import SectionModel as SectionModel from revengai.models.security_model import SecurityModel as SecurityModel from revengai.models.segment_info import SegmentInfo as SegmentInfo +from revengai.models.send_message_request import SendMessageRequest as SendMessageRequest from revengai.models.single_code_certificate_model import SingleCodeCertificateModel as SingleCodeCertificateModel from revengai.models.single_code_signature_model import SingleCodeSignatureModel as SingleCodeSignatureModel from revengai.models.single_pdb_entry_model import SinglePDBEntryModel as SinglePDBEntryModel from revengai.models.single_section_model import SingleSectionModel as SingleSectionModel +from revengai.models.sse_event_context_compacted_data import SseEventContextCompactedData as SseEventContextCompactedData +from revengai.models.sse_event_run_cancelled_data import SseEventRunCancelledData as SseEventRunCancelledData +from revengai.models.sse_event_run_error_data import SseEventRunErrorData as SseEventRunErrorData +from revengai.models.sse_event_run_finished_data import SseEventRunFinishedData as SseEventRunFinishedData +from revengai.models.sse_event_run_started_data import SseEventRunStartedData as SseEventRunStartedData +from revengai.models.sse_event_step_finished_data import SseEventStepFinishedData as SseEventStepFinishedData +from revengai.models.sse_event_step_started_data import SseEventStepStartedData as SseEventStepStartedData +from revengai.models.sse_event_text_message_content_data import SseEventTextMessageContentData as SseEventTextMessageContentData +from revengai.models.sse_event_text_message_end_data import SseEventTextMessageEndData as SseEventTextMessageEndData +from revengai.models.sse_event_text_message_start_data import SseEventTextMessageStartData as SseEventTextMessageStartData +from revengai.models.sse_event_title_updated_data import SseEventTitleUpdatedData as SseEventTitleUpdatedData +from revengai.models.sse_event_tool_call_args_delta_data import SseEventToolCallArgsDeltaData as SseEventToolCallArgsDeltaData +from revengai.models.sse_event_tool_call_end_data import SseEventToolCallEndData as SseEventToolCallEndData +from revengai.models.sse_event_tool_call_result_data import SseEventToolCallResultData as SseEventToolCallResultData +from revengai.models.sse_event_tool_call_start_data import SseEventToolCallStartData as SseEventToolCallStartData +from revengai.models.sse_event_tool_confirmation_required_data import SseEventToolConfirmationRequiredData as SseEventToolConfirmationRequiredData from revengai.models.stack_variable import StackVariable as StackVariable from revengai.models.stage_event import StageEvent as StageEvent from revengai.models.stage_status import StageStatus as StageStatus from revengai.models.status_input import StatusInput as StatusInput from revengai.models.status_output import StatusOutput as StatusOutput +from revengai.models.status_response import StatusResponse as StatusResponse +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner as StreamEvents200ResponseInner from revengai.models.string_functions import StringFunctions as StringFunctions from revengai.models.string_source import StringSource as StringSource from revengai.models.structure import Structure as Structure from revengai.models.structure_member import StructureMember as StructureMember from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest as SubmitUserFeedbackRequest from revengai.models.symbols import Symbols as Symbols -from revengai.models.ttps import TTPS as TTPS -from revengai.models.ttps_attack import TTPSAttack as TTPSAttack -from revengai.models.ttps_data import TTPSData as TTPSData -from revengai.models.ttps_element import TTPSElement as TTPSElement -from revengai.models.ttps_occurance import TTPSOccurance as TTPSOccurance from revengai.models.tag import Tag as Tag from revengai.models.tag_item import TagItem as TagItem from revengai.models.tag_response import TagResponse as TagResponse diff --git a/revengai/api/__init__.py b/revengai/api/__init__.py index d7c8510..7856735 100644 --- a/revengai/api/__init__.py +++ b/revengai/api/__init__.py @@ -5,7 +5,6 @@ from revengai.api.analyses_bulk_actions_api import AnalysesBulkActionsApi from revengai.api.analyses_comments_api import AnalysesCommentsApi from revengai.api.analyses_core_api import AnalysesCoreApi -from revengai.api.analyses_dynamic_execution_api import AnalysesDynamicExecutionApi from revengai.api.analyses_results_metadata_api import AnalysesResultsMetadataApi from revengai.api.analyses_x_refs_api import AnalysesXRefsApi from revengai.api.analysis_stages_api import AnalysisStagesApi @@ -13,6 +12,7 @@ from revengai.api.binaries_api import BinariesApi from revengai.api.collections_api import CollectionsApi from revengai.api.config_api import ConfigApi +from revengai.api.conversations_api import ConversationsApi from revengai.api.external_sources_api import ExternalSourcesApi from revengai.api.firmware_api import FirmwareApi from revengai.api.functions_ai_decompilation_api import FunctionsAIDecompilationApi diff --git a/revengai/api/analyses_core_api.py b/revengai/api/analyses_core_api.py index 8295a33..4396944 100644 --- a/revengai/api/analyses_core_api.py +++ b/revengai/api/analyses_core_api.py @@ -35,7 +35,7 @@ from revengai.models.base_response_recent import BaseResponseRecent from revengai.models.base_response_status import BaseResponseStatus from revengai.models.base_response_upload_response import BaseResponseUploadResponse -from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput +from revengai.models.dynamic_execution_status import DynamicExecutionStatus from revengai.models.insert_analysis_log_request import InsertAnalysisLogRequest from revengai.models.model_name import ModelName from revengai.models.order import Order @@ -2862,7 +2862,7 @@ def list_analyses( workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None, status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None, model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None, - dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None, + dynamic_execution_status: Annotated[Optional[DynamicExecutionStatus], Field(description="Show analysis that have a dynamic execution with the given status")] = None, usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None, sha256_hash: Optional[StrictStr] = None, limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None, @@ -2895,7 +2895,7 @@ def list_analyses( :param model_name: Show analysis belonging to the model :type model_name: List[ModelName] :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status - :type dynamic_execution_status: DynamicExecutionStatusInput + :type dynamic_execution_status: DynamicExecutionStatus :param usernames: Show analysis belonging to the user :type usernames: List[Optional[str]] :param sha256_hash: @@ -2970,7 +2970,7 @@ def list_analyses_with_http_info( workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None, status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None, model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None, - dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None, + dynamic_execution_status: Annotated[Optional[DynamicExecutionStatus], Field(description="Show analysis that have a dynamic execution with the given status")] = None, usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None, sha256_hash: Optional[StrictStr] = None, limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None, @@ -3003,7 +3003,7 @@ def list_analyses_with_http_info( :param model_name: Show analysis belonging to the model :type model_name: List[ModelName] :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status - :type dynamic_execution_status: DynamicExecutionStatusInput + :type dynamic_execution_status: DynamicExecutionStatus :param usernames: Show analysis belonging to the user :type usernames: List[Optional[str]] :param sha256_hash: @@ -3078,7 +3078,7 @@ def list_analyses_without_preload_content( workspace: Annotated[Optional[List[Workspace]], Field(description="The workspace to be viewed")] = None, status: Annotated[Optional[List[StatusInput]], Field(description="The status of the analysis")] = None, model_name: Annotated[Optional[List[ModelName]], Field(description="Show analysis belonging to the model")] = None, - dynamic_execution_status: Annotated[Optional[DynamicExecutionStatusInput], Field(description="Show analysis that have a dynamic execution with the given status")] = None, + dynamic_execution_status: Annotated[Optional[DynamicExecutionStatus], Field(description="Show analysis that have a dynamic execution with the given status")] = None, usernames: Annotated[Optional[List[Optional[StrictStr]]], Field(description="Show analysis belonging to the user")] = None, sha256_hash: Optional[StrictStr] = None, limit: Optional[Annotated[int, Field(le=50, strict=True, ge=5)]] = None, @@ -3111,7 +3111,7 @@ def list_analyses_without_preload_content( :param model_name: Show analysis belonging to the model :type model_name: List[ModelName] :param dynamic_execution_status: Show analysis that have a dynamic execution with the given status - :type dynamic_execution_status: DynamicExecutionStatusInput + :type dynamic_execution_status: DynamicExecutionStatus :param usernames: Show analysis belonging to the user :type usernames: List[Optional[str]] :param sha256_hash: diff --git a/revengai/api/analyses_dynamic_execution_api.py b/revengai/api/conversations_api.py similarity index 72% rename from revengai/api/analyses_dynamic_execution_api.py rename to revengai/api/conversations_api.py index 7ce0e63..97a4374 100644 --- a/revengai/api/analyses_dynamic_execution_api.py +++ b/revengai/api/conversations_api.py @@ -15,21 +15,24 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictInt, StrictStr -from typing import Any -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry -from revengai.models.base_response_process_tree import BaseResponseProcessTree -from revengai.models.base_response_ttps import BaseResponseTTPS +from pydantic import Field, StrictInt +from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody +from revengai.models.conversation import Conversation +from revengai.models.conversation_with_events import ConversationWithEvents +from revengai.models.create_conversation_request import CreateConversationRequest +from revengai.models.send_message_request import SendMessageRequest +from revengai.models.status_response import StatusResponse +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner from revengai.api_client import ApiClient, RequestSerialized from revengai.api_response import ApiResponse from revengai.rest import RESTResponseType -class AnalysesDynamicExecutionApi: +class ConversationsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -43,9 +46,9 @@ def __init__(self, api_client=None) -> None: @validate_call - def get_dynamic_execution_status( + def cancel_run( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -58,12 +61,13 @@ def get_dynamic_execution_status( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseDynamicExecutionStatus: - """Get the status of a dynamic execution task + ) -> StatusResponse: + """Cancel an active run + Cancels the currently active agentic run for the given conversation. Returns 404 if no run is in progress. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_ACTIVE_RUN`](/errors/NO_ACTIVE_RUN) — No Active Run - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -86,8 +90,8 @@ def get_dynamic_execution_status( :return: Returns the result object. """ # noqa: E501 - _param = self._get_dynamic_execution_status_serialize( - analysis_id=analysis_id, + _param = self._cancel_run_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -95,8 +99,11 @@ def get_dynamic_execution_status( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseDynamicExecutionStatus", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -110,9 +117,9 @@ def get_dynamic_execution_status( @validate_call - def get_dynamic_execution_status_with_http_info( + def cancel_run_with_http_info( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -125,12 +132,13 @@ def get_dynamic_execution_status_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseDynamicExecutionStatus]: - """Get the status of a dynamic execution task + ) -> ApiResponse[StatusResponse]: + """Cancel an active run + Cancels the currently active agentic run for the given conversation. Returns 404 if no run is in progress. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_ACTIVE_RUN`](/errors/NO_ACTIVE_RUN) — No Active Run - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -153,8 +161,8 @@ def get_dynamic_execution_status_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_dynamic_execution_status_serialize( - analysis_id=analysis_id, + _param = self._cancel_run_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -162,8 +170,11 @@ def get_dynamic_execution_status_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseDynamicExecutionStatus", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -177,9 +188,9 @@ def get_dynamic_execution_status_with_http_info( @validate_call - def get_dynamic_execution_status_without_preload_content( + def cancel_run_without_preload_content( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -193,11 +204,12 @@ def get_dynamic_execution_status_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the status of a dynamic execution task + """Cancel an active run + Cancels the currently active agentic run for the given conversation. Returns 404 if no run is in progress. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_ACTIVE_RUN`](/errors/NO_ACTIVE_RUN) — No Active Run - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -220,8 +232,8 @@ def get_dynamic_execution_status_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_dynamic_execution_status_serialize( - analysis_id=analysis_id, + _param = self._cancel_run_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -229,8 +241,11 @@ def get_dynamic_execution_status_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseDynamicExecutionStatus", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -239,9 +254,9 @@ def get_dynamic_execution_status_without_preload_content( return response_data.response - def _get_dynamic_execution_status_serialize( + def _cancel_run_serialize( self, - analysis_id, + id, _request_auth, _content_type, _headers, @@ -263,8 +278,8 @@ def _get_dynamic_execution_status_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters @@ -286,8 +301,8 @@ def _get_dynamic_execution_status_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/status', + method='POST', + resource_path='/v2/conversations/{id}/cancel', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -304,9 +319,10 @@ def _get_dynamic_execution_status_serialize( @validate_call - def get_network_overview( + def confirm_tool( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + confirm_tool_input_body: ConfirmToolInputBody, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -319,12 +335,15 @@ def get_network_overview( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseNetworkOverviewResponse: - """Get the dynamic execution results for network overview + ) -> StatusResponse: + """Approve or reject a pending tool confirmation + Responds to a pending tool confirmation request. The agent pauses before executing certain tools and emits a `TOOL_CONFIRMATION_REQUIRED` event. Use this endpoint to approve or reject the tool call. Returns 404 if no confirmation is pending. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_PENDING_CONFIRMATION`](/errors/NO_PENDING_CONFIRMATION) — No Pending Confirmation - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param confirm_tool_input_body: (required) + :type confirm_tool_input_body: ConfirmToolInputBody :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -347,8 +366,9 @@ def get_network_overview( :return: Returns the result object. """ # noqa: E501 - _param = self._get_network_overview_serialize( - analysis_id=analysis_id, + _param = self._confirm_tool_serialize( + id=id, + confirm_tool_input_body=confirm_tool_input_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -356,8 +376,11 @@ def get_network_overview( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseNetworkOverviewResponse", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -371,9 +394,10 @@ def get_network_overview( @validate_call - def get_network_overview_with_http_info( + def confirm_tool_with_http_info( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + confirm_tool_input_body: ConfirmToolInputBody, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -386,12 +410,15 @@ def get_network_overview_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseNetworkOverviewResponse]: - """Get the dynamic execution results for network overview + ) -> ApiResponse[StatusResponse]: + """Approve or reject a pending tool confirmation + Responds to a pending tool confirmation request. The agent pauses before executing certain tools and emits a `TOOL_CONFIRMATION_REQUIRED` event. Use this endpoint to approve or reject the tool call. Returns 404 if no confirmation is pending. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_PENDING_CONFIRMATION`](/errors/NO_PENDING_CONFIRMATION) — No Pending Confirmation - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param confirm_tool_input_body: (required) + :type confirm_tool_input_body: ConfirmToolInputBody :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -414,8 +441,9 @@ def get_network_overview_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_network_overview_serialize( - analysis_id=analysis_id, + _param = self._confirm_tool_serialize( + id=id, + confirm_tool_input_body=confirm_tool_input_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -423,8 +451,11 @@ def get_network_overview_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseNetworkOverviewResponse", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -438,9 +469,10 @@ def get_network_overview_with_http_info( @validate_call - def get_network_overview_without_preload_content( + def confirm_tool_without_preload_content( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + confirm_tool_input_body: ConfirmToolInputBody, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -454,11 +486,14 @@ def get_network_overview_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for network overview + """Approve or reject a pending tool confirmation + Responds to a pending tool confirmation request. The agent pauses before executing certain tools and emits a `TOOL_CONFIRMATION_REQUIRED` event. Use this endpoint to approve or reject the tool call. Returns 404 if no confirmation is pending. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `404` [`NO_PENDING_CONFIRMATION`](/errors/NO_PENDING_CONFIRMATION) — No Pending Confirmation - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param confirm_tool_input_body: (required) + :type confirm_tool_input_body: ConfirmToolInputBody :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -481,8 +516,9 @@ def get_network_overview_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_network_overview_serialize( - analysis_id=analysis_id, + _param = self._confirm_tool_serialize( + id=id, + confirm_tool_input_body=confirm_tool_input_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -490,8 +526,11 @@ def get_network_overview_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseNetworkOverviewResponse", - '422': "BaseResponse", + '200': "StatusResponse", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -500,9 +539,10 @@ def get_network_overview_without_preload_content( return response_data.response - def _get_network_overview_serialize( + def _confirm_tool_serialize( self, - analysis_id, + id, + confirm_tool_input_body, _request_auth, _content_type, _headers, @@ -524,12 +564,14 @@ def _get_network_overview_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if confirm_tool_input_body is not None: + _body_params = confirm_tool_input_body # set the HTTP header `Accept` @@ -540,6 +582,19 @@ def _get_network_overview_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -547,8 +602,8 @@ def _get_network_overview_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/network-overview', + method='POST', + resource_path='/v2/conversations/{id}/confirm', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -565,10 +620,9 @@ def _get_network_overview_serialize( @validate_call - def get_process_dump( + def create_conversation( self, - analysis_id: StrictInt, - dump_name: StrictStr, + create_conversation_request: CreateConversationRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -581,14 +635,13 @@ def get_process_dump( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: - """Get the dynamic execution results for a specific process dump + ) -> Conversation: + """Create a new conversation + Creates a new conversation for the authenticated user. Optionally include a binary analysis context to scope the assistant to a specific analysis. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - :param analysis_id: (required) - :type analysis_id: int - :param dump_name: (required) - :type dump_name: str + :param create_conversation_request: (required) + :type create_conversation_request: CreateConversationRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -611,9 +664,8 @@ def get_process_dump( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dump_serialize( - analysis_id=analysis_id, - dump_name=dump_name, + _param = self._create_conversation_serialize( + create_conversation_request=create_conversation_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -621,8 +673,10 @@ def get_process_dump( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", - '422': "BaseResponse", + '201': "Conversation", + '400': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -636,10 +690,9 @@ def get_process_dump( @validate_call - def get_process_dump_with_http_info( + def create_conversation_with_http_info( self, - analysis_id: StrictInt, - dump_name: StrictStr, + create_conversation_request: CreateConversationRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -652,14 +705,13 @@ def get_process_dump_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: - """Get the dynamic execution results for a specific process dump + ) -> ApiResponse[Conversation]: + """Create a new conversation + Creates a new conversation for the authenticated user. Optionally include a binary analysis context to scope the assistant to a specific analysis. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - :param analysis_id: (required) - :type analysis_id: int - :param dump_name: (required) - :type dump_name: str + :param create_conversation_request: (required) + :type create_conversation_request: CreateConversationRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -682,9 +734,8 @@ def get_process_dump_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dump_serialize( - analysis_id=analysis_id, - dump_name=dump_name, + _param = self._create_conversation_serialize( + create_conversation_request=create_conversation_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -692,8 +743,10 @@ def get_process_dump_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", - '422': "BaseResponse", + '201': "Conversation", + '400': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -707,10 +760,9 @@ def get_process_dump_with_http_info( @validate_call - def get_process_dump_without_preload_content( + def create_conversation_without_preload_content( self, - analysis_id: StrictInt, - dump_name: StrictStr, + create_conversation_request: CreateConversationRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -724,13 +776,12 @@ def get_process_dump_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for a specific process dump + """Create a new conversation + Creates a new conversation for the authenticated user. Optionally include a binary analysis context to scope the assistant to a specific analysis. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - :param analysis_id: (required) - :type analysis_id: int - :param dump_name: (required) - :type dump_name: str + :param create_conversation_request: (required) + :type create_conversation_request: CreateConversationRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -753,9 +804,8 @@ def get_process_dump_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dump_serialize( - analysis_id=analysis_id, - dump_name=dump_name, + _param = self._create_conversation_serialize( + create_conversation_request=create_conversation_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -763,8 +813,10 @@ def get_process_dump_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", - '422': "BaseResponse", + '201': "Conversation", + '400': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -773,10 +825,9 @@ def get_process_dump_without_preload_content( return response_data.response - def _get_process_dump_serialize( + def _create_conversation_serialize( self, - analysis_id, - dump_name, + create_conversation_request, _request_auth, _content_type, _headers, @@ -798,14 +849,12 @@ def _get_process_dump_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id - if dump_name is not None: - _path_params['dump_name'] = dump_name # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if create_conversation_request is not None: + _body_params = create_conversation_request # set the HTTP header `Accept` @@ -816,6 +865,19 @@ def _get_process_dump_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -823,8 +885,8 @@ def _get_process_dump_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/process-dumps/{dump_name}', + method='POST', + resource_path='/v2/conversations', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -841,9 +903,9 @@ def _get_process_dump_serialize( @validate_call - def get_process_dumps( + def get_conversation( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -856,12 +918,13 @@ def get_process_dumps( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseProcessDumps: - """Get the dynamic execution results for process dumps + ) -> ConversationWithEvents: + """Get a conversation with its events + Returns the conversation metadata along with all persisted events. Useful for reconstructing the full conversation history on page load. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -884,8 +947,8 @@ def get_process_dumps( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dumps_serialize( - analysis_id=analysis_id, + _param = self._get_conversation_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -893,8 +956,11 @@ def get_process_dumps( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessDumps", - '422': "BaseResponse", + '200': "ConversationWithEvents", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -908,9 +974,9 @@ def get_process_dumps( @validate_call - def get_process_dumps_with_http_info( + def get_conversation_with_http_info( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -923,12 +989,13 @@ def get_process_dumps_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseProcessDumps]: - """Get the dynamic execution results for process dumps + ) -> ApiResponse[ConversationWithEvents]: + """Get a conversation with its events + Returns the conversation metadata along with all persisted events. Useful for reconstructing the full conversation history on page load. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -951,8 +1018,8 @@ def get_process_dumps_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dumps_serialize( - analysis_id=analysis_id, + _param = self._get_conversation_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -960,8 +1027,11 @@ def get_process_dumps_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessDumps", - '422': "BaseResponse", + '200': "ConversationWithEvents", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -975,9 +1045,9 @@ def get_process_dumps_with_http_info( @validate_call - def get_process_dumps_without_preload_content( + def get_conversation_without_preload_content( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -991,11 +1061,12 @@ def get_process_dumps_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for process dumps + """Get a conversation with its events + Returns the conversation metadata along with all persisted events. Useful for reconstructing the full conversation history on page load. **Error codes:** - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1018,8 +1089,8 @@ def get_process_dumps_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_dumps_serialize( - analysis_id=analysis_id, + _param = self._get_conversation_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1027,8 +1098,11 @@ def get_process_dumps_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessDumps", - '422': "BaseResponse", + '200': "ConversationWithEvents", + '400': "APIError", + '404': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -1037,9 +1111,9 @@ def get_process_dumps_without_preload_content( return response_data.response - def _get_process_dumps_serialize( + def _get_conversation_serialize( self, - analysis_id, + id, _request_auth, _content_type, _headers, @@ -1061,8 +1135,8 @@ def _get_process_dumps_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters @@ -1085,7 +1159,7 @@ def _get_process_dumps_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/process-dumps', + resource_path='/v2/conversations/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1102,9 +1176,8 @@ def _get_process_dumps_serialize( @validate_call - def get_process_registry( + def list_conversations( self, - analysis_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1117,12 +1190,11 @@ def get_process_registry( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseProcessRegistry: - """Get the dynamic execution results for process registry + ) -> List[Conversation]: + """List conversations for the authenticated user + Returns all conversations owned by the authenticated user, ordered by most recently updated. - :param analysis_id: (required) - :type analysis_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1145,8 +1217,7 @@ def get_process_registry( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_registry_serialize( - analysis_id=analysis_id, + _param = self._list_conversations_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1154,8 +1225,7 @@ def get_process_registry( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessRegistry", - '422': "BaseResponse", + '200': "List[Conversation]", } response_data = self.api_client.call_api( *_param, @@ -1169,9 +1239,8 @@ def get_process_registry( @validate_call - def get_process_registry_with_http_info( + def list_conversations_with_http_info( self, - analysis_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1184,12 +1253,11 @@ def get_process_registry_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseProcessRegistry]: - """Get the dynamic execution results for process registry + ) -> ApiResponse[List[Conversation]]: + """List conversations for the authenticated user + Returns all conversations owned by the authenticated user, ordered by most recently updated. - :param analysis_id: (required) - :type analysis_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1212,8 +1280,7 @@ def get_process_registry_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_registry_serialize( - analysis_id=analysis_id, + _param = self._list_conversations_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1221,8 +1288,7 @@ def get_process_registry_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessRegistry", - '422': "BaseResponse", + '200': "List[Conversation]", } response_data = self.api_client.call_api( *_param, @@ -1236,9 +1302,8 @@ def get_process_registry_with_http_info( @validate_call - def get_process_registry_without_preload_content( + def list_conversations_without_preload_content( self, - analysis_id: StrictInt, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1252,11 +1317,10 @@ def get_process_registry_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for process registry + """List conversations for the authenticated user + Returns all conversations owned by the authenticated user, ordered by most recently updated. - :param analysis_id: (required) - :type analysis_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1279,8 +1343,7 @@ def get_process_registry_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_registry_serialize( - analysis_id=analysis_id, + _param = self._list_conversations_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1288,8 +1351,7 @@ def get_process_registry_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessRegistry", - '422': "BaseResponse", + '200': "List[Conversation]", } response_data = self.api_client.call_api( *_param, @@ -1298,9 +1360,8 @@ def get_process_registry_without_preload_content( return response_data.response - def _get_process_registry_serialize( + def _list_conversations_serialize( self, - analysis_id, _request_auth, _content_type, _headers, @@ -1322,8 +1383,6 @@ def _get_process_registry_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id # process the query parameters # process the header parameters # process the form parameters @@ -1346,7 +1405,7 @@ def _get_process_registry_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/process-registry', + resource_path='/v2/conversations', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1363,9 +1422,10 @@ def _get_process_registry_serialize( @validate_call - def get_process_tree( + def send_message( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + send_message_request: SendMessageRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1378,12 +1438,15 @@ def get_process_tree( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseProcessTree: - """Get the dynamic execution results for process tree + ) -> StatusResponse: + """Send a message and start an agentic run + Sends a user message to the conversation and kicks off an agentic processing loop in the background. Returns immediately with 202 Accepted. Subscribe to `/v2/conversations/{id}/events` via SSE to receive real-time updates including text deltas, tool calls, and run lifecycle events. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`RUN_ALREADY_ACTIVE`](/errors/RUN_ALREADY_ACTIVE) — Run Already Active - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param send_message_request: (required) + :type send_message_request: SendMessageRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1406,8 +1469,9 @@ def get_process_tree( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_tree_serialize( - analysis_id=analysis_id, + _param = self._send_message_serialize( + id=id, + send_message_request=send_message_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1415,8 +1479,14 @@ def get_process_tree( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessTree", - '422': "BaseResponse", + '202': "StatusResponse", + '400': "APIError", + '402': "APIError", + '403': "APIError", + '404': "APIError", + '409': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -1430,9 +1500,10 @@ def get_process_tree( @validate_call - def get_process_tree_with_http_info( + def send_message_with_http_info( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + send_message_request: SendMessageRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1445,12 +1516,15 @@ def get_process_tree_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseProcessTree]: - """Get the dynamic execution results for process tree + ) -> ApiResponse[StatusResponse]: + """Send a message and start an agentic run + Sends a user message to the conversation and kicks off an agentic processing loop in the background. Returns immediately with 202 Accepted. Subscribe to `/v2/conversations/{id}/events` via SSE to receive real-time updates including text deltas, tool calls, and run lifecycle events. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`RUN_ALREADY_ACTIVE`](/errors/RUN_ALREADY_ACTIVE) — Run Already Active - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param send_message_request: (required) + :type send_message_request: SendMessageRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1473,8 +1547,9 @@ def get_process_tree_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_tree_serialize( - analysis_id=analysis_id, + _param = self._send_message_serialize( + id=id, + send_message_request=send_message_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1482,8 +1557,14 @@ def get_process_tree_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessTree", - '422': "BaseResponse", + '202': "StatusResponse", + '400': "APIError", + '402': "APIError", + '403': "APIError", + '404': "APIError", + '409': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -1497,9 +1578,10 @@ def get_process_tree_with_http_info( @validate_call - def get_process_tree_without_preload_content( + def send_message_without_preload_content( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + send_message_request: SendMessageRequest, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1513,11 +1595,14 @@ def get_process_tree_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for process tree + """Send a message and start an agentic run + Sends a user message to the conversation and kicks off an agentic processing loop in the background. Returns immediately with 202 Accepted. Subscribe to `/v2/conversations/{id}/events` via SSE to receive real-time updates including text deltas, tool calls, and run lifecycle events. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `400` [`INVALID_CONVERSATION_ID`](/errors/INVALID_CONVERSATION_ID) — Invalid Conversation ID - `404` [`CONVERSATION_NOT_FOUND`](/errors/CONVERSATION_NOT_FOUND) — Conversation Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`RUN_ALREADY_ACTIVE`](/errors/RUN_ALREADY_ACTIVE) — Run Already Active - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param send_message_request: (required) + :type send_message_request: SendMessageRequest :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1540,8 +1625,9 @@ def get_process_tree_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_process_tree_serialize( - analysis_id=analysis_id, + _param = self._send_message_serialize( + id=id, + send_message_request=send_message_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1549,8 +1635,14 @@ def get_process_tree_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseProcessTree", - '422': "BaseResponse", + '202': "StatusResponse", + '400': "APIError", + '402': "APIError", + '403': "APIError", + '404': "APIError", + '409': "APIError", + '422': "APIError", + '500': "APIError", } response_data = self.api_client.call_api( *_param, @@ -1559,9 +1651,10 @@ def get_process_tree_without_preload_content( return response_data.response - def _get_process_tree_serialize( + def _send_message_serialize( self, - analysis_id, + id, + send_message_request, _request_auth, _content_type, _headers, @@ -1583,12 +1676,14 @@ def _get_process_tree_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters # process the body parameter + if send_message_request is not None: + _body_params = send_message_request # set the HTTP header `Accept` @@ -1599,6 +1694,19 @@ def _get_process_tree_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -1606,8 +1714,8 @@ def _get_process_tree_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/process-tree', + method='POST', + resource_path='/v2/conversations/{id}/messages', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1624,9 +1732,10 @@ def _get_process_tree_serialize( @validate_call - def get_ttps( + def stream_events( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + last_event_id: Annotated[Optional[StrictInt], Field(description="Replay events after this ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1639,12 +1748,15 @@ def get_ttps( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BaseResponseTTPS: - """Get the dynamic execution results for ttps + ) -> List[StreamEvents200ResponseInner]: + """Stream conversation events (SSE) + Opens a Server-Sent Events stream for the given conversation. Events include run lifecycle updates, streaming text deltas, tool call progress, and more. Use the `last_event_id` query parameter to replay missed events after a reconnection. - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param last_event_id: Replay events after this ID + :type last_event_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1667,8 +1779,9 @@ def get_ttps( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ttps_serialize( - analysis_id=analysis_id, + _param = self._stream_events_serialize( + id=id, + last_event_id=last_event_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1676,8 +1789,7 @@ def get_ttps( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseTTPS", - '422': "BaseResponse", + '200': "List[StreamEvents200ResponseInner]", } response_data = self.api_client.call_api( *_param, @@ -1691,9 +1803,10 @@ def get_ttps( @validate_call - def get_ttps_with_http_info( + def stream_events_with_http_info( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + last_event_id: Annotated[Optional[StrictInt], Field(description="Replay events after this ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1706,12 +1819,15 @@ def get_ttps_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BaseResponseTTPS]: - """Get the dynamic execution results for ttps + ) -> ApiResponse[List[StreamEvents200ResponseInner]]: + """Stream conversation events (SSE) + Opens a Server-Sent Events stream for the given conversation. Events include run lifecycle updates, streaming text deltas, tool call progress, and more. Use the `last_event_id` query parameter to replay missed events after a reconnection. - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param last_event_id: Replay events after this ID + :type last_event_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1734,8 +1850,9 @@ def get_ttps_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ttps_serialize( - analysis_id=analysis_id, + _param = self._stream_events_serialize( + id=id, + last_event_id=last_event_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1743,8 +1860,7 @@ def get_ttps_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseTTPS", - '422': "BaseResponse", + '200': "List[StreamEvents200ResponseInner]", } response_data = self.api_client.call_api( *_param, @@ -1758,9 +1874,10 @@ def get_ttps_with_http_info( @validate_call - def get_ttps_without_preload_content( + def stream_events_without_preload_content( self, - analysis_id: StrictInt, + id: Annotated[UUID, Field(description="Conversation UUID")], + last_event_id: Annotated[Optional[StrictInt], Field(description="Replay events after this ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1774,11 +1891,14 @@ def get_ttps_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the dynamic execution results for ttps + """Stream conversation events (SSE) + Opens a Server-Sent Events stream for the given conversation. Events include run lifecycle updates, streaming text deltas, tool call progress, and more. Use the `last_event_id` query parameter to replay missed events after a reconnection. - :param analysis_id: (required) - :type analysis_id: int + :param id: Conversation UUID (required) + :type id: str + :param last_event_id: Replay events after this ID + :type last_event_id: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1801,8 +1921,9 @@ def get_ttps_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ttps_serialize( - analysis_id=analysis_id, + _param = self._stream_events_serialize( + id=id, + last_event_id=last_event_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1810,8 +1931,7 @@ def get_ttps_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BaseResponseTTPS", - '422': "BaseResponse", + '200': "List[StreamEvents200ResponseInner]", } response_data = self.api_client.call_api( *_param, @@ -1820,9 +1940,10 @@ def get_ttps_without_preload_content( return response_data.response - def _get_ttps_serialize( + def _stream_events_serialize( self, - analysis_id, + id, + last_event_id, _request_auth, _content_type, _headers, @@ -1844,9 +1965,13 @@ def _get_ttps_serialize( _body_params: Optional[bytes] = None # process the path parameters - if analysis_id is not None: - _path_params['analysis_id'] = analysis_id + if id is not None: + _path_params['id'] = id # process the query parameters + if last_event_id is not None: + + _query_params.append(('last_event_id', last_event_id)) + # process the header parameters # process the form parameters # process the body parameter @@ -1856,6 +1981,7 @@ def _get_ttps_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'text/event-stream', 'application/json' ] ) @@ -1868,7 +1994,7 @@ def _get_ttps_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/v2/analyses/{analysis_id}/dynamic-execution/ttps', + resource_path='/v2/conversations/{id}/events', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/revengai/api_client.py b/revengai/api_client.py index d96b2a4..1c53171 100644 --- a/revengai/api_client.py +++ b/revengai/api_client.py @@ -90,7 +90,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/v3.74.4/python' + self.user_agent = 'OpenAPI-Generator/v3.78.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/revengai/configuration.py b/revengai/configuration.py index 2f9b906..4142a1e 100644 --- a/revengai/configuration.py +++ b/revengai/configuration.py @@ -533,8 +533,8 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: v3.74.4\n"\ - "SDK Package Version: v3.74.4".\ + "Version of the API: v3.78.1\n"\ + "SDK Package Version: v3.78.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/revengai/models/__init__.py b/revengai/models/__init__.py index 4047de7..8856fcc 100644 --- a/revengai/models/__init__.py +++ b/revengai/models/__init__.py @@ -12,6 +12,7 @@ """ # noqa: E501 # import models into model package +from revengai.models.api_error import APIError from revengai.models.additional_details_status_response import AdditionalDetailsStatusResponse from revengai.models.addr import Addr from revengai.models.ai_decompilation_rating import AiDecompilationRating @@ -42,13 +43,11 @@ from revengai.models.analysis_update_tags_request import AnalysisUpdateTagsRequest from revengai.models.analysis_update_tags_response import AnalysisUpdateTagsResponse from revengai.models.app_api_rest_v2_agent_schema_capability import AppApiRestV2AgentSchemaCapability -from revengai.models.app_api_rest_v2_analyses_enums_dynamic_execution_status import AppApiRestV2AnalysesEnumsDynamicExecutionStatus from revengai.models.app_api_rest_v2_analyses_enums_order_by import AppApiRestV2AnalysesEnumsOrderBy from revengai.models.app_api_rest_v2_collections_enums_order_by import AppApiRestV2CollectionsEnumsOrderBy from revengai.models.app_api_rest_v2_functions_responses_function import AppApiRestV2FunctionsResponsesFunction from revengai.models.app_api_rest_v2_functions_types_function import AppApiRestV2FunctionsTypesFunction from revengai.models.app_api_rest_v2_info_types_capability import AppApiRestV2InfoTypesCapability -from revengai.models.app_services_dynamic_execution_schemas_dynamic_execution_status import AppServicesDynamicExecutionSchemasDynamicExecutionStatus from revengai.models.argument import Argument from revengai.models.auto_run_agents import AutoRunAgents from revengai.models.auto_unstrip_request import AutoUnstripRequest @@ -85,7 +84,6 @@ from revengai.models.base_response_config_response import BaseResponseConfigResponse from revengai.models.base_response_created import BaseResponseCreated from revengai.models.base_response_dict import BaseResponseDict -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus from revengai.models.base_response_external_response import BaseResponseExternalResponse from revengai.models.base_response_function_blocks_response import BaseResponseFunctionBlocksResponse from revengai.models.base_response_function_capability_response import BaseResponseFunctionCapabilityResponse @@ -109,18 +107,13 @@ from revengai.models.base_response_list_user_activity_response import BaseResponseListUserActivityResponse from revengai.models.base_response_logs import BaseResponseLogs from revengai.models.base_response_models_response import BaseResponseModelsResponse -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse from revengai.models.base_response_params import BaseResponseParams from revengai.models.base_response_pipeline_status_response import BaseResponsePipelineStatusResponse -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry -from revengai.models.base_response_process_tree import BaseResponseProcessTree from revengai.models.base_response_queued_workflow_task_response import BaseResponseQueuedWorkflowTaskResponse from revengai.models.base_response_recent import BaseResponseRecent from revengai.models.base_response_report_analysis_response import BaseResponseReportAnalysisResponse from revengai.models.base_response_status import BaseResponseStatus from revengai.models.base_response_str import BaseResponseStr -from revengai.models.base_response_ttps import BaseResponseTTPS from revengai.models.base_response_tag_search_response import BaseResponseTagSearchResponse from revengai.models.base_response_task_response import BaseResponseTaskResponse from revengai.models.base_response_task_status_response import BaseResponseTaskStatusResponse @@ -165,11 +158,16 @@ from revengai.models.comment_response import CommentResponse from revengai.models.comment_update_request import CommentUpdateRequest from revengai.models.config_response import ConfigResponse +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody from revengai.models.context import Context +from revengai.models.conversation import Conversation +from revengai.models.conversation_context import ConversationContext +from revengai.models.conversation_with_events import ConversationWithEvents +from revengai.models.create_conversation_request import CreateConversationRequest from revengai.models.created import Created from revengai.models.decompilation_comment_context import DecompilationCommentContext from revengai.models.die_match import DieMatch -from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput +from revengai.models.dynamic_execution_status import DynamicExecutionStatus from revengai.models.elf_import_model import ELFImportModel from revengai.models.elf_model import ELFModel from revengai.models.elf_relocation import ELFRelocation @@ -180,7 +178,25 @@ from revengai.models.elf_dynamic_entry import ElfDynamicEntry from revengai.models.entrypoint_model import EntrypointModel from revengai.models.enumeration import Enumeration +from revengai.models.error_body import ErrorBody from revengai.models.error_model import ErrorModel +from revengai.models.event import Event +from revengai.models.event_contextcompacted import EventCONTEXTCOMPACTED +from revengai.models.event_runcancelled import EventRUNCANCELLED +from revengai.models.event_runerror import EventRUNERROR +from revengai.models.event_runfinished import EventRUNFINISHED +from revengai.models.event_runstarted import EventRUNSTARTED +from revengai.models.event_stepfinished import EventSTEPFINISHED +from revengai.models.event_stepstarted import EventSTEPSTARTED +from revengai.models.event_textmessagecontent import EventTEXTMESSAGECONTENT +from revengai.models.event_textmessageend import EventTEXTMESSAGEEND +from revengai.models.event_textmessagestart import EventTEXTMESSAGESTART +from revengai.models.event_titleupdated import EventTITLEUPDATED +from revengai.models.event_toolcallargsdelta import EventTOOLCALLARGSDELTA +from revengai.models.event_toolcallend import EventTOOLCALLEND +from revengai.models.event_toolcallresult import EventTOOLCALLRESULT +from revengai.models.event_toolcallstart import EventTOOLCALLSTART +from revengai.models.event_toolconfirmationrequired import EventTOOLCONFIRMATIONREQUIRED from revengai.models.export_model import ExportModel from revengai.models.external_response import ExternalResponse from revengai.models.file_format import FileFormat @@ -250,10 +266,6 @@ from revengai.models.models_response import ModelsResponse from revengai.models.name_confidence import NameConfidence from revengai.models.name_source_type import NameSourceType -from revengai.models.network_overview_dns import NetworkOverviewDns -from revengai.models.network_overview_dns_answer import NetworkOverviewDnsAnswer -from revengai.models.network_overview_metadata import NetworkOverviewMetadata -from revengai.models.network_overview_response import NetworkOverviewResponse from revengai.models.order import Order from revengai.models.pdb_debug_model import PDBDebugModel from revengai.models.pe_model import PEModel @@ -262,19 +274,11 @@ from revengai.models.pipeline_stage_status import PipelineStageStatus from revengai.models.pipeline_status_response import PipelineStatusResponse from revengai.models.platform import Platform -from revengai.models.process import Process -from revengai.models.process_dump import ProcessDump -from revengai.models.process_dump_metadata import ProcessDumpMetadata -from revengai.models.process_dumps import ProcessDumps -from revengai.models.process_dumps_data import ProcessDumpsData -from revengai.models.process_registry import ProcessRegistry -from revengai.models.process_tree import ProcessTree from revengai.models.put_analysis_strings_request import PutAnalysisStringsRequest from revengai.models.queued_workflow_task_response import QueuedWorkflowTaskResponse from revengai.models.re_analysis_form import ReAnalysisForm from revengai.models.recent import Recent from revengai.models.regenerate_target import RegenerateTarget -from revengai.models.registry import Registry from revengai.models.relative_binary_response import RelativeBinaryResponse from revengai.models.report_analysis_response import ReportAnalysisResponse from revengai.models.sbom import SBOM @@ -284,26 +288,40 @@ from revengai.models.section_model import SectionModel from revengai.models.security_model import SecurityModel from revengai.models.segment_info import SegmentInfo +from revengai.models.send_message_request import SendMessageRequest from revengai.models.single_code_certificate_model import SingleCodeCertificateModel from revengai.models.single_code_signature_model import SingleCodeSignatureModel from revengai.models.single_pdb_entry_model import SinglePDBEntryModel from revengai.models.single_section_model import SingleSectionModel +from revengai.models.sse_event_context_compacted_data import SseEventContextCompactedData +from revengai.models.sse_event_run_cancelled_data import SseEventRunCancelledData +from revengai.models.sse_event_run_error_data import SseEventRunErrorData +from revengai.models.sse_event_run_finished_data import SseEventRunFinishedData +from revengai.models.sse_event_run_started_data import SseEventRunStartedData +from revengai.models.sse_event_step_finished_data import SseEventStepFinishedData +from revengai.models.sse_event_step_started_data import SseEventStepStartedData +from revengai.models.sse_event_text_message_content_data import SseEventTextMessageContentData +from revengai.models.sse_event_text_message_end_data import SseEventTextMessageEndData +from revengai.models.sse_event_text_message_start_data import SseEventTextMessageStartData +from revengai.models.sse_event_title_updated_data import SseEventTitleUpdatedData +from revengai.models.sse_event_tool_call_args_delta_data import SseEventToolCallArgsDeltaData +from revengai.models.sse_event_tool_call_end_data import SseEventToolCallEndData +from revengai.models.sse_event_tool_call_result_data import SseEventToolCallResultData +from revengai.models.sse_event_tool_call_start_data import SseEventToolCallStartData +from revengai.models.sse_event_tool_confirmation_required_data import SseEventToolConfirmationRequiredData from revengai.models.stack_variable import StackVariable from revengai.models.stage_event import StageEvent from revengai.models.stage_status import StageStatus from revengai.models.status_input import StatusInput from revengai.models.status_output import StatusOutput +from revengai.models.status_response import StatusResponse +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner from revengai.models.string_functions import StringFunctions from revengai.models.string_source import StringSource from revengai.models.structure import Structure from revengai.models.structure_member import StructureMember from revengai.models.submit_user_feedback_request import SubmitUserFeedbackRequest from revengai.models.symbols import Symbols -from revengai.models.ttps import TTPS -from revengai.models.ttps_attack import TTPSAttack -from revengai.models.ttps_data import TTPSData -from revengai.models.ttps_element import TTPSElement -from revengai.models.ttps_occurance import TTPSOccurance from revengai.models.tag import Tag from revengai.models.tag_item import TagItem from revengai.models.tag_response import TagResponse diff --git a/revengai/models/analysis_record.py b/revengai/models/analysis_record.py index f957108..85cd20a 100644 --- a/revengai/models/analysis_record.py +++ b/revengai/models/analysis_record.py @@ -19,7 +19,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.app_api_rest_v2_analyses_enums_dynamic_execution_status import AppApiRestV2AnalysesEnumsDynamicExecutionStatus +from revengai.models.dynamic_execution_status import DynamicExecutionStatus from revengai.models.tag_item import TagItem from typing import Optional, Set from typing_extensions import Self @@ -41,7 +41,7 @@ class AnalysisRecord(BaseModel): function_boundaries_hash: StrictStr = Field(description="The hash of the function boundaries") binary_size: StrictInt = Field(description="The size of the binary") username: StrictStr = Field(description="The username of the analysis owner") - dynamic_execution_status: Optional[AppApiRestV2AnalysesEnumsDynamicExecutionStatus] = None + dynamic_execution_status: Optional[DynamicExecutionStatus] = None dynamic_execution_task_id: Optional[StrictInt] = None base_address: StrictInt = Field(description="The base address of the binary") tags: Optional[List[TagItem]] = Field(default=None, description="List of tags associated with the analysis") diff --git a/revengai/models/process_dumps_data.py b/revengai/models/api_error.py similarity index 61% rename from revengai/models/process_dumps_data.py rename to revengai/models/api_error.py index 55d71c1..2c878e9 100644 --- a/revengai/models/process_dumps_data.py +++ b/revengai/models/api_error.py @@ -16,19 +16,20 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictInt -from typing import Any, ClassVar, Dict, List -from revengai.models.process_dump import ProcessDump +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.error_body import ErrorBody from typing import Optional, Set from typing_extensions import Self -class ProcessDumpsData(BaseModel): +class APIError(BaseModel): """ - ProcessDumpsData + APIError """ # noqa: E501 - count: StrictInt - dumps: List[ProcessDump] - __properties: ClassVar[List[str]] = ["count", "dumps"] + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + error: ErrorBody + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "error"] model_config = ConfigDict( populate_by_name=True, @@ -48,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessDumpsData from a JSON string""" + """Create an instance of APIError from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -60,8 +61,12 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", ]) _dict = self.model_dump( @@ -69,18 +74,19 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in dumps (list) - _items = [] - if self.dumps: - for _item_dumps in self.dumps: - if _item_dumps: - _items.append(_item_dumps.to_dict()) - _dict['dumps'] = _items + # override the default output from pydantic by calling `to_dict()` of error + if self.error: + _dict['error'] = self.error.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessDumpsData from a dict""" + """Create an instance of APIError from a dict""" if obj is None: return None @@ -88,9 +94,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "count": obj.get("count"), - "dumps": [ProcessDump.from_dict(_item) for _item in obj["dumps"]] if obj.get("dumps") is not None else None + "$schema": obj.get("$schema"), + "error": ErrorBody.from_dict(obj["error"]) if obj.get("error") is not None else None }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py b/revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py deleted file mode 100644 index a1bf8bb..0000000 --- a/revengai/models/app_api_rest_v2_analyses_enums_dynamic_execution_status.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class AppApiRestV2AnalysesEnumsDynamicExecutionStatus(str, Enum): - """ - Custom enum for the dynamic execution status - """ - - """ - allowed enum values - """ - PENDING = 'PENDING' - ERROR = 'ERROR' - SUCCESS = 'SUCCESS' - ALL = 'ALL' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AppApiRestV2AnalysesEnumsDynamicExecutionStatus from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/revengai/models/base_response_dynamic_execution_status.py b/revengai/models/base_response_dynamic_execution_status.py deleted file mode 100644 index f43bad1..0000000 --- a/revengai/models/base_response_dynamic_execution_status.py +++ /dev/null @@ -1,125 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.app_services_dynamic_execution_schemas_dynamic_execution_status import AppServicesDynamicExecutionSchemasDynamicExecutionStatus -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from typing import Optional, Set -from typing_extensions import Self - -class BaseResponseDynamicExecutionStatus(BaseModel): - """ - BaseResponseDynamicExecutionStatus - """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[AppServicesDynamicExecutionSchemasDynamicExecutionStatus] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseDynamicExecutionStatus from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) - _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None - # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseDynamicExecutionStatus from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": AppServicesDynamicExecutionSchemasDynamicExecutionStatus.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None - }) - return _obj - - diff --git a/revengai/models/base_response_network_overview_response.py b/revengai/models/base_response_network_overview_response.py deleted file mode 100644 index a8fbaf8..0000000 --- a/revengai/models/base_response_network_overview_response.py +++ /dev/null @@ -1,125 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from revengai.models.network_overview_response import NetworkOverviewResponse -from typing import Optional, Set -from typing_extensions import Self - -class BaseResponseNetworkOverviewResponse(BaseModel): - """ - BaseResponseNetworkOverviewResponse - """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[NetworkOverviewResponse] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseNetworkOverviewResponse from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) - _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None - # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseNetworkOverviewResponse from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": NetworkOverviewResponse.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None - }) - return _obj - - diff --git a/revengai/models/base_response_process_dumps.py b/revengai/models/base_response_process_dumps.py deleted file mode 100644 index 33fea7d..0000000 --- a/revengai/models/base_response_process_dumps.py +++ /dev/null @@ -1,125 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from revengai.models.process_dumps import ProcessDumps -from typing import Optional, Set -from typing_extensions import Self - -class BaseResponseProcessDumps(BaseModel): - """ - BaseResponseProcessDumps - """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[ProcessDumps] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseProcessDumps from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) - _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None - # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseProcessDumps from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": ProcessDumps.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None - }) - return _obj - - diff --git a/revengai/models/base_response_process_registry.py b/revengai/models/base_response_process_registry.py deleted file mode 100644 index 1c52f8b..0000000 --- a/revengai/models/base_response_process_registry.py +++ /dev/null @@ -1,125 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from revengai.models.process_registry import ProcessRegistry -from typing import Optional, Set -from typing_extensions import Self - -class BaseResponseProcessRegistry(BaseModel): - """ - BaseResponseProcessRegistry - """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[ProcessRegistry] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseProcessRegistry from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) - _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None - # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseProcessRegistry from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": ProcessRegistry.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None - }) - return _obj - - diff --git a/revengai/models/base_response_process_tree.py b/revengai/models/base_response_process_tree.py deleted file mode 100644 index 269a5e0..0000000 --- a/revengai/models/base_response_process_tree.py +++ /dev/null @@ -1,125 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from revengai.models.process_tree import ProcessTree -from typing import Optional, Set -from typing_extensions import Self - -class BaseResponseProcessTree(BaseModel): - """ - BaseResponseProcessTree - """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[ProcessTree] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseProcessTree from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) - _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None - # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseProcessTree from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": ProcessTree.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None - }) - return _obj - - diff --git a/revengai/models/confirm_tool_input_body.py b/revengai/models/confirm_tool_input_body.py new file mode 100644 index 0000000..0293d6b --- /dev/null +++ b/revengai/models/confirm_tool_input_body.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ConfirmToolInputBody(BaseModel): + """ + ConfirmToolInputBody + """ # noqa: E501 + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + approved: StrictBool = Field(description="Whether the user approves the pending tool call.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "approved"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConfirmToolInputBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConfirmToolInputBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "$schema": obj.get("$schema"), + "approved": obj.get("approved") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/process.py b/revengai/models/conversation.py similarity index 54% rename from revengai/models/process.py rename to revengai/models/conversation.py index f8c4d8a..be65bf4 100644 --- a/revengai/models/process.py +++ b/revengai/models/conversation.py @@ -16,23 +16,25 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional, Union +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Process(BaseModel): +class Conversation(BaseModel): """ - Process + Conversation """ # noqa: E501 - pid: StrictInt - procname: StrictStr - executable_name: StrictStr - args: List[StrictStr] - ts_from: Union[StrictFloat, StrictInt] - ts_to: Optional[Union[StrictFloat, StrictInt]] - children: List[Any] - __properties: ClassVar[List[str]] = ["pid", "procname", "executable_name", "args", "ts_from", "ts_to", "children"] + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + context: Optional[Any] = None + conversation_uuid: StrictStr + created_at: datetime + title: StrictStr + updated_at: datetime + user_id: StrictInt + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "context", "conversation_uuid", "created_at", "title", "updated_at", "user_id"] model_config = ConfigDict( populate_by_name=True, @@ -52,7 +54,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Process from a JSON string""" + """Create an instance of Conversation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -64,8 +66,12 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", ]) _dict = self.model_dump( @@ -73,16 +79,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if ts_to (nullable) is None + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if context (nullable) is None # and model_fields_set contains the field - if self.ts_to is None and "ts_to" in self.model_fields_set: - _dict['ts_to'] = None + if self.context is None and "context" in self.model_fields_set: + _dict['context'] = None return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Process from a dict""" + """Create an instance of Conversation from a dict""" if obj is None: return None @@ -90,14 +101,19 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "pid": obj.get("pid"), - "procname": obj.get("procname"), - "executable_name": obj.get("executable_name"), - "args": obj.get("args"), - "ts_from": obj.get("ts_from"), - "ts_to": obj.get("ts_to"), - "children": obj.get("children") + "$schema": obj.get("$schema"), + "context": obj.get("context"), + "conversation_uuid": obj.get("conversation_uuid"), + "created_at": obj.get("created_at"), + "title": obj.get("title"), + "updated_at": obj.get("updated_at"), + "user_id": obj.get("user_id") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/registry.py b/revengai/models/conversation_context.py similarity index 67% rename from revengai/models/registry.py rename to revengai/models/conversation_context.py index ad4bf00..87ba770 100644 --- a/revengai/models/registry.py +++ b/revengai/models/conversation_context.py @@ -16,20 +16,19 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic import BaseModel, ConfigDict, StrictInt from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Registry(BaseModel): +class ConversationContext(BaseModel): """ - Registry + ConversationContext """ # noqa: E501 - method: StrictStr - key: StrictStr - value_name: Optional[StrictStr] - value: Optional[StrictStr] - __properties: ClassVar[List[str]] = ["method", "key", "value_name", "value"] + analysis_id: Optional[StrictInt] = None + function_id: Optional[StrictInt] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["analysis_id", "function_id"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +48,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Registry from a JSON string""" + """Create an instance of ConversationContext from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -61,8 +60,10 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "additional_properties", ]) _dict = self.model_dump( @@ -70,21 +71,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if value_name (nullable) is None - # and model_fields_set contains the field - if self.value_name is None and "value_name" in self.model_fields_set: - _dict['value_name'] = None - - # set to None if value (nullable) is None - # and model_fields_set contains the field - if self.value is None and "value" in self.model_fields_set: - _dict['value'] = None + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Registry from a dict""" + """Create an instance of ConversationContext from a dict""" if obj is None: return None @@ -92,11 +88,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "method": obj.get("method"), - "key": obj.get("key"), - "value_name": obj.get("value_name"), - "value": obj.get("value") + "analysis_id": obj.get("analysis_id"), + "function_id": obj.get("function_id") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/base_response_ttps.py b/revengai/models/conversation_with_events.py similarity index 50% rename from revengai/models/base_response_ttps.py rename to revengai/models/conversation_with_events.py index 989ab85..f9df4d1 100644 --- a/revengai/models/base_response_ttps.py +++ b/revengai/models/conversation_with_events.py @@ -16,24 +16,27 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from revengai.models.error_model import ErrorModel -from revengai.models.meta_model import MetaModel -from revengai.models.ttps import TTPS +from revengai.models.event import Event from typing import Optional, Set from typing_extensions import Self -class BaseResponseTTPS(BaseModel): +class ConversationWithEvents(BaseModel): """ - BaseResponseTTPS + ConversationWithEvents """ # noqa: E501 - status: Optional[StrictBool] = Field(default=True, description="Response status on whether the request succeeded") - data: Optional[TTPS] = None - message: Optional[StrictStr] = None - errors: Optional[List[ErrorModel]] = None - meta: Optional[MetaModel] = Field(default=None, description="Metadata") - __properties: ClassVar[List[str]] = ["status", "data", "message", "errors", "meta"] + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + context: Optional[Any] = None + conversation_uuid: StrictStr + created_at: datetime + events: Optional[List[Event]] + title: StrictStr + updated_at: datetime + user_id: StrictInt + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "context", "conversation_uuid", "created_at", "events", "title", "updated_at", "user_id"] model_config = ConfigDict( populate_by_name=True, @@ -53,7 +56,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseResponseTTPS from a JSON string""" + """Create an instance of ConversationWithEvents from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -65,8 +68,12 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", ]) _dict = self.model_dump( @@ -74,39 +81,33 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of data - if self.data: - _dict['data'] = self.data.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in errors (list) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) _items = [] - if self.errors: - for _item_errors in self.errors: - if _item_errors: - _items.append(_item_errors.to_dict()) - _dict['errors'] = _items - # override the default output from pydantic by calling `to_dict()` of meta - if self.meta: - _dict['meta'] = self.meta.to_dict() - # set to None if data (nullable) is None + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if context (nullable) is None # and model_fields_set contains the field - if self.data is None and "data" in self.model_fields_set: - _dict['data'] = None + if self.context is None and "context" in self.model_fields_set: + _dict['context'] = None - # set to None if message (nullable) is None + # set to None if events (nullable) is None # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if errors (nullable) is None - # and model_fields_set contains the field - if self.errors is None and "errors" in self.model_fields_set: - _dict['errors'] = None + if self.events is None and "events" in self.model_fields_set: + _dict['events'] = None return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseResponseTTPS from a dict""" + """Create an instance of ConversationWithEvents from a dict""" if obj is None: return None @@ -114,12 +115,20 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "status": obj.get("status") if obj.get("status") is not None else True, - "data": TTPS.from_dict(obj["data"]) if obj.get("data") is not None else None, - "message": obj.get("message"), - "errors": [ErrorModel.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, - "meta": MetaModel.from_dict(obj["meta"]) if obj.get("meta") is not None else None + "$schema": obj.get("$schema"), + "context": obj.get("context"), + "conversation_uuid": obj.get("conversation_uuid"), + "created_at": obj.get("created_at"), + "events": [Event.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "title": obj.get("title"), + "updated_at": obj.get("updated_at"), + "user_id": obj.get("user_id") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/create_conversation_request.py b/revengai/models/create_conversation_request.py new file mode 100644 index 0000000..a08ab5c --- /dev/null +++ b/revengai/models/create_conversation_request.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.conversation_context import ConversationContext +from typing import Optional, Set +from typing_extensions import Self + +class CreateConversationRequest(BaseModel): + """ + CreateConversationRequest + """ # noqa: E501 + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + context: Optional[ConversationContext] = None + title: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "context", "title"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateConversationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of context + if self.context: + _dict['context'] = self.context.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateConversationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "$schema": obj.get("$schema"), + "context": ConversationContext.from_dict(obj["context"]) if obj.get("context") is not None else None, + "title": obj.get("title") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/dynamic_execution_status_input.py b/revengai/models/dynamic_execution_status.py similarity index 87% rename from revengai/models/dynamic_execution_status_input.py rename to revengai/models/dynamic_execution_status.py index 67d13b9..26c75f2 100644 --- a/revengai/models/dynamic_execution_status_input.py +++ b/revengai/models/dynamic_execution_status.py @@ -17,7 +17,7 @@ from typing_extensions import Self -class DynamicExecutionStatusInput(str, Enum): +class DynamicExecutionStatus(str, Enum): """ Custom enum for the dynamic execution status """ @@ -32,7 +32,7 @@ class DynamicExecutionStatusInput(str, Enum): @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of DynamicExecutionStatusInput from a JSON string""" + """Create an instance of DynamicExecutionStatus from a JSON string""" return cls(json.loads(json_str)) diff --git a/revengai/models/error_body.py b/revengai/models/error_body.py new file mode 100644 index 0000000..37acd46 --- /dev/null +++ b/revengai/models/error_body.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ErrorBody(BaseModel): + """ + ErrorBody + """ # noqa: E501 + code: StrictStr = Field(description="Stable, machine-readable error code. Versioned and documented.") + detail: Optional[StrictStr] = Field(default=None, description="Additional context where helpful (quota numbers, validation specifics, etc.).") + doc_url: Optional[StrictStr] = Field(default=None, description="Link to documentation explaining this error and resolution steps.") + message: StrictStr = Field(description="Human-readable summary. Never contains internals. Suitable for direct display.") + trace_id: StrictStr = Field(description="Correlation ID from the request. Quote this in support requests.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["code", "detail", "doc_url", "message", "trace_id"] + + @field_validator('code') + def code_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ACCESS_DENIED', 'ALREADY_EXISTS', 'ANALYSIS_NOT_READY', 'BAD_REQUEST', 'CONFLICT', 'CONVERSATION_NOT_FOUND', 'DOMAIN_ALREADY_CLAIMED', 'DOMAIN_VERIFICATION_PENDING', 'EMAIL_NOT_VERIFIED', 'EXTERNAL_USER', 'FORBIDDEN', 'GATEWAY_TIMEOUT', 'INSUFFICIENT_CREDITS', 'INTERNAL_ERROR', 'INTERNAL_ISSUER', 'INVALID_CONVERSATION_ID', 'INVALID_CREDENTIALS', 'INVALID_RESET_CODE', 'LAST_ORG_OWNER', 'LINKED_TO_ORG', 'METHOD_NOT_ALLOWED', 'NOT_ACCEPTABLE', 'NOT_FOUND', 'NO_ACTIVE_RUN', 'NO_PENDING_CONFIRMATION', 'OIDC_DISCOVERY_FAILED', 'PASSWORD_RESET_REQUIRED', 'PAYMENT_REQUIRED', 'REQUEST_ENTITY_TOO_LARGE', 'RUN_ALREADY_ACTIVE', 'SELF_DELETION_NOT_ALLOWED', 'SERVICE_UNAVAILABLE', 'TOKEN_EXPIRED', 'TOKEN_REUSED', 'TOO_MANY_REQUESTS', 'UNAUTHORIZED', 'UNSUPPORTED_MEDIA_TYPE', 'VALIDATION_FAILED', 'VERIFICATION_EXPIRED', 'VERIFICATION_NOT_FOUND']): + raise ValueError("must be one of enum values ('ACCESS_DENIED', 'ALREADY_EXISTS', 'ANALYSIS_NOT_READY', 'BAD_REQUEST', 'CONFLICT', 'CONVERSATION_NOT_FOUND', 'DOMAIN_ALREADY_CLAIMED', 'DOMAIN_VERIFICATION_PENDING', 'EMAIL_NOT_VERIFIED', 'EXTERNAL_USER', 'FORBIDDEN', 'GATEWAY_TIMEOUT', 'INSUFFICIENT_CREDITS', 'INTERNAL_ERROR', 'INTERNAL_ISSUER', 'INVALID_CONVERSATION_ID', 'INVALID_CREDENTIALS', 'INVALID_RESET_CODE', 'LAST_ORG_OWNER', 'LINKED_TO_ORG', 'METHOD_NOT_ALLOWED', 'NOT_ACCEPTABLE', 'NOT_FOUND', 'NO_ACTIVE_RUN', 'NO_PENDING_CONFIRMATION', 'OIDC_DISCOVERY_FAILED', 'PASSWORD_RESET_REQUIRED', 'PAYMENT_REQUIRED', 'REQUEST_ENTITY_TOO_LARGE', 'RUN_ALREADY_ACTIVE', 'SELF_DELETION_NOT_ALLOWED', 'SERVICE_UNAVAILABLE', 'TOKEN_EXPIRED', 'TOKEN_REUSED', 'TOO_MANY_REQUESTS', 'UNAUTHORIZED', 'UNSUPPORTED_MEDIA_TYPE', 'VALIDATION_FAILED', 'VERIFICATION_EXPIRED', 'VERIFICATION_NOT_FOUND')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ErrorBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code"), + "detail": obj.get("detail"), + "doc_url": obj.get("doc_url"), + "message": obj.get("message"), + "trace_id": obj.get("trace_id") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/ttps_element.py b/revengai/models/event.py similarity index 58% rename from revengai/models/ttps_element.py rename to revengai/models/event.py index 3963da7..af990fe 100644 --- a/revengai/models/ttps_element.py +++ b/revengai/models/event.py @@ -16,22 +16,25 @@ import re # noqa: F401 import json +from datetime import datetime from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List -from revengai.models.ttps_attack import TTPSAttack -from revengai.models.ttps_occurance import TTPSOccurance +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class TTPSElement(BaseModel): +class Event(BaseModel): """ - TTPSElement + Event """ # noqa: E501 - name: StrictStr - attack: List[TTPSAttack] - occurrences: List[TTPSOccurance] - score: StrictInt - __properties: ClassVar[List[str]] = ["name", "attack", "occurrences", "score"] + conversation_uuid: StrictStr + created_at: datetime + data: Optional[Any] + event_id: StrictInt + role: StrictInt + tokens_used: StrictInt + type: StrictInt + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["conversation_uuid", "created_at", "data", "event_id", "role", "tokens_used", "type"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +54,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TTPSElement from a JSON string""" + """Create an instance of Event from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -63,8 +66,10 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "additional_properties", ]) _dict = self.model_dump( @@ -72,25 +77,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in attack (list) - _items = [] - if self.attack: - for _item_attack in self.attack: - if _item_attack: - _items.append(_item_attack.to_dict()) - _dict['attack'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in occurrences (list) - _items = [] - if self.occurrences: - for _item_occurrences in self.occurrences: - if _item_occurrences: - _items.append(_item_occurrences.to_dict()) - _dict['occurrences'] = _items + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TTPSElement from a dict""" + """Create an instance of Event from a dict""" if obj is None: return None @@ -98,11 +99,19 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "name": obj.get("name"), - "attack": [TTPSAttack.from_dict(_item) for _item in obj["attack"]] if obj.get("attack") is not None else None, - "occurrences": [TTPSOccurance.from_dict(_item) for _item in obj["occurrences"]] if obj.get("occurrences") is not None else None, - "score": obj.get("score") + "conversation_uuid": obj.get("conversation_uuid"), + "created_at": obj.get("created_at"), + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "role": obj.get("role"), + "tokens_used": obj.get("tokens_used"), + "type": obj.get("type") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/event_contextcompacted.py b/revengai/models/event_contextcompacted.py new file mode 100644 index 0000000..c9eb0ba --- /dev/null +++ b/revengai/models/event_contextcompacted.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_context_compacted_data import SseEventContextCompactedData +from typing import Optional, Set +from typing_extensions import Self + +class EventCONTEXTCOMPACTED(BaseModel): + """ + EventCONTEXTCOMPACTED + """ # noqa: E501 + data: SseEventContextCompactedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['CONTEXT_COMPACTED']): + raise ValueError("must be one of enum values ('CONTEXT_COMPACTED')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventCONTEXTCOMPACTED from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventCONTEXTCOMPACTED from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventContextCompactedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_runcancelled.py b/revengai/models/event_runcancelled.py new file mode 100644 index 0000000..796621b --- /dev/null +++ b/revengai/models/event_runcancelled.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_run_cancelled_data import SseEventRunCancelledData +from typing import Optional, Set +from typing_extensions import Self + +class EventRUNCANCELLED(BaseModel): + """ + EventRUNCANCELLED + """ # noqa: E501 + data: SseEventRunCancelledData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RUN_CANCELLED']): + raise ValueError("must be one of enum values ('RUN_CANCELLED')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventRUNCANCELLED from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventRUNCANCELLED from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventRunCancelledData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/process_dumps.py b/revengai/models/event_runerror.py similarity index 66% rename from revengai/models/process_dumps.py rename to revengai/models/event_runerror.py index 151dd80..7dd4658 100644 --- a/revengai/models/process_dumps.py +++ b/revengai/models/event_runerror.py @@ -16,19 +16,28 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictBool -from typing import Any, ClassVar, Dict, List -from revengai.models.process_dumps_data import ProcessDumpsData +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_run_error_data import SseEventRunErrorData from typing import Optional, Set from typing_extensions import Self -class ProcessDumps(BaseModel): +class EventRUNERROR(BaseModel): """ - ProcessDumps + EventRUNERROR """ # noqa: E501 - success: StrictBool - data: ProcessDumpsData - __properties: ClassVar[List[str]] = ["success", "data"] + data: SseEventRunErrorData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RUN_ERROR']): + raise ValueError("must be one of enum values ('RUN_ERROR')") + return value model_config = ConfigDict( populate_by_name=True, @@ -48,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessDumps from a JSON string""" + """Create an instance of EventRUNERROR from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +85,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessDumps from a dict""" + """Create an instance of EventRUNERROR from a dict""" if obj is None: return None @@ -84,8 +93,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "success": obj.get("success"), - "data": ProcessDumpsData.from_dict(obj["data"]) if obj.get("data") is not None else None + "data": SseEventRunErrorData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") }) return _obj diff --git a/revengai/models/process_tree.py b/revengai/models/event_runfinished.py similarity index 64% rename from revengai/models/process_tree.py rename to revengai/models/event_runfinished.py index b4b7692..8306477 100644 --- a/revengai/models/process_tree.py +++ b/revengai/models/event_runfinished.py @@ -16,19 +16,28 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictBool -from typing import Any, ClassVar, Dict, List -from revengai.models.process import Process +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_run_finished_data import SseEventRunFinishedData from typing import Optional, Set from typing_extensions import Self -class ProcessTree(BaseModel): +class EventRUNFINISHED(BaseModel): """ - ProcessTree + EventRUNFINISHED """ # noqa: E501 - success: StrictBool - data: List[Process] - __properties: ClassVar[List[str]] = ["success", "data"] + data: SseEventRunFinishedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RUN_FINISHED']): + raise ValueError("must be one of enum values ('RUN_FINISHED')") + return value model_config = ConfigDict( populate_by_name=True, @@ -48,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessTree from a JSON string""" + """Create an instance of EventRUNFINISHED from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -69,18 +78,14 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] + # override the default output from pydantic by calling `to_dict()` of data if self.data: - for _item_data in self.data: - if _item_data: - _items.append(_item_data.to_dict()) - _dict['data'] = _items + _dict['data'] = self.data.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessTree from a dict""" + """Create an instance of EventRUNFINISHED from a dict""" if obj is None: return None @@ -88,8 +93,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "success": obj.get("success"), - "data": [Process.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + "data": SseEventRunFinishedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") }) return _obj diff --git a/revengai/models/ttps.py b/revengai/models/event_runstarted.py similarity index 66% rename from revengai/models/ttps.py rename to revengai/models/event_runstarted.py index 376fd58..1596b55 100644 --- a/revengai/models/ttps.py +++ b/revengai/models/event_runstarted.py @@ -16,19 +16,28 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictBool -from typing import Any, ClassVar, Dict, List -from revengai.models.ttps_data import TTPSData +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_run_started_data import SseEventRunStartedData from typing import Optional, Set from typing_extensions import Self -class TTPS(BaseModel): +class EventRUNSTARTED(BaseModel): """ - TTPS + EventRUNSTARTED """ # noqa: E501 - success: StrictBool - data: TTPSData - __properties: ClassVar[List[str]] = ["success", "data"] + data: SseEventRunStartedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['RUN_STARTED']): + raise ValueError("must be one of enum values ('RUN_STARTED')") + return value model_config = ConfigDict( populate_by_name=True, @@ -48,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TTPS from a JSON string""" + """Create an instance of EventRUNSTARTED from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +85,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TTPS from a dict""" + """Create an instance of EventRUNSTARTED from a dict""" if obj is None: return None @@ -84,8 +93,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "success": obj.get("success"), - "data": TTPSData.from_dict(obj["data"]) if obj.get("data") is not None else None + "data": SseEventRunStartedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") }) return _obj diff --git a/revengai/models/event_stepfinished.py b/revengai/models/event_stepfinished.py new file mode 100644 index 0000000..3c8aa8a --- /dev/null +++ b/revengai/models/event_stepfinished.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_step_finished_data import SseEventStepFinishedData +from typing import Optional, Set +from typing_extensions import Self + +class EventSTEPFINISHED(BaseModel): + """ + EventSTEPFINISHED + """ # noqa: E501 + data: SseEventStepFinishedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['STEP_FINISHED']): + raise ValueError("must be one of enum values ('STEP_FINISHED')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventSTEPFINISHED from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventSTEPFINISHED from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventStepFinishedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/process_registry.py b/revengai/models/event_stepstarted.py similarity index 64% rename from revengai/models/process_registry.py rename to revengai/models/event_stepstarted.py index f51e589..c5d3bcc 100644 --- a/revengai/models/process_registry.py +++ b/revengai/models/event_stepstarted.py @@ -16,19 +16,28 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictBool -from typing import Any, ClassVar, Dict, List -from revengai.models.registry import Registry +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_step_started_data import SseEventStepStartedData from typing import Optional, Set from typing_extensions import Self -class ProcessRegistry(BaseModel): +class EventSTEPSTARTED(BaseModel): """ - ProcessRegistry + EventSTEPSTARTED """ # noqa: E501 - success: StrictBool - data: Dict[str, List[Registry]] - __properties: ClassVar[List[str]] = ["success", "data"] + data: SseEventStepStartedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['STEP_STARTED']): + raise ValueError("must be one of enum values ('STEP_STARTED')") + return value model_config = ConfigDict( populate_by_name=True, @@ -48,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessRegistry from a JSON string""" + """Create an instance of EventSTEPSTARTED from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -69,20 +78,14 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each value in data (dict of array) - _field_dict_of_array = {} + # override the default output from pydantic by calling `to_dict()` of data if self.data: - for _key_data in self.data: - if self.data[_key_data] is not None: - _field_dict_of_array[_key_data] = [ - _item.to_dict() for _item in self.data[_key_data] - ] - _dict['data'] = _field_dict_of_array + _dict['data'] = self.data.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessRegistry from a dict""" + """Create an instance of EventSTEPSTARTED from a dict""" if obj is None: return None @@ -90,15 +93,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "success": obj.get("success"), - "data": dict( - (_k, - [Registry.from_dict(_item) for _item in _v] - if _v is not None - else None - ) - for _k, _v in obj.get("data", {}).items() - ) + "data": SseEventStepStartedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") }) return _obj diff --git a/revengai/models/event_textmessagecontent.py b/revengai/models/event_textmessagecontent.py new file mode 100644 index 0000000..79ae13d --- /dev/null +++ b/revengai/models/event_textmessagecontent.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_text_message_content_data import SseEventTextMessageContentData +from typing import Optional, Set +from typing_extensions import Self + +class EventTEXTMESSAGECONTENT(BaseModel): + """ + EventTEXTMESSAGECONTENT + """ # noqa: E501 + data: SseEventTextMessageContentData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TEXT_MESSAGE_CONTENT']): + raise ValueError("must be one of enum values ('TEXT_MESSAGE_CONTENT')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGECONTENT from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGECONTENT from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventTextMessageContentData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_textmessageend.py b/revengai/models/event_textmessageend.py new file mode 100644 index 0000000..9a70ca8 --- /dev/null +++ b/revengai/models/event_textmessageend.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_text_message_end_data import SseEventTextMessageEndData +from typing import Optional, Set +from typing_extensions import Self + +class EventTEXTMESSAGEEND(BaseModel): + """ + EventTEXTMESSAGEEND + """ # noqa: E501 + data: SseEventTextMessageEndData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TEXT_MESSAGE_END']): + raise ValueError("must be one of enum values ('TEXT_MESSAGE_END')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGEEND from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGEEND from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventTextMessageEndData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_textmessagestart.py b/revengai/models/event_textmessagestart.py new file mode 100644 index 0000000..a54e5b3 --- /dev/null +++ b/revengai/models/event_textmessagestart.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_text_message_start_data import SseEventTextMessageStartData +from typing import Optional, Set +from typing_extensions import Self + +class EventTEXTMESSAGESTART(BaseModel): + """ + EventTEXTMESSAGESTART + """ # noqa: E501 + data: SseEventTextMessageStartData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TEXT_MESSAGE_START']): + raise ValueError("must be one of enum values ('TEXT_MESSAGE_START')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGESTART from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTEXTMESSAGESTART from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventTextMessageStartData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_titleupdated.py b/revengai/models/event_titleupdated.py new file mode 100644 index 0000000..aa2e740 --- /dev/null +++ b/revengai/models/event_titleupdated.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_title_updated_data import SseEventTitleUpdatedData +from typing import Optional, Set +from typing_extensions import Self + +class EventTITLEUPDATED(BaseModel): + """ + EventTITLEUPDATED + """ # noqa: E501 + data: SseEventTitleUpdatedData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TITLE_UPDATED']): + raise ValueError("must be one of enum values ('TITLE_UPDATED')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTITLEUPDATED from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTITLEUPDATED from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventTitleUpdatedData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_toolcallargsdelta.py b/revengai/models/event_toolcallargsdelta.py new file mode 100644 index 0000000..a865762 --- /dev/null +++ b/revengai/models/event_toolcallargsdelta.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_tool_call_args_delta_data import SseEventToolCallArgsDeltaData +from typing import Optional, Set +from typing_extensions import Self + +class EventTOOLCALLARGSDELTA(BaseModel): + """ + EventTOOLCALLARGSDELTA + """ # noqa: E501 + data: SseEventToolCallArgsDeltaData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TOOL_CALL_ARGS_DELTA']): + raise ValueError("must be one of enum values ('TOOL_CALL_ARGS_DELTA')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTOOLCALLARGSDELTA from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTOOLCALLARGSDELTA from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventToolCallArgsDeltaData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_toolcallend.py b/revengai/models/event_toolcallend.py new file mode 100644 index 0000000..bcdb9ed --- /dev/null +++ b/revengai/models/event_toolcallend.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_tool_call_end_data import SseEventToolCallEndData +from typing import Optional, Set +from typing_extensions import Self + +class EventTOOLCALLEND(BaseModel): + """ + EventTOOLCALLEND + """ # noqa: E501 + data: SseEventToolCallEndData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TOOL_CALL_END']): + raise ValueError("must be one of enum values ('TOOL_CALL_END')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTOOLCALLEND from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTOOLCALLEND from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventToolCallEndData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_toolcallresult.py b/revengai/models/event_toolcallresult.py new file mode 100644 index 0000000..6b7ffe7 --- /dev/null +++ b/revengai/models/event_toolcallresult.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_tool_call_result_data import SseEventToolCallResultData +from typing import Optional, Set +from typing_extensions import Self + +class EventTOOLCALLRESULT(BaseModel): + """ + EventTOOLCALLRESULT + """ # noqa: E501 + data: SseEventToolCallResultData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TOOL_CALL_RESULT']): + raise ValueError("must be one of enum values ('TOOL_CALL_RESULT')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTOOLCALLRESULT from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTOOLCALLRESULT from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventToolCallResultData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_toolcallstart.py b/revengai/models/event_toolcallstart.py new file mode 100644 index 0000000..9b64c18 --- /dev/null +++ b/revengai/models/event_toolcallstart.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_tool_call_start_data import SseEventToolCallStartData +from typing import Optional, Set +from typing_extensions import Self + +class EventTOOLCALLSTART(BaseModel): + """ + EventTOOLCALLSTART + """ # noqa: E501 + data: SseEventToolCallStartData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TOOL_CALL_START']): + raise ValueError("must be one of enum values ('TOOL_CALL_START')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTOOLCALLSTART from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTOOLCALLSTART from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventToolCallStartData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/event_toolconfirmationrequired.py b/revengai/models/event_toolconfirmationrequired.py new file mode 100644 index 0000000..568bea7 --- /dev/null +++ b/revengai/models/event_toolconfirmationrequired.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.sse_event_tool_confirmation_required_data import SseEventToolConfirmationRequiredData +from typing import Optional, Set +from typing_extensions import Self + +class EventTOOLCONFIRMATIONREQUIRED(BaseModel): + """ + EventTOOLCONFIRMATIONREQUIRED + """ # noqa: E501 + data: SseEventToolConfirmationRequiredData + event: StrictStr = Field(description="The event name.") + id: Optional[StrictInt] = Field(default=None, description="The event ID.") + retry: Optional[StrictInt] = Field(default=None, description="The retry time in milliseconds.") + __properties: ClassVar[List[str]] = ["data", "event", "id", "retry"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['TOOL_CONFIRMATION_REQUIRED']): + raise ValueError("must be one of enum values ('TOOL_CONFIRMATION_REQUIRED')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventTOOLCONFIRMATIONREQUIRED from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTOOLCONFIRMATIONREQUIRED from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": SseEventToolConfirmationRequiredData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "event": obj.get("event"), + "id": obj.get("id"), + "retry": obj.get("retry") + }) + return _obj + + diff --git a/revengai/models/network_overview_dns_answer.py b/revengai/models/network_overview_dns_answer.py deleted file mode 100644 index dcebfde..0000000 --- a/revengai/models/network_overview_dns_answer.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, StrictStr -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class NetworkOverviewDnsAnswer(BaseModel): - """ - NetworkOverviewDnsAnswer - """ # noqa: E501 - type: StrictStr - data: StrictStr - __properties: ClassVar[List[str]] = ["type", "data"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkOverviewDnsAnswer from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkOverviewDnsAnswer from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "type": obj.get("type"), - "data": obj.get("data") - }) - return _obj - - diff --git a/revengai/models/network_overview_response.py b/revengai/models/network_overview_response.py deleted file mode 100644 index 1f93476..0000000 --- a/revengai/models/network_overview_response.py +++ /dev/null @@ -1,104 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List -from revengai.models.network_overview_dns import NetworkOverviewDns -from revengai.models.network_overview_metadata import NetworkOverviewMetadata -from typing import Optional, Set -from typing_extensions import Self - -class NetworkOverviewResponse(BaseModel): - """ - NetworkOverviewResponse - """ # noqa: E501 - dns: List[NetworkOverviewDns] - metadata: List[NetworkOverviewMetadata] - __properties: ClassVar[List[str]] = ["dns", "metadata"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkOverviewResponse from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in dns (list) - _items = [] - if self.dns: - for _item_dns in self.dns: - if _item_dns: - _items.append(_item_dns.to_dict()) - _dict['dns'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in metadata (list) - _items = [] - if self.metadata: - for _item_metadata in self.metadata: - if _item_metadata: - _items.append(_item_metadata.to_dict()) - _dict['metadata'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkOverviewResponse from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "dns": [NetworkOverviewDns.from_dict(_item) for _item in obj["dns"]] if obj.get("dns") is not None else None, - "metadata": [NetworkOverviewMetadata.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None - }) - return _obj - - diff --git a/revengai/models/network_overview_dns.py b/revengai/models/send_message_request.py similarity index 58% rename from revengai/models/network_overview_dns.py rename to revengai/models/send_message_request.py index 9e67ae4..c135e89 100644 --- a/revengai/models/network_overview_dns.py +++ b/revengai/models/send_message_request.py @@ -16,20 +16,21 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr -from typing import Any, ClassVar, Dict, List -from revengai.models.network_overview_dns_answer import NetworkOverviewDnsAnswer +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from revengai.models.conversation_context import ConversationContext from typing import Optional, Set from typing_extensions import Self -class NetworkOverviewDns(BaseModel): +class SendMessageRequest(BaseModel): """ - NetworkOverviewDns + SendMessageRequest """ # noqa: E501 - host: StrictStr - type: StrictStr - answers: List[NetworkOverviewDnsAnswer] - __properties: ClassVar[List[str]] = ["host", "type", "answers"] + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + content: StrictStr + context: Optional[ConversationContext] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "content", "context"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +50,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkOverviewDns from a JSON string""" + """Create an instance of SendMessageRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -61,8 +62,12 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", ]) _dict = self.model_dump( @@ -70,18 +75,19 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in answers (list) - _items = [] - if self.answers: - for _item_answers in self.answers: - if _item_answers: - _items.append(_item_answers.to_dict()) - _dict['answers'] = _items + # override the default output from pydantic by calling `to_dict()` of context + if self.context: + _dict['context'] = self.context.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkOverviewDns from a dict""" + """Create an instance of SendMessageRequest from a dict""" if obj is None: return None @@ -89,10 +95,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "host": obj.get("host"), - "type": obj.get("type"), - "answers": [NetworkOverviewDnsAnswer.from_dict(_item) for _item in obj["answers"]] if obj.get("answers") is not None else None + "$schema": obj.get("$schema"), + "content": obj.get("content"), + "context": ConversationContext.from_dict(obj["context"]) if obj.get("context") is not None else None }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/sse_event_context_compacted_data.py b/revengai/models/sse_event_context_compacted_data.py new file mode 100644 index 0000000..27a29f3 --- /dev/null +++ b/revengai/models/sse_event_context_compacted_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventContextCompactedData(BaseModel): + """ + SseEventContextCompactedData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventContextCompactedData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventContextCompactedData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_run_cancelled_data.py b/revengai/models/sse_event_run_cancelled_data.py new file mode 100644 index 0000000..b3763ed --- /dev/null +++ b/revengai/models/sse_event_run_cancelled_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventRunCancelledData(BaseModel): + """ + SseEventRunCancelledData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventRunCancelledData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventRunCancelledData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/process_dump_metadata.py b/revengai/models/sse_event_run_error_data.py similarity index 64% rename from revengai/models/process_dump_metadata.py rename to revengai/models/sse_event_run_error_data.py index c30a5de..f6345ed 100644 --- a/revengai/models/process_dump_metadata.py +++ b/revengai/models/sse_event_run_error_data.py @@ -17,18 +17,19 @@ import json from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class ProcessDumpMetadata(BaseModel): +class SseEventRunErrorData(BaseModel): """ - ProcessDumpMetadata + SseEventRunErrorData """ # noqa: E501 - sha256: StrictStr + data: Optional[Any] + event_id: StrictInt type: StrictStr - size: StrictInt - __properties: ClassVar[List[str]] = ["sha256", "type", "size"] + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] model_config = ConfigDict( populate_by_name=True, @@ -48,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessDumpMetadata from a JSON string""" + """Create an instance of SseEventRunErrorData from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -60,8 +61,10 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "additional_properties", ]) _dict = self.model_dump( @@ -69,11 +72,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessDumpMetadata from a dict""" + """Create an instance of SseEventRunErrorData from a dict""" if obj is None: return None @@ -81,10 +94,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "sha256": obj.get("sha256"), - "type": obj.get("type"), - "size": obj.get("size") + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/network_overview_metadata.py b/revengai/models/sse_event_run_finished_data.py similarity index 64% rename from revengai/models/network_overview_metadata.py rename to revengai/models/sse_event_run_finished_data.py index 8df73c1..3696fd8 100644 --- a/revengai/models/network_overview_metadata.py +++ b/revengai/models/sse_event_run_finished_data.py @@ -16,27 +16,20 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class NetworkOverviewMetadata(BaseModel): +class SseEventRunFinishedData(BaseModel): """ - NetworkOverviewMetadata + SseEventRunFinishedData """ # noqa: E501 - host: StrictStr - country_code: StrictStr - asn: StrictStr = Field(alias="ASN") + data: Optional[Any] + event_id: StrictInt type: StrictStr - __properties: ClassVar[List[str]] = ["host", "country_code", "ASN", "type"] - - @field_validator('type') - def type_validate_enum(cls, value): - """Validates the enum""" - if value not in set(['metadata']): - raise ValueError("must be one of enum values ('metadata')") - return value + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] model_config = ConfigDict( populate_by_name=True, @@ -56,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkOverviewMetadata from a JSON string""" + """Create an instance of SseEventRunFinishedData from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -68,8 +61,10 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "additional_properties", ]) _dict = self.model_dump( @@ -77,11 +72,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkOverviewMetadata from a dict""" + """Create an instance of SseEventRunFinishedData from a dict""" if obj is None: return None @@ -89,11 +94,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "host": obj.get("host"), - "country_code": obj.get("country_code"), - "ASN": obj.get("ASN"), + "data": obj.get("data"), + "event_id": obj.get("event_id"), "type": obj.get("type") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/process_dump.py b/revengai/models/sse_event_run_started_data.py similarity index 63% rename from revengai/models/process_dump.py rename to revengai/models/sse_event_run_started_data.py index 18de30d..7277fc9 100644 --- a/revengai/models/process_dump.py +++ b/revengai/models/sse_event_run_started_data.py @@ -17,20 +17,19 @@ import json from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List -from revengai.models.process_dump_metadata import ProcessDumpMetadata +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class ProcessDump(BaseModel): +class SseEventRunStartedData(BaseModel): """ - ProcessDump + SseEventRunStartedData """ # noqa: E501 - base_address: StrictInt - actual_filename: StrictStr - filename_friendly: StrictStr - extended_metadata: ProcessDumpMetadata - __properties: ClassVar[List[str]] = ["base_address", "actual_filename", "filename_friendly", "extended_metadata"] + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] model_config = ConfigDict( populate_by_name=True, @@ -50,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ProcessDump from a JSON string""" + """Create an instance of SseEventRunStartedData from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -62,8 +61,10 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "additional_properties", ]) _dict = self.model_dump( @@ -71,14 +72,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of extended_metadata - if self.extended_metadata: - _dict['extended_metadata'] = self.extended_metadata.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ProcessDump from a dict""" + """Create an instance of SseEventRunStartedData from a dict""" if obj is None: return None @@ -86,11 +94,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "base_address": obj.get("base_address"), - "actual_filename": obj.get("actual_filename"), - "filename_friendly": obj.get("filename_friendly"), - "extended_metadata": ProcessDumpMetadata.from_dict(obj["extended_metadata"]) if obj.get("extended_metadata") is not None else None + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/sse_event_step_finished_data.py b/revengai/models/sse_event_step_finished_data.py new file mode 100644 index 0000000..d4d35f6 --- /dev/null +++ b/revengai/models/sse_event_step_finished_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventStepFinishedData(BaseModel): + """ + SseEventStepFinishedData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventStepFinishedData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventStepFinishedData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_step_started_data.py b/revengai/models/sse_event_step_started_data.py new file mode 100644 index 0000000..fb3ae63 --- /dev/null +++ b/revengai/models/sse_event_step_started_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventStepStartedData(BaseModel): + """ + SseEventStepStartedData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventStepStartedData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventStepStartedData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_text_message_content_data.py b/revengai/models/sse_event_text_message_content_data.py new file mode 100644 index 0000000..d879f88 --- /dev/null +++ b/revengai/models/sse_event_text_message_content_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventTextMessageContentData(BaseModel): + """ + SseEventTextMessageContentData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventTextMessageContentData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventTextMessageContentData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_text_message_end_data.py b/revengai/models/sse_event_text_message_end_data.py new file mode 100644 index 0000000..900cfc1 --- /dev/null +++ b/revengai/models/sse_event_text_message_end_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventTextMessageEndData(BaseModel): + """ + SseEventTextMessageEndData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventTextMessageEndData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventTextMessageEndData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_text_message_start_data.py b/revengai/models/sse_event_text_message_start_data.py new file mode 100644 index 0000000..07b3c0f --- /dev/null +++ b/revengai/models/sse_event_text_message_start_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventTextMessageStartData(BaseModel): + """ + SseEventTextMessageStartData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventTextMessageStartData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventTextMessageStartData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_title_updated_data.py b/revengai/models/sse_event_title_updated_data.py new file mode 100644 index 0000000..a6ac88c --- /dev/null +++ b/revengai/models/sse_event_title_updated_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventTitleUpdatedData(BaseModel): + """ + SseEventTitleUpdatedData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventTitleUpdatedData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventTitleUpdatedData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_tool_call_args_delta_data.py b/revengai/models/sse_event_tool_call_args_delta_data.py new file mode 100644 index 0000000..7165135 --- /dev/null +++ b/revengai/models/sse_event_tool_call_args_delta_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventToolCallArgsDeltaData(BaseModel): + """ + SseEventToolCallArgsDeltaData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventToolCallArgsDeltaData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventToolCallArgsDeltaData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_tool_call_end_data.py b/revengai/models/sse_event_tool_call_end_data.py new file mode 100644 index 0000000..73d5f4a --- /dev/null +++ b/revengai/models/sse_event_tool_call_end_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventToolCallEndData(BaseModel): + """ + SseEventToolCallEndData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventToolCallEndData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventToolCallEndData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_tool_call_result_data.py b/revengai/models/sse_event_tool_call_result_data.py new file mode 100644 index 0000000..ed5147e --- /dev/null +++ b/revengai/models/sse_event_tool_call_result_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventToolCallResultData(BaseModel): + """ + SseEventToolCallResultData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventToolCallResultData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventToolCallResultData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_tool_call_start_data.py b/revengai/models/sse_event_tool_call_start_data.py new file mode 100644 index 0000000..725b6c3 --- /dev/null +++ b/revengai/models/sse_event_tool_call_start_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventToolCallStartData(BaseModel): + """ + SseEventToolCallStartData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventToolCallStartData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventToolCallStartData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/sse_event_tool_confirmation_required_data.py b/revengai/models/sse_event_tool_confirmation_required_data.py new file mode 100644 index 0000000..4228b82 --- /dev/null +++ b/revengai/models/sse_event_tool_confirmation_required_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SseEventToolConfirmationRequiredData(BaseModel): + """ + SseEventToolConfirmationRequiredData + """ # noqa: E501 + data: Optional[Any] + event_id: StrictInt + type: StrictStr + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "event_id", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SseEventToolConfirmationRequiredData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SseEventToolConfirmationRequiredData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "event_id": obj.get("event_id"), + "type": obj.get("type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py b/revengai/models/status_response.py similarity index 58% rename from revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py rename to revengai/models/status_response.py index d01b15b..4e14de2 100644 --- a/revengai/models/app_services_dynamic_execution_schemas_dynamic_execution_status.py +++ b/revengai/models/status_response.py @@ -16,17 +16,22 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from typing import Optional, Set from typing_extensions import Self -class AppServicesDynamicExecutionSchemasDynamicExecutionStatus(BaseModel): +class StatusResponse(BaseModel): """ - AppServicesDynamicExecutionSchemasDynamicExecutionStatus + StatusResponse """ # noqa: E501 + var_schema: Optional[StrictStr] = Field(default=None, description="A URL to the JSON Schema for this object.", alias="$schema") + conversation_uuid: UUID status: StrictStr - __properties: ClassVar[List[str]] = ["status"] + trace_id: Optional[StrictStr] = Field(default=None, description="OpenTelemetry trace ID for this run. Use this to look up tool call spans in your trace backend.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["$schema", "conversation_uuid", "status", "trace_id"] model_config = ConfigDict( populate_by_name=True, @@ -46,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of AppServicesDynamicExecutionSchemasDynamicExecutionStatus from a JSON string""" + """Create an instance of StatusResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -58,8 +63,12 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. """ excluded_fields: Set[str] = set([ + "var_schema", + "additional_properties", ]) _dict = self.model_dump( @@ -67,11 +76,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of AppServicesDynamicExecutionSchemasDynamicExecutionStatus from a dict""" + """Create an instance of StatusResponse from a dict""" if obj is None: return None @@ -79,8 +93,16 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "status": obj.get("status") + "$schema": obj.get("$schema"), + "conversation_uuid": obj.get("conversation_uuid"), + "status": obj.get("status"), + "trace_id": obj.get("trace_id") }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + return _obj diff --git a/revengai/models/stream_events200_response_inner.py b/revengai/models/stream_events200_response_inner.py new file mode 100644 index 0000000..e14eb14 --- /dev/null +++ b/revengai/models/stream_events200_response_inner.py @@ -0,0 +1,332 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from revengai.models.event_contextcompacted import EventCONTEXTCOMPACTED +from revengai.models.event_runcancelled import EventRUNCANCELLED +from revengai.models.event_runerror import EventRUNERROR +from revengai.models.event_runfinished import EventRUNFINISHED +from revengai.models.event_runstarted import EventRUNSTARTED +from revengai.models.event_stepfinished import EventSTEPFINISHED +from revengai.models.event_stepstarted import EventSTEPSTARTED +from revengai.models.event_textmessagecontent import EventTEXTMESSAGECONTENT +from revengai.models.event_textmessageend import EventTEXTMESSAGEEND +from revengai.models.event_textmessagestart import EventTEXTMESSAGESTART +from revengai.models.event_titleupdated import EventTITLEUPDATED +from revengai.models.event_toolcallargsdelta import EventTOOLCALLARGSDELTA +from revengai.models.event_toolcallend import EventTOOLCALLEND +from revengai.models.event_toolcallresult import EventTOOLCALLRESULT +from revengai.models.event_toolcallstart import EventTOOLCALLSTART +from revengai.models.event_toolconfirmationrequired import EventTOOLCONFIRMATIONREQUIRED +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +STREAMEVENTS200RESPONSEINNER_ONE_OF_SCHEMAS = ["EventCONTEXTCOMPACTED", "EventRUNCANCELLED", "EventRUNERROR", "EventRUNFINISHED", "EventRUNSTARTED", "EventSTEPFINISHED", "EventSTEPSTARTED", "EventTEXTMESSAGECONTENT", "EventTEXTMESSAGEEND", "EventTEXTMESSAGESTART", "EventTITLEUPDATED", "EventTOOLCALLARGSDELTA", "EventTOOLCALLEND", "EventTOOLCALLRESULT", "EventTOOLCALLSTART", "EventTOOLCONFIRMATIONREQUIRED"] + +class StreamEvents200ResponseInner(BaseModel): + """ + StreamEvents200ResponseInner + """ + # data type: EventCONTEXTCOMPACTED + oneof_schema_1_validator: Optional[EventCONTEXTCOMPACTED] = None + # data type: EventRUNCANCELLED + oneof_schema_2_validator: Optional[EventRUNCANCELLED] = None + # data type: EventRUNERROR + oneof_schema_3_validator: Optional[EventRUNERROR] = None + # data type: EventRUNFINISHED + oneof_schema_4_validator: Optional[EventRUNFINISHED] = None + # data type: EventRUNSTARTED + oneof_schema_5_validator: Optional[EventRUNSTARTED] = None + # data type: EventSTEPFINISHED + oneof_schema_6_validator: Optional[EventSTEPFINISHED] = None + # data type: EventSTEPSTARTED + oneof_schema_7_validator: Optional[EventSTEPSTARTED] = None + # data type: EventTEXTMESSAGECONTENT + oneof_schema_8_validator: Optional[EventTEXTMESSAGECONTENT] = None + # data type: EventTEXTMESSAGEEND + oneof_schema_9_validator: Optional[EventTEXTMESSAGEEND] = None + # data type: EventTEXTMESSAGESTART + oneof_schema_10_validator: Optional[EventTEXTMESSAGESTART] = None + # data type: EventTITLEUPDATED + oneof_schema_11_validator: Optional[EventTITLEUPDATED] = None + # data type: EventTOOLCALLARGSDELTA + oneof_schema_12_validator: Optional[EventTOOLCALLARGSDELTA] = None + # data type: EventTOOLCALLEND + oneof_schema_13_validator: Optional[EventTOOLCALLEND] = None + # data type: EventTOOLCALLRESULT + oneof_schema_14_validator: Optional[EventTOOLCALLRESULT] = None + # data type: EventTOOLCALLSTART + oneof_schema_15_validator: Optional[EventTOOLCALLSTART] = None + # data type: EventTOOLCONFIRMATIONREQUIRED + oneof_schema_16_validator: Optional[EventTOOLCONFIRMATIONREQUIRED] = None + actual_instance: Optional[Union[EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED]] = None + one_of_schemas: Set[str] = { "EventCONTEXTCOMPACTED", "EventRUNCANCELLED", "EventRUNERROR", "EventRUNFINISHED", "EventRUNSTARTED", "EventSTEPFINISHED", "EventSTEPSTARTED", "EventTEXTMESSAGECONTENT", "EventTEXTMESSAGEEND", "EventTEXTMESSAGESTART", "EventTITLEUPDATED", "EventTOOLCALLARGSDELTA", "EventTOOLCALLEND", "EventTOOLCALLRESULT", "EventTOOLCALLSTART", "EventTOOLCONFIRMATIONREQUIRED" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = StreamEvents200ResponseInner.model_construct() + error_messages = [] + match = 0 + # validate data type: EventCONTEXTCOMPACTED + if not isinstance(v, EventCONTEXTCOMPACTED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventCONTEXTCOMPACTED`") + else: + match += 1 + # validate data type: EventRUNCANCELLED + if not isinstance(v, EventRUNCANCELLED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventRUNCANCELLED`") + else: + match += 1 + # validate data type: EventRUNERROR + if not isinstance(v, EventRUNERROR): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventRUNERROR`") + else: + match += 1 + # validate data type: EventRUNFINISHED + if not isinstance(v, EventRUNFINISHED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventRUNFINISHED`") + else: + match += 1 + # validate data type: EventRUNSTARTED + if not isinstance(v, EventRUNSTARTED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventRUNSTARTED`") + else: + match += 1 + # validate data type: EventSTEPFINISHED + if not isinstance(v, EventSTEPFINISHED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventSTEPFINISHED`") + else: + match += 1 + # validate data type: EventSTEPSTARTED + if not isinstance(v, EventSTEPSTARTED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventSTEPSTARTED`") + else: + match += 1 + # validate data type: EventTEXTMESSAGECONTENT + if not isinstance(v, EventTEXTMESSAGECONTENT): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTEXTMESSAGECONTENT`") + else: + match += 1 + # validate data type: EventTEXTMESSAGEEND + if not isinstance(v, EventTEXTMESSAGEEND): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTEXTMESSAGEEND`") + else: + match += 1 + # validate data type: EventTEXTMESSAGESTART + if not isinstance(v, EventTEXTMESSAGESTART): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTEXTMESSAGESTART`") + else: + match += 1 + # validate data type: EventTITLEUPDATED + if not isinstance(v, EventTITLEUPDATED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTITLEUPDATED`") + else: + match += 1 + # validate data type: EventTOOLCALLARGSDELTA + if not isinstance(v, EventTOOLCALLARGSDELTA): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTOOLCALLARGSDELTA`") + else: + match += 1 + # validate data type: EventTOOLCALLEND + if not isinstance(v, EventTOOLCALLEND): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTOOLCALLEND`") + else: + match += 1 + # validate data type: EventTOOLCALLRESULT + if not isinstance(v, EventTOOLCALLRESULT): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTOOLCALLRESULT`") + else: + match += 1 + # validate data type: EventTOOLCALLSTART + if not isinstance(v, EventTOOLCALLSTART): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTOOLCALLSTART`") + else: + match += 1 + # validate data type: EventTOOLCONFIRMATIONREQUIRED + if not isinstance(v, EventTOOLCONFIRMATIONREQUIRED): + error_messages.append(f"Error! Input type `{type(v)}` is not `EventTOOLCONFIRMATIONREQUIRED`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in StreamEvents200ResponseInner with oneOf schemas: EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in StreamEvents200ResponseInner with oneOf schemas: EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into EventCONTEXTCOMPACTED + try: + instance.actual_instance = EventCONTEXTCOMPACTED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventRUNCANCELLED + try: + instance.actual_instance = EventRUNCANCELLED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventRUNERROR + try: + instance.actual_instance = EventRUNERROR.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventRUNFINISHED + try: + instance.actual_instance = EventRUNFINISHED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventRUNSTARTED + try: + instance.actual_instance = EventRUNSTARTED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventSTEPFINISHED + try: + instance.actual_instance = EventSTEPFINISHED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventSTEPSTARTED + try: + instance.actual_instance = EventSTEPSTARTED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTEXTMESSAGECONTENT + try: + instance.actual_instance = EventTEXTMESSAGECONTENT.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTEXTMESSAGEEND + try: + instance.actual_instance = EventTEXTMESSAGEEND.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTEXTMESSAGESTART + try: + instance.actual_instance = EventTEXTMESSAGESTART.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTITLEUPDATED + try: + instance.actual_instance = EventTITLEUPDATED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTOOLCALLARGSDELTA + try: + instance.actual_instance = EventTOOLCALLARGSDELTA.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTOOLCALLEND + try: + instance.actual_instance = EventTOOLCALLEND.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTOOLCALLRESULT + try: + instance.actual_instance = EventTOOLCALLRESULT.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTOOLCALLSTART + try: + instance.actual_instance = EventTOOLCALLSTART.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into EventTOOLCONFIRMATIONREQUIRED + try: + instance.actual_instance = EventTOOLCONFIRMATIONREQUIRED.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into StreamEvents200ResponseInner with oneOf schemas: EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into StreamEvents200ResponseInner with oneOf schemas: EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], EventCONTEXTCOMPACTED, EventRUNCANCELLED, EventRUNERROR, EventRUNFINISHED, EventRUNSTARTED, EventSTEPFINISHED, EventSTEPSTARTED, EventTEXTMESSAGECONTENT, EventTEXTMESSAGEEND, EventTEXTMESSAGESTART, EventTITLEUPDATED, EventTOOLCALLARGSDELTA, EventTOOLCALLEND, EventTOOLCALLRESULT, EventTOOLCALLSTART, EventTOOLCONFIRMATIONREQUIRED]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/revengai/models/ttps_attack.py b/revengai/models/ttps_attack.py deleted file mode 100644 index 46fe9c2..0000000 --- a/revengai/models/ttps_attack.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, StrictStr -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class TTPSAttack(BaseModel): - """ - TTPSAttack - """ # noqa: E501 - id: StrictStr - name: StrictStr - __properties: ClassVar[List[str]] = ["id", "name"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TTPSAttack from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TTPSAttack from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "id": obj.get("id"), - "name": obj.get("name") - }) - return _obj - - diff --git a/revengai/models/ttps_data.py b/revengai/models/ttps_data.py deleted file mode 100644 index 86313d4..0000000 --- a/revengai/models/ttps_data.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, StrictInt -from typing import Any, ClassVar, Dict, List -from revengai.models.ttps_element import TTPSElement -from typing import Optional, Set -from typing_extensions import Self - -class TTPSData(BaseModel): - """ - TTPSData - """ # noqa: E501 - score: StrictInt - ttps: List[TTPSElement] - __properties: ClassVar[List[str]] = ["score", "ttps"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TTPSData from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in ttps (list) - _items = [] - if self.ttps: - for _item_ttps in self.ttps: - if _item_ttps: - _items.append(_item_ttps.to_dict()) - _dict['ttps'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TTPSData from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "score": obj.get("score"), - "ttps": [TTPSElement.from_dict(_item) for _item in obj["ttps"]] if obj.get("ttps") is not None else None - }) - return _obj - - diff --git a/revengai/models/ttps_occurance.py b/revengai/models/ttps_occurance.py deleted file mode 100644 index 223a088..0000000 --- a/revengai/models/ttps_occurance.py +++ /dev/null @@ -1,88 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, StrictInt -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class TTPSOccurance(BaseModel): - """ - TTPSOccurance - """ # noqa: E501 - ppid: StrictInt - pid: StrictInt - __properties: ClassVar[List[str]] = ["ppid", "pid"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TTPSOccurance from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TTPSOccurance from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "ppid": obj.get("ppid"), - "pid": obj.get("pid") - }) - return _obj - - diff --git a/test/test_analyses_dynamic_execution_api.py b/test/test_analyses_dynamic_execution_api.py deleted file mode 100644 index 4390e88..0000000 --- a/test/test_analyses_dynamic_execution_api.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.api.analyses_dynamic_execution_api import AnalysesDynamicExecutionApi - - -class TestAnalysesDynamicExecutionApi(unittest.TestCase): - """AnalysesDynamicExecutionApi unit test stubs""" - - def setUp(self) -> None: - self.api = AnalysesDynamicExecutionApi() - - def tearDown(self) -> None: - pass - - def test_get_dynamic_execution_status(self) -> None: - """Test case for get_dynamic_execution_status - - Get the status of a dynamic execution task - """ - pass - - def test_get_network_overview(self) -> None: - """Test case for get_network_overview - - Get the dynamic execution results for network overview - """ - pass - - def test_get_process_dump(self) -> None: - """Test case for get_process_dump - - Get the dynamic execution results for a specific process dump - """ - pass - - def test_get_process_dumps(self) -> None: - """Test case for get_process_dumps - - Get the dynamic execution results for process dumps - """ - pass - - def test_get_process_registry(self) -> None: - """Test case for get_process_registry - - Get the dynamic execution results for process registry - """ - pass - - def test_get_process_tree(self) -> None: - """Test case for get_process_tree - - Get the dynamic execution results for process tree - """ - pass - - def test_get_ttps(self) -> None: - """Test case for get_ttps - - Get the dynamic execution results for ttps - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_ttps_attack.py b/test/test_api_error.py similarity index 66% rename from test/test_ttps_attack.py rename to test/test_api_error.py index 8b87818..38151e7 100644 --- a/test/test_ttps_attack.py +++ b/test/test_api_error.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.ttps_attack import TTPSAttack +from revengai.models.api_error import APIError -class TestTTPSAttack(unittest.TestCase): - """TTPSAttack unit test stubs""" +class TestAPIError(unittest.TestCase): + """APIError unit test stubs""" def setUp(self): pass @@ -24,28 +24,27 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> TTPSAttack: - """Test TTPSAttack + def make_instance(self, include_optional) -> APIError: + """Test APIError include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `TTPSAttack` + # uncomment below to create an instance of `APIError` """ - model = TTPSAttack() + model = APIError() if include_optional: - return TTPSAttack( - id = '', - name = '' + return APIError( + var_schema = '', + error = { } ) else: - return TTPSAttack( - id = '', - name = '', + return APIError( + error = { }, ) """ - def testTTPSAttack(self): - """Test TTPSAttack""" + def testAPIError(self): + """Test APIError""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_app_api_rest_v2_analyses_enums_dynamic_execution_status.py b/test/test_app_api_rest_v2_analyses_enums_dynamic_execution_status.py deleted file mode 100644 index 774ec3a..0000000 --- a/test/test_app_api_rest_v2_analyses_enums_dynamic_execution_status.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.app_api_rest_v2_analyses_enums_dynamic_execution_status import AppApiRestV2AnalysesEnumsDynamicExecutionStatus - -class TestAppApiRestV2AnalysesEnumsDynamicExecutionStatus(unittest.TestCase): - """AppApiRestV2AnalysesEnumsDynamicExecutionStatus unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testAppApiRestV2AnalysesEnumsDynamicExecutionStatus(self): - """Test AppApiRestV2AnalysesEnumsDynamicExecutionStatus""" - # inst = AppApiRestV2AnalysesEnumsDynamicExecutionStatus() - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_app_services_dynamic_execution_schemas_dynamic_execution_status.py b/test/test_app_services_dynamic_execution_schemas_dynamic_execution_status.py deleted file mode 100644 index 98b136c..0000000 --- a/test/test_app_services_dynamic_execution_schemas_dynamic_execution_status.py +++ /dev/null @@ -1,51 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.app_services_dynamic_execution_schemas_dynamic_execution_status import AppServicesDynamicExecutionSchemasDynamicExecutionStatus - -class TestAppServicesDynamicExecutionSchemasDynamicExecutionStatus(unittest.TestCase): - """AppServicesDynamicExecutionSchemasDynamicExecutionStatus unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AppServicesDynamicExecutionSchemasDynamicExecutionStatus: - """Test AppServicesDynamicExecutionSchemasDynamicExecutionStatus - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AppServicesDynamicExecutionSchemasDynamicExecutionStatus` - """ - model = AppServicesDynamicExecutionSchemasDynamicExecutionStatus() - if include_optional: - return AppServicesDynamicExecutionSchemasDynamicExecutionStatus( - status = '' - ) - else: - return AppServicesDynamicExecutionSchemasDynamicExecutionStatus( - status = '', - ) - """ - - def testAppServicesDynamicExecutionSchemasDynamicExecutionStatus(self): - """Test AppServicesDynamicExecutionSchemasDynamicExecutionStatus""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_dynamic_execution_status.py b/test/test_base_response_dynamic_execution_status.py deleted file mode 100644 index 94ef980..0000000 --- a/test/test_base_response_dynamic_execution_status.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_dynamic_execution_status import BaseResponseDynamicExecutionStatus - -class TestBaseResponseDynamicExecutionStatus(unittest.TestCase): - """BaseResponseDynamicExecutionStatus unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseDynamicExecutionStatus: - """Test BaseResponseDynamicExecutionStatus - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseDynamicExecutionStatus` - """ - model = BaseResponseDynamicExecutionStatus() - if include_optional: - return BaseResponseDynamicExecutionStatus( - status = True, - data = revengai.models.dynamic_execution_status.DynamicExecutionStatus( - status = '', ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseDynamicExecutionStatus( - ) - """ - - def testBaseResponseDynamicExecutionStatus(self): - """Test BaseResponseDynamicExecutionStatus""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_network_overview_response.py b/test/test_base_response_network_overview_response.py deleted file mode 100644 index 86e63c4..0000000 --- a/test/test_base_response_network_overview_response.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_network_overview_response import BaseResponseNetworkOverviewResponse - -class TestBaseResponseNetworkOverviewResponse(unittest.TestCase): - """BaseResponseNetworkOverviewResponse unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseNetworkOverviewResponse: - """Test BaseResponseNetworkOverviewResponse - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseNetworkOverviewResponse` - """ - model = BaseResponseNetworkOverviewResponse() - if include_optional: - return BaseResponseNetworkOverviewResponse( - status = True, - data = revengai.models.network_overview_response.NetworkOverviewResponse( - dns = [ - revengai.models.network_overview_dns.NetworkOverviewDns( - host = '', - type = '', - answers = [ - revengai.models.network_overview_dns_answer.NetworkOverviewDnsAnswer( - type = '', - data = '', ) - ], ) - ], - metadata = [ - revengai.models.network_overview_metadata.NetworkOverviewMetadata( - host = '', - country_code = '', - asn = '', - type = 'metadata', ) - ], ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseNetworkOverviewResponse( - ) - """ - - def testBaseResponseNetworkOverviewResponse(self): - """Test BaseResponseNetworkOverviewResponse""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_process_dumps.py b/test/test_base_response_process_dumps.py deleted file mode 100644 index af78a05..0000000 --- a/test/test_base_response_process_dumps.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_process_dumps import BaseResponseProcessDumps - -class TestBaseResponseProcessDumps(unittest.TestCase): - """BaseResponseProcessDumps unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseProcessDumps: - """Test BaseResponseProcessDumps - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseProcessDumps` - """ - model = BaseResponseProcessDumps() - if include_optional: - return BaseResponseProcessDumps( - status = True, - data = revengai.models.process_dumps.ProcessDumps( - success = True, - data = revengai.models.process_dumps_data.ProcessDumpsData( - count = 56, - dumps = [ - revengai.models.process_dump.ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), ) - ], ), ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseProcessDumps( - ) - """ - - def testBaseResponseProcessDumps(self): - """Test BaseResponseProcessDumps""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_process_registry.py b/test/test_base_response_process_registry.py deleted file mode 100644 index 05b652c..0000000 --- a/test/test_base_response_process_registry.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_process_registry import BaseResponseProcessRegistry - -class TestBaseResponseProcessRegistry(unittest.TestCase): - """BaseResponseProcessRegistry unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseProcessRegistry: - """Test BaseResponseProcessRegistry - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseProcessRegistry` - """ - model = BaseResponseProcessRegistry() - if include_optional: - return BaseResponseProcessRegistry( - status = True, - data = revengai.models.process_registry.ProcessRegistry( - success = True, - data = { - 'key' : [ - revengai.models.registry.Registry( - method = '', - key = '', - value_name = '', - value = '', ) - ] - }, ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseProcessRegistry( - ) - """ - - def testBaseResponseProcessRegistry(self): - """Test BaseResponseProcessRegistry""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_process_tree.py b/test/test_base_response_process_tree.py deleted file mode 100644 index 433fca1..0000000 --- a/test/test_base_response_process_tree.py +++ /dev/null @@ -1,77 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_process_tree import BaseResponseProcessTree - -class TestBaseResponseProcessTree(unittest.TestCase): - """BaseResponseProcessTree unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseProcessTree: - """Test BaseResponseProcessTree - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseProcessTree` - """ - model = BaseResponseProcessTree() - if include_optional: - return BaseResponseProcessTree( - status = True, - data = revengai.models.process_tree.ProcessTree( - success = True, - data = [ - revengai.models.process.Process( - pid = 56, - procname = '', - executable_name = '', - args = [ - '' - ], - ts_from = 1.337, - ts_to = 1.337, - children = [ - null - ], ) - ], ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseProcessTree( - ) - """ - - def testBaseResponseProcessTree(self): - """Test BaseResponseProcessTree""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_base_response_ttps.py b/test/test_base_response_ttps.py deleted file mode 100644 index 29b874f..0000000 --- a/test/test_base_response_ttps.py +++ /dev/null @@ -1,80 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.base_response_ttps import BaseResponseTTPS - -class TestBaseResponseTTPS(unittest.TestCase): - """BaseResponseTTPS unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> BaseResponseTTPS: - """Test BaseResponseTTPS - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `BaseResponseTTPS` - """ - model = BaseResponseTTPS() - if include_optional: - return BaseResponseTTPS( - status = True, - data = revengai.models.ttps.TTPS( - success = True, - data = revengai.models.ttps_data.TTPS_Data( - score = 56, - ttps = [ - revengai.models.ttps_element.TTPS_Element( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, ) - ], ), ), - message = '', - errors = [ - revengai.models.error_model.ErrorModel( - code = '', - message = '', ) - ], - meta = revengai.models.meta_model.MetaModel( - pagination = revengai.models.pagination_model.PaginationModel( - page_size = 56, - page_number = 56, - has_next_page = True, ), ) - ) - else: - return BaseResponseTTPS( - ) - """ - - def testBaseResponseTTPS(self): - """Test BaseResponseTTPS""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_confirm_tool_input_body.py b/test/test_confirm_tool_input_body.py new file mode 100644 index 0000000..6991adf --- /dev/null +++ b/test/test_confirm_tool_input_body.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.confirm_tool_input_body import ConfirmToolInputBody + +class TestConfirmToolInputBody(unittest.TestCase): + """ConfirmToolInputBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConfirmToolInputBody: + """Test ConfirmToolInputBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConfirmToolInputBody` + """ + model = ConfirmToolInputBody() + if include_optional: + return ConfirmToolInputBody( + var_schema = '', + approved = True + ) + else: + return ConfirmToolInputBody( + approved = True, + ) + """ + + def testConfirmToolInputBody(self): + """Test ConfirmToolInputBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_conversation.py b/test/test_conversation.py new file mode 100644 index 0000000..f5b725a --- /dev/null +++ b/test/test_conversation.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.conversation import Conversation + +class TestConversation(unittest.TestCase): + """Conversation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Conversation: + """Test Conversation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Conversation` + """ + model = Conversation() + if include_optional: + return Conversation( + var_schema = '', + context = None, + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + title = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + user_id = 56 + ) + else: + return Conversation( + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + title = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + user_id = 56, + ) + """ + + def testConversation(self): + """Test Conversation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_ttps_occurance.py b/test/test_conversation_context.py similarity index 63% rename from test/test_ttps_occurance.py rename to test/test_conversation_context.py index 6fd3506..b6a3488 100644 --- a/test/test_ttps_occurance.py +++ b/test/test_conversation_context.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.ttps_occurance import TTPSOccurance +from revengai.models.conversation_context import ConversationContext -class TestTTPSOccurance(unittest.TestCase): - """TTPSOccurance unit test stubs""" +class TestConversationContext(unittest.TestCase): + """ConversationContext unit test stubs""" def setUp(self): pass @@ -24,28 +24,26 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> TTPSOccurance: - """Test TTPSOccurance + def make_instance(self, include_optional) -> ConversationContext: + """Test ConversationContext include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `TTPSOccurance` + # uncomment below to create an instance of `ConversationContext` """ - model = TTPSOccurance() + model = ConversationContext() if include_optional: - return TTPSOccurance( - ppid = 56, - pid = 56 + return ConversationContext( + analysis_id = 56, + function_id = 56 ) else: - return TTPSOccurance( - ppid = 56, - pid = 56, + return ConversationContext( ) """ - def testTTPSOccurance(self): - """Test TTPSOccurance""" + def testConversationContext(self): + """Test ConversationContext""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_conversation_with_events.py b/test/test_conversation_with_events.py new file mode 100644 index 0000000..c2bf1b3 --- /dev/null +++ b/test/test_conversation_with_events.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.conversation_with_events import ConversationWithEvents + +class TestConversationWithEvents(unittest.TestCase): + """ConversationWithEvents unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConversationWithEvents: + """Test ConversationWithEvents + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConversationWithEvents` + """ + model = ConversationWithEvents() + if include_optional: + return ConversationWithEvents( + var_schema = '', + context = None, + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + events = [ + { } + ], + title = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + user_id = 56 + ) + else: + return ConversationWithEvents( + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + events = [ + { } + ], + title = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + user_id = 56, + ) + """ + + def testConversationWithEvents(self): + """Test ConversationWithEvents""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_conversations_api.py b/test/test_conversations_api.py new file mode 100644 index 0000000..edbde3e --- /dev/null +++ b/test/test_conversations_api.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.api.conversations_api import ConversationsApi + + +class TestConversationsApi(unittest.TestCase): + """ConversationsApi unit test stubs""" + + def setUp(self) -> None: + self.api = ConversationsApi() + + def tearDown(self) -> None: + pass + + def test_cancel_run(self) -> None: + """Test case for cancel_run + + Cancel an active run + """ + pass + + def test_confirm_tool(self) -> None: + """Test case for confirm_tool + + Approve or reject a pending tool confirmation + """ + pass + + def test_create_conversation(self) -> None: + """Test case for create_conversation + + Create a new conversation + """ + pass + + def test_get_conversation(self) -> None: + """Test case for get_conversation + + Get a conversation with its events + """ + pass + + def test_list_conversations(self) -> None: + """Test case for list_conversations + + List conversations for the authenticated user + """ + pass + + def test_send_message(self) -> None: + """Test case for send_message + + Send a message and start an agentic run + """ + pass + + def test_stream_events(self) -> None: + """Test case for stream_events + + Stream conversation events (SSE) + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_conversation_request.py b/test/test_create_conversation_request.py new file mode 100644 index 0000000..cf5d27b --- /dev/null +++ b/test/test_create_conversation_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.create_conversation_request import CreateConversationRequest + +class TestCreateConversationRequest(unittest.TestCase): + """CreateConversationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateConversationRequest: + """Test CreateConversationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateConversationRequest` + """ + model = CreateConversationRequest() + if include_optional: + return CreateConversationRequest( + var_schema = '', + context = { }, + title = '' + ) + else: + return CreateConversationRequest( + ) + """ + + def testCreateConversationRequest(self): + """Test CreateConversationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_dynamic_execution_status_input.py b/test/test_dynamic_execution_status.py similarity index 64% rename from test/test_dynamic_execution_status_input.py rename to test/test_dynamic_execution_status.py index 823cda0..20f8936 100644 --- a/test/test_dynamic_execution_status_input.py +++ b/test/test_dynamic_execution_status.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.dynamic_execution_status_input import DynamicExecutionStatusInput +from revengai.models.dynamic_execution_status import DynamicExecutionStatus -class TestDynamicExecutionStatusInput(unittest.TestCase): - """DynamicExecutionStatusInput unit test stubs""" +class TestDynamicExecutionStatus(unittest.TestCase): + """DynamicExecutionStatus unit test stubs""" def setUp(self): pass @@ -24,9 +24,9 @@ def setUp(self): def tearDown(self): pass - def testDynamicExecutionStatusInput(self): - """Test DynamicExecutionStatusInput""" - # inst = DynamicExecutionStatusInput() + def testDynamicExecutionStatus(self): + """Test DynamicExecutionStatus""" + # inst = DynamicExecutionStatus() if __name__ == '__main__': unittest.main() diff --git a/test/test_error_body.py b/test/test_error_body.py new file mode 100644 index 0000000..cdfd264 --- /dev/null +++ b/test/test_error_body.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.error_body import ErrorBody + +class TestErrorBody(unittest.TestCase): + """ErrorBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorBody: + """Test ErrorBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorBody` + """ + model = ErrorBody() + if include_optional: + return ErrorBody( + code = 'ACCESS_DENIED', + detail = '', + doc_url = '', + message = '', + trace_id = '' + ) + else: + return ErrorBody( + code = 'ACCESS_DENIED', + message = '', + trace_id = '', + ) + """ + + def testErrorBody(self): + """Test ErrorBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event.py b/test/test_event.py new file mode 100644 index 0000000..33e5662 --- /dev/null +++ b/test/test_event.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event import Event + +class TestEvent(unittest.TestCase): + """Event unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Event: + """Test Event + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Event` + """ + model = Event() + if include_optional: + return Event( + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + data = None, + event_id = 56, + role = 56, + tokens_used = 56, + type = 56 + ) + else: + return Event( + conversation_uuid = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + data = None, + event_id = 56, + role = 56, + tokens_used = 56, + type = 56, + ) + """ + + def testEvent(self): + """Test Event""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_contextcompacted.py b/test/test_event_contextcompacted.py new file mode 100644 index 0000000..ff67378 --- /dev/null +++ b/test/test_event_contextcompacted.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_contextcompacted import EventCONTEXTCOMPACTED + +class TestEventCONTEXTCOMPACTED(unittest.TestCase): + """EventCONTEXTCOMPACTED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventCONTEXTCOMPACTED: + """Test EventCONTEXTCOMPACTED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventCONTEXTCOMPACTED` + """ + model = EventCONTEXTCOMPACTED() + if include_optional: + return EventCONTEXTCOMPACTED( + data = { }, + event = 'CONTEXT_COMPACTED', + id = 56, + retry = 56 + ) + else: + return EventCONTEXTCOMPACTED( + data = { }, + event = 'CONTEXT_COMPACTED', + ) + """ + + def testEventCONTEXTCOMPACTED(self): + """Test EventCONTEXTCOMPACTED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_runcancelled.py b/test/test_event_runcancelled.py new file mode 100644 index 0000000..0ea4e5b --- /dev/null +++ b/test/test_event_runcancelled.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_runcancelled import EventRUNCANCELLED + +class TestEventRUNCANCELLED(unittest.TestCase): + """EventRUNCANCELLED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventRUNCANCELLED: + """Test EventRUNCANCELLED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventRUNCANCELLED` + """ + model = EventRUNCANCELLED() + if include_optional: + return EventRUNCANCELLED( + data = { }, + event = 'RUN_CANCELLED', + id = 56, + retry = 56 + ) + else: + return EventRUNCANCELLED( + data = { }, + event = 'RUN_CANCELLED', + ) + """ + + def testEventRUNCANCELLED(self): + """Test EventRUNCANCELLED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_registry.py b/test/test_event_runerror.py similarity index 61% rename from test/test_registry.py rename to test/test_event_runerror.py index 741c2a6..f2a406e 100644 --- a/test/test_registry.py +++ b/test/test_event_runerror.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.registry import Registry +from revengai.models.event_runerror import EventRUNERROR -class TestRegistry(unittest.TestCase): - """Registry unit test stubs""" +class TestEventRUNERROR(unittest.TestCase): + """EventRUNERROR unit test stubs""" def setUp(self): pass @@ -24,32 +24,30 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> Registry: - """Test Registry + def make_instance(self, include_optional) -> EventRUNERROR: + """Test EventRUNERROR include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `Registry` + # uncomment below to create an instance of `EventRUNERROR` """ - model = Registry() + model = EventRUNERROR() if include_optional: - return Registry( - method = '', - key = '', - value_name = '', - value = '' + return EventRUNERROR( + data = { }, + event = 'RUN_ERROR', + id = 56, + retry = 56 ) else: - return Registry( - method = '', - key = '', - value_name = '', - value = '', + return EventRUNERROR( + data = { }, + event = 'RUN_ERROR', ) """ - def testRegistry(self): - """Test Registry""" + def testEventRUNERROR(self): + """Test EventRUNERROR""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_event_runfinished.py b/test/test_event_runfinished.py new file mode 100644 index 0000000..56c34f6 --- /dev/null +++ b/test/test_event_runfinished.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_runfinished import EventRUNFINISHED + +class TestEventRUNFINISHED(unittest.TestCase): + """EventRUNFINISHED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventRUNFINISHED: + """Test EventRUNFINISHED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventRUNFINISHED` + """ + model = EventRUNFINISHED() + if include_optional: + return EventRUNFINISHED( + data = { }, + event = 'RUN_FINISHED', + id = 56, + retry = 56 + ) + else: + return EventRUNFINISHED( + data = { }, + event = 'RUN_FINISHED', + ) + """ + + def testEventRUNFINISHED(self): + """Test EventRUNFINISHED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_runstarted.py b/test/test_event_runstarted.py new file mode 100644 index 0000000..026d0b5 --- /dev/null +++ b/test/test_event_runstarted.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_runstarted import EventRUNSTARTED + +class TestEventRUNSTARTED(unittest.TestCase): + """EventRUNSTARTED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventRUNSTARTED: + """Test EventRUNSTARTED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventRUNSTARTED` + """ + model = EventRUNSTARTED() + if include_optional: + return EventRUNSTARTED( + data = { }, + event = 'RUN_STARTED', + id = 56, + retry = 56 + ) + else: + return EventRUNSTARTED( + data = { }, + event = 'RUN_STARTED', + ) + """ + + def testEventRUNSTARTED(self): + """Test EventRUNSTARTED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_stepfinished.py b/test/test_event_stepfinished.py new file mode 100644 index 0000000..a71e276 --- /dev/null +++ b/test/test_event_stepfinished.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_stepfinished import EventSTEPFINISHED + +class TestEventSTEPFINISHED(unittest.TestCase): + """EventSTEPFINISHED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventSTEPFINISHED: + """Test EventSTEPFINISHED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventSTEPFINISHED` + """ + model = EventSTEPFINISHED() + if include_optional: + return EventSTEPFINISHED( + data = { }, + event = 'STEP_FINISHED', + id = 56, + retry = 56 + ) + else: + return EventSTEPFINISHED( + data = { }, + event = 'STEP_FINISHED', + ) + """ + + def testEventSTEPFINISHED(self): + """Test EventSTEPFINISHED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_stepstarted.py b/test/test_event_stepstarted.py new file mode 100644 index 0000000..75e1753 --- /dev/null +++ b/test/test_event_stepstarted.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_stepstarted import EventSTEPSTARTED + +class TestEventSTEPSTARTED(unittest.TestCase): + """EventSTEPSTARTED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventSTEPSTARTED: + """Test EventSTEPSTARTED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventSTEPSTARTED` + """ + model = EventSTEPSTARTED() + if include_optional: + return EventSTEPSTARTED( + data = { }, + event = 'STEP_STARTED', + id = 56, + retry = 56 + ) + else: + return EventSTEPSTARTED( + data = { }, + event = 'STEP_STARTED', + ) + """ + + def testEventSTEPSTARTED(self): + """Test EventSTEPSTARTED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_textmessagecontent.py b/test/test_event_textmessagecontent.py new file mode 100644 index 0000000..eb23848 --- /dev/null +++ b/test/test_event_textmessagecontent.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_textmessagecontent import EventTEXTMESSAGECONTENT + +class TestEventTEXTMESSAGECONTENT(unittest.TestCase): + """EventTEXTMESSAGECONTENT unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTEXTMESSAGECONTENT: + """Test EventTEXTMESSAGECONTENT + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTEXTMESSAGECONTENT` + """ + model = EventTEXTMESSAGECONTENT() + if include_optional: + return EventTEXTMESSAGECONTENT( + data = { }, + event = 'TEXT_MESSAGE_CONTENT', + id = 56, + retry = 56 + ) + else: + return EventTEXTMESSAGECONTENT( + data = { }, + event = 'TEXT_MESSAGE_CONTENT', + ) + """ + + def testEventTEXTMESSAGECONTENT(self): + """Test EventTEXTMESSAGECONTENT""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_textmessageend.py b/test/test_event_textmessageend.py new file mode 100644 index 0000000..56c65ce --- /dev/null +++ b/test/test_event_textmessageend.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_textmessageend import EventTEXTMESSAGEEND + +class TestEventTEXTMESSAGEEND(unittest.TestCase): + """EventTEXTMESSAGEEND unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTEXTMESSAGEEND: + """Test EventTEXTMESSAGEEND + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTEXTMESSAGEEND` + """ + model = EventTEXTMESSAGEEND() + if include_optional: + return EventTEXTMESSAGEEND( + data = { }, + event = 'TEXT_MESSAGE_END', + id = 56, + retry = 56 + ) + else: + return EventTEXTMESSAGEEND( + data = { }, + event = 'TEXT_MESSAGE_END', + ) + """ + + def testEventTEXTMESSAGEEND(self): + """Test EventTEXTMESSAGEEND""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_textmessagestart.py b/test/test_event_textmessagestart.py new file mode 100644 index 0000000..64e3f48 --- /dev/null +++ b/test/test_event_textmessagestart.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_textmessagestart import EventTEXTMESSAGESTART + +class TestEventTEXTMESSAGESTART(unittest.TestCase): + """EventTEXTMESSAGESTART unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTEXTMESSAGESTART: + """Test EventTEXTMESSAGESTART + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTEXTMESSAGESTART` + """ + model = EventTEXTMESSAGESTART() + if include_optional: + return EventTEXTMESSAGESTART( + data = { }, + event = 'TEXT_MESSAGE_START', + id = 56, + retry = 56 + ) + else: + return EventTEXTMESSAGESTART( + data = { }, + event = 'TEXT_MESSAGE_START', + ) + """ + + def testEventTEXTMESSAGESTART(self): + """Test EventTEXTMESSAGESTART""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_titleupdated.py b/test/test_event_titleupdated.py new file mode 100644 index 0000000..6ac6f6d --- /dev/null +++ b/test/test_event_titleupdated.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_titleupdated import EventTITLEUPDATED + +class TestEventTITLEUPDATED(unittest.TestCase): + """EventTITLEUPDATED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTITLEUPDATED: + """Test EventTITLEUPDATED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTITLEUPDATED` + """ + model = EventTITLEUPDATED() + if include_optional: + return EventTITLEUPDATED( + data = { }, + event = 'TITLE_UPDATED', + id = 56, + retry = 56 + ) + else: + return EventTITLEUPDATED( + data = { }, + event = 'TITLE_UPDATED', + ) + """ + + def testEventTITLEUPDATED(self): + """Test EventTITLEUPDATED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_toolcallargsdelta.py b/test/test_event_toolcallargsdelta.py new file mode 100644 index 0000000..6c6b5ce --- /dev/null +++ b/test/test_event_toolcallargsdelta.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_toolcallargsdelta import EventTOOLCALLARGSDELTA + +class TestEventTOOLCALLARGSDELTA(unittest.TestCase): + """EventTOOLCALLARGSDELTA unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTOOLCALLARGSDELTA: + """Test EventTOOLCALLARGSDELTA + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTOOLCALLARGSDELTA` + """ + model = EventTOOLCALLARGSDELTA() + if include_optional: + return EventTOOLCALLARGSDELTA( + data = { }, + event = 'TOOL_CALL_ARGS_DELTA', + id = 56, + retry = 56 + ) + else: + return EventTOOLCALLARGSDELTA( + data = { }, + event = 'TOOL_CALL_ARGS_DELTA', + ) + """ + + def testEventTOOLCALLARGSDELTA(self): + """Test EventTOOLCALLARGSDELTA""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_toolcallend.py b/test/test_event_toolcallend.py new file mode 100644 index 0000000..92112b4 --- /dev/null +++ b/test/test_event_toolcallend.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_toolcallend import EventTOOLCALLEND + +class TestEventTOOLCALLEND(unittest.TestCase): + """EventTOOLCALLEND unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTOOLCALLEND: + """Test EventTOOLCALLEND + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTOOLCALLEND` + """ + model = EventTOOLCALLEND() + if include_optional: + return EventTOOLCALLEND( + data = { }, + event = 'TOOL_CALL_END', + id = 56, + retry = 56 + ) + else: + return EventTOOLCALLEND( + data = { }, + event = 'TOOL_CALL_END', + ) + """ + + def testEventTOOLCALLEND(self): + """Test EventTOOLCALLEND""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_toolcallresult.py b/test/test_event_toolcallresult.py new file mode 100644 index 0000000..a43be48 --- /dev/null +++ b/test/test_event_toolcallresult.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_toolcallresult import EventTOOLCALLRESULT + +class TestEventTOOLCALLRESULT(unittest.TestCase): + """EventTOOLCALLRESULT unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTOOLCALLRESULT: + """Test EventTOOLCALLRESULT + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTOOLCALLRESULT` + """ + model = EventTOOLCALLRESULT() + if include_optional: + return EventTOOLCALLRESULT( + data = { }, + event = 'TOOL_CALL_RESULT', + id = 56, + retry = 56 + ) + else: + return EventTOOLCALLRESULT( + data = { }, + event = 'TOOL_CALL_RESULT', + ) + """ + + def testEventTOOLCALLRESULT(self): + """Test EventTOOLCALLRESULT""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_toolcallstart.py b/test/test_event_toolcallstart.py new file mode 100644 index 0000000..a43f18c --- /dev/null +++ b/test/test_event_toolcallstart.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_toolcallstart import EventTOOLCALLSTART + +class TestEventTOOLCALLSTART(unittest.TestCase): + """EventTOOLCALLSTART unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTOOLCALLSTART: + """Test EventTOOLCALLSTART + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTOOLCALLSTART` + """ + model = EventTOOLCALLSTART() + if include_optional: + return EventTOOLCALLSTART( + data = { }, + event = 'TOOL_CALL_START', + id = 56, + retry = 56 + ) + else: + return EventTOOLCALLSTART( + data = { }, + event = 'TOOL_CALL_START', + ) + """ + + def testEventTOOLCALLSTART(self): + """Test EventTOOLCALLSTART""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_event_toolconfirmationrequired.py b/test/test_event_toolconfirmationrequired.py new file mode 100644 index 0000000..e88417c --- /dev/null +++ b/test/test_event_toolconfirmationrequired.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.event_toolconfirmationrequired import EventTOOLCONFIRMATIONREQUIRED + +class TestEventTOOLCONFIRMATIONREQUIRED(unittest.TestCase): + """EventTOOLCONFIRMATIONREQUIRED unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EventTOOLCONFIRMATIONREQUIRED: + """Test EventTOOLCONFIRMATIONREQUIRED + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `EventTOOLCONFIRMATIONREQUIRED` + """ + model = EventTOOLCONFIRMATIONREQUIRED() + if include_optional: + return EventTOOLCONFIRMATIONREQUIRED( + data = { }, + event = 'TOOL_CONFIRMATION_REQUIRED', + id = 56, + retry = 56 + ) + else: + return EventTOOLCONFIRMATIONREQUIRED( + data = { }, + event = 'TOOL_CONFIRMATION_REQUIRED', + ) + """ + + def testEventTOOLCONFIRMATIONREQUIRED(self): + """Test EventTOOLCONFIRMATIONREQUIRED""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_network_overview_dns.py b/test/test_network_overview_dns.py deleted file mode 100644 index e95aab6..0000000 --- a/test/test_network_overview_dns.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.network_overview_dns import NetworkOverviewDns - -class TestNetworkOverviewDns(unittest.TestCase): - """NetworkOverviewDns unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> NetworkOverviewDns: - """Test NetworkOverviewDns - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `NetworkOverviewDns` - """ - model = NetworkOverviewDns() - if include_optional: - return NetworkOverviewDns( - host = '', - type = '', - answers = [ - revengai.models.network_overview_dns_answer.NetworkOverviewDnsAnswer( - type = '', - data = '', ) - ] - ) - else: - return NetworkOverviewDns( - host = '', - type = '', - answers = [ - revengai.models.network_overview_dns_answer.NetworkOverviewDnsAnswer( - type = '', - data = '', ) - ], - ) - """ - - def testNetworkOverviewDns(self): - """Test NetworkOverviewDns""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_network_overview_response.py b/test/test_network_overview_response.py deleted file mode 100644 index 26d555f..0000000 --- a/test/test_network_overview_response.py +++ /dev/null @@ -1,83 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.network_overview_response import NetworkOverviewResponse - -class TestNetworkOverviewResponse(unittest.TestCase): - """NetworkOverviewResponse unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> NetworkOverviewResponse: - """Test NetworkOverviewResponse - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `NetworkOverviewResponse` - """ - model = NetworkOverviewResponse() - if include_optional: - return NetworkOverviewResponse( - dns = [ - revengai.models.network_overview_dns.NetworkOverviewDns( - host = '', - type = '', - answers = [ - revengai.models.network_overview_dns_answer.NetworkOverviewDnsAnswer( - type = '', - data = '', ) - ], ) - ], - metadata = [ - revengai.models.network_overview_metadata.NetworkOverviewMetadata( - host = '', - country_code = '', - asn = '', - type = 'metadata', ) - ] - ) - else: - return NetworkOverviewResponse( - dns = [ - revengai.models.network_overview_dns.NetworkOverviewDns( - host = '', - type = '', - answers = [ - revengai.models.network_overview_dns_answer.NetworkOverviewDnsAnswer( - type = '', - data = '', ) - ], ) - ], - metadata = [ - revengai.models.network_overview_metadata.NetworkOverviewMetadata( - host = '', - country_code = '', - asn = '', - type = 'metadata', ) - ], - ) - """ - - def testNetworkOverviewResponse(self): - """Test NetworkOverviewResponse""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process.py b/test/test_process.py deleted file mode 100644 index 335fac4..0000000 --- a/test/test_process.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process import Process - -class TestProcess(unittest.TestCase): - """Process unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> Process: - """Test Process - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `Process` - """ - model = Process() - if include_optional: - return Process( - pid = 56, - procname = '', - executable_name = '', - args = [ - '' - ], - ts_from = 1.337, - ts_to = 1.337, - children = [ - null - ] - ) - else: - return Process( - pid = 56, - procname = '', - executable_name = '', - args = [ - '' - ], - ts_from = 1.337, - ts_to = 1.337, - children = [ - null - ], - ) - """ - - def testProcess(self): - """Test Process""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process_dump.py b/test/test_process_dump.py deleted file mode 100644 index 2ce7e9f..0000000 --- a/test/test_process_dump.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process_dump import ProcessDump - -class TestProcessDump(unittest.TestCase): - """ProcessDump unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ProcessDump: - """Test ProcessDump - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ProcessDump` - """ - model = ProcessDump() - if include_optional: - return ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ) - ) - else: - return ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), - ) - """ - - def testProcessDump(self): - """Test ProcessDump""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process_dumps.py b/test/test_process_dumps.py deleted file mode 100644 index 6cbeed8..0000000 --- a/test/test_process_dumps.py +++ /dev/null @@ -1,75 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process_dumps import ProcessDumps - -class TestProcessDumps(unittest.TestCase): - """ProcessDumps unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ProcessDumps: - """Test ProcessDumps - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ProcessDumps` - """ - model = ProcessDumps() - if include_optional: - return ProcessDumps( - success = True, - data = revengai.models.process_dumps_data.ProcessDumpsData( - count = 56, - dumps = [ - revengai.models.process_dump.ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), ) - ], ) - ) - else: - return ProcessDumps( - success = True, - data = revengai.models.process_dumps_data.ProcessDumpsData( - count = 56, - dumps = [ - revengai.models.process_dump.ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), ) - ], ), - ) - """ - - def testProcessDumps(self): - """Test ProcessDumps""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process_dumps_data.py b/test/test_process_dumps_data.py deleted file mode 100644 index efd35f8..0000000 --- a/test/test_process_dumps_data.py +++ /dev/null @@ -1,71 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process_dumps_data import ProcessDumpsData - -class TestProcessDumpsData(unittest.TestCase): - """ProcessDumpsData unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ProcessDumpsData: - """Test ProcessDumpsData - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ProcessDumpsData` - """ - model = ProcessDumpsData() - if include_optional: - return ProcessDumpsData( - count = 56, - dumps = [ - revengai.models.process_dump.ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), ) - ] - ) - else: - return ProcessDumpsData( - count = 56, - dumps = [ - revengai.models.process_dump.ProcessDump( - base_address = 56, - actual_filename = '', - filename_friendly = '', - extended_metadata = revengai.models.process_dump_metadata.ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56, ), ) - ], - ) - """ - - def testProcessDumpsData(self): - """Test ProcessDumpsData""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process_registry.py b/test/test_process_registry.py deleted file mode 100644 index cedd706..0000000 --- a/test/test_process_registry.py +++ /dev/null @@ -1,69 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process_registry import ProcessRegistry - -class TestProcessRegistry(unittest.TestCase): - """ProcessRegistry unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ProcessRegistry: - """Test ProcessRegistry - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ProcessRegistry` - """ - model = ProcessRegistry() - if include_optional: - return ProcessRegistry( - success = True, - data = { - 'key' : [ - revengai.models.registry.Registry( - method = '', - key = '', - value_name = '', - value = '', ) - ] - } - ) - else: - return ProcessRegistry( - success = True, - data = { - 'key' : [ - revengai.models.registry.Registry( - method = '', - key = '', - value_name = '', - value = '', ) - ] - }, - ) - """ - - def testProcessRegistry(self): - """Test ProcessRegistry""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_process_tree.py b/test/test_process_tree.py deleted file mode 100644 index 507d715..0000000 --- a/test/test_process_tree.py +++ /dev/null @@ -1,79 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.process_tree import ProcessTree - -class TestProcessTree(unittest.TestCase): - """ProcessTree unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ProcessTree: - """Test ProcessTree - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ProcessTree` - """ - model = ProcessTree() - if include_optional: - return ProcessTree( - success = True, - data = [ - revengai.models.process.Process( - pid = 56, - procname = '', - executable_name = '', - args = [ - '' - ], - ts_from = 1.337, - ts_to = 1.337, - children = [ - null - ], ) - ] - ) - else: - return ProcessTree( - success = True, - data = [ - revengai.models.process.Process( - pid = 56, - procname = '', - executable_name = '', - args = [ - '' - ], - ts_from = 1.337, - ts_to = 1.337, - children = [ - null - ], ) - ], - ) - """ - - def testProcessTree(self): - """Test ProcessTree""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_send_message_request.py b/test/test_send_message_request.py new file mode 100644 index 0000000..1349d3b --- /dev/null +++ b/test/test_send_message_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.send_message_request import SendMessageRequest + +class TestSendMessageRequest(unittest.TestCase): + """SendMessageRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SendMessageRequest: + """Test SendMessageRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SendMessageRequest` + """ + model = SendMessageRequest() + if include_optional: + return SendMessageRequest( + var_schema = '', + content = '', + context = { } + ) + else: + return SendMessageRequest( + content = '', + ) + """ + + def testSendMessageRequest(self): + """Test SendMessageRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_context_compacted_data.py b/test/test_sse_event_context_compacted_data.py new file mode 100644 index 0000000..16d3339 --- /dev/null +++ b/test/test_sse_event_context_compacted_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_context_compacted_data import SseEventContextCompactedData + +class TestSseEventContextCompactedData(unittest.TestCase): + """SseEventContextCompactedData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventContextCompactedData: + """Test SseEventContextCompactedData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventContextCompactedData` + """ + model = SseEventContextCompactedData() + if include_optional: + return SseEventContextCompactedData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventContextCompactedData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventContextCompactedData(self): + """Test SseEventContextCompactedData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_run_cancelled_data.py b/test/test_sse_event_run_cancelled_data.py new file mode 100644 index 0000000..4eef9be --- /dev/null +++ b/test/test_sse_event_run_cancelled_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_run_cancelled_data import SseEventRunCancelledData + +class TestSseEventRunCancelledData(unittest.TestCase): + """SseEventRunCancelledData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventRunCancelledData: + """Test SseEventRunCancelledData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventRunCancelledData` + """ + model = SseEventRunCancelledData() + if include_optional: + return SseEventRunCancelledData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventRunCancelledData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventRunCancelledData(self): + """Test SseEventRunCancelledData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_process_dump_metadata.py b/test/test_sse_event_run_error_data.py similarity index 60% rename from test/test_process_dump_metadata.py rename to test/test_sse_event_run_error_data.py index b103c91..0cd68e4 100644 --- a/test/test_process_dump_metadata.py +++ b/test/test_sse_event_run_error_data.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.process_dump_metadata import ProcessDumpMetadata +from revengai.models.sse_event_run_error_data import SseEventRunErrorData -class TestProcessDumpMetadata(unittest.TestCase): - """ProcessDumpMetadata unit test stubs""" +class TestSseEventRunErrorData(unittest.TestCase): + """SseEventRunErrorData unit test stubs""" def setUp(self): pass @@ -24,30 +24,30 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> ProcessDumpMetadata: - """Test ProcessDumpMetadata + def make_instance(self, include_optional) -> SseEventRunErrorData: + """Test SseEventRunErrorData include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `ProcessDumpMetadata` + # uncomment below to create an instance of `SseEventRunErrorData` """ - model = ProcessDumpMetadata() + model = SseEventRunErrorData() if include_optional: - return ProcessDumpMetadata( - sha256 = '', - type = '', - size = 56 + return SseEventRunErrorData( + data = None, + event_id = 56, + type = '' ) else: - return ProcessDumpMetadata( - sha256 = '', + return SseEventRunErrorData( + data = None, + event_id = 56, type = '', - size = 56, ) """ - def testProcessDumpMetadata(self): - """Test ProcessDumpMetadata""" + def testSseEventRunErrorData(self): + """Test SseEventRunErrorData""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_sse_event_run_finished_data.py b/test/test_sse_event_run_finished_data.py new file mode 100644 index 0000000..c3fc115 --- /dev/null +++ b/test/test_sse_event_run_finished_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_run_finished_data import SseEventRunFinishedData + +class TestSseEventRunFinishedData(unittest.TestCase): + """SseEventRunFinishedData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventRunFinishedData: + """Test SseEventRunFinishedData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventRunFinishedData` + """ + model = SseEventRunFinishedData() + if include_optional: + return SseEventRunFinishedData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventRunFinishedData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventRunFinishedData(self): + """Test SseEventRunFinishedData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_network_overview_dns_answer.py b/test/test_sse_event_run_started_data.py similarity index 59% rename from test/test_network_overview_dns_answer.py rename to test/test_sse_event_run_started_data.py index aa41fca..bd1894a 100644 --- a/test/test_network_overview_dns_answer.py +++ b/test/test_sse_event_run_started_data.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.network_overview_dns_answer import NetworkOverviewDnsAnswer +from revengai.models.sse_event_run_started_data import SseEventRunStartedData -class TestNetworkOverviewDnsAnswer(unittest.TestCase): - """NetworkOverviewDnsAnswer unit test stubs""" +class TestSseEventRunStartedData(unittest.TestCase): + """SseEventRunStartedData unit test stubs""" def setUp(self): pass @@ -24,28 +24,30 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> NetworkOverviewDnsAnswer: - """Test NetworkOverviewDnsAnswer + def make_instance(self, include_optional) -> SseEventRunStartedData: + """Test SseEventRunStartedData include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `NetworkOverviewDnsAnswer` + # uncomment below to create an instance of `SseEventRunStartedData` """ - model = NetworkOverviewDnsAnswer() + model = SseEventRunStartedData() if include_optional: - return NetworkOverviewDnsAnswer( - type = '', - data = '' + return SseEventRunStartedData( + data = None, + event_id = 56, + type = '' ) else: - return NetworkOverviewDnsAnswer( + return SseEventRunStartedData( + data = None, + event_id = 56, type = '', - data = '', ) """ - def testNetworkOverviewDnsAnswer(self): - """Test NetworkOverviewDnsAnswer""" + def testSseEventRunStartedData(self): + """Test SseEventRunStartedData""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_sse_event_step_finished_data.py b/test/test_sse_event_step_finished_data.py new file mode 100644 index 0000000..3e55ff2 --- /dev/null +++ b/test/test_sse_event_step_finished_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_step_finished_data import SseEventStepFinishedData + +class TestSseEventStepFinishedData(unittest.TestCase): + """SseEventStepFinishedData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventStepFinishedData: + """Test SseEventStepFinishedData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventStepFinishedData` + """ + model = SseEventStepFinishedData() + if include_optional: + return SseEventStepFinishedData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventStepFinishedData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventStepFinishedData(self): + """Test SseEventStepFinishedData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_step_started_data.py b/test/test_sse_event_step_started_data.py new file mode 100644 index 0000000..4a129ec --- /dev/null +++ b/test/test_sse_event_step_started_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_step_started_data import SseEventStepStartedData + +class TestSseEventStepStartedData(unittest.TestCase): + """SseEventStepStartedData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventStepStartedData: + """Test SseEventStepStartedData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventStepStartedData` + """ + model = SseEventStepStartedData() + if include_optional: + return SseEventStepStartedData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventStepStartedData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventStepStartedData(self): + """Test SseEventStepStartedData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_text_message_content_data.py b/test/test_sse_event_text_message_content_data.py new file mode 100644 index 0000000..ee416a8 --- /dev/null +++ b/test/test_sse_event_text_message_content_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_text_message_content_data import SseEventTextMessageContentData + +class TestSseEventTextMessageContentData(unittest.TestCase): + """SseEventTextMessageContentData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventTextMessageContentData: + """Test SseEventTextMessageContentData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventTextMessageContentData` + """ + model = SseEventTextMessageContentData() + if include_optional: + return SseEventTextMessageContentData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventTextMessageContentData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventTextMessageContentData(self): + """Test SseEventTextMessageContentData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_text_message_end_data.py b/test/test_sse_event_text_message_end_data.py new file mode 100644 index 0000000..84d924d --- /dev/null +++ b/test/test_sse_event_text_message_end_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_text_message_end_data import SseEventTextMessageEndData + +class TestSseEventTextMessageEndData(unittest.TestCase): + """SseEventTextMessageEndData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventTextMessageEndData: + """Test SseEventTextMessageEndData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventTextMessageEndData` + """ + model = SseEventTextMessageEndData() + if include_optional: + return SseEventTextMessageEndData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventTextMessageEndData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventTextMessageEndData(self): + """Test SseEventTextMessageEndData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_text_message_start_data.py b/test/test_sse_event_text_message_start_data.py new file mode 100644 index 0000000..24a4e29 --- /dev/null +++ b/test/test_sse_event_text_message_start_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_text_message_start_data import SseEventTextMessageStartData + +class TestSseEventTextMessageStartData(unittest.TestCase): + """SseEventTextMessageStartData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventTextMessageStartData: + """Test SseEventTextMessageStartData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventTextMessageStartData` + """ + model = SseEventTextMessageStartData() + if include_optional: + return SseEventTextMessageStartData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventTextMessageStartData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventTextMessageStartData(self): + """Test SseEventTextMessageStartData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_title_updated_data.py b/test/test_sse_event_title_updated_data.py new file mode 100644 index 0000000..cdc69ba --- /dev/null +++ b/test/test_sse_event_title_updated_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_title_updated_data import SseEventTitleUpdatedData + +class TestSseEventTitleUpdatedData(unittest.TestCase): + """SseEventTitleUpdatedData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventTitleUpdatedData: + """Test SseEventTitleUpdatedData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventTitleUpdatedData` + """ + model = SseEventTitleUpdatedData() + if include_optional: + return SseEventTitleUpdatedData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventTitleUpdatedData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventTitleUpdatedData(self): + """Test SseEventTitleUpdatedData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_network_overview_metadata.py b/test/test_sse_event_tool_call_args_delta_data.py similarity index 55% rename from test/test_network_overview_metadata.py rename to test/test_sse_event_tool_call_args_delta_data.py index a5e1398..f69a6eb 100644 --- a/test/test_network_overview_metadata.py +++ b/test/test_sse_event_tool_call_args_delta_data.py @@ -13,10 +13,10 @@ import unittest -from revengai.models.network_overview_metadata import NetworkOverviewMetadata +from revengai.models.sse_event_tool_call_args_delta_data import SseEventToolCallArgsDeltaData -class TestNetworkOverviewMetadata(unittest.TestCase): - """NetworkOverviewMetadata unit test stubs""" +class TestSseEventToolCallArgsDeltaData(unittest.TestCase): + """SseEventToolCallArgsDeltaData unit test stubs""" def setUp(self): pass @@ -24,32 +24,30 @@ def setUp(self): def tearDown(self): pass - def make_instance(self, include_optional) -> NetworkOverviewMetadata: - """Test NetworkOverviewMetadata + def make_instance(self, include_optional) -> SseEventToolCallArgsDeltaData: + """Test SseEventToolCallArgsDeltaData include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `NetworkOverviewMetadata` + # uncomment below to create an instance of `SseEventToolCallArgsDeltaData` """ - model = NetworkOverviewMetadata() + model = SseEventToolCallArgsDeltaData() if include_optional: - return NetworkOverviewMetadata( - host = '', - country_code = '', - asn = '', - type = 'metadata' + return SseEventToolCallArgsDeltaData( + data = None, + event_id = 56, + type = '' ) else: - return NetworkOverviewMetadata( - host = '', - country_code = '', - asn = '', - type = 'metadata', + return SseEventToolCallArgsDeltaData( + data = None, + event_id = 56, + type = '', ) """ - def testNetworkOverviewMetadata(self): - """Test NetworkOverviewMetadata""" + def testSseEventToolCallArgsDeltaData(self): + """Test SseEventToolCallArgsDeltaData""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/test/test_sse_event_tool_call_end_data.py b/test/test_sse_event_tool_call_end_data.py new file mode 100644 index 0000000..e75dd36 --- /dev/null +++ b/test/test_sse_event_tool_call_end_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_tool_call_end_data import SseEventToolCallEndData + +class TestSseEventToolCallEndData(unittest.TestCase): + """SseEventToolCallEndData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventToolCallEndData: + """Test SseEventToolCallEndData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventToolCallEndData` + """ + model = SseEventToolCallEndData() + if include_optional: + return SseEventToolCallEndData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventToolCallEndData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventToolCallEndData(self): + """Test SseEventToolCallEndData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_tool_call_result_data.py b/test/test_sse_event_tool_call_result_data.py new file mode 100644 index 0000000..5d30c7c --- /dev/null +++ b/test/test_sse_event_tool_call_result_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_tool_call_result_data import SseEventToolCallResultData + +class TestSseEventToolCallResultData(unittest.TestCase): + """SseEventToolCallResultData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventToolCallResultData: + """Test SseEventToolCallResultData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventToolCallResultData` + """ + model = SseEventToolCallResultData() + if include_optional: + return SseEventToolCallResultData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventToolCallResultData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventToolCallResultData(self): + """Test SseEventToolCallResultData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_tool_call_start_data.py b/test/test_sse_event_tool_call_start_data.py new file mode 100644 index 0000000..d7b42ae --- /dev/null +++ b/test/test_sse_event_tool_call_start_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_tool_call_start_data import SseEventToolCallStartData + +class TestSseEventToolCallStartData(unittest.TestCase): + """SseEventToolCallStartData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventToolCallStartData: + """Test SseEventToolCallStartData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventToolCallStartData` + """ + model = SseEventToolCallStartData() + if include_optional: + return SseEventToolCallStartData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventToolCallStartData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventToolCallStartData(self): + """Test SseEventToolCallStartData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sse_event_tool_confirmation_required_data.py b/test/test_sse_event_tool_confirmation_required_data.py new file mode 100644 index 0000000..735d762 --- /dev/null +++ b/test/test_sse_event_tool_confirmation_required_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.sse_event_tool_confirmation_required_data import SseEventToolConfirmationRequiredData + +class TestSseEventToolConfirmationRequiredData(unittest.TestCase): + """SseEventToolConfirmationRequiredData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SseEventToolConfirmationRequiredData: + """Test SseEventToolConfirmationRequiredData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SseEventToolConfirmationRequiredData` + """ + model = SseEventToolConfirmationRequiredData() + if include_optional: + return SseEventToolConfirmationRequiredData( + data = None, + event_id = 56, + type = '' + ) + else: + return SseEventToolConfirmationRequiredData( + data = None, + event_id = 56, + type = '', + ) + """ + + def testSseEventToolConfirmationRequiredData(self): + """Test SseEventToolConfirmationRequiredData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_status_response.py b/test/test_status_response.py new file mode 100644 index 0000000..123adba --- /dev/null +++ b/test/test_status_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.status_response import StatusResponse + +class TestStatusResponse(unittest.TestCase): + """StatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StatusResponse: + """Test StatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StatusResponse` + """ + model = StatusResponse() + if include_optional: + return StatusResponse( + var_schema = '', + conversation_uuid = '', + status = '', + trace_id = '' + ) + else: + return StatusResponse( + conversation_uuid = '', + status = '', + ) + """ + + def testStatusResponse(self): + """Test StatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_stream_events200_response_inner.py b/test/test_stream_events200_response_inner.py new file mode 100644 index 0000000..0edf0c5 --- /dev/null +++ b/test/test_stream_events200_response_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + RevEng.AI API + + RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from revengai.models.stream_events200_response_inner import StreamEvents200ResponseInner + +class TestStreamEvents200ResponseInner(unittest.TestCase): + """StreamEvents200ResponseInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StreamEvents200ResponseInner: + """Test StreamEvents200ResponseInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StreamEvents200ResponseInner` + """ + model = StreamEvents200ResponseInner() + if include_optional: + return StreamEvents200ResponseInner( + data = { }, + event = 'TOOL_CONFIRMATION_REQUIRED', + id = 56, + retry = 56 + ) + else: + return StreamEvents200ResponseInner( + data = { }, + event = 'TOOL_CONFIRMATION_REQUIRED', + ) + """ + + def testStreamEvents200ResponseInner(self): + """Test StreamEvents200ResponseInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_ttps.py b/test/test_ttps.py deleted file mode 100644 index f10dd4b..0000000 --- a/test/test_ttps.py +++ /dev/null @@ -1,85 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.ttps import TTPS - -class TestTTPS(unittest.TestCase): - """TTPS unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> TTPS: - """Test TTPS - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `TTPS` - """ - model = TTPS() - if include_optional: - return TTPS( - success = True, - data = revengai.models.ttps_data.TTPS_Data( - score = 56, - ttps = [ - revengai.models.ttps_element.TTPS_Element( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, ) - ], ) - ) - else: - return TTPS( - success = True, - data = revengai.models.ttps_data.TTPS_Data( - score = 56, - ttps = [ - revengai.models.ttps_element.TTPS_Element( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, ) - ], ), - ) - """ - - def testTTPS(self): - """Test TTPS""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_ttps_data.py b/test/test_ttps_data.py deleted file mode 100644 index 8f42cde..0000000 --- a/test/test_ttps_data.py +++ /dev/null @@ -1,81 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.ttps_data import TTPSData - -class TestTTPSData(unittest.TestCase): - """TTPSData unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> TTPSData: - """Test TTPSData - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `TTPSData` - """ - model = TTPSData() - if include_optional: - return TTPSData( - score = 56, - ttps = [ - revengai.models.ttps_element.TTPS_Element( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, ) - ] - ) - else: - return TTPSData( - score = 56, - ttps = [ - revengai.models.ttps_element.TTPS_Element( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, ) - ], - ) - """ - - def testTTPSData(self): - """Test TTPSData""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_ttps_element.py b/test/test_ttps_element.py deleted file mode 100644 index 4031185..0000000 --- a/test/test_ttps_element.py +++ /dev/null @@ -1,73 +0,0 @@ -# coding: utf-8 - -""" - RevEng.AI API - - RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal. - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from revengai.models.ttps_element import TTPSElement - -class TestTTPSElement(unittest.TestCase): - """TTPSElement unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> TTPSElement: - """Test TTPSElement - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `TTPSElement` - """ - model = TTPSElement() - if include_optional: - return TTPSElement( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56 - ) - else: - return TTPSElement( - name = '', - attack = [ - revengai.models.ttps_attack.TTPS_Attack( - id = '', - name = '', ) - ], - occurrences = [ - revengai.models.ttps_occurance.TTPS_Occurance( - ppid = 56, - pid = 56, ) - ], - score = 56, - ) - """ - - def testTTPSElement(self): - """Test TTPSElement""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main()