@5minds/processcube_engine_client 5.1.0 → 5.1.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 (83) hide show
  1. package/dist/Client.d.ts +3 -3
  2. package/dist/ClientCredentialsIdentityAccessor.d.ts +12 -0
  3. package/dist/ClientFactory.d.ts +16 -16
  4. package/dist/Clients/AnonymousSessionHttpClient.d.ts +2 -2
  5. package/dist/Clients/ApplicationInfoHttpClient.d.ts +5 -4
  6. package/dist/Clients/BaseClient.d.ts +10 -8
  7. package/dist/Clients/CorrelationHttpClient.d.ts +4 -3
  8. package/dist/Clients/CronjobHttpClient.d.ts +5 -4
  9. package/dist/Clients/DataObjectInstanceHttpClient.d.ts +3 -2
  10. package/dist/Clients/EventHttpClient.d.ts +13 -12
  11. package/dist/Clients/ExternalTaskApiHttpClient.d.ts +7 -6
  12. package/dist/Clients/ExternalTaskHttpClient.d.ts +3 -3
  13. package/dist/Clients/FlowNodeInstanceHttpClient.d.ts +8 -7
  14. package/dist/Clients/Lib/SocketIoManager.d.ts +13 -28
  15. package/dist/Clients/ManualTaskHttpClient.d.ts +7 -6
  16. package/dist/Clients/NotificationHttpClient.d.ts +52 -51
  17. package/dist/Clients/ProcessDefinitionHttpClient.d.ts +11 -10
  18. package/dist/Clients/ProcessDefinitionHttpClientNode.d.ts +2 -2
  19. package/dist/Clients/ProcessInstanceHttpClient.d.ts +8 -7
  20. package/dist/Clients/ProcessModelHttpClient.d.ts +11 -10
  21. package/dist/Clients/UntypedTaskHttpClient.d.ts +7 -6
  22. package/dist/Clients/UserTaskHttpClient.d.ts +11 -10
  23. package/dist/ExternalTaskExecution.d.ts +1 -0
  24. package/dist/ExternalTaskWorker.d.ts +8 -1
  25. package/dist/IdentityAccessor.d.ts +41 -0
  26. package/dist/Retry.d.ts +1 -0
  27. package/dist/Types/IExternalTaskWorker.d.ts +3 -2
  28. package/dist/commonjs/Client.js +19 -21
  29. package/dist/commonjs/Client.js.map +1 -1
  30. package/dist/commonjs/ClientCredentialsIdentityAccessor.js +79 -0
  31. package/dist/commonjs/ClientCredentialsIdentityAccessor.js.map +1 -0
  32. package/dist/commonjs/ClientFactory.js +25 -28
  33. package/dist/commonjs/ClientFactory.js.map +1 -1
  34. package/dist/commonjs/Clients/AnonymousSessionHttpClient.js +3 -3
  35. package/dist/commonjs/Clients/AnonymousSessionHttpClient.js.map +1 -1
  36. package/dist/commonjs/Clients/ApplicationInfoHttpClient.js +5 -5
  37. package/dist/commonjs/Clients/ApplicationInfoHttpClient.js.map +1 -1
  38. package/dist/commonjs/Clients/BaseClient.js +23 -15
  39. package/dist/commonjs/Clients/BaseClient.js.map +1 -1
  40. package/dist/commonjs/Clients/CorrelationHttpClient.js +2 -2
  41. package/dist/commonjs/Clients/CorrelationHttpClient.js.map +1 -1
  42. package/dist/commonjs/Clients/CronjobHttpClient.js +3 -3
  43. package/dist/commonjs/Clients/CronjobHttpClient.js.map +1 -1
  44. package/dist/commonjs/Clients/DataObjectInstanceHttpClient.js +1 -1
  45. package/dist/commonjs/Clients/DataObjectInstanceHttpClient.js.map +1 -1
  46. package/dist/commonjs/Clients/EventHttpClient.js +3 -3
  47. package/dist/commonjs/Clients/EventHttpClient.js.map +1 -1
  48. package/dist/commonjs/Clients/ExternalTaskApiHttpClient.js +5 -5
  49. package/dist/commonjs/Clients/ExternalTaskApiHttpClient.js.map +1 -1
  50. package/dist/commonjs/Clients/ExternalTaskHttpClient.js +4 -5
  51. package/dist/commonjs/Clients/ExternalTaskHttpClient.js.map +1 -1
  52. package/dist/commonjs/Clients/FlowNodeInstanceHttpClient.js +6 -6
  53. package/dist/commonjs/Clients/FlowNodeInstanceHttpClient.js.map +1 -1
  54. package/dist/commonjs/Clients/Lib/SocketIoManager.js +129 -49
  55. package/dist/commonjs/Clients/Lib/SocketIoManager.js.map +1 -1
  56. package/dist/commonjs/Clients/ManualTaskHttpClient.js +2 -2
  57. package/dist/commonjs/Clients/ManualTaskHttpClient.js.map +1 -1
  58. package/dist/commonjs/Clients/NotificationHttpClient.js +3 -3
  59. package/dist/commonjs/Clients/NotificationHttpClient.js.map +1 -1
  60. package/dist/commonjs/Clients/ProcessDefinitionHttpClient.js +8 -8
  61. package/dist/commonjs/Clients/ProcessDefinitionHttpClient.js.map +1 -1
  62. package/dist/commonjs/Clients/ProcessDefinitionHttpClientNode.js.map +1 -1
  63. package/dist/commonjs/Clients/ProcessInstanceHttpClient.js +7 -7
  64. package/dist/commonjs/Clients/ProcessInstanceHttpClient.js.map +1 -1
  65. package/dist/commonjs/Clients/ProcessModelHttpClient.js +9 -9
  66. package/dist/commonjs/Clients/ProcessModelHttpClient.js.map +1 -1
  67. package/dist/commonjs/Clients/UntypedTaskHttpClient.js +2 -2
  68. package/dist/commonjs/Clients/UntypedTaskHttpClient.js.map +1 -1
  69. package/dist/commonjs/Clients/UserTaskHttpClient.js +4 -4
  70. package/dist/commonjs/Clients/UserTaskHttpClient.js.map +1 -1
  71. package/dist/commonjs/ExternalTaskExecution.js +6 -3
  72. package/dist/commonjs/ExternalTaskExecution.js.map +1 -1
  73. package/dist/commonjs/ExternalTaskWorker.js +16 -10
  74. package/dist/commonjs/ExternalTaskWorker.js.map +1 -1
  75. package/dist/commonjs/IdentityAccessor.js +190 -0
  76. package/dist/commonjs/IdentityAccessor.js.map +1 -0
  77. package/dist/commonjs/Retry.js +30 -0
  78. package/dist/commonjs/Retry.js.map +1 -0
  79. package/dist/commonjs/index.js +5 -1
  80. package/dist/commonjs/index.js.map +1 -1
  81. package/dist/index.d.ts +2 -0
  82. package/package.json +7 -2
  83. package/tsconfig.tests.json +20 -0
@@ -1,4 +1,5 @@
1
- import { INotificationExtensionAdapter, Identity, Messages, Subscription } from '@5minds/processcube_engine_sdk';
1
+ import { INotificationExtensionAdapter, Messages, Subscription } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { Messages as ClientMessages } from '../Types/index';
3
4
  import { BaseClient } from './BaseClient';
4
5
  export interface INotificationHttpClient extends INotificationExtensionAdapter {
@@ -7,97 +8,97 @@ export interface INotificationHttpClient extends INotificationExtensionAdapter {
7
8
  onReconnected(callback: ClientMessages.CallbackTypes.OnReconnected, subscribeOnce?: boolean): Subscription;
8
9
  }
9
10
  export declare class NotificationHttpClient extends BaseClient implements INotificationHttpClient {
10
- removeSubscription(subscription: Subscription, identity?: Identity): void;
11
- onConnected(callback: ClientMessages.CallbackTypes.OnConnected, subscribeOnce?: boolean, identity?: Identity): Subscription;
12
- onDisconnected(callback: ClientMessages.CallbackTypes.OnDisconnected, subscribeOnce?: boolean, identity?: Identity): Subscription;
13
- onReconnected(callback: ClientMessages.CallbackTypes.OnReconnected, subscribeOnce?: boolean, identity?: Identity): Subscription;
11
+ removeSubscription(subscription: Subscription, identity?: IdentityLike): void;
12
+ onConnected(callback: ClientMessages.CallbackTypes.OnConnected, subscribeOnce?: boolean, identity?: IdentityLike): Subscription;
13
+ onDisconnected(callback: ClientMessages.CallbackTypes.OnDisconnected, subscribeOnce?: boolean, identity?: IdentityLike): Subscription;
14
+ onReconnected(callback: ClientMessages.CallbackTypes.OnReconnected, subscribeOnce?: boolean, identity?: IdentityLike): Subscription;
14
15
  onActivityError(callback: Messages.CallbackTypes.OnActivityErrorCallback, options?: {
15
16
  subscribeOnce?: boolean;
16
- identity?: Identity;
17
+ identity?: IdentityLike;
17
18
  }): Promise<Subscription>;
18
19
  onProcessDeployed(callback: Messages.CallbackTypes.OnProcessDeployedCallback, options?: {
19
20
  subscribeOnce?: boolean;
20
- identity?: Identity;
21
+ identity?: IdentityLike;
21
22
  }): Promise<Subscription>;
22
23
  onProcessUndeployed(callback: Messages.CallbackTypes.OnProcessUndeployedCallback, options?: {
23
24
  subscribeOnce?: boolean;
24
- identity?: Identity;
25
+ identity?: IdentityLike;
25
26
  }): Promise<Subscription>;
26
27
  onProcessIsExecutableChanged(callback: Messages.CallbackTypes.OnProcessIsExecutableChangedCallback, options?: {
27
28
  subscribeOnce?: boolean;
28
- identity?: Identity;
29
+ identity?: IdentityLike;
29
30
  }): Promise<Subscription>;
30
31
  onCronjobEnabledChanged(callback: Messages.CallbackTypes.OnCronjobEnabledChangedCallback, options?: {
31
32
  subscribeOnce?: boolean;
32
- identity?: Identity;
33
+ identity?: IdentityLike;
33
34
  }): Promise<Subscription>;
34
35
  onProcessStarting(callback: Messages.CallbackTypes.OnProcessStartingCallback, options?: {
35
36
  subscribeOnce?: boolean;
36
- identity?: Identity;
37
+ identity?: IdentityLike;
37
38
  }): Promise<Subscription>;
38
39
  onProcessStarted(callback: Messages.CallbackTypes.OnProcessStartedCallback, options?: {
39
40
  subscribeOnce?: boolean;
40
- identity?: Identity;
41
+ identity?: IdentityLike;
41
42
  }): Promise<Subscription>;
42
43
  onProcessResumed(callback: Messages.CallbackTypes.OnProcessStartedCallback, options?: {
43
44
  subscribeOnce?: boolean;
44
- identity?: Identity;
45
+ identity?: IdentityLike;
45
46
  }): Promise<Subscription>;
46
47
  onProcessEnded(callback: Messages.CallbackTypes.OnProcessEndedCallback, options?: {
47
48
  subscribeOnce?: boolean;
48
- identity?: Identity;
49
+ identity?: IdentityLike;
49
50
  }): Promise<Subscription>;
50
51
  onProcessOwnerChanged(callback: Messages.CallbackTypes.OnProcessOwnerChangedCallback, options?: {
51
52
  subscribeOnce?: boolean;
52
- identity?: Identity;
53
+ identity?: IdentityLike;
53
54
  }): Promise<Subscription>;
54
55
  onProcessTerminated(callback: Messages.CallbackTypes.OnProcessTerminatedCallback, options?: {
55
56
  subscribeOnce?: boolean;
56
- identity?: Identity;
57
+ identity?: IdentityLike;
57
58
  }): Promise<Subscription>;
58
59
  onProcessError(callback: Messages.CallbackTypes.OnProcessErrorCallback, options?: {
59
60
  subscribeOnce?: boolean;
60
- identity?: Identity;
61
+ identity?: IdentityLike;
61
62
  }): Promise<Subscription>;
62
63
  onProcessInstancesDeleted(callback: Messages.CallbackTypes.OnProcessInstancesDeletedCallback, options?: {
63
64
  subscribeOnce?: boolean;
64
- identity?: Identity;
65
+ identity?: IdentityLike;
65
66
  }): Promise<Subscription>;
66
67
  onCronjobCreated(callback: Messages.CallbackTypes.OnCronjobCreatedCallback, options?: {
67
68
  subscribeOnce?: boolean;
68
- identity?: Identity;
69
+ identity?: IdentityLike;
69
70
  }): Promise<Subscription>;
70
71
  onCronjobStopped(callback: Messages.CallbackTypes.OnCronjobStoppedCallback, options?: {
71
72
  subscribeOnce?: boolean;
72
- identity?: Identity;
73
+ identity?: IdentityLike;
73
74
  }): Promise<Subscription>;
74
75
  onCronjobUpdated(callback: Messages.CallbackTypes.OnCronjobUpdatedCallback, options?: {
75
76
  subscribeOnce?: boolean;
76
- identity?: Identity;
77
+ identity?: IdentityLike;
77
78
  }): Promise<Subscription>;
78
79
  onCronjobExecuted(callback: Messages.CallbackTypes.OnCronjobExecutedCallback, options?: {
79
80
  subscribeOnce?: boolean;
80
- identity?: Identity;
81
+ identity?: IdentityLike;
81
82
  }): Promise<Subscription>;
82
83
  onCronjobRemoved(callback: Messages.CallbackTypes.OnCronjobRemovedCallback, options?: {
83
84
  subscribeOnce?: boolean;
84
- identity?: Identity;
85
+ identity?: IdentityLike;
85
86
  }): Promise<Subscription>;
86
87
  onActivityReached(callback: Messages.CallbackTypes.OnActivityReachedCallback, options?: {
87
88
  subscribeOnce?: boolean;
88
- identity?: Identity;
89
+ identity?: IdentityLike;
89
90
  }): Promise<Subscription>;
90
91
  onActivityFinished(callback: Messages.CallbackTypes.OnActivityFinishedCallback, options?: {
91
92
  subscribeOnce?: boolean;
92
- identity?: Identity;
93
+ identity?: IdentityLike;
93
94
  }): Promise<Subscription>;
94
95
  onActivityCanceled(callback: Messages.CallbackTypes.OnActivityCanceledCallback, options?: {
95
96
  subscribeOnce?: boolean;
96
- identity?: Identity;
97
+ identity?: IdentityLike;
97
98
  }): Promise<Subscription>;
98
99
  onUntypedTaskWaiting(callback: Messages.CallbackTypes.OnUntypedTaskWaitingCallback, options?: {
99
100
  subscribeOnce?: boolean;
100
- identity?: Identity;
101
+ identity?: IdentityLike;
101
102
  /**
102
103
  * If true, will use the old "Empty Activity" Socket.IO Endpoint for receiving the notification.
103
104
  */
@@ -105,7 +106,7 @@ export declare class NotificationHttpClient extends BaseClient implements INotif
105
106
  }): Promise<Subscription>;
106
107
  onUntypedTaskFinished(callback: Messages.CallbackTypes.OnUntypedTaskFinishedCallback, options?: {
107
108
  subscribeOnce?: boolean;
108
- identity?: Identity;
109
+ identity?: IdentityLike;
109
110
  /**
110
111
  * If true, will use the old "Empty Activity" Socket.IO Endpoint for receiving the notification.
111
112
  */
@@ -113,94 +114,94 @@ export declare class NotificationHttpClient extends BaseClient implements INotif
113
114
  }): Promise<Subscription>;
114
115
  onManualTaskWaiting(callback: Messages.CallbackTypes.OnManualTaskWaitingCallback, options?: {
115
116
  subscribeOnce?: boolean;
116
- identity?: Identity;
117
+ identity?: IdentityLike;
117
118
  }): Promise<Subscription>;
118
119
  onManualTaskFinished(callback: Messages.CallbackTypes.OnManualTaskFinishedCallback, options?: {
119
120
  subscribeOnce?: boolean;
120
- identity?: Identity;
121
+ identity?: IdentityLike;
121
122
  }): Promise<Subscription>;
122
123
  onUserTaskWaiting(callback: Messages.CallbackTypes.OnUserTaskWaitingCallback, options?: {
123
124
  subscribeOnce?: boolean;
124
- identity?: Identity;
125
+ identity?: IdentityLike;
125
126
  }): Promise<Subscription>;
126
127
  onUserTaskFinished(callback: Messages.CallbackTypes.OnUserTaskFinishedCallback, options?: {
127
128
  subscribeOnce?: boolean;
128
- identity?: Identity;
129
+ identity?: IdentityLike;
129
130
  }): Promise<Subscription>;
130
131
  onUserTaskReserved(callback: Messages.CallbackTypes.OnUserTaskReservedCallback, options?: {
131
132
  subscribeOnce?: boolean;
132
- identity?: Identity;
133
+ identity?: IdentityLike;
133
134
  }): Promise<Subscription>;
134
135
  onUserTaskReservationCanceled(callback: Messages.CallbackTypes.OnUserTaskReservationCanceledCallback, options?: {
135
136
  subscribeOnce?: boolean;
136
- identity?: Identity;
137
+ identity?: IdentityLike;
137
138
  }): Promise<Subscription>;
138
139
  onBoundaryEventWaiting(callback: Messages.CallbackTypes.OnBoundaryEventWaitingCallback, options?: {
139
140
  subscribeOnce?: boolean;
140
- identity?: Identity;
141
+ identity?: IdentityLike;
141
142
  }): Promise<Subscription>;
142
143
  onBoundaryEventTriggered(callback: Messages.CallbackTypes.OnBoundaryEventTriggeredCallback, options?: {
143
144
  subscribeOnce?: boolean;
144
- identity?: Identity;
145
+ identity?: IdentityLike;
145
146
  }): Promise<Subscription>;
146
147
  onBoundaryEventFinished(callback: Messages.CallbackTypes.OnBoundaryEventFinishedCallback, options?: {
147
148
  subscribeOnce?: boolean;
148
- identity?: Identity;
149
+ identity?: IdentityLike;
149
150
  }): Promise<Subscription>;
150
151
  onIntermediateThrowEventTriggered(callback: Messages.CallbackTypes.OnIntermediateThrowEventTriggeredCallback, options?: {
151
152
  subscribeOnce?: boolean;
152
- identity?: Identity;
153
+ identity?: IdentityLike;
153
154
  }): Promise<Subscription>;
154
155
  onIntermediateCatchEventReached(callback: Messages.CallbackTypes.OnIntermediateCatchEventReachedCallback, options?: {
155
156
  subscribeOnce?: boolean;
156
- identity?: Identity;
157
+ identity?: IdentityLike;
157
158
  }): Promise<Subscription>;
158
159
  onIntermediateCatchEventFinished(callback: Messages.CallbackTypes.OnIntermediateCatchEventFinishedCallback, options?: {
159
160
  subscribeOnce?: boolean;
160
- identity?: Identity;
161
+ identity?: IdentityLike;
161
162
  }): Promise<Subscription>;
162
163
  onFlowNodeEventRetrySending(callback: Messages.CallbackTypes.OnFlowNodeEventRetrySendingCallback, options?: {
163
164
  subscribeOnce?: boolean;
164
- identity?: Identity;
165
+ identity?: IdentityLike;
165
166
  }): Promise<Subscription>;
166
167
  onMessageTriggered(callback: Messages.CallbackTypes.OnMessageTriggeredCallback, options?: {
167
168
  subscribeOnce?: boolean;
168
- identity?: Identity;
169
+ identity?: IdentityLike;
169
170
  }): Promise<Subscription>;
170
171
  onSignalTriggered(callback: Messages.CallbackTypes.OnSignalTriggeredCallback, options?: {
171
172
  subscribeOnce?: boolean;
172
- identity?: Identity;
173
+ identity?: IdentityLike;
173
174
  }): Promise<Subscription>;
174
175
  onStartEventFinished(callback: Messages.CallbackTypes.OnStartEventFinishedCallback, options?: {
175
176
  subscribeOnce?: boolean;
176
- identity?: Identity;
177
+ identity?: IdentityLike;
177
178
  }): Promise<Subscription>;
178
179
  onEndEventFinished(callback: Messages.CallbackTypes.OnEndEventFinishedCallback, options?: {
179
180
  subscribeOnce?: boolean;
180
- identity?: Identity;
181
+ identity?: IdentityLike;
181
182
  }): Promise<Subscription>;
182
183
  onExternalTaskCreated(callback: Messages.CallbackTypes.OnExternalTaskCreatedCallback, options?: {
183
184
  subscribeOnce?: boolean;
184
- identity?: Identity;
185
+ identity?: IdentityLike;
185
186
  }): Promise<Subscription>;
186
187
  onExternalTaskLocked(callback: Messages.CallbackTypes.OnExternalTaskLockedCallback, options?: {
187
188
  subscribeOnce?: boolean;
188
- identity?: Identity;
189
+ identity?: IdentityLike;
189
190
  }): Promise<Subscription>;
190
191
  onExternalTaskUnlocked(callback: Messages.CallbackTypes.OnExternalTaskUnlockedCallback, options?: {
191
192
  subscribeOnce?: boolean;
192
- identity?: Identity;
193
+ identity?: IdentityLike;
193
194
  }): Promise<Subscription>;
194
195
  onProcessInstanceMetadataChanged(callback: Messages.CallbackTypes.OnProcessInstanceMetadataChangedCallback, options?: {
195
196
  subscribeOnce?: boolean;
196
- identity?: Identity;
197
+ identity?: IdentityLike;
197
198
  }): Promise<Subscription>;
198
199
  onCorrelationMetadataChanged(callback: Messages.CallbackTypes.OnCorrelationMetadataChangedCallback, options?: {
199
200
  subscribeOnce?: boolean;
200
- identity?: Identity;
201
+ identity?: IdentityLike;
201
202
  }): Promise<Subscription>;
202
203
  onGatewayFinished(callback: Messages.CallbackTypes.OnGatewayFinishedCallback, options?: {
203
204
  subscribeOnce?: boolean;
204
- identity?: Identity;
205
+ identity?: IdentityLike;
205
206
  }): Promise<Subscription>;
206
207
  }
@@ -1,31 +1,32 @@
1
- import { DataModels, IProcessDefinitionExtensionAdapter, Identity } from '@5minds/processcube_engine_sdk';
1
+ import { DataModels, IProcessDefinitionExtensionAdapter } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { BaseClient } from './BaseClient';
3
4
  type ProcessStartOptions<TPayload extends object> = DataModels.ProcessInstances.ProcessStartOptions<TPayload>;
4
5
  type ProcessStartResponse = DataModels.ProcessInstances.ProcessStartResponse;
5
6
  export declare class ProcessDefinitionHttpClient extends BaseClient implements IProcessDefinitionExtensionAdapter {
6
7
  getAll(options?: {
7
- identity?: Identity;
8
+ identity?: IdentityLike;
8
9
  offset?: number;
9
10
  limit?: number;
10
11
  }): Promise<DataModels.ProcessDefinitions.ProcessDefinitionList>;
11
- getById(processDefinitionId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
12
- getByProcessModelId(processModelId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
12
+ getById(processDefinitionId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
13
+ getByProcessModelId(processModelId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
13
14
  persistProcessDefinitions(xml: string | Array<string>, options?: {
14
15
  overwriteExisting?: boolean;
15
- identity?: Identity;
16
+ identity?: IdentityLike;
16
17
  }): Promise<void>;
17
18
  deployFiles(filePaths: string | Array<string>, options?: {
18
19
  overwriteExisting?: boolean;
19
- identity?: Identity;
20
+ identity?: IdentityLike;
20
21
  }): Promise<void>;
21
- startProcessInstance<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: Identity): Promise<ProcessStartResponse>;
22
- startProcessInstanceAndAwaitEndEvent<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: Identity): Promise<ProcessStartResponse>;
23
- startProcessInstanceAndAwaitSpecificEndEvent<TPayload extends object>(options: DataModels.ProcessInstances.ProcessStartOptions<TPayload>, endEventId: string, identity?: Identity): Promise<ProcessStartResponse>;
22
+ startProcessInstance<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: IdentityLike): Promise<ProcessStartResponse>;
23
+ startProcessInstanceAndAwaitEndEvent<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: IdentityLike): Promise<ProcessStartResponse>;
24
+ startProcessInstanceAndAwaitSpecificEndEvent<TPayload extends object>(options: DataModels.ProcessInstances.ProcessStartOptions<TPayload>, endEventId: string, identity?: IdentityLike): Promise<ProcessStartResponse>;
24
25
  /**
25
26
  * @param deleteAllRelatedData Optional: If set to true, the Process Definition, as well as all related data, will be completely deleted.
26
27
  * Otherwise, the Process Definition will only be flagged as deleted, but all data will be kept.
27
28
  * Note that this won't do anything on engines with a version below v13.0.7.
28
29
  */
29
- deleteById(processDefinitionId: string, identity?: Identity, deleteAllRelatedData?: boolean): Promise<void>;
30
+ deleteById(processDefinitionId: string, identity?: IdentityLike, deleteAllRelatedData?: boolean): Promise<void>;
30
31
  }
31
32
  export {};
@@ -1,8 +1,8 @@
1
- import { Identity } from '@5minds/processcube_engine_sdk';
1
+ import { IdentityLike } from '../IdentityAccessor';
2
2
  import { ProcessDefinitionHttpClient } from './ProcessDefinitionHttpClient';
3
3
  export declare class ProcessDefinitionHttpClientNode extends ProcessDefinitionHttpClient {
4
4
  deployFiles(filePaths: string | Array<string>, options?: {
5
5
  overwriteExisting?: boolean;
6
- identity?: Identity;
6
+ identity?: IdentityLike;
7
7
  }): Promise<void>;
8
8
  }
@@ -1,23 +1,24 @@
1
- import { DataModels, IProcessInstanceExtensionAdapter, Identity } from '@5minds/processcube_engine_sdk';
1
+ import { DataModels, IProcessInstanceExtensionAdapter } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { BaseClient } from './BaseClient';
3
4
  export declare class ProcessInstanceHttpClient extends BaseClient implements IProcessInstanceExtensionAdapter {
4
5
  query(query: DataModels.ProcessInstances.ProcessInstanceQuery, options?: {
5
- identity?: Identity;
6
+ identity?: IdentityLike;
6
7
  includeXml?: boolean;
7
8
  offset?: number;
8
9
  limit?: number;
9
10
  sortSettings?: DataModels.ProcessInstances.ProcessInstanceSortSettings;
10
11
  }): Promise<DataModels.ProcessInstances.ProcessInstanceList>;
11
- getProcessDefinition(processInstanceId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
12
- getProcessModel(processInstanceId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessModel>;
12
+ getProcessDefinition(processInstanceId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
13
+ getProcessModel(processInstanceId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessModel>;
13
14
  transferOwnership(processInstanceId: string, newOwner: DataModels.Iam.Identity, identity?: DataModels.Iam.Identity): Promise<void>;
14
- terminateProcessInstance(processInstanceId: string, identity?: Identity): Promise<void>;
15
+ terminateProcessInstance(processInstanceId: string, identity?: IdentityLike): Promise<void>;
15
16
  retryProcessInstance(processInstanceId: string, options?: {
16
17
  flowNodeInstanceId?: string;
17
18
  newStartToken?: any;
18
19
  updateProcessModel?: boolean;
19
- identity?: Identity;
20
+ identity?: IdentityLike;
20
21
  }): Promise<void>;
21
- deleteProcessInstances(processInstanceIds: string | Array<string>, deleteAllRelatedData?: boolean, identity?: Identity): Promise<void>;
22
+ deleteProcessInstances(processInstanceIds: string | Array<string>, deleteAllRelatedData?: boolean, identity?: IdentityLike): Promise<void>;
22
23
  private handleError;
23
24
  }
@@ -1,18 +1,19 @@
1
- import { DataModels, IProcessModelExtensionAdapter, Identity } from '@5minds/processcube_engine_sdk';
1
+ import { DataModels, IProcessModelExtensionAdapter } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { BaseClient } from './BaseClient';
3
4
  type ProcessStartOptions<TPayload extends object> = DataModels.ProcessInstances.ProcessStartOptions<TPayload>;
4
5
  type ProcessStartResponse = DataModels.ProcessInstances.ProcessStartResponse;
5
6
  export declare class ProcessModelHttpClient extends BaseClient implements IProcessModelExtensionAdapter {
6
7
  getAll(options?: {
7
- identity?: Identity;
8
+ identity?: IdentityLike;
8
9
  offset?: number;
9
10
  limit?: number;
10
11
  }): Promise<DataModels.ProcessDefinitions.ProcessModelList>;
11
- getById(processModelId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessModel>;
12
- getByProcessInstanceId(processInstanceId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessModel>;
13
- startProcessInstance<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: Identity): Promise<ProcessStartResponse>;
14
- startProcessInstanceAndAwaitEndEvent<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: Identity): Promise<ProcessStartResponse>;
15
- startProcessInstanceAndAwaitSpecificEndEvent<TPayload extends object>(options: DataModels.ProcessInstances.ProcessStartOptions<TPayload>, endEventId: string, identity?: Identity): Promise<ProcessStartResponse>;
12
+ getById(processModelId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessModel>;
13
+ getByProcessInstanceId(processInstanceId: string, identity?: IdentityLike): Promise<DataModels.ProcessDefinitions.ProcessModel>;
14
+ startProcessInstance<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: IdentityLike): Promise<ProcessStartResponse>;
15
+ startProcessInstanceAndAwaitEndEvent<TPayload extends object>(options: ProcessStartOptions<TPayload>, identity?: IdentityLike): Promise<ProcessStartResponse>;
16
+ startProcessInstanceAndAwaitSpecificEndEvent<TPayload extends object>(options: DataModels.ProcessInstances.ProcessStartOptions<TPayload>, endEventId: string, identity?: IdentityLike): Promise<ProcessStartResponse>;
16
17
  /**
17
18
  * @param deleteAllRelatedData Optional: If set to true, the Process Definition, as well as all related data, will be completely deleted.
18
19
  * Otherwise, the Process Definition will only be flagged as deleted, but all data will be kept.
@@ -20,10 +21,10 @@ export declare class ProcessModelHttpClient extends BaseClient implements IProce
20
21
  */
21
22
  deleteDefinitionByProcessModelId(processModelId: string, options?: {
22
23
  force?: boolean;
23
- identity?: Identity;
24
+ identity?: IdentityLike;
24
25
  deleteAllRelatedData?: boolean;
25
26
  }): Promise<void>;
26
- enableProcessModel(processModelId: string, identity?: Identity): Promise<void>;
27
- disableProcessModel(processModelId: string, identity?: Identity): Promise<void>;
27
+ enableProcessModel(processModelId: string, identity?: IdentityLike): Promise<void>;
28
+ disableProcessModel(processModelId: string, identity?: IdentityLike): Promise<void>;
28
29
  }
29
30
  export {};
@@ -1,8 +1,9 @@
1
- import { FlowNodeInstanceSortSettings, IUntypedTaskExtensionAdapter, Identity, Messages, Subscription, UntypedTaskList, UntypedTaskQuery } from '@5minds/processcube_engine_sdk';
1
+ import { FlowNodeInstanceSortSettings, IUntypedTaskExtensionAdapter, Messages, Subscription, UntypedTaskList, UntypedTaskQuery } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { BaseClient } from './BaseClient';
3
4
  export declare class UntypedTaskHttpClient extends BaseClient implements IUntypedTaskExtensionAdapter {
4
5
  query(query: UntypedTaskQuery, options?: {
5
- identity?: Identity;
6
+ identity?: IdentityLike;
6
7
  offset?: number;
7
8
  limit?: number;
8
9
  sortSettings?: FlowNodeInstanceSortSettings;
@@ -10,10 +11,10 @@ export declare class UntypedTaskHttpClient extends BaseClient implements IUntype
10
11
  /**
11
12
  * @param useLegacyEndpoint If true, will use the old "Empty Activity" Socket.IO Endpoint for receiving the notification.
12
13
  */
13
- finishTask(taskInstanceId: string, identity?: Identity, useLegacyEndpoint?: boolean): Promise<void>;
14
+ finishTask(taskInstanceId: string, identity?: IdentityLike, useLegacyEndpoint?: boolean): Promise<void>;
14
15
  onUntypedTaskWaiting(callback: Messages.CallbackTypes.OnUntypedTaskWaitingCallback, options?: {
15
16
  subscribeOnce?: boolean;
16
- identity?: Identity;
17
+ identity?: IdentityLike;
17
18
  /**
18
19
  * If true, will use the old "Empty Activity" Socket.IO Endpoint for receiving the notification.
19
20
  */
@@ -21,11 +22,11 @@ export declare class UntypedTaskHttpClient extends BaseClient implements IUntype
21
22
  }): Promise<Subscription>;
22
23
  onUntypedTaskFinished(callback: Messages.CallbackTypes.OnUntypedTaskFinishedCallback, options?: {
23
24
  subscribeOnce?: boolean;
24
- identity?: Identity;
25
+ identity?: IdentityLike;
25
26
  /**
26
27
  * If true, will use the old "Empty Activity" Socket.IO Endpoint for receiving the notification.
27
28
  */
28
29
  useLegacyEndpoint?: boolean;
29
30
  }): Promise<Subscription>;
30
- removeSubscription(subscription: Subscription, identity?: Identity): void;
31
+ removeSubscription(subscription: Subscription, identity?: IdentityLike): void;
31
32
  }
@@ -1,32 +1,33 @@
1
- import { DataModels, IUserTaskExtensionAdapter, Identity, Messages, Subscription } from '@5minds/processcube_engine_sdk';
1
+ import { DataModels, IUserTaskExtensionAdapter, Messages, Subscription } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  import { BaseClient } from './BaseClient';
3
4
  type UserTaskList = DataModels.FlowNodeInstances.UserTaskList;
4
5
  export declare class UserTaskHttpClient extends BaseClient implements IUserTaskExtensionAdapter {
5
6
  query(query: DataModels.FlowNodeInstances.UserTaskQuery, options?: {
6
- identity?: Identity;
7
+ identity?: IdentityLike;
7
8
  offset?: number;
8
9
  limit?: number;
9
10
  sortSettings?: DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings;
10
11
  }): Promise<UserTaskList>;
11
- reserveUserTaskInstance(identity: Identity, flowNodeInstanceId: string, actualOwnerId: string): Promise<void>;
12
- cancelUserTaskInstanceReservation(identity: Identity, flowNodeInstanceId: string): Promise<void>;
13
- finishUserTask(userTaskInstanceId: string, userTaskResult: DataModels.FlowNodeInstances.UserTaskResult, identity?: Identity): Promise<void>;
12
+ reserveUserTaskInstance(identity: IdentityLike, flowNodeInstanceId: string, actualOwnerId: string): Promise<void>;
13
+ cancelUserTaskInstanceReservation(identity: IdentityLike, flowNodeInstanceId: string): Promise<void>;
14
+ finishUserTask(userTaskInstanceId: string, userTaskResult: DataModels.FlowNodeInstances.UserTaskResult, identity?: IdentityLike): Promise<void>;
14
15
  onUserTaskWaiting(callback: Messages.CallbackTypes.OnUserTaskWaitingCallback, options?: {
15
16
  subscribeOnce?: boolean;
16
- identity?: Identity;
17
+ identity?: IdentityLike;
17
18
  }): Promise<Subscription>;
18
19
  onUserTaskFinished(callback: Messages.CallbackTypes.OnUserTaskFinishedCallback, options?: {
19
20
  subscribeOnce?: boolean;
20
- identity?: Identity;
21
+ identity?: IdentityLike;
21
22
  }): Promise<Subscription>;
22
23
  onUserTaskReserved(callback: Messages.CallbackTypes.OnUserTaskReservedCallback, options?: {
23
24
  subscribeOnce?: boolean;
24
- identity?: Identity;
25
+ identity?: IdentityLike;
25
26
  }): Promise<Subscription>;
26
27
  onUserTaskReservationCanceled(callback: Messages.CallbackTypes.OnUserTaskReservationCanceledCallback, options?: {
27
28
  subscribeOnce?: boolean;
28
- identity?: Identity;
29
+ identity?: IdentityLike;
29
30
  }): Promise<Subscription>;
30
- removeSubscription(subscription: Subscription, identity?: Identity): void;
31
+ removeSubscription(subscription: Subscription, identity?: IdentityLike): void;
31
32
  }
32
33
  export {};
@@ -13,6 +13,7 @@ export declare class ExternalTaskExecution<TExternalTaskPayload, TResultPayload
13
13
  private abortSignalSubscription;
14
14
  private awaitAbortSignal;
15
15
  private abortSignalResolver;
16
+ private identityAccessor;
16
17
  private logger;
17
18
  constructor(externalTask: ExternalTask<TExternalTaskPayload>, processingFunction: HandleExternalTaskAction<TExternalTaskPayload, TResultPayload>, externalTaskClient: ExternalTaskApiClient, config: IExternalTaskWorkerConfig, topic: string, abortSignal: AbortSignal, customErrorHandler?: WorkerErrorHandler);
18
19
  execute(): Promise<void>;
@@ -8,14 +8,21 @@ export declare class ExternalTaskWorker<TExternalTaskPayload, TResultPayload ext
8
8
  private readonly longpollingTimeout;
9
9
  private readonly processingFunction;
10
10
  private readonly payloadFilter;
11
- private _identity;
11
+ private identityAccessor;
12
12
  private _pollingActive;
13
13
  private externalTaskClient;
14
14
  private customErrorHandler;
15
15
  private abortController;
16
16
  private abortSignal;
17
17
  constructor(engineUrl: string, topic: string, processingFunction: HandleExternalTaskAction<TExternalTaskPayload, TResultPayload>, config?: IExternalTaskWorkerConfig);
18
+ /**
19
+ * @deprecated Use getIdentity instead.
20
+ */
18
21
  get identity(): Identity;
22
+ getIdentity(): Promise<Identity>;
23
+ /**
24
+ * @deprecated This is no longer safe to use. Identity should be set via the constructor.
25
+ */
19
26
  set identity(value: Identity);
20
27
  get workerId(): string;
21
28
  get pollingIsActive(): boolean;
@@ -0,0 +1,41 @@
1
+ import { Identity, Logger } from '@5minds/processcube_engine_sdk';
2
+ export declare class IdentityAccessor {
3
+ static wrap(identity?: IdentityLike, engineUrl?: string): IdentityAccessor;
4
+ private identityGetter;
5
+ private latestIdentity;
6
+ private expirationTimeInMs;
7
+ private id;
8
+ private identityAvailablePromise;
9
+ private identityAvailableResolve;
10
+ private identityAvailableReject;
11
+ private refreshTimeout;
12
+ protected logger: Logger;
13
+ private newIdentityCallbacks;
14
+ private asyncLock;
15
+ constructor(staticOrDynamicIdentity?: Identity | (() => Promise<Identity>) | (() => Identity));
16
+ getId(): string;
17
+ getIdentity(): Promise<Identity>;
18
+ /**
19
+ * This method only waits the first time the identity is retrieved from any remote source to ensure no missing references occur.
20
+ */
21
+ waitUntilIdentityIsAvailable(): Promise<void>;
22
+ /**
23
+ * @deprecated This method only exists for downward compatibility purposes, use getIdentity instead.
24
+ */
25
+ getIdentityStatic(): Identity;
26
+ onNewIdentity(callback: (identity: Identity) => Promise<void>): void;
27
+ removeOnNewIdentityListener(callback: (identity: Identity) => Promise<void>): void;
28
+ dispose(): void;
29
+ protected getBaseMinRefreshTimeInMs(): number;
30
+ private refreshIdentityIfNeeded;
31
+ private getDecodedToken;
32
+ }
33
+ export type IdentityLike = Identity | (() => Promise<Identity>) | (() => Identity) | IdentityAccessor | ClientCredentialsConfig;
34
+ export type ClientCredentialsConfig = {
35
+ authorityUrl?: string;
36
+ engineUrl?: string;
37
+ baseMinRefreshTimeInMs?: number;
38
+ clientId: string;
39
+ clientSecret: string;
40
+ scope: string;
41
+ };
@@ -0,0 +1 @@
1
+ export declare function executeWithRetry<TResult>(fn: () => Promise<TResult>, retryMessage?: string, errorsToRetry?: Array<string>, maxRetries?: number, retryInterval?: number): Promise<TResult>;
@@ -1,4 +1,5 @@
1
- import { ExternalTask, Identity } from '@5minds/processcube_engine_sdk';
1
+ import { ExternalTask } from '@5minds/processcube_engine_sdk';
2
+ import { IdentityLike } from '../IdentityAccessor';
2
3
  /**
3
4
  * Definition of the HandleExternalTask Callback.
4
5
  */
@@ -9,7 +10,7 @@ export type IExternalTaskWorkerConfig = {
9
10
  lockDuration?: number;
10
11
  maxTasks?: number;
11
12
  longpollingTimeout?: number;
12
- identity?: Identity;
13
+ identity?: IdentityLike;
13
14
  payloadFilter?: RegExp;
14
15
  };
15
16
  /**
@@ -3,13 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EngineClient = void 0;
4
4
  const ClientFactory_1 = require("./ClientFactory");
5
5
  const SocketIoManager_1 = require("./Clients/Lib/SocketIoManager");
6
- const dummyIdentity = {
7
- token: 'ZHVtbXlfdG9rZW4=',
8
- userId: 'dummy_token',
9
- };
6
+ const IdentityAccessor_1 = require("./IdentityAccessor");
10
7
  class EngineClient {
11
8
  engineUrl;
12
- identity;
9
+ identityAccessor;
13
10
  anonymousSessionClient;
14
11
  applicationInfoClient;
15
12
  correlationClient;
@@ -27,23 +24,23 @@ class EngineClient {
27
24
  userTaskClient;
28
25
  constructor(engineUrl, identity) {
29
26
  this.engineUrl = engineUrl;
30
- this.identity = identity ?? dummyIdentity;
27
+ this.identityAccessor = IdentityAccessor_1.IdentityAccessor.wrap(identity, engineUrl);
31
28
  const socketIoManager = new SocketIoManager_1.SocketIoManager(this.engineUrl);
32
- this.anonymousSessionClient = ClientFactory_1.ClientFactory.createAnonymousSessionClient(this.engineUrl, this.identity);
33
- this.applicationInfoClient = ClientFactory_1.ClientFactory.createApplicationInfoClient(this.engineUrl, this.identity, socketIoManager);
34
- this.correlationClient = ClientFactory_1.ClientFactory.createCorrelationClient(this.engineUrl, this.identity);
35
- this.cronjobClient = ClientFactory_1.ClientFactory.createCronJobClient(this.engineUrl, this.identity);
36
- this.dataObjectInstanceClient = ClientFactory_1.ClientFactory.createDataObjectInstanceClient(this.engineUrl, this.identity);
37
- this.eventClient = ClientFactory_1.ClientFactory.createEventClient(this.engineUrl, this.identity, socketIoManager);
38
- this.externalTaskClient = ClientFactory_1.ClientFactory.createExternalTaskClient(this.engineUrl, this.identity);
39
- this.flowNodeInstanceClient = ClientFactory_1.ClientFactory.createFlowNodeInstanceClient(this.engineUrl, this.identity);
40
- this.manualTaskClient = ClientFactory_1.ClientFactory.createManualTaskClient(this.engineUrl, this.identity, socketIoManager);
41
- this.notificationClient = ClientFactory_1.ClientFactory.createNotificationClient(this.engineUrl, this.identity, socketIoManager);
42
- this.processDefinitionClient = ClientFactory_1.ClientFactory.createProcessDefinitionClient(this.engineUrl, this.identity);
43
- this.processInstanceClient = ClientFactory_1.ClientFactory.createProcessInstanceClient(this.engineUrl, this.identity);
44
- this.processModelClient = ClientFactory_1.ClientFactory.createProcessModelClient(this.engineUrl, this.identity);
45
- this.untypedTaskClient = ClientFactory_1.ClientFactory.createUntypedTaskClient(this.engineUrl, this.identity, socketIoManager);
46
- this.userTaskClient = ClientFactory_1.ClientFactory.createUserTaskClient(this.engineUrl, this.identity, socketIoManager);
29
+ this.anonymousSessionClient = ClientFactory_1.ClientFactory.createAnonymousSessionClient(this.engineUrl, this.identityAccessor);
30
+ this.applicationInfoClient = ClientFactory_1.ClientFactory.createApplicationInfoClient(this.engineUrl, this.identityAccessor, socketIoManager);
31
+ this.correlationClient = ClientFactory_1.ClientFactory.createCorrelationClient(this.engineUrl, this.identityAccessor);
32
+ this.cronjobClient = ClientFactory_1.ClientFactory.createCronJobClient(this.engineUrl, this.identityAccessor);
33
+ this.dataObjectInstanceClient = ClientFactory_1.ClientFactory.createDataObjectInstanceClient(this.engineUrl, this.identityAccessor);
34
+ this.eventClient = ClientFactory_1.ClientFactory.createEventClient(this.engineUrl, this.identityAccessor, socketIoManager);
35
+ this.externalTaskClient = ClientFactory_1.ClientFactory.createExternalTaskClient(this.engineUrl, this.identityAccessor);
36
+ this.flowNodeInstanceClient = ClientFactory_1.ClientFactory.createFlowNodeInstanceClient(this.engineUrl, this.identityAccessor);
37
+ this.manualTaskClient = ClientFactory_1.ClientFactory.createManualTaskClient(this.engineUrl, this.identityAccessor, socketIoManager);
38
+ this.notificationClient = ClientFactory_1.ClientFactory.createNotificationClient(this.engineUrl, this.identityAccessor, socketIoManager);
39
+ this.processDefinitionClient = ClientFactory_1.ClientFactory.createProcessDefinitionClient(this.engineUrl, this.identityAccessor);
40
+ this.processInstanceClient = ClientFactory_1.ClientFactory.createProcessInstanceClient(this.engineUrl, this.identityAccessor);
41
+ this.processModelClient = ClientFactory_1.ClientFactory.createProcessModelClient(this.engineUrl, this.identityAccessor);
42
+ this.untypedTaskClient = ClientFactory_1.ClientFactory.createUntypedTaskClient(this.engineUrl, this.identityAccessor, socketIoManager);
43
+ this.userTaskClient = ClientFactory_1.ClientFactory.createUserTaskClient(this.engineUrl, this.identityAccessor, socketIoManager);
47
44
  }
48
45
  dispose() {
49
46
  this.anonymousSessionClient.dispose();
@@ -59,6 +56,7 @@ class EngineClient {
59
56
  this.processInstanceClient.dispose();
60
57
  this.untypedTaskClient.dispose();
61
58
  this.userTaskClient.dispose();
59
+ this.identityAccessor.dispose();
62
60
  }
63
61
  /**
64
62
  * Gets the url of the engine that this client is communicating with.