@camunda8/sdk 8.4.0 → 8.5.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +31 -0
- package/CHANGELOG.md +32 -21
- package/CODE_OF_CONDUCT.md +73 -0
- package/CONTRIBUTING.md +116 -0
- package/LICENSE +3 -3
- package/README.md +228 -34
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.js +30 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/lib/AdminApiClient.d.ts +121 -0
- package/dist/admin/lib/AdminApiClient.js +254 -0
- package/dist/admin/lib/AdminApiClient.js.map +1 -0
- package/dist/admin/lib/AdminDto.d.ts +98 -0
- package/dist/admin/lib/AdminDto.js +3 -0
- package/dist/admin/lib/AdminDto.js.map +1 -0
- package/dist/c8/index.d.ts +42 -0
- package/dist/c8/index.js +92 -0
- package/dist/c8/index.js.map +1 -0
- package/dist/index.d.ts +15 -14
- package/dist/index.js +14 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/CertificateAuthority.d.ts +2 -0
- package/dist/lib/CertificateAuthority.js +15 -0
- package/dist/lib/CertificateAuthority.js.map +1 -0
- package/dist/lib/ClientConstructor.d.ts +6 -0
- package/dist/lib/ClientConstructor.js +3 -0
- package/dist/lib/ClientConstructor.js.map +1 -0
- package/dist/lib/Configuration.d.ts +113 -0
- package/dist/lib/Configuration.js +367 -0
- package/dist/lib/Configuration.js.map +1 -0
- package/dist/lib/ConstructOAuthProvider.d.ts +3 -0
- package/dist/lib/ConstructOAuthProvider.js +14 -0
- package/dist/lib/ConstructOAuthProvider.js.map +1 -0
- package/dist/lib/CreateUserAgentString.d.ts +2 -0
- package/dist/lib/CreateUserAgentString.js +11 -0
- package/dist/lib/CreateUserAgentString.js.map +1 -0
- package/dist/lib/Delay.d.ts +1 -0
- package/dist/lib/Delay.js +6 -0
- package/dist/lib/Delay.js.map +1 -0
- package/dist/lib/EnvironmentSetup.d.ts +11 -0
- package/dist/lib/EnvironmentSetup.js +35 -0
- package/dist/lib/EnvironmentSetup.js.map +1 -0
- package/dist/lib/GetPackageVersion.d.ts +1 -0
- package/dist/lib/GetPackageVersion.js +32 -0
- package/dist/lib/GetPackageVersion.js.map +1 -0
- package/dist/lib/LosslessJsonParser.d.ts +103 -0
- package/dist/lib/LosslessJsonParser.js +252 -0
- package/dist/lib/LosslessJsonParser.js.map +1 -0
- package/dist/lib/RequireConfiguration.d.ts +2 -0
- package/dist/lib/RequireConfiguration.js +11 -0
- package/dist/lib/RequireConfiguration.js.map +1 -0
- package/dist/lib/SuppressZeebeLogging.d.ts +2 -0
- package/dist/lib/SuppressZeebeLogging.js +14 -0
- package/dist/lib/SuppressZeebeLogging.js.map +1 -0
- package/dist/lib/ValueOrDefault.d.ts +1 -0
- package/dist/lib/ValueOrDefault.js +8 -0
- package/dist/lib/ValueOrDefault.js.map +1 -0
- package/dist/lib/index.d.ts +12 -0
- package/dist/lib/index.js +32 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/modeler/index.d.ts +2 -0
- package/dist/modeler/index.js +30 -0
- package/dist/modeler/index.js.map +1 -0
- package/dist/modeler/lib/ModelerAPIClient.d.ts +210 -0
- package/dist/modeler/lib/ModelerAPIClient.js +417 -0
- package/dist/modeler/lib/ModelerAPIClient.js.map +1 -0
- package/dist/modeler/lib/ModelerDto.d.ts +187 -0
- package/dist/modeler/lib/ModelerDto.js +3 -0
- package/dist/modeler/lib/ModelerDto.js.map +1 -0
- package/dist/oauth/index.d.ts +15 -0
- package/dist/oauth/index.js +8 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/lib/IOAuthProvider.d.ts +4 -0
- package/dist/oauth/lib/IOAuthProvider.js +3 -0
- package/dist/oauth/lib/IOAuthProvider.js.map +1 -0
- package/dist/oauth/lib/NullAuthProvider.d.ts +5 -0
- package/dist/oauth/lib/NullAuthProvider.js +16 -0
- package/dist/oauth/lib/NullAuthProvider.js.map +1 -0
- package/dist/oauth/lib/OAuthProvider.d.ts +44 -0
- package/dist/oauth/lib/OAuthProvider.js +316 -0
- package/dist/oauth/lib/OAuthProvider.js.map +1 -0
- package/dist/operate/index.d.ts +2 -0
- package/dist/operate/index.js +30 -0
- package/dist/operate/index.js.map +1 -0
- package/dist/operate/lib/OperateApiClient.d.ts +204 -0
- package/dist/operate/lib/OperateApiClient.js +440 -0
- package/dist/operate/lib/OperateApiClient.js.map +1 -0
- package/dist/operate/lib/OperateDto.d.ts +126 -0
- package/dist/operate/lib/OperateDto.js +125 -0
- package/dist/operate/lib/OperateDto.js.map +1 -0
- package/dist/operate/lib/TestableOperateApiClient.d.ts +7 -0
- package/dist/operate/lib/TestableOperateApiClient.js +15 -0
- package/dist/operate/lib/TestableOperateApiClient.js.map +1 -0
- package/dist/operate/lib/parseSearchResults.d.ts +4 -0
- package/dist/operate/lib/parseSearchResults.js +26 -0
- package/dist/operate/lib/parseSearchResults.js.map +1 -0
- package/dist/optimize/index.d.ts +2 -0
- package/dist/optimize/index.js +30 -0
- package/dist/optimize/index.js.map +1 -0
- package/dist/optimize/lib/APIObjects.d.ts +191 -0
- package/dist/optimize/lib/APIObjects.js +3 -0
- package/dist/optimize/lib/APIObjects.js.map +1 -0
- package/dist/optimize/lib/OptimizeApiClient.d.ts +269 -0
- package/dist/optimize/lib/OptimizeApiClient.js +410 -0
- package/dist/optimize/lib/OptimizeApiClient.js.map +1 -0
- package/dist/optimize/lib/ReportResults.d.ts +23 -0
- package/dist/optimize/lib/ReportResults.js +28 -0
- package/dist/optimize/lib/ReportResults.js.map +1 -0
- package/dist/proto/zeebe.proto +996 -0
- package/dist/tasklist/index.d.ts +2 -0
- package/dist/tasklist/index.js +30 -0
- package/dist/tasklist/index.js.map +1 -0
- package/dist/tasklist/lib/TasklistApiClient.d.ts +104 -0
- package/dist/tasklist/lib/TasklistApiClient.js +233 -0
- package/dist/tasklist/lib/TasklistApiClient.js.map +1 -0
- package/dist/tasklist/lib/TasklistDto.d.ts +147 -0
- package/dist/tasklist/lib/TasklistDto.js +26 -0
- package/dist/tasklist/lib/TasklistDto.js.map +1 -0
- package/dist/tasklist/lib/utils.d.ts +15 -0
- package/dist/tasklist/lib/utils.js +25 -0
- package/dist/tasklist/lib/utils.js.map +1 -0
- package/dist/zeebe/index.d.ts +21 -0
- package/dist/zeebe/index.js +53 -0
- package/dist/zeebe/index.js.map +1 -0
- package/dist/zeebe/lib/BpmnParser.d.ts +38 -0
- package/dist/zeebe/lib/BpmnParser.js +274 -0
- package/dist/zeebe/lib/BpmnParser.js.map +1 -0
- package/dist/zeebe/lib/ConnectionFactory.d.ts +25 -0
- package/dist/zeebe/lib/ConnectionFactory.js +43 -0
- package/dist/zeebe/lib/ConnectionFactory.js.map +1 -0
- package/dist/zeebe/lib/ConnectionStatusEvent.d.ts +6 -0
- package/dist/zeebe/lib/ConnectionStatusEvent.js +10 -0
- package/dist/zeebe/lib/ConnectionStatusEvent.js.map +1 -0
- package/dist/zeebe/lib/GetPackageVersion.d.ts +1 -0
- package/dist/zeebe/lib/GetPackageVersion.js +32 -0
- package/dist/zeebe/lib/GetPackageVersion.js.map +1 -0
- package/dist/zeebe/lib/GrpcClient.d.ts +75 -0
- package/dist/zeebe/lib/GrpcClient.js +467 -0
- package/dist/zeebe/lib/GrpcClient.js.map +1 -0
- package/dist/zeebe/lib/GrpcError.d.ts +19 -0
- package/dist/zeebe/lib/GrpcError.js +23 -0
- package/dist/zeebe/lib/GrpcError.js.map +1 -0
- package/dist/zeebe/lib/GrpcMiddleware.d.ts +21 -0
- package/dist/zeebe/lib/GrpcMiddleware.js +78 -0
- package/dist/zeebe/lib/GrpcMiddleware.js.map +1 -0
- package/dist/zeebe/lib/MockStdOut.d.ts +7 -0
- package/dist/zeebe/lib/MockStdOut.js +19 -0
- package/dist/zeebe/lib/MockStdOut.js.map +1 -0
- package/dist/zeebe/lib/Queue.d.ts +8 -0
- package/dist/zeebe/lib/Queue.js +15 -0
- package/dist/zeebe/lib/Queue.js.map +1 -0
- package/dist/zeebe/lib/SimpleLogger.d.ts +8 -0
- package/dist/zeebe/lib/SimpleLogger.js +47 -0
- package/dist/zeebe/lib/SimpleLogger.js.map +1 -0
- package/dist/zeebe/lib/StatefulLogInterceptor.d.ts +29 -0
- package/dist/zeebe/lib/StatefulLogInterceptor.js +81 -0
- package/dist/zeebe/lib/StatefulLogInterceptor.js.map +1 -0
- package/dist/zeebe/lib/TypedEmitter.d.ts +16 -0
- package/dist/zeebe/lib/TypedEmitter.js +24 -0
- package/dist/zeebe/lib/TypedEmitter.js.map +1 -0
- package/dist/zeebe/lib/ZBJsonLogger.d.ts +5 -0
- package/dist/zeebe/lib/ZBJsonLogger.js +12 -0
- package/dist/zeebe/lib/ZBJsonLogger.js.map +1 -0
- package/dist/zeebe/lib/ZBLogger.d.ts +20 -0
- package/dist/zeebe/lib/ZBLogger.js +134 -0
- package/dist/zeebe/lib/ZBLogger.js.map +1 -0
- package/dist/zeebe/lib/ZBWorkerBase.d.ts +78 -0
- package/dist/zeebe/lib/ZBWorkerBase.js +417 -0
- package/dist/zeebe/lib/ZBWorkerBase.js.map +1 -0
- package/dist/zeebe/lib/cancelProcesses.d.ts +1 -0
- package/dist/zeebe/lib/cancelProcesses.js +40 -0
- package/dist/zeebe/lib/cancelProcesses.js.map +1 -0
- package/dist/zeebe/lib/createUniqueTaskType.d.ts +0 -0
- package/dist/zeebe/lib/createUniqueTaskType.js +65 -0
- package/dist/zeebe/lib/createUniqueTaskType.js.map +1 -0
- package/dist/zeebe/lib/index.d.ts +2 -0
- package/dist/zeebe/lib/index.js +19 -0
- package/dist/zeebe/lib/index.js.map +1 -0
- package/dist/zeebe/lib/interfaces-1.0.d.ts +303 -0
- package/dist/zeebe/lib/interfaces-1.0.js +5 -0
- package/dist/zeebe/lib/interfaces-1.0.js.map +1 -0
- package/dist/zeebe/lib/interfaces-grpc-1.0.d.ts +679 -0
- package/dist/zeebe/lib/interfaces-grpc-1.0.js +22 -0
- package/dist/zeebe/lib/interfaces-grpc-1.0.js.map +1 -0
- package/dist/zeebe/lib/interfaces-published-contract.d.ts +67 -0
- package/dist/zeebe/lib/interfaces-published-contract.js +3 -0
- package/dist/zeebe/lib/interfaces-published-contract.js.map +1 -0
- package/dist/zeebe/lib/stringifyVariables.d.ts +18 -0
- package/dist/zeebe/lib/stringifyVariables.js +28 -0
- package/dist/zeebe/lib/stringifyVariables.js.map +1 -0
- package/dist/zeebe/lib/utils.d.ts +7 -0
- package/dist/zeebe/lib/utils.js +48 -0
- package/dist/zeebe/lib/utils.js.map +1 -0
- package/dist/zeebe/types.d.ts +3 -0
- package/dist/zeebe/types.js +20 -0
- package/dist/zeebe/types.js.map +1 -0
- package/dist/zeebe/zb/ZBWorker.d.ts +7 -0
- package/dist/zeebe/zb/ZBWorker.js +73 -0
- package/dist/zeebe/zb/ZBWorker.js.map +1 -0
- package/dist/zeebe/zb/ZeebeGrpcClient.d.ts +587 -0
- package/dist/zeebe/zb/ZeebeGrpcClient.js +1021 -0
- package/dist/zeebe/zb/ZeebeGrpcClient.js.map +1 -0
- package/package.json +130 -30
- package/renovate.json +9 -0
- package/.github/workflows/build-docs.yml +0 -39
- package/.github/workflows/tag-and-publish.yml +0 -48
- package/.prettierignore +0 -2
- package/img/video.png +0 -0
- package/jest.config.js +0 -5
- package/src/__tests__/exports.spec.ts +0 -7
- package/src/index.ts +0 -17
- package/tsconfig.build.json +0 -8
- package/tsconfig.json +0 -10
- package/tsconfig.tsbuildinfo +0 -1
- package/typedoc.json +0 -10
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.Logging = exports.Types = exports.BpmnParser = exports.Duration = void 0;
|
|
30
|
+
var typed_duration_1 = require("typed-duration");
|
|
31
|
+
Object.defineProperty(exports, "Duration", { enumerable: true, get: function () { return typed_duration_1.Duration; } });
|
|
32
|
+
var BpmnParser_1 = require("./lib/BpmnParser");
|
|
33
|
+
Object.defineProperty(exports, "BpmnParser", { enumerable: true, get: function () { return BpmnParser_1.BpmnParser; } });
|
|
34
|
+
const SimpleLogger_1 = require("./lib/SimpleLogger");
|
|
35
|
+
const ZBJsonLogger_1 = require("./lib/ZBJsonLogger");
|
|
36
|
+
const ZBLogger_1 = require("./lib/ZBLogger");
|
|
37
|
+
const Interfaces = __importStar(require("./lib/interfaces-1.0"));
|
|
38
|
+
const GrpcInterfaces = __importStar(require("./lib/interfaces-grpc-1.0"));
|
|
39
|
+
const PublishedContract = __importStar(require("./lib/interfaces-published-contract"));
|
|
40
|
+
__exportStar(require("./zb/ZBWorker"), exports);
|
|
41
|
+
__exportStar(require("./zb/ZeebeGrpcClient"), exports);
|
|
42
|
+
/** @namespace */
|
|
43
|
+
exports.Types = {
|
|
44
|
+
...Interfaces,
|
|
45
|
+
...GrpcInterfaces,
|
|
46
|
+
...PublishedContract,
|
|
47
|
+
};
|
|
48
|
+
exports.Logging = {
|
|
49
|
+
ZBJsonLogger: ZBJsonLogger_1.ZBJsonLogger,
|
|
50
|
+
ZBLogger: ZBLogger_1.ZBLogger,
|
|
51
|
+
ZBSimpleLogger: SimpleLogger_1.ZBSimpleLogger,
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zeebe/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyC;AAAhC,0GAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,wGAAA,UAAU,OAAA;AACnB,qDAAmD;AACnD,qDAAiD;AACjD,6CAAyC;AACzC,iEAAkD;AAClD,0EAA2D;AAC3D,uFAAwE;AAExE,gDAA6B;AAC7B,uDAAoC;AACpC,iBAAiB;AACJ,QAAA,KAAK,GAAG;IACpB,GAAG,UAAU;IACb,GAAG,cAAc;IACjB,GAAG,iBAAiB;CACpB,CAAA;AAEY,QAAA,OAAO,GAAG;IACtB,YAAY,EAAZ,2BAAY;IACZ,QAAQ,EAAR,mBAAQ;IACR,cAAc,EAAd,6BAAc;CACd,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare class BpmnParser {
|
|
2
|
+
static taskTypes: any;
|
|
3
|
+
/**
|
|
4
|
+
* Read BPMN files and return an array of one or more parsed BPMN objects.
|
|
5
|
+
* @param filenames - A single BPMN file path, or array of BPMN file paths.
|
|
6
|
+
*/
|
|
7
|
+
static parseBpmn(filenames: string | string[]): object;
|
|
8
|
+
static getProcessId(bpmnString: string): any;
|
|
9
|
+
static scaffold(filename: string): Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* Generate TypeScript constants for task types and message names in BPMN files
|
|
12
|
+
* @param filenames - a BPMN file path or array of BPMN file paths
|
|
13
|
+
*/
|
|
14
|
+
static generateConstantsForBpmnFiles(filenames: string | string[]): Promise<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Take one or more parsed BPMN objects and return an array of unique task types.
|
|
17
|
+
* @param processes - A parsed BPMN object, or an array of parsed BPMN objects.
|
|
18
|
+
*/
|
|
19
|
+
static getTaskTypes(processes: object[] | object): Promise<string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Take one or more parsed BPMN objects and return an array of unique message names.
|
|
22
|
+
* @param processes - A parsed BPMN object, or an array of parsed BPMN objects.
|
|
23
|
+
*/
|
|
24
|
+
static getMessageNames(processes: object[] | object): Promise<string[]>;
|
|
25
|
+
private static parserOptions;
|
|
26
|
+
private static parser;
|
|
27
|
+
private static mergeDedupeAndSort;
|
|
28
|
+
/**
|
|
29
|
+
* Return an array of task types.
|
|
30
|
+
* @param bpmnObject - A parsed Bpmn object.
|
|
31
|
+
*/
|
|
32
|
+
private static scanBpmnObjectForTasks;
|
|
33
|
+
/**
|
|
34
|
+
* Return an array of message names.
|
|
35
|
+
* @param bpmnObject - A parsed Bpmn object.
|
|
36
|
+
*/
|
|
37
|
+
private static scanBpmnObjectForMessages;
|
|
38
|
+
}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.BpmnParser = void 0;
|
|
27
|
+
const fs = require("fs");
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
30
|
+
// Converts, for example, task_type or task-type to TaskType
|
|
31
|
+
const getSafeName = (tasktype) => tasktype
|
|
32
|
+
.split('_')
|
|
33
|
+
.map(([f, ...r]) => [f.toUpperCase(), ...r].join(''))
|
|
34
|
+
.join('')
|
|
35
|
+
.split('-')
|
|
36
|
+
.map(([f, ...r]) => [f.toUpperCase(), ...r].join(''))
|
|
37
|
+
.join('');
|
|
38
|
+
const getConstantName = (name) => name.split('-').join('_').split(' ').join('_').toUpperCase();
|
|
39
|
+
const toArray = (stringOrArray) => Array.isArray(stringOrArray) ? stringOrArray : [stringOrArray];
|
|
40
|
+
class BpmnParser {
|
|
41
|
+
/**
|
|
42
|
+
* Read BPMN files and return an array of one or more parsed BPMN objects.
|
|
43
|
+
* @param filenames - A single BPMN file path, or array of BPMN file paths.
|
|
44
|
+
*/
|
|
45
|
+
static parseBpmn(filenames) {
|
|
46
|
+
if (typeof filenames === 'string') {
|
|
47
|
+
filenames = [filenames];
|
|
48
|
+
}
|
|
49
|
+
return filenames.map((filename) => {
|
|
50
|
+
if (filename) {
|
|
51
|
+
const xmlData = fs.readFileSync(filename, 'utf8');
|
|
52
|
+
if (xmlData && fast_xml_parser_1.XMLValidator.validate(xmlData)) {
|
|
53
|
+
return BpmnParser.parser.parse(xmlData);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// @ TODO: examine Camunda's parse BPMN code
|
|
60
|
+
// https://github.com/camunda/camunda-bpmn-model/tree/master/src/main/java/org/camunda/bpm/model/bpmn
|
|
61
|
+
static getProcessId(bpmnString) {
|
|
62
|
+
const jsonObj = BpmnParser.parser.parse(bpmnString);
|
|
63
|
+
return jsonObj?.['bpmn:definitions']?.['bpmn:process']?.['@_id'];
|
|
64
|
+
}
|
|
65
|
+
// Produce a starter worker file from a BPMN file
|
|
66
|
+
static async scaffold(filename) {
|
|
67
|
+
const removeUndefined = (t) => !!t;
|
|
68
|
+
const buildEnumDictionaryFromArray = (a) => a
|
|
69
|
+
.filter(removeUndefined)
|
|
70
|
+
.map((t) => ({ [t]: getConstantName(t) }))
|
|
71
|
+
.reduce((prev, curr) => ({ ...prev, ...curr }), {});
|
|
72
|
+
const bpmnObject = BpmnParser.parseBpmn(filename)[0];
|
|
73
|
+
const taskTypes = await BpmnParser.getTaskTypes(bpmnObject);
|
|
74
|
+
const taskEnumDict = buildEnumDictionaryFromArray(taskTypes);
|
|
75
|
+
const interfaces = await BpmnParser.generateConstantsForBpmnFiles(filename);
|
|
76
|
+
const headerInterfaces = {}; // mutated in the recursive function
|
|
77
|
+
await scanForHeadersRecursively(bpmnObject);
|
|
78
|
+
const importStmnt = `import { ZBClient } from "zeebe-node"
|
|
79
|
+
|
|
80
|
+
const zbc = new ZBClient()
|
|
81
|
+
`;
|
|
82
|
+
const genericWorkflowVariables = `// @TODO Update with the shape of your job variables
|
|
83
|
+
// For better intellisense and type-safety
|
|
84
|
+
export interface WorkflowVariables {
|
|
85
|
+
[key: string]: any
|
|
86
|
+
}`;
|
|
87
|
+
const workers = taskTypes
|
|
88
|
+
.map((t) => `// Worker for tasks of type "${t}"
|
|
89
|
+
${headerInterfaces[t]
|
|
90
|
+
? headerInterfaces[t].join('|')
|
|
91
|
+
: 'type ' + getSafeName(t) + 'CustomHeaders = never'}
|
|
92
|
+
|
|
93
|
+
export const ${getSafeName(t)}Worker = zbc.createWorker<
|
|
94
|
+
WorkflowVariables,
|
|
95
|
+
${getSafeName(t)}CustomHeaders,
|
|
96
|
+
WorkflowVariables
|
|
97
|
+
>({ taskType: TaskType.${taskEnumDict[t]},
|
|
98
|
+
taskHandler: job => {
|
|
99
|
+
console.log(job)
|
|
100
|
+
return job.complete()
|
|
101
|
+
}
|
|
102
|
+
})
|
|
103
|
+
`)
|
|
104
|
+
.join('\n');
|
|
105
|
+
return `${importStmnt}
|
|
106
|
+
${genericWorkflowVariables}
|
|
107
|
+
${interfaces}
|
|
108
|
+
${workers}`;
|
|
109
|
+
async function scanForHeadersRecursively(obj) {
|
|
110
|
+
if (!(obj instanceof Object)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
for (const k in obj) {
|
|
114
|
+
if (Object.prototype.hasOwnProperty.call(obj, k)) {
|
|
115
|
+
if (k === 'bpmn:serviceTask') {
|
|
116
|
+
const tasks = toArray(obj[k]);
|
|
117
|
+
tasks.forEach((t) => {
|
|
118
|
+
const taskHeaders = t['bpmn:extensionElements']['zeebe:taskHeaders'];
|
|
119
|
+
const customHeaderNames = taskHeaders
|
|
120
|
+
? toArray(taskHeaders['zeebe:header']).map((h) => h['@_key'])
|
|
121
|
+
: undefined;
|
|
122
|
+
const tasktype = t['bpmn:extensionElements']['zeebe:taskDefinition']['@_type'];
|
|
123
|
+
const headerInterfaceName = getSafeName(tasktype);
|
|
124
|
+
if (customHeaderNames) {
|
|
125
|
+
const headerInterfaceDfnBody = customHeaderNames
|
|
126
|
+
.sort()
|
|
127
|
+
.map((h) => ' ' + h + ': string')
|
|
128
|
+
.join('\n');
|
|
129
|
+
const headerInterfaceDfn = `interface ${headerInterfaceName}CustomHeaders {
|
|
130
|
+
${headerInterfaceDfnBody}
|
|
131
|
+
}`;
|
|
132
|
+
if (!headerInterfaces[tasktype]) {
|
|
133
|
+
headerInterfaces[tasktype] = [headerInterfaceDfn];
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
if (headerInterfaces[tasktype].filter((d) => d === headerInterfaceDfn).length === 0) {
|
|
137
|
+
headerInterfaces[tasktype].push(`{
|
|
138
|
+
${headerInterfaceDfnBody}
|
|
139
|
+
}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// recursive call to scan property
|
|
147
|
+
await scanForHeadersRecursively(obj[k]);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Generate TypeScript constants for task types and message names in BPMN files
|
|
155
|
+
* @param filenames - a BPMN file path or array of BPMN file paths
|
|
156
|
+
*/
|
|
157
|
+
static async generateConstantsForBpmnFiles(filenames) {
|
|
158
|
+
const removeUndefined = (t) => !!t;
|
|
159
|
+
const buildEnumListFromArray = (a) => a
|
|
160
|
+
.filter(removeUndefined)
|
|
161
|
+
.map((t) => ` ${getConstantName(t)} = "${t}"`)
|
|
162
|
+
.join(',\n');
|
|
163
|
+
if (typeof filenames === 'string') {
|
|
164
|
+
filenames = [filenames];
|
|
165
|
+
}
|
|
166
|
+
const parsed = BpmnParser.parseBpmn(filenames);
|
|
167
|
+
const taskTypes = await BpmnParser.getTaskTypes(parsed);
|
|
168
|
+
const messageNames = await BpmnParser.getMessageNames(parsed);
|
|
169
|
+
const files = filenames.map((f) => path.basename(f));
|
|
170
|
+
const taskEnumMembers = buildEnumListFromArray(taskTypes);
|
|
171
|
+
const messageEnumMembers = buildEnumListFromArray(messageNames);
|
|
172
|
+
return `
|
|
173
|
+
// Autogenerated constants for ${files}
|
|
174
|
+
|
|
175
|
+
export enum TaskType {
|
|
176
|
+
${taskEnumMembers}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export enum MessageName {
|
|
180
|
+
${messageEnumMembers}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
`;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Take one or more parsed BPMN objects and return an array of unique task types.
|
|
187
|
+
* @param processes - A parsed BPMN object, or an array of parsed BPMN objects.
|
|
188
|
+
*/
|
|
189
|
+
static async getTaskTypes(processes) {
|
|
190
|
+
const processArray = toArray(processes);
|
|
191
|
+
return BpmnParser.mergeDedupeAndSort(await Promise.all(processArray.map(BpmnParser.scanBpmnObjectForTasks)));
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Take one or more parsed BPMN objects and return an array of unique message names.
|
|
195
|
+
* @param processes - A parsed BPMN object, or an array of parsed BPMN objects.
|
|
196
|
+
*/
|
|
197
|
+
static async getMessageNames(processes) {
|
|
198
|
+
const processArray = toArray(processes);
|
|
199
|
+
return BpmnParser.mergeDedupeAndSort(await Promise.all(processArray.map(BpmnParser.scanBpmnObjectForMessages)));
|
|
200
|
+
}
|
|
201
|
+
static mergeDedupeAndSort(arr) {
|
|
202
|
+
return [...new Set([].concat(...arr).sort())];
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Return an array of task types.
|
|
206
|
+
* @param bpmnObject - A parsed Bpmn object.
|
|
207
|
+
*/
|
|
208
|
+
static async scanBpmnObjectForTasks(bpmnObject) {
|
|
209
|
+
let taskTypes = []; // mutated in the recursive function
|
|
210
|
+
await scanRecursively(bpmnObject);
|
|
211
|
+
return [...new Set(taskTypes.sort())];
|
|
212
|
+
async function scanRecursively(obj) {
|
|
213
|
+
if (!(obj instanceof Object)) {
|
|
214
|
+
return; // not an Object so obj[k] here is a value
|
|
215
|
+
}
|
|
216
|
+
for (const k in obj) {
|
|
217
|
+
if (Object.prototype.hasOwnProperty.call(obj, k)) {
|
|
218
|
+
if (k === 'bpmn:serviceTask') {
|
|
219
|
+
const tasks = toArray(obj[k]);
|
|
220
|
+
taskTypes = taskTypes.concat(tasks.map((t) => t['bpmn:extensionElements']['zeebe:taskDefinition']['@_type']));
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// recursive call to scan property
|
|
224
|
+
await scanRecursively(obj[k]);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Return an array of message names.
|
|
232
|
+
* @param bpmnObject - A parsed Bpmn object.
|
|
233
|
+
*/
|
|
234
|
+
static async scanBpmnObjectForMessages(bpmnObject) {
|
|
235
|
+
let messageNames = []; // mutated in the recursive function
|
|
236
|
+
await scanRecursively(bpmnObject);
|
|
237
|
+
return [...new Set(messageNames.sort())];
|
|
238
|
+
async function scanRecursively(obj) {
|
|
239
|
+
if (!(obj instanceof Object)) {
|
|
240
|
+
return; // not an Object so obj[k] here is a value
|
|
241
|
+
}
|
|
242
|
+
for (const k in obj) {
|
|
243
|
+
if (Object.prototype.hasOwnProperty.call(obj, k)) {
|
|
244
|
+
if (k === 'bpmn:message') {
|
|
245
|
+
const messages = toArray(obj[k]);
|
|
246
|
+
messageNames = messageNames.concat(messages.map((m) => m['@_name']));
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// recursive call to scan property
|
|
250
|
+
await scanRecursively(obj[k]);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exports.BpmnParser = BpmnParser;
|
|
258
|
+
BpmnParser.parserOptions = {
|
|
259
|
+
allowBooleanAttributes: false,
|
|
260
|
+
attrNodeName: 'attr',
|
|
261
|
+
attributeNamePrefix: '@_',
|
|
262
|
+
cdataPositionChar: '\\c',
|
|
263
|
+
cdataTagName: '__cdata',
|
|
264
|
+
ignoreAttributes: false,
|
|
265
|
+
ignoreNameSpace: false,
|
|
266
|
+
localeRange: '',
|
|
267
|
+
parseAttributeValue: false,
|
|
268
|
+
parseNodeValue: true,
|
|
269
|
+
parseTrueNumberOnly: false,
|
|
270
|
+
textNodeName: '#text',
|
|
271
|
+
trimValues: true,
|
|
272
|
+
};
|
|
273
|
+
BpmnParser.parser = new fast_xml_parser_1.XMLParser(BpmnParser.parserOptions);
|
|
274
|
+
//# sourceMappingURL=BpmnParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BpmnParser.js","sourceRoot":"","sources":["../../../src/zeebe/lib/BpmnParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GrpcClientCtor } from './GrpcClient';
|
|
2
|
+
import { ZBLoggerConfig } from './interfaces-1.0';
|
|
3
|
+
import { StatefulLogInterceptor } from './StatefulLogInterceptor';
|
|
4
|
+
export type GrpcConnectionProfile = 'CAMUNDA_CLOUD' | 'VANILLA';
|
|
5
|
+
export interface Characteristics {
|
|
6
|
+
startupTime: number;
|
|
7
|
+
_tag: GrpcConnectionProfile;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @TODO we need to override this via the constructor
|
|
11
|
+
*/
|
|
12
|
+
export declare const ConnectionCharacteristics: {
|
|
13
|
+
[key in GrpcConnectionProfile]: Characteristics;
|
|
14
|
+
};
|
|
15
|
+
export type State = 'ERROR' | 'CONNECTED' | 'UNKNOWN';
|
|
16
|
+
export declare class ConnectionFactory {
|
|
17
|
+
static getGrpcClient({ grpcConfig, logConfig, }: {
|
|
18
|
+
grpcConfig: GrpcClientCtor;
|
|
19
|
+
logConfig: ZBLoggerConfig;
|
|
20
|
+
}): {
|
|
21
|
+
grpcClient: import("./GrpcClient").GrpcClient;
|
|
22
|
+
log: StatefulLogInterceptor;
|
|
23
|
+
};
|
|
24
|
+
private static getCharacteristics;
|
|
25
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectionFactory = exports.ConnectionCharacteristics = void 0;
|
|
4
|
+
const GrpcMiddleware_1 = require("./GrpcMiddleware");
|
|
5
|
+
const StatefulLogInterceptor_1 = require("./StatefulLogInterceptor");
|
|
6
|
+
/**
|
|
7
|
+
* @TODO we need to override this via the constructor
|
|
8
|
+
*/
|
|
9
|
+
exports.ConnectionCharacteristics = {
|
|
10
|
+
CAMUNDA_CLOUD: {
|
|
11
|
+
_tag: 'CAMUNDA_CLOUD',
|
|
12
|
+
startupTime: parseInt(process.env.ZEEBE_INITIAL_CONNECTION_TOLERANCE || '6000', 10),
|
|
13
|
+
},
|
|
14
|
+
VANILLA: {
|
|
15
|
+
_tag: 'VANILLA',
|
|
16
|
+
startupTime: parseInt(process.env.ZEEBE_INITIAL_CONNECTION_TOLERANCE || '0', 10),
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
class ConnectionFactory {
|
|
20
|
+
static getGrpcClient({ grpcConfig, logConfig, }) {
|
|
21
|
+
const characteristics = ConnectionFactory.getCharacteristics(grpcConfig.host);
|
|
22
|
+
const log = new StatefulLogInterceptor_1.StatefulLogInterceptor({ characteristics, logConfig });
|
|
23
|
+
const grpcClient = new GrpcMiddleware_1.GrpcMiddleware({
|
|
24
|
+
characteristics,
|
|
25
|
+
config: grpcConfig,
|
|
26
|
+
log,
|
|
27
|
+
}).getGrpcClient();
|
|
28
|
+
const _close = grpcClient.close.bind(grpcClient);
|
|
29
|
+
grpcClient.close = async () => {
|
|
30
|
+
log.close();
|
|
31
|
+
_close();
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
return { grpcClient, log };
|
|
35
|
+
}
|
|
36
|
+
static getCharacteristics(host) {
|
|
37
|
+
const isCamundaCloud = host.includes('zeebe.camunda.io');
|
|
38
|
+
const profile = isCamundaCloud ? 'CAMUNDA_CLOUD' : 'VANILLA';
|
|
39
|
+
return exports.ConnectionCharacteristics[profile];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.ConnectionFactory = ConnectionFactory;
|
|
43
|
+
//# sourceMappingURL=ConnectionFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionFactory.js","sourceRoot":"","sources":["../../../src/zeebe/lib/ConnectionFactory.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,qEAAiE;AAQjE;;GAEG;AACU,QAAA,yBAAyB,GAElC;IACH,aAAa,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,QAAQ,CACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,MAAM,EACxD,EAAE,CACF;KACD;IACD,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,QAAQ,CACpB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,GAAG,EACrD,EAAE,CACF;KACD;CACD,CAAA;AAID,MAAa,iBAAiB;IACtB,MAAM,CAAC,aAAa,CAAC,EAC3B,UAAU,EACV,SAAS,GAIT;QACA,MAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAC3D,UAAU,CAAC,IAAI,CACf,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,+CAAsB,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAA;QACtE,MAAM,UAAU,GAAG,IAAI,+BAAc,CAAC;YACrC,eAAe;YACf,MAAM,EAAE,UAAU;YAClB,GAAG;SACH,CAAC,CAAC,aAAa,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;YAC7B,GAAG,CAAC,KAAK,EAAE,CAAA;YACX,MAAM,EAAE,CAAA;YACR,OAAO,IAAI,CAAA;QACZ,CAAC,CAAA;QAED,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IAC3B,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,IAAY;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5D,OAAO,iCAAyB,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;CACD;AAhCD,8CAgCC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConnectionStatusEvent = void 0;
|
|
4
|
+
exports.ConnectionStatusEvent = {
|
|
5
|
+
close: 'close',
|
|
6
|
+
connectionError: 'connectionError',
|
|
7
|
+
ready: 'ready',
|
|
8
|
+
unknown: 'unknown',
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=ConnectionStatusEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionStatusEvent.js","sourceRoot":"","sources":["../../../src/zeebe/lib/ConnectionStatusEvent.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACpC,KAAK,EAAE,OAAgB;IACvB,eAAe,EAAE,iBAA0B;IAC3C,KAAK,EAAE,OAAgB;IACvB,OAAO,EAAE,SAAkB;CAC3B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const packageVersion: any;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.packageVersion = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const packageJsonPath = path.join(__dirname, '..', '..', '..', 'package.json');
|
|
30
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
31
|
+
exports.packageVersion = pkg.version;
|
|
32
|
+
//# sourceMappingURL=GetPackageVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetPackageVersion.js","sourceRoot":"","sources":["../../../src/zeebe/lib/GetPackageVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;AAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;AAEnD,QAAA,cAAc,GAAG,GAAG,CAAC,OAAO,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
import { Client } from '@grpc/grpc-js';
|
|
5
|
+
import { VerifyOptions } from '@grpc/grpc-js/build/src/channel-credentials';
|
|
6
|
+
import { Options } from '@grpc/proto-loader';
|
|
7
|
+
import { CamundaPlatform8Configuration } from "../../lib";
|
|
8
|
+
import { IOAuthProvider } from "../../oauth";
|
|
9
|
+
import { MaybeTimeDuration } from 'typed-duration';
|
|
10
|
+
import { Loglevel, ZBCustomLogger } from './interfaces-published-contract';
|
|
11
|
+
export interface GrpcClientExtendedOptions {
|
|
12
|
+
longPoll?: MaybeTimeDuration;
|
|
13
|
+
pollInterval?: MaybeTimeDuration;
|
|
14
|
+
}
|
|
15
|
+
export declare const MiddlewareSignals: {
|
|
16
|
+
Log: {
|
|
17
|
+
Error: string;
|
|
18
|
+
Info: string;
|
|
19
|
+
Debug: string;
|
|
20
|
+
};
|
|
21
|
+
Event: {
|
|
22
|
+
Error: string;
|
|
23
|
+
Ready: string;
|
|
24
|
+
GrpcInterceptError: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export interface GrpcClientCtor {
|
|
28
|
+
config: CamundaPlatform8Configuration;
|
|
29
|
+
connectionTolerance: MaybeTimeDuration;
|
|
30
|
+
host: string;
|
|
31
|
+
loglevel: Loglevel;
|
|
32
|
+
oAuth?: IOAuthProvider;
|
|
33
|
+
options: Options & GrpcClientExtendedOptions;
|
|
34
|
+
packageName: string;
|
|
35
|
+
protoPath: string;
|
|
36
|
+
service: string;
|
|
37
|
+
namespace: string;
|
|
38
|
+
tasktype?: string;
|
|
39
|
+
useTLS: boolean;
|
|
40
|
+
stdout: ZBCustomLogger;
|
|
41
|
+
customSSL?: CustomSSL;
|
|
42
|
+
}
|
|
43
|
+
export interface CustomSSL {
|
|
44
|
+
rootCerts?: Buffer;
|
|
45
|
+
privateKey?: Buffer;
|
|
46
|
+
certChain?: Buffer;
|
|
47
|
+
verifyOptions?: VerifyOptions;
|
|
48
|
+
}
|
|
49
|
+
export declare class GrpcClient extends EventEmitter {
|
|
50
|
+
channelClosed: boolean;
|
|
51
|
+
longPoll?: MaybeTimeDuration;
|
|
52
|
+
connected: boolean;
|
|
53
|
+
client: Client;
|
|
54
|
+
host: string;
|
|
55
|
+
private closing;
|
|
56
|
+
private channelState;
|
|
57
|
+
private packageDefinition;
|
|
58
|
+
private listNameMethods;
|
|
59
|
+
private gRPCRetryCount;
|
|
60
|
+
private oAuth?;
|
|
61
|
+
private readyTimer?;
|
|
62
|
+
private failTimer?;
|
|
63
|
+
private connectionTolerance;
|
|
64
|
+
private userAgentString;
|
|
65
|
+
private config;
|
|
66
|
+
constructor({ config, connectionTolerance, host, oAuth, options, packageName, protoPath, service, useTLS, customSSL, }: GrpcClientCtor);
|
|
67
|
+
runService(fnName: any, data: any, fnAnswer: any): void;
|
|
68
|
+
listMethods(): string[];
|
|
69
|
+
close(timeout?: number): Promise<null>;
|
|
70
|
+
private getAuthToken;
|
|
71
|
+
private waitForGrpcChannelReconnect;
|
|
72
|
+
private setReady;
|
|
73
|
+
private setNotReady;
|
|
74
|
+
private interceptor;
|
|
75
|
+
}
|