@camunda8/sdk 8.4.0 → 8.4.1

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.
Files changed (220) hide show
  1. package/.eslintrc.json +34 -0
  2. package/CHANGELOG.md +61 -21
  3. package/CODE_OF_CONDUCT.md +73 -0
  4. package/CONTRIBUTING.md +116 -0
  5. package/LICENSE +3 -3
  6. package/README.md +229 -33
  7. package/dist/admin/index.d.ts +2 -0
  8. package/dist/admin/index.js +30 -0
  9. package/dist/admin/index.js.map +1 -0
  10. package/dist/admin/lib/AdminApiClient.d.ts +121 -0
  11. package/dist/admin/lib/AdminApiClient.js +254 -0
  12. package/dist/admin/lib/AdminApiClient.js.map +1 -0
  13. package/dist/admin/lib/AdminDto.d.ts +98 -0
  14. package/dist/admin/lib/AdminDto.js +3 -0
  15. package/dist/admin/lib/AdminDto.js.map +1 -0
  16. package/dist/c8/index.d.ts +42 -0
  17. package/dist/c8/index.js +95 -0
  18. package/dist/c8/index.js.map +1 -0
  19. package/dist/index.d.ts +15 -14
  20. package/dist/index.js +14 -16
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/CertificateAuthority.d.ts +2 -0
  23. package/dist/lib/CertificateAuthority.js +15 -0
  24. package/dist/lib/CertificateAuthority.js.map +1 -0
  25. package/dist/lib/ClientConstructor.d.ts +6 -0
  26. package/dist/lib/ClientConstructor.js +3 -0
  27. package/dist/lib/ClientConstructor.js.map +1 -0
  28. package/dist/lib/Configuration.d.ts +113 -0
  29. package/dist/lib/Configuration.js +367 -0
  30. package/dist/lib/Configuration.js.map +1 -0
  31. package/dist/lib/ConstructOAuthProvider.d.ts +3 -0
  32. package/dist/lib/ConstructOAuthProvider.js +14 -0
  33. package/dist/lib/ConstructOAuthProvider.js.map +1 -0
  34. package/dist/lib/CreateUserAgentString.d.ts +2 -0
  35. package/dist/lib/CreateUserAgentString.js +11 -0
  36. package/dist/lib/CreateUserAgentString.js.map +1 -0
  37. package/dist/lib/Delay.d.ts +1 -0
  38. package/dist/lib/Delay.js +6 -0
  39. package/dist/lib/Delay.js.map +1 -0
  40. package/dist/lib/EnvironmentSetup.d.ts +11 -0
  41. package/dist/lib/EnvironmentSetup.js +35 -0
  42. package/dist/lib/EnvironmentSetup.js.map +1 -0
  43. package/dist/lib/GetPackageVersion.d.ts +1 -0
  44. package/dist/lib/GetPackageVersion.js +32 -0
  45. package/dist/lib/GetPackageVersion.js.map +1 -0
  46. package/dist/lib/LosslessJsonParser.d.ts +103 -0
  47. package/dist/lib/LosslessJsonParser.js +252 -0
  48. package/dist/lib/LosslessJsonParser.js.map +1 -0
  49. package/dist/lib/RequireConfiguration.d.ts +2 -0
  50. package/dist/lib/RequireConfiguration.js +11 -0
  51. package/dist/lib/RequireConfiguration.js.map +1 -0
  52. package/dist/lib/SuppressZeebeLogging.d.ts +2 -0
  53. package/dist/lib/SuppressZeebeLogging.js +14 -0
  54. package/dist/lib/SuppressZeebeLogging.js.map +1 -0
  55. package/dist/lib/ValueOrDefault.d.ts +1 -0
  56. package/dist/lib/ValueOrDefault.js +8 -0
  57. package/dist/lib/ValueOrDefault.js.map +1 -0
  58. package/dist/lib/index.d.ts +12 -0
  59. package/dist/lib/index.js +32 -0
  60. package/dist/lib/index.js.map +1 -0
  61. package/dist/modeler/index.d.ts +2 -0
  62. package/dist/modeler/index.js +30 -0
  63. package/dist/modeler/index.js.map +1 -0
  64. package/dist/modeler/lib/ModelerAPIClient.d.ts +210 -0
  65. package/dist/modeler/lib/ModelerAPIClient.js +417 -0
  66. package/dist/modeler/lib/ModelerAPIClient.js.map +1 -0
  67. package/dist/modeler/lib/ModelerDto.d.ts +187 -0
  68. package/dist/modeler/lib/ModelerDto.js +3 -0
  69. package/dist/modeler/lib/ModelerDto.js.map +1 -0
  70. package/dist/oauth/index.d.ts +15 -0
  71. package/dist/oauth/index.js +8 -0
  72. package/dist/oauth/index.js.map +1 -0
  73. package/dist/oauth/lib/IOAuthProvider.d.ts +4 -0
  74. package/dist/oauth/lib/IOAuthProvider.js +3 -0
  75. package/dist/oauth/lib/IOAuthProvider.js.map +1 -0
  76. package/dist/oauth/lib/NullAuthProvider.d.ts +5 -0
  77. package/dist/oauth/lib/NullAuthProvider.js +16 -0
  78. package/dist/oauth/lib/NullAuthProvider.js.map +1 -0
  79. package/dist/oauth/lib/OAuthProvider.d.ts +44 -0
  80. package/dist/oauth/lib/OAuthProvider.js +316 -0
  81. package/dist/oauth/lib/OAuthProvider.js.map +1 -0
  82. package/dist/operate/index.d.ts +2 -0
  83. package/dist/operate/index.js +30 -0
  84. package/dist/operate/index.js.map +1 -0
  85. package/dist/operate/lib/OperateApiClient.d.ts +204 -0
  86. package/dist/operate/lib/OperateApiClient.js +440 -0
  87. package/dist/operate/lib/OperateApiClient.js.map +1 -0
  88. package/dist/operate/lib/OperateDto.d.ts +126 -0
  89. package/dist/operate/lib/OperateDto.js +125 -0
  90. package/dist/operate/lib/OperateDto.js.map +1 -0
  91. package/dist/operate/lib/TestableOperateApiClient.d.ts +7 -0
  92. package/dist/operate/lib/TestableOperateApiClient.js +15 -0
  93. package/dist/operate/lib/TestableOperateApiClient.js.map +1 -0
  94. package/dist/operate/lib/parseSearchResults.d.ts +4 -0
  95. package/dist/operate/lib/parseSearchResults.js +26 -0
  96. package/dist/operate/lib/parseSearchResults.js.map +1 -0
  97. package/dist/optimize/index.d.ts +2 -0
  98. package/dist/optimize/index.js +30 -0
  99. package/dist/optimize/index.js.map +1 -0
  100. package/dist/optimize/lib/APIObjects.d.ts +191 -0
  101. package/dist/optimize/lib/APIObjects.js +3 -0
  102. package/dist/optimize/lib/APIObjects.js.map +1 -0
  103. package/dist/optimize/lib/OptimizeApiClient.d.ts +269 -0
  104. package/dist/optimize/lib/OptimizeApiClient.js +410 -0
  105. package/dist/optimize/lib/OptimizeApiClient.js.map +1 -0
  106. package/dist/optimize/lib/ReportResults.d.ts +23 -0
  107. package/dist/optimize/lib/ReportResults.js +28 -0
  108. package/dist/optimize/lib/ReportResults.js.map +1 -0
  109. package/dist/proto/zeebe.proto +996 -0
  110. package/dist/tasklist/index.d.ts +2 -0
  111. package/dist/tasklist/index.js +30 -0
  112. package/dist/tasklist/index.js.map +1 -0
  113. package/dist/tasklist/lib/TasklistApiClient.d.ts +104 -0
  114. package/dist/tasklist/lib/TasklistApiClient.js +233 -0
  115. package/dist/tasklist/lib/TasklistApiClient.js.map +1 -0
  116. package/dist/tasklist/lib/TasklistDto.d.ts +147 -0
  117. package/dist/tasklist/lib/TasklistDto.js +26 -0
  118. package/dist/tasklist/lib/TasklistDto.js.map +1 -0
  119. package/dist/tasklist/lib/utils.d.ts +15 -0
  120. package/dist/tasklist/lib/utils.js +25 -0
  121. package/dist/tasklist/lib/utils.js.map +1 -0
  122. package/dist/zeebe/index.d.ts +21 -0
  123. package/dist/zeebe/index.js +53 -0
  124. package/dist/zeebe/index.js.map +1 -0
  125. package/dist/zeebe/lib/BpmnParser.d.ts +38 -0
  126. package/dist/zeebe/lib/BpmnParser.js +274 -0
  127. package/dist/zeebe/lib/BpmnParser.js.map +1 -0
  128. package/dist/zeebe/lib/ConnectionFactory.d.ts +25 -0
  129. package/dist/zeebe/lib/ConnectionFactory.js +43 -0
  130. package/dist/zeebe/lib/ConnectionFactory.js.map +1 -0
  131. package/dist/zeebe/lib/ConnectionStatusEvent.d.ts +6 -0
  132. package/dist/zeebe/lib/ConnectionStatusEvent.js +10 -0
  133. package/dist/zeebe/lib/ConnectionStatusEvent.js.map +1 -0
  134. package/dist/zeebe/lib/GetPackageVersion.d.ts +1 -0
  135. package/dist/zeebe/lib/GetPackageVersion.js +32 -0
  136. package/dist/zeebe/lib/GetPackageVersion.js.map +1 -0
  137. package/dist/zeebe/lib/GrpcClient.d.ts +75 -0
  138. package/dist/zeebe/lib/GrpcClient.js +467 -0
  139. package/dist/zeebe/lib/GrpcClient.js.map +1 -0
  140. package/dist/zeebe/lib/GrpcError.d.ts +19 -0
  141. package/dist/zeebe/lib/GrpcError.js +23 -0
  142. package/dist/zeebe/lib/GrpcError.js.map +1 -0
  143. package/dist/zeebe/lib/GrpcMiddleware.d.ts +21 -0
  144. package/dist/zeebe/lib/GrpcMiddleware.js +78 -0
  145. package/dist/zeebe/lib/GrpcMiddleware.js.map +1 -0
  146. package/dist/zeebe/lib/MockStdOut.d.ts +7 -0
  147. package/dist/zeebe/lib/MockStdOut.js +19 -0
  148. package/dist/zeebe/lib/MockStdOut.js.map +1 -0
  149. package/dist/zeebe/lib/Queue.d.ts +8 -0
  150. package/dist/zeebe/lib/Queue.js +15 -0
  151. package/dist/zeebe/lib/Queue.js.map +1 -0
  152. package/dist/zeebe/lib/SimpleLogger.d.ts +8 -0
  153. package/dist/zeebe/lib/SimpleLogger.js +47 -0
  154. package/dist/zeebe/lib/SimpleLogger.js.map +1 -0
  155. package/dist/zeebe/lib/StatefulLogInterceptor.d.ts +29 -0
  156. package/dist/zeebe/lib/StatefulLogInterceptor.js +81 -0
  157. package/dist/zeebe/lib/StatefulLogInterceptor.js.map +1 -0
  158. package/dist/zeebe/lib/TypedEmitter.d.ts +16 -0
  159. package/dist/zeebe/lib/TypedEmitter.js +24 -0
  160. package/dist/zeebe/lib/TypedEmitter.js.map +1 -0
  161. package/dist/zeebe/lib/ZBJsonLogger.d.ts +5 -0
  162. package/dist/zeebe/lib/ZBJsonLogger.js +12 -0
  163. package/dist/zeebe/lib/ZBJsonLogger.js.map +1 -0
  164. package/dist/zeebe/lib/ZBLogger.d.ts +20 -0
  165. package/dist/zeebe/lib/ZBLogger.js +134 -0
  166. package/dist/zeebe/lib/ZBLogger.js.map +1 -0
  167. package/dist/zeebe/lib/ZBWorkerBase.d.ts +78 -0
  168. package/dist/zeebe/lib/ZBWorkerBase.js +417 -0
  169. package/dist/zeebe/lib/ZBWorkerBase.js.map +1 -0
  170. package/dist/zeebe/lib/cancelProcesses.d.ts +1 -0
  171. package/dist/zeebe/lib/cancelProcesses.js +40 -0
  172. package/dist/zeebe/lib/cancelProcesses.js.map +1 -0
  173. package/dist/zeebe/lib/createUniqueTaskType.d.ts +0 -0
  174. package/dist/zeebe/lib/createUniqueTaskType.js +65 -0
  175. package/dist/zeebe/lib/createUniqueTaskType.js.map +1 -0
  176. package/dist/zeebe/lib/index.d.ts +2 -0
  177. package/dist/zeebe/lib/index.js +19 -0
  178. package/dist/zeebe/lib/index.js.map +1 -0
  179. package/dist/zeebe/lib/interfaces-1.0.d.ts +303 -0
  180. package/dist/zeebe/lib/interfaces-1.0.js +5 -0
  181. package/dist/zeebe/lib/interfaces-1.0.js.map +1 -0
  182. package/dist/zeebe/lib/interfaces-grpc-1.0.d.ts +679 -0
  183. package/dist/zeebe/lib/interfaces-grpc-1.0.js +22 -0
  184. package/dist/zeebe/lib/interfaces-grpc-1.0.js.map +1 -0
  185. package/dist/zeebe/lib/interfaces-published-contract.d.ts +67 -0
  186. package/dist/zeebe/lib/interfaces-published-contract.js +3 -0
  187. package/dist/zeebe/lib/interfaces-published-contract.js.map +1 -0
  188. package/dist/zeebe/lib/stringifyVariables.d.ts +18 -0
  189. package/dist/zeebe/lib/stringifyVariables.js +28 -0
  190. package/dist/zeebe/lib/stringifyVariables.js.map +1 -0
  191. package/dist/zeebe/lib/utils.d.ts +7 -0
  192. package/dist/zeebe/lib/utils.js +48 -0
  193. package/dist/zeebe/lib/utils.js.map +1 -0
  194. package/dist/zeebe/types.d.ts +3 -0
  195. package/dist/zeebe/types.js +20 -0
  196. package/dist/zeebe/types.js.map +1 -0
  197. package/dist/zeebe/zb/ZBWorker.d.ts +7 -0
  198. package/dist/zeebe/zb/ZBWorker.js +73 -0
  199. package/dist/zeebe/zb/ZBWorker.js.map +1 -0
  200. package/dist/zeebe/zb/ZeebeGrpcClient.d.ts +587 -0
  201. package/dist/zeebe/zb/ZeebeGrpcClient.js +1021 -0
  202. package/dist/zeebe/zb/ZeebeGrpcClient.js.map +1 -0
  203. package/package.json +120 -30
  204. package/release.config.js +49 -0
  205. package/renovate.json +9 -0
  206. package/smoke-test/package-lock.json +29 -0
  207. package/smoke-test/package.json +15 -0
  208. package/smoke-test/smoke-test.js +45 -0
  209. package/test-d/index.test-d.ts +31 -0
  210. package/.github/workflows/build-docs.yml +0 -39
  211. package/.github/workflows/tag-and-publish.yml +0 -48
  212. package/.prettierignore +0 -2
  213. package/img/video.png +0 -0
  214. package/jest.config.js +0 -5
  215. package/src/__tests__/exports.spec.ts +0 -7
  216. package/src/index.ts +0 -17
  217. package/tsconfig.build.json +0 -8
  218. package/tsconfig.json +0 -10
  219. package/tsconfig.tsbuildinfo +0 -1
  220. package/typedoc.json +0 -10
@@ -0,0 +1,30 @@
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.OperateDto = exports.OperateApiClient = void 0;
27
+ var OperateApiClient_1 = require("./lib/OperateApiClient");
28
+ Object.defineProperty(exports, "OperateApiClient", { enumerable: true, get: function () { return OperateApiClient_1.OperateApiClient; } });
29
+ exports.OperateDto = __importStar(require("./lib/OperateDto"));
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAyD;AAAhD,oHAAA,gBAAgB,OAAA;AAEzB,+DAA8C"}
@@ -0,0 +1,204 @@
1
+ import { CamundaPlatform8Configuration, DeepPartial } from '../../lib';
2
+ import { IOAuthProvider } from '../../oauth';
3
+ import { ChangeStatus, DecisionDefinition, DecisionInstance, DecisionRequirements, FlownodeInstance, Incident, ProcessDefinition, ProcessInstance, ProcessInstanceStatistics, Query, SearchResults, Variable } from './OperateDto';
4
+ type JSONDoc = {
5
+ [key: string]: string | boolean | number | JSONDoc;
6
+ };
7
+ type EnhanceWithTenantIdIfMissing<T> = T extends {
8
+ filter: {
9
+ tenantId: string | undefined;
10
+ };
11
+ } ? T : T extends {
12
+ filter: infer F;
13
+ } ? {
14
+ filter: F & {
15
+ tenantId: string | undefined;
16
+ };
17
+ } & Omit<T, 'filter'> : {
18
+ filter: {
19
+ tenantId: string | undefined;
20
+ };
21
+ } & T;
22
+ /**
23
+ * @description The high-level client for Operate.
24
+ * @example
25
+ * ```
26
+ * const operate = new OperateApiClient()
27
+ *
28
+ * operate.searchProcessInstances({
29
+ * filter: {
30
+ * state: "ACTIVE"
31
+ * },
32
+ * size: 50
33
+ * }).then(instances => {
34
+ * console.log(instances)
35
+ * })
36
+ * ```
37
+ */
38
+ export declare class OperateApiClient {
39
+ private userAgentString;
40
+ private oAuthProvider;
41
+ private rest;
42
+ private tenantId;
43
+ /**
44
+ * @example
45
+ * ```
46
+ * const operate = new OperateApiClient()
47
+ * ```
48
+ */
49
+ constructor(options?: {
50
+ config?: DeepPartial<CamundaPlatform8Configuration>;
51
+ oAuthProvider?: IOAuthProvider;
52
+ });
53
+ private getHeaders;
54
+ protected addTenantIdToFilter<T>(query: Query<T>, tenantId?: string | undefined): Query<EnhanceWithTenantIdIfMissing<T>>;
55
+ /**
56
+ * @description Search and retrieve process definitions.
57
+ *
58
+ * [Camunda 8 Documentation](https://docs.camunda.io/docs/apis-clients/operate-api/#process-definition)
59
+ * @example
60
+ * ```
61
+ * const query: Query<ProcessDefinition> = {
62
+ * filter: {},
63
+ * size: 50,
64
+ * sort: [
65
+ * {
66
+ * field: "bpmnProcessId",
67
+ * order: "ASC",
68
+ * },
69
+ * ],
70
+ * };
71
+ * const operate = newOperateClient()
72
+ * const defs = await operate.searchProcessDefinitions(query);
73
+ * ```
74
+ */
75
+ searchProcessDefinitions(query?: Query<ProcessDefinition>): Promise<SearchResults<ProcessDefinition>>;
76
+ /**
77
+ *
78
+ * @description Retrieve the metadata for a specific process definition, by key.
79
+ *
80
+ * [Camunda 8 Documentation](https://docs.camunda.io/docs/apis-clients/operate-api/#process-definition)
81
+ * @example
82
+ * ```
83
+ * const operate = new OperateApiClient()
84
+ * const definition = await operate.getProcessDefinition(2251799817140074);
85
+ * ```
86
+ */
87
+ getProcessDefinition(processDefinitionKey: number | string): Promise<ProcessDefinition>;
88
+ getProcessDefinitionXML(processDefinitionKey: number | string): Promise<string>;
89
+ searchDecisionDefinitions(query: Query<DecisionDefinition>): Promise<SearchResults<DecisionDefinition>>;
90
+ getDecisionDefinition(decisionDefinitionKey: number | string): Promise<DecisionDefinition>;
91
+ searchDecisionInstances(query: Query<DecisionInstance>): Promise<SearchResults<DecisionInstance>>;
92
+ getDecisionInstance(decisionInstanceKey: number | string): Promise<DecisionInstance>;
93
+ /**
94
+ * @description Search and retrieve process instances.
95
+ * @example
96
+ * ```
97
+ * const operate = new OperateApiClient()
98
+ * const query: Query<ProcessInstance> = {
99
+ * filter: {
100
+ * processVersion: 1
101
+ * },
102
+ * size: 50,
103
+ * sort: [
104
+ * {
105
+ * field: "bpmProcessId",
106
+ * order: "ASC"
107
+ * }
108
+ * ]
109
+ * }
110
+ * const instances = await operate.searchProcessInstances(query)
111
+ * console.log(`Found ${instances.total} instances`)
112
+ */
113
+ searchProcessInstances(query?: Query<ProcessInstance>): Promise<SearchResults<ProcessInstance>>;
114
+ /**
115
+ *
116
+ * @description Retrieve a specific process instance by id.
117
+ * @example
118
+ * ```
119
+ * const operate = new OperateApiClient()
120
+ * const instance = await operate.getProcessInstance(2251799819847322)
121
+ * ```
122
+ */
123
+ getProcessInstance(processInstanceKey: number | string): Promise<ProcessInstance>;
124
+ /**
125
+ * @description Delete a specific process instance by key.
126
+ * @example
127
+ * ```
128
+ * const operate = new OperateApiClient()
129
+ * await operate.deleteProcessInstance(2251799819847322)
130
+ * ```
131
+ */
132
+ deleteProcessInstance(processInstanceKey: number | string): Promise<ChangeStatus>;
133
+ /**
134
+ * @description Get the statistics for a process instance, grouped by flow nodes
135
+ */
136
+ getProcessInstanceStatistics(processInstanceKey: number | string): Promise<ProcessInstanceStatistics[]>;
137
+ /**
138
+ * @description Get sequence flows of process instance by key
139
+ */
140
+ getProcessInstanceSequenceFlows(processInstanceKey: number | string): Promise<string[]>;
141
+ /**
142
+ *
143
+ * @description Search and retrieve incidents.
144
+ * @example
145
+ * ```
146
+ * const operate = new OperateApiClient()
147
+ * const query: Query<Incident> = {
148
+ * filter: {
149
+ * state: "ACTIVE"
150
+ * },
151
+ * size: 50,
152
+ * sort: [
153
+ * {
154
+ * field: "creationTime",
155
+ * order: "ASC"
156
+ * }
157
+ * ]
158
+ * }
159
+ * const incidents = operate.searchIncidents(query)
160
+ * ```
161
+ */
162
+ searchIncidents(query?: Query<Incident>): Promise<SearchResults<Incident>>;
163
+ /**
164
+ *
165
+ * @description Retrieve an incident by incident key.
166
+ * @example
167
+ * ```
168
+ * const operate = new OperateApiClient()
169
+ * const incident = await operate.getIncident(2251799818436725)
170
+ * console.log(incident.message)
171
+ * ```
172
+ */
173
+ getIncident(key: number | string): Promise<Incident>;
174
+ searchFlownodeInstances(query: Query<FlownodeInstance>): Promise<SearchResults<FlownodeInstance>>;
175
+ getFlownodeInstance(key: number | string): Promise<FlownodeInstance>;
176
+ searchVariables(query: Query<Variable>): Promise<SearchResults<Variable>>;
177
+ /**
178
+ * @description Retrieve the variables for a Process Instance, given its key
179
+ * @param processInstanceKey
180
+ * @returns
181
+ */
182
+ getVariablesforProcess(processInstanceKey: number | string): Promise<{
183
+ items: Variable[];
184
+ }>;
185
+ /**
186
+ * @description Retrieve the variables for a Process Instance as an object, given its key
187
+ * @param processInstanceKey
188
+ * @returns
189
+ */
190
+ getJSONVariablesforProcess<T extends {
191
+ [key: string]: JSONDoc;
192
+ }>(processInstanceKey: number | string): Promise<T>;
193
+ private safeJSONparse;
194
+ /**
195
+ *
196
+ * @description Return a variable identified by its variable key
197
+ * @returns
198
+ */
199
+ getVariables(variableKey: number | string): Promise<Variable>;
200
+ searchDecisionRequirements(query: Query<DecisionRequirements>): Promise<unknown>;
201
+ getDecisionRequirements(key: string | number): Promise<DecisionRequirements>;
202
+ getDecisionRequirementsXML(key: string | number): Promise<string>;
203
+ }
204
+ export {};
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OperateApiClient = void 0;
7
+ const debug_1 = require("debug");
8
+ const got_1 = __importDefault(require("got"));
9
+ const lib_1 = require("../../lib");
10
+ const OperateDto_1 = require("./OperateDto");
11
+ const parseSearchResults_1 = require("./parseSearchResults");
12
+ const OPERATE_API_VERSION = 'v1';
13
+ const debug = (0, debug_1.debug)('camunda:operate');
14
+ /**
15
+ * @description The high-level client for Operate.
16
+ * @example
17
+ * ```
18
+ * const operate = new OperateApiClient()
19
+ *
20
+ * operate.searchProcessInstances({
21
+ * filter: {
22
+ * state: "ACTIVE"
23
+ * },
24
+ * size: 50
25
+ * }).then(instances => {
26
+ * console.log(instances)
27
+ * })
28
+ * ```
29
+ */
30
+ class OperateApiClient {
31
+ /**
32
+ * @example
33
+ * ```
34
+ * const operate = new OperateApiClient()
35
+ * ```
36
+ */
37
+ constructor(options) {
38
+ const config = lib_1.CamundaEnvironmentConfigurator.mergeConfigWithEnvironment(options?.config ?? {});
39
+ this.oAuthProvider =
40
+ options?.oAuthProvider ?? (0, lib_1.constructOAuthProvider)(config);
41
+ this.userAgentString = (0, lib_1.createUserAgentString)(config);
42
+ const baseUrl = (0, lib_1.RequireConfiguration)(config.CAMUNDA_OPERATE_BASE_URL, 'CAMUNDA_OPERATE_BASE_URL');
43
+ const certificateAuthority = (0, lib_1.GetCertificateAuthority)(config);
44
+ const prefixUrl = `${baseUrl}/${OPERATE_API_VERSION}`;
45
+ this.rest = got_1.default.extend({
46
+ prefixUrl,
47
+ https: {
48
+ certificateAuthority,
49
+ },
50
+ hooks: {
51
+ beforeError: [
52
+ (error) => {
53
+ const { request } = error;
54
+ if (request) {
55
+ debug(`Error in request to ${request.options.url.href}`);
56
+ debug(`Request headers: ${JSON.stringify(request.options.headers)}`);
57
+ debug(`Error: ${error.code} - ${error.message}`);
58
+ // Attach more contextual information to the error object
59
+ error.message += ` (request to ${request.options.url.href})`;
60
+ }
61
+ return error;
62
+ },
63
+ ],
64
+ },
65
+ });
66
+ this.tenantId = config.CAMUNDA_TENANT_ID;
67
+ }
68
+ async getHeaders() {
69
+ const token = await this.oAuthProvider.getToken('OPERATE');
70
+ return {
71
+ 'content-type': 'application/json',
72
+ authorization: `Bearer ${token}`,
73
+ 'user-agent': this.userAgentString,
74
+ accept: '*/*',
75
+ };
76
+ }
77
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
+ addTenantIdToFilter(query, tenantId = this.tenantId // Example default value
79
+ ) {
80
+ const hasTenantIdInFilter = query.filter && 'tenantId' in query.filter;
81
+ // If `filter` already has `tenantId`, return the original query as is.
82
+ if (hasTenantIdInFilter) {
83
+ return query;
84
+ }
85
+ // Otherwise, add or ensure `tenantId` in `filter`.
86
+ return {
87
+ ...query,
88
+ filter: {
89
+ ...query.filter,
90
+ tenantId,
91
+ },
92
+ };
93
+ }
94
+ /**
95
+ * @description Search and retrieve process definitions.
96
+ *
97
+ * [Camunda 8 Documentation](https://docs.camunda.io/docs/apis-clients/operate-api/#process-definition)
98
+ * @example
99
+ * ```
100
+ * const query: Query<ProcessDefinition> = {
101
+ * filter: {},
102
+ * size: 50,
103
+ * sort: [
104
+ * {
105
+ * field: "bpmnProcessId",
106
+ * order: "ASC",
107
+ * },
108
+ * ],
109
+ * };
110
+ * const operate = newOperateClient()
111
+ * const defs = await operate.searchProcessDefinitions(query);
112
+ * ```
113
+ */
114
+ async searchProcessDefinitions(query = {}) {
115
+ const headers = await this.getHeaders();
116
+ const json = this.addTenantIdToFilter(query);
117
+ return this.rest
118
+ .post('process-definitions/search', {
119
+ json,
120
+ headers,
121
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.ProcessDefinition),
122
+ })
123
+ .json();
124
+ }
125
+ /**
126
+ *
127
+ * @description Retrieve the metadata for a specific process definition, by key.
128
+ *
129
+ * [Camunda 8 Documentation](https://docs.camunda.io/docs/apis-clients/operate-api/#process-definition)
130
+ * @example
131
+ * ```
132
+ * const operate = new OperateApiClient()
133
+ * const definition = await operate.getProcessDefinition(2251799817140074);
134
+ * ```
135
+ */
136
+ async getProcessDefinition(processDefinitionKey) {
137
+ const headers = await this.getHeaders();
138
+ return this.rest(`process-definitions/${processDefinitionKey}`, {
139
+ headers,
140
+ }).json();
141
+ }
142
+ async getProcessDefinitionXML(processDefinitionKey) {
143
+ const headers = await this.getHeaders();
144
+ return this.rest(`process-definitions/${processDefinitionKey}/xml`, {
145
+ headers,
146
+ }).text();
147
+ }
148
+ async searchDecisionDefinitions(query) {
149
+ const headers = await this.getHeaders();
150
+ const json = this.addTenantIdToFilter(query);
151
+ return this.rest('decision-definitions/search', {
152
+ headers,
153
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.DecisionDefinition),
154
+ json,
155
+ }).json();
156
+ }
157
+ async getDecisionDefinition(decisionDefinitionKey) {
158
+ const headers = await this.getHeaders();
159
+ return this.rest(`decision-definitions/${decisionDefinitionKey}`, {
160
+ headers,
161
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.DecisionDefinition),
162
+ }).json();
163
+ }
164
+ async searchDecisionInstances(query) {
165
+ const headers = await this.getHeaders();
166
+ const json = this.addTenantIdToFilter(query);
167
+ return this.rest('decision-instances/search', {
168
+ headers,
169
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.DecisionInstance),
170
+ json,
171
+ }).json();
172
+ }
173
+ async getDecisionInstance(decisionInstanceKey) {
174
+ const headers = await this.getHeaders();
175
+ return this.rest(`decision-instances/${decisionInstanceKey}`, {
176
+ headers,
177
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.DecisionInstance),
178
+ }).json();
179
+ }
180
+ /**
181
+ * @description Search and retrieve process instances.
182
+ * @example
183
+ * ```
184
+ * const operate = new OperateApiClient()
185
+ * const query: Query<ProcessInstance> = {
186
+ * filter: {
187
+ * processVersion: 1
188
+ * },
189
+ * size: 50,
190
+ * sort: [
191
+ * {
192
+ * field: "bpmProcessId",
193
+ * order: "ASC"
194
+ * }
195
+ * ]
196
+ * }
197
+ * const instances = await operate.searchProcessInstances(query)
198
+ * console.log(`Found ${instances.total} instances`)
199
+ */
200
+ async searchProcessInstances(query = {}) {
201
+ const headers = await this.getHeaders();
202
+ const json = this.addTenantIdToFilter(query);
203
+ try {
204
+ return this.rest
205
+ .post('process-instances/search', {
206
+ json,
207
+ headers,
208
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.ProcessInstance),
209
+ })
210
+ .json();
211
+ }
212
+ catch (e) {
213
+ throw new Error(e.message);
214
+ }
215
+ }
216
+ /**
217
+ *
218
+ * @description Retrieve a specific process instance by id.
219
+ * @example
220
+ * ```
221
+ * const operate = new OperateApiClient()
222
+ * const instance = await operate.getProcessInstance(2251799819847322)
223
+ * ```
224
+ */
225
+ async getProcessInstance(processInstanceKey) {
226
+ const headers = await this.getHeaders();
227
+ return this.rest(`process-instances/${processInstanceKey}`, {
228
+ headers,
229
+ }).json();
230
+ }
231
+ /**
232
+ * @description Delete a specific process instance by key.
233
+ * @example
234
+ * ```
235
+ * const operate = new OperateApiClient()
236
+ * await operate.deleteProcessInstance(2251799819847322)
237
+ * ```
238
+ */
239
+ async deleteProcessInstance(processInstanceKey) {
240
+ const headers = await this.getHeaders();
241
+ try {
242
+ const res = this.rest.delete(`process-instances/${processInstanceKey}`, {
243
+ headers,
244
+ throwHttpErrors: false,
245
+ });
246
+ res.catch((e) => console.log(e));
247
+ return res.json();
248
+ }
249
+ catch (e) {
250
+ throw new Error(e.message);
251
+ }
252
+ }
253
+ /**
254
+ * @description Get the statistics for a process instance, grouped by flow nodes
255
+ */
256
+ async getProcessInstanceStatistics(processInstanceKey) {
257
+ const headers = await this.getHeaders();
258
+ return this.rest(`process-instances/${processInstanceKey}/statistics`, {
259
+ headers,
260
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.ProcessInstanceStatistics),
261
+ }).json();
262
+ }
263
+ /**
264
+ * @description Get sequence flows of process instance by key
265
+ */
266
+ async getProcessInstanceSequenceFlows(processInstanceKey) {
267
+ const headers = await this.getHeaders();
268
+ return this.rest(`process-instances/${processInstanceKey}/sequence-flows`, {
269
+ headers,
270
+ }).json();
271
+ }
272
+ /**
273
+ *
274
+ * @description Search and retrieve incidents.
275
+ * @example
276
+ * ```
277
+ * const operate = new OperateApiClient()
278
+ * const query: Query<Incident> = {
279
+ * filter: {
280
+ * state: "ACTIVE"
281
+ * },
282
+ * size: 50,
283
+ * sort: [
284
+ * {
285
+ * field: "creationTime",
286
+ * order: "ASC"
287
+ * }
288
+ * ]
289
+ * }
290
+ * const incidents = operate.searchIncidents(query)
291
+ * ```
292
+ */
293
+ async searchIncidents(query = {}) {
294
+ const headers = await this.getHeaders();
295
+ const json = this.addTenantIdToFilter(query);
296
+ return this.rest
297
+ .post('incidents/search', {
298
+ json,
299
+ headers,
300
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.Incident),
301
+ })
302
+ .json();
303
+ }
304
+ /**
305
+ *
306
+ * @description Retrieve an incident by incident key.
307
+ * @example
308
+ * ```
309
+ * const operate = new OperateApiClient()
310
+ * const incident = await operate.getIncident(2251799818436725)
311
+ * console.log(incident.message)
312
+ * ```
313
+ */
314
+ async getIncident(key) {
315
+ const headers = await this.getHeaders();
316
+ return this.rest(`incidents/${key}`, {
317
+ headers,
318
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.Incident),
319
+ }).json();
320
+ }
321
+ async searchFlownodeInstances(query) {
322
+ const headers = await this.getHeaders();
323
+ const json = this.addTenantIdToFilter(query);
324
+ return this.rest
325
+ .post('flownode-instances/search', {
326
+ headers,
327
+ json,
328
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.FlownodeInstance),
329
+ })
330
+ .json();
331
+ }
332
+ async getFlownodeInstance(key) {
333
+ const headers = await this.getHeaders();
334
+ return this.rest(`flownode-instances/${key}`, {
335
+ headers,
336
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.FlownodeInstance),
337
+ }).json();
338
+ }
339
+ async searchVariables(query) {
340
+ const headers = await this.getHeaders();
341
+ const json = this.addTenantIdToFilter(query);
342
+ return this.rest
343
+ .post('variables/search', {
344
+ headers,
345
+ json,
346
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.Variable),
347
+ })
348
+ .json();
349
+ }
350
+ /**
351
+ * @description Retrieve the variables for a Process Instance, given its key
352
+ * @param processInstanceKey
353
+ * @returns
354
+ */
355
+ async getVariablesforProcess(processInstanceKey) {
356
+ const headers = await this.getHeaders();
357
+ const body = {
358
+ filter: {
359
+ processInstanceKey,
360
+ },
361
+ };
362
+ return this.rest
363
+ .post('variables/search', {
364
+ headers,
365
+ body: (0, lib_1.losslessStringify)(body),
366
+ })
367
+ .json();
368
+ }
369
+ /**
370
+ * @description Retrieve the variables for a Process Instance as an object, given its key
371
+ * @param processInstanceKey
372
+ * @returns
373
+ */
374
+ async getJSONVariablesforProcess(processInstanceKey) {
375
+ const headers = await this.getHeaders();
376
+ const body = {
377
+ filter: {
378
+ processInstanceKey,
379
+ },
380
+ size: 1000,
381
+ };
382
+ const vars = await this.rest
383
+ .post('variables/search', {
384
+ headers,
385
+ body: (0, lib_1.losslessStringify)(body),
386
+ })
387
+ .json();
388
+ return vars.items.reduce((prev, curr) => ({
389
+ ...prev,
390
+ [curr.name]: this.safeJSONparse(curr.value),
391
+ }), {});
392
+ }
393
+ safeJSONparse(thing) {
394
+ try {
395
+ return JSON.parse(thing);
396
+ }
397
+ catch (e) {
398
+ console.log(e);
399
+ console.log(thing);
400
+ return thing;
401
+ }
402
+ }
403
+ /**
404
+ *
405
+ * @description Return a variable identified by its variable key
406
+ * @returns
407
+ */
408
+ async getVariables(variableKey) {
409
+ const headers = await this.getHeaders();
410
+ return this.rest(`variables/${variableKey}`, {
411
+ headers,
412
+ }).json();
413
+ }
414
+ async searchDecisionRequirements(query) {
415
+ const headers = await this.getHeaders();
416
+ const json = this.addTenantIdToFilter(query);
417
+ return this.rest
418
+ .post('drd/search', {
419
+ headers,
420
+ json,
421
+ parseJson: (text) => (0, parseSearchResults_1.parseSearchResults)(text, OperateDto_1.DecisionRequirements),
422
+ })
423
+ .json();
424
+ }
425
+ async getDecisionRequirements(key) {
426
+ const headers = await this.getHeaders();
427
+ return this.rest(`drd/${key}`, {
428
+ headers,
429
+ parseJson: (text) => (0, lib_1.losslessParse)(text, OperateDto_1.DecisionRequirements),
430
+ }).json();
431
+ }
432
+ async getDecisionRequirementsXML(key) {
433
+ const headers = await this.getHeaders();
434
+ return this.rest(`drd/${key}/xml`, {
435
+ headers,
436
+ }).text();
437
+ }
438
+ }
439
+ exports.OperateApiClient = OperateApiClient;
440
+ //# sourceMappingURL=OperateApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperateApiClient.js","sourceRoot":"","sources":["../../../src/operate/lib/OperateApiClient.ts"],"names":[],"mappings":"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"}