From 4f174a7e7b0d215ee333bc349b70d99fa71188d9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 20 Oct 2026 07:53:10 +0000 Subject: [PATCH] Update SDK to version v4.73.0 - Generated from OpenAPI spec version v4.73.0 - Auto-generated by GitHub Actions --- .sdk-version | 2 +- README.md | 62 + apis/AgentApi.ts | 422 +- apis/AnalysesCoreApi.ts | 3697 +++++++++++++---- apis/AuthenticationUsersApi.ts | 84 + apis/FunctionsAIDecompilationApi.ts | 30 +- apis/FunctionsCoreApi.ts | 101 + apis/FunctionsRenamingHistoryApi.ts | 4 +- docs/AgentApi.md | 253 +- docs/AnalysesCoreApi.md | 1502 ++++++- docs/AuthenticationUsersApi.md | 55 + docs/FunctionsAIDecompilationApi.md | 18 +- docs/FunctionsCoreApi.md | 58 + docs/FunctionsRenamingHistoryApi.md | 4 +- models/APICombinationEvidence.ts | 98 + models/AnalysisBasicInfoOutputBody.ts | 10 + models/AnalysisDetailOutputBody.ts | 30 + models/AnalysisOperationBody.ts | 68 + models/AnalysisOperationsOutputBody.ts | 39 + models/AnalysisRecordBody.ts | 10 + ...Evidence.ts => ApiCombinationEvidence0.ts} | 0 models/Binary.ts | 10 + models/CallChainEvidence.ts | 56 +- models/DecompilerSummary.ts | 2 +- models/DecompilerSummaryEvidence.ts | 50 +- models/DisassemblySummaryEvidence.ts | 98 + models/DynamicExecutionResult.ts | 38 + models/DynamicExecutionSummaryResult.ts | 38 + models/ErrorBody.ts | 2 + models/Example.ts | 4 +- models/FunctionGlobalVariable.ts | 258 ++ models/FunctionSimilarity.ts | 2 +- models/FunctionSimilarityEvidence.ts | 54 +- models/FunctionUsage.ts | 63 + models/GetGlobalHistoryOutputBody.ts | 39 + models/GlobalHistoryEntry.ts | 59 + models/GlobalVariable.ts | 238 ++ models/HardcodedSecretEvidence.ts | 133 +- models/ImportedAPICallEvidence.ts | 98 + ...vidence.ts => ImportedApiCallEvidence0.ts} | 0 models/KnownConstantEvidence.ts | 50 +- models/ListAnalysisGlobalsOutputBody.ts | 50 + models/ListFunctionGlobalsOutputBody.ts | 46 + models/ListGlobalFunctionsOutputBody.ts | 36 + .../ListOperationPrerequisitesOutputBody.ts | 39 + models/ListPublicUsersOutputBody.ts | 39 + models/ModelInterpretationEvidence.ts | 68 +- models/ObjectSerializer.ts | 180 +- ...ExecutionMetadataDynamicExecutionResult.ts | 8 +- ...ryMetadataDynamicExecutionSummaryResult.ts | 8 +- models/OperationPrerequisitesBody.ts | 48 + ...onsMetadataRenameUnnamedFunctionsResult.ts | 81 + models/PublicUserBody.ts | 48 + models/ReferencedConstant.ts | 2 +- models/ReferencedConstantEvidence.ts | 60 +- models/RenameUnnamedFunctionsMetadata.ts | 58 + models/ReportBytesConstant.ts | 76 + models/ReportCallChain.ts | 38 + models/ReportCodeSummary.ts | 60 + models/ReportFinding.ts | 67 + models/ReportFindingEvidenceInner.ts | 62 + models/ReportFunctionSimilarity.ts | 59 + models/ReportImportedAPI.ts | 48 + models/ReportImportedAPICall.ts | 61 + models/ReportMeta.ts | 46 + models/ReportModelInterpretation.ts | 38 + models/ReportReferencedConstant.ts | 74 + models/ReportResult.ts | 16 +- models/ReportStringMatch.ts | 49 + models/ReportSubject.ts | 68 + models/RequeueAnalysisRequest.ts | 85 + models/ResolvedEntity.ts | 14 + models/Status.ts | 2 + models/StringMatchEvidence.ts | 50 +- models/UpdateAnalysisGlobalInputBody.ts | 48 + models/all.ts | 36 + package.json | 2 +- types/ObjectParamAPI.ts | 1068 ++++- types/ObservableAPI.ts | 1346 +++++- types/PromiseAPI.ts | 762 +++- 80 files changed, 11414 insertions(+), 1371 deletions(-) create mode 100644 models/APICombinationEvidence.ts create mode 100644 models/AnalysisOperationBody.ts create mode 100644 models/AnalysisOperationsOutputBody.ts rename models/{ApiCombinationEvidence.ts => ApiCombinationEvidence0.ts} (100%) create mode 100644 models/DisassemblySummaryEvidence.ts create mode 100644 models/DynamicExecutionResult.ts create mode 100644 models/DynamicExecutionSummaryResult.ts create mode 100644 models/FunctionGlobalVariable.ts create mode 100644 models/FunctionUsage.ts create mode 100644 models/GetGlobalHistoryOutputBody.ts create mode 100644 models/GlobalHistoryEntry.ts create mode 100644 models/GlobalVariable.ts create mode 100644 models/ImportedAPICallEvidence.ts rename models/{ImportedApiCallEvidence.ts => ImportedApiCallEvidence0.ts} (100%) create mode 100644 models/ListAnalysisGlobalsOutputBody.ts create mode 100644 models/ListFunctionGlobalsOutputBody.ts create mode 100644 models/ListGlobalFunctionsOutputBody.ts create mode 100644 models/ListOperationPrerequisitesOutputBody.ts create mode 100644 models/ListPublicUsersOutputBody.ts create mode 100644 models/OperationPrerequisitesBody.ts create mode 100644 models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.ts create mode 100644 models/PublicUserBody.ts create mode 100644 models/RenameUnnamedFunctionsMetadata.ts create mode 100644 models/ReportBytesConstant.ts create mode 100644 models/ReportCallChain.ts create mode 100644 models/ReportCodeSummary.ts create mode 100644 models/ReportFinding.ts create mode 100644 models/ReportFindingEvidenceInner.ts create mode 100644 models/ReportFunctionSimilarity.ts create mode 100644 models/ReportImportedAPI.ts create mode 100644 models/ReportImportedAPICall.ts create mode 100644 models/ReportMeta.ts create mode 100644 models/ReportModelInterpretation.ts create mode 100644 models/ReportReferencedConstant.ts create mode 100644 models/ReportStringMatch.ts create mode 100644 models/ReportSubject.ts create mode 100644 models/RequeueAnalysisRequest.ts create mode 100644 models/UpdateAnalysisGlobalInputBody.ts diff --git a/.sdk-version b/.sdk-version index 1be1028..848b85e 100644 --- a/.sdk-version +++ b/.sdk-version @@ -1 +1 @@ -v4.72.2 +v4.73.0 diff --git a/README.md b/README.md index 4a2ee40..5c8cd6b 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ Class | Method | HTTP request | Description *AgentApi* | [**v3GetCapabilitiesOperation**](docs/AgentApi.md#v3GetCapabilitiesOperation) | **GET** /v3/operations/capabilities/{analysis_id} | Get a capabilities operation. *AgentApi* | [**v3GetCryptoExplainOperation**](docs/AgentApi.md#v3GetCryptoExplainOperation) | **GET** /v3/operations/crypto-explain/{function_id} | Get a crypto-explain operation. *AgentApi* | [**v3GetCryptoScanOperation**](docs/AgentApi.md#v3GetCryptoScanOperation) | **GET** /v3/operations/crypto-scan/{analysis_id} | Get a crypto-scan operation. +*AgentApi* | [**v3GetCryptographyOperation**](docs/AgentApi.md#v3GetCryptographyOperation) | **GET** /v3/operations/cryptography/{analysis_id} | Get a cryptography operation. *AgentApi* | [**v3GetExecutionExplainOperation**](docs/AgentApi.md#v3GetExecutionExplainOperation) | **GET** /v3/operations/execution-explain/{function_id} | Get an execution-explain operation. *AgentApi* | [**v3GetExecutionScanOperation**](docs/AgentApi.md#v3GetExecutionScanOperation) | **GET** /v3/operations/execution-scan/{analysis_id} | Get an execution-scan operation. *AgentApi* | [**v3GetFilesystemAnalyseOperation**](docs/AgentApi.md#v3GetFilesystemAnalyseOperation) | **GET** /v3/operations/filesystem-analyse/{function_id} | Get a filesystem-analyse operation. @@ -79,15 +80,18 @@ Class | Method | HTTP request | Description *AgentApi* | [**v3GetNetworkingScanOperation**](docs/AgentApi.md#v3GetNetworkingScanOperation) | **GET** /v3/operations/networking-scan/{analysis_id} | Get a networking-scan operation. *AgentApi* | [**v3GetProtocolsOperation**](docs/AgentApi.md#v3GetProtocolsOperation) | **GET** /v3/operations/protocols/{analysis_id} | Get a protocols operation. *AgentApi* | [**v3GetRemediationOperation**](docs/AgentApi.md#v3GetRemediationOperation) | **GET** /v3/operations/remediation/{analysis_id} | Get a remediation operation. +*AgentApi* | [**v3GetRenameUnnamedFunctionsOperation**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsOperation) | **GET** /v3/operations/rename-unnamed-functions/{analysis_id} | Get a rename-unnamed-functions operation. *AgentApi* | [**v3GetRenameUnnamedFunctionsResult**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result. *AgentApi* | [**v3GetRenameUnnamedFunctionsStatus**](docs/AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status. *AgentApi* | [**v3GetReportAnalysisOperation**](docs/AgentApi.md#v3GetReportAnalysisOperation) | **GET** /v3/operations/report-analysis/{analysis_id} | Get a report-analysis operation. *AgentApi* | [**v3GetSecretsOperation**](docs/AgentApi.md#v3GetSecretsOperation) | **GET** /v3/operations/secrets/{analysis_id} | Get a secrets operation. *AgentApi* | [**v3GetSecurityScanOperation**](docs/AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation. *AgentApi* | [**v3GetTriageOperation**](docs/AgentApi.md#v3GetTriageOperation) | **GET** /v3/operations/triage/{analysis_id} | Get a triage operation. +*AgentApi* | [**v3ListOperationPrerequisites**](docs/AgentApi.md#v3ListOperationPrerequisites) | **GET** /v3/operation-prerequisites | List operation prerequisites. *AgentApi* | [**v3RunCapabilities**](docs/AgentApi.md#v3RunCapabilities) | **POST** /v3/analyses/{analysis_id}/capabilities:run | Run the capabilities agent. *AgentApi* | [**v3RunCryptoExplain**](docs/AgentApi.md#v3RunCryptoExplain) | **POST** /v3/functions/{function_id}/crypto-explain:run | Run the crypto-explain agent. *AgentApi* | [**v3RunCryptoScan**](docs/AgentApi.md#v3RunCryptoScan) | **POST** /v3/analyses/{analysis_id}/crypto-scan:run | Run the crypto-scan agent. +*AgentApi* | [**v3RunCryptography**](docs/AgentApi.md#v3RunCryptography) | **POST** /v3/analyses/{analysis_id}/cryptography:run | Run the cryptography agent. *AgentApi* | [**v3RunExecutionExplain**](docs/AgentApi.md#v3RunExecutionExplain) | **POST** /v3/functions/{function_id}/execution-explain:run | Run the execution-explain agent. *AgentApi* | [**v3RunExecutionScan**](docs/AgentApi.md#v3RunExecutionScan) | **POST** /v3/analyses/{analysis_id}/execution-scan:run | Run the execution-scan agent. *AgentApi* | [**v3RunFilesystemAnalyse**](docs/AgentApi.md#v3RunFilesystemAnalyse) | **POST** /v3/functions/{function_id}/filesystem-analyse:run | Run the filesystem-analyse agent. @@ -138,17 +142,37 @@ Class | Method | HTTP request | Description *AnalysesCoreApi* | [**v3GetAnalysis**](docs/AnalysesCoreApi.md#v3GetAnalysis) | **GET** /v3/analyses/{analysis_id} | Get an analysis. *AnalysesCoreApi* | [**v3GetAnalysisAutoUnstripStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis. *AnalysesCoreApi* | [**v3GetAnalysisFunctionsProgress**](docs/AnalysesCoreApi.md#v3GetAnalysisFunctionsProgress) | **GET** /v3/analyses/{analysis_id}/progress/functions | Get function embedding progress for an analysis. +*AnalysesCoreApi* | [**v3GetAnalysisGlobal**](docs/AnalysesCoreApi.md#v3GetAnalysisGlobal) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr} | Get one global variable. +*AnalysesCoreApi* | [**v3GetAnalysisGlobalHistory**](docs/AnalysesCoreApi.md#v3GetAnalysisGlobalHistory) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/history | List a global variable\'s replaced values. *AnalysesCoreApi* | [**v3GetAnalysisLogs**](docs/AnalysesCoreApi.md#v3GetAnalysisLogs) | **GET** /v3/analyses/{analysis_id}/logs | Get the Analysis log *AnalysesCoreApi* | [**v3GetAnalysisOperation**](docs/AnalysesCoreApi.md#v3GetAnalysisOperation) | **GET** /v3/operations/analyses/{analysis_id} | Get an Analysis-creation operation *AnalysesCoreApi* | [**v3GetAnalysisStrings**](docs/AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis. *AnalysesCoreApi* | [**v3GetAnalysisStringsStatus**](docs/AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis. *AnalysesCoreApi* | [**v3GetBinaryExportOperation**](docs/AnalysesCoreApi.md#v3GetBinaryExportOperation) | **GET** /v3/operations/binary-export/{task_id} | Get a binary export operation +*AnalysesCoreApi* | [**v3GetDynamicExecutionArtifact**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionArtifact) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256} | Download an artifact. +*AnalysesCoreApi* | [**v3GetDynamicExecutionLogsDownload**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionLogsDownload) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/logs/download | Download the execution logs archive. +*AnalysesCoreApi* | [**v3GetDynamicExecutionMemdump**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionMemdump) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256} | Download a memory dump. +*AnalysesCoreApi* | [**v3GetDynamicExecutionOperation**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionOperation) | **GET** /v3/operations/dynamic-execution/{analysis_id} | Get a dynamic execution operation. +*AnalysesCoreApi* | [**v3GetDynamicExecutionPcap**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionPcap) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/pcap | Download the network capture. +*AnalysesCoreApi* | [**v3GetDynamicExecutionReport**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionReport) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/report | Get the dynamic execution report. +*AnalysesCoreApi* | [**v3GetDynamicExecutionScreenshot**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionScreenshot) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index} | Download a screenshot. +*AnalysesCoreApi* | [**v3GetDynamicExecutionSummary**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionSummary) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/summary | Get the dynamic execution summary. +*AnalysesCoreApi* | [**v3GetDynamicExecutionSummaryOperation**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionSummaryOperation) | **GET** /v3/operations/dynamic-execution-summary/{analysis_id} | Get a dynamic execution summary operation. +*AnalysesCoreApi* | [**v3GetDynamicExecutionWiresharkKeys**](docs/AnalysesCoreApi.md#v3GetDynamicExecutionWiresharkKeys) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/wireshark-keys | Download Wireshark TLS session keys. *AnalysesCoreApi* | [**v3ListAnalyses**](docs/AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses +*AnalysesCoreApi* | [**v3ListAnalysisGlobals**](docs/AnalysesCoreApi.md#v3ListAnalysisGlobals) | **GET** /v3/analyses/{analysis_id}/globals | List the global variables in an analysis. +*AnalysesCoreApi* | [**v3ListAnalysisOperations**](docs/AnalysesCoreApi.md#v3ListAnalysisOperations) | **GET** /v3/analyses/{analysis_id}/operations | List the operations run on an analysis. +*AnalysesCoreApi* | [**v3ListDynamicExecutionScreenshots**](docs/AnalysesCoreApi.md#v3ListDynamicExecutionScreenshots) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots | List the screenshots captured during execution. *AnalysesCoreApi* | [**v3ListExampleAnalyses**](docs/AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses +*AnalysesCoreApi* | [**v3ListGlobalFunctions**](docs/AnalysesCoreApi.md#v3ListGlobalFunctions) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/functions | List the functions referencing a global variable. *AnalysesCoreApi* | [**v3LookupAnalysisByBinaryId**](docs/AnalysesCoreApi.md#v3LookupAnalysisByBinaryId) | **GET** /v3/analyses/lookup/{binary_id} | Look up the most recent analysis for a binary. *AnalysesCoreApi* | [**v3QueueBinaryExport**](docs/AnalysesCoreApi.md#v3QueueBinaryExport) | **POST** /v3/analyses/{analysis_id}/binary-export | Queue a binary export +*AnalysesCoreApi* | [**v3RequeueAnalysis**](docs/AnalysesCoreApi.md#v3RequeueAnalysis) | **POST** /v3/analyses/{analysis_id}/requeue | Requeue an analysis +*AnalysesCoreApi* | [**v3RunDynamicExecution**](docs/AnalysesCoreApi.md#v3RunDynamicExecution) | **POST** /v3/analyses/{analysis_id}/dynamic-execution:run | Trigger a dynamic execution run. +*AnalysesCoreApi* | [**v3RunDynamicExecutionSummary**](docs/AnalysesCoreApi.md#v3RunDynamicExecutionSummary) | **POST** /v3/analyses/{analysis_id}/dynamic-execution/summary:run | Regenerate the dynamic execution summary. *AnalysesCoreApi* | [**v3SearchTags**](docs/AnalysesCoreApi.md#v3SearchTags) | **GET** /v3/tags | Search tags *AnalysesCoreApi* | [**v3UpdateAnalysis**](docs/AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis. +*AnalysesCoreApi* | [**v3UpdateAnalysisGlobal**](docs/AnalysesCoreApi.md#v3UpdateAnalysisGlobal) | **PATCH** /v3/analyses/{analysis_id}/globals/{vaddr} | Edit a global variable. *AnalysesCoreApi* | [**v3UpdateAnalysisTags**](docs/AnalysesCoreApi.md#v3UpdateAnalysisTags) | **PATCH** /v3/analyses/{analysis_id}/tags | Replace an analysis\' tags. *AnalysesCoreApi* | [**v3UpgradeAnalysisModel**](docs/AnalysesCoreApi.md#v3UpgradeAnalysisModel) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model *AnalysesResultsMetadataApi* | [**getAnalysisFunctionsPaginated**](docs/AnalysesResultsMetadataApi.md#getAnalysisFunctionsPaginated) | **GET** /v2/analyses/{analysis_id}/functions | Get functions from analysis @@ -164,6 +188,7 @@ Class | Method | HTTP request | Description *AuthenticationUsersApi* | [**submitUserFeedback**](docs/AuthenticationUsersApi.md#submitUserFeedback) | **POST** /v2/users/feedback | Submit feedback about the application *AuthenticationUsersApi* | [**v3GetUser**](docs/AuthenticationUsersApi.md#v3GetUser) | **GET** /v3/users/{user_id} | Get a user\'s public information *AuthenticationUsersApi* | [**v3GetUserActivity**](docs/AuthenticationUsersApi.md#v3GetUserActivity) | **GET** /v3/users/activity | Get the caller\'s activity feed +*AuthenticationUsersApi* | [**v3ListUsers**](docs/AuthenticationUsersApi.md#v3ListUsers) | **GET** /v3/users | Search users *AuthenticationUsersApi* | [**v3SubmitUserFeedback**](docs/AuthenticationUsersApi.md#v3SubmitUserFeedback) | **POST** /v3/users/feedback | Submit feedback *BinariesApi* | [**downloadZippedBinary**](docs/BinariesApi.md#downloadZippedBinary) | **GET** /v2/binaries/{binary_id}/download-zipped | Downloads a zipped binary with password protection *BinariesApi* | [**getBinaryAdditionalDetails**](docs/BinariesApi.md#getBinaryAdditionalDetails) | **GET** /v2/binaries/{binary_id}/additional-details | Gets the additional details of a binary @@ -272,6 +297,7 @@ Class | Method | HTTP request | Description *FunctionsCoreApi* | [**startFunctionsMatching**](docs/FunctionsCoreApi.md#startFunctionsMatching) | **POST** /v3/functions/matches | Start function matching for an explicit set of functions *FunctionsCoreApi* | [**v3CanonicalizeFunctionNames**](docs/FunctionsCoreApi.md#v3CanonicalizeFunctionNames) | **POST** /v3/functions/canonical-names | Canonicalize a batch of function names *FunctionsCoreApi* | [**v3GetAnalysisFuncMaps**](docs/FunctionsCoreApi.md#v3GetAnalysisFuncMaps) | **GET** /v3/analyses/{analysis_id}/func-maps | Get function ID/address maps for an analysis +*FunctionsCoreApi* | [**v3ListFunctionGlobals**](docs/FunctionsCoreApi.md#v3ListFunctionGlobals) | **GET** /v3/functions/{function_id}/globals | List the global variables a function references. *FunctionsCoreApi* | [**v3SearchFunctions**](docs/FunctionsCoreApi.md#v3SearchFunctions) | **GET** /v3/functions | Search functions *FunctionsRenamingHistoryApi* | [**batchRenameFunction**](docs/FunctionsRenamingHistoryApi.md#batchRenameFunction) | **POST** /v2/functions/rename/batch | Batch Rename Functions *FunctionsRenamingHistoryApi* | [**batchRenameFunctions**](docs/FunctionsRenamingHistoryApi.md#batchRenameFunctions) | **POST** /v3/functions/rename | Batch rename functions @@ -295,6 +321,7 @@ Class | Method | HTTP request | Description ## Documentation for Models + - [APICombinationEvidence](APICombinationEvidence.md) - [APIError](APIError.md) - [AcceptTypeSuggestionsInputBody](AcceptTypeSuggestionsInputBody.md) - [AcceptTypeSuggestionsOutputBody](AcceptTypeSuggestionsOutputBody.md) @@ -334,6 +361,8 @@ Class | Method | HTTP request | Description - [AnalysisLogEntry](AnalysisLogEntry.md) - [AnalysisLogMessage](AnalysisLogMessage.md) - [AnalysisLogs](AnalysisLogs.md) + - [AnalysisOperationBody](AnalysisOperationBody.md) + - [AnalysisOperationsOutputBody](AnalysisOperationsOutputBody.md) - [AnalysisRecord](AnalysisRecord.md) - [AnalysisRecordBody](AnalysisRecordBody.md) - [AnalysisReport](AnalysisReport.md) @@ -567,14 +596,17 @@ Class | Method | HTTP request | Description - [DecompilerSummaryEvidence](DecompilerSummaryEvidence.md) - [DieMatch](DieMatch.md) - [DisassemblyOutputBody](DisassemblyOutputBody.md) + - [DisassemblySummaryEvidence](DisassemblySummaryEvidence.md) - [Display](Display.md) - [DnsQuery](DnsQuery.md) - [DrakvufFileMetadata](DrakvufFileMetadata.md) - [DynamicExecutionMetadata](DynamicExecutionMetadata.md) + - [DynamicExecutionResult](DynamicExecutionResult.md) - [DynamicExecutionStatus](DynamicExecutionStatus.md) - [DynamicExecutionStatusResponse](DynamicExecutionStatusResponse.md) - [DynamicExecutionSummary](DynamicExecutionSummary.md) - [DynamicExecutionSummaryMetadata](DynamicExecutionSummaryMetadata.md) + - [DynamicExecutionSummaryResult](DynamicExecutionSummaryResult.md) - [ELFImportModel](ELFImportModel.md) - [ELFModel](ELFModel.md) - [ELFRelocation](ELFRelocation.md) @@ -662,6 +694,7 @@ Class | Method | HTTP request | Description - [FunctionCapabilityResponse](FunctionCapabilityResponse.md) - [FunctionDataType](FunctionDataType.md) - [FunctionDetailsOutputBody](FunctionDetailsOutputBody.md) + - [FunctionGlobalVariable](FunctionGlobalVariable.md) - [FunctionListItem](FunctionListItem.md) - [FunctionLocalVariableResponse](FunctionLocalVariableResponse.md) - [FunctionMapping](FunctionMapping.md) @@ -683,6 +716,7 @@ Class | Method | HTTP request | Description - [FunctionStringItem](FunctionStringItem.md) - [FunctionStringsResponse](FunctionStringsResponse.md) - [FunctionTypeDefinition](FunctionTypeDefinition.md) + - [FunctionUsage](FunctionUsage.md) - [FunctionsDetailResponse](FunctionsDetailResponse.md) - [FunctionsListRename](FunctionsListRename.md) - [FunctionsProgressOutputBody](FunctionsProgressOutputBody.md) @@ -700,6 +734,7 @@ Class | Method | HTTP request | Description - [GetDieInfoOutputBody](GetDieInfoOutputBody.md) - [GetFunctionMapsOutputBody](GetFunctionMapsOutputBody.md) - [GetFunctionSignatureHistoryBody](GetFunctionSignatureHistoryBody.md) + - [GetGlobalHistoryOutputBody](GetGlobalHistoryOutputBody.md) - [GetMatchesOutputBody](GetMatchesOutputBody.md) - [GetMatchesStatusOutputBody](GetMatchesStatusOutputBody.md) - [GetModelsOutputBody](GetModelsOutputBody.md) @@ -711,6 +746,8 @@ Class | Method | HTTP request | Description - [GetSubscriptionOutputBody](GetSubscriptionOutputBody.md) - [GetTokensResponse](GetTokensResponse.md) - [GetUserActivityOutputBody](GetUserActivityOutputBody.md) + - [GlobalHistoryEntry](GlobalHistoryEntry.md) + - [GlobalVariable](GlobalVariable.md) - [HardcodedSecretEvidence](HardcodedSecretEvidence.md) - [HistoryActor](HistoryActor.md) - [HistoryEntry](HistoryEntry.md) @@ -720,6 +757,7 @@ Class | Method | HTTP request | Description - [IconModel](IconModel.md) - [ImportDynamicExecutionFileOutputBody](ImportDynamicExecutionFileOutputBody.md) - [ImportModel](ImportModel.md) + - [ImportedAPICallEvidence](ImportedAPICallEvidence.md) - [ImportedApi](ImportedApi.md) - [ImportedApiCall](ImportedApiCall.md) - [ImportedApiCallEvidence](ImportedApiCallEvidence.md) @@ -738,15 +776,20 @@ Class | Method | HTTP request | Description - [ListAnalysesOutputBody](ListAnalysesOutputBody.md) - [ListAnalysisDataTypesOutputBody](ListAnalysisDataTypesOutputBody.md) - [ListAnalysisFunctionsOutputBody](ListAnalysisFunctionsOutputBody.md) + - [ListAnalysisGlobalsOutputBody](ListAnalysisGlobalsOutputBody.md) - [ListAnalysisStringsOutputBody](ListAnalysisStringsOutputBody.md) - [ListArchiveContentsOutputBody](ListArchiveContentsOutputBody.md) - [ListCollectionResults](ListCollectionResults.md) - [ListCollectionsOutputBody](ListCollectionsOutputBody.md) - [ListDataTypeFunctionsBody](ListDataTypeFunctionsBody.md) - [ListExampleAnalysesOutputBody](ListExampleAnalysesOutputBody.md) + - [ListFunctionGlobalsOutputBody](ListFunctionGlobalsOutputBody.md) - [ListFunctionSignaturesOutputBody](ListFunctionSignaturesOutputBody.md) - [ListFunctionStringsOutputBody](ListFunctionStringsOutputBody.md) + - [ListGlobalFunctionsOutputBody](ListGlobalFunctionsOutputBody.md) - [ListImportedFunctionsOutputBody](ListImportedFunctionsOutputBody.md) + - [ListOperationPrerequisitesOutputBody](ListOperationPrerequisitesOutputBody.md) + - [ListPublicUsersOutputBody](ListPublicUsersOutputBody.md) - [ListSecretStoreOutputBody](ListSecretStoreOutputBody.md) - [ListTeamsOutputBody](ListTeamsOutputBody.md) - [ListUsersOutputBody](ListUsersOutputBody.md) @@ -799,6 +842,8 @@ Class | Method | HTTP request | Description - [OperationMetadataTriageResult](OperationMetadataTriageResult.md) - [OperationNetworkingExplainMetadataNetworkingExplainResult](OperationNetworkingExplainMetadataNetworkingExplainResult.md) - [OperationNetworkingScanMetadataNetworkingScanResult](OperationNetworkingScanMetadataNetworkingScanResult.md) + - [OperationPrerequisitesBody](OperationPrerequisitesBody.md) + - [OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult](OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.md) - [OperationSecurityScanMetadataSecurityScanResult](OperationSecurityScanMetadataSecurityScanResult.md) - [OperationVirusTotalScanMetadataVirusTotalScanResult](OperationVirusTotalScanMetadataVirusTotalScanResult.md) - [OperationWorkflowProgressResultBody](OperationWorkflowProgressResultBody.md) @@ -835,6 +880,7 @@ Class | Method | HTTP request | Description - [ProgressMessage](ProgressMessage.md) - [ProseEvent](ProseEvent.md) - [ProtocolsAgentResponse](ProtocolsAgentResponse.md) + - [PublicUserBody](PublicUserBody.md) - [PutAnalysisStringsRequest](PutAnalysisStringsRequest.md) - [QueuedWorkflowTaskResponse](QueuedWorkflowTaskResponse.md) - [RatingOutputBody](RatingOutputBody.md) @@ -854,16 +900,31 @@ Class | Method | HTTP request | Description - [RenameAppliedEvent](RenameAppliedEvent.md) - [RenameInputBody](RenameInputBody.md) - [RenameOutputBody](RenameOutputBody.md) + - [RenameUnnamedFunctionsMetadata](RenameUnnamedFunctionsMetadata.md) - [RenameUnnamedFunctionsResult](RenameUnnamedFunctionsResult.md) - [RenderedToken](RenderedToken.md) - [ReportAnalysisBody](ReportAnalysisBody.md) - [ReportAnalysisResponse](ReportAnalysisResponse.md) + - [ReportBytesConstant](ReportBytesConstant.md) + - [ReportCallChain](ReportCallChain.md) + - [ReportCodeSummary](ReportCodeSummary.md) - [ReportEvent](ReportEvent.md) + - [ReportFinding](ReportFinding.md) + - [ReportFindingEvidenceInner](ReportFindingEvidenceInner.md) + - [ReportFunctionSimilarity](ReportFunctionSimilarity.md) + - [ReportImportedAPI](ReportImportedAPI.md) + - [ReportImportedAPICall](ReportImportedAPICall.md) - [ReportInfo](ReportInfo.md) + - [ReportMeta](ReportMeta.md) + - [ReportModelInterpretation](ReportModelInterpretation.md) - [ReportOptions](ReportOptions.md) - [ReportReachabilityStatus](ReportReachabilityStatus.md) + - [ReportReferencedConstant](ReportReferencedConstant.md) - [ReportResult](ReportResult.md) + - [ReportStringMatch](ReportStringMatch.md) + - [ReportSubject](ReportSubject.md) - [RequestedConfigBody](RequestedConfigBody.md) + - [RequeueAnalysisRequest](RequeueAnalysisRequest.md) - [ResendVerificationEmailInputBody](ResendVerificationEmailInputBody.md) - [ResolvedEntity](ResolvedEntity.md) - [ResultBody](ResultBody.md) @@ -997,6 +1058,7 @@ Class | Method | HTTP request | Description - [UnionDefinition](UnionDefinition.md) - [UnknownDataType](UnknownDataType.md) - [UpdateAnalysisDataTypesInputBody](UpdateAnalysisDataTypesInputBody.md) + - [UpdateAnalysisGlobalInputBody](UpdateAnalysisGlobalInputBody.md) - [UpdateAnalysisInputBody](UpdateAnalysisInputBody.md) - [UpdateArrayDataType](UpdateArrayDataType.md) - [UpdateBaseDataType](UpdateBaseDataType.md) diff --git a/apis/AgentApi.ts b/apis/AgentApi.ts index 1b77492..a8be507 100644 --- a/apis/AgentApi.ts +++ b/apis/AgentApi.ts @@ -19,6 +19,7 @@ import { BaseResponseSecretsAgentResponse } from '../models/BaseResponseSecretsA import { BaseResponseTriageReportResponse } from '../models/BaseResponseTriageReportResponse'; import { ErrorModel } from '../models/ErrorModel'; import { FeedbackOutputBody } from '../models/FeedbackOutputBody'; +import { ListOperationPrerequisitesOutputBody } from '../models/ListOperationPrerequisitesOutputBody'; import { OperationCryptoExplainMetadataCryptoExplainResult } from '../models/OperationCryptoExplainMetadataCryptoExplainResult'; import { OperationCryptoScanMetadataCryptoScanResult } from '../models/OperationCryptoScanMetadataCryptoScanResult'; import { OperationExecutionExplainMetadataExecutionExplainResult } from '../models/OperationExecutionExplainMetadataExecutionExplainResult'; @@ -32,6 +33,7 @@ import { OperationMetadataThreatReportResult } from '../models/OperationMetadata import { OperationMetadataTriageResult } from '../models/OperationMetadataTriageResult'; import { OperationNetworkingExplainMetadataNetworkingExplainResult } from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; import { OperationNetworkingScanMetadataNetworkingScanResult } from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +import { OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult } from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; import { OperationSecurityScanMetadataSecurityScanResult } from '../models/OperationSecurityScanMetadataSecurityScanResult'; import { QueuedWorkflowTaskResponse } from '../models/QueuedWorkflowTaskResponse'; import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; @@ -941,7 +943,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { * @param analysisId Analysis ID * @param agent Which agent\'s output the feedback is about */ - public async v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', _options?: Configuration): Promise { + public async v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined @@ -1115,6 +1117,49 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param analysisId Analysis ID + */ + public async v3GetCryptographyOperation(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AgentApi", "v3GetCryptographyOperation", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/operations/cryptography/{analysis_id}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Returns the current state of the execution-explain run for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get an execution-explain operation. @@ -1374,7 +1419,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param analysisId Analysis ID */ @@ -1459,6 +1504,49 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param analysisId Analysis ID + */ + public async v3GetRenameUnnamedFunctionsOperation(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AgentApi", "v3GetRenameUnnamedFunctionsOperation", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/operations/rename-unnamed-functions/{analysis_id}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Returns the summary of the most recent completed rename-unnamed-functions run. Returns 409 while a run is still in progress and 404 when the agent has never produced a result for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get rename-unnamed-functions agent result. @@ -1589,7 +1677,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param analysisId Analysis ID */ @@ -1718,7 +1806,42 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + */ + public async v3ListOperationPrerequisites(_options?: Configuration): Promise { + let _config = _options || this.configuration; + + // Path Params + const localVarPath = '/v3/operation-prerequisites'; + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param analysisId Analysis ID */ @@ -1804,7 +1927,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param analysisId Analysis ID * @param triggerCryptoScanInputBody @@ -1864,6 +1987,49 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param analysisId Analysis ID + */ + public async v3RunCryptography(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AgentApi", "v3RunCryptography", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/cryptography:run' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Starts an agent that explains the code execution the function performs, and returns the operation to poll for its outcome. Requires credits. Returns 409 while a run is already in progress for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Run the execution-explain agent. @@ -1926,7 +2092,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param analysisId Analysis ID * @param triggerExecutionScanInputBody @@ -2048,7 +2214,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param analysisId Analysis ID * @param triggerFilesystemScanInputBody @@ -2170,7 +2336,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param analysisId Analysis ID * @param triggerNetworkingScanInputBody @@ -2231,7 +2397,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param analysisId Analysis ID */ @@ -2274,7 +2440,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param analysisId Analysis ID */ @@ -2317,7 +2483,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param analysisId Analysis ID */ @@ -2360,7 +2526,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param analysisId Analysis ID */ @@ -2464,7 +2630,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param analysisId Analysis ID */ @@ -2574,7 +2740,7 @@ export class AgentApiRequestFactory extends BaseAPIRequestFactory { * @param agent Which agent\'s output the feedback is about * @param submitFeedbackInputBody */ - public async v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: Configuration): Promise { + public async v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined @@ -3636,6 +3802,70 @@ export class AgentApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3GetCryptographyOperation + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3GetCryptographyOperationWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: OperationMetadataReportResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationMetadataReportResult", "" + ) as OperationMetadataReportResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: OperationMetadataReportResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationMetadataReportResult", "" + ) as OperationMetadataReportResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -4106,6 +4336,63 @@ export class AgentApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3GetRenameUnnamedFunctionsOperation + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3GetRenameUnnamedFunctionsOperationWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult", "" + ) as OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult", "" + ) as OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -4476,6 +4763,42 @@ export class AgentApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3ListOperationPrerequisites + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3ListOperationPrerequisitesWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: ListOperationPrerequisitesOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListOperationPrerequisitesOutputBody", "" + ) as ListOperationPrerequisitesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("0", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ListOperationPrerequisitesOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListOperationPrerequisitesOutputBody", "" + ) as ListOperationPrerequisitesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects @@ -4682,6 +5005,77 @@ export class AgentApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3RunCryptography + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3RunCryptographyWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: OperationMetadataReportResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationMetadataReportResult", "" + ) as OperationMetadataReportResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("402", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Payment Required", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: OperationMetadataReportResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationMetadataReportResult", "" + ) as OperationMetadataReportResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects diff --git a/apis/AnalysesCoreApi.ts b/apis/AnalysesCoreApi.ts index 8cc5e8a..e8e0fcb 100644 --- a/apis/AnalysesCoreApi.ts +++ b/apis/AnalysesCoreApi.ts @@ -13,6 +13,7 @@ import { AddUserStringInputBody } from '../models/AddUserStringInputBody'; import { AnalysisBasicInfoOutputBody } from '../models/AnalysisBasicInfoOutputBody'; import { AnalysisCreateRequest } from '../models/AnalysisCreateRequest'; import { AnalysisDetailOutputBody } from '../models/AnalysisDetailOutputBody'; +import { AnalysisOperationsOutputBody } from '../models/AnalysisOperationsOutputBody'; import { AnalysisReport } from '../models/AnalysisReport'; import { AnalysisTagsOutputBody } from '../models/AnalysisTagsOutputBody'; import { AnalysisUpdateRequest } from '../models/AnalysisUpdateRequest'; @@ -34,26 +35,37 @@ import { BaseResponseStatus } from '../models/BaseResponseStatus'; import { BaseResponseUploadResponse } from '../models/BaseResponseUploadResponse'; import { DynamicExecutionStatus } from '../models/DynamicExecutionStatus'; import { DynamicExecutionStatusResponse } from '../models/DynamicExecutionStatusResponse'; +import { DynamicExecutionSummary } from '../models/DynamicExecutionSummary'; import { FunctionsProgressOutputBody } from '../models/FunctionsProgressOutputBody'; import { GetAnalysisLogsOutputBody } from '../models/GetAnalysisLogsOutputBody'; import { GetAnalysisStringsStatusOutputBody } from '../models/GetAnalysisStringsStatusOutputBody'; +import { GetGlobalHistoryOutputBody } from '../models/GetGlobalHistoryOutputBody'; import { GetMatchesOutputBody } from '../models/GetMatchesOutputBody'; import { GetMatchesStatusOutputBody } from '../models/GetMatchesStatusOutputBody'; +import { GlobalVariable } from '../models/GlobalVariable'; import { InsertAnalysisLogRequest } from '../models/InsertAnalysisLogRequest'; import { ListAnalysesOutputBody } from '../models/ListAnalysesOutputBody'; +import { ListAnalysisGlobalsOutputBody } from '../models/ListAnalysisGlobalsOutputBody'; import { ListAnalysisStringsOutputBody } from '../models/ListAnalysisStringsOutputBody'; import { ListExampleAnalysesOutputBody } from '../models/ListExampleAnalysesOutputBody'; +import { ListGlobalFunctionsOutputBody } from '../models/ListGlobalFunctionsOutputBody'; import { LookupAnalysisByBinaryIDOutputBody } from '../models/LookupAnalysisByBinaryIDOutputBody'; import { ModelName } from '../models/ModelName'; import { OperationBinaryExportMetadataBinaryExportResult } from '../models/OperationBinaryExportMetadataBinaryExportResult'; import { OperationCreateMetadataCreateResult } from '../models/OperationCreateMetadataCreateResult'; +import { OperationDynamicExecutionMetadataDynamicExecutionResult } from '../models/OperationDynamicExecutionMetadataDynamicExecutionResult'; +import { OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult } from '../models/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult'; import { Order } from '../models/Order'; import { PutAnalysisStringsRequest } from '../models/PutAnalysisStringsRequest'; import { ReAnalysisForm } from '../models/ReAnalysisForm'; +import { RequeueAnalysisRequest } from '../models/RequeueAnalysisRequest'; +import { RunDynamicExecutionInputBody } from '../models/RunDynamicExecutionInputBody'; +import { ScreenshotsIndex } from '../models/ScreenshotsIndex'; import { SearchTagsOutputBody } from '../models/SearchTagsOutputBody'; import { StartMatchingForAnalysisInputBody } from '../models/StartMatchingForAnalysisInputBody'; import { StartMatchingOutputBody } from '../models/StartMatchingOutputBody'; import { StatusInput } from '../models/StatusInput'; +import { UpdateAnalysisGlobalInputBody } from '../models/UpdateAnalysisGlobalInputBody'; import { UpdateAnalysisInputBody } from '../models/UpdateAnalysisInputBody'; import { UpdateTagsInputBody } from '../models/UpdateTagsInputBody'; import { UpgradeAnalysisModelOutputBody } from '../models/UpgradeAnalysisModelOutputBody'; @@ -1432,7 +1444,7 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { * @param analysisId Analysis ID * @param taskId Task ID returned by queueing the export */ - public async v3DownloadBinaryExport(analysisId: number, taskId?: string, _options?: Configuration): Promise { + public async v3DownloadBinaryExport(analysisId: number, taskId: string, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined @@ -1441,6 +1453,11 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } + // verify required parameter 'taskId' is not null or undefined + if (taskId === null || taskId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3DownloadBinaryExport", "taskId"); + } + // Path Params const localVarPath = '/v3/analyses/{analysis_id}/binary-export' @@ -1605,6 +1622,108 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public async v3GetAnalysisGlobal(analysisId: number, vaddr: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetAnalysisGlobal", "analysisId"); + } + + + // verify required parameter 'vaddr' is not null or undefined + if (vaddr === null || vaddr === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetAnalysisGlobal", "vaddr"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/globals/{vaddr}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'vaddr' + '}', encodeURIComponent(String(vaddr))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public async v3GetAnalysisGlobalHistory(analysisId: number, vaddr: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetAnalysisGlobalHistory", "analysisId"); + } + + + // verify required parameter 'vaddr' is not null or undefined + if (vaddr === null || vaddr === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetAnalysisGlobalHistory", "vaddr"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/globals/{vaddr}/history' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'vaddr' + '}', encodeURIComponent(String(vaddr))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get the Analysis log @@ -1870,114 +1989,40 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - * List analyses - * @param searchTerm - * @param analysisScope Leave empty to search your own, your team\'s and all public analyses - * @param status - * @param modelName - * @param usernames - * @param sha256Hash - * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort - * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter - * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter - * @param pageSize - * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). - * @param orderBy - * @param order + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. */ - public async v3ListAnalyses(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: Configuration): Promise { + public async v3GetDynamicExecutionArtifact(analysisId: number, sha256: string, filename?: string, _options?: Configuration): Promise { let _config = _options || this.configuration; + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionArtifact", "analysisId"); + } - - - - - - - - + // verify required parameter 'sha256' is not null or undefined + if (sha256 === null || sha256 === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionArtifact", "sha256"); + } // Path Params - const localVarPath = '/v3/analyses'; + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'sha256' + '}', encodeURIComponent(String(sha256))); // Make Request Context const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") // Query Params - if (searchTerm !== undefined) { - requestContext.setQueryParam("search_term", ObjectSerializer.serialize(searchTerm, "string", "")); - } - - // Query Params - if (analysisScope !== undefined) { - const serializedParams = ObjectSerializer.serialize(analysisScope, "Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>", ""); - for (const serializedParam of serializedParams) { - requestContext.appendQueryParam("analysis_scope", serializedParam); - } - } - - // Query Params - if (status !== undefined) { - const serializedParams = ObjectSerializer.serialize(status, "Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>", ""); - for (const serializedParam of serializedParams) { - requestContext.appendQueryParam("status", serializedParam); - } - } - - // Query Params - if (modelName !== undefined) { - requestContext.setQueryParam("model_name", ObjectSerializer.serialize(modelName, "Array", "")); - } - - // Query Params - if (usernames !== undefined) { - requestContext.setQueryParam("usernames", ObjectSerializer.serialize(usernames, "Array", "")); - } - - // Query Params - if (sha256Hash !== undefined) { - requestContext.setQueryParam("sha256_hash", ObjectSerializer.serialize(sha256Hash, "string", "")); - } - - // Query Params - if (binaryId !== undefined) { - requestContext.setQueryParam("binary_id", ObjectSerializer.serialize(binaryId, "number", "int64")); - } - - // Query Params - if (platform !== undefined) { - requestContext.setQueryParam("platform", ObjectSerializer.serialize(platform, "Array<'windows' | 'linux' | 'android'>", "")); - } - - // Query Params - if (architecture !== undefined) { - requestContext.setQueryParam("architecture", ObjectSerializer.serialize(architecture, "Array<'x86_64' | 'x86_32' | 'arm_64'>", "")); - } - - // Query Params - if (pageSize !== undefined) { - requestContext.setQueryParam("page_size", ObjectSerializer.serialize(pageSize, "number", "int64")); - } - - // Query Params - if (nextPageToken !== undefined) { - requestContext.setQueryParam("next_page_token", ObjectSerializer.serialize(nextPageToken, "string", "")); - } - - // Query Params - if (orderBy !== undefined) { - requestContext.setQueryParam("order_by", ObjectSerializer.serialize(orderBy, "'created' | 'binary_name' | 'binary_size'", "")); - } - - // Query Params - if (order !== undefined) { - requestContext.setQueryParam("order", ObjectSerializer.serialize(order, "'ASC' | 'DESC'", "")); + if (filename !== undefined) { + requestContext.setQueryParam("filename", ObjectSerializer.serialize(filename, "string", "")); } @@ -2002,14 +2047,22 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Returns the curated example Analyses. - * List example analyses + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param analysisId Analysis ID */ - public async v3ListExampleAnalyses(_options?: Configuration): Promise { + public async v3GetDynamicExecutionLogsDownload(analysisId: number, _options?: Configuration): Promise { let _config = _options || this.configuration; + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionLogsDownload", "analysisId"); + } + + // Path Params - const localVarPath = '/v3/analyses/examples'; + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/logs/download' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); // Make Request Context const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); @@ -2037,27 +2090,42 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - * Look up the most recent analysis for a binary. - * @param binaryId Binary ID + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param filename Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. */ - public async v3LookupAnalysisByBinaryId(binaryId: number, _options?: Configuration): Promise { + public async v3GetDynamicExecutionMemdump(analysisId: number, sha256: string, filename?: string, _options?: Configuration): Promise { let _config = _options || this.configuration; - // verify required parameter 'binaryId' is not null or undefined - if (binaryId === null || binaryId === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3LookupAnalysisByBinaryId", "binaryId"); + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionMemdump", "analysisId"); + } + + + // verify required parameter 'sha256' is not null or undefined + if (sha256 === null || sha256 === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionMemdump", "sha256"); } + // Path Params - const localVarPath = '/v3/analyses/lookup/{binary_id}' - .replace('{' + 'binary_id' + '}', encodeURIComponent(String(binaryId))); + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'sha256' + '}', encodeURIComponent(String(sha256))); // Make Request Context const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + // Query Params + if (filename !== undefined) { + requestContext.setQueryParam("filename", ObjectSerializer.serialize(filename, "string", "")); + } + let authMethod: SecurityAuthentication | undefined; // Apply auth methods @@ -2080,25 +2148,25 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Queue a binary export + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. * @param analysisId Analysis ID */ - public async v3QueueBinaryExport(analysisId: number, _options?: Configuration): Promise { + public async v3GetDynamicExecutionOperation(analysisId: number, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined if (analysisId === null || analysisId === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3QueueBinaryExport", "analysisId"); + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionOperation", "analysisId"); } // Path Params - const localVarPath = '/v3/analyses/{analysis_id}/binary-export' + const localVarPath = '/v3/operations/dynamic-execution/{analysis_id}' .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); // Make Request Context - const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") @@ -2123,40 +2191,27 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed - * Search tags - * @param partialName Partial or full tag name to search for, at least 3 characters - * @param limit Maximum results to return - * @param offset Number of results to skip + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param analysisId Analysis ID */ - public async v3SearchTags(partialName?: string, limit?: number, offset?: number, _options?: Configuration): Promise { + public async v3GetDynamicExecutionPcap(analysisId: number, _options?: Configuration): Promise { let _config = _options || this.configuration; - + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionPcap", "analysisId"); + } // Path Params - const localVarPath = '/v3/tags'; + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/pcap' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); // Make Request Context const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") - // Query Params - if (partialName !== undefined) { - requestContext.setQueryParam("partial_name", ObjectSerializer.serialize(partialName, "string", "")); - } - - // Query Params - if (limit !== undefined) { - requestContext.setQueryParam("limit", ObjectSerializer.serialize(limit, "number", "int64")); - } - - // Query Params - if (offset !== undefined) { - requestContext.setQueryParam("offset", ObjectSerializer.serialize(offset, "number", "int64")); - } - let authMethod: SecurityAuthentication | undefined; // Apply auth methods @@ -2179,46 +2234,28 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Renames the analysis\' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Update an analysis. + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. * @param analysisId Analysis ID - * @param updateAnalysisInputBody */ - public async v3UpdateAnalysis(analysisId: number, updateAnalysisInputBody: UpdateAnalysisInputBody, _options?: Configuration): Promise { + public async v3GetDynamicExecutionReport(analysisId: number, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined if (analysisId === null || analysisId === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysis", "analysisId"); - } - - - // verify required parameter 'updateAnalysisInputBody' is not null or undefined - if (updateAnalysisInputBody === null || updateAnalysisInputBody === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysis", "updateAnalysisInputBody"); + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionReport", "analysisId"); } // Path Params - const localVarPath = '/v3/analyses/{analysis_id}' + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/report' .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); // Make Request Context - const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH); + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") - // Body Params - const contentType = ObjectSerializer.getPreferredMediaType([ - "application/json" - ]); - requestContext.setHeaderParam("Content-Type", contentType); - const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(updateAnalysisInputBody, "UpdateAnalysisInputBody", ""), - contentType - ); - requestContext.setBody(serializedBody); - let authMethod: SecurityAuthentication | undefined; // Apply auth methods authMethod = _config.authMethods["APIKey"] @@ -2240,45 +2277,121 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Replaces the analysis\' binary\'s user tags (origin RevEng) with the given set. A tag recorded under any other origin, such as a heuristic detection sharing a name with a user tag, is left in place even when its name is absent from the request. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Replace an analysis\' tags. + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. * @param analysisId Analysis ID - * @param updateTagsInputBody + * @param index Index of the screenshot, as listed by the screenshots endpoint */ - public async v3UpdateAnalysisTags(analysisId: number, updateTagsInputBody: UpdateTagsInputBody, _options?: Configuration): Promise { + public async v3GetDynamicExecutionScreenshot(analysisId: number, index: number, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined if (analysisId === null || analysisId === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisTags", "analysisId"); + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionScreenshot", "analysisId"); } - // verify required parameter 'updateTagsInputBody' is not null or undefined - if (updateTagsInputBody === null || updateTagsInputBody === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisTags", "updateTagsInputBody"); + // verify required parameter 'index' is not null or undefined + if (index === null || index === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionScreenshot", "index"); } // Path Params - const localVarPath = '/v3/analyses/{analysis_id}/tags' + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'index' + '}', encodeURIComponent(String(index))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param analysisId Analysis ID + */ + public async v3GetDynamicExecutionSummary(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionSummary", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/summary' .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); // Make Request Context - const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH); + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") - // Body Params - const contentType = ObjectSerializer.getPreferredMediaType([ - "application/json" - ]); - requestContext.setHeaderParam("Content-Type", contentType); - const serializedBody = ObjectSerializer.stringify( - ObjectSerializer.serialize(updateTagsInputBody, "UpdateTagsInputBody", ""), - contentType - ); - requestContext.setBody(serializedBody); + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param analysisId Analysis ID + */ + public async v3GetDynamicExecutionSummaryOperation(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionSummaryOperation", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/operations/dynamic-execution-summary/{analysis_id}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + let authMethod: SecurityAuthentication | undefined; // Apply auth methods @@ -2301,68 +2414,1918 @@ export class AnalysesCoreApiRequestFactory extends BaseAPIRequestFactory { } /** - * Re-runs an analysis created on an older model against the current unified model, in place — the analysis ID does not change. No credits are consumed. Only the owner may call it, and only once the analysis has settled: the pipeline clears the binary\'s functions, names, data types and signatures before re-running. Returns 409 if the analysis is already on the latest model, or is still running. Poll `GET /v3/analyses/{analysis_id}/basic` for status, as with any other run. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - * Re-analyse on the latest model + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. * @param analysisId Analysis ID */ - public async v3UpgradeAnalysisModel(analysisId: number, _options?: Configuration): Promise { + public async v3GetDynamicExecutionWiresharkKeys(analysisId: number, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'analysisId' is not null or undefined if (analysisId === null || analysisId === undefined) { - throw new RequiredError("AnalysesCoreApi", "v3UpgradeAnalysisModel", "analysisId"); + throw new RequiredError("AnalysesCoreApi", "v3GetDynamicExecutionWiresharkKeys", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/wireshark-keys' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List analyses + * @param searchTerm + * @param analysisScope Leave empty to search your own, your team\'s and all public analyses + * @param status + * @param modelName + * @param usernames + * @param sha256Hash + * @param binaryId Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort + * @param platform Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter + * @param architecture Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter + * @param pageSize + * @param nextPageToken Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). + * @param orderBy + * @param order + */ + public async v3ListAnalyses(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: Configuration): Promise { + let _config = _options || this.configuration; + + + + + + + + + + + + + + + // Path Params + const localVarPath = '/v3/analyses'; + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + // Query Params + if (searchTerm !== undefined) { + requestContext.setQueryParam("search_term", ObjectSerializer.serialize(searchTerm, "string", "")); + } + + // Query Params + if (analysisScope !== undefined) { + const serializedParams = ObjectSerializer.serialize(analysisScope, "Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>", ""); + for (const serializedParam of serializedParams) { + requestContext.appendQueryParam("analysis_scope", serializedParam); + } + } + + // Query Params + if (status !== undefined) { + const serializedParams = ObjectSerializer.serialize(status, "Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>", ""); + for (const serializedParam of serializedParams) { + requestContext.appendQueryParam("status", serializedParam); + } + } + + // Query Params + if (modelName !== undefined) { + requestContext.setQueryParam("model_name", ObjectSerializer.serialize(modelName, "Array", "")); + } + + // Query Params + if (usernames !== undefined) { + requestContext.setQueryParam("usernames", ObjectSerializer.serialize(usernames, "Array", "")); + } + + // Query Params + if (sha256Hash !== undefined) { + requestContext.setQueryParam("sha256_hash", ObjectSerializer.serialize(sha256Hash, "string", "")); + } + + // Query Params + if (binaryId !== undefined) { + requestContext.setQueryParam("binary_id", ObjectSerializer.serialize(binaryId, "number", "int64")); + } + + // Query Params + if (platform !== undefined) { + requestContext.setQueryParam("platform", ObjectSerializer.serialize(platform, "Array<'windows' | 'linux' | 'android'>", "")); + } + + // Query Params + if (architecture !== undefined) { + requestContext.setQueryParam("architecture", ObjectSerializer.serialize(architecture, "Array<'x86_64' | 'x86_32' | 'arm_64'>", "")); + } + + // Query Params + if (pageSize !== undefined) { + requestContext.setQueryParam("page_size", ObjectSerializer.serialize(pageSize, "number", "int64")); + } + + // Query Params + if (nextPageToken !== undefined) { + requestContext.setQueryParam("next_page_token", ObjectSerializer.serialize(nextPageToken, "string", "")); + } + + // Query Params + if (orderBy !== undefined) { + requestContext.setQueryParam("order_by", ObjectSerializer.serialize(orderBy, "'created' | 'binary_name' | 'binary_size'", "")); + } + + // Query Params + if (order !== undefined) { + requestContext.setQueryParam("order", ObjectSerializer.serialize(order, "'ASC' | 'DESC'", "")); + } + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. + * @param analysisId Analysis ID + * @param page Page number (1-indexed). + * @param pageSize Number of results per page. + * @param search Filter by name (case-insensitive substring match). + * @param named Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * @param dataTypeId Keep only globals carrying this analysis data type. + * @param valueKind Keep only globals whose decoded value is of these kinds. + * @param referenced Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * @param orderBy Field to order results by. + * @param sortOrder Sort direction. + */ + public async v3ListAnalysisGlobals(analysisId: number, page?: number, pageSize?: number, search?: string, named?: 'true' | 'false', dataTypeId?: number, valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>, referenced?: 'true' | 'false', orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count', sortOrder?: 'ASC' | 'DESC', _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3ListAnalysisGlobals", "analysisId"); + } + + + + + + + + + + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/globals' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + // Query Params + if (page !== undefined) { + requestContext.setQueryParam("page", ObjectSerializer.serialize(page, "number", "int64")); + } + + // Query Params + if (pageSize !== undefined) { + requestContext.setQueryParam("page_size", ObjectSerializer.serialize(pageSize, "number", "int64")); + } + + // Query Params + if (search !== undefined) { + requestContext.setQueryParam("search", ObjectSerializer.serialize(search, "string", "")); + } + + // Query Params + if (named !== undefined) { + requestContext.setQueryParam("named", ObjectSerializer.serialize(named, "'true' | 'false'", "")); + } + + // Query Params + if (dataTypeId !== undefined) { + requestContext.setQueryParam("data_type_id", ObjectSerializer.serialize(dataTypeId, "number", "int64")); + } + + // Query Params + if (valueKind !== undefined) { + requestContext.setQueryParam("value_kind", ObjectSerializer.serialize(valueKind, "Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>", "")); + } + + // Query Params + if (referenced !== undefined) { + requestContext.setQueryParam("referenced", ObjectSerializer.serialize(referenced, "'true' | 'false'", "")); + } + + // Query Params + if (orderBy !== undefined) { + requestContext.setQueryParam("order_by", ObjectSerializer.serialize(orderBy, "'vaddr' | 'name' | 'size' | 'ref_count'", "")); + } + + // Query Params + if (sortOrder !== undefined) { + requestContext.setQueryParam("sort_order", ObjectSerializer.serialize(sortOrder, "'ASC' | 'DESC'", "")); + } + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. + * @param analysisId Analysis ID + */ + public async v3ListAnalysisOperations(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3ListAnalysisOperations", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/operations' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. + * @param analysisId Analysis ID + */ + public async v3ListDynamicExecutionScreenshots(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3ListDynamicExecutionScreenshots", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/screenshots' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the curated example Analyses. + * List example analyses + */ + public async v3ListExampleAnalyses(_options?: Configuration): Promise { + let _config = _options || this.configuration; + + // Path Params + const localVarPath = '/v3/analyses/examples'; + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param page Page number (1-indexed). + * @param pageSize Number of results per page. + */ + public async v3ListGlobalFunctions(analysisId: number, vaddr: number, page?: number, pageSize?: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3ListGlobalFunctions", "analysisId"); + } + + + // verify required parameter 'vaddr' is not null or undefined + if (vaddr === null || vaddr === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3ListGlobalFunctions", "vaddr"); + } + + + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/globals/{vaddr}/functions' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'vaddr' + '}', encodeURIComponent(String(vaddr))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + // Query Params + if (page !== undefined) { + requestContext.setQueryParam("page", ObjectSerializer.serialize(page, "number", "int64")); + } + + // Query Params + if (pageSize !== undefined) { + requestContext.setQueryParam("page_size", ObjectSerializer.serialize(pageSize, "number", "int64")); + } + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Look up the most recent analysis for a binary. + * @param binaryId Binary ID + */ + public async v3LookupAnalysisByBinaryId(binaryId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'binaryId' is not null or undefined + if (binaryId === null || binaryId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3LookupAnalysisByBinaryId", "binaryId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/lookup/{binary_id}' + .replace('{' + 'binary_id' + '}', encodeURIComponent(String(binaryId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Queue a binary export + * @param analysisId Analysis ID + */ + public async v3QueueBinaryExport(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3QueueBinaryExport", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/binary-export' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param analysisId Analysis ID + * @param requeueAnalysisRequest + */ + public async v3RequeueAnalysis(analysisId: number, requeueAnalysisRequest: RequeueAnalysisRequest, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3RequeueAnalysis", "analysisId"); + } + + + // verify required parameter 'requeueAnalysisRequest' is not null or undefined + if (requeueAnalysisRequest === null || requeueAnalysisRequest === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3RequeueAnalysis", "requeueAnalysisRequest"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/requeue' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json" + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(requeueAnalysisRequest, "RequeueAnalysisRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param analysisId Analysis ID + * @param runDynamicExecutionInputBody + */ + public async v3RunDynamicExecution(analysisId: number, runDynamicExecutionInputBody?: RunDynamicExecutionInputBody, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3RunDynamicExecution", "analysisId"); + } + + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution:run' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json" + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(runDynamicExecutionInputBody, "RunDynamicExecutionInputBody", ""), + contentType + ); + requestContext.setBody(serializedBody); + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. + * @param analysisId Analysis ID + */ + public async v3RunDynamicExecutionSummary(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3RunDynamicExecutionSummary", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/dynamic-execution/summary:run' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed + * Search tags + * @param partialName Partial or full tag name to search for, at least 3 characters + * @param limit Maximum results to return + * @param offset Number of results to skip + */ + public async v3SearchTags(partialName?: string, limit?: number, offset?: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + + + + // Path Params + const localVarPath = '/v3/tags'; + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + // Query Params + if (partialName !== undefined) { + requestContext.setQueryParam("partial_name", ObjectSerializer.serialize(partialName, "string", "")); + } + + // Query Params + if (limit !== undefined) { + requestContext.setQueryParam("limit", ObjectSerializer.serialize(limit, "number", "int64")); + } + + // Query Params + if (offset !== undefined) { + requestContext.setQueryParam("offset", ObjectSerializer.serialize(offset, "number", "int64")); + } + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Renames the analysis\' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Update an analysis. + * @param analysisId Analysis ID + * @param updateAnalysisInputBody + */ + public async v3UpdateAnalysis(analysisId: number, updateAnalysisInputBody: UpdateAnalysisInputBody, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysis", "analysisId"); + } + + + // verify required parameter 'updateAnalysisInputBody' is not null or undefined + if (updateAnalysisInputBody === null || updateAnalysisInputBody === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysis", "updateAnalysisInputBody"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json" + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(updateAnalysisInputBody, "UpdateAnalysisInputBody", ""), + contentType + ); + requestContext.setBody(serializedBody); + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param updateAnalysisGlobalInputBody + */ + public async v3UpdateAnalysisGlobal(analysisId: number, vaddr: number, updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisGlobal", "analysisId"); + } + + + // verify required parameter 'vaddr' is not null or undefined + if (vaddr === null || vaddr === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisGlobal", "vaddr"); + } + + + // verify required parameter 'updateAnalysisGlobalInputBody' is not null or undefined + if (updateAnalysisGlobalInputBody === null || updateAnalysisGlobalInputBody === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisGlobal", "updateAnalysisGlobalInputBody"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/globals/{vaddr}' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))) + .replace('{' + 'vaddr' + '}', encodeURIComponent(String(vaddr))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json" + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(updateAnalysisGlobalInputBody, "UpdateAnalysisGlobalInputBody", ""), + contentType + ); + requestContext.setBody(serializedBody); + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Replaces the analysis\' binary\'s user tags (origin RevEng) with the given set. A tag recorded under any other origin, such as a heuristic detection sharing a name with a user tag, is left in place even when its name is absent from the request. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Replace an analysis\' tags. + * @param analysisId Analysis ID + * @param updateTagsInputBody + */ + public async v3UpdateAnalysisTags(analysisId: number, updateTagsInputBody: UpdateTagsInputBody, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisTags", "analysisId"); + } + + + // verify required parameter 'updateTagsInputBody' is not null or undefined + if (updateTagsInputBody === null || updateTagsInputBody === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpdateAnalysisTags", "updateTagsInputBody"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/tags' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json" + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(updateTagsInputBody, "UpdateTagsInputBody", ""), + contentType + ); + requestContext.setBody(serializedBody); + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + + /** + * Re-runs an analysis created on an older model against the current unified model, in place — the analysis ID does not change. No credits are consumed. Only the owner may call it, and only once the analysis has settled: the pipeline clears the binary\'s functions, names, data types and signatures before re-running. Returns 409 if the analysis is already on the latest model, or is still running. Poll `GET /v3/analyses/{analysis_id}/basic` for status, as with any other run. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Re-analyse on the latest model + * @param analysisId Analysis ID + */ + public async v3UpgradeAnalysisModel(analysisId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'analysisId' is not null or undefined + if (analysisId === null || analysisId === undefined) { + throw new RequiredError("AnalysesCoreApi", "v3UpgradeAnalysisModel", "analysisId"); + } + + + // Path Params + const localVarPath = '/v3/analyses/{analysis_id}/upgrade-model' + .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + +} + +export class AnalysesCoreApiResponseProcessor { + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to addUserStringToAnalysis + * @throws ApiException if the response code was not in [200, 299] + */ + public async addUserStringToAnalysisWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("201", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createAnalysis + * @throws ApiException if the response code was not in [200, 299] + */ + public async createAnalysisWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("201", response.httpStatusCode)) { + const body: BaseResponseAnalysisCreateResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseAnalysisCreateResponse", "" + ) as BaseResponseAnalysisCreateResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseAnalysisCreateResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseAnalysisCreateResponse", "" + ) as BaseResponseAnalysisCreateResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteAnalysis + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteAnalysisWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseDict = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseDict", "" + ) as BaseResponseDict; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseDict = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseDict", "" + ) as BaseResponseDict; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisBasicInfo + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisBasicInfoWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseBasic = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseBasic", "" + ) as BaseResponseBasic; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseBasic = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseBasic", "" + ) as BaseResponseBasic; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisBasicInfo_1 + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisBasicInfo_1WithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: AnalysisBasicInfoOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AnalysisBasicInfoOutputBody", "" + ) as AnalysisBasicInfoOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AnalysisBasicInfoOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AnalysisBasicInfoOutputBody", "" + ) as AnalysisBasicInfoOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisBytes + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisBytesWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: void = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "void", "" + ) as void; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisFunctionMap + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisFunctionMapWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseAnalysisFunctionMapping = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseAnalysisFunctionMapping", "" + ) as BaseResponseAnalysisFunctionMapping; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseAnalysisFunctionMapping = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseAnalysisFunctionMapping", "" + ) as BaseResponseAnalysisFunctionMapping; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisFunctionMatches + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisFunctionMatchesWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: GetMatchesOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GetMatchesOutputBody", "" + ) as GetMatchesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: GetMatchesOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GetMatchesOutputBody", "" + ) as GetMatchesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisFunctionMatchingStatus + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisFunctionMatchingStatusWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: GetMatchesStatusOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GetMatchesStatusOutputBody", "" + ) as GetMatchesStatusOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: GetMatchesStatusOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GetMatchesStatusOutputBody", "" + ) as GetMatchesStatusOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisLogs + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisLogsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseLogs = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseLogs", "" + ) as BaseResponseLogs; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseLogs = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseLogs", "" + ) as BaseResponseLogs; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisParams + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisParamsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseParams = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseParams", "" + ) as BaseResponseParams; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseParams = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseParams", "" + ) as BaseResponseParams; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAnalysisStatus + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAnalysisStatusWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseStatus = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseStatus", "" + ) as BaseResponseStatus; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseStatus = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseStatus", "" + ) as BaseResponseStatus; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getDynamicExecutionReport + * @throws ApiException if the response code was not in [200, 299] + */ + public async getDynamicExecutionReportWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: AnalysisReport = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AnalysisReport", "" + ) as AnalysisReport; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AnalysisReport = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AnalysisReport", "" + ) as AnalysisReport; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getDynamicExecutionStatus + * @throws ApiException if the response code was not in [200, 299] + */ + public async getDynamicExecutionStatusWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: DynamicExecutionStatusResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DynamicExecutionStatusResponse", "" + ) as DynamicExecutionStatusResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DynamicExecutionStatusResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DynamicExecutionStatusResponse", "" + ) as DynamicExecutionStatusResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to insertAnalysisLog + * @throws ApiException if the response code was not in [200, 299] + */ + public async insertAnalysisLogWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("201", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listAnalyses + * @throws ApiException if the response code was not in [200, 299] + */ + public async listAnalysesWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseRecent = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseRecent", "" + ) as BaseResponseRecent; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseRecent = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseRecent", "" + ) as BaseResponseRecent; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to lookupBinaryId + * @throws ApiException if the response code was not in [200, 299] + */ + public async lookupBinaryIdWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to putAnalysisStrings + * @throws ApiException if the response code was not in [200, 299] + */ + public async putAnalysisStringsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("201", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } - // Path Params - const localVarPath = '/v3/analyses/{analysis_id}/upgrade-model' - .replace('{' + 'analysis_id' + '}', encodeURIComponent(String(analysisId))); - - // Make Request Context - const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.POST); - requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") - - - let authMethod: SecurityAuthentication | undefined; - // Apply auth methods - authMethod = _config.authMethods["APIKey"] - if (authMethod?.applySecurityAuthentication) { - await authMethod?.applySecurityAuthentication(requestContext); + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to requeueAnalysis + * @throws ApiException if the response code was not in [200, 299] + */ + public async requeueAnalysisWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("201", response.httpStatusCode)) { + const body: BaseResponseCreated = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseCreated", "" + ) as BaseResponseCreated; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - // Apply auth methods - authMethod = _config.authMethods["bearerAuth"] - if (authMethod?.applySecurityAuthentication) { - await authMethod?.applySecurityAuthentication(requestContext); + if (isCodeInRange("422", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); } - - const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default - if (defaultAuth?.applySecurityAuthentication) { - await defaultAuth?.applySecurityAuthentication(requestContext); + if (isCodeInRange("404", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: BaseResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponse", "" + ) as BaseResponse; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); } - return requestContext; - } - -} + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseCreated = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseCreated", "" + ) as BaseResponseCreated; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } -export class AnalysesCoreApiResponseProcessor { + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to addUserStringToAnalysis + * @params response Response returned by the server for a request to startAnalysisFunctionMatching * @throws ApiException if the response code was not in [200, 299] */ - public async addUserStringToAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async startAnalysisFunctionMatchingWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("201", response.httpStatusCode)) { - const body: any = ObjectSerializer.deserialize( + if (isCodeInRange("202", response.httpStatusCode)) { + const body: StartMatchingOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "any", "" - ) as any; + "StartMatchingOutputBody", "" + ) as StartMatchingOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -2394,10 +4357,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: any = ObjectSerializer.deserialize( + const body: StartMatchingOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "any", "" - ) as any; + "StartMatchingOutputBody", "" + ) as StartMatchingOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2408,16 +4371,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to createAnalysis + * @params response Response returned by the server for a request to updateAnalysis * @throws ApiException if the response code was not in [200, 299] */ - public async createAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async updateAnalysisWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("201", response.httpStatusCode)) { - const body: BaseResponseAnalysisCreateResponse = ObjectSerializer.deserialize( + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseAnalysisDetailResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisCreateResponse", "" - ) as BaseResponseAnalysisCreateResponse; + "BaseResponseAnalysisDetailResponse", "" + ) as BaseResponseAnalysisDetailResponse; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("422", response.httpStatusCode)) { @@ -2425,29 +4388,51 @@ export class AnalysesCoreApiResponseProcessor { ObjectSerializer.parse(await response.body.text(), contentType), "BaseResponse", "" ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); } - if (isCodeInRange("404", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseAnalysisDetailResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + "BaseResponseAnalysisDetailResponse", "" + ) as BaseResponseAnalysisDetailResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("400", response.httpStatusCode)) { + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateAnalysisTags + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateAnalysisTagsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: BaseResponseAnalysisUpdateTagsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "BaseResponseAnalysisUpdateTagsResponse", "" + ) as BaseResponseAnalysisUpdateTagsResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("422", response.httpStatusCode)) { const body: BaseResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "BaseResponse", "" ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseAnalysisCreateResponse = ObjectSerializer.deserialize( + const body: BaseResponseAnalysisUpdateTagsResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisCreateResponse", "" - ) as BaseResponseAnalysisCreateResponse; + "BaseResponseAnalysisUpdateTagsResponse", "" + ) as BaseResponseAnalysisUpdateTagsResponse; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2458,16 +4443,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to deleteAnalysis + * @params response Response returned by the server for a request to uploadFile * @throws ApiException if the response code was not in [200, 299] */ - public async deleteAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async uploadFileWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseDict = ObjectSerializer.deserialize( + const body: BaseResponseUploadResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseDict", "" - ) as BaseResponseDict; + "BaseResponseUploadResponse", "" + ) as BaseResponseUploadResponse; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("422", response.httpStatusCode)) { @@ -2477,27 +4462,66 @@ export class AnalysesCoreApiResponseProcessor { ) as BaseResponse; throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); } - if (isCodeInRange("404", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: BaseResponseUploadResponse = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + "BaseResponseUploadResponse", "" + ) as BaseResponseUploadResponse; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3DeleteAnalysis + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3DeleteAnalysisWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("204", response.httpStatusCode)) { + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); } if (isCodeInRange("403", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseDict = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseDict", "" - ) as BaseResponseDict; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2508,32 +4532,49 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisBasicInfo + * @params response Response returned by the server for a request to v3DownloadBinaryExport * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisBasicInfoWithHttpInfo(response: ResponseContext): Promise> { + public async v3DownloadBinaryExportWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseBasic = ObjectSerializer.deserialize( + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseBasic", "" - ) as BaseResponseBasic; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseBasic = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseBasic", "" - ) as BaseResponseBasic; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2544,16 +4585,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisBasicInfo_1 + * @params response Response returned by the server for a request to v3GetAnalysis * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisBasicInfo_1WithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: AnalysisBasicInfoOutputBody = ObjectSerializer.deserialize( + const body: AnalysisDetailOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisBasicInfoOutputBody", "" - ) as AnalysisBasicInfoOutputBody; + "AnalysisDetailOutputBody", "" + ) as AnalysisDetailOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -2587,10 +4628,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AnalysisBasicInfoOutputBody = ObjectSerializer.deserialize( + const body: AnalysisDetailOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisBasicInfoOutputBody", "" - ) as AnalysisBasicInfoOutputBody; + "AnalysisDetailOutputBody", "" + ) as AnalysisDetailOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2601,20 +4642,17 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisBytes + * @params response Response returned by the server for a request to v3GetAnalysisAutoUnstripStatus * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisBytesWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisAutoUnstripStatusWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); - } - if (isCodeInRange("400", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( + const body: AutoUnstripStatusOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + "AutoUnstripStatusOutputBody", "" + ) as AutoUnstripStatusOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -2647,10 +4685,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: void = ObjectSerializer.deserialize( + const body: AutoUnstripStatusOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "void", "" - ) as void; + "AutoUnstripStatusOutputBody", "" + ) as AutoUnstripStatusOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2661,32 +4699,53 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisFunctionMap + * @params response Response returned by the server for a request to v3GetAnalysisFunctionsProgress * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisFunctionMapWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisFunctionsProgressWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseAnalysisFunctionMapping = ObjectSerializer.deserialize( + const body: FunctionsProgressOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisFunctionMapping", "" - ) as BaseResponseAnalysisFunctionMapping; + "FunctionsProgressOutputBody", "" + ) as FunctionsProgressOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseAnalysisFunctionMapping = ObjectSerializer.deserialize( + const body: FunctionsProgressOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisFunctionMapping", "" - ) as BaseResponseAnalysisFunctionMapping; + "FunctionsProgressOutputBody", "" + ) as FunctionsProgressOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2697,25 +4756,18 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisFunctionMatches + * @params response Response returned by the server for a request to v3GetAnalysisGlobal * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisFunctionMatchesWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisGlobalWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: GetMatchesOutputBody = ObjectSerializer.deserialize( + const body: GlobalVariable = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetMatchesOutputBody", "" - ) as GetMatchesOutputBody; + "GlobalVariable", "" + ) as GlobalVariable; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("400", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); - } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -2747,10 +4799,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GetMatchesOutputBody = ObjectSerializer.deserialize( + const body: GlobalVariable = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetMatchesOutputBody", "" - ) as GetMatchesOutputBody; + "GlobalVariable", "" + ) as GlobalVariable; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2761,25 +4813,18 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisFunctionMatchingStatus + * @params response Response returned by the server for a request to v3GetAnalysisGlobalHistory * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisFunctionMatchingStatusWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisGlobalHistoryWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: GetMatchesStatusOutputBody = ObjectSerializer.deserialize( + const body: GetGlobalHistoryOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetMatchesStatusOutputBody", "" - ) as GetMatchesStatusOutputBody; + "GetGlobalHistoryOutputBody", "" + ) as GetGlobalHistoryOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("400", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); - } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -2811,10 +4856,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GetMatchesStatusOutputBody = ObjectSerializer.deserialize( + const body: GetGlobalHistoryOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetMatchesStatusOutputBody", "" - ) as GetMatchesStatusOutputBody; + "GetGlobalHistoryOutputBody", "" + ) as GetGlobalHistoryOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2825,32 +4870,53 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisLogs + * @params response Response returned by the server for a request to v3GetAnalysisLogs * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisLogsWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisLogsWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseLogs = ObjectSerializer.deserialize( + const body: GetAnalysisLogsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseLogs", "" - ) as BaseResponseLogs; + "GetAnalysisLogsOutputBody", "" + ) as GetAnalysisLogsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseLogs = ObjectSerializer.deserialize( + const body: GetAnalysisLogsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseLogs", "" - ) as BaseResponseLogs; + "GetAnalysisLogsOutputBody", "" + ) as GetAnalysisLogsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2861,32 +4927,53 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisParams + * @params response Response returned by the server for a request to v3GetAnalysisOperation * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisParamsWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisOperationWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseParams = ObjectSerializer.deserialize( + const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseParams", "" - ) as BaseResponseParams; + "OperationCreateMetadataCreateResult", "" + ) as OperationCreateMetadataCreateResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseParams = ObjectSerializer.deserialize( + const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseParams", "" - ) as BaseResponseParams; + "OperationCreateMetadataCreateResult", "" + ) as OperationCreateMetadataCreateResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2897,32 +4984,53 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getAnalysisStatus + * @params response Response returned by the server for a request to v3GetAnalysisStrings * @throws ApiException if the response code was not in [200, 299] */ - public async getAnalysisStatusWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisStringsWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseStatus = ObjectSerializer.deserialize( + const body: ListAnalysisStringsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseStatus", "" - ) as BaseResponseStatus; + "ListAnalysisStringsOutputBody", "" + ) as ListAnalysisStringsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseStatus = ObjectSerializer.deserialize( + const body: ListAnalysisStringsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseStatus", "" - ) as BaseResponseStatus; + "ListAnalysisStringsOutputBody", "" + ) as ListAnalysisStringsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2933,16 +5041,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getDynamicExecutionReport + * @params response Response returned by the server for a request to v3GetAnalysisStringsStatus * @throws ApiException if the response code was not in [200, 299] */ - public async getDynamicExecutionReportWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetAnalysisStringsStatusWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: AnalysisReport = ObjectSerializer.deserialize( + const body: GetAnalysisStringsStatusOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisReport", "" - ) as AnalysisReport; + "GetAnalysisStringsStatusOutputBody", "" + ) as GetAnalysisStringsStatusOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -2952,12 +5060,12 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } - if (isCodeInRange("409", response.httpStatusCode)) { + if (isCodeInRange("404", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "APIError", "" ) as APIError; - throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -2976,10 +5084,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AnalysisReport = ObjectSerializer.deserialize( + const body: GetAnalysisStringsStatusOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisReport", "" - ) as AnalysisReport; + "GetAnalysisStringsStatusOutputBody", "" + ) as GetAnalysisStringsStatusOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -2990,16 +5098,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to getDynamicExecutionStatus + * @params response Response returned by the server for a request to v3GetBinaryExportOperation * @throws ApiException if the response code was not in [200, 299] */ - public async getDynamicExecutionStatusWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetBinaryExportOperationWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: DynamicExecutionStatusResponse = ObjectSerializer.deserialize( + const body: OperationBinaryExportMetadataBinaryExportResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "DynamicExecutionStatusResponse", "" - ) as DynamicExecutionStatusResponse; + "OperationBinaryExportMetadataBinaryExportResult", "" + ) as OperationBinaryExportMetadataBinaryExportResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -3009,6 +5117,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3026,10 +5141,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: DynamicExecutionStatusResponse = ObjectSerializer.deserialize( + const body: OperationBinaryExportMetadataBinaryExportResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "DynamicExecutionStatusResponse", "" - ) as DynamicExecutionStatusResponse; + "OperationBinaryExportMetadataBinaryExportResult", "" + ) as OperationBinaryExportMetadataBinaryExportResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3040,68 +5155,56 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to insertAnalysisLog + * @params response Response returned by the server for a request to v3GetDynamicExecutionArtifact * @throws ApiException if the response code was not in [200, 299] */ - public async insertAnalysisLogWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionArtifactWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("201", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + if (isCodeInRange("200", response.httpStatusCode)) { + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); } - if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } - - // Work around for missing responses in specification, e.g. for petstore.yaml - if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } - - throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); - } - - /** - * Unwraps the actual response sent by the server from the response context and deserializes the response content - * to the expected objects - * - * @params response Response returned by the server for a request to listAnalyses - * @throws ApiException if the response code was not in [200, 299] - */ - public async listAnalysesWithHttpInfo(response: ResponseContext): Promise> { - const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseRecent = ObjectSerializer.deserialize( + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseRecent", "" - ) as BaseResponseRecent; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseRecent = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseRecent", "" - ) as BaseResponseRecent; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3112,68 +5215,56 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to lookupBinaryId + * @params response Response returned by the server for a request to v3GetDynamicExecutionLogsDownload * @throws ApiException if the response code was not in [200, 299] */ - public async lookupBinaryIdWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionLogsDownloadWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: any = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "any", "" - ) as any; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); } - if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } - - // Work around for missing responses in specification, e.g. for petstore.yaml - if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: any = ObjectSerializer.deserialize( + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "any", "" - ) as any; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } - - throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); - } - - /** - * Unwraps the actual response sent by the server from the response context and deserializes the response content - * to the expected objects - * - * @params response Response returned by the server for a request to putAnalysisStrings - * @throws ApiException if the response code was not in [200, 299] - */ - public async putAnalysisStringsWithHttpInfo(response: ResponseContext): Promise> { - const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("201", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3184,46 +5275,56 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to requeueAnalysis + * @params response Response returned by the server for a request to v3GetDynamicExecutionMemdump * @throws ApiException if the response code was not in [200, 299] */ - public async requeueAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionMemdumpWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("201", response.httpStatusCode)) { - const body: BaseResponseCreated = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseCreated", "" - ) as BaseResponseCreated; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + if (isCodeInRange("200", response.httpStatusCode)) { + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); } - if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } if (isCodeInRange("404", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } - if (isCodeInRange("400", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseCreated = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseCreated", "" - ) as BaseResponseCreated; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3234,25 +5335,18 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to startAnalysisFunctionMatching + * @params response Response returned by the server for a request to v3GetDynamicExecutionOperation * @throws ApiException if the response code was not in [200, 299] */ - public async startAnalysisFunctionMatchingWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionOperationWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("202", response.httpStatusCode)) { - const body: StartMatchingOutputBody = ObjectSerializer.deserialize( + if (isCodeInRange("200", response.httpStatusCode)) { + const body: OperationDynamicExecutionMetadataDynamicExecutionResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "StartMatchingOutputBody", "" - ) as StartMatchingOutputBody; + "OperationDynamicExecutionMetadataDynamicExecutionResult", "" + ) as OperationDynamicExecutionMetadataDynamicExecutionResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("400", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); - } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3284,10 +5378,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: StartMatchingOutputBody = ObjectSerializer.deserialize( + const body: OperationDynamicExecutionMetadataDynamicExecutionResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "StartMatchingOutputBody", "" - ) as StartMatchingOutputBody; + "OperationDynamicExecutionMetadataDynamicExecutionResult", "" + ) as OperationDynamicExecutionMetadataDynamicExecutionResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3298,32 +5392,56 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to updateAnalysis + * @params response Response returned by the server for a request to v3GetDynamicExecutionPcap * @throws ApiException if the response code was not in [200, 299] */ - public async updateAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionPcapWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseAnalysisDetailResponse = ObjectSerializer.deserialize( + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisDetailResponse", "" - ) as BaseResponseAnalysisDetailResponse; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseAnalysisDetailResponse = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisDetailResponse", "" - ) as BaseResponseAnalysisDetailResponse; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3334,32 +5452,60 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to updateAnalysisTags + * @params response Response returned by the server for a request to v3GetDynamicExecutionReport * @throws ApiException if the response code was not in [200, 299] */ - public async updateAnalysisTagsWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionReportWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseAnalysisUpdateTagsResponse = ObjectSerializer.deserialize( + const body: AnalysisReport = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisUpdateTagsResponse", "" - ) as BaseResponseAnalysisUpdateTagsResponse; + "AnalysisReport", "" + ) as AnalysisReport; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseAnalysisUpdateTagsResponse = ObjectSerializer.deserialize( + const body: AnalysisReport = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseAnalysisUpdateTagsResponse", "" - ) as BaseResponseAnalysisUpdateTagsResponse; + "AnalysisReport", "" + ) as AnalysisReport; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3370,32 +5516,56 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to uploadFile + * @params response Response returned by the server for a request to v3GetDynamicExecutionScreenshot * @throws ApiException if the response code was not in [200, 299] */ - public async uploadFileWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionScreenshotWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: BaseResponseUploadResponse = ObjectSerializer.deserialize( + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseUploadResponse", "" - ) as BaseResponseUploadResponse; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { - const body: BaseResponse = ObjectSerializer.deserialize( + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponse", "" - ) as BaseResponse; - throw new ApiException(response.httpStatusCode, "Invalid request parameters", body, response.headers); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); } // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: BaseResponseUploadResponse = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "BaseResponseUploadResponse", "" - ) as BaseResponseUploadResponse; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3406,13 +5576,17 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3DeleteAnalysis + * @params response Response returned by the server for a request to v3GetDynamicExecutionSummary * @throws ApiException if the response code was not in [200, 299] */ - public async v3DeleteAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionSummaryWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("204", response.httpStatusCode)) { - return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: DynamicExecutionSummary = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DynamicExecutionSummary", "" + ) as DynamicExecutionSummary; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -3428,6 +5602,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3445,10 +5626,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: void = ObjectSerializer.deserialize( + const body: DynamicExecutionSummary = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "void", "" - ) as void; + "DynamicExecutionSummary", "" + ) as DynamicExecutionSummary; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3459,13 +5640,17 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3DownloadBinaryExport + * @params response Response returned by the server for a request to v3GetDynamicExecutionSummaryOperation * @throws ApiException if the response code was not in [200, 299] */ - public async v3DownloadBinaryExportWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionSummaryOperationWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); + const body: OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult", "" + ) as OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -3498,10 +5683,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: void = ObjectSerializer.deserialize( + const body: OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "void", "" - ) as void; + "OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult", "" + ) as OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3512,17 +5697,13 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysis + * @params response Response returned by the server for a request to v3GetDynamicExecutionWiresharkKeys * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisWithHttpInfo(response: ResponseContext): Promise> { + public async v3GetDynamicExecutionWiresharkKeysWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: AnalysisDetailOutputBody = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisDetailOutputBody", "" - ) as AnalysisDetailOutputBody; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + return new HttpInfo(response.httpStatusCode, response.headers, response.body, undefined); } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -3538,6 +5719,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3555,10 +5743,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AnalysisDetailOutputBody = ObjectSerializer.deserialize( + const body: void = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AnalysisDetailOutputBody", "" - ) as AnalysisDetailOutputBody; + "void", "" + ) as void; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3569,31 +5757,24 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisAutoUnstripStatus + * @params response Response returned by the server for a request to v3ListAnalyses * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisAutoUnstripStatusWithHttpInfo(response: ResponseContext): Promise> { + public async v3ListAnalysesWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: AutoUnstripStatusOutputBody = ObjectSerializer.deserialize( + const body: ListAnalysesOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AutoUnstripStatusOutputBody", "" - ) as AutoUnstripStatusOutputBody; + "ListAnalysesOutputBody", "" + ) as ListAnalysesOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("403", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); - } - if (isCodeInRange("404", response.httpStatusCode)) { + if (isCodeInRange("400", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "APIError", "" ) as APIError; - throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -3612,10 +5793,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: AutoUnstripStatusOutputBody = ObjectSerializer.deserialize( + const body: ListAnalysesOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "AutoUnstripStatusOutputBody", "" - ) as AutoUnstripStatusOutputBody; + "ListAnalysesOutputBody", "" + ) as ListAnalysesOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3626,18 +5807,25 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisFunctionsProgress + * @params response Response returned by the server for a request to v3ListAnalysisGlobals * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisFunctionsProgressWithHttpInfo(response: ResponseContext): Promise> { + public async v3ListAnalysisGlobalsWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: FunctionsProgressOutputBody = ObjectSerializer.deserialize( + const body: ListAnalysisGlobalsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "FunctionsProgressOutputBody", "" - ) as FunctionsProgressOutputBody; + "ListAnalysisGlobalsOutputBody", "" + ) as ListAnalysisGlobalsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3669,10 +5857,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: FunctionsProgressOutputBody = ObjectSerializer.deserialize( + const body: ListAnalysisGlobalsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "FunctionsProgressOutputBody", "" - ) as FunctionsProgressOutputBody; + "ListAnalysisGlobalsOutputBody", "" + ) as ListAnalysisGlobalsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3683,16 +5871,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisLogs + * @params response Response returned by the server for a request to v3ListAnalysisOperations * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisLogsWithHttpInfo(response: ResponseContext): Promise> { + public async v3ListAnalysisOperationsWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: GetAnalysisLogsOutputBody = ObjectSerializer.deserialize( + const body: AnalysisOperationsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetAnalysisLogsOutputBody", "" - ) as GetAnalysisLogsOutputBody; + "AnalysisOperationsOutputBody", "" + ) as AnalysisOperationsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -3726,10 +5914,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GetAnalysisLogsOutputBody = ObjectSerializer.deserialize( + const body: AnalysisOperationsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetAnalysisLogsOutputBody", "" - ) as GetAnalysisLogsOutputBody; + "AnalysisOperationsOutputBody", "" + ) as AnalysisOperationsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3740,16 +5928,16 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisOperation + * @params response Response returned by the server for a request to v3ListDynamicExecutionScreenshots * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisOperationWithHttpInfo(response: ResponseContext): Promise> { + public async v3ListDynamicExecutionScreenshotsWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( + const body: ScreenshotsIndex = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "OperationCreateMetadataCreateResult", "" - ) as OperationCreateMetadataCreateResult; + "ScreenshotsIndex", "" + ) as ScreenshotsIndex; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -3766,6 +5954,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3783,10 +5978,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( + const body: ScreenshotsIndex = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "OperationCreateMetadataCreateResult", "" - ) as OperationCreateMetadataCreateResult; + "ScreenshotsIndex", "" + ) as ScreenshotsIndex; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3797,16 +5992,52 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisStrings + * @params response Response returned by the server for a request to v3ListExampleAnalyses * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisStringsWithHttpInfo(response: ResponseContext): Promise> { + public async v3ListExampleAnalysesWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: ListAnalysisStringsOutputBody = ObjectSerializer.deserialize( + const body: ListExampleAnalysesOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "ListAnalysisStringsOutputBody", "" - ) as ListAnalysisStringsOutputBody; + "ListExampleAnalysesOutputBody", "" + ) as ListExampleAnalysesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("0", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ListExampleAnalysesOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListExampleAnalysesOutputBody", "" + ) as ListExampleAnalysesOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3ListGlobalFunctions + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3ListGlobalFunctionsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: ListGlobalFunctionsOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListGlobalFunctionsOutputBody", "" + ) as ListGlobalFunctionsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } if (isCodeInRange("403", response.httpStatusCode)) { @@ -3840,10 +6071,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: ListAnalysisStringsOutputBody = ObjectSerializer.deserialize( + const body: ListGlobalFunctionsOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "ListAnalysisStringsOutputBody", "" - ) as ListAnalysisStringsOutputBody; + "ListGlobalFunctionsOutputBody", "" + ) as ListGlobalFunctionsOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3854,25 +6085,18 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetAnalysisStringsStatus + * @params response Response returned by the server for a request to v3LookupAnalysisByBinaryId * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetAnalysisStringsStatusWithHttpInfo(response: ResponseContext): Promise> { + public async v3LookupAnalysisByBinaryIdWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: GetAnalysisStringsStatusOutputBody = ObjectSerializer.deserialize( + const body: LookupAnalysisByBinaryIDOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetAnalysisStringsStatusOutputBody", "" - ) as GetAnalysisStringsStatusOutputBody; + "LookupAnalysisByBinaryIDOutputBody", "" + ) as LookupAnalysisByBinaryIDOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("403", response.httpStatusCode)) { - const body: APIError = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "APIError", "" - ) as APIError; - throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); - } if (isCodeInRange("404", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -3897,10 +6121,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: GetAnalysisStringsStatusOutputBody = ObjectSerializer.deserialize( + const body: LookupAnalysisByBinaryIDOutputBody = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "GetAnalysisStringsStatusOutputBody", "" - ) as GetAnalysisStringsStatusOutputBody; + "LookupAnalysisByBinaryIDOutputBody", "" + ) as LookupAnalysisByBinaryIDOutputBody; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -3911,12 +6135,12 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3GetBinaryExportOperation + * @params response Response returned by the server for a request to v3QueueBinaryExport * @throws ApiException if the response code was not in [200, 299] */ - public async v3GetBinaryExportOperationWithHttpInfo(response: ResponseContext): Promise> { + public async v3QueueBinaryExportWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("200", response.httpStatusCode)) { + if (isCodeInRange("202", response.httpStatusCode)) { const body: OperationBinaryExportMetadataBinaryExportResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "OperationBinaryExportMetadataBinaryExportResult", "" @@ -3968,24 +6192,31 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3ListAnalyses + * @params response Response returned by the server for a request to v3RequeueAnalysis * @throws ApiException if the response code was not in [200, 299] */ - public async v3ListAnalysesWithHttpInfo(response: ResponseContext): Promise> { + public async v3RequeueAnalysisWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("200", response.httpStatusCode)) { - const body: ListAnalysesOutputBody = ObjectSerializer.deserialize( + if (isCodeInRange("201", response.httpStatusCode)) { + const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "ListAnalysesOutputBody", "" - ) as ListAnalysesOutputBody; + "OperationCreateMetadataCreateResult", "" + ) as OperationCreateMetadataCreateResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("400", response.httpStatusCode)) { + if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "APIError", "" ) as APIError; - throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -4004,10 +6235,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: ListAnalysesOutputBody = ObjectSerializer.deserialize( + const body: OperationCreateMetadataCreateResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "ListAnalysesOutputBody", "" - ) as ListAnalysesOutputBody; + "OperationCreateMetadataCreateResult", "" + ) as OperationCreateMetadataCreateResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -4018,53 +6249,31 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3ListExampleAnalyses + * @params response Response returned by the server for a request to v3RunDynamicExecution * @throws ApiException if the response code was not in [200, 299] */ - public async v3ListExampleAnalysesWithHttpInfo(response: ResponseContext): Promise> { + public async v3RunDynamicExecutionWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); if (isCodeInRange("200", response.httpStatusCode)) { - const body: ListExampleAnalysesOutputBody = ObjectSerializer.deserialize( + const body: OperationDynamicExecutionMetadataDynamicExecutionResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "ListExampleAnalysesOutputBody", "" - ) as ListExampleAnalysesOutputBody; + "OperationDynamicExecutionMetadataDynamicExecutionResult", "" + ) as OperationDynamicExecutionMetadataDynamicExecutionResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } - if (isCodeInRange("0", response.httpStatusCode)) { + if (isCodeInRange("400", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), "APIError", "" ) as APIError; - throw new ApiException(response.httpStatusCode, "Error", body, response.headers); - } - - // Work around for missing responses in specification, e.g. for petstore.yaml - if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: ListExampleAnalysesOutputBody = ObjectSerializer.deserialize( - ObjectSerializer.parse(await response.body.text(), contentType), - "ListExampleAnalysesOutputBody", "" - ) as ListExampleAnalysesOutputBody; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); } - - throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); - } - - /** - * Unwraps the actual response sent by the server from the response context and deserializes the response content - * to the expected objects - * - * @params response Response returned by the server for a request to v3LookupAnalysisByBinaryId - * @throws ApiException if the response code was not in [200, 299] - */ - public async v3LookupAnalysisByBinaryIdWithHttpInfo(response: ResponseContext): Promise> { - const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("200", response.httpStatusCode)) { - const body: LookupAnalysisByBinaryIDOutputBody = ObjectSerializer.deserialize( + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "LookupAnalysisByBinaryIDOutputBody", "" - ) as LookupAnalysisByBinaryIDOutputBody; - return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } if (isCodeInRange("404", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( @@ -4073,6 +6282,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -4090,10 +6306,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: LookupAnalysisByBinaryIDOutputBody = ObjectSerializer.deserialize( + const body: OperationDynamicExecutionMetadataDynamicExecutionResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "LookupAnalysisByBinaryIDOutputBody", "" - ) as LookupAnalysisByBinaryIDOutputBody; + "OperationDynamicExecutionMetadataDynamicExecutionResult", "" + ) as OperationDynamicExecutionMetadataDynamicExecutionResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -4104,18 +6320,25 @@ export class AnalysesCoreApiResponseProcessor { * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects * - * @params response Response returned by the server for a request to v3QueueBinaryExport + * @params response Response returned by the server for a request to v3RunDynamicExecutionSummary * @throws ApiException if the response code was not in [200, 299] */ - public async v3QueueBinaryExportWithHttpInfo(response: ResponseContext): Promise> { + public async v3RunDynamicExecutionSummaryWithHttpInfo(response: ResponseContext): Promise> { const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); - if (isCodeInRange("202", response.httpStatusCode)) { - const body: OperationBinaryExportMetadataBinaryExportResult = ObjectSerializer.deserialize( + if (isCodeInRange("200", response.httpStatusCode)) { + const body: OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "OperationBinaryExportMetadataBinaryExportResult", "" - ) as OperationBinaryExportMetadataBinaryExportResult; + "OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult", "" + ) as OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } if (isCodeInRange("403", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -4130,6 +6353,13 @@ export class AnalysesCoreApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } if (isCodeInRange("422", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), @@ -4147,10 +6377,10 @@ export class AnalysesCoreApiResponseProcessor { // Work around for missing responses in specification, e.g. for petstore.yaml if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { - const body: OperationBinaryExportMetadataBinaryExportResult = ObjectSerializer.deserialize( + const body: OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), - "OperationBinaryExportMetadataBinaryExportResult", "" - ) as OperationBinaryExportMetadataBinaryExportResult; + "OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult", "" + ) as OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult; return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); } @@ -4264,6 +6494,77 @@ export class AnalysesCoreApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3UpdateAnalysisGlobal + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3UpdateAnalysisGlobalWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: GlobalVariable = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GlobalVariable", "" + ) as GlobalVariable; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("400", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Bad Request", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("409", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Conflict", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: GlobalVariable = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "GlobalVariable", "" + ) as GlobalVariable; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects diff --git a/apis/AuthenticationUsersApi.ts b/apis/AuthenticationUsersApi.ts index 4d943c4..4f65e62 100644 --- a/apis/AuthenticationUsersApi.ts +++ b/apis/AuthenticationUsersApi.ts @@ -14,6 +14,7 @@ import { BaseResponseGetPublicUserResponse } from '../models/BaseResponseGetPubl import { BaseResponseListUserActivityResponse } from '../models/BaseResponseListUserActivityResponse'; import { GetPublicUserOutputBody } from '../models/GetPublicUserOutputBody'; import { GetUserActivityOutputBody } from '../models/GetUserActivityOutputBody'; +import { ListPublicUsersOutputBody } from '../models/ListPublicUsersOutputBody'; import { SubmitFeedbackBody } from '../models/SubmitFeedbackBody'; import { SubmitFeedbackOutputBody } from '../models/SubmitFeedbackOutputBody'; import { SubmitUserFeedbackRequest } from '../models/SubmitUserFeedbackRequest'; @@ -236,6 +237,53 @@ export class AuthenticationUsersApiRequestFactory extends BaseAPIRequestFactory return requestContext; } + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param searchTerm Text the username contains (case-insensitive) + */ + public async v3ListUsers(searchTerm: string, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'searchTerm' is not null or undefined + if (searchTerm === null || searchTerm === undefined) { + throw new RequiredError("AuthenticationUsersApi", "v3ListUsers", "searchTerm"); + } + + + // Path Params + const localVarPath = '/v3/users'; + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + // Query Params + if (searchTerm !== undefined) { + requestContext.setQueryParam("search_term", ObjectSerializer.serialize(searchTerm, "string", "")); + } + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Submits feedback about the application to a Slack channel. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Submit feedback @@ -487,6 +535,42 @@ export class AuthenticationUsersApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3ListUsers + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3ListUsersWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: ListPublicUsersOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListPublicUsersOutputBody", "" + ) as ListPublicUsersOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("0", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ListPublicUsersOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListPublicUsersOutputBody", "" + ) as ListPublicUsersOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects diff --git a/apis/FunctionsAIDecompilationApi.ts b/apis/FunctionsAIDecompilationApi.ts index 9292be2..dc77f04 100644 --- a/apis/FunctionsAIDecompilationApi.ts +++ b/apis/FunctionsAIDecompilationApi.ts @@ -36,14 +36,15 @@ import { WorkflowProgress } from '../models/WorkflowProgress'; export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFactory { /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param functionId Function ID * @param temperature LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. * @param typeSuggestions Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. + * @param naming Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. * @param applyTypes Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. */ - public async createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, applyTypes?: boolean, _options?: Configuration): Promise { + public async createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: Configuration): Promise { let _config = _options || this.configuration; // verify required parameter 'functionId' is not null or undefined @@ -55,6 +56,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac + // Path Params const localVarPath = '/v3/functions/{function_id}/ai-decompilation' .replace('{' + 'function_id' + '}', encodeURIComponent(String(functionId))); @@ -73,6 +75,11 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac requestContext.setQueryParam("type_suggestions", ObjectSerializer.serialize(typeSuggestions, "boolean", "")); } + // Query Params + if (naming !== undefined) { + requestContext.setQueryParam("naming", ObjectSerializer.serialize(naming, "boolean", "")); + } + // Query Params if (applyTypes !== undefined) { requestContext.setQueryParam("apply_types", ObjectSerializer.serialize(applyTypes, "boolean", "")); @@ -100,7 +107,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param functionId Function ID * @param line Line number of the comment to delete @@ -453,7 +460,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param functionId Function ID * @param patchCommentBody @@ -514,7 +521,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param functionId Function ID */ @@ -557,7 +564,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param functionId Function ID */ @@ -981,7 +988,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param functionId Function ID * @param applyTypes Store the regenerated types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. @@ -1031,7 +1038,7 @@ export class FunctionsAIDecompilationApiRequestFactory extends BaseAPIRequestFac } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param functionId Function ID * @param upsertOverridesInputBody @@ -1193,6 +1200,13 @@ export class FunctionsAIDecompilationApiResponseProcessor { ) as APIError; throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } if (isCodeInRange("409", response.httpStatusCode)) { const body: APIError = ObjectSerializer.deserialize( ObjectSerializer.parse(await response.body.text(), contentType), diff --git a/apis/FunctionsCoreApi.ts b/apis/FunctionsCoreApi.ts index e76e016..af7228b 100644 --- a/apis/FunctionsCoreApi.ts +++ b/apis/FunctionsCoreApi.ts @@ -32,6 +32,7 @@ import { GetMatchesStatusOutputBody } from '../models/GetMatchesStatusOutputBody import { ImportedFunctionDetailOutputBody } from '../models/ImportedFunctionDetailOutputBody'; import { IndirectCallSitesOutputBody } from '../models/IndirectCallSitesOutputBody'; import { ListAnalysisFunctionsOutputBody } from '../models/ListAnalysisFunctionsOutputBody'; +import { ListFunctionGlobalsOutputBody } from '../models/ListFunctionGlobalsOutputBody'; import { ListFunctionStringsOutputBody } from '../models/ListFunctionStringsOutputBody'; import { ListImportedFunctionsOutputBody } from '../models/ListImportedFunctionsOutputBody'; import { SearchFunctionsOutputBody } from '../models/SearchFunctionsOutputBody'; @@ -1329,6 +1330,49 @@ export class FunctionsCoreApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param functionId Function ID + */ + public async v3ListFunctionGlobals(functionId: number, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'functionId' is not null or undefined + if (functionId === null || functionId === undefined) { + throw new RequiredError("FunctionsCoreApi", "v3ListFunctionGlobals", "functionId"); + } + + + // Path Params + const localVarPath = '/v3/functions/{function_id}/globals' + .replace('{' + 'function_id' + '}', encodeURIComponent(String(functionId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["APIKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["bearerAuth"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _config?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Searches for functions visible to the caller. At least one of partial_name or model_name must be provided. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search functions @@ -2709,6 +2753,63 @@ export class FunctionsCoreApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to v3ListFunctionGlobals + * @throws ApiException if the response code was not in [200, 299] + */ + public async v3ListFunctionGlobalsWithHttpInfo(response: ResponseContext): Promise> { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("200", response.httpStatusCode)) { + const body: ListFunctionGlobalsOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListFunctionGlobalsOutputBody", "" + ) as ListFunctionGlobalsOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Forbidden", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Not Found", body, response.headers); + } + if (isCodeInRange("422", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Unprocessable Entity", body, response.headers); + } + if (isCodeInRange("500", response.httpStatusCode)) { + const body: APIError = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "APIError", "" + ) as APIError; + throw new ApiException(response.httpStatusCode, "Internal Server Error", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: ListFunctionGlobalsOutputBody = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "ListFunctionGlobalsOutputBody", "" + ) as ListFunctionGlobalsOutputBody; + return new HttpInfo(response.httpStatusCode, response.headers, response.body, body); + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects diff --git a/apis/FunctionsRenamingHistoryApi.ts b/apis/FunctionsRenamingHistoryApi.ts index 778911a..a0773d9 100644 --- a/apis/FunctionsRenamingHistoryApi.ts +++ b/apis/FunctionsRenamingHistoryApi.ts @@ -80,7 +80,7 @@ export class FunctionsRenamingHistoryApiRequestFactory extends BaseAPIRequestFac } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param batchRenameInputBody */ @@ -221,7 +221,7 @@ export class FunctionsRenamingHistoryApiRequestFactory extends BaseAPIRequestFac } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param functionId Function ID * @param renameInputBody diff --git a/docs/AgentApi.md b/docs/AgentApi.md index 32936d3..8ac0c43 100644 --- a/docs/AgentApi.md +++ b/docs/AgentApi.md @@ -28,6 +28,7 @@ Method | HTTP request | Description [**v3GetCapabilitiesOperation**](AgentApi.md#v3GetCapabilitiesOperation) | **GET** /v3/operations/capabilities/{analysis_id} | Get a capabilities operation. [**v3GetCryptoExplainOperation**](AgentApi.md#v3GetCryptoExplainOperation) | **GET** /v3/operations/crypto-explain/{function_id} | Get a crypto-explain operation. [**v3GetCryptoScanOperation**](AgentApi.md#v3GetCryptoScanOperation) | **GET** /v3/operations/crypto-scan/{analysis_id} | Get a crypto-scan operation. +[**v3GetCryptographyOperation**](AgentApi.md#v3GetCryptographyOperation) | **GET** /v3/operations/cryptography/{analysis_id} | Get a cryptography operation. [**v3GetExecutionExplainOperation**](AgentApi.md#v3GetExecutionExplainOperation) | **GET** /v3/operations/execution-explain/{function_id} | Get an execution-explain operation. [**v3GetExecutionScanOperation**](AgentApi.md#v3GetExecutionScanOperation) | **GET** /v3/operations/execution-scan/{analysis_id} | Get an execution-scan operation. [**v3GetFilesystemAnalyseOperation**](AgentApi.md#v3GetFilesystemAnalyseOperation) | **GET** /v3/operations/filesystem-analyse/{function_id} | Get a filesystem-analyse operation. @@ -36,15 +37,18 @@ Method | HTTP request | Description [**v3GetNetworkingScanOperation**](AgentApi.md#v3GetNetworkingScanOperation) | **GET** /v3/operations/networking-scan/{analysis_id} | Get a networking-scan operation. [**v3GetProtocolsOperation**](AgentApi.md#v3GetProtocolsOperation) | **GET** /v3/operations/protocols/{analysis_id} | Get a protocols operation. [**v3GetRemediationOperation**](AgentApi.md#v3GetRemediationOperation) | **GET** /v3/operations/remediation/{analysis_id} | Get a remediation operation. +[**v3GetRenameUnnamedFunctionsOperation**](AgentApi.md#v3GetRenameUnnamedFunctionsOperation) | **GET** /v3/operations/rename-unnamed-functions/{analysis_id} | Get a rename-unnamed-functions operation. [**v3GetRenameUnnamedFunctionsResult**](AgentApi.md#v3GetRenameUnnamedFunctionsResult) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions | Get rename-unnamed-functions agent result. [**v3GetRenameUnnamedFunctionsStatus**](AgentApi.md#v3GetRenameUnnamedFunctionsStatus) | **GET** /v3/analyses/{analysis_id}/agents/rename-unnamed-functions/status | Get rename-unnamed-functions agent status. [**v3GetReportAnalysisOperation**](AgentApi.md#v3GetReportAnalysisOperation) | **GET** /v3/operations/report-analysis/{analysis_id} | Get a report-analysis operation. [**v3GetSecretsOperation**](AgentApi.md#v3GetSecretsOperation) | **GET** /v3/operations/secrets/{analysis_id} | Get a secrets operation. [**v3GetSecurityScanOperation**](AgentApi.md#v3GetSecurityScanOperation) | **GET** /v3/operations/security-scan/{analysis_id} | Get a security-scan operation. [**v3GetTriageOperation**](AgentApi.md#v3GetTriageOperation) | **GET** /v3/operations/triage/{analysis_id} | Get a triage operation. +[**v3ListOperationPrerequisites**](AgentApi.md#v3ListOperationPrerequisites) | **GET** /v3/operation-prerequisites | List operation prerequisites. [**v3RunCapabilities**](AgentApi.md#v3RunCapabilities) | **POST** /v3/analyses/{analysis_id}/capabilities:run | Run the capabilities agent. [**v3RunCryptoExplain**](AgentApi.md#v3RunCryptoExplain) | **POST** /v3/functions/{function_id}/crypto-explain:run | Run the crypto-explain agent. [**v3RunCryptoScan**](AgentApi.md#v3RunCryptoScan) | **POST** /v3/analyses/{analysis_id}/crypto-scan:run | Run the crypto-scan agent. +[**v3RunCryptography**](AgentApi.md#v3RunCryptography) | **POST** /v3/analyses/{analysis_id}/cryptography:run | Run the cryptography agent. [**v3RunExecutionExplain**](AgentApi.md#v3RunExecutionExplain) | **POST** /v3/functions/{function_id}/execution-explain:run | Run the execution-explain agent. [**v3RunExecutionScan**](AgentApi.md#v3RunExecutionScan) | **POST** /v3/analyses/{analysis_id}/execution-scan:run | Run the execution-scan agent. [**v3RunFilesystemAnalyse**](AgentApi.md#v3RunFilesystemAnalyse) | **POST** /v3/functions/{function_id}/filesystem-analyse:run | Run the filesystem-analyse agent. @@ -1166,7 +1170,7 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **analysisId** | [**number**] | Analysis ID | defaults to undefined - **agent** | [**'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets'**]**Array<'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | '11184809'>** | Which agent\'s output the feedback is about | defaults to undefined + **agent** | [**'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography'**]**Array<'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' | '11184809'>** | Which agent\'s output the feedback is about | defaults to undefined ### Return type @@ -1366,6 +1370,64 @@ Name | Type | Description | Notes [[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) +# **v3GetCryptographyOperation** +> OperationMetadataReportResult v3GetCryptographyOperation() + +Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + +### Example + + +```typescript +import { createConfiguration, AgentApi } from '@revengai/sdk'; +import type { AgentApiV3GetCryptographyOperationRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AgentApi(configuration); + +const request: AgentApiV3GetCryptographyOperationRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3GetCryptographyOperation(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationMetadataReportResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + # **v3GetExecutionExplainOperation** > OperationExecutionExplainMetadataExecutionExplainResult v3GetExecutionExplainOperation() @@ -1711,7 +1773,7 @@ Name | Type | Description | Notes # **v3GetProtocolsOperation** > OperationMetadataReportResult v3GetProtocolsOperation() -Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready +Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready ### Example @@ -1824,6 +1886,63 @@ Name | Type | Description | Notes [[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) +# **v3GetRenameUnnamedFunctionsOperation** +> OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsOperation() + +Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AgentApi } from '@revengai/sdk'; +import type { AgentApiV3GetRenameUnnamedFunctionsOperationRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AgentApi(configuration); + +const request: AgentApiV3GetRenameUnnamedFunctionsOperationRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3GetRenameUnnamedFunctionsOperation(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + # **v3GetRenameUnnamedFunctionsResult** > RenameUnnamedFunctionsResult v3GetRenameUnnamedFunctionsResult() @@ -2000,7 +2119,7 @@ Name | Type | Description | Notes # **v3GetSecretsOperation** > OperationMetadataReportResult v3GetSecretsOperation() -Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready +Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready ### Example @@ -2170,10 +2289,57 @@ Name | Type | Description | Notes [[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) +# **v3ListOperationPrerequisites** +> ListOperationPrerequisitesOutputBody v3ListOperationPrerequisites() + +Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + +### Example + + +```typescript +import { createConfiguration, AgentApi } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AgentApi(configuration); + +const request = {}; + +const data = await apiInstance.v3ListOperationPrerequisites(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters +This endpoint does not need any parameter. + + +### Return type + +**ListOperationPrerequisitesOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**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) + # **v3RunCapabilities** > OperationMetadataCapabilitiesResult v3RunCapabilities() -Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2291,7 +2457,7 @@ Name | Type | Description | Notes # **v3RunCryptoScan** > OperationCryptoScanMetadataCryptoScanResult v3RunCryptoScan(triggerCryptoScanInputBody) -Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2357,6 +2523,65 @@ Name | Type | Description | Notes [[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) +# **v3RunCryptography** +> OperationMetadataReportResult v3RunCryptography() + +Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + +### Example + + +```typescript +import { createConfiguration, AgentApi } from '@revengai/sdk'; +import type { AgentApiV3RunCryptographyRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AgentApi(configuration); + +const request: AgentApiV3RunCryptographyRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3RunCryptography(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationMetadataReportResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + # **v3RunExecutionExplain** > OperationExecutionExplainMetadataExecutionExplainResult v3RunExecutionExplain(triggerExecutionExplainInputBody) @@ -2424,7 +2649,7 @@ Name | Type | Description | Notes # **v3RunExecutionScan** > OperationExecutionScanMetadataExecutionScanResult v3RunExecutionScan(triggerExecutionScanInputBody) -Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2557,7 +2782,7 @@ Name | Type | Description | Notes # **v3RunFilesystemScan** > OperationFilesystemScanMetadataFilesystemScanResult v3RunFilesystemScan(triggerFilesystemScanInputBody) -Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2690,7 +2915,7 @@ Name | Type | Description | Notes # **v3RunNetworkingScan** > OperationNetworkingScanMetadataNetworkingScanResult v3RunNetworkingScan(triggerNetworkingScanInputBody) -Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2759,7 +2984,7 @@ Name | Type | Description | Notes # **v3RunProtocols** > OperationMetadataReportResult v3RunProtocols() -Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2818,7 +3043,7 @@ Name | Type | Description | Notes # **v3RunRemediation** > OperationMetadataRemediationResult v3RunRemediation() -Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2877,7 +3102,7 @@ Name | Type | Description | Notes # **v3RunReportAnalysis** > OperationMetadataThreatReportResult v3RunReportAnalysis() -Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -2936,7 +3161,7 @@ Name | Type | Description | Notes # **v3RunSecrets** > OperationMetadataReportResult v3RunSecrets() -Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -3059,7 +3284,7 @@ Name | Type | Description | Notes # **v3RunTriage** > OperationMetadataTriageResult v3RunTriage() -Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met ### Example @@ -3216,7 +3441,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **submitFeedbackInputBody** | **SubmitFeedbackInputBody**| | **analysisId** | [**number**] | Analysis ID | defaults to undefined - **agent** | [**'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets'**]**Array<'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | '11184809'>** | Which agent\'s output the feedback is about | defaults to undefined + **agent** | [**'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography'**]**Array<'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' | '11184809'>** | Which agent\'s output the feedback is about | defaults to undefined ### Return type diff --git a/docs/AnalysesCoreApi.md b/docs/AnalysesCoreApi.md index 37788cf..4fae0d7 100644 --- a/docs/AnalysesCoreApi.md +++ b/docs/AnalysesCoreApi.md @@ -32,17 +32,37 @@ Method | HTTP request | Description [**v3GetAnalysis**](AnalysesCoreApi.md#v3GetAnalysis) | **GET** /v3/analyses/{analysis_id} | Get an analysis. [**v3GetAnalysisAutoUnstripStatus**](AnalysesCoreApi.md#v3GetAnalysisAutoUnstripStatus) | **GET** /v3/analyses/{analysis_id}/auto-unstrip/status | Get the auto-unstrip status for an analysis. [**v3GetAnalysisFunctionsProgress**](AnalysesCoreApi.md#v3GetAnalysisFunctionsProgress) | **GET** /v3/analyses/{analysis_id}/progress/functions | Get function embedding progress for an analysis. +[**v3GetAnalysisGlobal**](AnalysesCoreApi.md#v3GetAnalysisGlobal) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr} | Get one global variable. +[**v3GetAnalysisGlobalHistory**](AnalysesCoreApi.md#v3GetAnalysisGlobalHistory) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/history | List a global variable\'s replaced values. [**v3GetAnalysisLogs**](AnalysesCoreApi.md#v3GetAnalysisLogs) | **GET** /v3/analyses/{analysis_id}/logs | Get the Analysis log [**v3GetAnalysisOperation**](AnalysesCoreApi.md#v3GetAnalysisOperation) | **GET** /v3/operations/analyses/{analysis_id} | Get an Analysis-creation operation [**v3GetAnalysisStrings**](AnalysesCoreApi.md#v3GetAnalysisStrings) | **GET** /v3/analyses/{analysis_id}/functions/strings | List strings for an analysis. [**v3GetAnalysisStringsStatus**](AnalysesCoreApi.md#v3GetAnalysisStringsStatus) | **GET** /v3/analyses/{analysis_id}/functions/strings/status | Get the string-extraction status for an analysis. [**v3GetBinaryExportOperation**](AnalysesCoreApi.md#v3GetBinaryExportOperation) | **GET** /v3/operations/binary-export/{task_id} | Get a binary export operation +[**v3GetDynamicExecutionArtifact**](AnalysesCoreApi.md#v3GetDynamicExecutionArtifact) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/artifacts/{sha256} | Download an artifact. +[**v3GetDynamicExecutionLogsDownload**](AnalysesCoreApi.md#v3GetDynamicExecutionLogsDownload) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/logs/download | Download the execution logs archive. +[**v3GetDynamicExecutionMemdump**](AnalysesCoreApi.md#v3GetDynamicExecutionMemdump) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/memdumps/{sha256} | Download a memory dump. +[**v3GetDynamicExecutionOperation**](AnalysesCoreApi.md#v3GetDynamicExecutionOperation) | **GET** /v3/operations/dynamic-execution/{analysis_id} | Get a dynamic execution operation. +[**v3GetDynamicExecutionPcap**](AnalysesCoreApi.md#v3GetDynamicExecutionPcap) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/pcap | Download the network capture. +[**v3GetDynamicExecutionReport**](AnalysesCoreApi.md#v3GetDynamicExecutionReport) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/report | Get the dynamic execution report. +[**v3GetDynamicExecutionScreenshot**](AnalysesCoreApi.md#v3GetDynamicExecutionScreenshot) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots/{index} | Download a screenshot. +[**v3GetDynamicExecutionSummary**](AnalysesCoreApi.md#v3GetDynamicExecutionSummary) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/summary | Get the dynamic execution summary. +[**v3GetDynamicExecutionSummaryOperation**](AnalysesCoreApi.md#v3GetDynamicExecutionSummaryOperation) | **GET** /v3/operations/dynamic-execution-summary/{analysis_id} | Get a dynamic execution summary operation. +[**v3GetDynamicExecutionWiresharkKeys**](AnalysesCoreApi.md#v3GetDynamicExecutionWiresharkKeys) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/wireshark-keys | Download Wireshark TLS session keys. [**v3ListAnalyses**](AnalysesCoreApi.md#v3ListAnalyses) | **GET** /v3/analyses | List analyses +[**v3ListAnalysisGlobals**](AnalysesCoreApi.md#v3ListAnalysisGlobals) | **GET** /v3/analyses/{analysis_id}/globals | List the global variables in an analysis. +[**v3ListAnalysisOperations**](AnalysesCoreApi.md#v3ListAnalysisOperations) | **GET** /v3/analyses/{analysis_id}/operations | List the operations run on an analysis. +[**v3ListDynamicExecutionScreenshots**](AnalysesCoreApi.md#v3ListDynamicExecutionScreenshots) | **GET** /v3/analyses/{analysis_id}/dynamic-execution/screenshots | List the screenshots captured during execution. [**v3ListExampleAnalyses**](AnalysesCoreApi.md#v3ListExampleAnalyses) | **GET** /v3/analyses/examples | List example analyses +[**v3ListGlobalFunctions**](AnalysesCoreApi.md#v3ListGlobalFunctions) | **GET** /v3/analyses/{analysis_id}/globals/{vaddr}/functions | List the functions referencing a global variable. [**v3LookupAnalysisByBinaryId**](AnalysesCoreApi.md#v3LookupAnalysisByBinaryId) | **GET** /v3/analyses/lookup/{binary_id} | Look up the most recent analysis for a binary. [**v3QueueBinaryExport**](AnalysesCoreApi.md#v3QueueBinaryExport) | **POST** /v3/analyses/{analysis_id}/binary-export | Queue a binary export +[**v3RequeueAnalysis**](AnalysesCoreApi.md#v3RequeueAnalysis) | **POST** /v3/analyses/{analysis_id}/requeue | Requeue an analysis +[**v3RunDynamicExecution**](AnalysesCoreApi.md#v3RunDynamicExecution) | **POST** /v3/analyses/{analysis_id}/dynamic-execution:run | Trigger a dynamic execution run. +[**v3RunDynamicExecutionSummary**](AnalysesCoreApi.md#v3RunDynamicExecutionSummary) | **POST** /v3/analyses/{analysis_id}/dynamic-execution/summary:run | Regenerate the dynamic execution summary. [**v3SearchTags**](AnalysesCoreApi.md#v3SearchTags) | **GET** /v3/tags | Search tags [**v3UpdateAnalysis**](AnalysesCoreApi.md#v3UpdateAnalysis) | **PATCH** /v3/analyses/{analysis_id} | Update an analysis. +[**v3UpdateAnalysisGlobal**](AnalysesCoreApi.md#v3UpdateAnalysisGlobal) | **PATCH** /v3/analyses/{analysis_id}/globals/{vaddr} | Edit a global variable. [**v3UpdateAnalysisTags**](AnalysesCoreApi.md#v3UpdateAnalysisTags) | **PATCH** /v3/analyses/{analysis_id}/tags | Replace an analysis\' tags. [**v3UpgradeAnalysisModel**](AnalysesCoreApi.md#v3UpgradeAnalysisModel) | **POST** /v3/analyses/{analysis_id}/upgrade-model | Re-analyse on the latest model @@ -1579,7 +1599,7 @@ const apiInstance = new AnalysesCoreApi(configuration); const request: AnalysesCoreApiV3DownloadBinaryExportRequest = { // Analysis ID analysisId: 1, - // Task ID returned by queueing the export (optional) + // Task ID returned by queueing the export taskId: "task_id_example", }; @@ -1593,7 +1613,7 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **analysisId** | [**number**] | Analysis ID | defaults to undefined - **taskId** | [**string**] | Task ID returned by queueing the export | (optional) defaults to undefined + **taskId** | [**string**] | Task ID returned by queueing the export | defaults to undefined ### Return type @@ -1781,6 +1801,126 @@ Name | Type | Description | Notes - **Accept**: application/json +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3GetAnalysisGlobal** +> GlobalVariable v3GetAnalysisGlobal() + +Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetAnalysisGlobalRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetAnalysisGlobalRequest = { + // Analysis ID + analysisId: 1, + // Virtual address of the global variable. + vaddr: 0, +}; + +const data = await apiInstance.v3GetAnalysisGlobal(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **vaddr** | [**number**] | Virtual address of the global variable. | defaults to undefined + + +### Return type + +**GlobalVariable** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3GetAnalysisGlobalHistory** +> GetGlobalHistoryOutputBody v3GetAnalysisGlobalHistory() + +Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetAnalysisGlobalHistoryRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetAnalysisGlobalHistoryRequest = { + // Analysis ID + analysisId: 1, + // Virtual address of the global variable. + vaddr: 0, +}; + +const data = await apiInstance.v3GetAnalysisGlobalHistory(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **vaddr** | [**number**] | Virtual address of the global variable. | defaults to undefined + + +### Return type + +**GetGlobalHistoryOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| @@ -2098,63 +2238,31 @@ Name | Type | Description | Notes [[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) -# **v3ListAnalyses** -> ListAnalysesOutputBody v3ListAnalyses() +# **v3GetDynamicExecutionArtifact** +> void v3GetDynamicExecutionArtifact() -Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request +Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; -import type { AnalysesCoreApiV3ListAnalysesRequest } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionArtifactRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request: AnalysesCoreApiV3ListAnalysesRequest = { - - searchTerm: "search_term_example", - // Leave empty to search your own, your team\'s and all public analyses (optional) - analysisScope: [ - "PRIVATE", - ], - - status: [ - "Uploaded", - ], - - modelName: [ - "model_name_example", - ], - - usernames: [ - "usernames_example", - ], - - sha256Hash: "sha256_hash_example", - // Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional) - binaryId: 1, - // Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional) - platform: [ - "windows", - ], - // Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional) - architecture: [ - "x86_64", - ], - - pageSize: 20, - // Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional) - nextPageToken: "next_page_token_example", - - orderBy: "created", - - order: "DESC", +const request: AnalysesCoreApiV3GetDynamicExecutionArtifactRequest = { + // Analysis ID + analysisId: 1, + // SHA-256 hex digest of the artifact + sha256: "62ECB020842930cc01FFCCfeEe150AC32DcAEc8a83DDD7dBF7567C88195ffcea", + // Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional) + filename: "filename_example", }; -const data = await apiInstance.v3ListAnalyses(request); +const data = await apiInstance.v3GetDynamicExecutionArtifact(request); console.log('API called successfully. Returned data:', data); ``` @@ -2163,24 +2271,14 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **searchTerm** | [**string**] | | (optional) defaults to undefined - **analysisScope** | **Array<'PRIVATE' | 'PUBLIC' | 'TEAM' | '11184809'>** | Leave empty to search your own, your team\'s and all public analyses | (optional) defaults to undefined - **status** | **Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing' | '11184809'>** | | (optional) defaults to undefined - **modelName** | **Array<string>** | | (optional) defaults to undefined - **usernames** | **Array<string>** | | (optional) defaults to undefined - **sha256Hash** | [**string**] | | (optional) defaults to undefined - **binaryId** | [**number**] | Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort | (optional) defaults to undefined - **platform** | **Array<'windows' | 'linux' | 'android' | '11184809'>** | Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter | (optional) defaults to undefined - **architecture** | **Array<'x86_64' | 'x86_32' | 'arm_64' | '11184809'>** | Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter | (optional) defaults to undefined - **pageSize** | [**number**] | | (optional) defaults to 20 - **nextPageToken** | [**string**] | Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). | (optional) defaults to undefined - **orderBy** | [**'created' | 'binary_name' | 'binary_size'**]**Array<'created' | 'binary_name' | 'binary_size' | '11184809'>** | | (optional) defaults to 'created' - **order** | [**'ASC' | 'DESC'**]**Array<'ASC' | 'DESC' | '11184809'>** | | (optional) defaults to 'DESC' + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **sha256** | [**string**] | SHA-256 hex digest of the artifact | defaults to undefined + **filename** | [**string**] | Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. | (optional) defaults to undefined ### Return type -**ListAnalysesOutputBody** +**void** ### Authorization @@ -2196,40 +2294,49 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | -**400** | Bad Request | - | +**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) -# **v3ListExampleAnalyses** -> ListExampleAnalysesOutputBody v3ListExampleAnalyses() +# **v3GetDynamicExecutionLogsDownload** +> void v3GetDynamicExecutionLogsDownload() -Returns the curated example Analyses. +Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionLogsDownloadRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request = {}; +const request: AnalysesCoreApiV3GetDynamicExecutionLogsDownloadRequest = { + // Analysis ID + analysisId: 1, +}; -const data = await apiInstance.v3ListExampleAnalyses(request); +const data = await apiInstance.v3GetDynamicExecutionLogsDownload(request); console.log('API called successfully. Returned data:', data); ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined ### Return type -**ListExampleAnalysesOutputBody** +**void** ### Authorization @@ -2245,31 +2352,39 @@ This endpoint does not need any parameter. | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | -**0** | Error | - | +**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) -# **v3LookupAnalysisByBinaryId** -> LookupAnalysisByBinaryIDOutputBody v3LookupAnalysisByBinaryId() +# **v3GetDynamicExecutionMemdump** +> void v3GetDynamicExecutionMemdump() -Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found +Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; -import type { AnalysesCoreApiV3LookupAnalysisByBinaryIdRequest } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionMemdumpRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request: AnalysesCoreApiV3LookupAnalysisByBinaryIdRequest = { - // Binary ID - binaryId: 1, +const request: AnalysesCoreApiV3GetDynamicExecutionMemdumpRequest = { + // Analysis ID + analysisId: 1, + // SHA-256 hex digest of the artifact + sha256: "62ECB020842930cc01FFCCfeEe150AC32DcAEc8a83DDD7dBF7567C88195ffcea", + // Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. (optional) + filename: "filename_example", }; -const data = await apiInstance.v3LookupAnalysisByBinaryId(request); +const data = await apiInstance.v3GetDynamicExecutionMemdump(request); console.log('API called successfully. Returned data:', data); ``` @@ -2278,12 +2393,14 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **binaryId** | [**number**] | Binary ID | defaults to undefined + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **sha256** | [**string**] | SHA-256 hex digest of the artifact | defaults to undefined + **filename** | [**string**] | Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. | (optional) defaults to undefined ### Return type -**LookupAnalysisByBinaryIDOutputBody** +**void** ### Authorization @@ -2299,33 +2416,35 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | +**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) -# **v3QueueBinaryExport** -> OperationBinaryExportMetadataBinaryExportResult v3QueueBinaryExport() +# **v3GetDynamicExecutionOperation** +> OperationDynamicExecutionMetadataDynamicExecutionResult v3GetDynamicExecutionOperation() -Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied +Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; -import type { AnalysesCoreApiV3QueueBinaryExportRequest } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionOperationRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request: AnalysesCoreApiV3QueueBinaryExportRequest = { +const request: AnalysesCoreApiV3GetDynamicExecutionOperationRequest = { // Analysis ID analysisId: 1, }; -const data = await apiInstance.v3QueueBinaryExport(request); +const data = await apiInstance.v3GetDynamicExecutionOperation(request); console.log('API called successfully. Returned data:', data); ``` @@ -2339,7 +2458,7 @@ Name | Type | Description | Notes ### Return type -**OperationBinaryExportMetadataBinaryExportResult** +**OperationDynamicExecutionMetadataDynamicExecutionResult** ### Authorization @@ -2354,7 +2473,7 @@ Name | Type | Description | Notes ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**202** | Accepted | - | +**200** | OK | - | **403** | Forbidden | - | **404** | Not Found | - | **422** | Unprocessable Entity | - | @@ -2362,31 +2481,27 @@ Name | Type | Description | Notes [[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) -# **v3SearchTags** -> SearchTagsOutputBody v3SearchTags() +# **v3GetDynamicExecutionPcap** +> void v3GetDynamicExecutionPcap() -Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed +Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; -import type { AnalysesCoreApiV3SearchTagsRequest } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionPcapRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request: AnalysesCoreApiV3SearchTagsRequest = { - // Partial or full tag name to search for, at least 3 characters (optional) - partialName: "partial_name_example", - // Maximum results to return (optional) - limit: 10, - // Number of results to skip (optional) - offset: 0, +const request: AnalysesCoreApiV3GetDynamicExecutionPcapRequest = { + // Analysis ID + analysisId: 1, }; -const data = await apiInstance.v3SearchTags(request); +const data = await apiInstance.v3GetDynamicExecutionPcap(request); console.log('API called successfully. Returned data:', data); ``` @@ -2395,14 +2510,12 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **partialName** | [**string**] | Partial or full tag name to search for, at least 3 characters | (optional) defaults to undefined - **limit** | [**number**] | Maximum results to return | (optional) defaults to 10 - **offset** | [**number**] | Number of results to skip | (optional) defaults to 0 + **analysisId** | [**number**] | Analysis ID | defaults to undefined ### Return type -**SearchTagsOutputBody** +**void** ### Authorization @@ -2418,37 +2531,35 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | +**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) -# **v3UpdateAnalysis** -> AnalysisDetailOutputBody v3UpdateAnalysis(updateAnalysisInputBody) +# **v3GetDynamicExecutionReport** +> AnalysisReport v3GetDynamicExecutionReport() -Renames the analysis\' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied +Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete ### Example ```typescript import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; -import type { AnalysesCoreApiV3UpdateAnalysisRequest } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionReportRequest } from '@revengai/sdk'; const configuration = createConfiguration(); const apiInstance = new AnalysesCoreApi(configuration); -const request: AnalysesCoreApiV3UpdateAnalysisRequest = { +const request: AnalysesCoreApiV3GetDynamicExecutionReportRequest = { // Analysis ID analysisId: 1, - - updateAnalysisInputBody: { - analysisScope: "PUBLIC", - binaryName: "binaryName_example", - }, }; -const data = await apiInstance.v3UpdateAnalysis(request); +const data = await apiInstance.v3GetDynamicExecutionReport(request); console.log('API called successfully. Returned data:', data); ``` @@ -2457,13 +2568,12 @@ console.log('API called successfully. Returned data:', data); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **updateAnalysisInputBody** | **UpdateAnalysisInputBody**| | **analysisId** | [**number**] | Analysis ID | defaults to undefined ### Return type -**AnalysisDetailOutputBody** +**AnalysisReport** ### Authorization @@ -2471,7 +2581,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json @@ -2479,9 +2589,1165 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | -**400** | Bad Request | - | **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) + +# **v3GetDynamicExecutionScreenshot** +> void v3GetDynamicExecutionScreenshot() + +Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionScreenshotRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetDynamicExecutionScreenshotRequest = { + // Analysis ID + analysisId: 1, + // Index of the screenshot, as listed by the screenshots endpoint + index: 1, +}; + +const data = await apiInstance.v3GetDynamicExecutionScreenshot(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **index** | [**number**] | Index of the screenshot, as listed by the screenshots endpoint | defaults to undefined + + +### Return type + +**void** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3GetDynamicExecutionSummary** +> DynamicExecutionSummary v3GetDynamicExecutionSummary() + +Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionSummaryRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetDynamicExecutionSummaryRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3GetDynamicExecutionSummary(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**DynamicExecutionSummary** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3GetDynamicExecutionSummaryOperation** +> OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult v3GetDynamicExecutionSummaryOperation() + +Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionSummaryOperationRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetDynamicExecutionSummaryOperationRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3GetDynamicExecutionSummaryOperation(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3GetDynamicExecutionWiresharkKeys** +> void v3GetDynamicExecutionWiresharkKeys() + +Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3GetDynamicExecutionWiresharkKeysRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3GetDynamicExecutionWiresharkKeysRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3GetDynamicExecutionWiresharkKeys(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**void** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3ListAnalyses** +> ListAnalysesOutputBody v3ListAnalyses() + +Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3ListAnalysesRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3ListAnalysesRequest = { + + searchTerm: "search_term_example", + // Leave empty to search your own, your team\'s and all public analyses (optional) + analysisScope: [ + "PRIVATE", + ], + + status: [ + "Uploaded", + ], + + modelName: [ + "model_name_example", + ], + + usernames: [ + "usernames_example", + ], + + sha256Hash: "sha256_hash_example", + // Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort (optional) + binaryId: 1, + // Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter (optional) + platform: [ + "windows", + ], + // Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter (optional) + architecture: [ + "x86_64", + ], + + pageSize: 20, + // Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). (optional) + nextPageToken: "next_page_token_example", + + orderBy: "created", + + order: "DESC", +}; + +const data = await apiInstance.v3ListAnalyses(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **searchTerm** | [**string**] | | (optional) defaults to undefined + **analysisScope** | **Array<'PRIVATE' | 'PUBLIC' | 'TEAM' | '11184809'>** | Leave empty to search your own, your team\'s and all public analyses | (optional) defaults to undefined + **status** | **Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing' | '11184809'>** | | (optional) defaults to undefined + **modelName** | **Array<string>** | | (optional) defaults to undefined + **usernames** | **Array<string>** | | (optional) defaults to undefined + **sha256Hash** | [**string**] | | (optional) defaults to undefined + **binaryId** | [**number**] | Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort | (optional) defaults to undefined + **platform** | **Array<'windows' | 'linux' | 'android' | '11184809'>** | Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter | (optional) defaults to undefined + **architecture** | **Array<'x86_64' | 'x86_32' | 'arm_64' | '11184809'>** | Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter | (optional) defaults to undefined + **pageSize** | [**number**] | | (optional) defaults to 20 + **nextPageToken** | [**string**] | Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). | (optional) defaults to undefined + **orderBy** | [**'created' | 'binary_name' | 'binary_size'**]**Array<'created' | 'binary_name' | 'binary_size' | '11184809'>** | | (optional) defaults to 'created' + **order** | [**'ASC' | 'DESC'**]**Array<'ASC' | 'DESC' | '11184809'>** | | (optional) defaults to 'DESC' + + +### Return type + +**ListAnalysesOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3ListAnalysisGlobals** +> ListAnalysisGlobalsOutputBody v3ListAnalysisGlobals() + +Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3ListAnalysisGlobalsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3ListAnalysisGlobalsRequest = { + // Analysis ID + analysisId: 1, + // Page number (1-indexed). (optional) + page: 1, + // Number of results per page. (optional) + pageSize: 100, + // Filter by name (case-insensitive substring match). (optional) + search: "search_example", + // Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. (optional) + named: "true", + // Keep only globals carrying this analysis data type. (optional) + dataTypeId: 1, + // Keep only globals whose decoded value is of these kinds. (optional) + valueKind: [ + "BSS", + ], + // Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. (optional) + referenced: "true", + // Field to order results by. (optional) + orderBy: "vaddr", + // Sort direction. (optional) + sortOrder: "ASC", +}; + +const data = await apiInstance.v3ListAnalysisGlobals(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **page** | [**number**] | Page number (1-indexed). | (optional) defaults to 1 + **pageSize** | [**number**] | Number of results per page. | (optional) defaults to 100 + **search** | [**string**] | Filter by name (case-insensitive substring match). | (optional) defaults to undefined + **named** | [**'true' | 'false'**]**Array<'true' | 'false' | '11184809'>** | Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. | (optional) defaults to undefined + **dataTypeId** | [**number**] | Keep only globals carrying this analysis data type. | (optional) defaults to undefined + **valueKind** | **Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL' | '11184809'>** | Keep only globals whose decoded value is of these kinds. | (optional) defaults to undefined + **referenced** | [**'true' | 'false'**]**Array<'true' | 'false' | '11184809'>** | Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. | (optional) defaults to undefined + **orderBy** | [**'vaddr' | 'name' | 'size' | 'ref_count'**]**Array<'vaddr' | 'name' | 'size' | 'ref_count' | '11184809'>** | Field to order results by. | (optional) defaults to 'vaddr' + **sortOrder** | [**'ASC' | 'DESC'**]**Array<'ASC' | 'DESC' | '11184809'>** | Sort direction. | (optional) defaults to 'ASC' + + +### Return type + +**ListAnalysisGlobalsOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**403** | Forbidden | - | +**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) + +# **v3ListAnalysisOperations** +> AnalysisOperationsOutputBody v3ListAnalysisOperations() + +Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3ListAnalysisOperationsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3ListAnalysisOperationsRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3ListAnalysisOperations(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**AnalysisOperationsOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3ListDynamicExecutionScreenshots** +> ScreenshotsIndex v3ListDynamicExecutionScreenshots() + +Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3ListDynamicExecutionScreenshotsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3ListDynamicExecutionScreenshotsRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3ListDynamicExecutionScreenshots(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**ScreenshotsIndex** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3ListExampleAnalyses** +> ListExampleAnalysesOutputBody v3ListExampleAnalyses() + +Returns the curated example Analyses. + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request = {}; + +const data = await apiInstance.v3ListExampleAnalyses(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters +This endpoint does not need any parameter. + + +### Return type + +**ListExampleAnalysesOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**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) + +# **v3ListGlobalFunctions** +> ListGlobalFunctionsOutputBody v3ListGlobalFunctions() + +Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3ListGlobalFunctionsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3ListGlobalFunctionsRequest = { + // Analysis ID + analysisId: 1, + // Virtual address of the global variable. + vaddr: 0, + // Page number (1-indexed). (optional) + page: 1, + // Number of results per page. (optional) + pageSize: 100, +}; + +const data = await apiInstance.v3ListGlobalFunctions(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **vaddr** | [**number**] | Virtual address of the global variable. | defaults to undefined + **page** | [**number**] | Page number (1-indexed). | (optional) defaults to 1 + **pageSize** | [**number**] | Number of results per page. | (optional) defaults to 100 + + +### Return type + +**ListGlobalFunctionsOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3LookupAnalysisByBinaryId** +> LookupAnalysisByBinaryIDOutputBody v3LookupAnalysisByBinaryId() + +Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3LookupAnalysisByBinaryIdRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3LookupAnalysisByBinaryIdRequest = { + // Binary ID + binaryId: 1, +}; + +const data = await apiInstance.v3LookupAnalysisByBinaryId(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **binaryId** | [**number**] | Binary ID | defaults to undefined + + +### Return type + +**LookupAnalysisByBinaryIDOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3QueueBinaryExport** +> OperationBinaryExportMetadataBinaryExportResult v3QueueBinaryExport() + +Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3QueueBinaryExportRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3QueueBinaryExportRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3QueueBinaryExport(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationBinaryExportMetadataBinaryExportResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Accepted | - | +**403** | Forbidden | - | +**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) + +# **v3RequeueAnalysis** +> OperationCreateMetadataCreateResult v3RequeueAnalysis(requeueAnalysisRequest) + +Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3RequeueAnalysisRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3RequeueAnalysisRequest = { + // Analysis ID + analysisId: 1, + + requeueAnalysisRequest: { + commandLineArgs: "commandLineArgs_example", + enableDynamicExecution: true, + generateCapabilities: true, + noCache: true, + scrapeTags: true, + tags: [ + "tags_example", + ], + }, +}; + +const data = await apiInstance.v3RequeueAnalysis(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **requeueAnalysisRequest** | **RequeueAnalysisRequest**| | + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationCreateMetadataCreateResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Created | - | +**403** | Forbidden | - | +**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) + +# **v3RunDynamicExecution** +> OperationDynamicExecutionMetadataDynamicExecutionResult v3RunDynamicExecution() + +Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3RunDynamicExecutionRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3RunDynamicExecutionRequest = { + // Analysis ID + analysisId: 1, + + runDynamicExecutionInputBody: { + archiveEntryPath: "archiveEntryPath_example", + archivePassword: "archivePassword_example", + archiveSha256Hash: "62ECB020842930cc01FFCCfeEe150AC32DcAEc8a83DDD7dBF7567C88195ffcea", + commandLineArgs: "commandLineArgs_example", + startMethod: "standard_user_process", + timeout: 120, + }, +}; + +const data = await apiInstance.v3RunDynamicExecution(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **runDynamicExecutionInputBody** | **RunDynamicExecutionInputBody**| | + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationDynamicExecutionMetadataDynamicExecutionResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**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) + +# **v3RunDynamicExecutionSummary** +> OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult v3RunDynamicExecutionSummary() + +Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3RunDynamicExecutionSummaryRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3RunDynamicExecutionSummaryRequest = { + // Analysis ID + analysisId: 1, +}; + +const data = await apiInstance.v3RunDynamicExecutionSummary(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**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) + +# **v3SearchTags** +> SearchTagsOutputBody v3SearchTags() + +Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3SearchTagsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3SearchTagsRequest = { + // Partial or full tag name to search for, at least 3 characters (optional) + partialName: "partial_name_example", + // Maximum results to return (optional) + limit: 10, + // Number of results to skip (optional) + offset: 0, +}; + +const data = await apiInstance.v3SearchTags(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **partialName** | [**string**] | Partial or full tag name to search for, at least 3 characters | (optional) defaults to undefined + **limit** | [**number**] | Maximum results to return | (optional) defaults to 10 + **offset** | [**number**] | Number of results to skip | (optional) defaults to 0 + + +### Return type + +**SearchTagsOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**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) + +# **v3UpdateAnalysis** +> AnalysisDetailOutputBody v3UpdateAnalysis(updateAnalysisInputBody) + +Renames the analysis\' binary and/or changes its scope. Only the owner may call it. Changing to a non-PUBLIC scope requires a subscription tier that supports private analyses. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3UpdateAnalysisRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3UpdateAnalysisRequest = { + // Analysis ID + analysisId: 1, + + updateAnalysisInputBody: { + analysisScope: "PUBLIC", + binaryName: "binaryName_example", + }, +}; + +const data = await apiInstance.v3UpdateAnalysis(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **updateAnalysisInputBody** | **UpdateAnalysisInputBody**| | + **analysisId** | [**number**] | Analysis ID | defaults to undefined + + +### Return type + +**AnalysisDetailOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**403** | Forbidden | - | +**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) + +# **v3UpdateAnalysisGlobal** +> GlobalVariable v3UpdateAnalysisGlobal(updateAnalysisGlobalInputBody) + +Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + +### Example + + +```typescript +import { createConfiguration, AnalysesCoreApi } from '@revengai/sdk'; +import type { AnalysesCoreApiV3UpdateAnalysisGlobalRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AnalysesCoreApi(configuration); + +const request: AnalysesCoreApiV3UpdateAnalysisGlobalRequest = { + // Analysis ID + analysisId: 1, + // Virtual address of the global variable. + vaddr: 0, + + updateAnalysisGlobalInputBody: { + dataTypeId: 0, + name: "name_example", + }, +}; + +const data = await apiInstance.v3UpdateAnalysisGlobal(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **updateAnalysisGlobalInputBody** | **UpdateAnalysisGlobalInputBody**| | + **analysisId** | [**number**] | Analysis ID | defaults to undefined + **vaddr** | [**number**] | Virtual address of the global variable. | defaults to undefined + + +### Return type + +**GlobalVariable** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | **422** | Unprocessable Entity | - | **500** | Internal Server Error | - | diff --git a/docs/AuthenticationUsersApi.md b/docs/AuthenticationUsersApi.md index ac05da4..41d5bcb 100644 --- a/docs/AuthenticationUsersApi.md +++ b/docs/AuthenticationUsersApi.md @@ -9,6 +9,7 @@ Method | HTTP request | Description [**submitUserFeedback**](AuthenticationUsersApi.md#submitUserFeedback) | **POST** /v2/users/feedback | Submit feedback about the application [**v3GetUser**](AuthenticationUsersApi.md#v3GetUser) | **GET** /v3/users/{user_id} | Get a user\'s public information [**v3GetUserActivity**](AuthenticationUsersApi.md#v3GetUserActivity) | **GET** /v3/users/activity | Get the caller\'s activity feed +[**v3ListUsers**](AuthenticationUsersApi.md#v3ListUsers) | **GET** /v3/users | Search users [**v3SubmitUserFeedback**](AuthenticationUsersApi.md#v3SubmitUserFeedback) | **POST** /v3/users/feedback | Submit feedback @@ -264,6 +265,60 @@ This endpoint does not need any parameter. - **Accept**: application/json +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**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) + +# **v3ListUsers** +> ListPublicUsersOutputBody v3ListUsers() + +Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + +### Example + + +```typescript +import { createConfiguration, AuthenticationUsersApi } from '@revengai/sdk'; +import type { AuthenticationUsersApiV3ListUsersRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new AuthenticationUsersApi(configuration); + +const request: AuthenticationUsersApiV3ListUsersRequest = { + // Text the username contains (case-insensitive) + searchTerm: "search_term_example", +}; + +const data = await apiInstance.v3ListUsers(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **searchTerm** | [**string**] | Text the username contains (case-insensitive) | defaults to undefined + + +### Return type + +**ListPublicUsersOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| diff --git a/docs/FunctionsAIDecompilationApi.md b/docs/FunctionsAIDecompilationApi.md index 552504d..bfdfb93 100644 --- a/docs/FunctionsAIDecompilationApi.md +++ b/docs/FunctionsAIDecompilationApi.md @@ -32,7 +32,7 @@ Method | HTTP request | Description # **createAiDecompilation** > CreateAIDecompOutputBody createAiDecompilation() -Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits +Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits ### Example @@ -51,6 +51,8 @@ const request: FunctionsAIDecompilationApiCreateAiDecompilationRequest = { temperature: -1, // Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. (optional) typeSuggestions: true, + // Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. (optional) + naming: true, // Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. (optional) applyTypes: true, }; @@ -67,6 +69,7 @@ Name | Type | Description | Notes **functionId** | [**number**] | Function ID | defaults to undefined **temperature** | [**number**] | LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. | (optional) defaults to -1 **typeSuggestions** | [**boolean**] | Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. | (optional) defaults to true + **naming** | [**boolean**] | Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. | (optional) defaults to true **applyTypes** | [**boolean**] | Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. | (optional) defaults to true @@ -91,6 +94,7 @@ Name | Type | Description | Notes **400** | Bad Request | - | **402** | Payment Required | - | **403** | Forbidden | - | +**404** | Not Found | - | **409** | Conflict | - | **422** | Unprocessable Entity | - | **500** | Internal Server Error | - | @@ -100,7 +104,7 @@ Name | Type | Description | Notes # **deleteAiDecompilationInlineComment** > CommentsData deleteAiDecompilationInlineComment() -Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found +Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found ### Example @@ -555,7 +559,7 @@ Name | Type | Description | Notes # **patchAiDecompilationInlineComment** > CommentsData patchAiDecompilationInlineComment(patchCommentBody) -Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found +Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found ### Example @@ -618,7 +622,7 @@ Name | Type | Description | Notes # **regenerateAiDecompilationInlineComments** > RegenerateOutputBody regenerateAiDecompilationInlineComments() -Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict ### Example @@ -677,7 +681,7 @@ Name | Type | Description | Notes # **regenerateAiDecompilationSummary** > RegenerateOutputBody regenerateAiDecompilationSummary() -Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict +Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict ### Example @@ -1199,7 +1203,7 @@ Name | Type | Description | Notes # **v3RegenerateAiDecompilationTypeSuggestions** > RegenerateOutputBody v3RegenerateAiDecompilationTypeSuggestions() -Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error +Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error ### Example @@ -1260,7 +1264,7 @@ Name | Type | Description | Notes # **v3UpsertAiDecompilationOverrides** > UpsertOverridesData v3UpsertAiDecompilationOverrides(upsertOverridesInputBody) -Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error +Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error ### Example diff --git a/docs/FunctionsCoreApi.md b/docs/FunctionsCoreApi.md index 23457ed..95b481b 100644 --- a/docs/FunctionsCoreApi.md +++ b/docs/FunctionsCoreApi.md @@ -29,6 +29,7 @@ Method | HTTP request | Description [**startFunctionsMatching**](FunctionsCoreApi.md#startFunctionsMatching) | **POST** /v3/functions/matches | Start function matching for an explicit set of functions [**v3CanonicalizeFunctionNames**](FunctionsCoreApi.md#v3CanonicalizeFunctionNames) | **POST** /v3/functions/canonical-names | Canonicalize a batch of function names [**v3GetAnalysisFuncMaps**](FunctionsCoreApi.md#v3GetAnalysisFuncMaps) | **GET** /v3/analyses/{analysis_id}/func-maps | Get function ID/address maps for an analysis +[**v3ListFunctionGlobals**](FunctionsCoreApi.md#v3ListFunctionGlobals) | **GET** /v3/functions/{function_id}/globals | List the global variables a function references. [**v3SearchFunctions**](FunctionsCoreApi.md#v3SearchFunctions) | **GET** /v3/functions | Search functions @@ -1543,6 +1544,63 @@ Name | Type | Description | Notes - **Accept**: application/json +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**403** | Forbidden | - | +**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) + +# **v3ListFunctionGlobals** +> ListFunctionGlobalsOutputBody v3ListFunctionGlobals() + +Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + +### Example + + +```typescript +import { createConfiguration, FunctionsCoreApi } from '@revengai/sdk'; +import type { FunctionsCoreApiV3ListFunctionGlobalsRequest } from '@revengai/sdk'; + +const configuration = createConfiguration(); +const apiInstance = new FunctionsCoreApi(configuration); + +const request: FunctionsCoreApiV3ListFunctionGlobalsRequest = { + // Function ID + functionId: 1, +}; + +const data = await apiInstance.v3ListFunctionGlobals(request); +console.log('API called successfully. Returned data:', data); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **functionId** | [**number**] | Function ID | defaults to undefined + + +### Return type + +**ListFunctionGlobalsOutputBody** + +### Authorization + +[APIKey](README.md#APIKey), [bearerAuth](README.md#bearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| diff --git a/docs/FunctionsRenamingHistoryApi.md b/docs/FunctionsRenamingHistoryApi.md index 36a969c..ef33b01 100644 --- a/docs/FunctionsRenamingHistoryApi.md +++ b/docs/FunctionsRenamingHistoryApi.md @@ -79,7 +79,7 @@ Name | Type | Description | Notes # **batchRenameFunctions** > BatchRenameOutputBody batchRenameFunctions(batchRenameInputBody) -Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request +Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed ### Example @@ -255,7 +255,7 @@ Name | Type | Description | Notes # **renameFunction** > RenameOutputBody renameFunction(renameInputBody) -Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found +Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed ### Example diff --git a/models/APICombinationEvidence.ts b/models/APICombinationEvidence.ts new file mode 100644 index 0000000..3407507 --- /dev/null +++ b/models/APICombinationEvidence.ts @@ -0,0 +1,98 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { HttpFile } from '../http/http'; + +export class APICombinationEvidence { + /** + * The APIs in the combination. + */ + 'apis': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': APICombinationEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': APICombinationEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': APICombinationEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': APICombinationEvidenceStrengthEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "apis", + "baseName": "apis", + "type": "Array", + "format": "" + }, + { + "name": "effect", + "baseName": "effect", + "type": "APICombinationEvidenceEffectEnum", + "format": "" + }, + { + "name": "evidenceKind", + "baseName": "evidence_kind", + "type": "APICombinationEvidenceEvidenceKindEnum", + "format": "" + }, + { + "name": "kind", + "baseName": "kind", + "type": "APICombinationEvidenceKindEnum", + "format": "" + }, + { + "name": "strength", + "baseName": "strength", + "type": "APICombinationEvidenceStrengthEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return APICombinationEvidence.attributeTypeMap; + } + + public constructor() { + } +} + +export enum APICombinationEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} +export enum APICombinationEvidenceEvidenceKindEnum { + ApiCombination = 'api_combination', + UnknownDefaultOpenApi = '11184809' +} +export enum APICombinationEvidenceKindEnum { + DeterministicDerivation = 'deterministic_derivation', + UnknownDefaultOpenApi = '11184809' +} +export enum APICombinationEvidenceStrengthEnum { + Indirect = 'indirect', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/AnalysisBasicInfoOutputBody.ts b/models/AnalysisBasicInfoOutputBody.ts index 09fe16d..93ed7e5 100644 --- a/models/AnalysisBasicInfoOutputBody.ts +++ b/models/AnalysisBasicInfoOutputBody.ts @@ -57,6 +57,10 @@ export class AnalysisBasicInfoOutputBody { */ 'detectedBinaryType': string; /** + * Detected source language; empty when unavailable + */ + 'detectedLanguage': string; + /** * Number of functions in the binary */ 'functionCount': number; @@ -184,6 +188,12 @@ export class AnalysisBasicInfoOutputBody { "type": "string", "format": "" }, + { + "name": "detectedLanguage", + "baseName": "detected_language", + "type": "string", + "format": "" + }, { "name": "functionCount", "baseName": "function_count", diff --git a/models/AnalysisDetailOutputBody.ts b/models/AnalysisDetailOutputBody.ts index f609281..8800646 100644 --- a/models/AnalysisDetailOutputBody.ts +++ b/models/AnalysisDetailOutputBody.ts @@ -25,6 +25,10 @@ export class AnalysisDetailOutputBody { 'binaryName': string; 'binarySize': number; 'binaryType': string; + /** + * Number of capabilities in the latest capabilities agent result. Null when the agent has not produced a result + */ + 'capabilityCount': number | null; 'creation': string; /** * URL to view this analysis in the dashboard @@ -36,7 +40,15 @@ export class AnalysisDetailOutputBody { * Snapshot of the configuration the analysis was submitted with */ 'requestedConfig': RequestedConfigBody; + /** + * Number of HIGH or CRITICAL findings in the latest security scan. Null when the scan has not produced a result + */ + 'securityFindingCount': number | null; 'sha256Hash': string; + /** + * Software threat score from the latest triage result, from 0 to 1. Null when triage has not produced a result + */ + 'threatScore': number | null; static readonly discriminator: string | undefined = undefined; @@ -103,6 +115,12 @@ export class AnalysisDetailOutputBody { "type": "string", "format": "" }, + { + "name": "capabilityCount", + "baseName": "capability_count", + "type": "number", + "format": "int64" + }, { "name": "creation", "baseName": "creation", @@ -133,11 +151,23 @@ export class AnalysisDetailOutputBody { "type": "RequestedConfigBody", "format": "" }, + { + "name": "securityFindingCount", + "baseName": "security_finding_count", + "type": "number", + "format": "int64" + }, { "name": "sha256Hash", "baseName": "sha_256_hash", "type": "string", "format": "" + }, + { + "name": "threatScore", + "baseName": "threat_score", + "type": "number", + "format": "double" } ]; static getAttributeTypeMap() { diff --git a/models/AnalysisOperationBody.ts b/models/AnalysisOperationBody.ts new file mode 100644 index 0000000..674180c --- /dev/null +++ b/models/AnalysisOperationBody.ts @@ -0,0 +1,68 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class AnalysisOperationBody { + /** + * Resource name of the operation, polled at /v3/{name} + */ + 'name': string; + /** + * Operation slug, the collection the operation is polled under + */ + 'operation': string; + /** + * Status of the operation\'s latest run + */ + 'status': AnalysisOperationBodyStatusEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + }, + { + "name": "operation", + "baseName": "operation", + "type": "string", + "format": "" + }, + { + "name": "status", + "baseName": "status", + "type": "AnalysisOperationBodyStatusEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return AnalysisOperationBody.attributeTypeMap; + } + + public constructor() { + } +} + +export enum AnalysisOperationBodyStatusEnum { + Uninitialised = 'UNINITIALISED', + Pending = 'PENDING', + Running = 'RUNNING', + Completed = 'COMPLETED', + Failed = 'FAILED', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/AnalysisOperationsOutputBody.ts b/models/AnalysisOperationsOutputBody.ts new file mode 100644 index 0000000..dad9f7c --- /dev/null +++ b/models/AnalysisOperationsOutputBody.ts @@ -0,0 +1,39 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { AnalysisOperationBody } from '../models/AnalysisOperationBody'; +import { HttpFile } from '../http/http'; + +export class AnalysisOperationsOutputBody { + /** + * The analysis\' static-analysis operation, followed by the latest run of each other operation started on its binary. Operations that have never run are omitted + */ + 'operations': Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "operations", + "baseName": "operations", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return AnalysisOperationsOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/AnalysisRecordBody.ts b/models/AnalysisRecordBody.ts index 066f83e..ad054ed 100644 --- a/models/AnalysisRecordBody.ts +++ b/models/AnalysisRecordBody.ts @@ -54,6 +54,10 @@ export class AnalysisRecordBody { */ 'detectedBinaryType': string; /** + * Detected source language; empty when unavailable + */ + 'detectedLanguage': string; + /** * Hash of the binary\'s provided function boundaries */ 'functionBoundariesHash': string; @@ -167,6 +171,12 @@ export class AnalysisRecordBody { "type": "string", "format": "" }, + { + "name": "detectedLanguage", + "baseName": "detected_language", + "type": "string", + "format": "" + }, { "name": "functionBoundariesHash", "baseName": "function_boundaries_hash", diff --git a/models/ApiCombinationEvidence.ts b/models/ApiCombinationEvidence0.ts similarity index 100% rename from models/ApiCombinationEvidence.ts rename to models/ApiCombinationEvidence0.ts diff --git a/models/Binary.ts b/models/Binary.ts index f586a34..72519af 100644 --- a/models/Binary.ts +++ b/models/Binary.ts @@ -24,6 +24,10 @@ export class Binary { * Detected operating-system platform; empty when unavailable */ 'detectedBinaryType': string; + /** + * Detected source language; empty when unavailable + */ + 'detectedLanguage': string; 'isSystemAnalysis': boolean; /** * Name of the model the analysis ran on @@ -81,6 +85,12 @@ export class Binary { "type": "string", "format": "" }, + { + "name": "detectedLanguage", + "baseName": "detected_language", + "type": "string", + "format": "" + }, { "name": "isSystemAnalysis", "baseName": "is_system_analysis", diff --git a/models/CallChainEvidence.ts b/models/CallChainEvidence.ts index 410d405..3f97d3d 100644 --- a/models/CallChainEvidence.ts +++ b/models/CallChainEvidence.ts @@ -9,24 +9,47 @@ * Do not edit the class manually. */ -import { EvidenceEffect } from '../models/EvidenceEffect'; import { HttpFile } from '../http/http'; -/** -* A concrete sequence of calls connecting program locations. -*/ export class CallChainEvidence { - 'evidenceKind'?: CallChainEvidenceEvidenceKindEnum; - 'kind'?: CallChainEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: CallChainEvidenceStrengthEnum; + /** + * Addresses along the call chain. + */ 'callChain': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': CallChainEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': CallChainEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': CallChainEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': CallChainEvidenceStrengthEnum; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "callChain", + "baseName": "call_chain", + "type": "Array", + "format": "int64" + }, + { + "name": "effect", + "baseName": "effect", + "type": "CallChainEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -39,23 +62,11 @@ export class CallChainEvidence { "type": "CallChainEvidenceKindEnum", "format": "" }, - { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", - "format": "" - }, { "name": "strength", "baseName": "strength", "type": "CallChainEvidenceStrengthEnum", "format": "" - }, - { - "name": "callChain", - "baseName": "call_chain", - "type": "Array", - "format": "" } ]; static getAttributeTypeMap() { @@ -66,6 +77,11 @@ export class CallChainEvidence { } } +export enum CallChainEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum CallChainEvidenceEvidenceKindEnum { CallChain = 'call_chain', UnknownDefaultOpenApi = '11184809' diff --git a/models/DecompilerSummary.ts b/models/DecompilerSummary.ts index ffa3ea7..0670b44 100644 --- a/models/DecompilerSummary.ts +++ b/models/DecompilerSummary.ts @@ -14,7 +14,7 @@ import { Subject } from '../models/Subject'; import { HttpFile } from '../http/http'; export class DecompilerSummary { - 'subject': Subject; + 'subject': Subject | null; 'summary': string; 'reachability'?: CallChain | null; diff --git a/models/DecompilerSummaryEvidence.ts b/models/DecompilerSummaryEvidence.ts index 4eb69db..ba95382 100644 --- a/models/DecompilerSummaryEvidence.ts +++ b/models/DecompilerSummaryEvidence.ts @@ -9,25 +9,42 @@ * Do not edit the class manually. */ -import { DecompilerSummary } from '../models/DecompilerSummary'; -import { EvidenceEffect } from '../models/EvidenceEffect'; +import { ReportCodeSummary } from '../models/ReportCodeSummary'; import { HttpFile } from '../http/http'; -/** -* Semantic summaries derived from decompiler output. -*/ export class DecompilerSummaryEvidence { - 'evidenceKind'?: DecompilerSummaryEvidenceEvidenceKindEnum; - 'kind'?: DecompilerSummaryEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: DecompilerSummaryEvidenceStrengthEnum; - 'summaries': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': DecompilerSummaryEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': DecompilerSummaryEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': DecompilerSummaryEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': DecompilerSummaryEvidenceStrengthEnum; + /** + * Summaries of the decompiled code. + */ + 'summaries': Array; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "DecompilerSummaryEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -40,12 +57,6 @@ export class DecompilerSummaryEvidence { "type": "DecompilerSummaryEvidenceKindEnum", "format": "" }, - { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", - "format": "" - }, { "name": "strength", "baseName": "strength", @@ -55,7 +66,7 @@ export class DecompilerSummaryEvidence { { "name": "summaries", "baseName": "summaries", - "type": "Array", + "type": "Array", "format": "" } ]; @@ -67,6 +78,11 @@ export class DecompilerSummaryEvidence { } } +export enum DecompilerSummaryEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum DecompilerSummaryEvidenceEvidenceKindEnum { DecompilerSummary = 'decompiler_summary', UnknownDefaultOpenApi = '11184809' diff --git a/models/DisassemblySummaryEvidence.ts b/models/DisassemblySummaryEvidence.ts new file mode 100644 index 0000000..dbf6bb7 --- /dev/null +++ b/models/DisassemblySummaryEvidence.ts @@ -0,0 +1,98 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportCodeSummary } from '../models/ReportCodeSummary'; +import { HttpFile } from '../http/http'; + +export class DisassemblySummaryEvidence { + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': DisassemblySummaryEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': DisassemblySummaryEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': DisassemblySummaryEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': DisassemblySummaryEvidenceStrengthEnum; + /** + * Summaries of the disassembled code. + */ + 'summaries': Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "DisassemblySummaryEvidenceEffectEnum", + "format": "" + }, + { + "name": "evidenceKind", + "baseName": "evidence_kind", + "type": "DisassemblySummaryEvidenceEvidenceKindEnum", + "format": "" + }, + { + "name": "kind", + "baseName": "kind", + "type": "DisassemblySummaryEvidenceKindEnum", + "format": "" + }, + { + "name": "strength", + "baseName": "strength", + "type": "DisassemblySummaryEvidenceStrengthEnum", + "format": "" + }, + { + "name": "summaries", + "baseName": "summaries", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return DisassemblySummaryEvidence.attributeTypeMap; + } + + public constructor() { + } +} + +export enum DisassemblySummaryEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} +export enum DisassemblySummaryEvidenceEvidenceKindEnum { + DisassemblySummary = 'disassembly_summary', + UnknownDefaultOpenApi = '11184809' +} +export enum DisassemblySummaryEvidenceKindEnum { + ModelInterpretation = 'model_interpretation', + UnknownDefaultOpenApi = '11184809' +} +export enum DisassemblySummaryEvidenceStrengthEnum { + Indirect = 'indirect', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/DynamicExecutionResult.ts b/models/DynamicExecutionResult.ts new file mode 100644 index 0000000..42690eb --- /dev/null +++ b/models/DynamicExecutionResult.ts @@ -0,0 +1,38 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class DynamicExecutionResult { + /** + * Whether the run\'s report can be fetched from the report endpoint. Always true when the operation succeeded. + */ + 'reportAvailable': boolean; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "reportAvailable", + "baseName": "report_available", + "type": "boolean", + "format": "" + } ]; + + static getAttributeTypeMap() { + return DynamicExecutionResult.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/DynamicExecutionSummaryResult.ts b/models/DynamicExecutionSummaryResult.ts new file mode 100644 index 0000000..86723a6 --- /dev/null +++ b/models/DynamicExecutionSummaryResult.ts @@ -0,0 +1,38 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class DynamicExecutionSummaryResult { + /** + * Whether the summary can be fetched from the summary endpoint. Always true when the operation succeeded. + */ + 'summaryAvailable': boolean; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "summaryAvailable", + "baseName": "summary_available", + "type": "boolean", + "format": "" + } ]; + + static getAttributeTypeMap() { + return DynamicExecutionSummaryResult.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ErrorBody.ts b/models/ErrorBody.ts index 61e721a..16702fc 100644 --- a/models/ErrorBody.ts +++ b/models/ErrorBody.ts @@ -85,6 +85,7 @@ export enum ErrorBodyCodeEnum { ClientClosedRequest = 'CLIENT_CLOSED_REQUEST', Conflict = 'CONFLICT', ConversationNotFound = 'CONVERSATION_NOT_FOUND', + DisposableEmailNotAllowed = 'DISPOSABLE_EMAIL_NOT_ALLOWED', DomainAlreadyClaimed = 'DOMAIN_ALREADY_CLAIMED', DomainVerificationPending = 'DOMAIN_VERIFICATION_PENDING', DynamicExecutionIncomplete = 'DYNAMIC_EXECUTION_INCOMPLETE', @@ -112,6 +113,7 @@ export enum ErrorBodyCodeEnum { NoPendingConfirmation = 'NO_PENDING_CONFIRMATION', NoVirustotalKey = 'NO_VIRUSTOTAL_KEY', OidcDiscoveryFailed = 'OIDC_DISCOVERY_FAILED', + OperationPrerequisiteNotMet = 'OPERATION_PREREQUISITE_NOT_MET', PasswordResetRequired = 'PASSWORD_RESET_REQUIRED', PaymentRequired = 'PAYMENT_REQUIRED', PreconditionFailed = 'PRECONDITION_FAILED', diff --git a/models/Example.ts b/models/Example.ts index b91b487..8e57dbd 100644 --- a/models/Example.ts +++ b/models/Example.ts @@ -55,7 +55,7 @@ export class Example { /** * Tags associated with this binary */ - 'tags': Array | null; + 'tags': Array | null; /** * Username of the analysis owner */ @@ -129,7 +129,7 @@ export class Example { { "name": "tags", "baseName": "tags", - "type": "Array", + "type": "Array", "format": "" }, { diff --git a/models/FunctionGlobalVariable.ts b/models/FunctionGlobalVariable.ts new file mode 100644 index 0000000..51c6191 --- /dev/null +++ b/models/FunctionGlobalVariable.ts @@ -0,0 +1,258 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class FunctionGlobalVariable { + /** + * Name of the assigned data type. + */ + 'dType'?: string; + /** + * Analysis data type, when one is assigned. + */ + 'dataTypeId'?: number; + /** + * 1-indexed lines of the function\'s AI decompilation that reference the global. + */ + 'decompLines': Array | null; + /** + * How many functions\' AI decompilations reference the global. + */ + 'functionCount': number; + /** + * Address a pointer slot resolves to. + */ + 'indirectTarget'?: number; + /** + * Whether the address falls in a zero-initialised section. + */ + 'isBss': boolean; + /** + * Recovered name, absent when nothing named the address. + */ + 'name'?: string; + /** + * What named it. + */ + 'nameSource'?: FunctionGlobalVariableNameSourceEnum; + /** + * How many times the function\'s AI decompilation references the global. + */ + 'refCount': number; + /** + * Size in bytes, when known. + */ + 'size'?: number; + /** + * Function a constructed static was initialised in. + */ + 'sourceFunctionId'?: number; + /** + * How many times those AI decompilations reference the global, summed across functions. + */ + 'totalRefCount': number; + /** + * What typed it. + */ + 'typeSource'?: FunctionGlobalVariableTypeSourceEnum; + /** + * Virtual address the global lives at. + */ + 'vaddr': number; + /** + * Decoded initial value, rendered for display. + */ + 'value'?: string; + /** + * How much to trust the decoded value. + */ + 'valueConfidence'?: string; + /** + * How the value was interpreted. + */ + 'valueKind'?: FunctionGlobalVariableValueKindEnum; + /** + * What produced the value. + */ + 'valueSource'?: FunctionGlobalVariableValueSourceEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "dType", + "baseName": "d_type", + "type": "string", + "format": "" + }, + { + "name": "dataTypeId", + "baseName": "data_type_id", + "type": "number", + "format": "int64" + }, + { + "name": "decompLines", + "baseName": "decomp_lines", + "type": "Array", + "format": "int32" + }, + { + "name": "functionCount", + "baseName": "function_count", + "type": "number", + "format": "int64" + }, + { + "name": "indirectTarget", + "baseName": "indirect_target", + "type": "number", + "format": "int64" + }, + { + "name": "isBss", + "baseName": "is_bss", + "type": "boolean", + "format": "" + }, + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + }, + { + "name": "nameSource", + "baseName": "name_source", + "type": "FunctionGlobalVariableNameSourceEnum", + "format": "" + }, + { + "name": "refCount", + "baseName": "ref_count", + "type": "number", + "format": "int64" + }, + { + "name": "size", + "baseName": "size", + "type": "number", + "format": "int64" + }, + { + "name": "sourceFunctionId", + "baseName": "source_function_id", + "type": "number", + "format": "int64" + }, + { + "name": "totalRefCount", + "baseName": "total_ref_count", + "type": "number", + "format": "int64" + }, + { + "name": "typeSource", + "baseName": "type_source", + "type": "FunctionGlobalVariableTypeSourceEnum", + "format": "" + }, + { + "name": "vaddr", + "baseName": "vaddr", + "type": "number", + "format": "int64" + }, + { + "name": "value", + "baseName": "value", + "type": "string", + "format": "" + }, + { + "name": "valueConfidence", + "baseName": "value_confidence", + "type": "string", + "format": "" + }, + { + "name": "valueKind", + "baseName": "value_kind", + "type": "FunctionGlobalVariableValueKindEnum", + "format": "" + }, + { + "name": "valueSource", + "baseName": "value_source", + "type": "FunctionGlobalVariableValueSourceEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return FunctionGlobalVariable.attributeTypeMap; + } + + public constructor() { + } +} + +export enum FunctionGlobalVariableNameSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} +export enum FunctionGlobalVariableTypeSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} +export enum FunctionGlobalVariableValueKindEnum { + Bss = 'BSS', + String = 'STRING', + ShortString = 'SHORT_STRING', + Float = 'FLOAT', + Pointer = 'POINTER', + DynamicInit = 'DYNAMIC_INIT', + Hex = 'HEX', + Int = 'INT', + Bool = 'BOOL', + UnknownDefaultOpenApi = '11184809' +} +export enum FunctionGlobalVariableValueSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/FunctionSimilarity.ts b/models/FunctionSimilarity.ts index 7042de8..437c0ed 100644 --- a/models/FunctionSimilarity.ts +++ b/models/FunctionSimilarity.ts @@ -15,7 +15,7 @@ import { HttpFile } from '../http/http'; export class FunctionSimilarity { 'name': string; 'similarity': number; - 'subject': Subject; + 'subject': Subject | null; static readonly discriminator: string | undefined = undefined; diff --git a/models/FunctionSimilarityEvidence.ts b/models/FunctionSimilarityEvidence.ts index 74adb1a..3c0cc6b 100644 --- a/models/FunctionSimilarityEvidence.ts +++ b/models/FunctionSimilarityEvidence.ts @@ -9,25 +9,42 @@ * Do not edit the class manually. */ -import { EvidenceEffect } from '../models/EvidenceEffect'; -import { FunctionSimilarity } from '../models/FunctionSimilarity'; +import { ReportFunctionSimilarity } from '../models/ReportFunctionSimilarity'; import { HttpFile } from '../http/http'; -/** -* Function-similarity results suggestive of a capability. -*/ export class FunctionSimilarityEvidence { - 'evidenceKind'?: FunctionSimilarityEvidenceEvidenceKindEnum; - 'kind'?: FunctionSimilarityEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: FunctionSimilarityEvidenceStrengthEnum; - 'similarities': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': FunctionSimilarityEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': FunctionSimilarityEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': FunctionSimilarityEvidenceKindEnum; + /** + * The similar functions. + */ + 'similarities': Array; + /** + * How directly the evidence bears on the finding. + */ + 'strength': FunctionSimilarityEvidenceStrengthEnum; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "FunctionSimilarityEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -41,9 +58,9 @@ export class FunctionSimilarityEvidence { "format": "" }, { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", + "name": "similarities", + "baseName": "similarities", + "type": "Array", "format": "" }, { @@ -51,12 +68,6 @@ export class FunctionSimilarityEvidence { "baseName": "strength", "type": "FunctionSimilarityEvidenceStrengthEnum", "format": "" - }, - { - "name": "similarities", - "baseName": "similarities", - "type": "Array", - "format": "" } ]; static getAttributeTypeMap() { @@ -67,6 +78,11 @@ export class FunctionSimilarityEvidence { } } +export enum FunctionSimilarityEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum FunctionSimilarityEvidenceEvidenceKindEnum { FunctionSimilarity = 'function_similarity', UnknownDefaultOpenApi = '11184809' diff --git a/models/FunctionUsage.ts b/models/FunctionUsage.ts new file mode 100644 index 0000000..91c584b --- /dev/null +++ b/models/FunctionUsage.ts @@ -0,0 +1,63 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class FunctionUsage { + 'decompLines': Array | null; + 'functionId': number; + 'functionName': string; + 'functionVaddr': number; + 'refCount': number; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "decompLines", + "baseName": "decomp_lines", + "type": "Array", + "format": "int32" + }, + { + "name": "functionId", + "baseName": "function_id", + "type": "number", + "format": "int64" + }, + { + "name": "functionName", + "baseName": "function_name", + "type": "string", + "format": "" + }, + { + "name": "functionVaddr", + "baseName": "function_vaddr", + "type": "number", + "format": "int64" + }, + { + "name": "refCount", + "baseName": "ref_count", + "type": "number", + "format": "int64" + } ]; + + static getAttributeTypeMap() { + return FunctionUsage.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/GetGlobalHistoryOutputBody.ts b/models/GetGlobalHistoryOutputBody.ts new file mode 100644 index 0000000..4b24fb1 --- /dev/null +++ b/models/GetGlobalHistoryOutputBody.ts @@ -0,0 +1,39 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { GlobalHistoryEntry } from '../models/GlobalHistoryEntry'; +import { HttpFile } from '../http/http'; + +export class GetGlobalHistoryOutputBody { + /** + * Replaced values, oldest first. + */ + 'history': Array | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "history", + "baseName": "history", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return GetGlobalHistoryOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/GlobalHistoryEntry.ts b/models/GlobalHistoryEntry.ts new file mode 100644 index 0000000..2c68ca8 --- /dev/null +++ b/models/GlobalHistoryEntry.ts @@ -0,0 +1,59 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { GlobalVariable } from '../models/GlobalVariable'; +import { HttpFile } from '../http/http'; + +export class GlobalHistoryEntry { + /** + * The global as it stood before that edit. + */ + 'previous': GlobalVariable; + /** + * When the value below was replaced. + */ + 'replacedAt': Date; + /** + * Who replaced it. + */ + 'replacedByUserId': number; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "previous", + "baseName": "previous", + "type": "GlobalVariable", + "format": "" + }, + { + "name": "replacedAt", + "baseName": "replaced_at", + "type": "Date", + "format": "date-time" + }, + { + "name": "replacedByUserId", + "baseName": "replaced_by_user_id", + "type": "number", + "format": "int64" + } ]; + + static getAttributeTypeMap() { + return GlobalHistoryEntry.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/GlobalVariable.ts b/models/GlobalVariable.ts new file mode 100644 index 0000000..e591fae --- /dev/null +++ b/models/GlobalVariable.ts @@ -0,0 +1,238 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class GlobalVariable { + /** + * Name of the assigned data type. + */ + 'dType'?: string; + /** + * Analysis data type, when one is assigned. + */ + 'dataTypeId'?: number; + /** + * How many functions\' AI decompilations reference the global. + */ + 'functionCount': number; + /** + * Address a pointer slot resolves to. + */ + 'indirectTarget'?: number; + /** + * Whether the address falls in a zero-initialised section. + */ + 'isBss': boolean; + /** + * Recovered name, absent when nothing named the address. + */ + 'name'?: string; + /** + * What named it. + */ + 'nameSource'?: GlobalVariableNameSourceEnum; + /** + * Size in bytes, when known. + */ + 'size'?: number; + /** + * Function a constructed static was initialised in. + */ + 'sourceFunctionId'?: number; + /** + * How many times those AI decompilations reference the global, summed across functions. + */ + 'totalRefCount': number; + /** + * What typed it. + */ + 'typeSource'?: GlobalVariableTypeSourceEnum; + /** + * Virtual address the global lives at. + */ + 'vaddr': number; + /** + * Decoded initial value, rendered for display. + */ + 'value'?: string; + /** + * How much to trust the decoded value. + */ + 'valueConfidence'?: string; + /** + * How the value was interpreted. + */ + 'valueKind'?: GlobalVariableValueKindEnum; + /** + * What produced the value. + */ + 'valueSource'?: GlobalVariableValueSourceEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "dType", + "baseName": "d_type", + "type": "string", + "format": "" + }, + { + "name": "dataTypeId", + "baseName": "data_type_id", + "type": "number", + "format": "int64" + }, + { + "name": "functionCount", + "baseName": "function_count", + "type": "number", + "format": "int64" + }, + { + "name": "indirectTarget", + "baseName": "indirect_target", + "type": "number", + "format": "int64" + }, + { + "name": "isBss", + "baseName": "is_bss", + "type": "boolean", + "format": "" + }, + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + }, + { + "name": "nameSource", + "baseName": "name_source", + "type": "GlobalVariableNameSourceEnum", + "format": "" + }, + { + "name": "size", + "baseName": "size", + "type": "number", + "format": "int64" + }, + { + "name": "sourceFunctionId", + "baseName": "source_function_id", + "type": "number", + "format": "int64" + }, + { + "name": "totalRefCount", + "baseName": "total_ref_count", + "type": "number", + "format": "int64" + }, + { + "name": "typeSource", + "baseName": "type_source", + "type": "GlobalVariableTypeSourceEnum", + "format": "" + }, + { + "name": "vaddr", + "baseName": "vaddr", + "type": "number", + "format": "int64" + }, + { + "name": "value", + "baseName": "value", + "type": "string", + "format": "" + }, + { + "name": "valueConfidence", + "baseName": "value_confidence", + "type": "string", + "format": "" + }, + { + "name": "valueKind", + "baseName": "value_kind", + "type": "GlobalVariableValueKindEnum", + "format": "" + }, + { + "name": "valueSource", + "baseName": "value_source", + "type": "GlobalVariableValueSourceEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return GlobalVariable.attributeTypeMap; + } + + public constructor() { + } +} + +export enum GlobalVariableNameSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} +export enum GlobalVariableTypeSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} +export enum GlobalVariableValueKindEnum { + Bss = 'BSS', + String = 'STRING', + ShortString = 'SHORT_STRING', + Float = 'FLOAT', + Pointer = 'POINTER', + DynamicInit = 'DYNAMIC_INIT', + Hex = 'HEX', + Int = 'INT', + Bool = 'BOOL', + UnknownDefaultOpenApi = '11184809' +} +export enum GlobalVariableValueSourceEnum { + System = 'SYSTEM', + Resolver = 'RESOLVER', + Debug = 'DEBUG', + Constructor = 'CONSTRUCTOR', + Value = 'VALUE', + AiDecomp = 'AI_DECOMP', + AiAgent = 'AI_AGENT', + User = 'USER', + Access = 'ACCESS', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/HardcodedSecretEvidence.ts b/models/HardcodedSecretEvidence.ts index cb16934..6bac938 100644 --- a/models/HardcodedSecretEvidence.ts +++ b/models/HardcodedSecretEvidence.ts @@ -9,25 +9,53 @@ * Do not edit the class manually. */ -import { EvidenceStrength } from '../models/EvidenceStrength'; -import { RuleKind } from '../models/RuleKind'; import { HttpFile } from '../http/http'; -/** -* A hard-coded secret identified in the binary\'s data. -*/ export class HardcodedSecretEvidence { - 'evidenceKind'?: HardcodedSecretEvidenceEvidenceKindEnum; - 'kind'?: HardcodedSecretEvidenceKindEnum; - 'effect'?: HardcodedSecretEvidenceEffectEnum; - 'strength': EvidenceStrength; - 'ruleId': string; + /** + * What the rule detects. + */ 'description': string; - 'secretKind': RuleKind; - 'secret': string; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': HardcodedSecretEvidenceEffectEnum; + /** + * Shannon entropy of the secret, in bits per byte. + */ 'entropy': number; - 'size': number; + /** + * Kind of evidence. + */ + 'evidenceKind': HardcodedSecretEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': HardcodedSecretEvidenceKindEnum; + /** + * Address of the secret in the binary\'s data. + */ 'references': Array; + /** + * Identifier of the secret-scanning rule that matched. + */ + 'ruleId': string; + /** + * The secret as it appears in the binary. + */ + 'secret': string; + /** + * Category of the secret. + */ + 'secretKind': HardcodedSecretEvidenceSecretKindEnum; + /** + * Size of the secret in bytes. + */ + 'size': number; + /** + * How directly the evidence bears on the finding. + */ + 'strength': HardcodedSecretEvidenceStrengthEnum; static readonly discriminator: string | undefined = undefined; @@ -35,15 +63,9 @@ export class HardcodedSecretEvidence { static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ { - "name": "evidenceKind", - "baseName": "evidence_kind", - "type": "HardcodedSecretEvidenceEvidenceKindEnum", - "format": "" - }, - { - "name": "kind", - "baseName": "kind", - "type": "HardcodedSecretEvidenceKindEnum", + "name": "description", + "baseName": "description", + "type": "string", "format": "" }, { @@ -53,27 +75,33 @@ export class HardcodedSecretEvidence { "format": "" }, { - "name": "strength", - "baseName": "strength", - "type": "EvidenceStrength", - "format": "" + "name": "entropy", + "baseName": "entropy", + "type": "number", + "format": "double" }, { - "name": "ruleId", - "baseName": "rule_id", - "type": "string", + "name": "evidenceKind", + "baseName": "evidence_kind", + "type": "HardcodedSecretEvidenceEvidenceKindEnum", "format": "" }, { - "name": "description", - "baseName": "description", - "type": "string", + "name": "kind", + "baseName": "kind", + "type": "HardcodedSecretEvidenceKindEnum", "format": "" }, { - "name": "secretKind", - "baseName": "secret_kind", - "type": "RuleKind", + "name": "references", + "baseName": "references", + "type": "Array", + "format": "int64" + }, + { + "name": "ruleId", + "baseName": "rule_id", + "type": "string", "format": "" }, { @@ -83,21 +111,21 @@ export class HardcodedSecretEvidence { "format": "" }, { - "name": "entropy", - "baseName": "entropy", - "type": "number", + "name": "secretKind", + "baseName": "secret_kind", + "type": "HardcodedSecretEvidenceSecretKindEnum", "format": "" }, { "name": "size", "baseName": "size", "type": "number", - "format": "" + "format": "int64" }, { - "name": "references", - "baseName": "references", - "type": "Array", + "name": "strength", + "baseName": "strength", + "type": "HardcodedSecretEvidenceStrengthEnum", "format": "" } ]; @@ -109,6 +137,10 @@ export class HardcodedSecretEvidence { } } +export enum HardcodedSecretEvidenceEffectEnum { + Supports = 'supports', + UnknownDefaultOpenApi = '11184809' +} export enum HardcodedSecretEvidenceEvidenceKindEnum { HardcodedSecret = 'hardcoded_secret', UnknownDefaultOpenApi = '11184809' @@ -117,8 +149,21 @@ export enum HardcodedSecretEvidenceKindEnum { DeterministicDerivation = 'deterministic_derivation', UnknownDefaultOpenApi = '11184809' } -export enum HardcodedSecretEvidenceEffectEnum { - Supports = 'supports', +export enum HardcodedSecretEvidenceSecretKindEnum { + Credentials = 'credentials', + ApiCredentials = 'api-credentials', + OauthCredentials = 'oauth-credentials', + EncryptionKey = 'encryption-key', + JwtToken = 'jwt-token', + WebhookUrl = 'webhook-url', + PrivateKey = 'private-key', + SignedUrl = 'signed-url', + Generic = 'generic', + UnknownDefaultOpenApi = '11184809' +} +export enum HardcodedSecretEvidenceStrengthEnum { + Direct = 'direct', + Indirect = 'indirect', UnknownDefaultOpenApi = '11184809' } diff --git a/models/ImportedAPICallEvidence.ts b/models/ImportedAPICallEvidence.ts new file mode 100644 index 0000000..e04011c --- /dev/null +++ b/models/ImportedAPICallEvidence.ts @@ -0,0 +1,98 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportImportedAPICall } from '../models/ReportImportedAPICall'; +import { HttpFile } from '../http/http'; + +export class ImportedAPICallEvidence { + /** + * The observed calls. + */ + 'calls': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': ImportedAPICallEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': ImportedAPICallEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': ImportedAPICallEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': ImportedAPICallEvidenceStrengthEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "calls", + "baseName": "calls", + "type": "Array", + "format": "" + }, + { + "name": "effect", + "baseName": "effect", + "type": "ImportedAPICallEvidenceEffectEnum", + "format": "" + }, + { + "name": "evidenceKind", + "baseName": "evidence_kind", + "type": "ImportedAPICallEvidenceEvidenceKindEnum", + "format": "" + }, + { + "name": "kind", + "baseName": "kind", + "type": "ImportedAPICallEvidenceKindEnum", + "format": "" + }, + { + "name": "strength", + "baseName": "strength", + "type": "ImportedAPICallEvidenceStrengthEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ImportedAPICallEvidence.attributeTypeMap; + } + + public constructor() { + } +} + +export enum ImportedAPICallEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} +export enum ImportedAPICallEvidenceEvidenceKindEnum { + ImportedApiCall = 'imported_api_call', + UnknownDefaultOpenApi = '11184809' +} +export enum ImportedAPICallEvidenceKindEnum { + DeterministicDerivation = 'deterministic_derivation', + UnknownDefaultOpenApi = '11184809' +} +export enum ImportedAPICallEvidenceStrengthEnum { + Direct = 'direct', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ImportedApiCallEvidence.ts b/models/ImportedApiCallEvidence0.ts similarity index 100% rename from models/ImportedApiCallEvidence.ts rename to models/ImportedApiCallEvidence0.ts diff --git a/models/KnownConstantEvidence.ts b/models/KnownConstantEvidence.ts index 888e8f1..6a4d741 100644 --- a/models/KnownConstantEvidence.ts +++ b/models/KnownConstantEvidence.ts @@ -9,25 +9,42 @@ * Do not edit the class manually. */ -import { BytesConstant } from '../models/BytesConstant'; -import { EvidenceEffect } from '../models/EvidenceEffect'; +import { ReportBytesConstant } from '../models/ReportBytesConstant'; import { HttpFile } from '../http/http'; -/** -* A known constant whose semantic use has not been demonstrated. -*/ export class KnownConstantEvidence { - 'evidenceKind'?: KnownConstantEvidenceEvidenceKindEnum; - 'kind'?: KnownConstantEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: KnownConstantEvidenceStrengthEnum; - 'values': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': KnownConstantEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': KnownConstantEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': KnownConstantEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': KnownConstantEvidenceStrengthEnum; + /** + * The well-known constants found in the binary. + */ + 'values': Array; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "KnownConstantEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -40,12 +57,6 @@ export class KnownConstantEvidence { "type": "KnownConstantEvidenceKindEnum", "format": "" }, - { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", - "format": "" - }, { "name": "strength", "baseName": "strength", @@ -55,7 +66,7 @@ export class KnownConstantEvidence { { "name": "values", "baseName": "values", - "type": "Array", + "type": "Array", "format": "" } ]; @@ -67,6 +78,11 @@ export class KnownConstantEvidence { } } +export enum KnownConstantEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum KnownConstantEvidenceEvidenceKindEnum { KnownConstant = 'known_constant', UnknownDefaultOpenApi = '11184809' diff --git a/models/ListAnalysisGlobalsOutputBody.ts b/models/ListAnalysisGlobalsOutputBody.ts new file mode 100644 index 0000000..f53e572 --- /dev/null +++ b/models/ListAnalysisGlobalsOutputBody.ts @@ -0,0 +1,50 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { GlobalVariable } from '../models/GlobalVariable'; +import { HttpFile } from '../http/http'; + +export class ListAnalysisGlobalsOutputBody { + 'globals': Array | null; + 'total': number; + 'totalUnfiltered': number; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "globals", + "baseName": "globals", + "type": "Array", + "format": "" + }, + { + "name": "total", + "baseName": "total", + "type": "number", + "format": "int64" + }, + { + "name": "totalUnfiltered", + "baseName": "total_unfiltered", + "type": "number", + "format": "int64" + } ]; + + static getAttributeTypeMap() { + return ListAnalysisGlobalsOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ListFunctionGlobalsOutputBody.ts b/models/ListFunctionGlobalsOutputBody.ts new file mode 100644 index 0000000..20dd14d --- /dev/null +++ b/models/ListFunctionGlobalsOutputBody.ts @@ -0,0 +1,46 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { FunctionGlobalVariable } from '../models/FunctionGlobalVariable'; +import { HttpFile } from '../http/http'; + +export class ListFunctionGlobalsOutputBody { + /** + * Whether the function has a successful AI decompilation. Its globals are recorded from that decompilation, so before one exists the list is empty however many globals the function uses. + */ + 'decompiled': boolean; + 'globals': Array | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "decompiled", + "baseName": "decompiled", + "type": "boolean", + "format": "" + }, + { + "name": "globals", + "baseName": "globals", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ListFunctionGlobalsOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ListGlobalFunctionsOutputBody.ts b/models/ListGlobalFunctionsOutputBody.ts new file mode 100644 index 0000000..1f908ec --- /dev/null +++ b/models/ListGlobalFunctionsOutputBody.ts @@ -0,0 +1,36 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { FunctionUsage } from '../models/FunctionUsage'; +import { HttpFile } from '../http/http'; + +export class ListGlobalFunctionsOutputBody { + 'functions': Array | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "functions", + "baseName": "functions", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ListGlobalFunctionsOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ListOperationPrerequisitesOutputBody.ts b/models/ListOperationPrerequisitesOutputBody.ts new file mode 100644 index 0000000..29f8213 --- /dev/null +++ b/models/ListOperationPrerequisitesOutputBody.ts @@ -0,0 +1,39 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { OperationPrerequisitesBody } from '../models/OperationPrerequisitesBody'; +import { HttpFile } from '../http/http'; + +export class ListOperationPrerequisitesOutputBody { + /** + * Operations that have prerequisites + */ + 'operations': Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "operations", + "baseName": "operations", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ListOperationPrerequisitesOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ListPublicUsersOutputBody.ts b/models/ListPublicUsersOutputBody.ts new file mode 100644 index 0000000..c7a6419 --- /dev/null +++ b/models/ListPublicUsersOutputBody.ts @@ -0,0 +1,39 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { PublicUserBody } from '../models/PublicUserBody'; +import { HttpFile } from '../http/http'; + +export class ListPublicUsersOutputBody { + /** + * Up to 5 matching active users, ordered by username + */ + 'results': Array | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "results", + "baseName": "results", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ListPublicUsersOutputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ModelInterpretationEvidence.ts b/models/ModelInterpretationEvidence.ts index 0fb97de..2edd797 100644 --- a/models/ModelInterpretationEvidence.ts +++ b/models/ModelInterpretationEvidence.ts @@ -9,26 +9,42 @@ * Do not edit the class manually. */ -import { EvidenceEffect } from '../models/EvidenceEffect'; -import { EvidenceStrength } from '../models/EvidenceStrength'; -import { ModelInterpretation } from '../models/ModelInterpretation'; +import { ReportModelInterpretation } from '../models/ReportModelInterpretation'; import { HttpFile } from '../http/http'; -/** -* LLM interpretations of observations. -*/ export class ModelInterpretationEvidence { - 'evidenceKind'?: ModelInterpretationEvidenceEvidenceKindEnum; - 'kind'?: ModelInterpretationEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: EvidenceStrength; - 'interpretations': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': ModelInterpretationEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': ModelInterpretationEvidenceEvidenceKindEnum; + /** + * Interpretations of the code by an AI model. + */ + 'interpretations': Array; + /** + * How the evidence was derived. + */ + 'kind': ModelInterpretationEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': ModelInterpretationEvidenceStrengthEnum; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "ModelInterpretationEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -36,27 +52,21 @@ export class ModelInterpretationEvidence { "format": "" }, { - "name": "kind", - "baseName": "kind", - "type": "ModelInterpretationEvidenceKindEnum", + "name": "interpretations", + "baseName": "interpretations", + "type": "Array", "format": "" }, { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", + "name": "kind", + "baseName": "kind", + "type": "ModelInterpretationEvidenceKindEnum", "format": "" }, { "name": "strength", "baseName": "strength", - "type": "EvidenceStrength", - "format": "" - }, - { - "name": "interpretations", - "baseName": "interpretations", - "type": "Array", + "type": "ModelInterpretationEvidenceStrengthEnum", "format": "" } ]; @@ -68,6 +78,11 @@ export class ModelInterpretationEvidence { } } +export enum ModelInterpretationEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum ModelInterpretationEvidenceEvidenceKindEnum { ModelInterpretation = 'model_interpretation', UnknownDefaultOpenApi = '11184809' @@ -76,4 +91,9 @@ export enum ModelInterpretationEvidenceKindEnum { ModelInterpretation = 'model_interpretation', UnknownDefaultOpenApi = '11184809' } +export enum ModelInterpretationEvidenceStrengthEnum { + Direct = 'direct', + Indirect = 'indirect', + UnknownDefaultOpenApi = '11184809' +} diff --git a/models/ObjectSerializer.ts b/models/ObjectSerializer.ts index f4ce6e4..f886d35 100644 --- a/models/ObjectSerializer.ts +++ b/models/ObjectSerializer.ts @@ -1,3 +1,4 @@ +export * from '../models/APICombinationEvidence'; export * from '../models/APIError'; export * from '../models/AcceptTypeSuggestionsInputBody'; export * from '../models/AcceptTypeSuggestionsOutputBody'; @@ -37,6 +38,8 @@ export * from '../models/AnalysisFunctionsList'; export * from '../models/AnalysisLogEntry'; export * from '../models/AnalysisLogMessage'; export * from '../models/AnalysisLogs'; +export * from '../models/AnalysisOperationBody'; +export * from '../models/AnalysisOperationsOutputBody'; export * from '../models/AnalysisRecord'; export * from '../models/AnalysisRecordBody'; export * from '../models/AnalysisReport'; @@ -270,14 +273,17 @@ export * from '../models/DecompilerSummary'; export * from '../models/DecompilerSummaryEvidence'; export * from '../models/DieMatch'; export * from '../models/DisassemblyOutputBody'; +export * from '../models/DisassemblySummaryEvidence'; export * from '../models/Display'; export * from '../models/DnsQuery'; export * from '../models/DrakvufFileMetadata'; export * from '../models/DynamicExecutionMetadata'; +export * from '../models/DynamicExecutionResult'; export * from '../models/DynamicExecutionStatus'; export * from '../models/DynamicExecutionStatusResponse'; export * from '../models/DynamicExecutionSummary'; export * from '../models/DynamicExecutionSummaryMetadata'; +export * from '../models/DynamicExecutionSummaryResult'; export * from '../models/ELFImportModel'; export * from '../models/ELFModel'; export * from '../models/ELFRelocation'; @@ -365,6 +371,7 @@ export * from '../models/FunctionCallEdges'; export * from '../models/FunctionCapabilityResponse'; export * from '../models/FunctionDataType'; export * from '../models/FunctionDetailsOutputBody'; +export * from '../models/FunctionGlobalVariable'; export * from '../models/FunctionListItem'; export * from '../models/FunctionLocalVariableResponse'; export * from '../models/FunctionMapping'; @@ -386,6 +393,7 @@ export * from '../models/FunctionString'; export * from '../models/FunctionStringItem'; export * from '../models/FunctionStringsResponse'; export * from '../models/FunctionTypeDefinition'; +export * from '../models/FunctionUsage'; export * from '../models/FunctionsDetailResponse'; export * from '../models/FunctionsListRename'; export * from '../models/FunctionsProgressOutputBody'; @@ -403,6 +411,7 @@ export * from '../models/GetDataTypeHistoryBody'; export * from '../models/GetDieInfoOutputBody'; export * from '../models/GetFunctionMapsOutputBody'; export * from '../models/GetFunctionSignatureHistoryBody'; +export * from '../models/GetGlobalHistoryOutputBody'; export * from '../models/GetMatchesOutputBody'; export * from '../models/GetMatchesStatusOutputBody'; export * from '../models/GetModelsOutputBody'; @@ -414,6 +423,8 @@ export * from '../models/GetRelatedStatusOutputBody'; export * from '../models/GetSubscriptionOutputBody'; export * from '../models/GetTokensResponse'; export * from '../models/GetUserActivityOutputBody'; +export * from '../models/GlobalHistoryEntry'; +export * from '../models/GlobalVariable'; export * from '../models/HardcodedSecretEvidence'; export * from '../models/HistoryActor'; export * from '../models/HistoryEntry'; @@ -423,6 +434,7 @@ export * from '../models/ISA'; export * from '../models/IconModel'; export * from '../models/ImportDynamicExecutionFileOutputBody'; export * from '../models/ImportModel'; +export * from '../models/ImportedAPICallEvidence'; export * from '../models/ImportedApi'; export * from '../models/ImportedApiCall'; export * from '../models/ImportedApiCallEvidence'; @@ -441,15 +453,20 @@ export * from '../models/LineAttributionsData'; export * from '../models/ListAnalysesOutputBody'; export * from '../models/ListAnalysisDataTypesOutputBody'; export * from '../models/ListAnalysisFunctionsOutputBody'; +export * from '../models/ListAnalysisGlobalsOutputBody'; export * from '../models/ListAnalysisStringsOutputBody'; export * from '../models/ListArchiveContentsOutputBody'; export * from '../models/ListCollectionResults'; export * from '../models/ListCollectionsOutputBody'; export * from '../models/ListDataTypeFunctionsBody'; export * from '../models/ListExampleAnalysesOutputBody'; +export * from '../models/ListFunctionGlobalsOutputBody'; export * from '../models/ListFunctionSignaturesOutputBody'; export * from '../models/ListFunctionStringsOutputBody'; +export * from '../models/ListGlobalFunctionsOutputBody'; export * from '../models/ListImportedFunctionsOutputBody'; +export * from '../models/ListOperationPrerequisitesOutputBody'; +export * from '../models/ListPublicUsersOutputBody'; export * from '../models/ListSecretStoreOutputBody'; export * from '../models/ListTeamsOutputBody'; export * from '../models/ListUsersOutputBody'; @@ -502,6 +519,8 @@ export * from '../models/OperationMetadataThreatReportResult'; export * from '../models/OperationMetadataTriageResult'; export * from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; export * from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +export * from '../models/OperationPrerequisitesBody'; +export * from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; export * from '../models/OperationSecurityScanMetadataSecurityScanResult'; export * from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult'; export * from '../models/OperationWorkflowProgressResultBody'; @@ -538,6 +557,7 @@ export * from '../models/ProductSummary'; export * from '../models/ProgressMessage'; export * from '../models/ProseEvent'; export * from '../models/ProtocolsAgentResponse'; +export * from '../models/PublicUserBody'; export * from '../models/PutAnalysisStringsRequest'; export * from '../models/QueuedWorkflowTaskResponse'; export * from '../models/RatingOutputBody'; @@ -557,16 +577,31 @@ export * from '../models/RemoveCollectionBinariesInputBody'; export * from '../models/RenameAppliedEvent'; export * from '../models/RenameInputBody'; export * from '../models/RenameOutputBody'; +export * from '../models/RenameUnnamedFunctionsMetadata'; export * from '../models/RenameUnnamedFunctionsResult'; export * from '../models/RenderedToken'; export * from '../models/ReportAnalysisBody'; export * from '../models/ReportAnalysisResponse'; +export * from '../models/ReportBytesConstant'; +export * from '../models/ReportCallChain'; +export * from '../models/ReportCodeSummary'; export * from '../models/ReportEvent'; +export * from '../models/ReportFinding'; +export * from '../models/ReportFindingEvidenceInner'; +export * from '../models/ReportFunctionSimilarity'; +export * from '../models/ReportImportedAPI'; +export * from '../models/ReportImportedAPICall'; export * from '../models/ReportInfo'; +export * from '../models/ReportMeta'; +export * from '../models/ReportModelInterpretation'; export * from '../models/ReportOptions'; export * from '../models/ReportReachabilityStatus'; +export * from '../models/ReportReferencedConstant'; export * from '../models/ReportResult'; +export * from '../models/ReportStringMatch'; +export * from '../models/ReportSubject'; export * from '../models/RequestedConfigBody'; +export * from '../models/RequeueAnalysisRequest'; export * from '../models/ResendVerificationEmailInputBody'; export * from '../models/ResolvedEntity'; export * from '../models/ResultBody'; @@ -700,6 +735,7 @@ export * from '../models/UnionDataType'; export * from '../models/UnionDefinition'; export * from '../models/UnknownDataType'; export * from '../models/UpdateAnalysisDataTypesInputBody'; +export * from '../models/UpdateAnalysisGlobalInputBody'; export * from '../models/UpdateAnalysisInputBody'; export * from '../models/UpdateArrayDataType'; export * from '../models/UpdateBaseDataType'; @@ -749,6 +785,7 @@ export * from '../models/XrefResponse'; export * from '../models/XrefSegmentBody'; export * from '../models/XrefToResponse'; +import { APICombinationEvidence , APICombinationEvidenceEffectEnum , APICombinationEvidenceEvidenceKindEnum , APICombinationEvidenceKindEnum , APICombinationEvidenceStrengthEnum } from '../models/APICombinationEvidence'; import { APIError } from '../models/APIError'; import { AcceptTypeSuggestionsInputBody } from '../models/AcceptTypeSuggestionsInputBody'; import { AcceptTypeSuggestionsOutputBody } from '../models/AcceptTypeSuggestionsOutputBody'; @@ -767,7 +804,7 @@ import { AiDecompilationRating } from '../models/AiDecompilationRating'; import { AnalyseCapabilitiesBody } from '../models/AnalyseCapabilitiesBody'; import { AnalysisAccessBody } from '../models/AnalysisAccessBody'; import { AnalysisAccessInfo } from '../models/AnalysisAccessInfo'; -import { AnalysisBasicInfoOutputBody, AnalysisBasicInfoOutputBodyAnalysisScopeEnum } from '../models/AnalysisBasicInfoOutputBody'; +import { AnalysisBasicInfoOutputBody, AnalysisBasicInfoOutputBodyAnalysisScopeEnum } from '../models/AnalysisBasicInfoOutputBody'; import { AnalysisBulkAddTagsRequest } from '../models/AnalysisBulkAddTagsRequest'; import { AnalysisBulkAddTagsResponse } from '../models/AnalysisBulkAddTagsResponse'; import { AnalysisBulkAddTagsResponseItem } from '../models/AnalysisBulkAddTagsResponseItem'; @@ -779,7 +816,7 @@ import { AnalysisCreateRequest } from '../models/AnalysisCreateRequest' import { AnalysisCreateResponse } from '../models/AnalysisCreateResponse'; import { AnalysisDataTypesGroup } from '../models/AnalysisDataTypesGroup'; import { AnalysisDataTypesOutputBody } from '../models/AnalysisDataTypesOutputBody'; -import { AnalysisDetailOutputBody , AnalysisDetailOutputBodyAnalysisScopeEnum } from '../models/AnalysisDetailOutputBody'; +import { AnalysisDetailOutputBody , AnalysisDetailOutputBodyAnalysisScopeEnum } from '../models/AnalysisDetailOutputBody'; import { AnalysisDetailResponse } from '../models/AnalysisDetailResponse'; import { AnalysisFunctionEntry } from '../models/AnalysisFunctionEntry'; import { AnalysisFunctionMapping } from '../models/AnalysisFunctionMapping'; @@ -788,8 +825,10 @@ import { AnalysisFunctionsList } from '../models/AnalysisFunctionsList'; import { AnalysisLogEntry, AnalysisLogEntryLevelEnum } from '../models/AnalysisLogEntry'; import { AnalysisLogMessage } from '../models/AnalysisLogMessage'; import { AnalysisLogs } from '../models/AnalysisLogs'; +import { AnalysisOperationBody , AnalysisOperationBodyStatusEnum } from '../models/AnalysisOperationBody'; +import { AnalysisOperationsOutputBody } from '../models/AnalysisOperationsOutputBody'; import { AnalysisRecord } from '../models/AnalysisRecord'; -import { AnalysisRecordBody , AnalysisRecordBodyAnalysisScopeEnum } from '../models/AnalysisRecordBody'; +import { AnalysisRecordBody , AnalysisRecordBodyAnalysisScopeEnum } from '../models/AnalysisRecordBody'; import { AnalysisReport } from '../models/AnalysisReport'; import { AnalysisRequirement } from '../models/AnalysisRequirement'; import { AnalysisScope } from '../models/AnalysisScope'; @@ -918,7 +957,7 @@ import { BulkDeleteAnalysesInputBody } from '../models/BulkDeleteAnalysesInputBo import { BulkDeleteAnalysesRequest } from '../models/BulkDeleteAnalysesRequest'; import { BytesConstant, BytesConstantFormatEnum } from '../models/BytesConstant'; import { CallChain } from '../models/CallChain'; -import { CallChainEvidence, CallChainEvidenceEvidenceKindEnum , CallChainEvidenceKindEnum , CallChainEvidenceStrengthEnum } from '../models/CallChainEvidence'; +import { CallChainEvidence , CallChainEvidenceEffectEnum , CallChainEvidenceEvidenceKindEnum , CallChainEvidenceKindEnum , CallChainEvidenceStrengthEnum } from '../models/CallChainEvidence'; import { CallEdge } from '../models/CallEdge'; import { CallEdgesOutputBody } from '../models/CallEdgesOutputBody'; import { CalleeFunctionInfo } from '../models/CalleeFunctionInfo'; @@ -1018,17 +1057,20 @@ import { DecompFinishedEvent } from '../models/DecompFinishedEvent'; import { DecompilationCommentContext } from '../models/DecompilationCommentContext'; import { DecompilationData , DecompilationDataStatusEnum } from '../models/DecompilationData'; import { DecompilerSummary } from '../models/DecompilerSummary'; -import { DecompilerSummaryEvidence, DecompilerSummaryEvidenceEvidenceKindEnum , DecompilerSummaryEvidenceKindEnum , DecompilerSummaryEvidenceStrengthEnum } from '../models/DecompilerSummaryEvidence'; +import { DecompilerSummaryEvidence, DecompilerSummaryEvidenceEffectEnum , DecompilerSummaryEvidenceEvidenceKindEnum , DecompilerSummaryEvidenceKindEnum , DecompilerSummaryEvidenceStrengthEnum } from '../models/DecompilerSummaryEvidence'; import { DieMatch } from '../models/DieMatch'; import { DisassemblyOutputBody } from '../models/DisassemblyOutputBody'; +import { DisassemblySummaryEvidence, DisassemblySummaryEvidenceEffectEnum , DisassemblySummaryEvidenceEvidenceKindEnum , DisassemblySummaryEvidenceKindEnum , DisassemblySummaryEvidenceStrengthEnum } from '../models/DisassemblySummaryEvidence'; import { Display } from '../models/Display'; import { DnsQuery } from '../models/DnsQuery'; import { DrakvufFileMetadata } from '../models/DrakvufFileMetadata'; import { DynamicExecutionMetadata , DynamicExecutionMetadataStatusEnum } from '../models/DynamicExecutionMetadata'; +import { DynamicExecutionResult } from '../models/DynamicExecutionResult'; import { DynamicExecutionStatus } from '../models/DynamicExecutionStatus'; import { DynamicExecutionStatusResponse , DynamicExecutionStatusResponseStatusEnum } from '../models/DynamicExecutionStatusResponse'; import { DynamicExecutionSummary } from '../models/DynamicExecutionSummary'; import { DynamicExecutionSummaryMetadata, DynamicExecutionSummaryMetadataStatusEnum } from '../models/DynamicExecutionSummaryMetadata'; +import { DynamicExecutionSummaryResult } from '../models/DynamicExecutionSummaryResult'; import { ELFImportModel } from '../models/ELFImportModel'; import { ELFModel } from '../models/ELFModel'; import { ELFRelocation } from '../models/ELFRelocation'; @@ -1116,6 +1158,7 @@ import { FunctionCallEdges } from '../models/FunctionCallEdges'; import { FunctionCapabilityResponse } from '../models/FunctionCapabilityResponse'; import { FunctionDataType , FunctionDataTypeKindEnum , FunctionDataTypeSourceTypeEnum } from '../models/FunctionDataType'; import { FunctionDetailsOutputBody } from '../models/FunctionDetailsOutputBody'; +import { FunctionGlobalVariable , FunctionGlobalVariableNameSourceEnum , FunctionGlobalVariableTypeSourceEnum , FunctionGlobalVariableValueKindEnum , FunctionGlobalVariableValueSourceEnum } from '../models/FunctionGlobalVariable'; import { FunctionListItem , FunctionListItemNameSourceTypeEnum } from '../models/FunctionListItem'; import { FunctionLocalVariableResponse } from '../models/FunctionLocalVariableResponse'; import { FunctionMapping } from '../models/FunctionMapping'; @@ -1131,12 +1174,13 @@ import { FunctionSignatureBody , FunctionSignatureBodySourceTypeEnum } import { FunctionSignatureEntry , FunctionSignatureEntrySourceTypeEnum } from '../models/FunctionSignatureEntry'; import { FunctionSignatureVersion } from '../models/FunctionSignatureVersion'; import { FunctionSimilarity } from '../models/FunctionSimilarity'; -import { FunctionSimilarityEvidence, FunctionSimilarityEvidenceEvidenceKindEnum , FunctionSimilarityEvidenceKindEnum , FunctionSimilarityEvidenceStrengthEnum } from '../models/FunctionSimilarityEvidence'; +import { FunctionSimilarityEvidence, FunctionSimilarityEvidenceEffectEnum , FunctionSimilarityEvidenceEvidenceKindEnum , FunctionSimilarityEvidenceKindEnum , FunctionSimilarityEvidenceStrengthEnum } from '../models/FunctionSimilarityEvidence'; import { FunctionSourceType } from '../models/FunctionSourceType'; import { FunctionString } from '../models/FunctionString'; import { FunctionStringItem } from '../models/FunctionStringItem'; import { FunctionStringsResponse } from '../models/FunctionStringsResponse'; import { FunctionTypeDefinition } from '../models/FunctionTypeDefinition'; +import { FunctionUsage } from '../models/FunctionUsage'; import { FunctionsDetailResponse } from '../models/FunctionsDetailResponse'; import { FunctionsListRename } from '../models/FunctionsListRename'; import { FunctionsProgressOutputBody } from '../models/FunctionsProgressOutputBody'; @@ -1154,6 +1198,7 @@ import { GetDataTypeHistoryBody } from '../models/GetDataTypeHistoryBody'; import { GetDieInfoOutputBody } from '../models/GetDieInfoOutputBody'; import { GetFunctionMapsOutputBody } from '../models/GetFunctionMapsOutputBody'; import { GetFunctionSignatureHistoryBody } from '../models/GetFunctionSignatureHistoryBody'; +import { GetGlobalHistoryOutputBody } from '../models/GetGlobalHistoryOutputBody'; import { GetMatchesOutputBody , GetMatchesOutputBodyStatusEnum } from '../models/GetMatchesOutputBody'; import { GetMatchesStatusOutputBody , GetMatchesStatusOutputBodyStatusEnum } from '../models/GetMatchesStatusOutputBody'; import { GetModelsOutputBody } from '../models/GetModelsOutputBody'; @@ -1165,7 +1210,9 @@ import { GetRelatedStatusOutputBody, GetRelatedStatusOutputBodyStatusEnum } fr import { GetSubscriptionOutputBody , GetSubscriptionOutputBodyStatusEnum , GetSubscriptionOutputBodyTierEnum } from '../models/GetSubscriptionOutputBody'; import { GetTokensResponse } from '../models/GetTokensResponse'; import { GetUserActivityOutputBody } from '../models/GetUserActivityOutputBody'; -import { HardcodedSecretEvidence, HardcodedSecretEvidenceEvidenceKindEnum , HardcodedSecretEvidenceKindEnum , HardcodedSecretEvidenceEffectEnum } from '../models/HardcodedSecretEvidence'; +import { GlobalHistoryEntry } from '../models/GlobalHistoryEntry'; +import { GlobalVariable , GlobalVariableNameSourceEnum , GlobalVariableTypeSourceEnum , GlobalVariableValueKindEnum , GlobalVariableValueSourceEnum } from '../models/GlobalVariable'; +import { HardcodedSecretEvidence , HardcodedSecretEvidenceEffectEnum , HardcodedSecretEvidenceEvidenceKindEnum , HardcodedSecretEvidenceKindEnum , HardcodedSecretEvidenceSecretKindEnum , HardcodedSecretEvidenceStrengthEnum } from '../models/HardcodedSecretEvidence'; import { HistoryActor } from '../models/HistoryActor'; import { HistoryEntry } from '../models/HistoryEntry'; import { HttpRequest } from '../models/HttpRequest'; @@ -1174,6 +1221,7 @@ import { ISA } from '../models/ISA'; import { IconModel } from '../models/IconModel'; import { ImportDynamicExecutionFileOutputBody } from '../models/ImportDynamicExecutionFileOutputBody'; import { ImportModel } from '../models/ImportModel'; +import { ImportedAPICallEvidence , ImportedAPICallEvidenceEffectEnum , ImportedAPICallEvidenceEvidenceKindEnum , ImportedAPICallEvidenceKindEnum , ImportedAPICallEvidenceStrengthEnum } from '../models/ImportedAPICallEvidence'; import { ImportedApi } from '../models/ImportedApi'; import { ImportedApiCall } from '../models/ImportedApiCall'; import { ImportedApiCallEvidence, ImportedApiCallEvidenceEvidenceKindEnum , ImportedApiCallEvidenceKindEnum , ImportedApiCallEvidenceStrengthEnum } from '../models/ImportedApiCallEvidence'; @@ -1187,20 +1235,25 @@ import { InputBody } from '../models/InputBody'; import { InsertAnalysisLogRequest } from '../models/InsertAnalysisLogRequest'; import { InviteUserInputBody } from '../models/InviteUserInputBody'; import { IssuerAllowedDomain } from '../models/IssuerAllowedDomain'; -import { KnownConstantEvidence, KnownConstantEvidenceEvidenceKindEnum , KnownConstantEvidenceKindEnum , KnownConstantEvidenceStrengthEnum } from '../models/KnownConstantEvidence'; +import { KnownConstantEvidence, KnownConstantEvidenceEffectEnum , KnownConstantEvidenceEvidenceKindEnum , KnownConstantEvidenceKindEnum , KnownConstantEvidenceStrengthEnum } from '../models/KnownConstantEvidence'; import { LineAttributionsData } from '../models/LineAttributionsData'; import { ListAnalysesOutputBody } from '../models/ListAnalysesOutputBody'; import { ListAnalysisDataTypesOutputBody } from '../models/ListAnalysisDataTypesOutputBody'; import { ListAnalysisFunctionsOutputBody } from '../models/ListAnalysisFunctionsOutputBody'; +import { ListAnalysisGlobalsOutputBody } from '../models/ListAnalysisGlobalsOutputBody'; import { ListAnalysisStringsOutputBody } from '../models/ListAnalysisStringsOutputBody'; import { ListArchiveContentsOutputBody } from '../models/ListArchiveContentsOutputBody'; import { ListCollectionResults } from '../models/ListCollectionResults'; import { ListCollectionsOutputBody } from '../models/ListCollectionsOutputBody'; import { ListDataTypeFunctionsBody } from '../models/ListDataTypeFunctionsBody'; import { ListExampleAnalysesOutputBody } from '../models/ListExampleAnalysesOutputBody'; +import { ListFunctionGlobalsOutputBody } from '../models/ListFunctionGlobalsOutputBody'; import { ListFunctionSignaturesOutputBody } from '../models/ListFunctionSignaturesOutputBody'; import { ListFunctionStringsOutputBody } from '../models/ListFunctionStringsOutputBody'; +import { ListGlobalFunctionsOutputBody } from '../models/ListGlobalFunctionsOutputBody'; import { ListImportedFunctionsOutputBody } from '../models/ListImportedFunctionsOutputBody'; +import { ListOperationPrerequisitesOutputBody } from '../models/ListOperationPrerequisitesOutputBody'; +import { ListPublicUsersOutputBody } from '../models/ListPublicUsersOutputBody'; import { ListSecretStoreOutputBody } from '../models/ListSecretStoreOutputBody'; import { ListTeamsOutputBody } from '../models/ListTeamsOutputBody'; import { ListUsersOutputBody } from '../models/ListUsersOutputBody'; @@ -1216,7 +1269,7 @@ import { Meta } from '../models/Meta'; import { MetaModel } from '../models/MetaModel'; import { Metadata , MetadataStatusEnum } from '../models/Metadata'; import { ModelInterpretation } from '../models/ModelInterpretation'; -import { ModelInterpretationEvidence, ModelInterpretationEvidenceEvidenceKindEnum , ModelInterpretationEvidenceKindEnum } from '../models/ModelInterpretationEvidence'; +import { ModelInterpretationEvidence, ModelInterpretationEvidenceEffectEnum , ModelInterpretationEvidenceEvidenceKindEnum , ModelInterpretationEvidenceKindEnum , ModelInterpretationEvidenceStrengthEnum } from '../models/ModelInterpretationEvidence'; import { ModelName } from '../models/ModelName'; import { ModelsResponse } from '../models/ModelsResponse'; import { ModuleLoadEntry } from '../models/ModuleLoadEntry'; @@ -1253,6 +1306,8 @@ import { OperationMetadataThreatReportResult } from '../models/OperationMetadata import { OperationMetadataTriageResult } from '../models/OperationMetadataTriageResult'; import { OperationNetworkingExplainMetadataNetworkingExplainResult } from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; import { OperationNetworkingScanMetadataNetworkingScanResult } from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +import { OperationPrerequisitesBody } from '../models/OperationPrerequisitesBody'; +import { OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult } from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; import { OperationSecurityScanMetadataSecurityScanResult } from '../models/OperationSecurityScanMetadataSecurityScanResult'; import { OperationVirusTotalScanMetadataVirusTotalScanResult } from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult'; import { OperationWorkflowProgressResultBody } from '../models/OperationWorkflowProgressResultBody'; @@ -1289,13 +1344,14 @@ import { ProductSummary } from '../models/ProductSummary'; import { ProgressMessage, ProgressMessageLevelEnum } from '../models/ProgressMessage'; import { ProseEvent } from '../models/ProseEvent'; import { ProtocolsAgentResponse } from '../models/ProtocolsAgentResponse'; +import { PublicUserBody } from '../models/PublicUserBody'; import { PutAnalysisStringsRequest } from '../models/PutAnalysisStringsRequest'; import { QueuedWorkflowTaskResponse } from '../models/QueuedWorkflowTaskResponse'; import { RatingOutputBody, RatingOutputBodyRatingEnum } from '../models/RatingOutputBody'; import { ReAnalysisForm } from '../models/ReAnalysisForm'; import { Recent } from '../models/Recent'; import { ReferencedConstant } from '../models/ReferencedConstant'; -import { ReferencedConstantEvidence, ReferencedConstantEvidenceEvidenceKindEnum , ReferencedConstantEvidenceKindEnum , ReferencedConstantEvidenceStrengthEnum } from '../models/ReferencedConstantEvidence'; +import { ReferencedConstantEvidence , ReferencedConstantEvidenceEffectEnum , ReferencedConstantEvidenceEvidenceKindEnum , ReferencedConstantEvidenceKindEnum , ReferencedConstantEvidenceStrengthEnum } from '../models/ReferencedConstantEvidence'; import { RefreshBody } from '../models/RefreshBody'; import { RegenerateOutputBody } from '../models/RegenerateOutputBody'; import { RegisterUserInputBody } from '../models/RegisterUserInputBody'; @@ -1308,18 +1364,33 @@ import { RemoveCollectionBinariesInputBody } from '../models/RemoveCollectionBin import { RenameAppliedEvent } from '../models/RenameAppliedEvent'; import { RenameInputBody , RenameInputBodySourceTypeEnum } from '../models/RenameInputBody'; import { RenameOutputBody } from '../models/RenameOutputBody'; +import { RenameUnnamedFunctionsMetadata , RenameUnnamedFunctionsMetadataStatusEnum } from '../models/RenameUnnamedFunctionsMetadata'; import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; import { RenderedToken , RenderedTokenKindEnum } from '../models/RenderedToken'; import { ReportAnalysisBody } from '../models/ReportAnalysisBody'; import { ReportAnalysisResponse , ReportAnalysisResponseSoftwareTypeEnum } from '../models/ReportAnalysisResponse'; +import { ReportBytesConstant, ReportBytesConstantDisplayEnum , ReportBytesConstantFormatEnum } from '../models/ReportBytesConstant'; +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportCodeSummary } from '../models/ReportCodeSummary'; import { ReportEvent } from '../models/ReportEvent'; +import { ReportFinding , ReportFindingReachabilityEnum } from '../models/ReportFinding'; +import { ReportFindingEvidenceInnerClass } from '../models/ReportFindingEvidenceInner'; +import { ReportFunctionSimilarity } from '../models/ReportFunctionSimilarity'; +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { ReportImportedAPICall } from '../models/ReportImportedAPICall'; import { ReportInfo } from '../models/ReportInfo'; +import { ReportMeta, ReportMetaEndiannessEnum } from '../models/ReportMeta'; +import { ReportModelInterpretation } from '../models/ReportModelInterpretation'; import { ReportOptions } from '../models/ReportOptions'; import { ReportReachabilityStatus } from '../models/ReportReachabilityStatus'; +import { ReportReferencedConstant, ReportReferencedConstantDisplayEnum } from '../models/ReportReferencedConstant'; import { ReportResult } from '../models/ReportResult'; +import { ReportStringMatch } from '../models/ReportStringMatch'; +import { ReportSubject } from '../models/ReportSubject'; import { RequestedConfigBody } from '../models/RequestedConfigBody'; +import { RequeueAnalysisRequest } from '../models/RequeueAnalysisRequest'; import { ResendVerificationEmailInputBody } from '../models/ResendVerificationEmailInputBody'; -import { ResolvedEntity , ResolvedEntityFieldStatusEnum , ResolvedEntityNameSourceEnum } from '../models/ResolvedEntity'; +import { ResolvedEntity , ResolvedEntityFieldStatusEnum , ResolvedEntityNameSourceEnum } from '../models/ResolvedEntity'; import { ResultBody } from '../models/ResultBody'; import { RevokeBody } from '../models/RevokeBody'; import { RuleKind } from '../models/RuleKind'; @@ -1390,7 +1461,7 @@ import { StreamAiDecompilation200ResponseInnerClass } from '../models/StreamAiDe import { StreamEvents200ResponseInnerClass } from '../models/StreamEvents200ResponseInner'; import { StringFunctions } from '../models/StringFunctions'; import { StringMatch } from '../models/StringMatch'; -import { StringMatchEvidence, StringMatchEvidenceEvidenceKindEnum , StringMatchEvidenceKindEnum , StringMatchEvidenceStrengthEnum } from '../models/StringMatchEvidence'; +import { StringMatchEvidence, StringMatchEvidenceEffectEnum , StringMatchEvidenceEvidenceKindEnum , StringMatchEvidenceKindEnum , StringMatchEvidenceStrengthEnum } from '../models/StringMatchEvidence'; import { StringSource } from '../models/StringSource'; import { StructDataType , StructDataTypeKindEnum , StructDataTypeSourceTypeEnum } from '../models/StructDataType'; import { StructDefinition } from '../models/StructDefinition'; @@ -1451,6 +1522,7 @@ import { UnionDataType , UnionDataTypeKindEnum , UnionDataTypeSourceTyp import { UnionDefinition } from '../models/UnionDefinition'; import { UnknownDataType , UnknownDataTypeKindEnum , UnknownDataTypeSourceTypeEnum } from '../models/UnknownDataType'; import { UpdateAnalysisDataTypesInputBody } from '../models/UpdateAnalysisDataTypesInputBody'; +import { UpdateAnalysisGlobalInputBody } from '../models/UpdateAnalysisGlobalInputBody'; import { UpdateAnalysisInputBody, UpdateAnalysisInputBodyAnalysisScopeEnum } from '../models/UpdateAnalysisInputBody'; import { UpdateArrayDataType , UpdateArrayDataTypeKindEnum } from '../models/UpdateArrayDataType'; import { UpdateBaseDataType , UpdateBaseDataTypeKindEnum } from '../models/UpdateBaseDataType'; @@ -1513,6 +1585,10 @@ let primitives = [ ]; let enumsMap: Set = new Set([ + "APICombinationEvidenceEffectEnum", + "APICombinationEvidenceEvidenceKindEnum", + "APICombinationEvidenceKindEnum", + "APICombinationEvidenceStrengthEnum", "ActivityBodyActionsEnum", "ActivityBodyActivityScopeEnum", "ActivityBodySourcesEnum", @@ -1520,6 +1596,7 @@ let enumsMap: Set = new Set([ "AnalysisBasicInfoOutputBodyAnalysisScopeEnum", "AnalysisDetailOutputBodyAnalysisScopeEnum", "AnalysisLogEntryLevelEnum", + "AnalysisOperationBodyStatusEnum", "AnalysisRecordBodyAnalysisScopeEnum", "AnalysisScope", "ApiCombinationEvidenceEvidenceKindEnum", @@ -1545,6 +1622,7 @@ let enumsMap: Set = new Set([ "BitfieldDataTypeKindEnum", "BitfieldDataTypeSourceTypeEnum", "BytesConstantFormatEnum", + "CallChainEvidenceEffectEnum", "CallChainEvidenceEvidenceKindEnum", "CallChainEvidenceKindEnum", "CallChainEvidenceStrengthEnum", @@ -1583,9 +1661,14 @@ let enumsMap: Set = new Set([ "DataTypeEntryKindEnum", "DataTypeEntrySourceTypeEnum", "DecompilationDataStatusEnum", + "DecompilerSummaryEvidenceEffectEnum", "DecompilerSummaryEvidenceEvidenceKindEnum", "DecompilerSummaryEvidenceKindEnum", "DecompilerSummaryEvidenceStrengthEnum", + "DisassemblySummaryEvidenceEffectEnum", + "DisassemblySummaryEvidenceEvidenceKindEnum", + "DisassemblySummaryEvidenceKindEnum", + "DisassemblySummaryEvidenceStrengthEnum", "Display", "DynamicExecutionMetadataStatusEnum", "DynamicExecutionStatus", @@ -1654,14 +1737,21 @@ let enumsMap: Set = new Set([ "FilesystemScanMetadataStatusEnum", "FilesystemVerificationConfidenceEnum", "Filters", + "FindingEvidenceInnerEffectEnum", "FindingEvidenceInnerEvidenceKindEnum", "FindingEvidenceInnerKindEnum", - "FindingEvidenceInnerEffectEnum", + "FindingEvidenceInnerStrengthEnum", + "FindingEvidenceInnerSecretKindEnum", "FunctionDataTypeKindEnum", "FunctionDataTypeSourceTypeEnum", + "FunctionGlobalVariableNameSourceEnum", + "FunctionGlobalVariableTypeSourceEnum", + "FunctionGlobalVariableValueKindEnum", + "FunctionGlobalVariableValueSourceEnum", "FunctionListItemNameSourceTypeEnum", "FunctionSignatureBodySourceTypeEnum", "FunctionSignatureEntrySourceTypeEnum", + "FunctionSimilarityEvidenceEffectEnum", "FunctionSimilarityEvidenceEvidenceKindEnum", "FunctionSimilarityEvidenceKindEnum", "FunctionSimilarityEvidenceStrengthEnum", @@ -1672,13 +1762,24 @@ let enumsMap: Set = new Set([ "GetRelatedStatusOutputBodyStatusEnum", "GetSubscriptionOutputBodyStatusEnum", "GetSubscriptionOutputBodyTierEnum", + "GlobalVariableNameSourceEnum", + "GlobalVariableTypeSourceEnum", + "GlobalVariableValueKindEnum", + "GlobalVariableValueSourceEnum", + "HardcodedSecretEvidenceEffectEnum", "HardcodedSecretEvidenceEvidenceKindEnum", "HardcodedSecretEvidenceKindEnum", - "HardcodedSecretEvidenceEffectEnum", + "HardcodedSecretEvidenceSecretKindEnum", + "HardcodedSecretEvidenceStrengthEnum", "ISA", + "ImportedAPICallEvidenceEffectEnum", + "ImportedAPICallEvidenceEvidenceKindEnum", + "ImportedAPICallEvidenceKindEnum", + "ImportedAPICallEvidenceStrengthEnum", "ImportedApiCallEvidenceEvidenceKindEnum", "ImportedApiCallEvidenceKindEnum", "ImportedApiCallEvidenceStrengthEnum", + "KnownConstantEvidenceEffectEnum", "KnownConstantEvidenceEvidenceKindEnum", "KnownConstantEvidenceKindEnum", "KnownConstantEvidenceStrengthEnum", @@ -1686,8 +1787,10 @@ let enumsMap: Set = new Set([ "MatchFiltersArchitecturesEnum", "MatchFiltersPlatformsEnum", "MetadataStatusEnum", + "ModelInterpretationEvidenceEffectEnum", "ModelInterpretationEvidenceEvidenceKindEnum", "ModelInterpretationEvidenceKindEnum", + "ModelInterpretationEvidenceStrengthEnum", "ModelName", "NameSourceTypeTypeEnum", "NetworkingCallCategoryEnum", @@ -1710,13 +1813,25 @@ let enumsMap: Set = new Set([ "PriceSummaryIntervalEnum", "ProgressMessageLevelEnum", "RatingOutputBodyRatingEnum", + "ReferencedConstantEvidenceEffectEnum", "ReferencedConstantEvidenceEvidenceKindEnum", "ReferencedConstantEvidenceKindEnum", "ReferencedConstantEvidenceStrengthEnum", "RenameInputBodySourceTypeEnum", + "RenameUnnamedFunctionsMetadataStatusEnum", "RenderedTokenKindEnum", "ReportAnalysisResponseSoftwareTypeEnum", + "ReportBytesConstantDisplayEnum", + "ReportBytesConstantFormatEnum", + "ReportFindingReachabilityEnum", + "ReportFindingEvidenceInnerEffectEnum", + "ReportFindingEvidenceInnerEvidenceKindEnum", + "ReportFindingEvidenceInnerKindEnum", + "ReportFindingEvidenceInnerStrengthEnum", + "ReportFindingEvidenceInnerSecretKindEnum", + "ReportMetaEndiannessEnum", "ReportReachabilityStatus", + "ReportReferencedConstantDisplayEnum", "ResolvedEntityFieldStatusEnum", "ResolvedEntityNameSourceEnum", "RuleKind", @@ -1737,6 +1852,7 @@ let enumsMap: Set = new Set([ "StatusInput", "StreamAiDecompilation200ResponseInnerEventEnum", "StreamEvents200ResponseInnerEventEnum", + "StringMatchEvidenceEffectEnum", "StringMatchEvidenceEvidenceKindEnum", "StringMatchEvidenceKindEnum", "StringMatchEvidenceStrengthEnum", @@ -1799,6 +1915,7 @@ let enumsMap: Set = new Set([ ]); let typeMap: {[index: string]: any} = { + "APICombinationEvidence": APICombinationEvidence, "APIError": APIError, "AcceptTypeSuggestionsInputBody": AcceptTypeSuggestionsInputBody, "AcceptTypeSuggestionsOutputBody": AcceptTypeSuggestionsOutputBody, @@ -1837,6 +1954,8 @@ let typeMap: {[index: string]: any} = { "AnalysisLogEntry": AnalysisLogEntry, "AnalysisLogMessage": AnalysisLogMessage, "AnalysisLogs": AnalysisLogs, + "AnalysisOperationBody": AnalysisOperationBody, + "AnalysisOperationsOutputBody": AnalysisOperationsOutputBody, "AnalysisRecord": AnalysisRecord, "AnalysisRecordBody": AnalysisRecordBody, "AnalysisReport": AnalysisReport, @@ -2064,12 +2183,15 @@ let typeMap: {[index: string]: any} = { "DecompilerSummaryEvidence": DecompilerSummaryEvidence, "DieMatch": DieMatch, "DisassemblyOutputBody": DisassemblyOutputBody, + "DisassemblySummaryEvidence": DisassemblySummaryEvidence, "DnsQuery": DnsQuery, "DrakvufFileMetadata": DrakvufFileMetadata, "DynamicExecutionMetadata": DynamicExecutionMetadata, + "DynamicExecutionResult": DynamicExecutionResult, "DynamicExecutionStatusResponse": DynamicExecutionStatusResponse, "DynamicExecutionSummary": DynamicExecutionSummary, "DynamicExecutionSummaryMetadata": DynamicExecutionSummaryMetadata, + "DynamicExecutionSummaryResult": DynamicExecutionSummaryResult, "ELFImportModel": ELFImportModel, "ELFModel": ELFModel, "ELFRelocation": ELFRelocation, @@ -2152,6 +2274,7 @@ let typeMap: {[index: string]: any} = { "FunctionCapabilityResponse": FunctionCapabilityResponse, "FunctionDataType": FunctionDataType, "FunctionDetailsOutputBody": FunctionDetailsOutputBody, + "FunctionGlobalVariable": FunctionGlobalVariable, "FunctionListItem": FunctionListItem, "FunctionLocalVariableResponse": FunctionLocalVariableResponse, "FunctionMapping": FunctionMapping, @@ -2172,6 +2295,7 @@ let typeMap: {[index: string]: any} = { "FunctionStringItem": FunctionStringItem, "FunctionStringsResponse": FunctionStringsResponse, "FunctionTypeDefinition": FunctionTypeDefinition, + "FunctionUsage": FunctionUsage, "FunctionsDetailResponse": FunctionsDetailResponse, "FunctionsListRename": FunctionsListRename, "FunctionsProgressOutputBody": FunctionsProgressOutputBody, @@ -2189,6 +2313,7 @@ let typeMap: {[index: string]: any} = { "GetDieInfoOutputBody": GetDieInfoOutputBody, "GetFunctionMapsOutputBody": GetFunctionMapsOutputBody, "GetFunctionSignatureHistoryBody": GetFunctionSignatureHistoryBody, + "GetGlobalHistoryOutputBody": GetGlobalHistoryOutputBody, "GetMatchesOutputBody": GetMatchesOutputBody, "GetMatchesStatusOutputBody": GetMatchesStatusOutputBody, "GetModelsOutputBody": GetModelsOutputBody, @@ -2200,6 +2325,8 @@ let typeMap: {[index: string]: any} = { "GetSubscriptionOutputBody": GetSubscriptionOutputBody, "GetTokensResponse": GetTokensResponse, "GetUserActivityOutputBody": GetUserActivityOutputBody, + "GlobalHistoryEntry": GlobalHistoryEntry, + "GlobalVariable": GlobalVariable, "HardcodedSecretEvidence": HardcodedSecretEvidence, "HistoryActor": HistoryActor, "HistoryEntry": HistoryEntry, @@ -2208,6 +2335,7 @@ let typeMap: {[index: string]: any} = { "IconModel": IconModel, "ImportDynamicExecutionFileOutputBody": ImportDynamicExecutionFileOutputBody, "ImportModel": ImportModel, + "ImportedAPICallEvidence": ImportedAPICallEvidence, "ImportedApi": ImportedApi, "ImportedApiCall": ImportedApiCall, "ImportedApiCallEvidence": ImportedApiCallEvidence, @@ -2226,15 +2354,20 @@ let typeMap: {[index: string]: any} = { "ListAnalysesOutputBody": ListAnalysesOutputBody, "ListAnalysisDataTypesOutputBody": ListAnalysisDataTypesOutputBody, "ListAnalysisFunctionsOutputBody": ListAnalysisFunctionsOutputBody, + "ListAnalysisGlobalsOutputBody": ListAnalysisGlobalsOutputBody, "ListAnalysisStringsOutputBody": ListAnalysisStringsOutputBody, "ListArchiveContentsOutputBody": ListArchiveContentsOutputBody, "ListCollectionResults": ListCollectionResults, "ListCollectionsOutputBody": ListCollectionsOutputBody, "ListDataTypeFunctionsBody": ListDataTypeFunctionsBody, "ListExampleAnalysesOutputBody": ListExampleAnalysesOutputBody, + "ListFunctionGlobalsOutputBody": ListFunctionGlobalsOutputBody, "ListFunctionSignaturesOutputBody": ListFunctionSignaturesOutputBody, "ListFunctionStringsOutputBody": ListFunctionStringsOutputBody, + "ListGlobalFunctionsOutputBody": ListGlobalFunctionsOutputBody, "ListImportedFunctionsOutputBody": ListImportedFunctionsOutputBody, + "ListOperationPrerequisitesOutputBody": ListOperationPrerequisitesOutputBody, + "ListPublicUsersOutputBody": ListPublicUsersOutputBody, "ListSecretStoreOutputBody": ListSecretStoreOutputBody, "ListTeamsOutputBody": ListTeamsOutputBody, "ListUsersOutputBody": ListUsersOutputBody, @@ -2286,6 +2419,8 @@ let typeMap: {[index: string]: any} = { "OperationMetadataTriageResult": OperationMetadataTriageResult, "OperationNetworkingExplainMetadataNetworkingExplainResult": OperationNetworkingExplainMetadataNetworkingExplainResult, "OperationNetworkingScanMetadataNetworkingScanResult": OperationNetworkingScanMetadataNetworkingScanResult, + "OperationPrerequisitesBody": OperationPrerequisitesBody, + "OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult": OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult, "OperationSecurityScanMetadataSecurityScanResult": OperationSecurityScanMetadataSecurityScanResult, "OperationVirusTotalScanMetadataVirusTotalScanResult": OperationVirusTotalScanMetadataVirusTotalScanResult, "OperationWorkflowProgressResultBody": OperationWorkflowProgressResultBody, @@ -2320,6 +2455,7 @@ let typeMap: {[index: string]: any} = { "ProgressMessage": ProgressMessage, "ProseEvent": ProseEvent, "ProtocolsAgentResponse": ProtocolsAgentResponse, + "PublicUserBody": PublicUserBody, "PutAnalysisStringsRequest": PutAnalysisStringsRequest, "QueuedWorkflowTaskResponse": QueuedWorkflowTaskResponse, "RatingOutputBody": RatingOutputBody, @@ -2339,15 +2475,30 @@ let typeMap: {[index: string]: any} = { "RenameAppliedEvent": RenameAppliedEvent, "RenameInputBody": RenameInputBody, "RenameOutputBody": RenameOutputBody, + "RenameUnnamedFunctionsMetadata": RenameUnnamedFunctionsMetadata, "RenameUnnamedFunctionsResult": RenameUnnamedFunctionsResult, "RenderedToken": RenderedToken, "ReportAnalysisBody": ReportAnalysisBody, "ReportAnalysisResponse": ReportAnalysisResponse, + "ReportBytesConstant": ReportBytesConstant, + "ReportCallChain": ReportCallChain, + "ReportCodeSummary": ReportCodeSummary, "ReportEvent": ReportEvent, + "ReportFinding": ReportFinding, + "ReportFindingEvidenceInner": ReportFindingEvidenceInnerClass, + "ReportFunctionSimilarity": ReportFunctionSimilarity, + "ReportImportedAPI": ReportImportedAPI, + "ReportImportedAPICall": ReportImportedAPICall, "ReportInfo": ReportInfo, + "ReportMeta": ReportMeta, + "ReportModelInterpretation": ReportModelInterpretation, "ReportOptions": ReportOptions, + "ReportReferencedConstant": ReportReferencedConstant, "ReportResult": ReportResult, + "ReportStringMatch": ReportStringMatch, + "ReportSubject": ReportSubject, "RequestedConfigBody": RequestedConfigBody, + "RequeueAnalysisRequest": RequeueAnalysisRequest, "ResendVerificationEmailInputBody": ResendVerificationEmailInputBody, "ResolvedEntity": ResolvedEntity, "ResultBody": ResultBody, @@ -2475,6 +2626,7 @@ let typeMap: {[index: string]: any} = { "UnionDefinition": UnionDefinition, "UnknownDataType": UnknownDataType, "UpdateAnalysisDataTypesInputBody": UpdateAnalysisDataTypesInputBody, + "UpdateAnalysisGlobalInputBody": UpdateAnalysisGlobalInputBody, "UpdateAnalysisInputBody": UpdateAnalysisInputBody, "UpdateArrayDataType": UpdateArrayDataType, "UpdateBaseDataType": UpdateBaseDataType, diff --git a/models/OperationDynamicExecutionMetadataDynamicExecutionResult.ts b/models/OperationDynamicExecutionMetadataDynamicExecutionResult.ts index 46eab56..7a14935 100644 --- a/models/OperationDynamicExecutionMetadataDynamicExecutionResult.ts +++ b/models/OperationDynamicExecutionMetadataDynamicExecutionResult.ts @@ -10,6 +10,7 @@ */ import { DynamicExecutionMetadata } from '../models/DynamicExecutionMetadata'; +import { DynamicExecutionResult } from '../models/DynamicExecutionResult'; import { Status } from '../models/Status'; import { HttpFile } from '../http/http'; @@ -30,7 +31,10 @@ export class OperationDynamicExecutionMetadataDynamicExecutionResult { * API resource name. */ 'name': string; - 'response'?: any; + /** + * Result, set only when done is true and the operation succeeded. + */ + 'response'?: DynamicExecutionResult; static readonly discriminator: string | undefined = undefined; @@ -64,7 +68,7 @@ export class OperationDynamicExecutionMetadataDynamicExecutionResult { { "name": "response", "baseName": "response", - "type": "any", + "type": "DynamicExecutionResult", "format": "" } ]; diff --git a/models/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.ts b/models/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.ts index 075fb3c..ad97b85 100644 --- a/models/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.ts +++ b/models/OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResult.ts @@ -10,6 +10,7 @@ */ import { DynamicExecutionSummaryMetadata } from '../models/DynamicExecutionSummaryMetadata'; +import { DynamicExecutionSummaryResult } from '../models/DynamicExecutionSummaryResult'; import { Status } from '../models/Status'; import { HttpFile } from '../http/http'; @@ -30,7 +31,10 @@ export class OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResu * API resource name. */ 'name': string; - 'response'?: any; + /** + * Result, set only when done is true and the operation succeeded. + */ + 'response'?: DynamicExecutionSummaryResult; static readonly discriminator: string | undefined = undefined; @@ -64,7 +68,7 @@ export class OperationDynamicExecutionSummaryMetadataDynamicExecutionSummaryResu { "name": "response", "baseName": "response", - "type": "any", + "type": "DynamicExecutionSummaryResult", "format": "" } ]; diff --git a/models/OperationPrerequisitesBody.ts b/models/OperationPrerequisitesBody.ts new file mode 100644 index 0000000..d5915ee --- /dev/null +++ b/models/OperationPrerequisitesBody.ts @@ -0,0 +1,48 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class OperationPrerequisitesBody { + /** + * The operation + */ + 'operation': string; + /** + * Operations that must complete before this operation can start + */ + 'prerequisites': Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "operation", + "baseName": "operation", + "type": "string", + "format": "" + }, + { + "name": "prerequisites", + "baseName": "prerequisites", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return OperationPrerequisitesBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.ts b/models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.ts new file mode 100644 index 0000000..120db18 --- /dev/null +++ b/models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.ts @@ -0,0 +1,81 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { RenameUnnamedFunctionsMetadata } from '../models/RenameUnnamedFunctionsMetadata'; +import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; +import { Status } from '../models/Status'; +import { HttpFile } from '../http/http'; + +export class OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult { + /** + * Whether the operation has reached a terminal state. + */ + 'done': boolean; + /** + * Failure detail, populated only when done is true and the operation failed. + */ + 'error'?: Status; + /** + * In-flight information and details. + */ + 'metadata'?: RenameUnnamedFunctionsMetadata; + /** + * API resource name. + */ + 'name': string; + /** + * Result, set only when done is true and the operation succeeded. + */ + 'response'?: RenameUnnamedFunctionsResult; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "done", + "baseName": "done", + "type": "boolean", + "format": "" + }, + { + "name": "error", + "baseName": "error", + "type": "Status", + "format": "" + }, + { + "name": "metadata", + "baseName": "metadata", + "type": "RenameUnnamedFunctionsMetadata", + "format": "" + }, + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + }, + { + "name": "response", + "baseName": "response", + "type": "RenameUnnamedFunctionsResult", + "format": "" + } ]; + + static getAttributeTypeMap() { + return OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/PublicUserBody.ts b/models/PublicUserBody.ts new file mode 100644 index 0000000..7fe2a7c --- /dev/null +++ b/models/PublicUserBody.ts @@ -0,0 +1,48 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class PublicUserBody { + /** + * The user\'s ID + */ + 'userId': number; + /** + * The user\'s display name + */ + 'username': string; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "userId", + "baseName": "user_id", + "type": "number", + "format": "int64" + }, + { + "name": "username", + "baseName": "username", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return PublicUserBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReferencedConstant.ts b/models/ReferencedConstant.ts index 1729b92..e8b5648 100644 --- a/models/ReferencedConstant.ts +++ b/models/ReferencedConstant.ts @@ -15,7 +15,7 @@ import { Subject } from '../models/Subject'; import { HttpFile } from '../http/http'; export class ReferencedConstant { - 'subject': Subject; + 'subject': Subject | null; 'value': BytesConstant; 'display'?: Display | null; diff --git a/models/ReferencedConstantEvidence.ts b/models/ReferencedConstantEvidence.ts index 8c3a9eb..ae85899 100644 --- a/models/ReferencedConstantEvidence.ts +++ b/models/ReferencedConstantEvidence.ts @@ -9,25 +9,48 @@ * Do not edit the class manually. */ -import { EvidenceEffect } from '../models/EvidenceEffect'; -import { ReferencedConstant } from '../models/ReferencedConstant'; +import { ReportReferencedConstant } from '../models/ReportReferencedConstant'; import { HttpFile } from '../http/http'; -/** -* Constants and the instructions that reference them. -*/ export class ReferencedConstantEvidence { - 'evidenceKind'?: ReferencedConstantEvidenceEvidenceKindEnum; - 'kind'?: ReferencedConstantEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: ReferencedConstantEvidenceStrengthEnum; - 'constants': Array; + /** + * The constants and where they are referenced. + */ + 'constants': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': ReferencedConstantEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': ReferencedConstantEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': ReferencedConstantEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': ReferencedConstantEvidenceStrengthEnum; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "constants", + "baseName": "constants", + "type": "Array", + "format": "" + }, + { + "name": "effect", + "baseName": "effect", + "type": "ReferencedConstantEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -40,23 +63,11 @@ export class ReferencedConstantEvidence { "type": "ReferencedConstantEvidenceKindEnum", "format": "" }, - { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", - "format": "" - }, { "name": "strength", "baseName": "strength", "type": "ReferencedConstantEvidenceStrengthEnum", "format": "" - }, - { - "name": "constants", - "baseName": "constants", - "type": "Array", - "format": "" } ]; static getAttributeTypeMap() { @@ -67,6 +78,11 @@ export class ReferencedConstantEvidence { } } +export enum ReferencedConstantEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum ReferencedConstantEvidenceEvidenceKindEnum { ReferencedConstant = 'referenced_constant', UnknownDefaultOpenApi = '11184809' diff --git a/models/RenameUnnamedFunctionsMetadata.ts b/models/RenameUnnamedFunctionsMetadata.ts new file mode 100644 index 0000000..a0c8e25 --- /dev/null +++ b/models/RenameUnnamedFunctionsMetadata.ts @@ -0,0 +1,58 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class RenameUnnamedFunctionsMetadata { + /** + * Progress messages the run recorded, oldest first. + */ + 'logHistory'?: Array> | null; + /** + * Run status. UNINITIALISED means the agent has never been triggered for this analysis. + */ + 'status': RenameUnnamedFunctionsMetadataStatusEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "logHistory", + "baseName": "log_history", + "type": "Array>", + "format": "" + }, + { + "name": "status", + "baseName": "status", + "type": "RenameUnnamedFunctionsMetadataStatusEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return RenameUnnamedFunctionsMetadata.attributeTypeMap; + } + + public constructor() { + } +} + +export enum RenameUnnamedFunctionsMetadataStatusEnum { + Uninitialised = 'UNINITIALISED', + Pending = 'PENDING', + Running = 'RUNNING', + Completed = 'COMPLETED', + Failed = 'FAILED', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ReportBytesConstant.ts b/models/ReportBytesConstant.ts new file mode 100644 index 0000000..330581a --- /dev/null +++ b/models/ReportBytesConstant.ts @@ -0,0 +1,76 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportBytesConstant { + /** + * Suggested format for displaying the value. + */ + 'display': ReportBytesConstantDisplayEnum; + /** + * Encoding of the value. + */ + 'format': ReportBytesConstantFormatEnum; + /** + * The bytes of the constant, hex-encoded. + */ + 'value': string; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "display", + "baseName": "display", + "type": "ReportBytesConstantDisplayEnum", + "format": "" + }, + { + "name": "format", + "baseName": "format", + "type": "ReportBytesConstantFormatEnum", + "format": "" + }, + { + "name": "value", + "baseName": "value", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportBytesConstant.attributeTypeMap; + } + + public constructor() { + } +} + +export enum ReportBytesConstantDisplayEnum { + Hex = 'hex', + Uint8 = 'uint8', + Uint16 = 'uint16', + Uint32 = 'uint32', + Uint64 = 'uint64', + Int8 = 'int8', + Int16 = 'int16', + Int32 = 'int32', + Int64 = 'int64', + UnknownDefaultOpenApi = '11184809' +} +export enum ReportBytesConstantFormatEnum { + Bytes = 'bytes', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ReportCallChain.ts b/models/ReportCallChain.ts new file mode 100644 index 0000000..882ee57 --- /dev/null +++ b/models/ReportCallChain.ts @@ -0,0 +1,38 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportCallChain { + /** + * Call addresses along the path, entry point first. + */ + 'path': Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "path", + "baseName": "path", + "type": "Array", + "format": "int64" + } ]; + + static getAttributeTypeMap() { + return ReportCallChain.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportCodeSummary.ts b/models/ReportCodeSummary.ts new file mode 100644 index 0000000..fab4949 --- /dev/null +++ b/models/ReportCodeSummary.ts @@ -0,0 +1,60 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportSubject } from '../models/ReportSubject'; +import { HttpFile } from '../http/http'; + +export class ReportCodeSummary { + /** + * A call chain reaching the entity, absent when none was found. + */ + 'reachability'?: ReportCallChain; + /** + * The program location whose code is summarised. + */ + 'subject': ReportSubject; + /** + * What the code does. + */ + 'summary': string; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "reachability", + "baseName": "reachability", + "type": "ReportCallChain", + "format": "" + }, + { + "name": "subject", + "baseName": "subject", + "type": "ReportSubject", + "format": "" + }, + { + "name": "summary", + "baseName": "summary", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportCodeSummary.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportFinding.ts b/models/ReportFinding.ts new file mode 100644 index 0000000..d207f70 --- /dev/null +++ b/models/ReportFinding.ts @@ -0,0 +1,67 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportFindingEvidenceInner } from '../models/ReportFindingEvidenceInner'; +import { HttpFile } from '../http/http'; + +export class ReportFinding { + /** + * The evidence for or against the finding. + */ + 'evidence': Array; + /** + * Identifier of the property the finding asserts. + */ + 'propertyId': string; + /** + * Whether the code behind the finding is reachable from an entry point. + */ + 'reachability': ReportFindingReachabilityEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "evidence", + "baseName": "evidence", + "type": "Array", + "format": "" + }, + { + "name": "propertyId", + "baseName": "property_id", + "type": "string", + "format": "" + }, + { + "name": "reachability", + "baseName": "reachability", + "type": "ReportFindingReachabilityEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportFinding.attributeTypeMap; + } + + public constructor() { + } +} + +export enum ReportFindingReachabilityEnum { + Undetermined = 'undetermined', + Reachable = 'reachable', + Unreachable = 'unreachable', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ReportFindingEvidenceInner.ts b/models/ReportFindingEvidenceInner.ts new file mode 100644 index 0000000..942d99d --- /dev/null +++ b/models/ReportFindingEvidenceInner.ts @@ -0,0 +1,62 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { APICombinationEvidence } from '../models/APICombinationEvidence'; +import { CallChainEvidence } from '../models/CallChainEvidence'; +import { DecompilerSummaryEvidence } from '../models/DecompilerSummaryEvidence'; +import { DisassemblySummaryEvidence } from '../models/DisassemblySummaryEvidence'; +import { FunctionSimilarityEvidence } from '../models/FunctionSimilarityEvidence'; +import { HardcodedSecretEvidence } from '../models/HardcodedSecretEvidence'; +import { ImportedAPICallEvidence } from '../models/ImportedAPICallEvidence'; +import { KnownConstantEvidence } from '../models/KnownConstantEvidence'; +import { ModelInterpretationEvidence } from '../models/ModelInterpretationEvidence'; +import { ReferencedConstantEvidence } from '../models/ReferencedConstantEvidence'; +import { StringMatchEvidence } from '../models/StringMatchEvidence'; +import { HttpFile } from '../http/http'; + +/** + * @type ReportFindingEvidenceInner + * Type + * @export + */ +export type ReportFindingEvidenceInner = APICombinationEvidence | CallChainEvidence | DecompilerSummaryEvidence | DisassemblySummaryEvidence | FunctionSimilarityEvidence | HardcodedSecretEvidence | ImportedAPICallEvidence | KnownConstantEvidence | ModelInterpretationEvidence | ReferencedConstantEvidence | StringMatchEvidence; + +/** +* @type ReportFindingEvidenceInnerClass +* @export +*/ +export class ReportFindingEvidenceInnerClass { + static readonly discriminator: string | undefined = "evidenceKind"; + + static readonly mapping: {[index: string]: string} | undefined = { + "api_combination": "APICombinationEvidence", + "call_chain": "CallChainEvidence", + "decompiler_summary": "DecompilerSummaryEvidence", + "disassembly_summary": "DisassemblySummaryEvidence", + "function_similarity": "FunctionSimilarityEvidence", + "hardcoded_secret": "HardcodedSecretEvidence", + "imported_api_call": "ImportedAPICallEvidence", + "known_constant": "KnownConstantEvidence", + "model_interpretation": "ModelInterpretationEvidence", + "referenced_constant": "ReferencedConstantEvidence", + "string_match": "StringMatchEvidence", + }; +} + + + + + + + + + + diff --git a/models/ReportFunctionSimilarity.ts b/models/ReportFunctionSimilarity.ts new file mode 100644 index 0000000..4f7045c --- /dev/null +++ b/models/ReportFunctionSimilarity.ts @@ -0,0 +1,59 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportSubject } from '../models/ReportSubject'; +import { HttpFile } from '../http/http'; + +export class ReportFunctionSimilarity { + /** + * Name of the known function. + */ + 'name': string; + /** + * Similarity score, from 0 to 1. + */ + 'similarity': number; + /** + * The matching function in the analysed binary. + */ + 'subject': ReportSubject; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + }, + { + "name": "similarity", + "baseName": "similarity", + "type": "number", + "format": "double" + }, + { + "name": "subject", + "baseName": "subject", + "type": "ReportSubject", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportFunctionSimilarity.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportImportedAPI.ts b/models/ReportImportedAPI.ts new file mode 100644 index 0000000..5e1d879 --- /dev/null +++ b/models/ReportImportedAPI.ts @@ -0,0 +1,48 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportImportedAPI { + /** + * Name of the API. + */ + 'api': string; + /** + * Module the API is imported from, or null when unknown. + */ + 'module': string | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "api", + "baseName": "api", + "type": "string", + "format": "" + }, + { + "name": "module", + "baseName": "module", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportImportedAPI.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportImportedAPICall.ts b/models/ReportImportedAPICall.ts new file mode 100644 index 0000000..1733e75 --- /dev/null +++ b/models/ReportImportedAPICall.ts @@ -0,0 +1,61 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { ReportSubject } from '../models/ReportSubject'; +import { HttpFile } from '../http/http'; + +export class ReportImportedAPICall { + /** + * The API called. + */ + 'importedApi': ReportImportedAPI; + /** + * A call chain reaching the call, absent when none was found. + */ + 'reachability'?: ReportCallChain; + /** + * Where the call is made. + */ + 'subject': ReportSubject; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "importedApi", + "baseName": "imported_api", + "type": "ReportImportedAPI", + "format": "" + }, + { + "name": "reachability", + "baseName": "reachability", + "type": "ReportCallChain", + "format": "" + }, + { + "name": "subject", + "baseName": "subject", + "type": "ReportSubject", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportImportedAPICall.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportMeta.ts b/models/ReportMeta.ts new file mode 100644 index 0000000..0380cc8 --- /dev/null +++ b/models/ReportMeta.ts @@ -0,0 +1,46 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportMeta { + /** + * Byte order of the analysed binary. + */ + 'endianness': ReportMetaEndiannessEnum; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "endianness", + "baseName": "endianness", + "type": "ReportMetaEndiannessEnum", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportMeta.attributeTypeMap; + } + + public constructor() { + } +} + +export enum ReportMetaEndiannessEnum { + Unspecified = 'unspecified', + Little = 'little', + Big = 'big', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ReportModelInterpretation.ts b/models/ReportModelInterpretation.ts new file mode 100644 index 0000000..a4ef619 --- /dev/null +++ b/models/ReportModelInterpretation.ts @@ -0,0 +1,38 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportModelInterpretation { + /** + * The interpretation, or null when the model did not provide one. + */ + 'interpretation': string | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "interpretation", + "baseName": "interpretation", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportModelInterpretation.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportReferencedConstant.ts b/models/ReportReferencedConstant.ts new file mode 100644 index 0000000..d720c25 --- /dev/null +++ b/models/ReportReferencedConstant.ts @@ -0,0 +1,74 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportBytesConstant } from '../models/ReportBytesConstant'; +import { ReportSubject } from '../models/ReportSubject'; +import { HttpFile } from '../http/http'; + +export class ReportReferencedConstant { + /** + * Suggested format for displaying the value at this reference, absent to use the constant\'s own. + */ + 'display'?: ReportReferencedConstantDisplayEnum; + /** + * Where the constant is referenced. + */ + 'subject': ReportSubject; + /** + * The constant. + */ + 'value': ReportBytesConstant; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "display", + "baseName": "display", + "type": "ReportReferencedConstantDisplayEnum", + "format": "" + }, + { + "name": "subject", + "baseName": "subject", + "type": "ReportSubject", + "format": "" + }, + { + "name": "value", + "baseName": "value", + "type": "ReportBytesConstant", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportReferencedConstant.attributeTypeMap; + } + + public constructor() { + } +} + +export enum ReportReferencedConstantDisplayEnum { + Hex = 'hex', + Uint8 = 'uint8', + Uint16 = 'uint16', + Uint32 = 'uint32', + Uint64 = 'uint64', + Int8 = 'int8', + Int16 = 'int16', + Int32 = 'int32', + Int64 = 'int64', + UnknownDefaultOpenApi = '11184809' +} + diff --git a/models/ReportResult.ts b/models/ReportResult.ts index efcfcda..4585f2d 100644 --- a/models/ReportResult.ts +++ b/models/ReportResult.ts @@ -9,11 +9,19 @@ * Do not edit the class manually. */ +import { ReportFinding } from '../models/ReportFinding'; +import { ReportMeta } from '../models/ReportMeta'; import { HttpFile } from '../http/http'; export class ReportResult { - 'findings': any | null; - 'meta': any | null; + /** + * The findings the agent reported, each with its supporting evidence. + */ + 'findings': Array; + /** + * Report-level metadata. + */ + 'meta': ReportMeta; static readonly discriminator: string | undefined = undefined; @@ -23,13 +31,13 @@ export class ReportResult { { "name": "findings", "baseName": "findings", - "type": "any", + "type": "Array", "format": "" }, { "name": "meta", "baseName": "meta", - "type": "any", + "type": "ReportMeta", "format": "" } ]; diff --git a/models/ReportStringMatch.ts b/models/ReportStringMatch.ts new file mode 100644 index 0000000..2751906 --- /dev/null +++ b/models/ReportStringMatch.ts @@ -0,0 +1,49 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { ReportSubject } from '../models/ReportSubject'; +import { HttpFile } from '../http/http'; + +export class ReportStringMatch { + /** + * Where the string is located, absent when unknown. + */ + 'subject'?: ReportSubject; + /** + * The matched string. + */ + 'value': string; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "subject", + "baseName": "subject", + "type": "ReportSubject", + "format": "" + }, + { + "name": "value", + "baseName": "value", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return ReportStringMatch.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ReportSubject.ts b/models/ReportSubject.ts new file mode 100644 index 0000000..5226437 --- /dev/null +++ b/models/ReportSubject.ts @@ -0,0 +1,68 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class ReportSubject { + /** + * Call-site address. + */ + 'callSite'?: number; + /** + * Data address. + */ + 'data'?: number; + /** + * Function entry address. + */ + '_function'?: number; + /** + * Instruction address. + */ + 'instruction'?: number; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "callSite", + "baseName": "call_site", + "type": "number", + "format": "int64" + }, + { + "name": "data", + "baseName": "data", + "type": "number", + "format": "int64" + }, + { + "name": "_function", + "baseName": "function", + "type": "number", + "format": "int64" + }, + { + "name": "instruction", + "baseName": "instruction", + "type": "number", + "format": "int64" + } ]; + + static getAttributeTypeMap() { + return ReportSubject.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/RequeueAnalysisRequest.ts b/models/RequeueAnalysisRequest.ts new file mode 100644 index 0000000..82be2b9 --- /dev/null +++ b/models/RequeueAnalysisRequest.ts @@ -0,0 +1,85 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class RequeueAnalysisRequest { + /** + * Command-line arguments passed to the sample when enable_dynamic_execution is set + */ + 'commandLineArgs'?: string; + /** + * Run the new Analysis with dynamic execution (sandbox) enabled + */ + 'enableDynamicExecution'?: boolean; + /** + * Regenerate capabilities for the new Analysis instead of copying the original Binary\'s existing ones + */ + 'generateCapabilities'?: boolean; + 'noCache'?: boolean; + /** + * Re-scrape third-party tags for the new Analysis instead of copying the original Binary\'s existing ones + */ + 'scrapeTags'?: boolean; + /** + * Additional Tags to apply to the requeued Binary, on top of any carried over because generate_capabilities/scrape_tags are false + */ + 'tags'?: Array | null; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "commandLineArgs", + "baseName": "command_line_args", + "type": "string", + "format": "" + }, + { + "name": "enableDynamicExecution", + "baseName": "enable_dynamic_execution", + "type": "boolean", + "format": "" + }, + { + "name": "generateCapabilities", + "baseName": "generate_capabilities", + "type": "boolean", + "format": "" + }, + { + "name": "noCache", + "baseName": "no_cache", + "type": "boolean", + "format": "" + }, + { + "name": "scrapeTags", + "baseName": "scrape_tags", + "type": "boolean", + "format": "" + }, + { + "name": "tags", + "baseName": "tags", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return RequeueAnalysisRequest.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/ResolvedEntity.ts b/models/ResolvedEntity.ts index c66d831..29e98c8 100644 --- a/models/ResolvedEntity.ts +++ b/models/ResolvedEntity.ts @@ -33,9 +33,11 @@ export class ResolvedEntity { 'suggestionConfidence': string | null; 'token': string | null; 'typeIndex': number | null; + 'typeSource': string | null; 'vaddr': number | null; 'value': string | null; 'valueConfidence': string | null; + 'valueKind': string | null; 'valueType': string | null; static readonly discriminator: string | undefined = undefined; @@ -169,6 +171,12 @@ export class ResolvedEntity { "type": "number", "format": "int64" }, + { + "name": "typeSource", + "baseName": "type_source", + "type": "string", + "format": "" + }, { "name": "vaddr", "baseName": "vaddr", @@ -187,6 +195,12 @@ export class ResolvedEntity { "type": "string", "format": "" }, + { + "name": "valueKind", + "baseName": "value_kind", + "type": "string", + "format": "" + }, { "name": "valueType", "baseName": "value_type", diff --git a/models/Status.ts b/models/Status.ts index 21b37c1..45f4aa2 100644 --- a/models/Status.ts +++ b/models/Status.ts @@ -85,6 +85,7 @@ export enum StatusCodeEnum { ClientClosedRequest = 'CLIENT_CLOSED_REQUEST', Conflict = 'CONFLICT', ConversationNotFound = 'CONVERSATION_NOT_FOUND', + DisposableEmailNotAllowed = 'DISPOSABLE_EMAIL_NOT_ALLOWED', DomainAlreadyClaimed = 'DOMAIN_ALREADY_CLAIMED', DomainVerificationPending = 'DOMAIN_VERIFICATION_PENDING', DynamicExecutionIncomplete = 'DYNAMIC_EXECUTION_INCOMPLETE', @@ -112,6 +113,7 @@ export enum StatusCodeEnum { NoPendingConfirmation = 'NO_PENDING_CONFIRMATION', NoVirustotalKey = 'NO_VIRUSTOTAL_KEY', OidcDiscoveryFailed = 'OIDC_DISCOVERY_FAILED', + OperationPrerequisiteNotMet = 'OPERATION_PREREQUISITE_NOT_MET', PasswordResetRequired = 'PASSWORD_RESET_REQUIRED', PaymentRequired = 'PAYMENT_REQUIRED', PreconditionFailed = 'PRECONDITION_FAILED', diff --git a/models/StringMatchEvidence.ts b/models/StringMatchEvidence.ts index 700ae2f..728aca0 100644 --- a/models/StringMatchEvidence.ts +++ b/models/StringMatchEvidence.ts @@ -9,25 +9,42 @@ * Do not edit the class manually. */ -import { EvidenceEffect } from '../models/EvidenceEffect'; -import { StringMatch } from '../models/StringMatch'; +import { ReportStringMatch } from '../models/ReportStringMatch'; import { HttpFile } from '../http/http'; -/** -* String matches without demonstrated semantic use. -*/ export class StringMatchEvidence { - 'evidenceKind'?: StringMatchEvidenceEvidenceKindEnum; - 'kind'?: StringMatchEvidenceKindEnum; - 'effect': EvidenceEffect; - 'strength'?: StringMatchEvidenceStrengthEnum; - 'strings': Array; + /** + * Whether the evidence supports or refutes the finding. + */ + 'effect': StringMatchEvidenceEffectEnum; + /** + * Kind of evidence. + */ + 'evidenceKind': StringMatchEvidenceEvidenceKindEnum; + /** + * How the evidence was derived. + */ + 'kind': StringMatchEvidenceKindEnum; + /** + * How directly the evidence bears on the finding. + */ + 'strength': StringMatchEvidenceStrengthEnum; + /** + * The matched strings. + */ + 'strings': Array; static readonly discriminator: string | undefined = undefined; static readonly mapping: {[index: string]: string} | undefined = undefined; static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "effect", + "baseName": "effect", + "type": "StringMatchEvidenceEffectEnum", + "format": "" + }, { "name": "evidenceKind", "baseName": "evidence_kind", @@ -40,12 +57,6 @@ export class StringMatchEvidence { "type": "StringMatchEvidenceKindEnum", "format": "" }, - { - "name": "effect", - "baseName": "effect", - "type": "EvidenceEffect", - "format": "" - }, { "name": "strength", "baseName": "strength", @@ -55,7 +66,7 @@ export class StringMatchEvidence { { "name": "strings", "baseName": "strings", - "type": "Array", + "type": "Array", "format": "" } ]; @@ -67,6 +78,11 @@ export class StringMatchEvidence { } } +export enum StringMatchEvidenceEffectEnum { + Supports = 'supports', + Refutes = 'refutes', + UnknownDefaultOpenApi = '11184809' +} export enum StringMatchEvidenceEvidenceKindEnum { StringMatch = 'string_match', UnknownDefaultOpenApi = '11184809' diff --git a/models/UpdateAnalysisGlobalInputBody.ts b/models/UpdateAnalysisGlobalInputBody.ts new file mode 100644 index 0000000..5e86b70 --- /dev/null +++ b/models/UpdateAnalysisGlobalInputBody.ts @@ -0,0 +1,48 @@ +/** + * 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. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class UpdateAnalysisGlobalInputBody { + /** + * Analysis data type to assign. Omit to leave the type as it is. + */ + 'dataTypeId'?: number; + /** + * New name for the global. Omit to leave the name as it is. + */ + 'name'?: string; + + static readonly discriminator: string | undefined = undefined; + + static readonly mapping: {[index: string]: string} | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "dataTypeId", + "baseName": "data_type_id", + "type": "number", + "format": "int64" + }, + { + "name": "name", + "baseName": "name", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return UpdateAnalysisGlobalInputBody.attributeTypeMap; + } + + public constructor() { + } +} diff --git a/models/all.ts b/models/all.ts index 9133a00..f6db779 100644 --- a/models/all.ts +++ b/models/all.ts @@ -1,3 +1,4 @@ +export * from '../models/APICombinationEvidence' export * from '../models/APIError' export * from '../models/AcceptTypeSuggestionsInputBody' export * from '../models/AcceptTypeSuggestionsOutputBody' @@ -37,6 +38,8 @@ export * from '../models/AnalysisFunctionsList' export * from '../models/AnalysisLogEntry' export * from '../models/AnalysisLogMessage' export * from '../models/AnalysisLogs' +export * from '../models/AnalysisOperationBody' +export * from '../models/AnalysisOperationsOutputBody' export * from '../models/AnalysisRecord' export * from '../models/AnalysisRecordBody' export * from '../models/AnalysisReport' @@ -270,14 +273,17 @@ export * from '../models/DecompilerSummary' export * from '../models/DecompilerSummaryEvidence' export * from '../models/DieMatch' export * from '../models/DisassemblyOutputBody' +export * from '../models/DisassemblySummaryEvidence' export * from '../models/Display' export * from '../models/DnsQuery' export * from '../models/DrakvufFileMetadata' export * from '../models/DynamicExecutionMetadata' +export * from '../models/DynamicExecutionResult' export * from '../models/DynamicExecutionStatus' export * from '../models/DynamicExecutionStatusResponse' export * from '../models/DynamicExecutionSummary' export * from '../models/DynamicExecutionSummaryMetadata' +export * from '../models/DynamicExecutionSummaryResult' export * from '../models/ELFImportModel' export * from '../models/ELFModel' export * from '../models/ELFRelocation' @@ -365,6 +371,7 @@ export * from '../models/FunctionCallEdges' export * from '../models/FunctionCapabilityResponse' export * from '../models/FunctionDataType' export * from '../models/FunctionDetailsOutputBody' +export * from '../models/FunctionGlobalVariable' export * from '../models/FunctionListItem' export * from '../models/FunctionLocalVariableResponse' export * from '../models/FunctionMapping' @@ -386,6 +393,7 @@ export * from '../models/FunctionString' export * from '../models/FunctionStringItem' export * from '../models/FunctionStringsResponse' export * from '../models/FunctionTypeDefinition' +export * from '../models/FunctionUsage' export * from '../models/FunctionsDetailResponse' export * from '../models/FunctionsListRename' export * from '../models/FunctionsProgressOutputBody' @@ -403,6 +411,7 @@ export * from '../models/GetDataTypeHistoryBody' export * from '../models/GetDieInfoOutputBody' export * from '../models/GetFunctionMapsOutputBody' export * from '../models/GetFunctionSignatureHistoryBody' +export * from '../models/GetGlobalHistoryOutputBody' export * from '../models/GetMatchesOutputBody' export * from '../models/GetMatchesStatusOutputBody' export * from '../models/GetModelsOutputBody' @@ -414,6 +423,8 @@ export * from '../models/GetRelatedStatusOutputBody' export * from '../models/GetSubscriptionOutputBody' export * from '../models/GetTokensResponse' export * from '../models/GetUserActivityOutputBody' +export * from '../models/GlobalHistoryEntry' +export * from '../models/GlobalVariable' export * from '../models/HardcodedSecretEvidence' export * from '../models/HistoryActor' export * from '../models/HistoryEntry' @@ -423,6 +434,7 @@ export * from '../models/ISA' export * from '../models/IconModel' export * from '../models/ImportDynamicExecutionFileOutputBody' export * from '../models/ImportModel' +export * from '../models/ImportedAPICallEvidence' export * from '../models/ImportedApi' export * from '../models/ImportedApiCall' export * from '../models/ImportedApiCallEvidence' @@ -441,15 +453,20 @@ export * from '../models/LineAttributionsData' export * from '../models/ListAnalysesOutputBody' export * from '../models/ListAnalysisDataTypesOutputBody' export * from '../models/ListAnalysisFunctionsOutputBody' +export * from '../models/ListAnalysisGlobalsOutputBody' export * from '../models/ListAnalysisStringsOutputBody' export * from '../models/ListArchiveContentsOutputBody' export * from '../models/ListCollectionResults' export * from '../models/ListCollectionsOutputBody' export * from '../models/ListDataTypeFunctionsBody' export * from '../models/ListExampleAnalysesOutputBody' +export * from '../models/ListFunctionGlobalsOutputBody' export * from '../models/ListFunctionSignaturesOutputBody' export * from '../models/ListFunctionStringsOutputBody' +export * from '../models/ListGlobalFunctionsOutputBody' export * from '../models/ListImportedFunctionsOutputBody' +export * from '../models/ListOperationPrerequisitesOutputBody' +export * from '../models/ListPublicUsersOutputBody' export * from '../models/ListSecretStoreOutputBody' export * from '../models/ListTeamsOutputBody' export * from '../models/ListUsersOutputBody' @@ -502,6 +519,8 @@ export * from '../models/OperationMetadataThreatReportResult' export * from '../models/OperationMetadataTriageResult' export * from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult' export * from '../models/OperationNetworkingScanMetadataNetworkingScanResult' +export * from '../models/OperationPrerequisitesBody' +export * from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult' export * from '../models/OperationSecurityScanMetadataSecurityScanResult' export * from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult' export * from '../models/OperationWorkflowProgressResultBody' @@ -538,6 +557,7 @@ export * from '../models/ProductSummary' export * from '../models/ProgressMessage' export * from '../models/ProseEvent' export * from '../models/ProtocolsAgentResponse' +export * from '../models/PublicUserBody' export * from '../models/PutAnalysisStringsRequest' export * from '../models/QueuedWorkflowTaskResponse' export * from '../models/RatingOutputBody' @@ -557,16 +577,31 @@ export * from '../models/RemoveCollectionBinariesInputBody' export * from '../models/RenameAppliedEvent' export * from '../models/RenameInputBody' export * from '../models/RenameOutputBody' +export * from '../models/RenameUnnamedFunctionsMetadata' export * from '../models/RenameUnnamedFunctionsResult' export * from '../models/RenderedToken' export * from '../models/ReportAnalysisBody' export * from '../models/ReportAnalysisResponse' +export * from '../models/ReportBytesConstant' +export * from '../models/ReportCallChain' +export * from '../models/ReportCodeSummary' export * from '../models/ReportEvent' +export * from '../models/ReportFinding' +export * from '../models/ReportFindingEvidenceInner' +export * from '../models/ReportFunctionSimilarity' +export * from '../models/ReportImportedAPI' +export * from '../models/ReportImportedAPICall' export * from '../models/ReportInfo' +export * from '../models/ReportMeta' +export * from '../models/ReportModelInterpretation' export * from '../models/ReportOptions' export * from '../models/ReportReachabilityStatus' +export * from '../models/ReportReferencedConstant' export * from '../models/ReportResult' +export * from '../models/ReportStringMatch' +export * from '../models/ReportSubject' export * from '../models/RequestedConfigBody' +export * from '../models/RequeueAnalysisRequest' export * from '../models/ResendVerificationEmailInputBody' export * from '../models/ResolvedEntity' export * from '../models/ResultBody' @@ -700,6 +735,7 @@ export * from '../models/UnionDataType' export * from '../models/UnionDefinition' export * from '../models/UnknownDataType' export * from '../models/UpdateAnalysisDataTypesInputBody' +export * from '../models/UpdateAnalysisGlobalInputBody' export * from '../models/UpdateAnalysisInputBody' export * from '../models/UpdateArrayDataType' export * from '../models/UpdateBaseDataType' diff --git a/package.json b/package.json index 20543e1..0a51e18 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@revengai/sdk", - "version": "4.72.2", + "version": "4.73.0", "description": "TypeScript SDK for the RevEng.AI API", "author": "RevEng.AI", "repository": { diff --git a/types/ObjectParamAPI.ts b/types/ObjectParamAPI.ts index acef32b..2b083c8 100644 --- a/types/ObjectParamAPI.ts +++ b/types/ObjectParamAPI.ts @@ -2,6 +2,7 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, ConfigurationOptions } from '../configuration' import type { Middleware } from '../middleware'; +import { APICombinationEvidence } from '../models/APICombinationEvidence'; import { APIError } from '../models/APIError'; import { AcceptTypeSuggestionsInputBody } from '../models/AcceptTypeSuggestionsInputBody'; import { AcceptTypeSuggestionsOutputBody } from '../models/AcceptTypeSuggestionsOutputBody'; @@ -41,6 +42,8 @@ import { AnalysisFunctionsList } from '../models/AnalysisFunctionsList'; import { AnalysisLogEntry } from '../models/AnalysisLogEntry'; import { AnalysisLogMessage } from '../models/AnalysisLogMessage'; import { AnalysisLogs } from '../models/AnalysisLogs'; +import { AnalysisOperationBody } from '../models/AnalysisOperationBody'; +import { AnalysisOperationsOutputBody } from '../models/AnalysisOperationsOutputBody'; import { AnalysisRecord } from '../models/AnalysisRecord'; import { AnalysisRecordBody } from '../models/AnalysisRecordBody'; import { AnalysisReport } from '../models/AnalysisReport'; @@ -274,14 +277,17 @@ import { DecompilerSummary } from '../models/DecompilerSummary'; import { DecompilerSummaryEvidence } from '../models/DecompilerSummaryEvidence'; import { DieMatch } from '../models/DieMatch'; import { DisassemblyOutputBody } from '../models/DisassemblyOutputBody'; +import { DisassemblySummaryEvidence } from '../models/DisassemblySummaryEvidence'; import { Display } from '../models/Display'; import { DnsQuery } from '../models/DnsQuery'; import { DrakvufFileMetadata } from '../models/DrakvufFileMetadata'; import { DynamicExecutionMetadata } from '../models/DynamicExecutionMetadata'; +import { DynamicExecutionResult } from '../models/DynamicExecutionResult'; import { DynamicExecutionStatus } from '../models/DynamicExecutionStatus'; import { DynamicExecutionStatusResponse } from '../models/DynamicExecutionStatusResponse'; import { DynamicExecutionSummary } from '../models/DynamicExecutionSummary'; import { DynamicExecutionSummaryMetadata } from '../models/DynamicExecutionSummaryMetadata'; +import { DynamicExecutionSummaryResult } from '../models/DynamicExecutionSummaryResult'; import { ELFImportModel } from '../models/ELFImportModel'; import { ELFModel } from '../models/ELFModel'; import { ELFRelocation } from '../models/ELFRelocation'; @@ -369,6 +375,7 @@ import { FunctionCallEdges } from '../models/FunctionCallEdges'; import { FunctionCapabilityResponse } from '../models/FunctionCapabilityResponse'; import { FunctionDataType } from '../models/FunctionDataType'; import { FunctionDetailsOutputBody } from '../models/FunctionDetailsOutputBody'; +import { FunctionGlobalVariable } from '../models/FunctionGlobalVariable'; import { FunctionListItem } from '../models/FunctionListItem'; import { FunctionLocalVariableResponse } from '../models/FunctionLocalVariableResponse'; import { FunctionMapping } from '../models/FunctionMapping'; @@ -390,6 +397,7 @@ import { FunctionString } from '../models/FunctionString'; import { FunctionStringItem } from '../models/FunctionStringItem'; import { FunctionStringsResponse } from '../models/FunctionStringsResponse'; import { FunctionTypeDefinition } from '../models/FunctionTypeDefinition'; +import { FunctionUsage } from '../models/FunctionUsage'; import { FunctionsDetailResponse } from '../models/FunctionsDetailResponse'; import { FunctionsListRename } from '../models/FunctionsListRename'; import { FunctionsProgressOutputBody } from '../models/FunctionsProgressOutputBody'; @@ -407,6 +415,7 @@ import { GetDataTypeHistoryBody } from '../models/GetDataTypeHistoryBody'; import { GetDieInfoOutputBody } from '../models/GetDieInfoOutputBody'; import { GetFunctionMapsOutputBody } from '../models/GetFunctionMapsOutputBody'; import { GetFunctionSignatureHistoryBody } from '../models/GetFunctionSignatureHistoryBody'; +import { GetGlobalHistoryOutputBody } from '../models/GetGlobalHistoryOutputBody'; import { GetMatchesOutputBody } from '../models/GetMatchesOutputBody'; import { GetMatchesStatusOutputBody } from '../models/GetMatchesStatusOutputBody'; import { GetModelsOutputBody } from '../models/GetModelsOutputBody'; @@ -418,6 +427,8 @@ import { GetRelatedStatusOutputBody } from '../models/GetRelatedStatusOutputBody import { GetSubscriptionOutputBody } from '../models/GetSubscriptionOutputBody'; import { GetTokensResponse } from '../models/GetTokensResponse'; import { GetUserActivityOutputBody } from '../models/GetUserActivityOutputBody'; +import { GlobalHistoryEntry } from '../models/GlobalHistoryEntry'; +import { GlobalVariable } from '../models/GlobalVariable'; import { HardcodedSecretEvidence } from '../models/HardcodedSecretEvidence'; import { HistoryActor } from '../models/HistoryActor'; import { HistoryEntry } from '../models/HistoryEntry'; @@ -427,6 +438,7 @@ import { ISA } from '../models/ISA'; import { IconModel } from '../models/IconModel'; import { ImportDynamicExecutionFileOutputBody } from '../models/ImportDynamicExecutionFileOutputBody'; import { ImportModel } from '../models/ImportModel'; +import { ImportedAPICallEvidence } from '../models/ImportedAPICallEvidence'; import { ImportedApi } from '../models/ImportedApi'; import { ImportedApiCall } from '../models/ImportedApiCall'; import { ImportedApiCallEvidence } from '../models/ImportedApiCallEvidence'; @@ -445,15 +457,20 @@ import { LineAttributionsData } from '../models/LineAttributionsData'; import { ListAnalysesOutputBody } from '../models/ListAnalysesOutputBody'; import { ListAnalysisDataTypesOutputBody } from '../models/ListAnalysisDataTypesOutputBody'; import { ListAnalysisFunctionsOutputBody } from '../models/ListAnalysisFunctionsOutputBody'; +import { ListAnalysisGlobalsOutputBody } from '../models/ListAnalysisGlobalsOutputBody'; import { ListAnalysisStringsOutputBody } from '../models/ListAnalysisStringsOutputBody'; import { ListArchiveContentsOutputBody } from '../models/ListArchiveContentsOutputBody'; import { ListCollectionResults } from '../models/ListCollectionResults'; import { ListCollectionsOutputBody } from '../models/ListCollectionsOutputBody'; import { ListDataTypeFunctionsBody } from '../models/ListDataTypeFunctionsBody'; import { ListExampleAnalysesOutputBody } from '../models/ListExampleAnalysesOutputBody'; +import { ListFunctionGlobalsOutputBody } from '../models/ListFunctionGlobalsOutputBody'; import { ListFunctionSignaturesOutputBody } from '../models/ListFunctionSignaturesOutputBody'; import { ListFunctionStringsOutputBody } from '../models/ListFunctionStringsOutputBody'; +import { ListGlobalFunctionsOutputBody } from '../models/ListGlobalFunctionsOutputBody'; import { ListImportedFunctionsOutputBody } from '../models/ListImportedFunctionsOutputBody'; +import { ListOperationPrerequisitesOutputBody } from '../models/ListOperationPrerequisitesOutputBody'; +import { ListPublicUsersOutputBody } from '../models/ListPublicUsersOutputBody'; import { ListSecretStoreOutputBody } from '../models/ListSecretStoreOutputBody'; import { ListTeamsOutputBody } from '../models/ListTeamsOutputBody'; import { ListUsersOutputBody } from '../models/ListUsersOutputBody'; @@ -506,6 +523,8 @@ import { OperationMetadataThreatReportResult } from '../models/OperationMetadata import { OperationMetadataTriageResult } from '../models/OperationMetadataTriageResult'; import { OperationNetworkingExplainMetadataNetworkingExplainResult } from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; import { OperationNetworkingScanMetadataNetworkingScanResult } from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +import { OperationPrerequisitesBody } from '../models/OperationPrerequisitesBody'; +import { OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult } from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; import { OperationSecurityScanMetadataSecurityScanResult } from '../models/OperationSecurityScanMetadataSecurityScanResult'; import { OperationVirusTotalScanMetadataVirusTotalScanResult } from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult'; import { OperationWorkflowProgressResultBody } from '../models/OperationWorkflowProgressResultBody'; @@ -542,6 +561,7 @@ import { ProductSummary } from '../models/ProductSummary'; import { ProgressMessage } from '../models/ProgressMessage'; import { ProseEvent } from '../models/ProseEvent'; import { ProtocolsAgentResponse } from '../models/ProtocolsAgentResponse'; +import { PublicUserBody } from '../models/PublicUserBody'; import { PutAnalysisStringsRequest } from '../models/PutAnalysisStringsRequest'; import { QueuedWorkflowTaskResponse } from '../models/QueuedWorkflowTaskResponse'; import { RatingOutputBody } from '../models/RatingOutputBody'; @@ -561,16 +581,31 @@ import { RemoveCollectionBinariesInputBody } from '../models/RemoveCollectionBin import { RenameAppliedEvent } from '../models/RenameAppliedEvent'; import { RenameInputBody } from '../models/RenameInputBody'; import { RenameOutputBody } from '../models/RenameOutputBody'; +import { RenameUnnamedFunctionsMetadata } from '../models/RenameUnnamedFunctionsMetadata'; import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; import { RenderedToken } from '../models/RenderedToken'; import { ReportAnalysisBody } from '../models/ReportAnalysisBody'; import { ReportAnalysisResponse } from '../models/ReportAnalysisResponse'; +import { ReportBytesConstant } from '../models/ReportBytesConstant'; +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportCodeSummary } from '../models/ReportCodeSummary'; import { ReportEvent } from '../models/ReportEvent'; +import { ReportFinding } from '../models/ReportFinding'; +import { ReportFindingEvidenceInner } from '../models/ReportFindingEvidenceInner'; +import { ReportFunctionSimilarity } from '../models/ReportFunctionSimilarity'; +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { ReportImportedAPICall } from '../models/ReportImportedAPICall'; import { ReportInfo } from '../models/ReportInfo'; +import { ReportMeta } from '../models/ReportMeta'; +import { ReportModelInterpretation } from '../models/ReportModelInterpretation'; import { ReportOptions } from '../models/ReportOptions'; import { ReportReachabilityStatus } from '../models/ReportReachabilityStatus'; +import { ReportReferencedConstant } from '../models/ReportReferencedConstant'; import { ReportResult } from '../models/ReportResult'; +import { ReportStringMatch } from '../models/ReportStringMatch'; +import { ReportSubject } from '../models/ReportSubject'; import { RequestedConfigBody } from '../models/RequestedConfigBody'; +import { RequeueAnalysisRequest } from '../models/RequeueAnalysisRequest'; import { ResendVerificationEmailInputBody } from '../models/ResendVerificationEmailInputBody'; import { ResolvedEntity } from '../models/ResolvedEntity'; import { ResultBody } from '../models/ResultBody'; @@ -704,6 +739,7 @@ import { UnionDataType } from '../models/UnionDataType'; import { UnionDefinition } from '../models/UnionDefinition'; import { UnknownDataType } from '../models/UnknownDataType'; import { UpdateAnalysisDataTypesInputBody } from '../models/UpdateAnalysisDataTypesInputBody'; +import { UpdateAnalysisGlobalInputBody } from '../models/UpdateAnalysisGlobalInputBody'; import { UpdateAnalysisInputBody } from '../models/UpdateAnalysisInputBody'; import { UpdateArrayDataType } from '../models/UpdateArrayDataType'; import { UpdateBaseDataType } from '../models/UpdateBaseDataType'; @@ -970,10 +1006,10 @@ export interface AgentApiV3GetBinaryAgentFeedbackRequest { /** * Which agent\'s output the feedback is about * Defaults to: undefined - * @type 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' + * @type 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' * @memberof AgentApiv3GetBinaryAgentFeedback */ - agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' + agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' } export interface AgentApiV3GetCapabilitiesOperationRequest { @@ -1009,6 +1045,17 @@ export interface AgentApiV3GetCryptoScanOperationRequest { analysisId: number } +export interface AgentApiV3GetCryptographyOperationRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AgentApiv3GetCryptographyOperation + */ + analysisId: number +} + export interface AgentApiV3GetExecutionExplainOperationRequest { /** * Function ID @@ -1097,6 +1144,17 @@ export interface AgentApiV3GetRemediationOperationRequest { analysisId: number } +export interface AgentApiV3GetRenameUnnamedFunctionsOperationRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AgentApiv3GetRenameUnnamedFunctionsOperation + */ + analysisId: number +} + export interface AgentApiV3GetRenameUnnamedFunctionsResultRequest { /** * Analysis ID @@ -1163,6 +1221,9 @@ export interface AgentApiV3GetTriageOperationRequest { analysisId: number } +export interface AgentApiV3ListOperationPrerequisitesRequest { +} + export interface AgentApiV3RunCapabilitiesRequest { /** * Analysis ID @@ -1202,6 +1263,17 @@ export interface AgentApiV3RunCryptoScanRequest { triggerCryptoScanInputBody: TriggerCryptoScanInputBody } +export interface AgentApiV3RunCryptographyRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AgentApiv3RunCryptography + */ + analysisId: number +} + export interface AgentApiV3RunExecutionExplainRequest { /** * Function ID @@ -1405,10 +1477,10 @@ export interface AgentApiV3UpsertBinaryAgentFeedbackRequest { /** * Which agent\'s output the feedback is about * Defaults to: undefined - * @type 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' + * @type 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' * @memberof AgentApiv3UpsertBinaryAgentFeedback */ - agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' + agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography' /** * * @type SubmitFeedbackInputBody @@ -1828,6 +1900,24 @@ export class ObjectAgentApi { return this.api.v3GetCryptoScanOperation(param.analysisId, options).toPromise(); } + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param param the request object + */ + public v3GetCryptographyOperationWithHttpInfo(param: AgentApiV3GetCryptographyOperationRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetCryptographyOperationWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param param the request object + */ + public v3GetCryptographyOperation(param: AgentApiV3GetCryptographyOperationRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetCryptographyOperation(param.analysisId, options).toPromise(); + } + /** * Returns the current state of the execution-explain run for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get an execution-explain operation. @@ -1937,7 +2027,7 @@ export class ObjectAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param param the request object */ @@ -1946,7 +2036,7 @@ export class ObjectAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param param the request object */ @@ -1972,6 +2062,24 @@ export class ObjectAgentApi { return this.api.v3GetRemediationOperation(param.analysisId, options).toPromise(); } + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param param the request object + */ + public v3GetRenameUnnamedFunctionsOperationWithHttpInfo(param: AgentApiV3GetRenameUnnamedFunctionsOperationRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetRenameUnnamedFunctionsOperationWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param param the request object + */ + public v3GetRenameUnnamedFunctionsOperation(param: AgentApiV3GetRenameUnnamedFunctionsOperationRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetRenameUnnamedFunctionsOperation(param.analysisId, options).toPromise(); + } + /** * Returns the summary of the most recent completed rename-unnamed-functions run. Returns 409 while a run is still in progress and 404 when the agent has never produced a result for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get rename-unnamed-functions agent result. @@ -2027,7 +2135,7 @@ export class ObjectAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param param the request object */ @@ -2036,7 +2144,7 @@ export class ObjectAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param param the request object */ @@ -2081,7 +2189,25 @@ export class ObjectAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + * @param param the request object + */ + public v3ListOperationPrerequisitesWithHttpInfo(param: AgentApiV3ListOperationPrerequisitesRequest = {}, options?: ConfigurationOptions): Promise> { + return this.api.v3ListOperationPrerequisitesWithHttpInfo( options).toPromise(); + } + + /** + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + * @param param the request object + */ + public v3ListOperationPrerequisites(param: AgentApiV3ListOperationPrerequisitesRequest = {}, options?: ConfigurationOptions): Promise { + return this.api.v3ListOperationPrerequisites( options).toPromise(); + } + + /** + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param param the request object */ @@ -2090,7 +2216,7 @@ export class ObjectAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param param the request object */ @@ -2117,7 +2243,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param param the request object */ @@ -2126,7 +2252,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param param the request object */ @@ -2134,6 +2260,24 @@ export class ObjectAgentApi { return this.api.v3RunCryptoScan(param.analysisId, param.triggerCryptoScanInputBody, options).toPromise(); } + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param param the request object + */ + public v3RunCryptographyWithHttpInfo(param: AgentApiV3RunCryptographyRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3RunCryptographyWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param param the request object + */ + public v3RunCryptography(param: AgentApiV3RunCryptographyRequest, options?: ConfigurationOptions): Promise { + return this.api.v3RunCryptography(param.analysisId, options).toPromise(); + } + /** * Starts an agent that explains the code execution the function performs, and returns the operation to poll for its outcome. Requires credits. Returns 409 while a run is already in progress for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Run the execution-explain agent. @@ -2153,7 +2297,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param param the request object */ @@ -2162,7 +2306,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param param the request object */ @@ -2189,7 +2333,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param param the request object */ @@ -2198,7 +2342,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param param the request object */ @@ -2225,7 +2369,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param param the request object */ @@ -2234,7 +2378,7 @@ export class ObjectAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param param the request object */ @@ -2243,7 +2387,7 @@ export class ObjectAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param param the request object */ @@ -2252,7 +2396,7 @@ export class ObjectAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param param the request object */ @@ -2261,7 +2405,7 @@ export class ObjectAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param param the request object */ @@ -2270,7 +2414,7 @@ export class ObjectAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param param the request object */ @@ -2279,7 +2423,7 @@ export class ObjectAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param param the request object */ @@ -2288,7 +2432,7 @@ export class ObjectAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param param the request object */ @@ -2297,7 +2441,7 @@ export class ObjectAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param param the request object */ @@ -2306,7 +2450,7 @@ export class ObjectAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param param the request object */ @@ -2333,7 +2477,7 @@ export class ObjectAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param param the request object */ @@ -2342,7 +2486,7 @@ export class ObjectAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param param the request object */ @@ -3098,7 +3242,7 @@ export interface AnalysesCoreApiV3DownloadBinaryExportRequest { * @type string * @memberof AnalysesCoreApiv3DownloadBinaryExport */ - taskId?: string + taskId: string } export interface AnalysesCoreApiV3GetAnalysisRequest { @@ -3134,6 +3278,44 @@ export interface AnalysesCoreApiV3GetAnalysisFunctionsProgressRequest { analysisId: number } +export interface AnalysesCoreApiV3GetAnalysisGlobalRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetAnalysisGlobal + */ + analysisId: number + /** + * Virtual address of the global variable. + * Minimum: 0 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetAnalysisGlobal + */ + vaddr: number +} + +export interface AnalysesCoreApiV3GetAnalysisGlobalHistoryRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetAnalysisGlobalHistory + */ + analysisId: number + /** + * Virtual address of the global variable. + * Minimum: 0 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetAnalysisGlobalHistory + */ + vaddr: number +} + export interface AnalysesCoreApiV3GetAnalysisLogsRequest { /** * Analysis ID @@ -3240,6 +3422,152 @@ export interface AnalysesCoreApiV3GetBinaryExportOperationRequest { taskId: string } +export interface AnalysesCoreApiV3GetDynamicExecutionArtifactRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionArtifact + */ + analysisId: number + /** + * SHA-256 hex digest of the artifact + * Defaults to: undefined + * @type string + * @memberof AnalysesCoreApiv3GetDynamicExecutionArtifact + */ + sha256: string + /** + * Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + * Defaults to: undefined + * @type string + * @memberof AnalysesCoreApiv3GetDynamicExecutionArtifact + */ + filename?: string +} + +export interface AnalysesCoreApiV3GetDynamicExecutionLogsDownloadRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionLogsDownload + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionMemdumpRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionMemdump + */ + analysisId: number + /** + * SHA-256 hex digest of the artifact + * Defaults to: undefined + * @type string + * @memberof AnalysesCoreApiv3GetDynamicExecutionMemdump + */ + sha256: string + /** + * Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + * Defaults to: undefined + * @type string + * @memberof AnalysesCoreApiv3GetDynamicExecutionMemdump + */ + filename?: string +} + +export interface AnalysesCoreApiV3GetDynamicExecutionOperationRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionOperation + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionPcapRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionPcap + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionReportRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionReport + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionScreenshotRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionScreenshot + */ + analysisId: number + /** + * Index of the screenshot, as listed by the screenshots endpoint + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionScreenshot + */ + index: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionSummaryRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionSummary + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionSummaryOperationRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionSummaryOperation + */ + analysisId: number +} + +export interface AnalysesCoreApiV3GetDynamicExecutionWiresharkKeysRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3GetDynamicExecutionWiresharkKeys + */ + analysisId: number +} + export interface AnalysesCoreApiV3ListAnalysesRequest { /** * @@ -3337,9 +3665,145 @@ export interface AnalysesCoreApiV3ListAnalysesRequest { order?: 'ASC' | 'DESC' } +export interface AnalysesCoreApiV3ListAnalysisGlobalsRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + analysisId: number + /** + * Page number (1-indexed). + * Minimum: 1 + * Defaults to: 1 + * @type number + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + page?: number + /** + * Number of results per page. + * Minimum: 1 + * Maximum: 500 + * Defaults to: 100 + * @type number + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + pageSize?: number + /** + * Filter by name (case-insensitive substring match). + * Defaults to: undefined + * @type string + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + search?: string + /** + * Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * Defaults to: undefined + * @type 'true' | 'false' + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + named?: 'true' | 'false' + /** + * Keep only globals carrying this analysis data type. + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + dataTypeId?: number + /** + * Keep only globals whose decoded value is of these kinds. + * Defaults to: undefined + * @type Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'> + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'> + /** + * Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * Defaults to: undefined + * @type 'true' | 'false' + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + referenced?: 'true' | 'false' + /** + * Field to order results by. + * Defaults to: 'vaddr' + * @type 'vaddr' | 'name' | 'size' | 'ref_count' + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count' + /** + * Sort direction. + * Defaults to: 'ASC' + * @type 'ASC' | 'DESC' + * @memberof AnalysesCoreApiv3ListAnalysisGlobals + */ + sortOrder?: 'ASC' | 'DESC' +} + +export interface AnalysesCoreApiV3ListAnalysisOperationsRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListAnalysisOperations + */ + analysisId: number +} + +export interface AnalysesCoreApiV3ListDynamicExecutionScreenshotsRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListDynamicExecutionScreenshots + */ + analysisId: number +} + export interface AnalysesCoreApiV3ListExampleAnalysesRequest { } +export interface AnalysesCoreApiV3ListGlobalFunctionsRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListGlobalFunctions + */ + analysisId: number + /** + * Virtual address of the global variable. + * Minimum: 0 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3ListGlobalFunctions + */ + vaddr: number + /** + * Page number (1-indexed). + * Minimum: 1 + * Defaults to: 1 + * @type number + * @memberof AnalysesCoreApiv3ListGlobalFunctions + */ + page?: number + /** + * Number of results per page. + * Minimum: 1 + * Maximum: 500 + * Defaults to: 100 + * @type number + * @memberof AnalysesCoreApiv3ListGlobalFunctions + */ + pageSize?: number +} + export interface AnalysesCoreApiV3LookupAnalysisByBinaryIdRequest { /** * Binary ID @@ -3362,6 +3826,51 @@ export interface AnalysesCoreApiV3QueueBinaryExportRequest { analysisId: number } +export interface AnalysesCoreApiV3RequeueAnalysisRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3RequeueAnalysis + */ + analysisId: number + /** + * + * @type RequeueAnalysisRequest + * @memberof AnalysesCoreApiv3RequeueAnalysis + */ + requeueAnalysisRequest: RequeueAnalysisRequest +} + +export interface AnalysesCoreApiV3RunDynamicExecutionRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3RunDynamicExecution + */ + analysisId: number + /** + * + * @type RunDynamicExecutionInputBody + * @memberof AnalysesCoreApiv3RunDynamicExecution + */ + runDynamicExecutionInputBody?: RunDynamicExecutionInputBody +} + +export interface AnalysesCoreApiV3RunDynamicExecutionSummaryRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3RunDynamicExecutionSummary + */ + analysisId: number +} + export interface AnalysesCoreApiV3SearchTagsRequest { /** * Partial or full tag name to search for, at least 3 characters @@ -3386,24 +3895,49 @@ export interface AnalysesCoreApiV3SearchTagsRequest { * @type number * @memberof AnalysesCoreApiv3SearchTags */ - offset?: number + offset?: number +} + +export interface AnalysesCoreApiV3UpdateAnalysisRequest { + /** + * Analysis ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3UpdateAnalysis + */ + analysisId: number + /** + * + * @type UpdateAnalysisInputBody + * @memberof AnalysesCoreApiv3UpdateAnalysis + */ + updateAnalysisInputBody: UpdateAnalysisInputBody } -export interface AnalysesCoreApiV3UpdateAnalysisRequest { +export interface AnalysesCoreApiV3UpdateAnalysisGlobalRequest { /** * Analysis ID * Minimum: 1 * Defaults to: undefined * @type number - * @memberof AnalysesCoreApiv3UpdateAnalysis + * @memberof AnalysesCoreApiv3UpdateAnalysisGlobal */ analysisId: number + /** + * Virtual address of the global variable. + * Minimum: 0 + * Defaults to: undefined + * @type number + * @memberof AnalysesCoreApiv3UpdateAnalysisGlobal + */ + vaddr: number /** * - * @type UpdateAnalysisInputBody - * @memberof AnalysesCoreApiv3UpdateAnalysis + * @type UpdateAnalysisGlobalInputBody + * @memberof AnalysesCoreApiv3UpdateAnalysisGlobal */ - updateAnalysisInputBody: UpdateAnalysisInputBody + updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody } export interface AnalysesCoreApiV3UpdateAnalysisTagsRequest { @@ -3943,6 +4477,42 @@ export class ObjectAnalysesCoreApi { return this.api.v3GetAnalysisFunctionsProgress(param.analysisId, options).toPromise(); } + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param param the request object + */ + public v3GetAnalysisGlobalWithHttpInfo(param: AnalysesCoreApiV3GetAnalysisGlobalRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetAnalysisGlobalWithHttpInfo(param.analysisId, param.vaddr, options).toPromise(); + } + + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param param the request object + */ + public v3GetAnalysisGlobal(param: AnalysesCoreApiV3GetAnalysisGlobalRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetAnalysisGlobal(param.analysisId, param.vaddr, options).toPromise(); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param param the request object + */ + public v3GetAnalysisGlobalHistoryWithHttpInfo(param: AnalysesCoreApiV3GetAnalysisGlobalHistoryRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetAnalysisGlobalHistoryWithHttpInfo(param.analysisId, param.vaddr, options).toPromise(); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param param the request object + */ + public v3GetAnalysisGlobalHistory(param: AnalysesCoreApiV3GetAnalysisGlobalHistoryRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetAnalysisGlobalHistory(param.analysisId, param.vaddr, options).toPromise(); + } + /** * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get the Analysis log @@ -4033,6 +4603,186 @@ export class ObjectAnalysesCoreApi { return this.api.v3GetBinaryExportOperation(param.taskId, options).toPromise(); } + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param param the request object + */ + public v3GetDynamicExecutionArtifactWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionArtifactRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionArtifactWithHttpInfo(param.analysisId, param.sha256, param.filename, options).toPromise(); + } + + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param param the request object + */ + public v3GetDynamicExecutionArtifact(param: AnalysesCoreApiV3GetDynamicExecutionArtifactRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionArtifact(param.analysisId, param.sha256, param.filename, options).toPromise(); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param param the request object + */ + public v3GetDynamicExecutionLogsDownloadWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionLogsDownloadRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionLogsDownloadWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param param the request object + */ + public v3GetDynamicExecutionLogsDownload(param: AnalysesCoreApiV3GetDynamicExecutionLogsDownloadRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionLogsDownload(param.analysisId, options).toPromise(); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param param the request object + */ + public v3GetDynamicExecutionMemdumpWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionMemdumpRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionMemdumpWithHttpInfo(param.analysisId, param.sha256, param.filename, options).toPromise(); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param param the request object + */ + public v3GetDynamicExecutionMemdump(param: AnalysesCoreApiV3GetDynamicExecutionMemdumpRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionMemdump(param.analysisId, param.sha256, param.filename, options).toPromise(); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param param the request object + */ + public v3GetDynamicExecutionOperationWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionOperationRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionOperationWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param param the request object + */ + public v3GetDynamicExecutionOperation(param: AnalysesCoreApiV3GetDynamicExecutionOperationRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionOperation(param.analysisId, options).toPromise(); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param param the request object + */ + public v3GetDynamicExecutionPcapWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionPcapRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionPcapWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param param the request object + */ + public v3GetDynamicExecutionPcap(param: AnalysesCoreApiV3GetDynamicExecutionPcapRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionPcap(param.analysisId, options).toPromise(); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param param the request object + */ + public v3GetDynamicExecutionReportWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionReportRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionReportWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param param the request object + */ + public v3GetDynamicExecutionReport(param: AnalysesCoreApiV3GetDynamicExecutionReportRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionReport(param.analysisId, options).toPromise(); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param param the request object + */ + public v3GetDynamicExecutionScreenshotWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionScreenshotRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionScreenshotWithHttpInfo(param.analysisId, param.index, options).toPromise(); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param param the request object + */ + public v3GetDynamicExecutionScreenshot(param: AnalysesCoreApiV3GetDynamicExecutionScreenshotRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionScreenshot(param.analysisId, param.index, options).toPromise(); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param param the request object + */ + public v3GetDynamicExecutionSummaryWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionSummaryRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionSummaryWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param param the request object + */ + public v3GetDynamicExecutionSummary(param: AnalysesCoreApiV3GetDynamicExecutionSummaryRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionSummary(param.analysisId, options).toPromise(); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param param the request object + */ + public v3GetDynamicExecutionSummaryOperationWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionSummaryOperationRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionSummaryOperationWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param param the request object + */ + public v3GetDynamicExecutionSummaryOperation(param: AnalysesCoreApiV3GetDynamicExecutionSummaryOperationRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionSummaryOperation(param.analysisId, options).toPromise(); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param param the request object + */ + public v3GetDynamicExecutionWiresharkKeysWithHttpInfo(param: AnalysesCoreApiV3GetDynamicExecutionWiresharkKeysRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3GetDynamicExecutionWiresharkKeysWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param param the request object + */ + public v3GetDynamicExecutionWiresharkKeys(param: AnalysesCoreApiV3GetDynamicExecutionWiresharkKeysRequest, options?: ConfigurationOptions): Promise { + return this.api.v3GetDynamicExecutionWiresharkKeys(param.analysisId, options).toPromise(); + } + /** * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request * List analyses @@ -4051,6 +4801,60 @@ export class ObjectAnalysesCoreApi { return this.api.v3ListAnalyses(param.searchTerm, param.analysisScope, param.status, param.modelName, param.usernames, param.sha256Hash, param.binaryId, param.platform, param.architecture, param.pageSize, param.nextPageToken, param.orderBy, param.order, options).toPromise(); } + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. + * @param param the request object + */ + public v3ListAnalysisGlobalsWithHttpInfo(param: AnalysesCoreApiV3ListAnalysisGlobalsRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListAnalysisGlobalsWithHttpInfo(param.analysisId, param.page, param.pageSize, param.search, param.named, param.dataTypeId, param.valueKind, param.referenced, param.orderBy, param.sortOrder, options).toPromise(); + } + + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. + * @param param the request object + */ + public v3ListAnalysisGlobals(param: AnalysesCoreApiV3ListAnalysisGlobalsRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListAnalysisGlobals(param.analysisId, param.page, param.pageSize, param.search, param.named, param.dataTypeId, param.valueKind, param.referenced, param.orderBy, param.sortOrder, options).toPromise(); + } + + /** + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. + * @param param the request object + */ + public v3ListAnalysisOperationsWithHttpInfo(param: AnalysesCoreApiV3ListAnalysisOperationsRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListAnalysisOperationsWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. + * @param param the request object + */ + public v3ListAnalysisOperations(param: AnalysesCoreApiV3ListAnalysisOperationsRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListAnalysisOperations(param.analysisId, options).toPromise(); + } + + /** + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. + * @param param the request object + */ + public v3ListDynamicExecutionScreenshotsWithHttpInfo(param: AnalysesCoreApiV3ListDynamicExecutionScreenshotsRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListDynamicExecutionScreenshotsWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. + * @param param the request object + */ + public v3ListDynamicExecutionScreenshots(param: AnalysesCoreApiV3ListDynamicExecutionScreenshotsRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListDynamicExecutionScreenshots(param.analysisId, options).toPromise(); + } + /** * Returns the curated example Analyses. * List example analyses @@ -4069,6 +4873,24 @@ export class ObjectAnalysesCoreApi { return this.api.v3ListExampleAnalyses( options).toPromise(); } + /** + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. + * @param param the request object + */ + public v3ListGlobalFunctionsWithHttpInfo(param: AnalysesCoreApiV3ListGlobalFunctionsRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListGlobalFunctionsWithHttpInfo(param.analysisId, param.vaddr, param.page, param.pageSize, options).toPromise(); + } + + /** + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. + * @param param the request object + */ + public v3ListGlobalFunctions(param: AnalysesCoreApiV3ListGlobalFunctionsRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListGlobalFunctions(param.analysisId, param.vaddr, param.page, param.pageSize, options).toPromise(); + } + /** * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Look up the most recent analysis for a binary. @@ -4105,6 +4927,60 @@ export class ObjectAnalysesCoreApi { return this.api.v3QueueBinaryExport(param.analysisId, options).toPromise(); } + /** + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param param the request object + */ + public v3RequeueAnalysisWithHttpInfo(param: AnalysesCoreApiV3RequeueAnalysisRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3RequeueAnalysisWithHttpInfo(param.analysisId, param.requeueAnalysisRequest, options).toPromise(); + } + + /** + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param param the request object + */ + public v3RequeueAnalysis(param: AnalysesCoreApiV3RequeueAnalysisRequest, options?: ConfigurationOptions): Promise { + return this.api.v3RequeueAnalysis(param.analysisId, param.requeueAnalysisRequest, options).toPromise(); + } + + /** + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param param the request object + */ + public v3RunDynamicExecutionWithHttpInfo(param: AnalysesCoreApiV3RunDynamicExecutionRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3RunDynamicExecutionWithHttpInfo(param.analysisId, param.runDynamicExecutionInputBody, options).toPromise(); + } + + /** + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param param the request object + */ + public v3RunDynamicExecution(param: AnalysesCoreApiV3RunDynamicExecutionRequest, options?: ConfigurationOptions): Promise { + return this.api.v3RunDynamicExecution(param.analysisId, param.runDynamicExecutionInputBody, options).toPromise(); + } + + /** + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. + * @param param the request object + */ + public v3RunDynamicExecutionSummaryWithHttpInfo(param: AnalysesCoreApiV3RunDynamicExecutionSummaryRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3RunDynamicExecutionSummaryWithHttpInfo(param.analysisId, options).toPromise(); + } + + /** + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. + * @param param the request object + */ + public v3RunDynamicExecutionSummary(param: AnalysesCoreApiV3RunDynamicExecutionSummaryRequest, options?: ConfigurationOptions): Promise { + return this.api.v3RunDynamicExecutionSummary(param.analysisId, options).toPromise(); + } + /** * Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search tags @@ -4141,6 +5017,24 @@ export class ObjectAnalysesCoreApi { return this.api.v3UpdateAnalysis(param.analysisId, param.updateAnalysisInputBody, options).toPromise(); } + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param param the request object + */ + public v3UpdateAnalysisGlobalWithHttpInfo(param: AnalysesCoreApiV3UpdateAnalysisGlobalRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3UpdateAnalysisGlobalWithHttpInfo(param.analysisId, param.vaddr, param.updateAnalysisGlobalInputBody, options).toPromise(); + } + + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param param the request object + */ + public v3UpdateAnalysisGlobal(param: AnalysesCoreApiV3UpdateAnalysisGlobalRequest, options?: ConfigurationOptions): Promise { + return this.api.v3UpdateAnalysisGlobal(param.analysisId, param.vaddr, param.updateAnalysisGlobalInputBody, options).toPromise(); + } + /** * Replaces the analysis\' binary\'s user tags (origin RevEng) with the given set. A tag recorded under any other origin, such as a heuristic detection sharing a name with a user tag, is left in place even when its name is absent from the request. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Replace an analysis\' tags. @@ -4543,6 +5437,16 @@ export interface AuthenticationUsersApiV3GetUserRequest { export interface AuthenticationUsersApiV3GetUserActivityRequest { } +export interface AuthenticationUsersApiV3ListUsersRequest { + /** + * Text the username contains (case-insensitive) + * Defaults to: undefined + * @type string + * @memberof AuthenticationUsersApiv3ListUsers + */ + searchTerm: string +} + export interface AuthenticationUsersApiV3SubmitUserFeedbackRequest { /** * @@ -4645,6 +5549,24 @@ export class ObjectAuthenticationUsersApi { return this.api.v3GetUserActivity( options).toPromise(); } + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param param the request object + */ + public v3ListUsersWithHttpInfo(param: AuthenticationUsersApiV3ListUsersRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListUsersWithHttpInfo(param.searchTerm, options).toPromise(); + } + + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param param the request object + */ + public v3ListUsers(param: AuthenticationUsersApiV3ListUsersRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListUsers(param.searchTerm, options).toPromise(); + } + /** * Submits feedback about the application to a Slack channel. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Submit feedback @@ -6871,6 +7793,13 @@ export interface FunctionsAIDecompilationApiCreateAiDecompilationRequest { * @memberof FunctionsAIDecompilationApicreateAiDecompilation */ typeSuggestions?: boolean + /** + * Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. + * Defaults to: true + * @type boolean + * @memberof FunctionsAIDecompilationApicreateAiDecompilation + */ + naming?: boolean /** * Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. * Defaults to: true @@ -7173,25 +8102,25 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param param the request object */ public createAiDecompilationWithHttpInfo(param: FunctionsAIDecompilationApiCreateAiDecompilationRequest, options?: ConfigurationOptions): Promise> { - return this.api.createAiDecompilationWithHttpInfo(param.functionId, param.temperature, param.typeSuggestions, param.applyTypes, options).toPromise(); + return this.api.createAiDecompilationWithHttpInfo(param.functionId, param.temperature, param.typeSuggestions, param.naming, param.applyTypes, options).toPromise(); } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param param the request object */ public createAiDecompilation(param: FunctionsAIDecompilationApiCreateAiDecompilationRequest, options?: ConfigurationOptions): Promise { - return this.api.createAiDecompilation(param.functionId, param.temperature, param.typeSuggestions, param.applyTypes, options).toPromise(); + return this.api.createAiDecompilation(param.functionId, param.temperature, param.typeSuggestions, param.naming, param.applyTypes, options).toPromise(); } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param param the request object */ @@ -7200,7 +8129,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param param the request object */ @@ -7333,7 +8262,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param param the request object */ @@ -7342,7 +8271,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param param the request object */ @@ -7351,7 +8280,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param param the request object */ @@ -7360,7 +8289,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param param the request object */ @@ -7369,7 +8298,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param param the request object */ @@ -7378,7 +8307,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param param the request object */ @@ -7529,7 +8458,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param param the request object */ @@ -7538,7 +8467,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param param the request object */ @@ -7547,7 +8476,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param param the request object */ @@ -7556,7 +8485,7 @@ export class ObjectFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param param the request object */ @@ -8008,6 +8937,17 @@ export interface FunctionsCoreApiV3GetAnalysisFuncMapsRequest { analysisId: number } +export interface FunctionsCoreApiV3ListFunctionGlobalsRequest { + /** + * Function ID + * Minimum: 1 + * Defaults to: undefined + * @type number + * @memberof FunctionsCoreApiv3ListFunctionGlobals + */ + functionId: number +} + export interface FunctionsCoreApiV3SearchFunctionsRequest { /** * Partial or full function name to search for @@ -8491,6 +9431,24 @@ export class ObjectFunctionsCoreApi { return this.api.v3GetAnalysisFuncMaps(param.analysisId, options).toPromise(); } + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param param the request object + */ + public v3ListFunctionGlobalsWithHttpInfo(param: FunctionsCoreApiV3ListFunctionGlobalsRequest, options?: ConfigurationOptions): Promise> { + return this.api.v3ListFunctionGlobalsWithHttpInfo(param.functionId, options).toPromise(); + } + + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param param the request object + */ + public v3ListFunctionGlobals(param: FunctionsCoreApiV3ListFunctionGlobalsRequest, options?: ConfigurationOptions): Promise { + return this.api.v3ListFunctionGlobals(param.functionId, options).toPromise(); + } + /** * Searches for functions visible to the caller. At least one of partial_name or model_name must be provided. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search functions @@ -8648,7 +9606,7 @@ export class ObjectFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param param the request object */ @@ -8657,7 +9615,7 @@ export class ObjectFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param param the request object */ @@ -8702,7 +9660,7 @@ export class ObjectFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param param the request object */ @@ -8711,7 +9669,7 @@ export class ObjectFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param param the request object */ diff --git a/types/ObservableAPI.ts b/types/ObservableAPI.ts index b21c04b..c91a65d 100644 --- a/types/ObservableAPI.ts +++ b/types/ObservableAPI.ts @@ -3,6 +3,7 @@ import { Configuration, ConfigurationOptions, mergeConfiguration } from '../conf import type { Middleware } from '../middleware'; import { Observable, of, from } from '../rxjsStub'; import {mergeMap, map} from '../rxjsStub'; +import { APICombinationEvidence } from '../models/APICombinationEvidence'; import { APIError } from '../models/APIError'; import { AcceptTypeSuggestionsInputBody } from '../models/AcceptTypeSuggestionsInputBody'; import { AcceptTypeSuggestionsOutputBody } from '../models/AcceptTypeSuggestionsOutputBody'; @@ -42,6 +43,8 @@ import { AnalysisFunctionsList } from '../models/AnalysisFunctionsList'; import { AnalysisLogEntry } from '../models/AnalysisLogEntry'; import { AnalysisLogMessage } from '../models/AnalysisLogMessage'; import { AnalysisLogs } from '../models/AnalysisLogs'; +import { AnalysisOperationBody } from '../models/AnalysisOperationBody'; +import { AnalysisOperationsOutputBody } from '../models/AnalysisOperationsOutputBody'; import { AnalysisRecord } from '../models/AnalysisRecord'; import { AnalysisRecordBody } from '../models/AnalysisRecordBody'; import { AnalysisReport } from '../models/AnalysisReport'; @@ -275,14 +278,17 @@ import { DecompilerSummary } from '../models/DecompilerSummary'; import { DecompilerSummaryEvidence } from '../models/DecompilerSummaryEvidence'; import { DieMatch } from '../models/DieMatch'; import { DisassemblyOutputBody } from '../models/DisassemblyOutputBody'; +import { DisassemblySummaryEvidence } from '../models/DisassemblySummaryEvidence'; import { Display } from '../models/Display'; import { DnsQuery } from '../models/DnsQuery'; import { DrakvufFileMetadata } from '../models/DrakvufFileMetadata'; import { DynamicExecutionMetadata } from '../models/DynamicExecutionMetadata'; +import { DynamicExecutionResult } from '../models/DynamicExecutionResult'; import { DynamicExecutionStatus } from '../models/DynamicExecutionStatus'; import { DynamicExecutionStatusResponse } from '../models/DynamicExecutionStatusResponse'; import { DynamicExecutionSummary } from '../models/DynamicExecutionSummary'; import { DynamicExecutionSummaryMetadata } from '../models/DynamicExecutionSummaryMetadata'; +import { DynamicExecutionSummaryResult } from '../models/DynamicExecutionSummaryResult'; import { ELFImportModel } from '../models/ELFImportModel'; import { ELFModel } from '../models/ELFModel'; import { ELFRelocation } from '../models/ELFRelocation'; @@ -370,6 +376,7 @@ import { FunctionCallEdges } from '../models/FunctionCallEdges'; import { FunctionCapabilityResponse } from '../models/FunctionCapabilityResponse'; import { FunctionDataType } from '../models/FunctionDataType'; import { FunctionDetailsOutputBody } from '../models/FunctionDetailsOutputBody'; +import { FunctionGlobalVariable } from '../models/FunctionGlobalVariable'; import { FunctionListItem } from '../models/FunctionListItem'; import { FunctionLocalVariableResponse } from '../models/FunctionLocalVariableResponse'; import { FunctionMapping } from '../models/FunctionMapping'; @@ -391,6 +398,7 @@ import { FunctionString } from '../models/FunctionString'; import { FunctionStringItem } from '../models/FunctionStringItem'; import { FunctionStringsResponse } from '../models/FunctionStringsResponse'; import { FunctionTypeDefinition } from '../models/FunctionTypeDefinition'; +import { FunctionUsage } from '../models/FunctionUsage'; import { FunctionsDetailResponse } from '../models/FunctionsDetailResponse'; import { FunctionsListRename } from '../models/FunctionsListRename'; import { FunctionsProgressOutputBody } from '../models/FunctionsProgressOutputBody'; @@ -408,6 +416,7 @@ import { GetDataTypeHistoryBody } from '../models/GetDataTypeHistoryBody'; import { GetDieInfoOutputBody } from '../models/GetDieInfoOutputBody'; import { GetFunctionMapsOutputBody } from '../models/GetFunctionMapsOutputBody'; import { GetFunctionSignatureHistoryBody } from '../models/GetFunctionSignatureHistoryBody'; +import { GetGlobalHistoryOutputBody } from '../models/GetGlobalHistoryOutputBody'; import { GetMatchesOutputBody } from '../models/GetMatchesOutputBody'; import { GetMatchesStatusOutputBody } from '../models/GetMatchesStatusOutputBody'; import { GetModelsOutputBody } from '../models/GetModelsOutputBody'; @@ -419,6 +428,8 @@ import { GetRelatedStatusOutputBody } from '../models/GetRelatedStatusOutputBody import { GetSubscriptionOutputBody } from '../models/GetSubscriptionOutputBody'; import { GetTokensResponse } from '../models/GetTokensResponse'; import { GetUserActivityOutputBody } from '../models/GetUserActivityOutputBody'; +import { GlobalHistoryEntry } from '../models/GlobalHistoryEntry'; +import { GlobalVariable } from '../models/GlobalVariable'; import { HardcodedSecretEvidence } from '../models/HardcodedSecretEvidence'; import { HistoryActor } from '../models/HistoryActor'; import { HistoryEntry } from '../models/HistoryEntry'; @@ -428,6 +439,7 @@ import { ISA } from '../models/ISA'; import { IconModel } from '../models/IconModel'; import { ImportDynamicExecutionFileOutputBody } from '../models/ImportDynamicExecutionFileOutputBody'; import { ImportModel } from '../models/ImportModel'; +import { ImportedAPICallEvidence } from '../models/ImportedAPICallEvidence'; import { ImportedApi } from '../models/ImportedApi'; import { ImportedApiCall } from '../models/ImportedApiCall'; import { ImportedApiCallEvidence } from '../models/ImportedApiCallEvidence'; @@ -446,15 +458,20 @@ import { LineAttributionsData } from '../models/LineAttributionsData'; import { ListAnalysesOutputBody } from '../models/ListAnalysesOutputBody'; import { ListAnalysisDataTypesOutputBody } from '../models/ListAnalysisDataTypesOutputBody'; import { ListAnalysisFunctionsOutputBody } from '../models/ListAnalysisFunctionsOutputBody'; +import { ListAnalysisGlobalsOutputBody } from '../models/ListAnalysisGlobalsOutputBody'; import { ListAnalysisStringsOutputBody } from '../models/ListAnalysisStringsOutputBody'; import { ListArchiveContentsOutputBody } from '../models/ListArchiveContentsOutputBody'; import { ListCollectionResults } from '../models/ListCollectionResults'; import { ListCollectionsOutputBody } from '../models/ListCollectionsOutputBody'; import { ListDataTypeFunctionsBody } from '../models/ListDataTypeFunctionsBody'; import { ListExampleAnalysesOutputBody } from '../models/ListExampleAnalysesOutputBody'; +import { ListFunctionGlobalsOutputBody } from '../models/ListFunctionGlobalsOutputBody'; import { ListFunctionSignaturesOutputBody } from '../models/ListFunctionSignaturesOutputBody'; import { ListFunctionStringsOutputBody } from '../models/ListFunctionStringsOutputBody'; +import { ListGlobalFunctionsOutputBody } from '../models/ListGlobalFunctionsOutputBody'; import { ListImportedFunctionsOutputBody } from '../models/ListImportedFunctionsOutputBody'; +import { ListOperationPrerequisitesOutputBody } from '../models/ListOperationPrerequisitesOutputBody'; +import { ListPublicUsersOutputBody } from '../models/ListPublicUsersOutputBody'; import { ListSecretStoreOutputBody } from '../models/ListSecretStoreOutputBody'; import { ListTeamsOutputBody } from '../models/ListTeamsOutputBody'; import { ListUsersOutputBody } from '../models/ListUsersOutputBody'; @@ -507,6 +524,8 @@ import { OperationMetadataThreatReportResult } from '../models/OperationMetadata import { OperationMetadataTriageResult } from '../models/OperationMetadataTriageResult'; import { OperationNetworkingExplainMetadataNetworkingExplainResult } from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; import { OperationNetworkingScanMetadataNetworkingScanResult } from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +import { OperationPrerequisitesBody } from '../models/OperationPrerequisitesBody'; +import { OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult } from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; import { OperationSecurityScanMetadataSecurityScanResult } from '../models/OperationSecurityScanMetadataSecurityScanResult'; import { OperationVirusTotalScanMetadataVirusTotalScanResult } from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult'; import { OperationWorkflowProgressResultBody } from '../models/OperationWorkflowProgressResultBody'; @@ -543,6 +562,7 @@ import { ProductSummary } from '../models/ProductSummary'; import { ProgressMessage } from '../models/ProgressMessage'; import { ProseEvent } from '../models/ProseEvent'; import { ProtocolsAgentResponse } from '../models/ProtocolsAgentResponse'; +import { PublicUserBody } from '../models/PublicUserBody'; import { PutAnalysisStringsRequest } from '../models/PutAnalysisStringsRequest'; import { QueuedWorkflowTaskResponse } from '../models/QueuedWorkflowTaskResponse'; import { RatingOutputBody } from '../models/RatingOutputBody'; @@ -562,16 +582,31 @@ import { RemoveCollectionBinariesInputBody } from '../models/RemoveCollectionBin import { RenameAppliedEvent } from '../models/RenameAppliedEvent'; import { RenameInputBody } from '../models/RenameInputBody'; import { RenameOutputBody } from '../models/RenameOutputBody'; +import { RenameUnnamedFunctionsMetadata } from '../models/RenameUnnamedFunctionsMetadata'; import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; import { RenderedToken } from '../models/RenderedToken'; import { ReportAnalysisBody } from '../models/ReportAnalysisBody'; import { ReportAnalysisResponse } from '../models/ReportAnalysisResponse'; +import { ReportBytesConstant } from '../models/ReportBytesConstant'; +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportCodeSummary } from '../models/ReportCodeSummary'; import { ReportEvent } from '../models/ReportEvent'; +import { ReportFinding } from '../models/ReportFinding'; +import { ReportFindingEvidenceInner } from '../models/ReportFindingEvidenceInner'; +import { ReportFunctionSimilarity } from '../models/ReportFunctionSimilarity'; +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { ReportImportedAPICall } from '../models/ReportImportedAPICall'; import { ReportInfo } from '../models/ReportInfo'; +import { ReportMeta } from '../models/ReportMeta'; +import { ReportModelInterpretation } from '../models/ReportModelInterpretation'; import { ReportOptions } from '../models/ReportOptions'; import { ReportReachabilityStatus } from '../models/ReportReachabilityStatus'; +import { ReportReferencedConstant } from '../models/ReportReferencedConstant'; import { ReportResult } from '../models/ReportResult'; +import { ReportStringMatch } from '../models/ReportStringMatch'; +import { ReportSubject } from '../models/ReportSubject'; import { RequestedConfigBody } from '../models/RequestedConfigBody'; +import { RequeueAnalysisRequest } from '../models/RequeueAnalysisRequest'; import { ResendVerificationEmailInputBody } from '../models/ResendVerificationEmailInputBody'; import { ResolvedEntity } from '../models/ResolvedEntity'; import { ResultBody } from '../models/ResultBody'; @@ -705,6 +740,7 @@ import { UnionDataType } from '../models/UnionDataType'; import { UnionDefinition } from '../models/UnionDefinition'; import { UnknownDataType } from '../models/UnknownDataType'; import { UpdateAnalysisDataTypesInputBody } from '../models/UpdateAnalysisDataTypesInputBody'; +import { UpdateAnalysisGlobalInputBody } from '../models/UpdateAnalysisGlobalInputBody'; import { UpdateAnalysisInputBody } from '../models/UpdateAnalysisInputBody'; import { UpdateArrayDataType } from '../models/UpdateArrayDataType'; import { UpdateBaseDataType } from '../models/UpdateBaseDataType'; @@ -1428,7 +1464,7 @@ export class ObservableAgentApi { * @param analysisId Analysis ID * @param agent Which agent\'s output the feedback is about */ - public v3GetBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', _options?: ConfigurationOptions): Observable> { + public v3GetBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); const requestContextPromise = this.requestFactory.v3GetBinaryAgentFeedback(analysisId, agent, _config); @@ -1454,7 +1490,7 @@ export class ObservableAgentApi { * @param analysisId Analysis ID * @param agent Which agent\'s output the feedback is about */ - public v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', _options?: ConfigurationOptions): Observable { + public v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', _options?: ConfigurationOptions): Observable { return this.v3GetBinaryAgentFeedbackWithHttpInfo(analysisId, agent, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } @@ -1560,6 +1596,40 @@ export class ObservableAgentApi { return this.v3GetCryptoScanOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param analysisId Analysis ID + */ + public v3GetCryptographyOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetCryptographyOperation(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetCryptographyOperationWithHttpInfo(rsp))); + })); + } + + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param analysisId Analysis ID + */ + public v3GetCryptographyOperation(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetCryptographyOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Returns the current state of the execution-explain run for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get an execution-explain operation. @@ -1765,7 +1835,7 @@ export class ObservableAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param analysisId Analysis ID */ @@ -1790,7 +1860,7 @@ export class ObservableAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param analysisId Analysis ID */ @@ -1832,6 +1902,40 @@ export class ObservableAgentApi { return this.v3GetRemediationOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param analysisId Analysis ID + */ + public v3GetRenameUnnamedFunctionsOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetRenameUnnamedFunctionsOperation(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetRenameUnnamedFunctionsOperationWithHttpInfo(rsp))); + })); + } + + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param analysisId Analysis ID + */ + public v3GetRenameUnnamedFunctionsOperation(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetRenameUnnamedFunctionsOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Returns the summary of the most recent completed rename-unnamed-functions run. Returns 409 while a run is still in progress and 404 when the agent has never produced a result for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get rename-unnamed-functions agent result. @@ -1935,7 +2039,7 @@ export class ObservableAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param analysisId Analysis ID */ @@ -1960,7 +2064,7 @@ export class ObservableAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param analysisId Analysis ID */ @@ -2037,7 +2141,39 @@ export class ObservableAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + */ + public v3ListOperationPrerequisitesWithHttpInfo(_options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3ListOperationPrerequisites(_config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListOperationPrerequisitesWithHttpInfo(rsp))); + })); + } + + /** + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + */ + public v3ListOperationPrerequisites(_options?: ConfigurationOptions): Observable { + return this.v3ListOperationPrerequisitesWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param analysisId Analysis ID */ @@ -2062,7 +2198,7 @@ export class ObservableAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param analysisId Analysis ID */ @@ -2105,7 +2241,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param analysisId Analysis ID * @param triggerCryptoScanInputBody @@ -2131,7 +2267,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param analysisId Analysis ID * @param triggerCryptoScanInputBody @@ -2140,6 +2276,40 @@ export class ObservableAgentApi { return this.v3RunCryptoScanWithHttpInfo(analysisId, triggerCryptoScanInputBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param analysisId Analysis ID + */ + public v3RunCryptographyWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3RunCryptography(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3RunCryptographyWithHttpInfo(rsp))); + })); + } + + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param analysisId Analysis ID + */ + public v3RunCryptography(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3RunCryptographyWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Starts an agent that explains the code execution the function performs, and returns the operation to poll for its outcome. Requires credits. Returns 409 while a run is already in progress for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Run the execution-explain agent. @@ -2177,7 +2347,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param analysisId Analysis ID * @param triggerExecutionScanInputBody @@ -2203,7 +2373,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param analysisId Analysis ID * @param triggerExecutionScanInputBody @@ -2249,7 +2419,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param analysisId Analysis ID * @param triggerFilesystemScanInputBody @@ -2275,7 +2445,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param analysisId Analysis ID * @param triggerFilesystemScanInputBody @@ -2321,7 +2491,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param analysisId Analysis ID * @param triggerNetworkingScanInputBody @@ -2347,7 +2517,7 @@ export class ObservableAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param analysisId Analysis ID * @param triggerNetworkingScanInputBody @@ -2357,7 +2527,7 @@ export class ObservableAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param analysisId Analysis ID */ @@ -2382,7 +2552,7 @@ export class ObservableAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param analysisId Analysis ID */ @@ -2391,7 +2561,7 @@ export class ObservableAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param analysisId Analysis ID */ @@ -2416,7 +2586,7 @@ export class ObservableAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param analysisId Analysis ID */ @@ -2425,7 +2595,7 @@ export class ObservableAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param analysisId Analysis ID */ @@ -2450,7 +2620,7 @@ export class ObservableAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param analysisId Analysis ID */ @@ -2459,7 +2629,7 @@ export class ObservableAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param analysisId Analysis ID */ @@ -2484,7 +2654,7 @@ export class ObservableAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param analysisId Analysis ID */ @@ -2529,7 +2699,7 @@ export class ObservableAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param analysisId Analysis ID */ @@ -2554,7 +2724,7 @@ export class ObservableAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param analysisId Analysis ID */ @@ -2605,7 +2775,7 @@ export class ObservableAgentApi { * @param agent Which agent\'s output the feedback is about * @param submitFeedbackInputBody */ - public v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: ConfigurationOptions): Observable> { + public v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); const requestContextPromise = this.requestFactory.v3UpsertBinaryAgentFeedback(analysisId, agent, submitFeedbackInputBody, _config); @@ -2632,7 +2802,7 @@ export class ObservableAgentApi { * @param agent Which agent\'s output the feedback is about * @param submitFeedbackInputBody */ - public v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: ConfigurationOptions): Observable { + public v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: ConfigurationOptions): Observable { return this.v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId, agent, submitFeedbackInputBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } @@ -3838,9 +4008,9 @@ export class ObservableAnalysesCoreApi { * Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Download a binary export * @param analysisId Analysis ID - * @param [taskId] Task ID returned by queueing the export + * @param taskId Task ID returned by queueing the export */ - public v3DownloadBinaryExportWithHttpInfo(analysisId: number, taskId?: string, _options?: ConfigurationOptions): Observable> { + public v3DownloadBinaryExportWithHttpInfo(analysisId: number, taskId: string, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); const requestContextPromise = this.requestFactory.v3DownloadBinaryExport(analysisId, taskId, _config); @@ -3864,9 +4034,9 @@ export class ObservableAnalysesCoreApi { * Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Download a binary export * @param analysisId Analysis ID - * @param [taskId] Task ID returned by queueing the export + * @param taskId Task ID returned by queueing the export */ - public v3DownloadBinaryExport(analysisId: number, taskId?: string, _options?: ConfigurationOptions): Observable { + public v3DownloadBinaryExport(analysisId: number, taskId: string, _options?: ConfigurationOptions): Observable { return this.v3DownloadBinaryExportWithHttpInfo(analysisId, taskId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } @@ -3939,14 +4109,721 @@ export class ObservableAnalysesCoreApi { } /** - * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get function embedding progress for an analysis. + * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get function embedding progress for an analysis. + * @param analysisId Analysis ID + */ + public v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisFunctionsProgress(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisFunctionsProgressWithHttpInfo(rsp))); + })); + } + + /** + * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get function embedding progress for an analysis. + * @param analysisId Analysis ID + */ + public v3GetAnalysisFunctionsProgress(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalWithHttpInfo(analysisId: number, vaddr: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisGlobal(analysisId, vaddr, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisGlobalWithHttpInfo(rsp))); + })); + } + + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobal(analysisId: number, vaddr: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisGlobalWithHttpInfo(analysisId, vaddr, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalHistoryWithHttpInfo(analysisId: number, vaddr: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisGlobalHistory(analysisId, vaddr, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisGlobalHistoryWithHttpInfo(rsp))); + })); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalHistory(analysisId: number, vaddr: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisGlobalHistoryWithHttpInfo(analysisId, vaddr, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get the Analysis log + * @param analysisId Analysis ID + */ + public v3GetAnalysisLogsWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisLogs(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisLogsWithHttpInfo(rsp))); + })); + } + + /** + * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get the Analysis log + * @param analysisId Analysis ID + */ + public v3GetAnalysisLogs(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisLogsWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get an Analysis-creation operation + * @param analysisId Analysis ID + */ + public v3GetAnalysisOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisOperation(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisOperationWithHttpInfo(rsp))); + })); + } + + /** + * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get an Analysis-creation operation + * @param analysisId Analysis ID + */ + public v3GetAnalysisOperation(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List strings for an analysis. + * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by string value (case-insensitive substring match). + * @param [searchOperator] How the search term matches string values. + * @param [functionSearch] Filter by function name (case-insensitive substring match). + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. + */ + public v3GetAnalysisStringsWithHttpInfo(analysisId: number, page?: number, pageSize?: number, search?: string, searchOperator?: 'CONTAINS' | 'STARTS_WITH', functionSearch?: string, orderBy?: 'value' | 'length', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisStrings(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisStringsWithHttpInfo(rsp))); + })); + } + + /** + * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List strings for an analysis. + * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by string value (case-insensitive substring match). + * @param [searchOperator] How the search term matches string values. + * @param [functionSearch] Filter by function name (case-insensitive substring match). + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. + */ + public v3GetAnalysisStrings(analysisId: number, page?: number, pageSize?: number, search?: string, searchOperator?: 'CONTAINS' | 'STARTS_WITH', functionSearch?: string, orderBy?: 'value' | 'length', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisStringsWithHttpInfo(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get the string-extraction status for an analysis. + * @param analysisId Analysis ID + */ + public v3GetAnalysisStringsStatusWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetAnalysisStringsStatus(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisStringsStatusWithHttpInfo(rsp))); + })); + } + + /** + * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get the string-extraction status for an analysis. + * @param analysisId Analysis ID + */ + public v3GetAnalysisStringsStatus(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetAnalysisStringsStatusWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a binary export operation + * @param taskId Task ID returned by queueing the export + */ + public v3GetBinaryExportOperationWithHttpInfo(taskId: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetBinaryExportOperation(taskId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetBinaryExportOperationWithHttpInfo(rsp))); + })); + } + + /** + * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a binary export operation + * @param taskId Task ID returned by queueing the export + */ + public v3GetBinaryExportOperation(taskId: string, _options?: ConfigurationOptions): Observable { + return this.v3GetBinaryExportOperationWithHttpInfo(taskId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionArtifactWithHttpInfo(analysisId: number, sha256: string, filename?: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionArtifact(analysisId, sha256, filename, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionArtifactWithHttpInfo(rsp))); + })); + } + + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionArtifact(analysisId: number, sha256: string, filename?: string, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionArtifactWithHttpInfo(analysisId, sha256, filename, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionLogsDownloadWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionLogsDownload(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionLogsDownloadWithHttpInfo(rsp))); + })); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionLogsDownload(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionLogsDownloadWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionMemdumpWithHttpInfo(analysisId: number, sha256: string, filename?: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionMemdump(analysisId, sha256, filename, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionMemdumpWithHttpInfo(rsp))); + })); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionMemdump(analysisId: number, sha256: string, filename?: string, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionMemdumpWithHttpInfo(analysisId, sha256, filename, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionOperation(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionOperationWithHttpInfo(rsp))); + })); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionOperation(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionPcapWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionPcap(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionPcapWithHttpInfo(rsp))); + })); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionPcap(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionPcapWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionReportWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionReport(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionReportWithHttpInfo(rsp))); + })); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionReport(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionReportWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param analysisId Analysis ID + * @param index Index of the screenshot, as listed by the screenshots endpoint + */ + public v3GetDynamicExecutionScreenshotWithHttpInfo(analysisId: number, index: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionScreenshot(analysisId, index, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionScreenshotWithHttpInfo(rsp))); + })); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param analysisId Analysis ID + * @param index Index of the screenshot, as listed by the screenshots endpoint + */ + public v3GetDynamicExecutionScreenshot(analysisId: number, index: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionScreenshotWithHttpInfo(analysisId, index, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionSummary(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionSummaryWithHttpInfo(rsp))); + })); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummary(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionSummaryWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionSummaryOperation(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionSummaryOperationWithHttpInfo(rsp))); + })); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryOperation(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionSummaryOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionWiresharkKeysWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3GetDynamicExecutionWiresharkKeys(analysisId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetDynamicExecutionWiresharkKeysWithHttpInfo(rsp))); + })); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionWiresharkKeys(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3GetDynamicExecutionWiresharkKeysWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List analyses + * @param [searchTerm] + * @param [analysisScope] Leave empty to search your own, your team\'s and all public analyses + * @param [status] + * @param [modelName] + * @param [usernames] + * @param [sha256Hash] + * @param [binaryId] Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort + * @param [platform] Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter + * @param [architecture] Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter + * @param [pageSize] + * @param [nextPageToken] Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). + * @param [orderBy] + * @param [order] + */ + public v3ListAnalysesWithHttpInfo(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListAnalysesWithHttpInfo(rsp))); + })); + } + + /** + * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List analyses + * @param [searchTerm] + * @param [analysisScope] Leave empty to search your own, your team\'s and all public analyses + * @param [status] + * @param [modelName] + * @param [usernames] + * @param [sha256Hash] + * @param [binaryId] Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort + * @param [platform] Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter + * @param [architecture] Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter + * @param [pageSize] + * @param [nextPageToken] Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). + * @param [orderBy] + * @param [order] + */ + public v3ListAnalyses(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable { + return this.v3ListAnalysesWithHttpInfo(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by name (case-insensitive substring match). + * @param [named] Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * @param [dataTypeId] Keep only globals carrying this analysis data type. + * @param [valueKind] Keep only globals whose decoded value is of these kinds. + * @param [referenced] Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. */ - public v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + public v3ListAnalysisGlobalsWithHttpInfo(analysisId: number, page?: number, pageSize?: number, search?: string, named?: 'true' | 'false', dataTypeId?: number, valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>, referenced?: 'true' | 'false', orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetAnalysisFunctionsProgress(analysisId, _config); + const requestContextPromise = this.requestFactory.v3ListAnalysisGlobals(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -3959,28 +4836,37 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisFunctionsProgressWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListAnalysisGlobalsWithHttpInfo(rsp))); })); } /** - * Returns how many functions the analysis has and how many carry an embedding, with the percentage complete. Embeddings are counted from the unified store, so an analysis whose model predates the current multi-arch one reports zero. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get function embedding progress for an analysis. + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by name (case-insensitive substring match). + * @param [named] Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * @param [dataTypeId] Keep only globals carrying this analysis data type. + * @param [valueKind] Keep only globals whose decoded value is of these kinds. + * @param [referenced] Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. */ - public v3GetAnalysisFunctionsProgress(analysisId: number, _options?: ConfigurationOptions): Observable { - return this.v3GetAnalysisFunctionsProgressWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3ListAnalysisGlobals(analysisId: number, page?: number, pageSize?: number, search?: string, named?: 'true' | 'false', dataTypeId?: number, valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>, referenced?: 'true' | 'false', orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable { + return this.v3ListAnalysisGlobalsWithHttpInfo(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get the Analysis log + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. * @param analysisId Analysis ID */ - public v3GetAnalysisLogsWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + public v3ListAnalysisOperationsWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetAnalysisLogs(analysisId, _config); + const requestContextPromise = this.requestFactory.v3ListAnalysisOperations(analysisId, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -3993,28 +4879,28 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisLogsWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListAnalysisOperationsWithHttpInfo(rsp))); })); } /** - * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get the Analysis log + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. * @param analysisId Analysis ID */ - public v3GetAnalysisLogs(analysisId: number, _options?: ConfigurationOptions): Observable { - return this.v3GetAnalysisLogsWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3ListAnalysisOperations(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3ListAnalysisOperationsWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get an Analysis-creation operation + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. * @param analysisId Analysis ID */ - public v3GetAnalysisOperationWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + public v3ListDynamicExecutionScreenshotsWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetAnalysisOperation(analysisId, _config); + const requestContextPromise = this.requestFactory.v3ListDynamicExecutionScreenshots(analysisId, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4027,35 +4913,27 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisOperationWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListDynamicExecutionScreenshotsWithHttpInfo(rsp))); })); } /** - * Polls the status of an Analysis-creation operation. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get an Analysis-creation operation + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. * @param analysisId Analysis ID */ - public v3GetAnalysisOperation(analysisId: number, _options?: ConfigurationOptions): Observable { - return this.v3GetAnalysisOperationWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3ListDynamicExecutionScreenshots(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3ListDynamicExecutionScreenshotsWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * List strings for an analysis. - * @param analysisId Analysis ID - * @param [page] Page number (1-indexed). - * @param [pageSize] Number of results per page. - * @param [search] Filter by string value (case-insensitive substring match). - * @param [searchOperator] How the search term matches string values. - * @param [functionSearch] Filter by function name (case-insensitive substring match). - * @param [orderBy] Field to order results by. - * @param [sortOrder] Sort direction. + * Returns the curated example Analyses. + * List example analyses */ - public v3GetAnalysisStringsWithHttpInfo(analysisId: number, page?: number, pageSize?: number, search?: string, searchOperator?: 'CONTAINS' | 'STARTS_WITH', functionSearch?: string, orderBy?: 'value' | 'length', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable> { + public v3ListExampleAnalysesWithHttpInfo(_options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetAnalysisStrings(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _config); + const requestContextPromise = this.requestFactory.v3ListExampleAnalyses(_config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4068,35 +4946,30 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisStringsWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListExampleAnalysesWithHttpInfo(rsp))); })); } /** - * Returns the strings discovered in an analysis, combining function-level and analysis-level strings. Supports value/function-name search, sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * List strings for an analysis. - * @param analysisId Analysis ID - * @param [page] Page number (1-indexed). - * @param [pageSize] Number of results per page. - * @param [search] Filter by string value (case-insensitive substring match). - * @param [searchOperator] How the search term matches string values. - * @param [functionSearch] Filter by function name (case-insensitive substring match). - * @param [orderBy] Field to order results by. - * @param [sortOrder] Sort direction. + * Returns the curated example Analyses. + * List example analyses */ - public v3GetAnalysisStrings(analysisId: number, page?: number, pageSize?: number, search?: string, searchOperator?: 'CONTAINS' | 'STARTS_WITH', functionSearch?: string, orderBy?: 'value' | 'length', sortOrder?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable { - return this.v3GetAnalysisStringsWithHttpInfo(analysisId, page, pageSize, search, searchOperator, functionSearch, orderBy, sortOrder, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3ListExampleAnalyses(_options?: ConfigurationOptions): Observable { + return this.v3ListExampleAnalysesWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get the string-extraction status for an analysis. + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. */ - public v3GetAnalysisStringsStatusWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + public v3ListGlobalFunctionsWithHttpInfo(analysisId: number, vaddr: number, page?: number, pageSize?: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetAnalysisStringsStatus(analysisId, _config); + const requestContextPromise = this.requestFactory.v3ListGlobalFunctions(analysisId, vaddr, page, pageSize, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4109,28 +4982,31 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetAnalysisStringsStatusWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListGlobalFunctionsWithHttpInfo(rsp))); })); } /** - * Returns the status of the string-extraction task for the binary backing the analysis. One of UNINITIALISED, PENDING, RUNNING, COMPLETED, FAILED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get the string-extraction status for an analysis. + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. */ - public v3GetAnalysisStringsStatus(analysisId: number, _options?: ConfigurationOptions): Observable { - return this.v3GetAnalysisStringsStatusWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3ListGlobalFunctions(analysisId: number, vaddr: number, page?: number, pageSize?: number, _options?: ConfigurationOptions): Observable { + return this.v3ListGlobalFunctionsWithHttpInfo(analysisId, vaddr, page, pageSize, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get a binary export operation - * @param taskId Task ID returned by queueing the export + * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Look up the most recent analysis for a binary. + * @param binaryId Binary ID */ - public v3GetBinaryExportOperationWithHttpInfo(taskId: string, _options?: ConfigurationOptions): Observable> { + public v3LookupAnalysisByBinaryIdWithHttpInfo(binaryId: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3GetBinaryExportOperation(taskId, _config); + const requestContextPromise = this.requestFactory.v3LookupAnalysisByBinaryId(binaryId, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4143,40 +5019,28 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3GetBinaryExportOperationWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3LookupAnalysisByBinaryIdWithHttpInfo(rsp))); })); } /** - * Returns the current state of the export started for this task ID. `done` is the only readiness signal: while false, poll again; once true, exactly one of `response` or `error` is set. A task ID the platform no longer recognises -- whether it never existed or its history has expired -- resolves to a failed operation, since either way the caller must export again. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Get a binary export operation - * @param taskId Task ID returned by queueing the export + * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Look up the most recent analysis for a binary. + * @param binaryId Binary ID */ - public v3GetBinaryExportOperation(taskId: string, _options?: ConfigurationOptions): Observable { - return this.v3GetBinaryExportOperationWithHttpInfo(taskId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3LookupAnalysisByBinaryId(binaryId: number, _options?: ConfigurationOptions): Observable { + return this.v3LookupAnalysisByBinaryIdWithHttpInfo(binaryId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - * List analyses - * @param [searchTerm] - * @param [analysisScope] Leave empty to search your own, your team\'s and all public analyses - * @param [status] - * @param [modelName] - * @param [usernames] - * @param [sha256Hash] - * @param [binaryId] Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort - * @param [platform] Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter - * @param [architecture] Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter - * @param [pageSize] - * @param [nextPageToken] Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). - * @param [orderBy] - * @param [order] + * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Queue a binary export + * @param analysisId Analysis ID */ - public v3ListAnalysesWithHttpInfo(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable> { + public v3QueueBinaryExportWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3ListAnalyses(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _config); + const requestContextPromise = this.requestFactory.v3QueueBinaryExport(analysisId, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4189,39 +5053,29 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListAnalysesWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3QueueBinaryExportWithHttpInfo(rsp))); })); } /** - * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - * List analyses - * @param [searchTerm] - * @param [analysisScope] Leave empty to search your own, your team\'s and all public analyses - * @param [status] - * @param [modelName] - * @param [usernames] - * @param [sha256Hash] - * @param [binaryId] Restrict to analyses of this binary. A binary can carry more than one analysis; they are returned newest first under the default sort - * @param [platform] Restrict to binaries running on one of these operating-system platforms. Matches the uploader\'s override when they set one, the detected platform otherwise; a binary with neither is never matched. Leave empty for no filter - * @param [architecture] Restrict to binaries built for one of these instruction-set architectures. Resolved the same way as platform. Leave empty for no filter - * @param [pageSize] - * @param [nextPageToken] Forward-pagination cursor from a prior response. When set, order_by/order are taken from the token (the sort cannot change mid-pagination). - * @param [orderBy] - * @param [order] + * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Queue a binary export + * @param analysisId Analysis ID */ - public v3ListAnalyses(searchTerm?: string, analysisScope?: Array<'PRIVATE' | 'PUBLIC' | 'TEAM'>, status?: Array<'Uploaded' | 'Queued' | 'Complete' | 'Error' | 'Processing'>, modelName?: Array, usernames?: Array, sha256Hash?: string, binaryId?: number, platform?: Array<'windows' | 'linux' | 'android'>, architecture?: Array<'x86_64' | 'x86_32' | 'arm_64'>, pageSize?: number, nextPageToken?: string, orderBy?: 'created' | 'binary_name' | 'binary_size', order?: 'ASC' | 'DESC', _options?: ConfigurationOptions): Observable { - return this.v3ListAnalysesWithHttpInfo(searchTerm, analysisScope, status, modelName, usernames, sha256Hash, binaryId, platform, architecture, pageSize, nextPageToken, orderBy, order, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3QueueBinaryExport(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3QueueBinaryExportWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns the curated example Analyses. - * List example analyses + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param analysisId Analysis ID + * @param requeueAnalysisRequest */ - public v3ListExampleAnalysesWithHttpInfo(_options?: ConfigurationOptions): Observable> { + public v3RequeueAnalysisWithHttpInfo(analysisId: number, requeueAnalysisRequest: RequeueAnalysisRequest, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3ListExampleAnalyses(_config); + const requestContextPromise = this.requestFactory.v3RequeueAnalysis(analysisId, requeueAnalysisRequest, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4234,27 +5088,30 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListExampleAnalysesWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3RequeueAnalysisWithHttpInfo(rsp))); })); } /** - * Returns the curated example Analyses. - * List example analyses + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param analysisId Analysis ID + * @param requeueAnalysisRequest */ - public v3ListExampleAnalyses(_options?: ConfigurationOptions): Observable { - return this.v3ListExampleAnalysesWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3RequeueAnalysis(analysisId: number, requeueAnalysisRequest: RequeueAnalysisRequest, _options?: ConfigurationOptions): Observable { + return this.v3RequeueAnalysisWithHttpInfo(analysisId, requeueAnalysisRequest, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - * Look up the most recent analysis for a binary. - * @param binaryId Binary ID + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param analysisId Analysis ID + * @param [runDynamicExecutionInputBody] */ - public v3LookupAnalysisByBinaryIdWithHttpInfo(binaryId: number, _options?: ConfigurationOptions): Observable> { + public v3RunDynamicExecutionWithHttpInfo(analysisId: number, runDynamicExecutionInputBody?: RunDynamicExecutionInputBody, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3LookupAnalysisByBinaryId(binaryId, _config); + const requestContextPromise = this.requestFactory.v3RunDynamicExecution(analysisId, runDynamicExecutionInputBody, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4267,28 +5124,29 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3LookupAnalysisByBinaryIdWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3RunDynamicExecutionWithHttpInfo(rsp))); })); } /** - * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - * Look up the most recent analysis for a binary. - * @param binaryId Binary ID + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param analysisId Analysis ID + * @param [runDynamicExecutionInputBody] */ - public v3LookupAnalysisByBinaryId(binaryId: number, _options?: ConfigurationOptions): Observable { - return this.v3LookupAnalysisByBinaryIdWithHttpInfo(binaryId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3RunDynamicExecution(analysisId: number, runDynamicExecutionInputBody?: RunDynamicExecutionInputBody, _options?: ConfigurationOptions): Observable { + return this.v3RunDynamicExecutionWithHttpInfo(analysisId, runDynamicExecutionInputBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Queue a binary export + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. * @param analysisId Analysis ID */ - public v3QueueBinaryExportWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { + public v3RunDynamicExecutionSummaryWithHttpInfo(analysisId: number, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.v3QueueBinaryExport(analysisId, _config); + const requestContextPromise = this.requestFactory.v3RunDynamicExecutionSummary(analysisId, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -4301,17 +5159,17 @@ export class ObservableAnalysesCoreApi { for (const middleware of _config.middleware.reverse()) { middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); } - return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3QueueBinaryExportWithHttpInfo(rsp))); + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3RunDynamicExecutionSummaryWithHttpInfo(rsp))); })); } /** - * Starts an asynchronous export of the binary with its current symbols rewritten in, and returns the operation to poll for its outcome. Only the owner may call it, and it requires a subscription tier that supports symbol export. Download the result once the operation reports done. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - * Queue a binary export + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. * @param analysisId Analysis ID */ - public v3QueueBinaryExport(analysisId: number, _options?: ConfigurationOptions): Observable { - return this.v3QueueBinaryExportWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public v3RunDynamicExecutionSummary(analysisId: number, _options?: ConfigurationOptions): Observable { + return this.v3RunDynamicExecutionSummaryWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** @@ -4388,6 +5246,44 @@ export class ObservableAnalysesCoreApi { return this.v3UpdateAnalysisWithHttpInfo(analysisId, updateAnalysisInputBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param updateAnalysisGlobalInputBody + */ + public v3UpdateAnalysisGlobalWithHttpInfo(analysisId: number, vaddr: number, updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3UpdateAnalysisGlobal(analysisId, vaddr, updateAnalysisGlobalInputBody, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3UpdateAnalysisGlobalWithHttpInfo(rsp))); + })); + } + + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param updateAnalysisGlobalInputBody + */ + public v3UpdateAnalysisGlobal(analysisId: number, vaddr: number, updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody, _options?: ConfigurationOptions): Observable { + return this.v3UpdateAnalysisGlobalWithHttpInfo(analysisId, vaddr, updateAnalysisGlobalInputBody, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Replaces the analysis\' binary\'s user tags (origin RevEng) with the given set. A tag recorded under any other origin, such as a heuristic detection sharing a name with a user tag, is left in place even when its name is absent from the request. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Replace an analysis\' tags. @@ -4962,6 +5858,40 @@ export class ObservableAuthenticationUsersApi { return this.v3GetUserActivityWithHttpInfo(_options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param searchTerm Text the username contains (case-insensitive) + */ + public v3ListUsersWithHttpInfo(searchTerm: string, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3ListUsers(searchTerm, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListUsersWithHttpInfo(rsp))); + })); + } + + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param searchTerm Text the username contains (case-insensitive) + */ + public v3ListUsers(searchTerm: string, _options?: ConfigurationOptions): Observable { + return this.v3ListUsersWithHttpInfo(searchTerm, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Submits feedback about the application to a Slack channel. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Submit feedback @@ -7233,17 +8163,18 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param functionId Function ID * @param [temperature] LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. * @param [typeSuggestions] Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. + * @param [naming] Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. * @param [applyTypes] Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. */ - public createAiDecompilationWithHttpInfo(functionId: number, temperature?: number, typeSuggestions?: boolean, applyTypes?: boolean, _options?: ConfigurationOptions): Observable> { + public createAiDecompilationWithHttpInfo(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: ConfigurationOptions): Observable> { const _config = mergeConfiguration(this.configuration, _options); - const requestContextPromise = this.requestFactory.createAiDecompilation(functionId, temperature, typeSuggestions, applyTypes, _config); + const requestContextPromise = this.requestFactory.createAiDecompilation(functionId, temperature, typeSuggestions, naming, applyTypes, _config); // build promise chain let middlewarePreObservable = from(requestContextPromise); for (const middleware of _config.middleware) { @@ -7261,19 +8192,20 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param functionId Function ID * @param [temperature] LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. * @param [typeSuggestions] Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. + * @param [naming] Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. * @param [applyTypes] Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. */ - public createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, applyTypes?: boolean, _options?: ConfigurationOptions): Observable { - return this.createAiDecompilationWithHttpInfo(functionId, temperature, typeSuggestions, applyTypes, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + public createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: ConfigurationOptions): Observable { + return this.createAiDecompilationWithHttpInfo(functionId, temperature, typeSuggestions, naming, applyTypes, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param functionId Function ID * @param line Line number of the comment to delete @@ -7299,7 +8231,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param functionId Function ID * @param line Line number of the comment to delete @@ -7545,7 +8477,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param functionId Function ID * @param patchCommentBody @@ -7571,7 +8503,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param functionId Function ID * @param patchCommentBody @@ -7581,7 +8513,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param functionId Function ID */ @@ -7606,7 +8538,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param functionId Function ID */ @@ -7615,7 +8547,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param functionId Function ID */ @@ -7640,7 +8572,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param functionId Function ID */ @@ -7923,7 +8855,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param functionId Function ID * @param [applyTypes] Store the regenerated types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. @@ -7949,7 +8881,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param functionId Function ID * @param [applyTypes] Store the regenerated types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. @@ -7959,7 +8891,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param functionId Function ID * @param upsertOverridesInputBody @@ -7985,7 +8917,7 @@ export class ObservableFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param functionId Function ID * @param upsertOverridesInputBody @@ -8932,6 +9864,40 @@ export class ObservableFunctionsCoreApi { return this.v3GetAnalysisFuncMapsWithHttpInfo(analysisId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); } + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param functionId Function ID + */ + public v3ListFunctionGlobalsWithHttpInfo(functionId: number, _options?: ConfigurationOptions): Observable> { + const _config = mergeConfiguration(this.configuration, _options); + + const requestContextPromise = this.requestFactory.v3ListFunctionGlobals(functionId, _config); + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (const middleware of _config.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => _config.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (const middleware of _config.middleware.reverse()) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.v3ListFunctionGlobalsWithHttpInfo(rsp))); + })); + } + + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param functionId Function ID + */ + public v3ListFunctionGlobals(functionId: number, _options?: ConfigurationOptions): Observable { + return this.v3ListFunctionGlobalsWithHttpInfo(functionId, _options).pipe(map((apiResponse: HttpInfo) => apiResponse.data)); + } + /** * Searches for functions visible to the caller. At least one of partial_name or model_name must be provided. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search functions @@ -9025,7 +9991,7 @@ export class ObservableFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param batchRenameInputBody */ @@ -9050,7 +10016,7 @@ export class ObservableFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param batchRenameInputBody */ @@ -9127,7 +10093,7 @@ export class ObservableFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param functionId Function ID * @param renameInputBody @@ -9153,7 +10119,7 @@ export class ObservableFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param functionId Function ID * @param renameInputBody diff --git a/types/PromiseAPI.ts b/types/PromiseAPI.ts index 0dfc227..065791b 100644 --- a/types/PromiseAPI.ts +++ b/types/PromiseAPI.ts @@ -2,6 +2,7 @@ import { ResponseContext, RequestContext, HttpFile, HttpInfo } from '../http/htt import { Configuration, PromiseConfigurationOptions, wrapOptions } from '../configuration' import { PromiseMiddleware, Middleware, PromiseMiddlewareWrapper } from '../middleware'; +import { APICombinationEvidence } from '../models/APICombinationEvidence'; import { APIError } from '../models/APIError'; import { AcceptTypeSuggestionsInputBody } from '../models/AcceptTypeSuggestionsInputBody'; import { AcceptTypeSuggestionsOutputBody } from '../models/AcceptTypeSuggestionsOutputBody'; @@ -41,6 +42,8 @@ import { AnalysisFunctionsList } from '../models/AnalysisFunctionsList'; import { AnalysisLogEntry } from '../models/AnalysisLogEntry'; import { AnalysisLogMessage } from '../models/AnalysisLogMessage'; import { AnalysisLogs } from '../models/AnalysisLogs'; +import { AnalysisOperationBody } from '../models/AnalysisOperationBody'; +import { AnalysisOperationsOutputBody } from '../models/AnalysisOperationsOutputBody'; import { AnalysisRecord } from '../models/AnalysisRecord'; import { AnalysisRecordBody } from '../models/AnalysisRecordBody'; import { AnalysisReport } from '../models/AnalysisReport'; @@ -274,14 +277,17 @@ import { DecompilerSummary } from '../models/DecompilerSummary'; import { DecompilerSummaryEvidence } from '../models/DecompilerSummaryEvidence'; import { DieMatch } from '../models/DieMatch'; import { DisassemblyOutputBody } from '../models/DisassemblyOutputBody'; +import { DisassemblySummaryEvidence } from '../models/DisassemblySummaryEvidence'; import { Display } from '../models/Display'; import { DnsQuery } from '../models/DnsQuery'; import { DrakvufFileMetadata } from '../models/DrakvufFileMetadata'; import { DynamicExecutionMetadata } from '../models/DynamicExecutionMetadata'; +import { DynamicExecutionResult } from '../models/DynamicExecutionResult'; import { DynamicExecutionStatus } from '../models/DynamicExecutionStatus'; import { DynamicExecutionStatusResponse } from '../models/DynamicExecutionStatusResponse'; import { DynamicExecutionSummary } from '../models/DynamicExecutionSummary'; import { DynamicExecutionSummaryMetadata } from '../models/DynamicExecutionSummaryMetadata'; +import { DynamicExecutionSummaryResult } from '../models/DynamicExecutionSummaryResult'; import { ELFImportModel } from '../models/ELFImportModel'; import { ELFModel } from '../models/ELFModel'; import { ELFRelocation } from '../models/ELFRelocation'; @@ -369,6 +375,7 @@ import { FunctionCallEdges } from '../models/FunctionCallEdges'; import { FunctionCapabilityResponse } from '../models/FunctionCapabilityResponse'; import { FunctionDataType } from '../models/FunctionDataType'; import { FunctionDetailsOutputBody } from '../models/FunctionDetailsOutputBody'; +import { FunctionGlobalVariable } from '../models/FunctionGlobalVariable'; import { FunctionListItem } from '../models/FunctionListItem'; import { FunctionLocalVariableResponse } from '../models/FunctionLocalVariableResponse'; import { FunctionMapping } from '../models/FunctionMapping'; @@ -390,6 +397,7 @@ import { FunctionString } from '../models/FunctionString'; import { FunctionStringItem } from '../models/FunctionStringItem'; import { FunctionStringsResponse } from '../models/FunctionStringsResponse'; import { FunctionTypeDefinition } from '../models/FunctionTypeDefinition'; +import { FunctionUsage } from '../models/FunctionUsage'; import { FunctionsDetailResponse } from '../models/FunctionsDetailResponse'; import { FunctionsListRename } from '../models/FunctionsListRename'; import { FunctionsProgressOutputBody } from '../models/FunctionsProgressOutputBody'; @@ -407,6 +415,7 @@ import { GetDataTypeHistoryBody } from '../models/GetDataTypeHistoryBody'; import { GetDieInfoOutputBody } from '../models/GetDieInfoOutputBody'; import { GetFunctionMapsOutputBody } from '../models/GetFunctionMapsOutputBody'; import { GetFunctionSignatureHistoryBody } from '../models/GetFunctionSignatureHistoryBody'; +import { GetGlobalHistoryOutputBody } from '../models/GetGlobalHistoryOutputBody'; import { GetMatchesOutputBody } from '../models/GetMatchesOutputBody'; import { GetMatchesStatusOutputBody } from '../models/GetMatchesStatusOutputBody'; import { GetModelsOutputBody } from '../models/GetModelsOutputBody'; @@ -418,6 +427,8 @@ import { GetRelatedStatusOutputBody } from '../models/GetRelatedStatusOutputBody import { GetSubscriptionOutputBody } from '../models/GetSubscriptionOutputBody'; import { GetTokensResponse } from '../models/GetTokensResponse'; import { GetUserActivityOutputBody } from '../models/GetUserActivityOutputBody'; +import { GlobalHistoryEntry } from '../models/GlobalHistoryEntry'; +import { GlobalVariable } from '../models/GlobalVariable'; import { HardcodedSecretEvidence } from '../models/HardcodedSecretEvidence'; import { HistoryActor } from '../models/HistoryActor'; import { HistoryEntry } from '../models/HistoryEntry'; @@ -427,6 +438,7 @@ import { ISA } from '../models/ISA'; import { IconModel } from '../models/IconModel'; import { ImportDynamicExecutionFileOutputBody } from '../models/ImportDynamicExecutionFileOutputBody'; import { ImportModel } from '../models/ImportModel'; +import { ImportedAPICallEvidence } from '../models/ImportedAPICallEvidence'; import { ImportedApi } from '../models/ImportedApi'; import { ImportedApiCall } from '../models/ImportedApiCall'; import { ImportedApiCallEvidence } from '../models/ImportedApiCallEvidence'; @@ -445,15 +457,20 @@ import { LineAttributionsData } from '../models/LineAttributionsData'; import { ListAnalysesOutputBody } from '../models/ListAnalysesOutputBody'; import { ListAnalysisDataTypesOutputBody } from '../models/ListAnalysisDataTypesOutputBody'; import { ListAnalysisFunctionsOutputBody } from '../models/ListAnalysisFunctionsOutputBody'; +import { ListAnalysisGlobalsOutputBody } from '../models/ListAnalysisGlobalsOutputBody'; import { ListAnalysisStringsOutputBody } from '../models/ListAnalysisStringsOutputBody'; import { ListArchiveContentsOutputBody } from '../models/ListArchiveContentsOutputBody'; import { ListCollectionResults } from '../models/ListCollectionResults'; import { ListCollectionsOutputBody } from '../models/ListCollectionsOutputBody'; import { ListDataTypeFunctionsBody } from '../models/ListDataTypeFunctionsBody'; import { ListExampleAnalysesOutputBody } from '../models/ListExampleAnalysesOutputBody'; +import { ListFunctionGlobalsOutputBody } from '../models/ListFunctionGlobalsOutputBody'; import { ListFunctionSignaturesOutputBody } from '../models/ListFunctionSignaturesOutputBody'; import { ListFunctionStringsOutputBody } from '../models/ListFunctionStringsOutputBody'; +import { ListGlobalFunctionsOutputBody } from '../models/ListGlobalFunctionsOutputBody'; import { ListImportedFunctionsOutputBody } from '../models/ListImportedFunctionsOutputBody'; +import { ListOperationPrerequisitesOutputBody } from '../models/ListOperationPrerequisitesOutputBody'; +import { ListPublicUsersOutputBody } from '../models/ListPublicUsersOutputBody'; import { ListSecretStoreOutputBody } from '../models/ListSecretStoreOutputBody'; import { ListTeamsOutputBody } from '../models/ListTeamsOutputBody'; import { ListUsersOutputBody } from '../models/ListUsersOutputBody'; @@ -506,6 +523,8 @@ import { OperationMetadataThreatReportResult } from '../models/OperationMetadata import { OperationMetadataTriageResult } from '../models/OperationMetadataTriageResult'; import { OperationNetworkingExplainMetadataNetworkingExplainResult } from '../models/OperationNetworkingExplainMetadataNetworkingExplainResult'; import { OperationNetworkingScanMetadataNetworkingScanResult } from '../models/OperationNetworkingScanMetadataNetworkingScanResult'; +import { OperationPrerequisitesBody } from '../models/OperationPrerequisitesBody'; +import { OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult } from '../models/OperationRenameUnnamedFunctionsMetadataRenameUnnamedFunctionsResult'; import { OperationSecurityScanMetadataSecurityScanResult } from '../models/OperationSecurityScanMetadataSecurityScanResult'; import { OperationVirusTotalScanMetadataVirusTotalScanResult } from '../models/OperationVirusTotalScanMetadataVirusTotalScanResult'; import { OperationWorkflowProgressResultBody } from '../models/OperationWorkflowProgressResultBody'; @@ -542,6 +561,7 @@ import { ProductSummary } from '../models/ProductSummary'; import { ProgressMessage } from '../models/ProgressMessage'; import { ProseEvent } from '../models/ProseEvent'; import { ProtocolsAgentResponse } from '../models/ProtocolsAgentResponse'; +import { PublicUserBody } from '../models/PublicUserBody'; import { PutAnalysisStringsRequest } from '../models/PutAnalysisStringsRequest'; import { QueuedWorkflowTaskResponse } from '../models/QueuedWorkflowTaskResponse'; import { RatingOutputBody } from '../models/RatingOutputBody'; @@ -561,16 +581,31 @@ import { RemoveCollectionBinariesInputBody } from '../models/RemoveCollectionBin import { RenameAppliedEvent } from '../models/RenameAppliedEvent'; import { RenameInputBody } from '../models/RenameInputBody'; import { RenameOutputBody } from '../models/RenameOutputBody'; +import { RenameUnnamedFunctionsMetadata } from '../models/RenameUnnamedFunctionsMetadata'; import { RenameUnnamedFunctionsResult } from '../models/RenameUnnamedFunctionsResult'; import { RenderedToken } from '../models/RenderedToken'; import { ReportAnalysisBody } from '../models/ReportAnalysisBody'; import { ReportAnalysisResponse } from '../models/ReportAnalysisResponse'; +import { ReportBytesConstant } from '../models/ReportBytesConstant'; +import { ReportCallChain } from '../models/ReportCallChain'; +import { ReportCodeSummary } from '../models/ReportCodeSummary'; import { ReportEvent } from '../models/ReportEvent'; +import { ReportFinding } from '../models/ReportFinding'; +import { ReportFindingEvidenceInner } from '../models/ReportFindingEvidenceInner'; +import { ReportFunctionSimilarity } from '../models/ReportFunctionSimilarity'; +import { ReportImportedAPI } from '../models/ReportImportedAPI'; +import { ReportImportedAPICall } from '../models/ReportImportedAPICall'; import { ReportInfo } from '../models/ReportInfo'; +import { ReportMeta } from '../models/ReportMeta'; +import { ReportModelInterpretation } from '../models/ReportModelInterpretation'; import { ReportOptions } from '../models/ReportOptions'; import { ReportReachabilityStatus } from '../models/ReportReachabilityStatus'; +import { ReportReferencedConstant } from '../models/ReportReferencedConstant'; import { ReportResult } from '../models/ReportResult'; +import { ReportStringMatch } from '../models/ReportStringMatch'; +import { ReportSubject } from '../models/ReportSubject'; import { RequestedConfigBody } from '../models/RequestedConfigBody'; +import { RequeueAnalysisRequest } from '../models/RequeueAnalysisRequest'; import { ResendVerificationEmailInputBody } from '../models/ResendVerificationEmailInputBody'; import { ResolvedEntity } from '../models/ResolvedEntity'; import { ResultBody } from '../models/ResultBody'; @@ -704,6 +739,7 @@ import { UnionDataType } from '../models/UnionDataType'; import { UnionDefinition } from '../models/UnionDefinition'; import { UnknownDataType } from '../models/UnknownDataType'; import { UpdateAnalysisDataTypesInputBody } from '../models/UpdateAnalysisDataTypesInputBody'; +import { UpdateAnalysisGlobalInputBody } from '../models/UpdateAnalysisGlobalInputBody'; import { UpdateAnalysisInputBody } from '../models/UpdateAnalysisInputBody'; import { UpdateArrayDataType } from '../models/UpdateArrayDataType'; import { UpdateBaseDataType } from '../models/UpdateBaseDataType'; @@ -1184,7 +1220,7 @@ export class PromiseAgentApi { * @param analysisId Analysis ID * @param agent Which agent\'s output the feedback is about */ - public v3GetBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', _options?: PromiseConfigurationOptions): Promise> { + public v3GetBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', _options?: PromiseConfigurationOptions): Promise> { const observableOptions = wrapOptions(_options); const result = this.api.v3GetBinaryAgentFeedbackWithHttpInfo(analysisId, agent, observableOptions); return result.toPromise(); @@ -1196,7 +1232,7 @@ export class PromiseAgentApi { * @param analysisId Analysis ID * @param agent Which agent\'s output the feedback is about */ - public v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', _options?: PromiseConfigurationOptions): Promise { + public v3GetBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', _options?: PromiseConfigurationOptions): Promise { const observableOptions = wrapOptions(_options); const result = this.api.v3GetBinaryAgentFeedback(analysisId, agent, observableOptions); return result.toPromise(); @@ -1268,6 +1304,28 @@ export class PromiseAgentApi { return result.toPromise(); } + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param analysisId Analysis ID + */ + public v3GetCryptographyOperationWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetCryptographyOperationWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Polls a cryptography run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Get a cryptography operation. + * @param analysisId Analysis ID + */ + public v3GetCryptographyOperation(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetCryptographyOperation(analysisId, observableOptions); + return result.toPromise(); + } + /** * Returns the current state of the execution-explain run for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get an execution-explain operation. @@ -1401,7 +1459,7 @@ export class PromiseAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param analysisId Analysis ID */ @@ -1412,7 +1470,7 @@ export class PromiseAgentApi { } /** - * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a protocols run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a protocols operation. * @param analysisId Analysis ID */ @@ -1444,6 +1502,28 @@ export class PromiseAgentApi { return result.toPromise(); } + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param analysisId Analysis ID + */ + public v3GetRenameUnnamedFunctionsOperationWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetRenameUnnamedFunctionsOperationWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the current state of the rename-unnamed-functions run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a rename-unnamed-functions operation. + * @param analysisId Analysis ID + */ + public v3GetRenameUnnamedFunctionsOperation(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetRenameUnnamedFunctionsOperation(analysisId, observableOptions); + return result.toPromise(); + } + /** * Returns the summary of the most recent completed rename-unnamed-functions run. Returns 409 while a run is still in progress and 404 when the agent has never produced a result for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get rename-unnamed-functions agent result. @@ -1511,7 +1591,7 @@ export class PromiseAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param analysisId Analysis ID */ @@ -1522,7 +1602,7 @@ export class PromiseAgentApi { } /** - * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response.report` is set once the run has completed and carries the findings document as the agent produced it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready + * Polls a secrets run. `metadata.status` tracks the run and `metadata.log_history` carries its progress messages; `response` is set once the run has completed and holds the findings, each with its supporting evidence. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`ANALYSIS_NOT_READY`](/errors/ANALYSIS_NOT_READY) — Analysis Not Ready * Get a secrets operation. * @param analysisId Analysis ID */ @@ -1577,7 +1657,27 @@ export class PromiseAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + */ + public v3ListOperationPrerequisitesWithHttpInfo(_options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListOperationPrerequisitesWithHttpInfo(observableOptions); + return result.toPromise(); + } + + /** + * Lists the operations that can only start once other operations have completed on the same analysis. To check whether an analysis has completed them, use `/v3/analyses/{analysis_id}/operations`. + * List operation prerequisites. + */ + public v3ListOperationPrerequisites(_options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListOperationPrerequisites(observableOptions); + return result.toPromise(); + } + + /** + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param analysisId Analysis ID */ @@ -1588,7 +1688,7 @@ export class PromiseAgentApi { } /** - * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the capabilities agent, which attributes behavioural capabilities to individual functions, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the capabilities agent. * @param analysisId Analysis ID */ @@ -1621,7 +1721,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param analysisId Analysis ID * @param triggerCryptoScanInputBody @@ -1633,7 +1733,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known crypto-library APIs, and returns the operation to poll for its outcome. Purely name-based — never triggers AI decompilation, so it costs no credits and runs in seconds. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the crypto-scan agent. * @param analysisId Analysis ID * @param triggerCryptoScanInputBody @@ -1644,6 +1744,28 @@ export class PromiseAgentApi { return result.toPromise(); } + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param analysisId Analysis ID + */ + public v3RunCryptographyWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunCryptographyWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Starts the cryptography agent, which identifies cryptographic operations in the binary and reports its findings, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met + * Run the cryptography agent. + * @param analysisId Analysis ID + */ + public v3RunCryptography(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunCryptography(analysisId, observableOptions); + return result.toPromise(); + } + /** * Starts an agent that explains the code execution the function performs, and returns the operation to poll for its outcome. Requires credits. Returns 409 while a run is already in progress for this function. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Run the execution-explain agent. @@ -1669,7 +1791,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param analysisId Analysis ID * @param triggerExecutionScanInputBody @@ -1681,7 +1803,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known code-execution APIs, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the execution-scan agent. * @param analysisId Analysis ID * @param triggerExecutionScanInputBody @@ -1717,7 +1839,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param analysisId Analysis ID * @param triggerFilesystemScanInputBody @@ -1729,7 +1851,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known filesystem/system APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the filesystem-scan agent. * @param analysisId Analysis ID * @param triggerFilesystemScanInputBody @@ -1765,7 +1887,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param analysisId Analysis ID * @param triggerNetworkingScanInputBody @@ -1777,7 +1899,7 @@ export class PromiseAgentApi { } /** - * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts an agent that name-matches the analysis\' functions and their callees against known networking APIs, and returns the operation to poll for its outcome. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the networking-scan agent. * @param analysisId Analysis ID * @param triggerNetworkingScanInputBody @@ -1789,7 +1911,7 @@ export class PromiseAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param analysisId Analysis ID */ @@ -1800,7 +1922,7 @@ export class PromiseAgentApi { } /** - * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the protocols agent, which identifies the network and data protocols the binary implements, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the protocols agent. * @param analysisId Analysis ID */ @@ -1811,7 +1933,7 @@ export class PromiseAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param analysisId Analysis ID */ @@ -1822,7 +1944,7 @@ export class PromiseAgentApi { } /** - * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the remediation agent, which generates YARA, Snort and STIX detection rules for the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the remediation agent. * @param analysisId Analysis ID */ @@ -1833,7 +1955,7 @@ export class PromiseAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param analysisId Analysis ID */ @@ -1844,7 +1966,7 @@ export class PromiseAgentApi { } /** - * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the report-analysis agent, which produces a combined threat report — summary, software type, attack flow, indicators of compromise, MITRE ATT&CK techniques and a YARA rule — and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the report-analysis agent. * @param analysisId Analysis ID */ @@ -1855,7 +1977,7 @@ export class PromiseAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param analysisId Analysis ID */ @@ -1866,7 +1988,7 @@ export class PromiseAgentApi { } /** - * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the secrets agent, which finds credentials and other hardcoded secrets in the binary, and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the secrets agent. * @param analysisId Analysis ID */ @@ -1901,7 +2023,7 @@ export class PromiseAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param analysisId Analysis ID */ @@ -1912,7 +2034,7 @@ export class PromiseAgentApi { } /** - * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Starts the triage agent, which scores the binary and each of its functions for maliciousness, and returns the operation to poll for its outcome. Unlike the other binary agents this one is not gated on subscription tier. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits - `409` [`OPERATION_PREREQUISITE_NOT_MET`](/errors/OPERATION_PREREQUISITE_NOT_MET) — Operation Prerequisite Not Met * Run the triage agent. * @param analysisId Analysis ID */ @@ -1953,7 +2075,7 @@ export class PromiseAgentApi { * @param agent Which agent\'s output the feedback is about * @param submitFeedbackInputBody */ - public v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: PromiseConfigurationOptions): Promise> { + public v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: PromiseConfigurationOptions): Promise> { const observableOptions = wrapOptions(_options); const result = this.api.v3UpsertBinaryAgentFeedbackWithHttpInfo(analysisId, agent, submitFeedbackInputBody, observableOptions); return result.toPromise(); @@ -1966,7 +2088,7 @@ export class PromiseAgentApi { * @param agent Which agent\'s output the feedback is about * @param submitFeedbackInputBody */ - public v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: PromiseConfigurationOptions): Promise { + public v3UpsertBinaryAgentFeedback(analysisId: number, agent: 'triage' | 'capabilities' | 'report-analysis' | 'remediation' | 'protocols' | 'secrets' | 'cryptography', submitFeedbackInputBody: SubmitFeedbackInputBody, _options?: PromiseConfigurationOptions): Promise { const observableOptions = wrapOptions(_options); const result = this.api.v3UpsertBinaryAgentFeedback(analysisId, agent, submitFeedbackInputBody, observableOptions); return result.toPromise(); @@ -2793,9 +2915,9 @@ export class PromiseAnalysesCoreApi { * Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Download a binary export * @param analysisId Analysis ID - * @param [taskId] Task ID returned by queueing the export + * @param taskId Task ID returned by queueing the export */ - public v3DownloadBinaryExportWithHttpInfo(analysisId: number, taskId?: string, _options?: PromiseConfigurationOptions): Promise> { + public v3DownloadBinaryExportWithHttpInfo(analysisId: number, taskId: string, _options?: PromiseConfigurationOptions): Promise> { const observableOptions = wrapOptions(_options); const result = this.api.v3DownloadBinaryExportWithHttpInfo(analysisId, taskId, observableOptions); return result.toPromise(); @@ -2805,9 +2927,9 @@ export class PromiseAnalysesCoreApi { * Streams the exported binary. Returns 404 if the task is not complete or its result has expired -- export again in either case. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Download a binary export * @param analysisId Analysis ID - * @param [taskId] Task ID returned by queueing the export + * @param taskId Task ID returned by queueing the export */ - public v3DownloadBinaryExport(analysisId: number, taskId?: string, _options?: PromiseConfigurationOptions): Promise { + public v3DownloadBinaryExport(analysisId: number, taskId: string, _options?: PromiseConfigurationOptions): Promise { const observableOptions = wrapOptions(_options); const result = this.api.v3DownloadBinaryExport(analysisId, taskId, observableOptions); return result.toPromise(); @@ -2879,6 +3001,54 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalWithHttpInfo(analysisId: number, vaddr: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetAnalysisGlobalWithHttpInfo(analysisId, vaddr, observableOptions); + return result.toPromise(); + } + + /** + * Returns the global variable at the given virtual address, or 404 when the analysis has no row for that address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get one global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobal(analysisId: number, vaddr: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetAnalysisGlobal(analysisId, vaddr, observableOptions); + return result.toPromise(); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalHistoryWithHttpInfo(analysisId: number, vaddr: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetAnalysisGlobalHistoryWithHttpInfo(analysisId, vaddr, observableOptions); + return result.toPromise(); + } + + /** + * Returns what the global held before each edit, oldest first. A global nobody has edited returns an empty list. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List a global variable\'s replaced values. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + */ + public v3GetAnalysisGlobalHistory(analysisId: number, vaddr: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetAnalysisGlobalHistory(analysisId, vaddr, observableOptions); + return result.toPromise(); + } + /** * Returns every log line recorded for the Analysis, oldest first, merged from every source that has written one. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Get the Analysis log @@ -3003,6 +3173,236 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionArtifactWithHttpInfo(analysisId: number, sha256: string, filename?: string, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionArtifactWithHttpInfo(analysisId, sha256, filename, observableOptions); + return result.toPromise(); + } + + /** + * Streams a file extracted during execution (filesystem, memory, or network), addressed by the SHA-256 referenced by `artifacts[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download an artifact. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionArtifact(analysisId: number, sha256: string, filename?: string, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionArtifact(analysisId, sha256, filename, observableOptions); + return result.toPromise(); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionLogsDownloadWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionLogsDownloadWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Streams a ZIP archive of the sandbox logs collected during execution. Requires the run to be COMPLETED. Returns 404 if no logs were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the execution logs archive. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionLogsDownload(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionLogsDownload(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionMemdumpWithHttpInfo(analysisId: number, sha256: string, filename?: string, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionMemdumpWithHttpInfo(analysisId, sha256, filename, observableOptions); + return result.toPromise(); + } + + /** + * Streams the memory dump for a SHA-256 referenced by `memdumps[].dumps[].sha256` in the dynamic execution report. The response is a password-protected zip (password: `infected`). **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a memory dump. + * @param analysisId Analysis ID + * @param sha256 SHA-256 hex digest of the artifact + * @param [filename] Optional name for the downloaded file (inside the zip and as the download filename). Defaults to the SHA-256 when omitted. + */ + public v3GetDynamicExecutionMemdump(analysisId: number, sha256: string, filename?: string, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionMemdump(analysisId, sha256, filename, observableOptions); + return result.toPromise(); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionOperationWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionOperationWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the current state of the most recently triggered dynamic execution run for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionOperation(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionOperation(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionPcapWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionPcapWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Streams the pcap of the analysis VM\'s traffic. Returns 404 if no pcap was captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download the network capture. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionPcap(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionPcap(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionReportWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionReportWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the dynamic execution report JSON for the analysis. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution report. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionReport(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionReport(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param analysisId Analysis ID + * @param index Index of the screenshot, as listed by the screenshots endpoint + */ + public v3GetDynamicExecutionScreenshotWithHttpInfo(analysisId: number, index: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionScreenshotWithHttpInfo(analysisId, index, observableOptions); + return result.toPromise(); + } + + /** + * Streams one screenshot, 1-indexed as listed by the screenshots endpoint. Requires the run to be COMPLETED. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download a screenshot. + * @param analysisId Analysis ID + * @param index Index of the screenshot, as listed by the screenshots endpoint + */ + public v3GetDynamicExecutionScreenshot(analysisId: number, index: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionScreenshot(analysisId, index, observableOptions); + return result.toPromise(); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionSummaryWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the LLM-generated Markdown summary of the run. Requires the run to be COMPLETED. Returns 404 if no summary has been generated. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Get the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummary(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionSummary(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryOperationWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionSummaryOperationWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the state of the most recent summary attempt for this analysis, whether made by its run or by a regenerate. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Get a dynamic execution summary operation. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionSummaryOperation(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionSummaryOperation(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionWiresharkKeysWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionWiresharkKeysWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the Wireshark-format TLS session key log for decrypting HTTPS traffic in the pcap. Returns 404 if no keys were captured. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Download Wireshark TLS session keys. + * @param analysisId Analysis ID + */ + public v3GetDynamicExecutionWiresharkKeys(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3GetDynamicExecutionWiresharkKeys(analysisId, observableOptions); + return result.toPromise(); + } + /** * Returns a page of analyses visible to the caller, filtered and ordered by the query parameters. **Error codes:** - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request * List analyses @@ -3049,6 +3449,90 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. + * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by name (case-insensitive substring match). + * @param [named] Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * @param [dataTypeId] Keep only globals carrying this analysis data type. + * @param [valueKind] Keep only globals whose decoded value is of these kinds. + * @param [referenced] Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. + */ + public v3ListAnalysisGlobalsWithHttpInfo(analysisId: number, page?: number, pageSize?: number, search?: string, named?: 'true' | 'false', dataTypeId?: number, valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>, referenced?: 'true' | 'false', orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count', sortOrder?: 'ASC' | 'DESC', _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListAnalysisGlobalsWithHttpInfo(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder, observableOptions); + return result.toPromise(); + } + + /** + * Returns the analysis\'s global variables as first-class rows, with the recovered name, data type, decoded initial value and the provenance of each. Supports name search, filtering by data type, value kind, named-ness and whether any function references the global, plus sorting and pagination. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * List the global variables in an analysis. + * @param analysisId Analysis ID + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + * @param [search] Filter by name (case-insensitive substring match). + * @param [named] Keep only globals that have a name (true) or only those that don\'t (false). Omit for both. + * @param [dataTypeId] Keep only globals carrying this analysis data type. + * @param [valueKind] Keep only globals whose decoded value is of these kinds. + * @param [referenced] Keep only globals referenced by at least one function (true) or only unreferenced ones (false). Omit for both. + * @param [orderBy] Field to order results by. + * @param [sortOrder] Sort direction. + */ + public v3ListAnalysisGlobals(analysisId: number, page?: number, pageSize?: number, search?: string, named?: 'true' | 'false', dataTypeId?: number, valueKind?: Array<'BSS' | 'STRING' | 'SHORT_STRING' | 'FLOAT' | 'POINTER' | 'DYNAMIC_INIT' | 'HEX' | 'INT' | 'BOOL'>, referenced?: 'true' | 'false', orderBy?: 'vaddr' | 'name' | 'size' | 'ref_count', sortOrder?: 'ASC' | 'DESC', _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListAnalysisGlobals(analysisId, page, pageSize, search, named, dataTypeId, valueKind, referenced, orderBy, sortOrder, observableOptions); + return result.toPromise(); + } + + /** + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. + * @param analysisId Analysis ID + */ + public v3ListAnalysisOperationsWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListAnalysisOperationsWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the analysis\' `static-analysis` operation, followed by the latest run of each other operation started on its binary: the binary agents, the script-agent scans and dynamic execution. The `static-analysis` operation is always included, even when no other operations have run. Each entry\'s `name` is the operation\'s resource name, polled at `/v3/{name}`. Other operations that have never run are omitted. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the operations run on an analysis. + * @param analysisId Analysis ID + */ + public v3ListAnalysisOperations(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListAnalysisOperations(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. + * @param analysisId Analysis ID + */ + public v3ListDynamicExecutionScreenshotsWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListDynamicExecutionScreenshotsWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the screenshots captured from the analysis VM, in capture order. Requires the run to be COMPLETED. Returns an empty list when the run captured none. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * List the screenshots captured during execution. + * @param analysisId Analysis ID + */ + public v3ListDynamicExecutionScreenshots(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListDynamicExecutionScreenshots(analysisId, observableOptions); + return result.toPromise(); + } + /** * Returns the curated example Analyses. * List example analyses @@ -3069,6 +3553,34 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + */ + public v3ListGlobalFunctionsWithHttpInfo(analysisId: number, vaddr: number, page?: number, pageSize?: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListGlobalFunctionsWithHttpInfo(analysisId, vaddr, page, pageSize, observableOptions); + return result.toPromise(); + } + + /** + * Returns the functions that reference the global at the given virtual address, each with the number of times it is referenced. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the functions referencing a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param [page] Page number (1-indexed). + * @param [pageSize] Number of results per page. + */ + public v3ListGlobalFunctions(analysisId: number, vaddr: number, page?: number, pageSize?: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListGlobalFunctions(analysisId, vaddr, page, pageSize, observableOptions); + return result.toPromise(); + } + /** * Returns the ID of the most recent analysis of this binary that the caller may see (their own, their team\'s, or public). Returns 404 if the binary has none, whether because it has never been analysed or because every analysis of it is private to someone else. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Look up the most recent analysis for a binary. @@ -3113,6 +3625,76 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param analysisId Analysis ID + * @param requeueAnalysisRequest + */ + public v3RequeueAnalysisWithHttpInfo(analysisId: number, requeueAnalysisRequest: RequeueAnalysisRequest, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RequeueAnalysisWithHttpInfo(analysisId, requeueAnalysisRequest, observableOptions); + return result.toPromise(); + } + + /** + * Creates a new Analysis and a new Binary sharing this Analysis\'s SHA-256, and runs the pipeline against them, leaving this Analysis and its Binary unchanged. Only the owner may call it. Poll the returned Operation for status, same as a normal create. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * Requeue an analysis + * @param analysisId Analysis ID + * @param requeueAnalysisRequest + */ + public v3RequeueAnalysis(analysisId: number, requeueAnalysisRequest: RequeueAnalysisRequest, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RequeueAnalysis(analysisId, requeueAnalysisRequest, observableOptions); + return result.toPromise(); + } + + /** + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param analysisId Analysis ID + * @param [runDynamicExecutionInputBody] + */ + public v3RunDynamicExecutionWithHttpInfo(analysisId: number, runDynamicExecutionInputBody?: RunDynamicExecutionInputBody, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunDynamicExecutionWithHttpInfo(analysisId, runDynamicExecutionInputBody, observableOptions); + return result.toPromise(); + } + + /** + * Submits the analysis\'s binary to the sandbox and returns the operation to poll for its outcome. Returns 409 while a run is already in progress for this analysis. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Trigger a dynamic execution run. + * @param analysisId Analysis ID + * @param [runDynamicExecutionInputBody] + */ + public v3RunDynamicExecution(analysisId: number, runDynamicExecutionInputBody?: RunDynamicExecutionInputBody, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunDynamicExecution(analysisId, runDynamicExecutionInputBody, observableOptions); + return result.toPromise(); + } + + /** + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3RunDynamicExecutionSummaryWithHttpInfo(analysisId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunDynamicExecutionSummaryWithHttpInfo(analysisId, observableOptions); + return result.toPromise(); + } + + /** + * Starts a new LLM summary of the analysis\'s completed run and returns the operation to poll. The new summary replaces the stored one once it succeeds. Only the analysis owner may regenerate. Returns 409 while the run is incomplete or a summary is already in progress. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `409` [`DYNAMIC_EXECUTION_INCOMPLETE`](/errors/DYNAMIC_EXECUTION_INCOMPLETE) — Dynamic Execution Incomplete + * Regenerate the dynamic execution summary. + * @param analysisId Analysis ID + */ + public v3RunDynamicExecutionSummary(analysisId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3RunDynamicExecutionSummary(analysisId, observableOptions); + return result.toPromise(); + } + /** * Searches for tags by name. partial_name is required and must be at least 3 characters. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search tags @@ -3163,6 +3745,32 @@ export class PromiseAnalysesCoreApi { return result.toPromise(); } + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param updateAnalysisGlobalInputBody + */ + public v3UpdateAnalysisGlobalWithHttpInfo(analysisId: number, vaddr: number, updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3UpdateAnalysisGlobalWithHttpInfo(analysisId, vaddr, updateAnalysisGlobalInputBody, observableOptions); + return result.toPromise(); + } + + /** + * Renames a global, assigns it an analysis data type, or both. Each field the request sets stamps its own provenance `USER`, which a later re-extraction carries forward instead of overwriting. A name another global in the analysis already holds is rejected. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`ALREADY_EXISTS`](/errors/ALREADY_EXISTS) — Already Exists + * Edit a global variable. + * @param analysisId Analysis ID + * @param vaddr Virtual address of the global variable. + * @param updateAnalysisGlobalInputBody + */ + public v3UpdateAnalysisGlobal(analysisId: number, vaddr: number, updateAnalysisGlobalInputBody: UpdateAnalysisGlobalInputBody, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3UpdateAnalysisGlobal(analysisId, vaddr, updateAnalysisGlobalInputBody, observableOptions); + return result.toPromise(); + } + /** * Replaces the analysis\' binary\'s user tags (origin RevEng) with the given set. A tag recorded under any other origin, such as a heuristic detection sharing a name with a user tag, is left in place even when its name is absent from the request. Only the owner may call it. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied * Replace an analysis\' tags. @@ -3560,6 +4168,28 @@ export class PromiseAuthenticationUsersApi { return result.toPromise(); } + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param searchTerm Text the username contains (case-insensitive) + */ + public v3ListUsersWithHttpInfo(searchTerm: string, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListUsersWithHttpInfo(searchTerm, observableOptions); + return result.toPromise(); + } + + /** + * Returns up to 5 active users whose username contains the search term (case-insensitive), with their ID and username, ordered by username. + * Search users + * @param searchTerm Text the username contains (case-insensitive) + */ + public v3ListUsers(searchTerm: string, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListUsers(searchTerm, observableOptions); + return result.toPromise(); + } + /** * Submits feedback about the application to a Slack channel. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Submit feedback @@ -5118,35 +5748,37 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param functionId Function ID * @param [temperature] LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. * @param [typeSuggestions] Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. + * @param [naming] Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. * @param [applyTypes] Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. */ - public createAiDecompilationWithHttpInfo(functionId: number, temperature?: number, typeSuggestions?: boolean, applyTypes?: boolean, _options?: PromiseConfigurationOptions): Promise> { + public createAiDecompilationWithHttpInfo(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: PromiseConfigurationOptions): Promise> { const observableOptions = wrapOptions(_options); - const result = this.api.createAiDecompilationWithHttpInfo(functionId, temperature, typeSuggestions, applyTypes, observableOptions); + const result = this.api.createAiDecompilationWithHttpInfo(functionId, temperature, typeSuggestions, naming, applyTypes, observableOptions); return result.toPromise(); } /** - * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits + * Begins the AI decompilation process for a function. Charges team credits and starts the workflow. Replacing an existing completed decompilation requires write access to the analysis; any caller with read access can decompile a function that has no completed result. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `402` [`INSUFFICIENT_CREDITS`](/errors/INSUFFICIENT_CREDITS) — Insufficient Credits * Start AI decompilation * @param functionId Function ID * @param [temperature] LLM temperature (0.0-1.0). Overrides the server default when set. Omit or set to -1 to use the server default. * @param [typeSuggestions] Ask the language model to name the suggested types and their members. Set to false to skip the model call; the statically derived layouts are still computed and stored. Cannot re-enable the pass when the server has it off. + * @param [naming] Ask the language model to name the placeholder variables. Set to false to skip the model call; the generic names are kept. Cannot re-enable the pass when the server has it off. * @param [applyTypes] Store the suggested types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. */ - public createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, applyTypes?: boolean, _options?: PromiseConfigurationOptions): Promise { + public createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: PromiseConfigurationOptions): Promise { const observableOptions = wrapOptions(_options); - const result = this.api.createAiDecompilation(functionId, temperature, typeSuggestions, applyTypes, observableOptions); + const result = this.api.createAiDecompilation(functionId, temperature, typeSuggestions, naming, applyTypes, observableOptions); return result.toPromise(); } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param functionId Function ID * @param line Line number of the comment to delete @@ -5158,7 +5790,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Removes the comment for the given line number. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Removes the comment for the given line number. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Delete a single inline comment * @param functionId Function ID * @param line Line number of the comment to delete @@ -5322,7 +5954,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param functionId Function ID * @param patchCommentBody @@ -5334,7 +5966,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Merges a single line comment into the existing AI-generated inline comments. Requires comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Merges a single line comment into the existing AI-generated inline comments. Requires write access to the analysis and comments to have been generated first. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found * Update a single inline comment * @param functionId Function ID * @param patchCommentBody @@ -5346,7 +5978,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param functionId Function ID */ @@ -5357,7 +5989,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new inline comments generation workflow for the function. Requires an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new inline comments generation workflow for the function. Requires write access to the analysis and an existing decompilation with a summary. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers the comments would reference. Poll the inline comments status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation inline comments * @param functionId Function ID */ @@ -5368,7 +6000,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param functionId Function ID */ @@ -5379,7 +6011,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new summary generation workflow for the function. Requires an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict + * Starts a new summary generation workflow for the function. Requires write access to the analysis and an existing decompilation. Rejected while a decompilation is running: its naming and type-suggestion passes are still changing the identifiers a summary would describe. Poll the summary status endpoint, which reports PENDING until then. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict * Regenerate AI decompilation summary * @param functionId Function ID */ @@ -5568,7 +6200,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param functionId Function ID * @param [applyTypes] Store the regenerated types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. @@ -5580,7 +6212,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Starts a new type suggestion workflow for the function, discarding the suggestions already stored. Requires write access to the analysis and a successful decompilation; it re-runs only the type-naming pass, so it costs no decompilation credit. The regenerated types are stored as data types of the analysis unless `apply_types=false`; types a previous run stored are not removed. Rejected while a decompilation is running: it runs the same pass itself once its output settles. Poll the type-suggestions status endpoint, which reports PENDING until then, and read the result from the type-suggestions endpoint. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `409` [`CONFLICT`](/errors/CONFLICT) — Conflict - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Regenerate AI decompilation type suggestions * @param functionId Function ID * @param [applyTypes] Store the regenerated types as data types of this function\'s analysis, with a source_type of AI_DECOMP. Set to false to leave them as suggestions only. Cannot re-enable the pass when the server has it off. @@ -5592,7 +6224,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param functionId Function ID * @param upsertOverridesInputBody @@ -5604,7 +6236,7 @@ export class PromiseFunctionsAIDecompilationApi { } /** - * Applies user-provided name overrides to placeholder tokens in the decompilation. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error + * Applies user-provided name overrides to placeholder tokens in the decompilation. Requires write access to the analysis. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `500` [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) — Internal Server Error * Upsert variable/function name overrides * @param functionId Function ID * @param upsertOverridesInputBody @@ -6242,6 +6874,28 @@ export class PromiseFunctionsCoreApi { return result.toPromise(); } + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param functionId Function ID + */ + public v3ListFunctionGlobalsWithHttpInfo(functionId: number, _options?: PromiseConfigurationOptions): Promise> { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListFunctionGlobalsWithHttpInfo(functionId, observableOptions); + return result.toPromise(); + } + + /** + * Returns the global variables referenced by the function, ordered by address. **Error codes:** - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied + * List the global variables a function references. + * @param functionId Function ID + */ + public v3ListFunctionGlobals(functionId: number, _options?: PromiseConfigurationOptions): Promise { + const observableOptions = wrapOptions(_options); + const result = this.api.v3ListFunctionGlobals(functionId, observableOptions); + return result.toPromise(); + } + /** * Searches for functions visible to the caller. At least one of partial_name or model_name must be provided. **Error codes:** - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Search functions @@ -6312,7 +6966,7 @@ export class PromiseFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param batchRenameInputBody */ @@ -6323,7 +6977,7 @@ export class PromiseFunctionsRenamingHistoryApi { } /** - * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request + * Renames multiple functions in a single request. Records name changes in history. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `400` [`BAD_REQUEST`](/errors/BAD_REQUEST) — Bad Request - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Batch rename functions * @param batchRenameInputBody */ @@ -6378,7 +7032,7 @@ export class PromiseFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param functionId Function ID * @param renameInputBody @@ -6390,7 +7044,7 @@ export class PromiseFunctionsRenamingHistoryApi { } /** - * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found + * Renames a single function and records the change in history. `source_type` defaults to USER when omitted. **Error codes:** - `403` [`ACCESS_DENIED`](/errors/ACCESS_DENIED) — Access Denied - `404` [`NOT_FOUND`](/errors/NOT_FOUND) — Not Found - `422` [`VALIDATION_FAILED`](/errors/VALIDATION_FAILED) — Validation Failed * Rename a function * @param functionId Function ID * @param renameInputBody