@acorex/platform 21.0.0-next.7 → 21.0.0-next.70
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/fesm2022/acorex-platform-auth.mjs +281 -23
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1370 -276
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1185 -514
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +832 -189
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +6309 -1956
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs +371 -0
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs +100 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +22488 -10232
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +564 -170
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2084 -481
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +10326 -7981
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +391 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs} +21 -28
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +2283 -83
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +767 -609
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +978 -238
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +40 -38
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +822 -89
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +658 -133
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +194 -49
- package/types/acorex-platform-layout-components.d.ts +3253 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/types/acorex-platform-layout-entity.d.ts +4439 -0
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +179 -56
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +398 -127
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1120 -501
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +571 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +233 -6
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +24 -2
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +620 -617
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1669
- package/layout/entity/index.d.ts +0 -2287
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -2,9 +2,7 @@ import * as rxjs from 'rxjs';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Type, ModuleWithProviders, Injector, InjectionToken } from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import { AXPCategoryEntity, AXPValidationRules } from '@acorex/platform/core';
|
|
7
|
-
import { AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
5
|
+
import { AXPProperty, AXPOptionsData, AXPMetaData, AXPEntityOp, AXPMultiLanguageString, AXPCategoryEntity, AXPExpressionEvaluatorScope } from '@acorex/platform/core';
|
|
8
6
|
|
|
9
7
|
declare class AXPWorkflowError extends Error {
|
|
10
8
|
inner: Error | null;
|
|
@@ -147,494 +145,170 @@ declare class AXPWorkflowService {
|
|
|
147
145
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowService>;
|
|
148
146
|
}
|
|
149
147
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
*/
|
|
153
|
-
interface AXPVersionedEntity {
|
|
154
|
-
version: number;
|
|
155
|
-
isLatest: boolean;
|
|
156
|
-
isPublished: boolean;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Workflow definition stored in database.
|
|
160
|
-
* This is the stored format that matches Elsa backend structure.
|
|
161
|
-
*/
|
|
162
|
-
interface AXPStoredWorkflowDefinition extends AXPVersionedEntity {
|
|
163
|
-
/**
|
|
164
|
-
* Unique ID of this workflow definition version.
|
|
165
|
-
*/
|
|
166
|
-
id: string;
|
|
167
|
-
/**
|
|
168
|
-
* Unique workflow name (same across all versions).
|
|
169
|
-
* This is the primary identifier (replaces definitionId).
|
|
170
|
-
*/
|
|
171
|
-
name: string;
|
|
172
|
-
/**
|
|
173
|
-
* Tenant ID (nullable).
|
|
174
|
-
*/
|
|
175
|
-
tenantId?: string | null;
|
|
176
|
-
/**
|
|
177
|
-
* Description of what the workflow does.
|
|
178
|
-
*/
|
|
179
|
-
description?: string | null;
|
|
180
|
-
/**
|
|
181
|
-
* Creation timestamp (ISO date-time).
|
|
182
|
-
*/
|
|
183
|
-
createdAt: string;
|
|
184
|
-
/**
|
|
185
|
-
* Version of the tool that produced this definition (e.g. "3.2.0.0").
|
|
186
|
-
*/
|
|
187
|
-
toolVersion?: string | null;
|
|
188
|
-
/**
|
|
189
|
-
* Materializer name for deserialization.
|
|
190
|
-
*/
|
|
191
|
-
materializerName?: string;
|
|
192
|
-
/**
|
|
193
|
-
* JSON data (for simple workflows).
|
|
194
|
-
*/
|
|
195
|
-
stringData?: string;
|
|
196
|
-
/**
|
|
197
|
-
* Binary data (for complex workflows).
|
|
198
|
-
*/
|
|
199
|
-
binaryData?: Uint8Array;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Variable definition.
|
|
203
|
-
* Matches VariableDefinition from workflow definition schema.
|
|
204
|
-
*/
|
|
205
|
-
interface AXPVariableDefinition {
|
|
206
|
-
/**
|
|
207
|
-
* Variable ID.
|
|
208
|
-
*/
|
|
209
|
-
id?: string;
|
|
210
|
-
/**
|
|
211
|
-
* Variable name.
|
|
212
|
-
*/
|
|
213
|
-
name: string;
|
|
214
|
-
/**
|
|
215
|
-
* Type name (e.g., "String", "Int32", "Boolean").
|
|
216
|
-
*/
|
|
217
|
-
typeName: string;
|
|
218
|
-
/**
|
|
219
|
-
* Whether this is an array type.
|
|
220
|
-
*/
|
|
221
|
-
isArray?: boolean;
|
|
222
|
-
/**
|
|
223
|
-
* Variable value (as string expression or literal).
|
|
224
|
-
*/
|
|
225
|
-
value?: string | null;
|
|
226
|
-
/**
|
|
227
|
-
* Storage driver type name (for custom storage).
|
|
228
|
-
*/
|
|
229
|
-
storageDriverTypeName?: string | null;
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Workflow input definition.
|
|
233
|
-
* Matches WorkflowInputDefinition from workflow definition schema.
|
|
234
|
-
*/
|
|
235
|
-
interface AXPWorkflowInputDefinition {
|
|
236
|
-
/**
|
|
237
|
-
* Input type (e.g., "String", "Int32", "Object").
|
|
238
|
-
*/
|
|
239
|
-
type: string;
|
|
240
|
-
/**
|
|
241
|
-
* Input name.
|
|
242
|
-
*/
|
|
148
|
+
interface AXPWorkflowDefinition {
|
|
149
|
+
schemaVersion: 'acorex-platform-workflow/v1';
|
|
243
150
|
name: string;
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
151
|
+
title?: AXPMultiLanguageString | null;
|
|
152
|
+
description?: AXPMultiLanguageString | null;
|
|
153
|
+
variables?: AXPProperty[];
|
|
154
|
+
inputs?: AXPProperty[];
|
|
155
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
156
|
+
graph: AXPWorkflowGraph;
|
|
157
|
+
customProperties?: Record<string, any>;
|
|
158
|
+
/** engine specific (Elsa, ...) */
|
|
159
|
+
extensions?: AXPWorkflowExtensions;
|
|
160
|
+
/**
|
|
161
|
+
* Workflow bindings configuration.
|
|
162
|
+
* Defines which entities and events should trigger this workflow.
|
|
163
|
+
*/
|
|
164
|
+
bindings?: AXPWorkflowBinding[];
|
|
165
|
+
}
|
|
166
|
+
interface AXPWorkflowGraph {
|
|
167
|
+
startActivityId: string;
|
|
168
|
+
activities: AXPWorkflowActivityInstance[];
|
|
169
|
+
connections: AXPConnection[];
|
|
170
|
+
/** purely designer */
|
|
171
|
+
designer?: {
|
|
172
|
+
nodes?: Record<string, {
|
|
173
|
+
x: number;
|
|
174
|
+
y: number;
|
|
175
|
+
nodeId?: string;
|
|
176
|
+
width?: number;
|
|
177
|
+
height?: number;
|
|
178
|
+
}>;
|
|
179
|
+
edges?: Array<{
|
|
180
|
+
from: string;
|
|
181
|
+
to: string;
|
|
182
|
+
vertices?: Array<{
|
|
183
|
+
x: number;
|
|
184
|
+
y: number;
|
|
185
|
+
}>;
|
|
186
|
+
}>;
|
|
187
|
+
/**
|
|
188
|
+
* When true, the Activities page has applied its initial auto-arrange (or the graph already had
|
|
189
|
+
* persisted node positions). Prevents re-running automatic layout on subsequent visits.
|
|
190
|
+
*/
|
|
191
|
+
layoutArranged?: boolean;
|
|
192
|
+
};
|
|
264
193
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
*/
|
|
269
|
-
interface AXPWorkflowOutputDefinition {
|
|
270
|
-
/**
|
|
271
|
-
* Output type (e.g., "String", "Int32", "Object").
|
|
272
|
-
*/
|
|
273
|
-
type: string;
|
|
194
|
+
interface AXPWorkflowActivityInstance {
|
|
195
|
+
id: string;
|
|
196
|
+
nodeId?: string;
|
|
274
197
|
/**
|
|
275
|
-
*
|
|
198
|
+
* Activity name - references AXPActivityDefinition.name
|
|
199
|
+
* Used to lookup activity definition for metadata (executionMode, title, etc.)
|
|
276
200
|
*/
|
|
277
201
|
name: string;
|
|
278
202
|
/**
|
|
279
|
-
*
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Description.
|
|
284
|
-
*/
|
|
285
|
-
description?: string;
|
|
286
|
-
/**
|
|
287
|
-
* Category for grouping.
|
|
288
|
-
*/
|
|
289
|
-
category?: string;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Expression.
|
|
293
|
-
* Used for dynamic values in activities.
|
|
294
|
-
*/
|
|
295
|
-
interface AXPExpression {
|
|
296
|
-
/**
|
|
297
|
-
* Expression type (e.g., "Literal", "JavaScript", "Liquid").
|
|
298
|
-
*/
|
|
299
|
-
type: string;
|
|
300
|
-
/**
|
|
301
|
-
* Expression value.
|
|
302
|
-
*/
|
|
303
|
-
value?: any;
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Input value wrapper.
|
|
307
|
-
* Wraps an expression with type information.
|
|
308
|
-
*/
|
|
309
|
-
interface AXPInputValue {
|
|
310
|
-
/**
|
|
311
|
-
* Type name.
|
|
312
|
-
*/
|
|
313
|
-
typeName: string;
|
|
314
|
-
/**
|
|
315
|
-
* Expression (or null).
|
|
316
|
-
*/
|
|
317
|
-
expression?: AXPExpression | null;
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Output value wrapper.
|
|
321
|
-
* References memory location.
|
|
322
|
-
*/
|
|
323
|
-
interface AXPOutputValue {
|
|
324
|
-
/**
|
|
325
|
-
* Type name.
|
|
326
|
-
*/
|
|
327
|
-
typeName: string;
|
|
328
|
-
/**
|
|
329
|
-
* Memory reference (or null).
|
|
203
|
+
* Input values for this activity instance.
|
|
204
|
+
* Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs
|
|
205
|
+
* Example: { "message": "Hello", "duration": 5000 }
|
|
330
206
|
*/
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
} | null;
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Position (for visual layout).
|
|
337
|
-
*/
|
|
338
|
-
interface AXPPosition {
|
|
339
|
-
x: number;
|
|
340
|
-
y: number;
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Endpoint (connection point).
|
|
344
|
-
*/
|
|
345
|
-
interface AXPEndpoint {
|
|
346
|
-
/**
|
|
347
|
-
* Activity ID.
|
|
348
|
-
*/
|
|
349
|
-
activity: string;
|
|
207
|
+
inputs?: AXPOptionsData;
|
|
208
|
+
title?: string;
|
|
350
209
|
/**
|
|
351
|
-
*
|
|
210
|
+
* Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).
|
|
211
|
+
* When this activity completes, each entry sets variables[variableName] = output[outputPath].
|
|
212
|
+
* Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id
|
|
352
213
|
*/
|
|
353
|
-
|
|
214
|
+
outputToVariables?: AXPOptionsData;
|
|
215
|
+
metadata?: AXPMetaData;
|
|
216
|
+
/** engine-specific override */
|
|
217
|
+
extensions?: Record<string, any>;
|
|
354
218
|
}
|
|
355
|
-
/**
|
|
356
|
-
* Connection between activities.
|
|
357
|
-
*/
|
|
358
219
|
interface AXPConnection {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
}
|
|
372
|
-
/**
|
|
373
|
-
* Variable model (for flowchart variables).
|
|
374
|
-
*/
|
|
375
|
-
interface AXPVariableModel {
|
|
376
|
-
id: string;
|
|
377
|
-
name: string;
|
|
378
|
-
typeName: string;
|
|
379
|
-
value?: string | null;
|
|
380
|
-
storageDriverTypeName?: string | null;
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* Metadata (designer annotations).
|
|
384
|
-
*/
|
|
385
|
-
interface AXPMetadata {
|
|
386
|
-
[key: string]: any;
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* Custom properties (free-form bag).
|
|
390
|
-
*/
|
|
391
|
-
interface AXPCustomProperties {
|
|
392
|
-
/**
|
|
393
|
-
* Connections that reference non-existent activities.
|
|
394
|
-
*/
|
|
395
|
-
notFoundConnections?: AXPConnection[];
|
|
396
|
-
/**
|
|
397
|
-
* Additional custom properties.
|
|
398
|
-
*/
|
|
399
|
-
[key: string]: any;
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
* Base activity (workflow definition format).
|
|
403
|
-
* Matches Activity from workflow definition schema.
|
|
404
|
-
* Note: This is the workflow definition format, not the frontend Activity class.
|
|
405
|
-
*/
|
|
406
|
-
interface AXPActivity$1 {
|
|
407
|
-
/**
|
|
408
|
-
* Activity ID.
|
|
409
|
-
*/
|
|
410
|
-
id: string;
|
|
411
|
-
/**
|
|
412
|
-
* Node ID (for visual designer).
|
|
413
|
-
*/
|
|
414
|
-
nodeId: string;
|
|
415
|
-
/**
|
|
416
|
-
* Activity name.
|
|
417
|
-
*/
|
|
418
|
-
name?: string | null;
|
|
419
|
-
/**
|
|
420
|
-
* Activity type (e.g., "workflow-activity:write-line", "workflow-activity:if").
|
|
421
|
-
*/
|
|
422
|
-
type: string;
|
|
423
|
-
/**
|
|
424
|
-
* Activity version.
|
|
425
|
-
*/
|
|
426
|
-
version: number;
|
|
427
|
-
/**
|
|
428
|
-
* Execution mode for this activity instance.
|
|
429
|
-
* Determines where this activity should be executed:
|
|
430
|
-
* - 'frontend': Execute in browser (UI activities like dialogs, toasts, navigation)
|
|
431
|
-
* - 'backend': Execute in backend (business logic, database operations, API calls)
|
|
432
|
-
* - 'both': Execute in both frontend and backend (hybrid activities)
|
|
433
|
-
*
|
|
434
|
-
* If not specified, falls back to AXPActivity's executionMode.
|
|
435
|
-
* This allows per-instance override of the default execution mode.
|
|
436
|
-
*
|
|
437
|
-
* @example
|
|
438
|
-
* ```json
|
|
439
|
-
* {
|
|
440
|
-
* "id": "show-dialog",
|
|
441
|
-
* "type": "workflow-activity:show-dialog",
|
|
442
|
-
* "executionMode": "frontend"
|
|
443
|
-
* }
|
|
444
|
-
* ```
|
|
445
|
-
*/
|
|
446
|
-
executionMode?: 'frontend' | 'backend' | 'both';
|
|
447
|
-
/**
|
|
448
|
-
* Custom properties.
|
|
449
|
-
*/
|
|
450
|
-
customProperties?: AXPCustomProperties;
|
|
451
|
-
/**
|
|
452
|
-
* Metadata (designer annotations).
|
|
453
|
-
*/
|
|
454
|
-
metadata?: AXPMetadata;
|
|
455
|
-
/**
|
|
456
|
-
* Additional type-specific properties.
|
|
457
|
-
*/
|
|
458
|
-
[key: string]: any;
|
|
220
|
+
source: {
|
|
221
|
+
activtyName: string;
|
|
222
|
+
port?: string | null;
|
|
223
|
+
};
|
|
224
|
+
target: {
|
|
225
|
+
activtyName: string;
|
|
226
|
+
port?: string | null;
|
|
227
|
+
};
|
|
228
|
+
vertices?: Array<{
|
|
229
|
+
x: number;
|
|
230
|
+
y: number;
|
|
231
|
+
}>;
|
|
459
232
|
}
|
|
460
233
|
/**
|
|
461
|
-
*
|
|
462
|
-
* This is the root activity that contains all other activities.
|
|
234
|
+
* Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.
|
|
463
235
|
*/
|
|
464
|
-
interface
|
|
465
|
-
/**
|
|
466
|
-
* Type must be "workflow-activity:flowchart".
|
|
467
|
-
*/
|
|
468
|
-
type: "workflow-activity:flowchart";
|
|
469
|
-
/**
|
|
470
|
-
* Activities in this flowchart.
|
|
471
|
-
*/
|
|
472
|
-
activities: AXPActivity$1[];
|
|
473
|
-
/**
|
|
474
|
-
* Variables in this flowchart.
|
|
475
|
-
*/
|
|
476
|
-
variables?: AXPVariableModel[];
|
|
236
|
+
interface AXPWorkflowOutputProperty extends AXPProperty {
|
|
477
237
|
/**
|
|
478
|
-
*
|
|
238
|
+
* Optional: where this output comes from in your context/memory.
|
|
239
|
+
* Example: "$.result.orderId" or "vars.orderId"
|
|
479
240
|
*/
|
|
480
|
-
|
|
241
|
+
path?: string;
|
|
242
|
+
metadata?: Record<string, any>;
|
|
481
243
|
}
|
|
482
244
|
/**
|
|
483
|
-
*
|
|
484
|
-
*
|
|
245
|
+
* Engine-specific extension bag for a workflow.
|
|
246
|
+
* Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).
|
|
485
247
|
*/
|
|
486
|
-
interface
|
|
487
|
-
/**
|
|
488
|
-
* Unique workflow name (used as key/identifier).
|
|
489
|
-
* This is the only required field for identification.
|
|
490
|
-
* Similar to entity system where 'name' is the unique key.
|
|
491
|
-
*/
|
|
492
|
-
name: string;
|
|
493
|
-
/**
|
|
494
|
-
* Display title (human-readable name shown in UI).
|
|
495
|
-
* Similar to entity system where 'title' is the display name.
|
|
496
|
-
*/
|
|
497
|
-
title?: string | null;
|
|
498
|
-
/**
|
|
499
|
-
* Description.
|
|
500
|
-
*/
|
|
501
|
-
description?: string | null;
|
|
502
|
-
/**
|
|
503
|
-
* Workflow variables.
|
|
504
|
-
*/
|
|
505
|
-
variables?: AXPVariableDefinition[];
|
|
506
|
-
/**
|
|
507
|
-
* Workflow inputs.
|
|
508
|
-
*/
|
|
509
|
-
inputs?: AXPWorkflowInputDefinition[];
|
|
510
|
-
/**
|
|
511
|
-
* Workflow outputs.
|
|
512
|
-
*/
|
|
513
|
-
outputs?: AXPWorkflowOutputDefinition[];
|
|
248
|
+
interface AXPWorkflowExtensions {
|
|
514
249
|
/**
|
|
515
|
-
*
|
|
250
|
+
* Elsa-specific extensions (optional).
|
|
516
251
|
*/
|
|
517
|
-
|
|
518
|
-
/**
|
|
519
|
-
* Custom properties.
|
|
520
|
-
*/
|
|
521
|
-
customProperties?: AXPCustomProperties;
|
|
522
|
-
/**
|
|
523
|
-
* Workflow options.
|
|
524
|
-
*/
|
|
525
|
-
options?: AXPWorkflowOptions;
|
|
252
|
+
elsa?: AXPElsaWorkflowExtensions;
|
|
526
253
|
/**
|
|
527
|
-
*
|
|
254
|
+
* Other engines (future-proof).
|
|
255
|
+
* Example: stepFunctions, logicApps, temporal, ...
|
|
528
256
|
*/
|
|
529
|
-
|
|
257
|
+
[engine: string]: any;
|
|
530
258
|
}
|
|
531
259
|
/**
|
|
532
|
-
*
|
|
533
|
-
*
|
|
534
|
-
* System fields ($schema, tenantId, createdAt, toolVersion, isPublished, id, version, isLatest, isReadonly, isSystem)
|
|
535
|
-
* are managed by the entity system and stored in entity model.
|
|
260
|
+
* Elsa-only fields (Optional).
|
|
261
|
+
* Put strategy/tool/schema/raw payload here to keep Core model global.
|
|
536
262
|
*/
|
|
537
|
-
interface
|
|
538
|
-
/**
|
|
539
|
-
* Unique workflow name (used as key/identifier, same across all versions).
|
|
540
|
-
* This is the primary identifier for the workflow.
|
|
541
|
-
*/
|
|
542
|
-
name: string;
|
|
543
|
-
/**
|
|
544
|
-
* Display title (human-readable name shown in UI).
|
|
545
|
-
*/
|
|
546
|
-
title?: string | null;
|
|
547
|
-
/**
|
|
548
|
-
* Description.
|
|
549
|
-
*/
|
|
550
|
-
description?: string | null;
|
|
551
|
-
/**
|
|
552
|
-
* Workflow variables.
|
|
553
|
-
*/
|
|
554
|
-
variables?: AXPVariableDefinition[];
|
|
263
|
+
interface AXPElsaWorkflowExtensions {
|
|
555
264
|
/**
|
|
556
|
-
*
|
|
265
|
+
* Elsa schema URL (if you want to round-trip exact docs).
|
|
266
|
+
* Example: "https://elsaworkflows.io/schemas/workflow-definition/v3.0.0/schema.json"
|
|
557
267
|
*/
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
*/
|
|
562
|
-
outputs?: AXPWorkflowOutputDefinition[];
|
|
563
|
-
/**
|
|
564
|
-
* Workflow outcomes.
|
|
565
|
-
*/
|
|
566
|
-
outcomes?: string[];
|
|
567
|
-
/**
|
|
568
|
-
* Custom properties.
|
|
569
|
-
*/
|
|
570
|
-
customProperties?: AXPCustomProperties;
|
|
571
|
-
/**
|
|
572
|
-
* Workflow options.
|
|
573
|
-
*/
|
|
574
|
-
options?: AXPWorkflowOptions;
|
|
268
|
+
schema?: string;
|
|
269
|
+
toolVersion?: string;
|
|
270
|
+
materializerName?: string;
|
|
575
271
|
/**
|
|
576
|
-
*
|
|
272
|
+
* Elsa strategy/options (engine-level concerns).
|
|
577
273
|
*/
|
|
578
|
-
|
|
274
|
+
options?: {
|
|
275
|
+
activationStrategyType?: string | null;
|
|
276
|
+
incidentStrategyType?: string | null;
|
|
277
|
+
commitStrategyName?: string | null;
|
|
278
|
+
autoUpdateConsumingWorkflows?: boolean;
|
|
279
|
+
usableAsActivity?: boolean | null;
|
|
280
|
+
activityCategory?: string | null;
|
|
281
|
+
};
|
|
579
282
|
/**
|
|
580
|
-
*
|
|
283
|
+
* If you want lossless Elsa round-trip, keep the raw Elsa definition here.
|
|
581
284
|
*/
|
|
582
|
-
|
|
285
|
+
rawDefinition?: any;
|
|
583
286
|
}
|
|
584
287
|
/**
|
|
585
|
-
* Workflow configuration
|
|
288
|
+
* Workflow binding configuration.
|
|
289
|
+
* Defines which entities and events should trigger a workflow.
|
|
586
290
|
*/
|
|
587
|
-
interface
|
|
588
|
-
/**
|
|
589
|
-
* Activation strategy type.
|
|
590
|
-
*/
|
|
591
|
-
activationStrategyType?: string | null;
|
|
592
|
-
/**
|
|
593
|
-
* Whether workflow can be used as an activity.
|
|
594
|
-
*/
|
|
595
|
-
usableAsActivity?: boolean | null;
|
|
291
|
+
interface AXPWorkflowBinding {
|
|
596
292
|
/**
|
|
597
|
-
*
|
|
293
|
+
* Entity types this workflow applies to (e.g., ['ContentManagement.Promotion', 'ContentManagement.Article'])
|
|
294
|
+
* Empty array means applies to all entities with workflow plugin enabled.
|
|
598
295
|
*/
|
|
599
|
-
|
|
296
|
+
entityTypes: string[];
|
|
600
297
|
/**
|
|
601
|
-
*
|
|
298
|
+
* Event types that trigger this workflow (e.g., ['create', 'update'])
|
|
299
|
+
* Uses AXPEntityOp directly (create, update, delete, etc.)
|
|
602
300
|
*/
|
|
603
|
-
|
|
301
|
+
eventTypes: AXPEntityOp[];
|
|
604
302
|
/**
|
|
605
|
-
*
|
|
303
|
+
* Whether this binding is enabled
|
|
606
304
|
*/
|
|
607
|
-
|
|
305
|
+
enabled: boolean;
|
|
608
306
|
/**
|
|
609
|
-
*
|
|
307
|
+
* Optional conditions for when to trigger (future enhancement)
|
|
610
308
|
*/
|
|
611
|
-
|
|
309
|
+
conditions?: any;
|
|
612
310
|
}
|
|
613
311
|
|
|
614
|
-
/**
|
|
615
|
-
* Workflow definition loader interface.
|
|
616
|
-
* Implement this to provide workflow definitions from various sources (JSON files, database, etc.).
|
|
617
|
-
*/
|
|
618
|
-
interface AXPWorkflowDefinitionLoader {
|
|
619
|
-
/**
|
|
620
|
-
* Get workflow definition by name (unique key).
|
|
621
|
-
* @param name - The workflow name (unique key)
|
|
622
|
-
* @returns Workflow definition or null if not found
|
|
623
|
-
*/
|
|
624
|
-
get(name: string): Promise<AXPWorkflowDefinition | null>;
|
|
625
|
-
/**
|
|
626
|
-
* Get all available workflow names.
|
|
627
|
-
* Used for preloading and discovery.
|
|
628
|
-
* @returns Array of workflow names
|
|
629
|
-
*/
|
|
630
|
-
getAllNames?(): Promise<string[]>;
|
|
631
|
-
}
|
|
632
|
-
/**
|
|
633
|
-
* Injection token for workflow definition loaders.
|
|
634
|
-
* Multiple loaders can be provided (multi: true).
|
|
635
|
-
*/
|
|
636
|
-
declare const AXP_WORKFLOW_DEFINITION_LOADER: InjectionToken<AXPWorkflowDefinitionLoader>;
|
|
637
|
-
|
|
638
312
|
/**
|
|
639
313
|
* Workflow status.
|
|
640
314
|
*/
|
|
@@ -930,6 +604,10 @@ interface AXPWorkflowState {
|
|
|
930
604
|
* Finished at timestamp (ISO date-time, nullable).
|
|
931
605
|
*/
|
|
932
606
|
finishedAt?: string | null;
|
|
607
|
+
/**
|
|
608
|
+
* Total number of activities/steps in the workflow (for progress display).
|
|
609
|
+
*/
|
|
610
|
+
totalSteps?: number;
|
|
933
611
|
}
|
|
934
612
|
/**
|
|
935
613
|
* Workflow instance (stored in database).
|
|
@@ -996,8 +674,36 @@ interface AXPWorkflowInstance {
|
|
|
996
674
|
* Finished at timestamp (ISO date-time, nullable).
|
|
997
675
|
*/
|
|
998
676
|
finishedAt?: string | null;
|
|
677
|
+
/**
|
|
678
|
+
* Entity reference ID (for linking workflow instances to business entities).
|
|
679
|
+
*/
|
|
680
|
+
entityRefId?: string | null;
|
|
681
|
+
/**
|
|
682
|
+
* Entity reference type (e.g., 'HumanCapitalManagement.LeaveRequest').
|
|
683
|
+
*/
|
|
684
|
+
entityRefType?: string | null;
|
|
999
685
|
}
|
|
1000
686
|
|
|
687
|
+
/**
|
|
688
|
+
* Type of task for inbox handling.
|
|
689
|
+
* - 'human-task': Requires inbox - needs human interaction
|
|
690
|
+
* - 'ui-activity': UI-only activity (no inbox) - immediate execution
|
|
691
|
+
* - 'system-activity': System/backend activity (no inbox) - automated execution
|
|
692
|
+
*/
|
|
693
|
+
type AXPTaskType = 'human-task' | 'ui-activity' | 'system-activity';
|
|
694
|
+
/**
|
|
695
|
+
* How the workflow engine should offer "continue to next step?" before an inline frontend activity.
|
|
696
|
+
* Declared on {@link AXPActivityDefinition} and copied onto {@link AXPWorkflowTask} at runtime.
|
|
697
|
+
*/
|
|
698
|
+
type AXPWorkflowContinuationBeforeInteractive = 'default'
|
|
699
|
+
/** Skip when opened from a task-board human-task primary action (e.g. start-fill, review). */
|
|
700
|
+
| 'skip-when-chained-from-human-task'
|
|
701
|
+
/** Skip for the natural assignee; initiator / reassign users still get the prompt (workflow-management). */
|
|
702
|
+
| 'skip-for-assignee';
|
|
703
|
+
/** Optional continuation UX metadata for an activity definition. */
|
|
704
|
+
interface AXPWorkflowContinuationMetadata {
|
|
705
|
+
beforeInteractive?: AXPWorkflowContinuationBeforeInteractive;
|
|
706
|
+
}
|
|
1001
707
|
/**
|
|
1002
708
|
* Activity Category - Extends AXPCategoryEntity for consistency and performance
|
|
1003
709
|
*
|
|
@@ -1008,14 +714,18 @@ interface AXPWorkflowInstance {
|
|
|
1008
714
|
* - parentId?: string - Parent category ID
|
|
1009
715
|
* - childrenCount: number - Direct child categories count (enables lazy loading)
|
|
1010
716
|
* - itemsCount?: number - Direct activities count
|
|
1011
|
-
* -
|
|
1012
|
-
* -
|
|
717
|
+
* - totalChildrenCount?: number - Total nested categories (optional, for analytics)
|
|
718
|
+
* - totalItemsCount?: number - Total activities in tree (optional, for analytics)
|
|
1013
719
|
*/
|
|
1014
720
|
interface AXPActivityCategory extends AXPCategoryEntity {
|
|
1015
721
|
}
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
722
|
+
/**
|
|
723
|
+
* Lightweight category snapshot embedded in activity-definition records.
|
|
724
|
+
*/
|
|
725
|
+
interface AXPActivityDefinitionCategoryRef {
|
|
726
|
+
id: string;
|
|
727
|
+
name: string;
|
|
728
|
+
title: AXPMultiLanguageString;
|
|
1019
729
|
}
|
|
1020
730
|
/**
|
|
1021
731
|
* Activity Definition - Metadata for UI and tooling.
|
|
@@ -1033,17 +743,18 @@ interface AXPActivityDefinition {
|
|
|
1033
743
|
*/
|
|
1034
744
|
type: string;
|
|
1035
745
|
/**
|
|
1036
|
-
* Display name for UI.
|
|
746
|
+
* Display name for UI (plain or per-locale map).
|
|
1037
747
|
*/
|
|
1038
|
-
title?:
|
|
748
|
+
title?: AXPMultiLanguageString;
|
|
749
|
+
instanceTitle?: string;
|
|
1039
750
|
/**
|
|
1040
|
-
* Description of what the activity does.
|
|
751
|
+
* Description of what the activity does (plain or per-locale map).
|
|
1041
752
|
*/
|
|
1042
|
-
description?:
|
|
753
|
+
description?: AXPMultiLanguageString;
|
|
1043
754
|
/**
|
|
1044
755
|
* Category for grouping in toolbox.
|
|
1045
756
|
*/
|
|
1046
|
-
category?:
|
|
757
|
+
category?: AXPActivityDefinitionCategoryRef;
|
|
1047
758
|
/**
|
|
1048
759
|
* Icon name or class.
|
|
1049
760
|
*/
|
|
@@ -1058,13 +769,22 @@ interface AXPActivityDefinition {
|
|
|
1058
769
|
*/
|
|
1059
770
|
executionMode?: 'frontend' | 'backend' | 'both';
|
|
1060
771
|
/**
|
|
1061
|
-
*
|
|
772
|
+
* Type of task for inbox handling.
|
|
773
|
+
* - 'human-task': Requires inbox - needs human interaction
|
|
774
|
+
* - 'ui-activity': UI-only activity (no inbox) - immediate execution
|
|
775
|
+
* - 'system-activity': System/backend activity (no inbox) - automated execution
|
|
776
|
+
*
|
|
777
|
+
* Default: 'ui-activity' (for backward compatibility)
|
|
1062
778
|
*/
|
|
1063
|
-
|
|
779
|
+
taskType?: AXPTaskType;
|
|
1064
780
|
/**
|
|
1065
|
-
*
|
|
781
|
+
* Input properties (form/schema for activity parameters).
|
|
1066
782
|
*/
|
|
1067
|
-
|
|
783
|
+
inputs?: AXPProperty[];
|
|
784
|
+
/**
|
|
785
|
+
* Output properties (result shape + optional path/metadata).
|
|
786
|
+
*/
|
|
787
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
1068
788
|
/**
|
|
1069
789
|
* Static outcomes (exit points).
|
|
1070
790
|
* Example: ['Done', 'Success', 'Failed']
|
|
@@ -1080,54 +800,17 @@ interface AXPActivityDefinition {
|
|
|
1080
800
|
* Default: false
|
|
1081
801
|
*/
|
|
1082
802
|
isContainer?: boolean;
|
|
1083
|
-
}
|
|
1084
|
-
/**
|
|
1085
|
-
* Activity - Command with specific TResult structure.
|
|
1086
|
-
* Extends AXPCommand with a fixed TResult that includes output and outcomes.
|
|
1087
|
-
* No additional properties beyond AXPCommand - pure command interface.
|
|
1088
|
-
*/
|
|
1089
|
-
interface AXPActivity<TInput = any, TOutput = any> extends AXPCommand<TInput, {
|
|
1090
|
-
output: TOutput;
|
|
1091
|
-
outcomes: Record<string, any>;
|
|
1092
|
-
}> {
|
|
1093
803
|
/**
|
|
1094
|
-
*
|
|
1095
|
-
* @param input - Activity input data
|
|
1096
|
-
* @returns Promise with output and outcomes
|
|
804
|
+
* Continuation prompt behavior when this activity runs inline in the workflow manager.
|
|
1097
805
|
*/
|
|
1098
|
-
|
|
1099
|
-
output: TOutput;
|
|
1100
|
-
outcomes: Record<string, any>;
|
|
1101
|
-
}>;
|
|
806
|
+
workflowContinuation?: AXPWorkflowContinuationMetadata;
|
|
1102
807
|
}
|
|
1103
808
|
/**
|
|
1104
|
-
*
|
|
1105
|
-
* Similar to AXPEntityProperty structure.
|
|
809
|
+
* Query result shape for activity-definition catalog endpoints.
|
|
1106
810
|
*/
|
|
1107
|
-
interface
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
description?: string;
|
|
1111
|
-
schema: {
|
|
1112
|
-
dataType: string;
|
|
1113
|
-
nullable?: boolean;
|
|
1114
|
-
readonly?: boolean;
|
|
1115
|
-
hidden?: boolean | string;
|
|
1116
|
-
defaultValue?: any | string | ((context: any | null) => any);
|
|
1117
|
-
interface?: ActivityPropertyWidget;
|
|
1118
|
-
};
|
|
1119
|
-
validations?: AXPValidationRules;
|
|
1120
|
-
}
|
|
1121
|
-
/**
|
|
1122
|
-
* Output property descriptor.
|
|
1123
|
-
*/
|
|
1124
|
-
interface OutputDescriptor {
|
|
1125
|
-
name: string;
|
|
1126
|
-
title: string;
|
|
1127
|
-
description?: string;
|
|
1128
|
-
schema: {
|
|
1129
|
-
dataType: string;
|
|
1130
|
-
};
|
|
811
|
+
interface AXPActivityDefinitionQueryResult {
|
|
812
|
+
total: number;
|
|
813
|
+
items: AXPActivityDefinition[];
|
|
1131
814
|
}
|
|
1132
815
|
|
|
1133
816
|
type AXPActivityProviderToken = AXPActivityProvider | Promise<AXPActivityProvider>;
|
|
@@ -1228,6 +911,11 @@ declare class AXPActivityDefinitionService {
|
|
|
1228
911
|
* @returns Activity definition or undefined if not found
|
|
1229
912
|
*/
|
|
1230
913
|
getActivityByName(name: string): Promise<AXPActivityDefinition | undefined>;
|
|
914
|
+
/**
|
|
915
|
+
* Get all activity definitions (flat list) by loading root categories and their activities.
|
|
916
|
+
* Used by activity selector UIs (e.g. automation command configurator).
|
|
917
|
+
*/
|
|
918
|
+
getAllActivities(): Promise<AXPActivityDefinition[]>;
|
|
1231
919
|
/**
|
|
1232
920
|
* Get category ID containing a specific activity definition
|
|
1233
921
|
*
|
|
@@ -1319,6 +1007,10 @@ interface AXPWorkflowTask {
|
|
|
1319
1007
|
* - 'both': Execute in both frontend and backend (hybrid activities)
|
|
1320
1008
|
*/
|
|
1321
1009
|
executionMode: 'frontend' | 'backend' | 'both';
|
|
1010
|
+
/**
|
|
1011
|
+
* Type of task for inbox handling.
|
|
1012
|
+
*/
|
|
1013
|
+
taskType?: 'human-task' | 'ui-activity' | 'system-activity';
|
|
1322
1014
|
/**
|
|
1323
1015
|
* Input data for the activity (for frontend activities).
|
|
1324
1016
|
*/
|
|
@@ -1327,6 +1019,10 @@ interface AXPWorkflowTask {
|
|
|
1327
1019
|
* Configuration for the activity (for frontend activities).
|
|
1328
1020
|
*/
|
|
1329
1021
|
config?: Record<string, any>;
|
|
1022
|
+
/**
|
|
1023
|
+
* Continuation UX copied from the activity definition at task creation time.
|
|
1024
|
+
*/
|
|
1025
|
+
continuation?: AXPWorkflowContinuationMetadata;
|
|
1330
1026
|
}
|
|
1331
1027
|
/**
|
|
1332
1028
|
* Request to start a workflow instance.
|
|
@@ -1358,6 +1054,16 @@ interface AXPStartWorkflowResponse {
|
|
|
1358
1054
|
* Client should execute this task based on executionMode.
|
|
1359
1055
|
*/
|
|
1360
1056
|
pendingTask?: AXPWorkflowTask | null;
|
|
1057
|
+
/**
|
|
1058
|
+
* Activity outputs map (activityId -> output).
|
|
1059
|
+
* Returned for expression evaluation in subsequent activities.
|
|
1060
|
+
*/
|
|
1061
|
+
activityOutputs?: Record<string, any>;
|
|
1062
|
+
/**
|
|
1063
|
+
* Last activity output (convenience).
|
|
1064
|
+
* Prefer using `activityOutputs[activityId]` when possible.
|
|
1065
|
+
*/
|
|
1066
|
+
lastActivityOutput?: any;
|
|
1361
1067
|
}
|
|
1362
1068
|
/**
|
|
1363
1069
|
* Request to resume a suspended workflow.
|
|
@@ -1379,7 +1085,7 @@ interface AXPResumeWorkflowRequest {
|
|
|
1379
1085
|
/**
|
|
1380
1086
|
* User action outcome (e.g., 'Confirmed', 'Cancelled').
|
|
1381
1087
|
*/
|
|
1382
|
-
outcome
|
|
1088
|
+
outcome?: string;
|
|
1383
1089
|
/**
|
|
1384
1090
|
* Optional user input data.
|
|
1385
1091
|
*/
|
|
@@ -1439,6 +1145,16 @@ interface AXPWorkflowInstanceState {
|
|
|
1439
1145
|
* Workflow variables (state).
|
|
1440
1146
|
*/
|
|
1441
1147
|
variables: Record<string, any>;
|
|
1148
|
+
/**
|
|
1149
|
+
* Activity outputs map (activityId -> output).
|
|
1150
|
+
* Used by expression evaluation scope as `outputs.activityId`.
|
|
1151
|
+
*/
|
|
1152
|
+
activityOutputs?: Record<string, any>;
|
|
1153
|
+
/**
|
|
1154
|
+
* Last activity output (convenience).
|
|
1155
|
+
* Useful when the next activity needs a quick access to the previous result.
|
|
1156
|
+
*/
|
|
1157
|
+
lastActivityOutput?: any;
|
|
1442
1158
|
/**
|
|
1443
1159
|
* Initial input data.
|
|
1444
1160
|
*/
|
|
@@ -1452,6 +1168,79 @@ interface AXPWorkflowInstanceState {
|
|
|
1452
1168
|
*/
|
|
1453
1169
|
lastUpdated: Date;
|
|
1454
1170
|
}
|
|
1171
|
+
interface AXPFrontActivityCompleteRequest {
|
|
1172
|
+
/**
|
|
1173
|
+
* Instance ID.
|
|
1174
|
+
*/
|
|
1175
|
+
instanceId: string;
|
|
1176
|
+
activityNode: string;
|
|
1177
|
+
output: Record<string, any>;
|
|
1178
|
+
outcome?: string;
|
|
1179
|
+
}
|
|
1180
|
+
interface AXPFrontActivityCompleteResponse {
|
|
1181
|
+
/**
|
|
1182
|
+
* Activity execution output.
|
|
1183
|
+
*/
|
|
1184
|
+
output?: any;
|
|
1185
|
+
/**
|
|
1186
|
+
* Activity execution outcomes.
|
|
1187
|
+
*/
|
|
1188
|
+
outcomes?: Record<string, any>;
|
|
1189
|
+
/**
|
|
1190
|
+
* Next task to execute (if any).
|
|
1191
|
+
*/
|
|
1192
|
+
nextTask?: AXPWorkflowTask | null;
|
|
1193
|
+
/**
|
|
1194
|
+
* Updated workflow state.
|
|
1195
|
+
*/
|
|
1196
|
+
state?: AXPWorkflowInstanceState;
|
|
1197
|
+
}
|
|
1198
|
+
/**
|
|
1199
|
+
* Activity types that use the task board (suspend until user acts via inbox), not inline interactive execution.
|
|
1200
|
+
*/
|
|
1201
|
+
declare const AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES: readonly string[];
|
|
1202
|
+
declare function axpIsWorkflowTaskBoardActivityType(activityType: string | undefined | null): boolean;
|
|
1203
|
+
/**
|
|
1204
|
+
* Claim a pooled workflow task (updates bookmark assignee without resuming the workflow).
|
|
1205
|
+
*/
|
|
1206
|
+
interface AXPClaimWorkflowTaskRequest {
|
|
1207
|
+
instanceId: string;
|
|
1208
|
+
bookmarkId: string;
|
|
1209
|
+
stepId: string;
|
|
1210
|
+
}
|
|
1211
|
+
interface AXPClaimWorkflowTaskResponse {
|
|
1212
|
+
success: boolean;
|
|
1213
|
+
error?: string;
|
|
1214
|
+
errorCode?: string;
|
|
1215
|
+
}
|
|
1216
|
+
/**
|
|
1217
|
+
* Reassign a human-task bookmark to the current user without resuming the workflow.
|
|
1218
|
+
*/
|
|
1219
|
+
interface AXPReassignWorkflowTaskToSelfRequest {
|
|
1220
|
+
instanceId: string;
|
|
1221
|
+
bookmarkId: string;
|
|
1222
|
+
stepId: string;
|
|
1223
|
+
}
|
|
1224
|
+
interface AXPReassignWorkflowTaskToSelfResponse {
|
|
1225
|
+
success: boolean;
|
|
1226
|
+
error?: string;
|
|
1227
|
+
errorCode?: string;
|
|
1228
|
+
}
|
|
1229
|
+
/** Restore task-board visibility after the user declines a pre-interactive continuation prompt. */
|
|
1230
|
+
interface AXPRevertResumeAfterDeclinedInteractiveContinuationRequest {
|
|
1231
|
+
instanceId: string;
|
|
1232
|
+
/** Human-task / cartable step that was resumed from the task board. */
|
|
1233
|
+
suspendedStepId: string;
|
|
1234
|
+
/** Inline frontend step that was about to run when the user declined. */
|
|
1235
|
+
abortedStepId?: string;
|
|
1236
|
+
/** Bookmark id of the suspended step (when known). */
|
|
1237
|
+
bookmarkId?: string;
|
|
1238
|
+
}
|
|
1239
|
+
interface AXPRevertResumeAfterDeclinedInteractiveContinuationResponse {
|
|
1240
|
+
success: boolean;
|
|
1241
|
+
state?: AXPWorkflowInstanceState;
|
|
1242
|
+
error?: string;
|
|
1243
|
+
}
|
|
1455
1244
|
|
|
1456
1245
|
/**
|
|
1457
1246
|
* Interface for workflow engine operations.
|
|
@@ -1487,6 +1276,24 @@ interface AXPWorkflowEngine {
|
|
|
1487
1276
|
*
|
|
1488
1277
|
*/
|
|
1489
1278
|
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
1279
|
+
frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
|
|
1280
|
+
/**
|
|
1281
|
+
* Optional: claim a pooled task (e.g. cartable) without consuming the bookmark.
|
|
1282
|
+
* Engines that do not support pooling should omit this method.
|
|
1283
|
+
*/
|
|
1284
|
+
claimTask?(request: AXPClaimWorkflowTaskRequest): Promise<AXPClaimWorkflowTaskResponse>;
|
|
1285
|
+
/**
|
|
1286
|
+
* Optional: reassign a human-task bookmark to the current user (requires permission on the engine).
|
|
1287
|
+
*/
|
|
1288
|
+
reassignTaskToSelf?(request: AXPReassignWorkflowTaskToSelfRequest): Promise<AXPReassignWorkflowTaskToSelfResponse>;
|
|
1289
|
+
/**
|
|
1290
|
+
* Optional: restore a suspended task-board step when the user declines a pre-interactive continuation prompt.
|
|
1291
|
+
*/
|
|
1292
|
+
revertResumeAfterDeclinedInteractiveContinuation?(request: AXPRevertResumeAfterDeclinedInteractiveContinuationRequest): Promise<AXPRevertResumeAfterDeclinedInteractiveContinuationResponse>;
|
|
1293
|
+
/**
|
|
1294
|
+
* Optional: terminate a non-finished instance (e.g. superseded lifecycle run).
|
|
1295
|
+
*/
|
|
1296
|
+
cancelInstance?(instanceId: string, reason?: string): Promise<void>;
|
|
1490
1297
|
}
|
|
1491
1298
|
/**
|
|
1492
1299
|
* Injection token for workflow engine.
|
|
@@ -1495,44 +1302,33 @@ interface AXPWorkflowEngine {
|
|
|
1495
1302
|
declare const AXP_WORKFLOW_ENGINE: InjectionToken<AXPWorkflowEngine>;
|
|
1496
1303
|
|
|
1497
1304
|
/**
|
|
1498
|
-
*
|
|
1305
|
+
* Stable workflow engine error codes for UI branching (toasts, take-over flow, etc.).
|
|
1499
1306
|
*/
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
* Task execution outcome (e.g., 'Done', 'Confirmed', 'Cancelled', 'Failed').
|
|
1507
|
-
*/
|
|
1508
|
-
outcome: string;
|
|
1509
|
-
}
|
|
1307
|
+
declare const AXP_WORKFLOW_ERROR_CODES: {
|
|
1308
|
+
readonly TASK_NOT_ASSIGNEE: "WORKFLOW_TASK_NOT_ASSIGNEE";
|
|
1309
|
+
readonly CLAIM_REQUIRED: "WORKFLOW_CLAIM_REQUIRED";
|
|
1310
|
+
readonly REASSIGN_NOT_ALLOWED: "WORKFLOW_REASSIGN_NOT_ALLOWED";
|
|
1311
|
+
};
|
|
1312
|
+
type AXPWorkflowErrorCode = (typeof AXP_WORKFLOW_ERROR_CODES)[keyof typeof AXP_WORKFLOW_ERROR_CODES];
|
|
1510
1313
|
/**
|
|
1511
|
-
*
|
|
1512
|
-
*
|
|
1513
|
-
* This service handles the execution of frontend or hybrid tasks using
|
|
1514
|
-
* the command infrastructure. It translates command results into
|
|
1515
|
-
* workflow-compatible output and outcome format.
|
|
1516
|
-
*
|
|
1517
|
-
* This service is replaceable per platform and contains all execution logic.
|
|
1314
|
+
* Business-rule failure from {@link AXPWorkflowEngine} (expected, user-facing).
|
|
1518
1315
|
*/
|
|
1519
|
-
declare class
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
*
|
|
1524
|
-
* Only executes tasks with executionMode 'frontend' or 'both'.
|
|
1525
|
-
* Backend tasks should not be passed to this executor.
|
|
1526
|
-
*
|
|
1527
|
-
* @param task - Task to execute
|
|
1528
|
-
* @returns Execution result with output and outcome
|
|
1529
|
-
*
|
|
1530
|
-
* @throws Error if task is not a frontend task
|
|
1531
|
-
*/
|
|
1532
|
-
execute(task: AXPWorkflowTask): Promise<FrontendTaskExecutionResult>;
|
|
1533
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FrontendTaskExecutor, never>;
|
|
1534
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FrontendTaskExecutor>;
|
|
1316
|
+
declare class AXPWorkflowEngineError extends Error {
|
|
1317
|
+
readonly code: AXPWorkflowErrorCode;
|
|
1318
|
+
readonly details?: Record<string, unknown> | undefined;
|
|
1319
|
+
constructor(message: string, code: AXPWorkflowErrorCode, details?: Record<string, unknown> | undefined);
|
|
1535
1320
|
}
|
|
1321
|
+
/**
|
|
1322
|
+
* Resolves a stable error code from an unknown thrown value.
|
|
1323
|
+
*/
|
|
1324
|
+
declare function getWorkflowEngineErrorCode(error: unknown): AXPWorkflowErrorCode | undefined;
|
|
1325
|
+
/**
|
|
1326
|
+
* Resolves a user-facing message and optional code from an unknown thrown value.
|
|
1327
|
+
*/
|
|
1328
|
+
declare function getWorkflowEngineErrorInfo(error: unknown): {
|
|
1329
|
+
message: string;
|
|
1330
|
+
code?: AXPWorkflowErrorCode;
|
|
1331
|
+
};
|
|
1536
1332
|
|
|
1537
1333
|
/**
|
|
1538
1334
|
* Result of starting a workflow.
|
|
@@ -1620,6 +1416,28 @@ interface WorkflowResumeResult {
|
|
|
1620
1416
|
* Error message (if failed).
|
|
1621
1417
|
*/
|
|
1622
1418
|
error?: string;
|
|
1419
|
+
/**
|
|
1420
|
+
* Stable engine error code when available (e.g. WORKFLOW_TASK_NOT_ASSIGNEE).
|
|
1421
|
+
*/
|
|
1422
|
+
errorCode?: string;
|
|
1423
|
+
}
|
|
1424
|
+
/**
|
|
1425
|
+
* Result of claiming a pooled workflow task (cartable / candidate pool).
|
|
1426
|
+
*/
|
|
1427
|
+
interface WorkflowClaimTaskResult {
|
|
1428
|
+
success: boolean;
|
|
1429
|
+
instanceId: string;
|
|
1430
|
+
error?: string;
|
|
1431
|
+
errorCode?: string;
|
|
1432
|
+
}
|
|
1433
|
+
/**
|
|
1434
|
+
* Result of reassigning a human-task bookmark to the current user.
|
|
1435
|
+
*/
|
|
1436
|
+
interface WorkflowReassignTaskToSelfResult {
|
|
1437
|
+
success: boolean;
|
|
1438
|
+
instanceId: string;
|
|
1439
|
+
error?: string;
|
|
1440
|
+
errorCode?: string;
|
|
1623
1441
|
}
|
|
1624
1442
|
/**
|
|
1625
1443
|
* Workflow Manager - Facade for workflow lifecycle orchestration.
|
|
@@ -1629,20 +1447,21 @@ interface WorkflowResumeResult {
|
|
|
1629
1447
|
*
|
|
1630
1448
|
* Responsibilities:
|
|
1631
1449
|
* - Orchestrate workflow lifecycle (start, execute, complete, resume)
|
|
1632
|
-
* - Delegate execution to
|
|
1450
|
+
* - Delegate execution to ActivityExecutor
|
|
1633
1451
|
* - Cache workflow state in memory
|
|
1634
1452
|
* - Expose a stable API for UI
|
|
1635
1453
|
*
|
|
1636
1454
|
* Rules:
|
|
1637
1455
|
* - No HTTP calls (delegates to AXPWorkflowEngine)
|
|
1638
|
-
* - No CommandBus / Command execution (delegates to
|
|
1456
|
+
* - No CommandBus / Command execution (delegates to ActivityExecutor)
|
|
1639
1457
|
* - No workflow branching logic (backend decides)
|
|
1640
1458
|
* - No business validation (backend validates)
|
|
1641
1459
|
* - No backend assumptions (uses abstract runtime service)
|
|
1642
1460
|
*/
|
|
1643
1461
|
declare class AXPWorkflowManager {
|
|
1644
1462
|
private readonly workflowEngine;
|
|
1645
|
-
private readonly
|
|
1463
|
+
private readonly activityExecutor;
|
|
1464
|
+
private readonly continuationHook;
|
|
1646
1465
|
/**
|
|
1647
1466
|
* Cache workflow states in memory for quick access.
|
|
1648
1467
|
* Key: instanceId
|
|
@@ -1653,6 +1472,29 @@ declare class AXPWorkflowManager {
|
|
|
1653
1472
|
* Cache TTL in milliseconds (5 minutes).
|
|
1654
1473
|
*/
|
|
1655
1474
|
private readonly CACHE_TTL;
|
|
1475
|
+
/**
|
|
1476
|
+
* Execute frontend activities interactively until reaching workflow-activity:human-task or completion.
|
|
1477
|
+
*
|
|
1478
|
+
* Interactive = show form/popup immediately (user sees and acts). Only workflow-activity:human-task
|
|
1479
|
+
* is not interactive (goes to task board). Other frontend activities (show-layout-popup, show-toast, etc.)
|
|
1480
|
+
* even with taskType human-task in definition are executed here.
|
|
1481
|
+
*
|
|
1482
|
+
* @param instanceId - Workflow instance ID
|
|
1483
|
+
* @param task - Current task to execute
|
|
1484
|
+
* @param state - Current workflow state
|
|
1485
|
+
* @param lastActivityOutput - Last activity output (for expression evaluation)
|
|
1486
|
+
* @returns Final result with nextTask (if workflow-activity:human-task) or completion status
|
|
1487
|
+
*/
|
|
1488
|
+
private executeInteractiveFlow;
|
|
1489
|
+
/**
|
|
1490
|
+
* Runs inline interactive activities when allowed, with an optional pre-flow continuation prompt.
|
|
1491
|
+
*/
|
|
1492
|
+
private runInteractiveFlowWithContinuation;
|
|
1493
|
+
private invokeWorkflowContinuationAfterStep;
|
|
1494
|
+
/**
|
|
1495
|
+
* Restores the suspended task-board step when the user declines a pre-interactive continuation prompt.
|
|
1496
|
+
*/
|
|
1497
|
+
private revertResumeAfterDeclinedInteractiveContinuation;
|
|
1656
1498
|
/**
|
|
1657
1499
|
* Start a new workflow instance.
|
|
1658
1500
|
*
|
|
@@ -1677,31 +1519,6 @@ declare class AXPWorkflowManager {
|
|
|
1677
1519
|
* ```
|
|
1678
1520
|
*/
|
|
1679
1521
|
start(workflowId: string, input?: Record<string, any>): Promise<WorkflowStartResult>;
|
|
1680
|
-
/**
|
|
1681
|
-
* Execute a frontend task.
|
|
1682
|
-
*
|
|
1683
|
-
* Delegates to FrontendTaskExecutor for actual execution.
|
|
1684
|
-
* Only executes tasks with executionMode 'frontend' or 'both'.
|
|
1685
|
-
*
|
|
1686
|
-
* @param task - Task to execute
|
|
1687
|
-
* @returns Execution result with output and outcome
|
|
1688
|
-
*
|
|
1689
|
-
* @throws Error if task is not a frontend task
|
|
1690
|
-
*/
|
|
1691
|
-
execute(task: AXPWorkflowTask): Promise<FrontendTaskExecutionResult>;
|
|
1692
|
-
/**
|
|
1693
|
-
* Complete a task and get next task from backend.
|
|
1694
|
-
*
|
|
1695
|
-
* Sends task result to backend API.
|
|
1696
|
-
* Backend decides: next task, fail, or complete workflow.
|
|
1697
|
-
*
|
|
1698
|
-
* @param instanceId - Workflow instance ID
|
|
1699
|
-
* @param task - Completed task
|
|
1700
|
-
* @param outcome - Task outcome (e.g., 'Done', 'Confirmed', 'Cancelled')
|
|
1701
|
-
* @param output - Task output/result (optional)
|
|
1702
|
-
* @returns Complete result with next task (if any)
|
|
1703
|
-
*/
|
|
1704
|
-
complete(instanceId: string, task: AXPWorkflowTask, outcome: string, output?: any): Promise<WorkflowCompleteResult>;
|
|
1705
1522
|
/**
|
|
1706
1523
|
* Resume a suspended workflow (e.g., after user interaction).
|
|
1707
1524
|
*
|
|
@@ -1725,6 +1542,16 @@ declare class AXPWorkflowManager {
|
|
|
1725
1542
|
* @returns Workflow instance state or null if not found
|
|
1726
1543
|
*/
|
|
1727
1544
|
getState(instanceId: string): Promise<AXPWorkflowInstanceState | null>;
|
|
1545
|
+
/**
|
|
1546
|
+
* Claim a pooled workflow task (assign current user on the bookmark without advancing the workflow).
|
|
1547
|
+
* Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.claimTask}.
|
|
1548
|
+
*/
|
|
1549
|
+
claimTask(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowClaimTaskResult>;
|
|
1550
|
+
/**
|
|
1551
|
+
* Reassign a human-task bookmark to the current user without advancing the workflow.
|
|
1552
|
+
* Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.reassignTaskToSelf}.
|
|
1553
|
+
*/
|
|
1554
|
+
reassignTaskToSelf(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowReassignTaskToSelfResult>;
|
|
1728
1555
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowManager, never>;
|
|
1729
1556
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowManager>;
|
|
1730
1557
|
}
|
|
@@ -1738,15 +1565,16 @@ declare class AXPWorkflowManager {
|
|
|
1738
1565
|
* - Maintains workflow state in memory
|
|
1739
1566
|
* - Does not require backend API calls
|
|
1740
1567
|
*
|
|
1741
|
-
* Execution of frontend tasks is handled by AXPWorkflowManager via
|
|
1568
|
+
* Execution of frontend tasks is handled by AXPWorkflowManager via ActivityExecutor.
|
|
1742
1569
|
* This engine only manages workflow progression and state storage.
|
|
1743
1570
|
*
|
|
1744
1571
|
* This is the DEFAULT engine provider. Applications can override it with
|
|
1745
1572
|
* an API-based engine implementation.
|
|
1746
1573
|
*/
|
|
1747
1574
|
declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
1748
|
-
private readonly
|
|
1749
|
-
|
|
1575
|
+
private readonly activityDefinitionService;
|
|
1576
|
+
private readonly workflowProviders;
|
|
1577
|
+
private readonly multiLanguageResolver;
|
|
1750
1578
|
/**
|
|
1751
1579
|
* In-memory storage for workflow instances.
|
|
1752
1580
|
* Key: instanceId
|
|
@@ -1779,7 +1607,7 @@ declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
|
1779
1607
|
*/
|
|
1780
1608
|
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
1781
1609
|
/**
|
|
1782
|
-
* Get workflow definition from available
|
|
1610
|
+
* Get workflow definition from available providers.
|
|
1783
1611
|
*/
|
|
1784
1612
|
private getDefinition;
|
|
1785
1613
|
/**
|
|
@@ -1795,65 +1623,239 @@ declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
|
1795
1623
|
* Get next activity ID based on connections and outcomes.
|
|
1796
1624
|
*/
|
|
1797
1625
|
private getNextActivityId;
|
|
1798
|
-
|
|
1626
|
+
frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
|
|
1627
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowLocalEngine, never>;
|
|
1799
1628
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowLocalEngine>;
|
|
1800
1629
|
}
|
|
1801
1630
|
|
|
1802
1631
|
/**
|
|
1803
|
-
*
|
|
1804
|
-
*
|
|
1805
|
-
* Inherited properties from AXPCategoryEntity:
|
|
1806
|
-
* - id: string - Unique identifier
|
|
1807
|
-
* - title: string - Display name
|
|
1808
|
-
* - description?: string - Category description
|
|
1809
|
-
* - parentId?: string - Parent category ID
|
|
1810
|
-
* - childrenCount: number - Direct child categories count (enables lazy loading)
|
|
1811
|
-
* - itemsCount?: number - Direct workflows count
|
|
1812
|
-
* - totalChildren?: number - Total nested categories (optional, for analytics)
|
|
1813
|
-
* - totalItems?: number - Total workflows in tree (optional, for analytics)
|
|
1632
|
+
* Result of executing a workflow activity.
|
|
1814
1633
|
*/
|
|
1815
|
-
interface
|
|
1634
|
+
interface ActivityExecutionResult {
|
|
1635
|
+
/**
|
|
1636
|
+
* Activity execution output.
|
|
1637
|
+
*/
|
|
1638
|
+
output: any;
|
|
1639
|
+
/**
|
|
1640
|
+
* Activity execution outcome (e.g., 'Done', 'Confirmed', 'Cancelled', 'Failed').
|
|
1641
|
+
*/
|
|
1642
|
+
outcome: string;
|
|
1816
1643
|
}
|
|
1817
1644
|
/**
|
|
1818
|
-
*
|
|
1819
|
-
*
|
|
1820
|
-
*
|
|
1645
|
+
* Activity Executor Service
|
|
1646
|
+
*
|
|
1647
|
+
* Service for executing workflow activities via CommandBus.
|
|
1648
|
+
* Automatically evaluates expressions in activity inputs before execution.
|
|
1649
|
+
*
|
|
1650
|
+
* @example
|
|
1651
|
+
* ```typescript
|
|
1652
|
+
* const executor = inject(ActivityExecutor);
|
|
1653
|
+
*
|
|
1654
|
+
* // Execute activity with task and workflow state (expressions will be evaluated)
|
|
1655
|
+
* const result = await executor.execute(task, workflowState, activityOutputs);
|
|
1656
|
+
* ```
|
|
1821
1657
|
*/
|
|
1822
|
-
|
|
1658
|
+
declare class ActivityExecutor {
|
|
1659
|
+
private readonly commandService;
|
|
1660
|
+
private readonly expressionEvaluator;
|
|
1661
|
+
private readonly expressionScopeService;
|
|
1662
|
+
private readonly translateService;
|
|
1823
1663
|
/**
|
|
1824
|
-
*
|
|
1825
|
-
*
|
|
1664
|
+
* Execute a workflow activity with expression evaluation.
|
|
1665
|
+
*
|
|
1666
|
+
* Evaluates expressions in activity inputs using workflow state,
|
|
1667
|
+
* then executes the activity via CommandBus.
|
|
1668
|
+
*
|
|
1669
|
+
* @param task - Workflow task containing activity information
|
|
1670
|
+
* @param workflowState - Current workflow instance state (for expression evaluation)
|
|
1671
|
+
* @param activityOutputs - Map of previous activity outputs (for expression evaluation)
|
|
1672
|
+
* @returns Execution result with output and outcome
|
|
1826
1673
|
*/
|
|
1827
|
-
|
|
1674
|
+
execute(task: AXPWorkflowTask, workflowState?: AXPWorkflowInstanceState, activityOutputs?: Map<string, any> | Record<string, any>): Promise<ActivityExecutionResult>;
|
|
1828
1675
|
/**
|
|
1829
|
-
*
|
|
1676
|
+
* Resolves command failure message text for workflow output: `@` keys via translate, MLS maps via resolve.
|
|
1830
1677
|
*/
|
|
1831
|
-
|
|
1678
|
+
private resolveCommandMessageTextForError;
|
|
1679
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActivityExecutor, never>;
|
|
1680
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ActivityExecutor>;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
/**
|
|
1684
|
+
* Workflow expression evaluation context.
|
|
1685
|
+
* Contains workflow state data needed for expression evaluation.
|
|
1686
|
+
*/
|
|
1687
|
+
interface WorkflowExpressionContext {
|
|
1688
|
+
/** Workflow input values */
|
|
1689
|
+
inputs: Record<string, any>;
|
|
1690
|
+
/** Workflow state variables */
|
|
1691
|
+
variables: Record<string, any>;
|
|
1692
|
+
/** Previous activity outputs (activityId -> output) */
|
|
1693
|
+
outputs: Record<string, any>;
|
|
1694
|
+
}
|
|
1695
|
+
/**
|
|
1696
|
+
* Workflow Expression Scope Service
|
|
1697
|
+
*
|
|
1698
|
+
* Shared service for building expression evaluation scope from workflow data.
|
|
1699
|
+
* Used by both Local Engine and Mock Runtime to manage workflow data (inputs, variables, outputs).
|
|
1700
|
+
*
|
|
1701
|
+
* Responsibilities:
|
|
1702
|
+
* - Build expression evaluation scope from workflow state
|
|
1703
|
+
* - Provide context.eval() function for accessing workflow data
|
|
1704
|
+
* - Manage workflow data structure (inputs, variables, outputs)
|
|
1705
|
+
*
|
|
1706
|
+
* This service does NOT:
|
|
1707
|
+
* - Execute activities
|
|
1708
|
+
* - Evaluate expressions (delegates to AXPExpressionEvaluatorService)
|
|
1709
|
+
* - Manage workflow state (handled by runtime)
|
|
1710
|
+
*
|
|
1711
|
+
* @example
|
|
1712
|
+
* ```typescript
|
|
1713
|
+
* const scopeService = inject(WorkflowExpressionScopeService);
|
|
1714
|
+
*
|
|
1715
|
+
* // Build scope from workflow state
|
|
1716
|
+
* const scope = scopeService.buildScope({
|
|
1717
|
+
* inputs: state.input || {},
|
|
1718
|
+
* variables: state.variables || {},
|
|
1719
|
+
* outputs: activityOutputs
|
|
1720
|
+
* });
|
|
1721
|
+
*
|
|
1722
|
+
* // Or build from state directly
|
|
1723
|
+
* const scope = scopeService.buildScopeFromState(state, activityOutputs);
|
|
1724
|
+
* ```
|
|
1725
|
+
*/
|
|
1726
|
+
declare class WorkflowExpressionScopeService {
|
|
1832
1727
|
/**
|
|
1833
|
-
*
|
|
1728
|
+
* Collect dot-notation key-value pairs from nested objects so that e.g.
|
|
1729
|
+
* { metadata: { "metadata.questionnaire.id": "x" } } becomes { "metadata.questionnaire.id": "x" } at root.
|
|
1730
|
+
* Top-level non-dot keys are kept as-is.
|
|
1834
1731
|
*/
|
|
1835
|
-
|
|
1732
|
+
private flattenDotKeysFromTree;
|
|
1836
1733
|
/**
|
|
1837
|
-
*
|
|
1734
|
+
* Expand flat keys with dots into nested objects.
|
|
1735
|
+
* e.g. { "metadata.questionnaire.id": "x" } -> { metadata: { questionnaire: { id: "x" } } }.
|
|
1838
1736
|
*/
|
|
1839
|
-
|
|
1737
|
+
private expandDotKeys;
|
|
1840
1738
|
/**
|
|
1841
|
-
*
|
|
1739
|
+
* Normalize workflow input so that flat dot-notation keys (e.g. from form schema
|
|
1740
|
+
* "metadata.questionnaire.id") become nested for expression access (inputs.metadata.questionnaire.id).
|
|
1842
1741
|
*/
|
|
1843
|
-
|
|
1742
|
+
private normalizeInputs;
|
|
1844
1743
|
/**
|
|
1845
|
-
*
|
|
1846
|
-
*
|
|
1744
|
+
* Build expression evaluation scope for workflow activities.
|
|
1745
|
+
*
|
|
1746
|
+
* Provides workflow-specific data (inputs, variables, outputs) and context.eval() function.
|
|
1747
|
+
* Other data (session, current user, etc.) are provided by expression evaluator scope providers.
|
|
1748
|
+
*
|
|
1749
|
+
* Scope includes:
|
|
1750
|
+
* - inputs: Workflow input values (accessible as inputs.propertyName)
|
|
1751
|
+
* - variables: Workflow state variables (accessible as variables.propertyName or vars.propertyName)
|
|
1752
|
+
* - outputs: Previous activity outputs (accessible as outputs.activityId)
|
|
1753
|
+
* - context.eval(path): Function to access nested properties from workflow data
|
|
1754
|
+
*
|
|
1755
|
+
* Expressions can use:
|
|
1756
|
+
* - {{inputs.userName}} - Direct access to workflow input
|
|
1757
|
+
* - {{variables.someVar}} or {{vars.someVar}} - Direct access to workflow variable
|
|
1758
|
+
* - {{outputs.activityId.property}} - Direct access to previous activity output
|
|
1759
|
+
* - {{context.eval("inputs.userName")}} - Access via context.eval (supports nested paths)
|
|
1760
|
+
* - {{context.eval("variables.someVar")}} - Access variables via context.eval
|
|
1761
|
+
* - {{context.eval("outputs.activityId.property")}} - Access outputs via context.eval
|
|
1762
|
+
* - {{session.currentUser().name}} - Access current user via expression evaluator scope providers
|
|
1763
|
+
*
|
|
1764
|
+
* The context.eval() function provides a unified way to access all workflow data,
|
|
1765
|
+
* similar to how entity-detail-list uses context.eval() to access parent data.
|
|
1766
|
+
*
|
|
1767
|
+
* @param context - Workflow expression context containing inputs, variables, and outputs
|
|
1768
|
+
* @returns Expression evaluator scope with workflow data and context.eval() function
|
|
1847
1769
|
*/
|
|
1848
|
-
|
|
1770
|
+
buildScope(context: WorkflowExpressionContext): AXPExpressionEvaluatorScope;
|
|
1849
1771
|
/**
|
|
1850
|
-
*
|
|
1772
|
+
* Build expression evaluation scope from workflow instance state.
|
|
1773
|
+
*
|
|
1774
|
+
* Convenience method that extracts data from AXPWorkflowInstanceState.
|
|
1775
|
+
*
|
|
1776
|
+
* @param state - Workflow instance state
|
|
1777
|
+
* @param activityOutputs - Map of activity outputs (activityId -> output)
|
|
1778
|
+
* @returns Expression evaluator scope with workflow data and context.eval() function
|
|
1851
1779
|
*/
|
|
1852
|
-
|
|
1780
|
+
buildScopeFromState(state: AXPWorkflowInstanceState, activityOutputs?: Map<string, any> | Record<string, any>): AXPExpressionEvaluatorScope;
|
|
1781
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowExpressionScopeService, never>;
|
|
1782
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkflowExpressionScopeService>;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
/** Context passed after a workflow step completes (resume, start, or interactive chain). */
|
|
1786
|
+
interface AXPWorkflowContinuationStepContext {
|
|
1787
|
+
instanceId: string;
|
|
1788
|
+
/** Consumed bookmark id from the task board (when known). */
|
|
1789
|
+
completedBookmarkId?: string;
|
|
1790
|
+
/** Activity id that just completed (human-task or interactive step). */
|
|
1791
|
+
completedActivityId?: string;
|
|
1792
|
+
/** Resume outcome that completed the step (e.g. start-fill, Submitted, Saved). */
|
|
1793
|
+
resumeOutcome?: string;
|
|
1794
|
+
/** Next pending task returned by the engine / workflow manager (when known). */
|
|
1795
|
+
pendingNextTask?: AXPWorkflowTask | null;
|
|
1796
|
+
}
|
|
1797
|
+
/**
|
|
1798
|
+
* Result of a continuation prompt in the current start/resume cycle.
|
|
1799
|
+
* Used by {@link AXPWorkflowManager} to avoid duplicate dialogs in the same cycle.
|
|
1800
|
+
*/
|
|
1801
|
+
type AXPWorkflowContinuationOfferResult = 'not-offered' | 'confirmed' | 'declined';
|
|
1802
|
+
/**
|
|
1803
|
+
* Optional hook: offer the current user to continue to the next workflow step.
|
|
1804
|
+
* Implemented by workflow-management (task board UX); invoked from {@link AXPWorkflowManager}.
|
|
1805
|
+
*/
|
|
1806
|
+
interface AXPWorkflowContinuationHook {
|
|
1853
1807
|
/**
|
|
1854
|
-
*
|
|
1808
|
+
* Before running an inline interactive activity chain (sign-off, forms, etc.).
|
|
1809
|
+
* Return `declined` to skip executing that chain in this resume/start call.
|
|
1855
1810
|
*/
|
|
1856
|
-
|
|
1811
|
+
offerBeforeInteractiveFlow?(context: AXPWorkflowContinuationStepContext): Promise<AXPWorkflowContinuationOfferResult>;
|
|
1812
|
+
/** After resume/start when the next human-task is on the task board, or no before-offer ran. */
|
|
1813
|
+
offerAfterWorkflowStep?(context: AXPWorkflowContinuationStepContext): Promise<AXPWorkflowContinuationOfferResult | void>;
|
|
1814
|
+
}
|
|
1815
|
+
declare const AXP_WORKFLOW_CONTINUATION_HOOK: InjectionToken<AXPWorkflowContinuationHook>;
|
|
1816
|
+
/** When true on resume `userInput`, skips the post-step continuation dialog (auto-advance). */
|
|
1817
|
+
declare const AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY = "_suppressWorkflowContinuation";
|
|
1818
|
+
declare function isWorkflowContinuationSuppressed(userInput: unknown): boolean;
|
|
1819
|
+
|
|
1820
|
+
/**
|
|
1821
|
+
* Frontend step executed inline (dialog/popup), not suspended on the task board.
|
|
1822
|
+
* Derived from execution mode and task-board activity types — no per-activity hardcoding.
|
|
1823
|
+
*/
|
|
1824
|
+
declare function axpIsWorkflowInlineFrontendTask(task: AXPWorkflowTask | null | undefined): boolean;
|
|
1825
|
+
/** @deprecated Use {@link axpIsWorkflowInlineFrontendTask}. */
|
|
1826
|
+
declare function axpIsWorkflowInteractiveFrontendTask(task: AXPWorkflowTask | null | undefined): boolean;
|
|
1827
|
+
/** Resolved before-interactive behavior from task metadata (set by engine from activity definition). */
|
|
1828
|
+
declare function axpResolveWorkflowContinuationBeforeInteractive(task: AXPWorkflowTask | null | undefined): AXPWorkflowContinuationBeforeInteractive;
|
|
1829
|
+
/**
|
|
1830
|
+
* Whether to skip the pre-interactive "continue?" prompt based on activity metadata.
|
|
1831
|
+
* Assignee-specific rules are applied in workflow-management (needs session).
|
|
1832
|
+
*/
|
|
1833
|
+
declare function axpShouldSkipBeforeInteractiveFromMetadata(behavior: AXPWorkflowContinuationBeforeInteractive, completedWasHumanTask: boolean): boolean;
|
|
1834
|
+
/**
|
|
1835
|
+
* Whether to show a "continue?" prompt before running inline frontend activities.
|
|
1836
|
+
* Skips when the user already resumed a task-board step (primary action / resume).
|
|
1837
|
+
*/
|
|
1838
|
+
declare function axpShouldOfferBeforeInteractiveFlow(context: AXPWorkflowContinuationStepContext): boolean;
|
|
1839
|
+
/**
|
|
1840
|
+
* Whether the workflow advanced enough to consider a continuation prompt.
|
|
1841
|
+
* Includes pending interactive steps when inbox bookmarks are already consumed.
|
|
1842
|
+
*/
|
|
1843
|
+
declare function axpShouldOfferWorkflowContinuationAfterStep(context: AXPWorkflowContinuationStepContext, activeBookmarkActivityIds: string[]): boolean;
|
|
1844
|
+
|
|
1845
|
+
/**
|
|
1846
|
+
* Workflow Category - Extends AXPCategoryEntity for consistency and performance
|
|
1847
|
+
*
|
|
1848
|
+
* Inherited properties from AXPCategoryEntity:
|
|
1849
|
+
* - id: string - Unique identifier
|
|
1850
|
+
* - title: string - Display name
|
|
1851
|
+
* - description?: string - Category description
|
|
1852
|
+
* - parentId?: string - Parent category ID
|
|
1853
|
+
* - childrenCount: number - Direct child categories count (enables lazy loading)
|
|
1854
|
+
* - itemsCount?: number - Direct workflows count
|
|
1855
|
+
* - totalChildrenCount?: number - Total nested categories (optional, for analytics)
|
|
1856
|
+
* - totalItemsCount?: number - Total workflows in tree (optional, for analytics)
|
|
1857
|
+
*/
|
|
1858
|
+
interface AXPWorkflowCategory extends AXPCategoryEntity {
|
|
1857
1859
|
}
|
|
1858
1860
|
type AXPWorkflowProviderToken = AXPWorkflowProvider | Promise<AXPWorkflowProvider>;
|
|
1859
1861
|
declare const AXP_WORKFLOW_PROVIDER: InjectionToken<AXPWorkflowProviderToken[]>;
|
|
@@ -1861,15 +1863,16 @@ interface AXPWorkflowProvider {
|
|
|
1861
1863
|
/**
|
|
1862
1864
|
* Get list of workflow definitions for a category.
|
|
1863
1865
|
* @param categoryId - Category ID to filter workflows
|
|
1864
|
-
* @returns Promise of workflow definition
|
|
1866
|
+
* @returns Promise of workflow definition array
|
|
1865
1867
|
*/
|
|
1866
|
-
getList(categoryId: string): Promise<
|
|
1868
|
+
getList(categoryId: string): Promise<AXPWorkflowDefinition[]>;
|
|
1867
1869
|
/**
|
|
1868
|
-
* Get workflow definition
|
|
1870
|
+
* Get full workflow definition by name (unique identifier).
|
|
1871
|
+
* Used by workflow engines for execution and UI for metadata.
|
|
1869
1872
|
* @param name - Workflow name (unique identifier)
|
|
1870
|
-
* @returns Promise of workflow definition
|
|
1873
|
+
* @returns Promise of full workflow definition or null if not found
|
|
1871
1874
|
*/
|
|
1872
|
-
|
|
1875
|
+
getByName(name: string): Promise<AXPWorkflowDefinition | null>;
|
|
1873
1876
|
}
|
|
1874
1877
|
type AXPWorkflowCategoryProviderToken = AXPWorkflowCategoryProvider | Promise<AXPWorkflowCategoryProvider>;
|
|
1875
1878
|
declare const AXP_WORKFLOW_CATEGORY_PROVIDER: InjectionToken<AXPWorkflowCategoryProviderToken[]>;
|
|
@@ -1940,18 +1943,18 @@ declare class AXPWorkflowDefinitionService {
|
|
|
1940
1943
|
* - Returns cached result on subsequent calls
|
|
1941
1944
|
*
|
|
1942
1945
|
* @param categoryId - Category ID to get workflow definitions from
|
|
1943
|
-
* @returns Array of workflow
|
|
1946
|
+
* @returns Array of workflow definitions
|
|
1944
1947
|
*/
|
|
1945
|
-
getWorkflowsByCategoryId(categoryId: string): Promise<
|
|
1948
|
+
getWorkflowsByCategoryId(categoryId: string): Promise<AXPWorkflowDefinition[]>;
|
|
1946
1949
|
/**
|
|
1947
|
-
* Get single workflow definition
|
|
1950
|
+
* Get single workflow definition by name with O(1) lookup
|
|
1948
1951
|
*
|
|
1949
1952
|
* Optimization: Uses Map for instant retrieval
|
|
1950
1953
|
*
|
|
1951
1954
|
* @param name - Workflow name (unique identifier)
|
|
1952
|
-
* @returns Workflow definition
|
|
1955
|
+
* @returns Workflow definition or undefined if not found
|
|
1953
1956
|
*/
|
|
1954
|
-
getWorkflowByName(name: string): Promise<
|
|
1957
|
+
getWorkflowByName(name: string): Promise<AXPWorkflowDefinition | undefined>;
|
|
1955
1958
|
/**
|
|
1956
1959
|
* Get category ID containing a specific workflow definition
|
|
1957
1960
|
*
|
|
@@ -2015,5 +2018,5 @@ declare class AXPWorkflowDefinitionService {
|
|
|
2015
2018
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowDefinitionService>;
|
|
2016
2019
|
}
|
|
2017
2020
|
|
|
2018
|
-
export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER,
|
|
2019
|
-
export type {
|
|
2021
|
+
export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowEngineError, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_CONTINUATION_HOOK, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_ERROR_CODES, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowInlineFrontendTask, axpIsWorkflowInteractiveFrontendTask, axpIsWorkflowTaskBoardActivityType, axpResolveWorkflowContinuationBeforeInteractive, axpShouldOfferBeforeInteractiveFlow, axpShouldOfferWorkflowContinuationAfterStep, axpShouldSkipBeforeInteractiveFromMetadata, createWorkFlowEvent, getWorkflowEngineErrorCode, getWorkflowEngineErrorInfo, isWorkflowContinuationSuppressed, ofType };
|
|
2022
|
+
export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityDefinitionCategoryRef, AXPActivityDefinitionQueryResult, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPReassignWorkflowTaskToSelfRequest, AXPReassignWorkflowTaskToSelfResponse, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPRevertResumeAfterDeclinedInteractiveContinuationRequest, AXPRevertResumeAfterDeclinedInteractiveContinuationResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowContinuationBeforeInteractive, AXPWorkflowContinuationHook, AXPWorkflowContinuationMetadata, AXPWorkflowContinuationOfferResult, AXPWorkflowContinuationStepContext, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowErrorCode, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowClaimTaskResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowReassignTaskToSelfResult, WorkflowResumeResult, WorkflowStartResult };
|