Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sdk-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v4.72.2
v4.73.0
62 changes: 62 additions & 0 deletions README.md

Large diffs are not rendered by default.

422 changes: 408 additions & 14 deletions apis/AgentApi.ts

Large diffs are not rendered by default.

3,697 changes: 2,999 additions & 698 deletions apis/AnalysesCoreApi.ts

Large diffs are not rendered by default.

84 changes: 84 additions & 0 deletions apis/AuthenticationUsersApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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<RequestContext> {
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
Expand Down Expand Up @@ -487,6 +535,42 @@ export class AuthenticationUsersApiResponseProcessor {
throw new ApiException<string | Blob | undefined>(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<HttpInfo<ListPublicUsersOutputBody >> {
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<APIError>(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<string | Blob | undefined>(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
Expand Down
30 changes: 22 additions & 8 deletions apis/FunctionsAIDecompilationApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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\&#39;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<RequestContext> {
public async createAiDecompilation(functionId: number, temperature?: number, typeSuggestions?: boolean, naming?: boolean, applyTypes?: boolean, _options?: Configuration): Promise<RequestContext> {
let _config = _options || this.configuration;

// verify required parameter 'functionId' is not null or undefined
Expand All @@ -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)));
Expand All @@ -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", ""));
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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
*/
Expand Down Expand Up @@ -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\&#39;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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -1193,6 +1200,13 @@ export class FunctionsAIDecompilationApiResponseProcessor {
) as APIError;
throw new ApiException<APIError>(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<APIError>(response.httpStatusCode, "Not Found", body, response.headers);
}
if (isCodeInRange("409", response.httpStatusCode)) {
const body: APIError = ObjectSerializer.deserialize(
ObjectSerializer.parse(await response.body.text(), contentType),
Expand Down
Loading
Loading