@vzeta/zeebe-node-test
Version:
The Node.js client library for the Zeebe Workflow Automation Engine.
170 lines (169 loc) • 9.82 kB
TypeScript
/// <reference types="node" />
import { MaybeTimeDuration } from 'typed-duration';
import * as ZB_deprecated from '../lib/interfaces';
import * as ZB from '../lib/interfaces-1.0';
import { CreateWorkflowInstanceWithResult } from '../lib/interfaces';
import * as Grpc_deprecated from '../lib/interfaces-grpc';
import * as Grpc from '../lib/interfaces-grpc-1.0';
import { Loglevel, ZBClientOptions } from '../lib/interfaces-published-contract';
import { TypedEmitter } from '../lib/TypedEmitter';
import { ZBBatchWorker } from './ZBBatchWorker';
import { ZBWorker } from './ZBWorker';
export declare const ConnectionStatusEvent: {
close: "close";
connectionError: "connectionError";
ready: "ready";
unknown: "unknown";
};
export declare class ZBClient extends TypedEmitter<typeof ConnectionStatusEvent> {
static readonly DEFAULT_CONNECTION_TOLERANCE: import("typed-duration").Milliseconds;
private static readonly DEFAULT_MAX_RETRIES;
private static readonly DEFAULT_MAX_RETRY_TIMEOUT;
private static readonly DEFAULT_LONGPOLL_PERIOD;
private static readonly DEFAULT_POLL_INTERVAL;
connectionTolerance: MaybeTimeDuration;
connected?: boolean;
readied: boolean;
gatewayAddress: string;
loglevel: Loglevel;
onReady?: () => void;
onConnectionError?: () => void;
private logger;
private closePromise?;
private closing;
private grpc;
private options;
private workerCount;
private workers;
private retry;
private maxRetries;
private maxRetryTimeout;
private oAuth?;
private basicAuth?;
private useTLS;
private stdout;
private customSSL?;
/**
*
* @param options Zero-conf constructor. The entire ZBClient connection config can be passed in via the environment.
*/
constructor(options?: ZBClientOptions);
constructor(gatewayAddress: string, options?: ZBClientOptions);
activateJobs<Variables = ZB.IInputVariables, CustomHeaders = ZB.ICustomHeaders>(request: Grpc.ActivateJobsRequest): Promise<ZB.Job[]>;
/**
* @deprecated use cancelProcessInstance instead
*/
cancelWorkflowInstance(workflowInstanceKey: string | number): Promise<void>;
cancelProcessInstance(processInstanceKey: string | number): Promise<void>;
createBatchWorker<WorkerInputVariables = ZB.IInputVariables, CustomHeaderShape = ZB.ICustomHeaders, WorkerOutputVariables = ZB.IOutputVariables>(conf: ZB.ZBBatchWorkerConfig<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>): ZBBatchWorker<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>;
createWorker<WorkerInputVariables = ZB.IInputVariables, CustomHeaderShape = ZB.ICustomHeaders, WorkerOutputVariables = ZB.IOutputVariables>(config: ZB.ZBWorkerConfig<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>): ZBWorker<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>;
/**
* @deprecated use the object constructor instead
*/
createWorker<WorkerInputVariables = ZB.IInputVariables, CustomHeaderShape = ZB.ICustomHeaders, WorkerOutputVariables = ZB.IOutputVariables>(id: string | null, taskType: string, taskHandler: ZB.ZBWorkerTaskHandler<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>, options?: ZB.ZBWorkerOptions<WorkerInputVariables> & ZBClientOptions, onConnectionError?: ZB.ConnectionErrorHandler | undefined): ZBWorker<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>;
/**
* @deprecated use the object constructor instead
*/
createWorker<WorkerInputVariables = ZB.IInputVariables, CustomHeaderShape = ZB.ICustomHeaders, WorkerOutputVariables = ZB.IOutputVariables>(taskType: string, taskHandler: ZB.ZBWorkerTaskHandler<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>, options?: ZB.ZBWorkerOptions<WorkerInputVariables> & ZBClientOptions, onConnectionError?: ZB.ConnectionErrorHandler | undefined): ZBWorker<WorkerInputVariables, CustomHeaderShape, WorkerOutputVariables>;
/**
* Gracefully shut down all workers, draining existing tasks, and return when it is safe to exit.
* @returns Promise
* @memberof ZBClient
*/
close(timeout?: number): Promise<null>;
completeJob(completeJobRequest: Grpc.CompleteJobRequest): Promise<void>;
/**
* @deprecated use createProcessInstance instead
*/
createWorkflowInstance<Variables = ZB_deprecated.IWorkflowVariables>(bpmnProcessId: string, variables: Variables): Promise<Grpc_deprecated.CreateWorkflowInstanceResponse>;
createWorkflowInstance<Variables = ZB_deprecated.IWorkflowVariables>(config: {
bpmnProcessId: string;
variables: Variables;
version: number;
}): Promise<Grpc_deprecated.CreateWorkflowInstanceResponse>;
createProcessInstance<Variables = ZB.IProcessVariables>(bpmnProcessId: string, variables: Variables): Promise<Grpc.CreateProcessInstanceResponse>;
createProcessInstance<Variables = ZB.IProcessVariables>(config: {
bpmnProcessId: string;
variables: Variables;
version: number;
}): Promise<Grpc.CreateProcessInstanceResponse>;
/**
* @deprecated use createProcessInstanceWithResult instead
*
*/
createWorkflowInstanceWithResult<Variables = ZB_deprecated.IWorkflowVariables, Result = ZB.IOutputVariables>(config: CreateWorkflowInstanceWithResult<Variables>): Promise<Grpc_deprecated.CreateWorkflowInstanceWithResultResponse<Result>>;
/**
* @deprecated use createProcessInstanceWithResult instead
*
*/
createWorkflowInstanceWithResult<Variables = ZB_deprecated.IWorkflowVariables, Result = ZB.IOutputVariables>(bpmnProcessId: string, variables: Variables): Promise<Grpc_deprecated.CreateWorkflowInstanceWithResultResponse<Result>>;
createProcessInstanceWithResult<Variables = ZB.IInputVariables, Result = ZB.IOutputVariables>(bpmnProcessId: string, variables: Variables): Promise<Grpc.CreateProcessInstanceWithResultResponse<Result>>;
createProcessInstanceWithResult<Variables = ZB.IProcessVariables, Result = ZB.IOutputVariables>(config: ZB.CreateProcessInstanceWithResult<Variables>): Promise<Grpc.CreateProcessInstanceWithResultResponse<Result>>;
createProcessInstanceWithResult<Variables = ZB.IProcessVariables, Result = ZB.IOutputVariables>(bpmnProcessId: string, variables: Variables): Promise<Grpc.CreateProcessInstanceWithResultResponse<Result>>;
/**
*
* @param workflow - A path or array of paths to .bpmn files or an object describing the workflow
* @deprecated use deployProcess instead
*/
deployWorkflow(workflow: ZB_deprecated.DeployWorkflowFiles | ZB_deprecated.DeployWorkflowBuffer): Promise<Grpc_deprecated.DeployWorkflowResponse>;
deployResource(resource: {
processFilename: string;
} | {
name: string;
process: Buffer;
}): Promise<Grpc.DeployResourceResponse<Grpc.ProcessDeployment>>;
deployResource(resource: {
decisionFilename: string;
} | {
name: string;
decision: Buffer;
}): Promise<Grpc.DeployResourceResponse<Grpc.DecisionDeployment>>;
deployProcess(process: ZB.DeployProcessFiles | ZB.DeployProcessBuffer): Promise<Grpc.DeployProcessResponse>;
failJob(failJobRequest: Grpc.FailJobRequest): Promise<void>;
/**
* Return an array of task-types specified in a BPMN file.
* @param file - Path to bpmn file.
*/
getServiceTypesFromBpmn(files: string | string[]): Promise<string[]>;
/**
* Publish a message to the broker for correlation with a workflow instance.
* @param publishMessageRequest - The message to publish.
*/
publishMessage<ProcessVariables = ZB.IProcessVariables>(publishMessageRequest: Grpc.PublishMessageRequest<ProcessVariables>): Promise<Grpc.PublishMessageResponse>;
/**
* Publish a message to the broker for correlation with a workflow message start event.
* @param publishStartMessageRequest - The message to publish.
*/
publishStartMessage<ProcessVariables = ZB.IProcessVariables>(publishStartMessageRequest: Grpc.PublishStartMessageRequest<ProcessVariables>): Promise<Grpc.PublishMessageResponse>;
resolveIncident(resolveIncidentRequest: Grpc.ResolveIncidentRequest): Promise<void>;
setVariables<Variables = ZB.IProcessVariables>(request: Grpc.SetVariablesRequest<Variables>): Promise<void>;
/**
*
* Report a business error (i.e. non-technical) that occurs while processing a job.
* The error is handled in the workflow by an error catch event.
* If there is no error catch event with the specified errorCode then an incident will be raised instead.
*/
throwError(throwErrorRequest: Grpc.ThrowErrorRequest): Promise<void>;
/**
* Return the broker cluster topology
*/
topology(): Promise<Grpc.TopologyResponse>;
updateJobRetries(updateJobRetriesRequest: Grpc.UpdateJobRetriesRequest): Promise<void>;
private constructGrpcClient;
/**
* If this.retry is set true, the operation will be wrapped in an configurable retry on exceptions
* of gRPC error code 14 - Transient Network Failure.
* See: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md
* If this.retry is false, it will be executed with no retry, and the application should handle the exception.
* @param operation A gRPC command operation
*/
private executeOperation;
private _onConnectionError;
/**
* This function takes a gRPC operation that returns a Promise as a function, and invokes it.
* If the operation throws gRPC error 14, this function will continue to try it until it succeeds
* or retries are exhausted.
* @param operation A gRPC command operation that may fail if the broker is not available
*/
private retryOnFailure;
}