@aneoconsultingfr/armonik.api
Version:
gRPC API to interact with ArmoniK built for the web
70 lines (67 loc) • 3.73 kB
text/typescript
import { Observable } from 'rxjs';
import { CreateTaskRequest, CreateTaskReply, CreateResultsMetaDataRequest, CreateResultsMetaDataResponse, CreateResultsRequest, CreateResultsResponse, NotifyResultDataRequest, NotifyResultDataResponse, SubmitTasksRequest, SubmitTasksResponse, DataRequest, DataResponse } from './agent_common.mjs';
import './objects.mjs';
import 'protobufjs/minimal.js';
import './google/protobuf/duration.mjs';
import './task_status.mjs';
import './result_status.mjs';
declare const protobufPackage = "armonik.api.grpc.v1.agent";
interface Agent {
CreateTask(request: Observable<CreateTaskRequest>): Promise<CreateTaskReply>;
/**
* Create the metadata of multiple results at once
* Data have to be uploaded separately
*/
CreateResultsMetaData(request: CreateResultsMetaDataRequest): Promise<CreateResultsMetaDataResponse>;
/** Create one result with data included in the request */
CreateResults(request: CreateResultsRequest): Promise<CreateResultsResponse>;
/**
* Notify Agent that a data file representing the Result to upload is available in the shared folder
* The name of the file should be the result id
* Blocks until data are stored in Object Storage
*/
NotifyResultData(request: NotifyResultDataRequest): Promise<NotifyResultDataResponse>;
/** Create tasks metadata and submit task for processing. */
SubmitTasks(request: SubmitTasksRequest): Promise<SubmitTasksResponse>;
/**
* Retrieve Resource Data from the Agent
* Data is stored in the shared folder between Agent and Worker as a file with the result id as name
* Blocks until data are available in the shared folder
*/
GetResourceData(request: DataRequest): Promise<DataResponse>;
/**
* Retrieve Resource Data from the Agent
* Data is stored in the shared folder between Agent and Worker as a file with the result id as name
* Blocks until data are available in the shared folder
*/
GetCommonData(request: DataRequest): Promise<DataResponse>;
/**
* Retrieve Resource Data from the Agent
* Data is stored in the shared folder between Agent and Worker as a file with the result id as name
* Blocks until data are available in the shared folder
*/
GetDirectData(request: DataRequest): Promise<DataResponse>;
}
declare const AgentServiceName = "armonik.api.grpc.v1.agent.Agent";
declare class AgentClientImpl implements Agent {
private readonly rpc;
private readonly service;
constructor(rpc: Rpc, opts?: {
service?: string;
});
CreateTask(request: Observable<CreateTaskRequest>): Promise<CreateTaskReply>;
CreateResultsMetaData(request: CreateResultsMetaDataRequest): Promise<CreateResultsMetaDataResponse>;
CreateResults(request: CreateResultsRequest): Promise<CreateResultsResponse>;
NotifyResultData(request: NotifyResultDataRequest): Promise<NotifyResultDataResponse>;
SubmitTasks(request: SubmitTasksRequest): Promise<SubmitTasksResponse>;
GetResourceData(request: DataRequest): Promise<DataResponse>;
GetCommonData(request: DataRequest): Promise<DataResponse>;
GetDirectData(request: DataRequest): Promise<DataResponse>;
}
interface Rpc {
request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
clientStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Promise<Uint8Array>;
serverStreamingRequest(service: string, method: string, data: Uint8Array): Observable<Uint8Array>;
bidirectionalStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Observable<Uint8Array>;
}
export { Agent, AgentClientImpl, AgentServiceName, protobufPackage };