@acorex/platform 21.0.0-next.8 → 21.0.0-next.83

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 (133) hide show
  1. package/contracts/README.md +3 -0
  2. package/fesm2022/acorex-platform-auth.mjs +201 -81
  3. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs +177 -0
  5. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
  6. package/fesm2022/acorex-platform-common.mjs +4490 -880
  7. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-contracts.mjs +38 -0
  9. package/fesm2022/acorex-platform-contracts.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-core.mjs +2612 -667
  11. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-domain.mjs +557 -826
  13. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-builder.mjs +1255 -209
  15. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  17. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  18. package/fesm2022/acorex-platform-layout-components.mjs +6486 -1915
  19. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-designer.mjs +612 -287
  21. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs +376 -0
  23. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs +100 -0
  25. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -0
  26. package/fesm2022/acorex-platform-layout-entity.mjs +22502 -9964
  27. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-layout-views.mjs +1360 -338
  29. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-layout-widget-core.mjs +2226 -524
  31. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  32. 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
  33. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  34. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  35. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  36. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  37. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
  39. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs} +6 -6
  41. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map +1 -0
  42. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs} +5 -5
  43. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map +1 -0
  44. 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
  45. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-layout-widgets.mjs +18742 -16715
  47. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  48. package/fesm2022/acorex-platform-native.mjs +8 -7
  49. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  50. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  51. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  52. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
  53. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
  54. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
  55. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
  56. 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
  57. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
  58. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs +48 -0
  59. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs.map +1 -0
  60. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs +42 -0
  61. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs.map +1 -0
  62. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  63. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  64. package/fesm2022/acorex-platform-themes-default.mjs +2337 -94
  65. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  67. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  69. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  70. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
  71. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
  72. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  73. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  74. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  75. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  76. package/fesm2022/acorex-platform-themes-shared.mjs +793 -612
  77. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  78. package/fesm2022/acorex-platform-workflow.mjs +997 -274
  79. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  80. package/fesm2022/acorex-platform.mjs.map +1 -1
  81. package/package.json +41 -35
  82. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +40 -19
  83. package/types/acorex-platform-common.d.ts +3673 -0
  84. package/types/acorex-platform-contracts.d.ts +940 -0
  85. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +1029 -170
  86. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  87. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +262 -55
  88. package/types/acorex-platform-layout-components.d.ts +3329 -0
  89. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  90. package/types/acorex-platform-layout-entity.d.ts +4512 -0
  91. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +334 -91
  92. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +438 -162
  93. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1152 -507
  94. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  95. package/types/acorex-platform-runtime.d.ts +571 -0
  96. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +268 -11
  97. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +30 -2
  98. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +436 -748
  99. package/common/index.d.ts +0 -2470
  100. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  101. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  104. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  111. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs +0 -1542
  113. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  115. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs +0 -31
  118. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs +0 -25
  120. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  122. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  126. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs +0 -65
  127. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  129. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  130. package/layout/components/index.d.ts +0 -1670
  131. package/layout/entity/index.d.ts +0 -2294
  132. package/runtime/index.d.ts +0 -307
  133. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -0,0 +1,940 @@
1
+ import { AXPProperty, AXPOptionsData, AXPMetaData, AXPEntityOp, AXPMultiLanguageString, AXPCategoryEntity } from '@acorex/platform/core';
2
+ import { AXPWidgetNode } from '@acorex/platform/layout/widget-core';
3
+
4
+ /**
5
+ * Address mode type - determines the display mode of the address widget
6
+ * - simple: single text input for full address (one line)
7
+ * - popup: readonly summary + button to edit in popup dialog
8
+ * - expandable: expandable panel — collapsed shows full address, expanded shows inline form
9
+ */
10
+ type AXPAddressMode = 'simple' | 'popup' | 'expandable';
11
+ /**
12
+ * Address label option
13
+ */
14
+ interface AXPAddressLabel {
15
+ id: string;
16
+ name: string;
17
+ }
18
+ /**
19
+ * Address data structure
20
+ */
21
+ interface AXPAddressData {
22
+ street1: string;
23
+ street2?: string;
24
+ postalCode?: string;
25
+ coordinates?: string;
26
+ full: string;
27
+ label?: string;
28
+ country?: {
29
+ id?: string;
30
+ title?: string;
31
+ };
32
+ state?: {
33
+ id?: string;
34
+ title?: string;
35
+ };
36
+ city?: {
37
+ id?: string;
38
+ title?: string;
39
+ };
40
+ }
41
+
42
+ interface AXPWorkflowDefinition {
43
+ schemaVersion: 'acorex-platform-workflow/v1';
44
+ name: string;
45
+ title?: AXPMultiLanguageString | null;
46
+ description?: AXPMultiLanguageString | null;
47
+ variables?: AXPProperty[];
48
+ inputs?: AXPProperty[];
49
+ outputs?: AXPWorkflowOutputProperty[];
50
+ graph: AXPWorkflowGraph;
51
+ customProperties?: Record<string, any>;
52
+ /** engine specific (Elsa, ...) */
53
+ extensions?: AXPWorkflowExtensions;
54
+ /**
55
+ * Workflow bindings configuration.
56
+ * Defines which entities and events should trigger this workflow.
57
+ */
58
+ bindings?: AXPWorkflowBinding[];
59
+ }
60
+ interface AXPWorkflowGraph {
61
+ startActivityId: string;
62
+ activities: AXPWorkflowActivityInstance[];
63
+ connections: AXPConnection[];
64
+ /** purely designer */
65
+ designer?: {
66
+ nodes?: Record<string, {
67
+ x: number;
68
+ y: number;
69
+ nodeId?: string;
70
+ width?: number;
71
+ height?: number;
72
+ }>;
73
+ edges?: Array<{
74
+ from: string;
75
+ to: string;
76
+ vertices?: Array<{
77
+ x: number;
78
+ y: number;
79
+ }>;
80
+ }>;
81
+ /**
82
+ * When true, the Activities page has applied its initial auto-arrange (or the graph already had
83
+ * persisted node positions). Prevents re-running automatic layout on subsequent visits.
84
+ */
85
+ layoutArranged?: boolean;
86
+ };
87
+ }
88
+ interface AXPWorkflowActivityInstance {
89
+ id: string;
90
+ nodeId?: string;
91
+ /**
92
+ * Activity name - references AXPActivityDefinition.name
93
+ * Used to lookup activity definition for metadata (executionMode, title, etc.)
94
+ */
95
+ name: string;
96
+ /**
97
+ * Input values for this activity instance.
98
+ * Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs
99
+ * Example: { "message": "Hello", "duration": 5000 }
100
+ */
101
+ inputs?: AXPOptionsData;
102
+ title?: string;
103
+ /**
104
+ * Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).
105
+ * When this activity completes, each entry sets variables[variableName] = output[outputPath].
106
+ * Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id
107
+ */
108
+ outputToVariables?: AXPOptionsData;
109
+ metadata?: AXPMetaData;
110
+ /** engine-specific override */
111
+ extensions?: Record<string, any>;
112
+ }
113
+ interface AXPConnection {
114
+ source: {
115
+ activtyName: string;
116
+ port?: string | null;
117
+ };
118
+ target: {
119
+ activtyName: string;
120
+ port?: string | null;
121
+ };
122
+ vertices?: Array<{
123
+ x: number;
124
+ y: number;
125
+ }>;
126
+ }
127
+ /**
128
+ * Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.
129
+ */
130
+ interface AXPWorkflowOutputProperty extends AXPProperty {
131
+ /**
132
+ * Optional: where this output comes from in your context/memory.
133
+ * Example: "$.result.orderId" or "vars.orderId"
134
+ */
135
+ path?: string;
136
+ metadata?: Record<string, any>;
137
+ }
138
+ /**
139
+ * Engine-specific extension bag for a workflow.
140
+ * Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).
141
+ */
142
+ interface AXPWorkflowExtensions {
143
+ /**
144
+ * Elsa-specific extensions (optional).
145
+ */
146
+ elsa?: AXPElsaWorkflowExtensions;
147
+ /**
148
+ * Other engines (future-proof).
149
+ * Example: stepFunctions, logicApps, temporal, ...
150
+ */
151
+ [engine: string]: any;
152
+ }
153
+ /**
154
+ * Elsa-only fields (Optional).
155
+ * Put strategy/tool/schema/raw payload here to keep Core model global.
156
+ */
157
+ interface AXPElsaWorkflowExtensions {
158
+ /**
159
+ * Elsa schema URL (if you want to round-trip exact docs).
160
+ * Example: "https://elsaworkflows.io/schemas/workflow-definition/v3.0.0/schema.json"
161
+ */
162
+ schema?: string;
163
+ toolVersion?: string;
164
+ materializerName?: string;
165
+ /**
166
+ * Elsa strategy/options (engine-level concerns).
167
+ */
168
+ options?: {
169
+ activationStrategyType?: string | null;
170
+ incidentStrategyType?: string | null;
171
+ commitStrategyName?: string | null;
172
+ autoUpdateConsumingWorkflows?: boolean;
173
+ usableAsActivity?: boolean | null;
174
+ activityCategory?: string | null;
175
+ };
176
+ /**
177
+ * If you want lossless Elsa round-trip, keep the raw Elsa definition here.
178
+ */
179
+ rawDefinition?: any;
180
+ }
181
+ /**
182
+ * Workflow binding configuration.
183
+ * Defines which entities and events should trigger a workflow.
184
+ */
185
+ interface AXPWorkflowBinding {
186
+ /**
187
+ * Entity types this workflow applies to (e.g., ['ContentManagement.Promotion', 'ContentManagement.Article'])
188
+ * Empty array means applies to all entities with workflow-run plugin enabled.
189
+ */
190
+ entityTypes: string[];
191
+ /**
192
+ * Event types that trigger this workflow (e.g., ['create', 'update'])
193
+ * Uses AXPEntityOp directly (create, update, delete, etc.)
194
+ */
195
+ eventTypes: AXPEntityOp[];
196
+ /**
197
+ * Whether this binding is enabled
198
+ */
199
+ enabled: boolean;
200
+ /**
201
+ * Optional conditions for when to trigger (future enhancement)
202
+ */
203
+ conditions?: any;
204
+ }
205
+
206
+ /**
207
+ * Type of task for inbox handling.
208
+ * - 'human-task': Requires inbox - needs human interaction
209
+ * - 'ui-activity': UI-only activity (no inbox) - immediate execution
210
+ * - 'system-activity': System/backend activity (no inbox) - automated execution
211
+ */
212
+ type AXPTaskType = 'human-task' | 'ui-activity' | 'system-activity';
213
+ /**
214
+ * How the workflow engine should offer "continue to next step?" before an inline frontend activity.
215
+ * Declared on {@link AXPActivityDefinition} and copied onto {@link AXPWorkflowTask} at runtime.
216
+ */
217
+ type AXPWorkflowContinuationBeforeInteractive = 'default'
218
+ /** Skip when opened from a task-board human-task primary action (e.g. start-fill, review). */
219
+ | 'skip-when-chained-from-human-task'
220
+ /** Skip for the natural assignee; initiator / reassign users still get the prompt (workflow-management). */
221
+ | 'skip-for-assignee';
222
+ /** Optional continuation UX metadata for an activity definition. */
223
+ interface AXPWorkflowContinuationMetadata {
224
+ beforeInteractive?: AXPWorkflowContinuationBeforeInteractive;
225
+ }
226
+ /**
227
+ * Activity Category - Extends AXPCategoryEntity for consistency and performance
228
+ *
229
+ * Inherited properties from AXPCategoryEntity:
230
+ * - id: string - Unique identifier
231
+ * - title: string - Display name
232
+ * - description?: string - Category description
233
+ * - parentId?: string - Parent category ID
234
+ * - childrenCount: number - Direct child categories count (enables lazy loading)
235
+ * - itemsCount?: number - Direct activities count
236
+ * - totalChildrenCount?: number - Total nested categories (optional, for analytics)
237
+ * - totalItemsCount?: number - Total activities in tree (optional, for analytics)
238
+ */
239
+ interface AXPActivityCategory extends AXPCategoryEntity {
240
+ }
241
+ /**
242
+ * Lightweight category snapshot embedded in activity-definition records.
243
+ */
244
+ interface AXPActivityDefinitionCategoryRef {
245
+ id: string;
246
+ name: string;
247
+ title: AXPMultiLanguageString;
248
+ }
249
+ /**
250
+ * Activity Definition - Metadata for UI and tooling.
251
+ * Contains all metadata needed for displaying activities in toolbox and designer.
252
+ * The `name` property is used as the command key for execution.
253
+ */
254
+ interface AXPActivityDefinition {
255
+ /**
256
+ * Activity name - used as command key for execution.
257
+ * This is the unique identifier for the activity.
258
+ */
259
+ name: string;
260
+ /**
261
+ * Activity type (e.g., "workflow-activity:check-permission").
262
+ */
263
+ type: string;
264
+ /**
265
+ * Display name for UI (plain or per-locale map).
266
+ */
267
+ title?: AXPMultiLanguageString;
268
+ instanceTitle?: string;
269
+ /**
270
+ * Description of what the activity does (plain or per-locale map).
271
+ */
272
+ description?: AXPMultiLanguageString;
273
+ /**
274
+ * Category for grouping in toolbox.
275
+ */
276
+ category?: AXPActivityDefinitionCategoryRef;
277
+ /**
278
+ * Icon name or class.
279
+ */
280
+ icon?: string;
281
+ /**
282
+ * Where this activity should be executed.
283
+ * - 'frontend': Execute in browser (UI activities, console, events)
284
+ * - 'backend': Execute in backend (business logic, API calls)
285
+ * - 'both': Execute in both frontend and backend (hybrid activities)
286
+ *
287
+ * Default: 'frontend'
288
+ */
289
+ executionMode?: 'frontend' | 'backend' | 'both';
290
+ /**
291
+ * Type of task for inbox handling.
292
+ * - 'human-task': Requires inbox - needs human interaction
293
+ * - 'ui-activity': UI-only activity (no inbox) - immediate execution
294
+ * - 'system-activity': System/backend activity (no inbox) - automated execution
295
+ *
296
+ * Default: 'ui-activity' (for backward compatibility)
297
+ */
298
+ taskType?: AXPTaskType;
299
+ /**
300
+ * Input properties (form/schema for activity parameters).
301
+ */
302
+ inputs?: AXPProperty[];
303
+ /**
304
+ * Output properties (result shape + optional path/metadata).
305
+ */
306
+ outputs?: AXPWorkflowOutputProperty[];
307
+ /**
308
+ * Static outcomes (exit points).
309
+ * Example: ['Done', 'Success', 'Failed']
310
+ */
311
+ outcomes?: string[];
312
+ /**
313
+ * Whether this activity is browsable in the toolbox.
314
+ * Default: true
315
+ */
316
+ isBrowsable?: boolean;
317
+ /**
318
+ * Whether this activity is a container (can have children).
319
+ * Default: false
320
+ */
321
+ isContainer?: boolean;
322
+ /**
323
+ * Continuation prompt behavior when this activity runs inline in the workflow manager.
324
+ */
325
+ workflowContinuation?: AXPWorkflowContinuationMetadata;
326
+ }
327
+ /**
328
+ * Query result shape for activity-definition catalog endpoints.
329
+ */
330
+ interface AXPActivityDefinitionQueryResult {
331
+ total: number;
332
+ items: AXPActivityDefinition[];
333
+ }
334
+
335
+ /** Registration key for {@link AXPPreviewWidgetFieldCommand}; lives in contracts so consumers can reference it without importing the command implementation. */
336
+ declare const AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY = "Widget:Preview";
337
+
338
+ /**
339
+ * Workflow status.
340
+ */
341
+ type AXPWorkflowStatus = 'Running' | 'Finished';
342
+ /**
343
+ * Workflow sub-status.
344
+ */
345
+ type AXPWorkflowSubStatus = 'Pending' | 'Executing' | 'Suspended' | 'Finished' | 'Cancelled' | 'Faulted';
346
+ /**
347
+ * Activity status.
348
+ */
349
+ type AXPActivityStatus = 'Running' | 'Completed' | 'Canceled' | 'Faulted';
350
+ /**
351
+ * Exception state.
352
+ */
353
+ interface AXPExceptionState {
354
+ /**
355
+ * Exception type name.
356
+ */
357
+ type: string;
358
+ /**
359
+ * Exception message.
360
+ */
361
+ message: string;
362
+ /**
363
+ * Stack trace (nullable).
364
+ */
365
+ stackTrace?: string | null;
366
+ /**
367
+ * Inner exception (nullable).
368
+ */
369
+ innerException?: AXPExceptionState | null;
370
+ }
371
+ /**
372
+ * Activity incident.
373
+ */
374
+ interface AXPActivityIncident {
375
+ /**
376
+ * Activity ID that caused the incident.
377
+ */
378
+ activityId: string;
379
+ /**
380
+ * Activity node ID.
381
+ */
382
+ activityNodeId: string;
383
+ /**
384
+ * Activity type.
385
+ */
386
+ activityType: string;
387
+ /**
388
+ * Incident message.
389
+ */
390
+ message: string;
391
+ /**
392
+ * Exception (nullable).
393
+ */
394
+ exception?: AXPExceptionState | null;
395
+ /**
396
+ * Timestamp (ISO date-time).
397
+ */
398
+ timestamp: string;
399
+ }
400
+ /**
401
+ * Workflow fault state.
402
+ */
403
+ interface AXPWorkflowFaultState {
404
+ /**
405
+ * Exception (nullable).
406
+ */
407
+ exception?: AXPExceptionState | null;
408
+ /**
409
+ * Fault message.
410
+ */
411
+ message: string;
412
+ /**
413
+ * Faulted activity ID (nullable).
414
+ */
415
+ faultedActivityId?: string | null;
416
+ }
417
+ /**
418
+ * Bookmark.
419
+ */
420
+ interface AXPBookmark {
421
+ /**
422
+ * Bookmark ID.
423
+ */
424
+ id: string;
425
+ /**
426
+ * Bookmark name.
427
+ */
428
+ name: string;
429
+ /**
430
+ * Bookmark hash.
431
+ */
432
+ hash: string;
433
+ /**
434
+ * Bookmark payload (nullable).
435
+ */
436
+ payload?: any | null;
437
+ /**
438
+ * Activity node ID.
439
+ */
440
+ activityNodeId: string;
441
+ /**
442
+ * Activity instance ID.
443
+ */
444
+ activityInstanceId: string;
445
+ /**
446
+ * Auto burn flag.
447
+ */
448
+ autoBurn?: boolean;
449
+ /**
450
+ * Callback method name (nullable).
451
+ */
452
+ callbackMethodName?: string | null;
453
+ /**
454
+ * Metadata (nullable).
455
+ */
456
+ metadata?: Record<string, string> | null;
457
+ }
458
+ /**
459
+ * Completion callback state.
460
+ */
461
+ interface AXPCompletionCallbackState {
462
+ /**
463
+ * Owner activity instance ID.
464
+ */
465
+ ownerInstanceId: string;
466
+ /**
467
+ * Child activity node ID.
468
+ */
469
+ childNodeId: string;
470
+ /**
471
+ * Method name (nullable).
472
+ */
473
+ methodName?: string | null;
474
+ }
475
+ /**
476
+ * Variable (for activity context).
477
+ */
478
+ interface AXPActivityVariable {
479
+ /**
480
+ * Variable ID.
481
+ */
482
+ id: string;
483
+ /**
484
+ * Variable name.
485
+ */
486
+ name: string;
487
+ /**
488
+ * Type name.
489
+ */
490
+ typeName: string;
491
+ /**
492
+ * Is array flag.
493
+ */
494
+ isArray?: boolean;
495
+ /**
496
+ * Variable value (nullable).
497
+ */
498
+ value?: any | null;
499
+ /**
500
+ * Storage driver type name (nullable).
501
+ */
502
+ storageDriverTypeName?: string | null;
503
+ }
504
+ /**
505
+ * Activity execution context state.
506
+ */
507
+ interface AXPActivityExecutionContextState {
508
+ /**
509
+ * Context ID (activity instance ID).
510
+ */
511
+ id: string;
512
+ /**
513
+ * Parent context ID (nullable).
514
+ */
515
+ parentContextId?: string | null;
516
+ /**
517
+ * Scheduled activity node ID.
518
+ */
519
+ scheduledActivityNodeId: string;
520
+ /**
521
+ * Owner activity node ID (nullable).
522
+ */
523
+ ownerActivityNodeId?: string | null;
524
+ /**
525
+ * Properties bag.
526
+ */
527
+ properties: Record<string, any>;
528
+ /**
529
+ * Activity state (evaluated properties) (nullable).
530
+ */
531
+ activityState?: Record<string, any> | null;
532
+ /**
533
+ * Dynamic variables.
534
+ */
535
+ dynamicVariables: AXPActivityVariable[];
536
+ /**
537
+ * Activity status.
538
+ */
539
+ status: AXPActivityStatus;
540
+ /**
541
+ * Is executing flag.
542
+ */
543
+ isExecuting: boolean;
544
+ /**
545
+ * Fault count.
546
+ */
547
+ faultCount: number;
548
+ /**
549
+ * Started at timestamp (ISO date-time).
550
+ */
551
+ startedAt: string;
552
+ /**
553
+ * Completed at timestamp (ISO date-time, nullable).
554
+ */
555
+ completedAt?: string | null;
556
+ /**
557
+ * Tag (nullable).
558
+ */
559
+ tag?: any | null;
560
+ }
561
+ /**
562
+ * Workflow state (internal execution state).
563
+ */
564
+ interface AXPWorkflowState {
565
+ /**
566
+ * State ID.
567
+ */
568
+ id: string;
569
+ /**
570
+ * Workflow definition ID.
571
+ */
572
+ definitionId: string;
573
+ /**
574
+ * Workflow definition version.
575
+ */
576
+ definitionVersion: number;
577
+ /**
578
+ * Correlation ID (nullable).
579
+ */
580
+ correlationId?: string | null;
581
+ /**
582
+ * Workflow status.
583
+ */
584
+ status: AXPWorkflowStatus;
585
+ /**
586
+ * Workflow sub-status.
587
+ */
588
+ subStatus: AXPWorkflowSubStatus;
589
+ /**
590
+ * Bookmarks.
591
+ */
592
+ bookmarks: AXPBookmark[];
593
+ /**
594
+ * Incidents.
595
+ */
596
+ incidents: AXPActivityIncident[];
597
+ /**
598
+ * Fault (nullable).
599
+ */
600
+ fault?: AXPWorkflowFaultState | null;
601
+ /**
602
+ * Completion callbacks.
603
+ */
604
+ completionCallbacks: AXPCompletionCallbackState[];
605
+ /**
606
+ * Activity execution contexts.
607
+ */
608
+ activityExecutionContexts: AXPActivityExecutionContextState[];
609
+ /**
610
+ * Input data.
611
+ */
612
+ input: Record<string, any>;
613
+ /**
614
+ * Output data.
615
+ */
616
+ output: Record<string, any>;
617
+ /**
618
+ * Properties bag.
619
+ */
620
+ properties: Record<string, any>;
621
+ /**
622
+ * Created at timestamp (ISO date-time).
623
+ */
624
+ createdAt: string;
625
+ /**
626
+ * Updated at timestamp (ISO date-time).
627
+ */
628
+ updatedAt: string;
629
+ /**
630
+ * Finished at timestamp (ISO date-time, nullable).
631
+ */
632
+ finishedAt?: string | null;
633
+ /**
634
+ * Total number of activities/steps in the workflow (for progress display).
635
+ */
636
+ totalSteps?: number;
637
+ }
638
+ /**
639
+ * Workflow instance (stored in database).
640
+ * This matches the Elsa Workflow Instance schema for backend compatibility.
641
+ */
642
+ interface AXPWorkflowInstance {
643
+ /**
644
+ * Schema reference.
645
+ */
646
+ $schema?: string;
647
+ /**
648
+ * Unique instance ID.
649
+ */
650
+ id: string;
651
+ /**
652
+ * Workflow definition ID.
653
+ */
654
+ definitionId: string;
655
+ /**
656
+ * Workflow definition version ID.
657
+ */
658
+ definitionVersionId: string;
659
+ /**
660
+ * Workflow definition version number.
661
+ */
662
+ version: number;
663
+ /**
664
+ * Parent workflow instance ID (nullable, for child workflows).
665
+ */
666
+ parentWorkflowInstanceId?: string | null;
667
+ /**
668
+ * Workflow state (internal execution state).
669
+ */
670
+ workflowState: AXPWorkflowState;
671
+ /**
672
+ * Workflow status.
673
+ */
674
+ status: AXPWorkflowStatus;
675
+ /**
676
+ * Workflow sub-status.
677
+ */
678
+ subStatus: AXPWorkflowSubStatus;
679
+ /**
680
+ * Correlation ID (nullable).
681
+ */
682
+ correlationId?: string | null;
683
+ /**
684
+ * Instance name (nullable).
685
+ */
686
+ name?: string | null;
687
+ /**
688
+ * Incident count.
689
+ */
690
+ incidentCount: number;
691
+ /**
692
+ * Created at timestamp (ISO date-time).
693
+ */
694
+ createdAt: string;
695
+ /**
696
+ * Updated at timestamp (ISO date-time).
697
+ */
698
+ updatedAt: string;
699
+ /**
700
+ * Finished at timestamp (ISO date-time, nullable).
701
+ */
702
+ finishedAt?: string | null;
703
+ /**
704
+ * Entity reference ID (for linking workflow instances to business entities).
705
+ */
706
+ entityRefId?: string | null;
707
+ /**
708
+ * Entity reference type (e.g., 'HumanCapitalManagement.LeaveRequest').
709
+ */
710
+ entityRefType?: string | null;
711
+ }
712
+
713
+ declare enum AXPFileStorageStatus {
714
+ Temporary = "temporary",// File is not yet associated with a parent entity
715
+ Committed = "committed",// File is fully associated and in use
716
+ PendingDeletion = "pendingDeletion",// File is marked for deletion but not yet removed
717
+ Archived = "archived",// File is archived and no longer actively used
718
+ Error = "error"
719
+ }
720
+ /**
721
+ * Interface representing a file storage request in the Acorex platform.
722
+ */
723
+ interface AXPFileStorageCreateRequest {
724
+ /**
725
+ * The file to be stored.
726
+ */
727
+ file: File;
728
+ /**
729
+ * The name of the file.
730
+ */
731
+ name?: string;
732
+ /**
733
+ * The unique identifier of referenced entity.
734
+ */
735
+ refId: string;
736
+ /**
737
+ * The type of the referenced entity.
738
+ */
739
+ refType: string;
740
+ /**
741
+ * The category of the file. profile-picture, company-logo, policy, document, etc.
742
+ */
743
+ category: string;
744
+ /**
745
+ * The folder path where the file should be stored.
746
+ * If null, the service will resolve the path based on metadata, user, tenant, or default rules.
747
+ */
748
+ path?: string;
749
+ /**
750
+ * Metadata associated with the file.
751
+ */
752
+ metadata?: AXPMetaData;
753
+ /**
754
+ * Indicates whether the file is primary or not.
755
+ */
756
+ isPrimary?: boolean;
757
+ /**
758
+ * Indicates the status of the file.
759
+ */
760
+ status?: AXPFileStorageStatus;
761
+ }
762
+ interface AXPFileStorageUpdateRequest {
763
+ /**
764
+ * The unique identifier for the stored file.
765
+ */
766
+ fileId: string;
767
+ /**
768
+ * The folder path where the file should be stored.
769
+ * If null, the service will resolve the path based on metadata, user, tenant, or default rules.
770
+ */
771
+ path?: string;
772
+ /**
773
+ * The name of the file.
774
+ */
775
+ name?: string;
776
+ /**
777
+ * Metadata associated with the file.
778
+ */
779
+ metadata: AXPMetaData;
780
+ /**
781
+ * Indicates whether the file is primary or not.
782
+ */
783
+ isPrimary?: boolean;
784
+ }
785
+ /**
786
+ * Represents information about a file stored in the AXP file storage system.
787
+ */
788
+ interface AXPFileStorageInfo {
789
+ /**
790
+ * The unique identifier for the stored file.
791
+ */
792
+ id?: string;
793
+ /**
794
+ * The unique identifier for the stored file.
795
+ */
796
+ fileId: string;
797
+ /**
798
+ * The unique identifier of referenced entity.
799
+ */
800
+ refId: string;
801
+ /**
802
+ * The type of the referenced entity.
803
+ */
804
+ refType: string;
805
+ /**
806
+ * The category of the file. profile-picture, company-logo, policy, document, etc.
807
+ */
808
+ category: string;
809
+ /**
810
+ * The URL where the file can be accessed.
811
+ */
812
+ url?: string;
813
+ /**
814
+ * The size of the file in bytes.
815
+ */
816
+ size: number;
817
+ /**
818
+ * The name of the file.
819
+ */
820
+ name?: string;
821
+ /**
822
+ * The MIME type of the file.
823
+ */
824
+ mimeType: string;
825
+ /**
826
+ * The date and time when the file was uploaded.
827
+ */
828
+ uploadedAt: Date;
829
+ /**
830
+ * Indicates whether the file is public or private.
831
+ */
832
+ isPublic: boolean;
833
+ /**
834
+ * Indicates whether the file is primary or not.
835
+ */
836
+ isPrimary?: boolean;
837
+ status: AXPFileStorageStatus;
838
+ binary: File;
839
+ }
840
+ interface AXPFileManyStorageInfo {
841
+ /**
842
+ * The unique identifier for the stored file.
843
+ */
844
+ id?: string;
845
+ /**
846
+ * The unique identifier for the stored file.
847
+ */
848
+ fileId: string;
849
+ /**
850
+ * The unique identifier of referenced entity.
851
+ */
852
+ refId: string;
853
+ /**
854
+ * The type of the referenced entity.
855
+ */
856
+ refType: string;
857
+ /**
858
+ * The size of the file in bytes.
859
+ */
860
+ size: number;
861
+ /**
862
+ * The name of the file.
863
+ */
864
+ name?: string;
865
+ /**
866
+ * The URL where the file can be accessed.
867
+ */
868
+ url?: string;
869
+ /**
870
+ * Optional title (e.g. for display in file list).
871
+ */
872
+ title?: string;
873
+ /**
874
+ * Optional description (e.g. for display in file list).
875
+ */
876
+ description?: string;
877
+ }
878
+ /**
879
+ * Represents information about a file stored in the AXP file storage system.
880
+ */
881
+ interface AXPFileStorageFindRequest {
882
+ /**
883
+ * The unique identifier of referenced entity.
884
+ */
885
+ refId?: string;
886
+ /**
887
+ * The type of the referenced entity.
888
+ */
889
+ refType?: string;
890
+ /**
891
+ * The category of the file. profile-picture, company-logo, policy, document, etc.
892
+ */
893
+ category?: string;
894
+ /**
895
+ * The MIME type of the file.
896
+ */
897
+ mimeType?: string;
898
+ /**
899
+ * Indicates whether the file is public or private.
900
+ */
901
+ isPublic?: boolean;
902
+ /**
903
+ * Indicates whether the file is primary or not.
904
+ */
905
+ isPrimary?: boolean;
906
+ /**
907
+ * The date and time range when the file was uploaded.
908
+ */
909
+ uploadedAtRange?: {
910
+ from: Date;
911
+ to: Date;
912
+ };
913
+ }
914
+
915
+ interface AXPMetaDataFeatures {
916
+ searchable?: {
917
+ enabled: boolean;
918
+ fullText: boolean;
919
+ };
920
+ filterable?: {
921
+ enabled: boolean;
922
+ inline: boolean;
923
+ };
924
+ sortable?: {
925
+ enabled: boolean;
926
+ };
927
+ auditable?: {
928
+ enabled: boolean;
929
+ };
930
+ }
931
+ interface AXPMetaDataDefinition {
932
+ name: string;
933
+ title: string;
934
+ defaultValue?: any;
935
+ interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
936
+ features?: AXPMetaDataFeatures;
937
+ }
938
+
939
+ export { AXPFileStorageStatus, AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY };
940
+ export type { AXPActivityCategory, AXPActivityDefinition, AXPActivityDefinitionCategoryRef, AXPActivityDefinitionQueryResult, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityStatus, AXPActivityVariable, AXPAddressData, AXPAddressLabel, AXPAddressMode, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPTaskType, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowContinuationBeforeInteractive, AXPWorkflowContinuationMetadata, AXPWorkflowDefinition, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowOutputProperty, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowSubStatus };