n8n-nodes-binalyze-air
Version:
Binalyze AIR nodes for automating DFIR with n8n workflows
177 lines (176 loc) • 5.22 kB
TypeScript
import { IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
import { AirCredentials } from '../../../../credentials/AirApi.credentials';
export interface InterACTSession {
_id: string;
sessionId: string;
endpointId: string;
status: string;
createdAt: string;
createdBy: string;
updatedAt: string;
lastActivity: string;
}
export interface InterACTCommand {
_id: string;
sessionId: string;
command: string;
status: string;
result?: string;
output?: string;
error?: string;
executedAt: string;
completedAt?: string;
}
export interface InterACTMessage {
_id: string;
messageId: string;
sessionId: string;
type: string;
content: string;
timestamp: string;
status: string;
}
export interface ExecuteCommandRequest {
command: string;
timeout?: number;
workingDirectory?: string;
environment?: Record<string, string>;
}
export interface ExecuteCommandResponse {
success: boolean;
result: {
messageId: string;
command?: string;
status?: string;
output?: string;
error?: string;
session?: {
id: string;
};
exitCode?: number;
cwd?: string;
body?: string;
};
statusCode: number;
errors: string[];
}
export interface ExecuteAsyncCommandRequest {
command: string;
timeout?: number;
workingDirectory?: string;
environment?: Record<string, string>;
}
export interface ExecuteAsyncCommandResponse {
success: boolean;
result: {
messageId: string;
command: string;
status: string;
jobId: string;
};
statusCode: number;
errors: string[];
}
export interface InterruptCommandResponse {
success: boolean;
result: {
messageId: string;
status: string;
message: string;
};
statusCode: number;
errors: string[];
}
export interface CloseSessionResponse {
success: boolean;
result: {
sessionId: string;
status: string;
message: string;
};
statusCode: number;
errors: string[];
}
export interface GetCommandMessageResponse {
success: boolean;
result: InterACTMessage & {
output?: string;
error?: string;
exitCode?: number;
};
statusCode: number;
errors: string[];
}
export interface AssignInterACTTaskRequest {
sessionType: string;
commands?: string[];
timeout?: number;
filter: {
searchTerm?: string;
name?: string;
ipAddress?: string;
groupId?: string;
groupFullPath?: string;
managedStatus?: string[];
isolationStatus?: string[];
platform?: string[];
issue?: string;
onlineStatus?: string[];
tags?: string[];
version?: string;
policy?: string;
includedEndpointIds?: string[];
excludedEndpointIds?: string[];
organizationIds?: (string | number)[];
};
}
export interface CreateInterACTSessionRequest {
assetId: string;
caseId?: string | null;
taskConfig: {
choice: string;
};
}
export interface AssignInterACTTaskResponse {
success: boolean;
result: Array<{
_id: string;
name: string;
sessionId: string;
endpointId: string;
organizationId: number;
loginUrl?: string;
shellUrl?: string;
reportUrl?: string;
}>;
statusCode: number;
errors: string[];
}
export interface CreateInterACTSessionResponse {
success: boolean;
result: {
id: string;
type: string;
data: {
sessionId: string;
idleTimeout: number;
config: any;
privileges: string[];
};
assetId: string;
loginUrl: string;
shellUrl: string;
reportUrl: string;
};
statusCode: number;
errors: string[];
}
export declare const api: {
executeCommand(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, sessionId: string, data: ExecuteCommandRequest): Promise<ExecuteCommandResponse>;
executeAsyncCommand(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, sessionId: string, data: ExecuteAsyncCommandRequest): Promise<ExecuteAsyncCommandResponse>;
interruptCommand(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, sessionId: string, messageId: string): Promise<InterruptCommandResponse>;
closeSession(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, sessionId: string): Promise<CloseSessionResponse>;
getCommandMessage(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, sessionId: string, messageId: string): Promise<GetCommandMessageResponse>;
assignInterACTTask(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: AssignInterACTTaskRequest): Promise<AssignInterACTTaskResponse>;
createInterACTSession(context: IExecuteFunctions | ILoadOptionsFunctions, credentials: AirCredentials, data: CreateInterACTSessionRequest): Promise<CreateInterACTSessionResponse>;
};