@masterteam/flowplus-workflow 0.0.4 → 0.0.6

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.
@@ -1,7 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, Provider, EventEmitter, OnDestroy } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
- import * as _masterteam_icons from '@masterteam/icons';
5
4
  import { MTIcon } from '@masterteam/icons';
6
5
  import * as _masterteam_flowplus_workflow from '@masterteam/flowplus-workflow';
7
6
  import { StateContext } from '@ngxs/store';
@@ -602,6 +601,22 @@ interface WorkflowVariableDto {
602
601
  stepName?: string | null;
603
602
  metadata?: Record<string, unknown> | null;
604
603
  }
604
+ interface WorkflowVariableRequest {
605
+ refId?: number | null;
606
+ refType?: string | null;
607
+ type?: string | null;
608
+ key?: string | null;
609
+ mappingKey?: string | null;
610
+ metadata?: Record<string, string | null>;
611
+ }
612
+ interface WorkflowVariableCollectionDto {
613
+ system?: WorkflowVariableDto[];
614
+ properties?: WorkflowVariableDto[];
615
+ resources?: WorkflowResourceBindingDto[];
616
+ virtual?: WorkflowVariableDto[];
617
+ items?: WorkflowVariableDto[];
618
+ editMode?: boolean;
619
+ }
605
620
  interface WorkflowResourceBindingDto {
606
621
  key?: string;
607
622
  name?: TranslatableText | string | null;
@@ -728,6 +743,8 @@ interface WorkflowStepTypeCatalogItemDto {
728
743
  colorToken: string;
729
744
  tags?: string[];
730
745
  canCreate: boolean;
746
+ isAvailable?: boolean;
747
+ unavailableReason?: TranslatableText | string | null;
731
748
  supportsForm: boolean;
732
749
  supportsActions: boolean;
733
750
  supportsInputMappings: boolean;
@@ -1214,8 +1231,8 @@ interface EngineEventDto {
1214
1231
 
1215
1232
  type AutomationStatus = 'Draft' | 'Active' | 'Inactive' | 'Published' | 'Archived' | string;
1216
1233
  type AutomationTriggerType = 'ManualTrigger' | 'WebhookTrigger' | 'FormSubmitTrigger' | 'ScheduleTrigger' | string;
1217
- type AutomationNodeType = 'SetFields' | 'If' | 'HTTP' | 'Wait' | 'HumanApproval' | 'FlowPlusCommit' | 'WebhookResponse' | 'Stop' | 'CallAutomation' | 'Subworkflow' | 'ParallelStart' | 'ParallelJoin' | 'Switch' | string;
1218
- type AutomationExecutionStatus = 'Queued' | 'Running' | 'Waiting' | 'Paused' | 'PausedOnFailure' | 'Succeeded' | 'Failed' | 'Canceled' | 'Cancelled' | string;
1234
+ type AutomationNodeType = 'SetFields' | 'If' | 'HTTP' | 'Wait' | 'HumanTask' | 'HumanApproval' | 'FlowPlusCommit' | 'ConnectorAction' | 'ConvertToFile' | 'LoopOverItems' | 'DataTransform' | 'WebhookResponse' | 'Stop' | 'CallAutomation' | 'Subworkflow' | 'ParallelStart' | 'ParallelJoin' | 'Switch' | string;
1235
+ type AutomationExecutionStatus = 'Queued' | 'Running' | 'Waiting' | 'Paused' | 'PausedOnFailure' | 'Succeeded' | 'Failed' | 'Canceled' | 'Cancelled' | 'TimedOut' | string;
1219
1236
  interface AutomationSummary {
1220
1237
  automationId: number | string;
1221
1238
  key: string;
@@ -1259,6 +1276,8 @@ interface AutomationFrontendDetail {
1259
1276
  nodes: AutomationNodeDefinition[];
1260
1277
  routes: AutomationRouteDefinition[];
1261
1278
  formBindings?: AutomationFormBindingDefinition[];
1279
+ activeRevision?: AutomationRevisionSummary | null;
1280
+ latestRevision?: AutomationRevisionSummary | null;
1262
1281
  validation?: AutomationValidationReport | null;
1263
1282
  rowVersion?: string | null;
1264
1283
  }
@@ -1276,6 +1295,7 @@ interface AutomationTriggerDefinition {
1276
1295
  }
1277
1296
  interface AutomationNodeDefinition {
1278
1297
  key: string;
1298
+ nodeKey?: string | null;
1279
1299
  type?: AutomationNodeType;
1280
1300
  nodeType?: AutomationNodeType;
1281
1301
  name?: string;
@@ -1322,12 +1342,146 @@ type TriggerDefinitionRequest = AutomationTriggerDefinition;
1322
1342
  type NodeDefinitionRequest = AutomationNodeDefinition;
1323
1343
  type RouteDefinitionRequest = AutomationRouteDefinition;
1324
1344
  type FormBindingDefinitionRequest = AutomationFormBindingDefinition;
1345
+ type AutomationNodeTestRunStatus = 'success' | 'failed' | 'skipped' | 'waiting' | 'validation_failed';
1346
+ interface AutomationNodeTestRunRequest {
1347
+ node?: NodeDefinitionRequest | null;
1348
+ inputJson?: unknown;
1349
+ triggerJson?: unknown;
1350
+ contextJson?: unknown;
1351
+ nodeOutputsJson?: unknown;
1352
+ mockInputJson?: unknown;
1353
+ currentItemJson?: unknown;
1354
+ }
1355
+ interface AutomationNodeTestRunValidationIssue {
1356
+ code?: string | null;
1357
+ message: string;
1358
+ fieldPath?: string | null;
1359
+ severity?: string | null;
1360
+ }
1361
+ interface AutomationNodeTestRunLogEntry {
1362
+ occurredAtUtc?: string | null;
1363
+ level?: string | null;
1364
+ message?: string | null;
1365
+ data?: Record<string, unknown> | null;
1366
+ }
1367
+ interface AutomationNodeTestRunExternalCallAudit {
1368
+ method?: string | null;
1369
+ maskedUrl?: string | null;
1370
+ statusCode?: number | null;
1371
+ durationMs?: number | null;
1372
+ credentialRef?: string | null;
1373
+ errorCode?: string | null;
1374
+ requestSizeBytes?: number | null;
1375
+ responseSizeBytes?: number | null;
1376
+ }
1377
+ interface AutomationNodeTestRunResult {
1378
+ status: AutomationNodeTestRunStatus | string;
1379
+ outputJson?: unknown;
1380
+ inputJson?: unknown;
1381
+ logs?: AutomationNodeTestRunLogEntry[];
1382
+ durationMs?: number | null;
1383
+ externalCallAudit?: AutomationNodeTestRunExternalCallAudit | null;
1384
+ validationIssues?: AutomationNodeTestRunValidationIssue[];
1385
+ errorCode?: string | null;
1386
+ message?: string | null;
1387
+ routeOutputKey?: string | null;
1388
+ }
1325
1389
  interface AutomationBuilderCatalog {
1326
1390
  nodeTypes: NodeTypeCatalogItem[];
1327
1391
  triggerTypes: TriggerTypeCatalogItem[];
1392
+ connectorCatalog?: ConnectorCatalog | null;
1393
+ convertToFileCatalog?: ConvertToFileCatalog | null;
1394
+ dataTransformCatalog?: DataTransformCatalog | null;
1328
1395
  expressionNamespaces?: ExpressionNamespaceDescriptor[];
1329
1396
  routeTypes?: string[];
1330
1397
  }
1398
+ interface ConnectorCatalog {
1399
+ providers?: ConnectorProviderCatalogItem[];
1400
+ actions?: ConnectorActionCatalogItem[];
1401
+ }
1402
+ interface ConnectorProviderCatalogItem {
1403
+ key: string;
1404
+ providerKey?: string | null;
1405
+ displayName?: TranslatableText | string;
1406
+ channelType?: string | null;
1407
+ category?: string | null;
1408
+ description?: TranslatableText | string | null;
1409
+ iconKey?: string | null;
1410
+ authModes?: string[];
1411
+ requiredScopes?: string[];
1412
+ requiredPermissions?: string[];
1413
+ connectAvailable?: boolean;
1414
+ manualSetupAvailable?: boolean;
1415
+ setupInstructions?: string | null;
1416
+ isAvailable?: boolean;
1417
+ canCreate?: boolean;
1418
+ unavailableReason?: string | null;
1419
+ actionKeys?: string[];
1420
+ [key: string]: unknown;
1421
+ }
1422
+ interface ConnectorActionCatalogItem {
1423
+ key: string;
1424
+ providerKey: string;
1425
+ actionKey: string;
1426
+ displayName?: TranslatableText | string;
1427
+ channelType?: string | null;
1428
+ category?: string | null;
1429
+ description?: TranslatableText | string | null;
1430
+ iconKey?: string | null;
1431
+ mode?: string | null;
1432
+ isAvailable?: boolean;
1433
+ canCreate?: boolean;
1434
+ unavailableReason?: string | null;
1435
+ routeOutputKeys?: string[];
1436
+ credentialRequirements?: unknown[];
1437
+ configSchema?: unknown;
1438
+ inputSchema?: unknown;
1439
+ outputSchema?: unknown;
1440
+ defaults?: Record<string, unknown> | null;
1441
+ helperMetadata?: Record<string, unknown> | null;
1442
+ [key: string]: unknown;
1443
+ }
1444
+ interface ConvertToFileCatalog {
1445
+ actions?: ConvertToFileActionCatalogItem[];
1446
+ }
1447
+ interface ConvertToFileActionCatalogItem {
1448
+ actionKey: string;
1449
+ displayName?: TranslatableText | string;
1450
+ description?: TranslatableText | string | null;
1451
+ iconKey?: string | null;
1452
+ extension?: string | null;
1453
+ contentType?: string | null;
1454
+ canCreate?: boolean;
1455
+ isAvailable?: boolean;
1456
+ unavailableReason?: string | null;
1457
+ configSchema?: unknown;
1458
+ inputSchema?: unknown;
1459
+ outputSchema?: unknown;
1460
+ routeOutputKeys?: string[];
1461
+ validationRequirements?: string[];
1462
+ officialReferences?: string[];
1463
+ [key: string]: unknown;
1464
+ }
1465
+ interface DataTransformCatalog {
1466
+ actions?: DataTransformActionCatalogItem[];
1467
+ }
1468
+ interface DataTransformActionCatalogItem {
1469
+ actionKey: string;
1470
+ displayName?: TranslatableText | string;
1471
+ description?: TranslatableText | string | null;
1472
+ iconKey?: string | null;
1473
+ canCreate?: boolean;
1474
+ isAvailable?: boolean;
1475
+ unavailableReason?: string | null;
1476
+ configSchema?: unknown;
1477
+ inputSchema?: unknown;
1478
+ outputSchema?: unknown;
1479
+ routeOutputKeys?: string[];
1480
+ validationRequirements?: string[];
1481
+ defaults?: Record<string, unknown> | null;
1482
+ helperMetadata?: Record<string, unknown> | null;
1483
+ [key: string]: unknown;
1484
+ }
1331
1485
  interface NodeTypeCatalogItem {
1332
1486
  type?: AutomationNodeType;
1333
1487
  nodeType?: AutomationNodeType;
@@ -1355,6 +1509,8 @@ interface NodeTypeCatalogItem {
1355
1509
  helperMetadata?: Record<string, unknown> | null;
1356
1510
  validationRequirements?: Record<string, unknown> | string[] | null;
1357
1511
  canCreate?: boolean;
1512
+ isAvailable?: boolean;
1513
+ unavailableReason?: string | null;
1358
1514
  }
1359
1515
  interface AutomationSelectorResult {
1360
1516
  items: AutomationSelectorItem[];
@@ -1428,10 +1584,15 @@ interface ExpressionPreviewResult extends ExpressionValidationResult {
1428
1584
  }
1429
1585
  interface CredentialReference {
1430
1586
  credentialRef: string;
1587
+ providerKey?: string | null;
1431
1588
  displayName?: string | null;
1432
1589
  credentialType?: string | null;
1433
1590
  resolved?: boolean;
1434
1591
  status?: string | null;
1592
+ maskedFields?: Record<string, unknown> | null;
1593
+ createdAtUtc?: string | null;
1594
+ updatedAtUtc?: string | null;
1595
+ revokedAtUtc?: string | null;
1435
1596
  [key: string]: unknown;
1436
1597
  }
1437
1598
  interface CredentialReferenceListResult {
@@ -1440,29 +1601,83 @@ interface CredentialReferenceListResult {
1440
1601
  [key: string]: unknown;
1441
1602
  }
1442
1603
  interface CredentialTypeCatalogItem {
1443
- credentialType: string;
1604
+ type?: string;
1605
+ credentialType?: string;
1444
1606
  displayName?: string | null;
1607
+ fields?: CredentialFieldDescriptor[];
1445
1608
  schema?: unknown;
1446
1609
  authPolicySchema?: unknown;
1447
1610
  [key: string]: unknown;
1448
1611
  }
1612
+ interface CredentialFieldDescriptor {
1613
+ key: string;
1614
+ displayName?: string | null;
1615
+ isSecret?: boolean;
1616
+ required?: boolean;
1617
+ inputType?: string | null;
1618
+ placeholder?: string | null;
1619
+ [key: string]: unknown;
1620
+ }
1621
+ interface CredentialProviderCatalogItem {
1622
+ providerKey: string;
1623
+ displayName: string;
1624
+ iconKey?: string | null;
1625
+ credentialTypes?: string[];
1626
+ authModes?: string[];
1627
+ requiredScopes?: string[];
1628
+ requiredPermissions?: string[];
1629
+ connectAvailable?: boolean;
1630
+ manualSetupAvailable?: boolean;
1631
+ setupInstructions?: string | null;
1632
+ }
1449
1633
  interface CredentialTypeCatalogResult {
1634
+ providers?: CredentialProviderCatalogItem[];
1450
1635
  items?: CredentialTypeCatalogItem[];
1451
1636
  [key: string]: unknown;
1452
1637
  }
1453
1638
  interface CredentialTestRequest {
1454
1639
  credentialRef?: string | null;
1640
+ providerKey?: string | null;
1455
1641
  credentialType?: string | null;
1456
1642
  config?: unknown;
1457
1643
  [key: string]: unknown;
1458
1644
  }
1459
1645
  interface CredentialTestResult {
1646
+ credentialRef?: string | null;
1647
+ supported?: boolean;
1460
1648
  succeeded?: boolean;
1461
1649
  status?: string | null;
1462
1650
  message?: string | null;
1463
1651
  issues?: unknown[];
1464
1652
  [key: string]: unknown;
1465
1653
  }
1654
+ interface ManualCredentialCreateRequest {
1655
+ providerKey: string;
1656
+ credentialType: string;
1657
+ displayName?: string | null;
1658
+ fields: Record<string, string>;
1659
+ }
1660
+ interface CredentialMutationResult {
1661
+ accepted?: boolean;
1662
+ credential?: CredentialReference | null;
1663
+ errorCode?: string | null;
1664
+ message?: string | null;
1665
+ [key: string]: unknown;
1666
+ }
1667
+ interface CredentialOAuthStartRequest {
1668
+ providerKey: string;
1669
+ credentialType?: string | null;
1670
+ returnUrl?: string | null;
1671
+ }
1672
+ interface CredentialOAuthStartResult {
1673
+ supported?: boolean;
1674
+ started?: boolean;
1675
+ authorizationUrl?: string | null;
1676
+ state?: string | null;
1677
+ message?: string | null;
1678
+ missingConfigurationKeys?: string[];
1679
+ [key: string]: unknown;
1680
+ }
1466
1681
  interface FlowPlusModuleCatalogItem {
1467
1682
  moduleKey: string;
1468
1683
  moduleId?: number | string | null;
@@ -1509,6 +1724,9 @@ interface FormSelectorItem {
1509
1724
  }
1510
1725
  interface FormSelectorContractResult {
1511
1726
  items?: FormSelectorItem[];
1727
+ forms?: FormSelectorItem[];
1728
+ versioningMode?: string | null;
1729
+ publishBehavior?: string | null;
1512
1730
  [key: string]: unknown;
1513
1731
  }
1514
1732
  interface FormVersionSummary {
@@ -1521,6 +1739,11 @@ interface FormVersionSummary {
1521
1739
  }
1522
1740
  interface FormVersionListResult {
1523
1741
  items?: FormVersionSummary[];
1742
+ versions?: FormVersionSummary[];
1743
+ immutableVersionsAvailable?: boolean;
1744
+ versioningMode?: string | null;
1745
+ requiresSnapshotOnPublish?: boolean;
1746
+ publishBehavior?: string | null;
1524
1747
  [key: string]: unknown;
1525
1748
  }
1526
1749
  interface FormSchemaResult {
@@ -1565,8 +1788,7 @@ interface ScheduleValidationRequest {
1565
1788
  triggerKey?: string | null;
1566
1789
  [key: string]: unknown;
1567
1790
  }
1568
- interface SchedulePreviewRequest extends ScheduleValidationRequest {
1569
- }
1791
+ type SchedulePreviewRequest = ScheduleValidationRequest;
1570
1792
  interface SchedulePreviewResult {
1571
1793
  isValid?: boolean;
1572
1794
  nextFireAtUtc?: string | null;
@@ -1680,7 +1902,15 @@ interface AutomationRunResult {
1680
1902
  executionId: number | string;
1681
1903
  status: AutomationExecutionStatus;
1682
1904
  correlationId?: string | null;
1683
- queuedNodes?: unknown[];
1905
+ queuedNodes?: QueuedNodeSummary[];
1906
+ }
1907
+ interface QueuedNodeSummary {
1908
+ nodeKey?: string | null;
1909
+ nodeType?: AutomationNodeType | string | null;
1910
+ status?: AutomationExecutionStatus | string | null;
1911
+ nodeRunId?: number | string | null;
1912
+ routeOutputKey?: string | null;
1913
+ [key: string]: unknown;
1684
1914
  }
1685
1915
  interface AutomationExecutionListResult {
1686
1916
  items: AutomationExecutionSummary[];
@@ -1762,6 +1992,12 @@ interface AutomationRuntimeWait {
1762
1992
  nodeKey?: string | null;
1763
1993
  waitType: string;
1764
1994
  status: string;
1995
+ waitReason?: string | null;
1996
+ resumeToken?: string | null;
1997
+ createdAtUtc?: string | null;
1998
+ expiresAtUtc?: string | null;
1999
+ dueDateUtc?: string | null;
2000
+ metadata?: unknown;
1765
2001
  }
1766
2002
  interface AutomationExecutionEvent {
1767
2003
  eventId: number | string;
@@ -1828,6 +2064,57 @@ interface HumanApprovalDecisionResult {
1828
2064
  decision: string;
1829
2065
  status: AutomationExecutionStatus;
1830
2066
  }
2067
+ interface HumanTaskAssignment {
2068
+ userId?: string | null;
2069
+ roleId?: string | null;
2070
+ groupId?: string | null;
2071
+ displayName?: string | null;
2072
+ [key: string]: unknown;
2073
+ }
2074
+ interface HumanTaskPayloadResult {
2075
+ accepted?: boolean;
2076
+ executionId?: number | string | null;
2077
+ nodeRunId?: number | string | null;
2078
+ resumeToken?: string | null;
2079
+ nodeKey?: string | null;
2080
+ title?: string | null;
2081
+ description?: string | null;
2082
+ formSource?: 'ExplicitFormBinding' | 'ReuseTriggerForm' | string | null;
2083
+ formId?: string | null;
2084
+ formVersionId?: string | null;
2085
+ canSaveDraft?: boolean | null;
2086
+ contextOutputPath?: string | null;
2087
+ priority?: string | null;
2088
+ dueDateUtc?: string | null;
2089
+ assignment?: HumanTaskAssignment | null;
2090
+ prefill?: unknown;
2091
+ draft?: unknown;
2092
+ payload?: unknown;
2093
+ errorCode?: string | null;
2094
+ message?: string | null;
2095
+ }
2096
+ interface HumanTaskDraftRequest {
2097
+ values?: Record<string, unknown> | null;
2098
+ metadata?: Record<string, unknown> | null;
2099
+ }
2100
+ interface HumanTaskSubmitRequest {
2101
+ values?: Record<string, unknown> | null;
2102
+ metadata?: Record<string, unknown> | null;
2103
+ }
2104
+ interface HumanTaskCancelRequest {
2105
+ reason?: string | null;
2106
+ metadata?: Record<string, unknown> | null;
2107
+ }
2108
+ interface HumanTaskActionResult {
2109
+ accepted?: boolean;
2110
+ executionId?: number | string | null;
2111
+ nodeRunId?: number | string | null;
2112
+ status?: AutomationExecutionStatus | string | null;
2113
+ queuedNode?: QueuedNodeSummary | null;
2114
+ errorCode?: string | null;
2115
+ message?: string | null;
2116
+ action?: string | null;
2117
+ }
1831
2118
  interface AutomationEngineHealthSnapshot {
1832
2119
  enabled: boolean;
1833
2120
  queuedCount: number;
@@ -1902,6 +2189,8 @@ declare class EndpointBuilder {
1902
2189
  workflowDuplicate(id: number | string): string;
1903
2190
  workflowPublish(id: number | string): string;
1904
2191
  workflowUnpublish(id: number | string): string;
2192
+ workflowVariables(id: number | string): string;
2193
+ workflowVariable(id: number | string, requestPropertyId: number | string): string;
1905
2194
  workflowCatalog(): string;
1906
2195
  workflowContextCatalog(id: number | string): string;
1907
2196
  workflowContextCatalogForStep(id: number | string, stepSchemaId: number | string): string;
@@ -1928,10 +2217,13 @@ declare class EndpointBuilder {
1928
2217
  automation(automationId: number | string): string;
1929
2218
  automationTrigger(automationId: number | string, triggerKey?: string | null): string;
1930
2219
  automationNode(automationId: number | string, nodeKey?: string | null): string;
2220
+ automationNodeDelete(automationId: number | string, nodeKey: string): string;
2221
+ automationNodeTestRun(automationId: number | string, nodeKey: string): string;
1931
2222
  automationRoute(automationId: number | string, routeId?: number | string | null): string;
1932
2223
  automationFormBinding(automationId: number | string, formBindingId?: number | string | null): string;
1933
2224
  automationBuilderCatalog(): string;
1934
2225
  automationNodeTypes(): string;
2226
+ automationBuilderConnectors(): string;
1935
2227
  automationTriggerTypes(): string;
1936
2228
  automationSubworkflowAutomations(): string;
1937
2229
  automationExpressionNamespaces(): string;
@@ -1940,6 +2232,9 @@ declare class EndpointBuilder {
1940
2232
  automationCredentials(): string;
1941
2233
  automationCredentialTypes(): string;
1942
2234
  automationCredentialTest(): string;
2235
+ automationCredentialManualCreate(): string;
2236
+ automationCredentialOAuthStart(): string;
2237
+ automationCredential(credentialRef: string): string;
1943
2238
  automationFlowplusModules(): string;
1944
2239
  automationFlowplusModuleSchema(moduleKey: string): string;
1945
2240
  automationFlowplusOperations(): string;
@@ -1965,16 +2260,23 @@ declare class EndpointBuilder {
1965
2260
  automationRevisionDiff(automationId: number | string): string;
1966
2261
  automationRuntimeRoot(): string;
1967
2262
  automationManualTriggerRun(triggerKey: string): string;
2263
+ automationDraftManualTriggerRun(automationId: number | string, triggerKey: string): string;
2264
+ automationDraftExecutionCancel(automationId: number | string, executionId: number | string): string;
1968
2265
  automationWebhookRun(webhookKey: string): string;
1969
2266
  automationFormSubmissionRun(formId: number | string, submissionId: number | string): string;
1970
2267
  automationExecutions(): string;
1971
2268
  automationExecution(executionId: number | string): string;
1972
2269
  automationExecutionNodeData(executionId: number | string, nodeRunId: number | string): string;
2270
+ automationExecutionBinaryData(executionId: number | string, dataRef: number | string): string;
1973
2271
  automationWaitResumeToken(executionId: number | string, runtimeWaitId: number | string): string;
1974
2272
  automationExecutionCancel(executionId: number | string): string;
1975
2273
  automationExecutionRetry(executionId: number | string): string;
1976
2274
  automationWaitResume(resumeToken: string): string;
1977
2275
  automationApprovalDecision(resumeToken: string): string;
2276
+ automationTask(resumeToken: string): string;
2277
+ automationTaskDraft(resumeToken: string): string;
2278
+ automationTaskSubmit(resumeToken: string): string;
2279
+ automationTaskCancel(resumeToken: string): string;
1978
2280
  automationHealth(): string;
1979
2281
  automationRetentionDryRun(): string;
1980
2282
  plugins(): string;
@@ -2054,6 +2356,10 @@ declare class WorkflowDefinitionApiService {
2054
2356
  getLayout(workflowId: number): Observable<WorkflowLayoutDto>;
2055
2357
  saveLayout(workflowId: number, body: WorkflowLayoutDto): Observable<WorkflowLayoutDto>;
2056
2358
  subworkflowCandidates(): Observable<WorkflowDefinitionSummaryDto[]>;
2359
+ getVariables(workflowId: number): Observable<WorkflowVariableDto[]>;
2360
+ createVariable(workflowId: number, request: WorkflowVariableRequest): Observable<WorkflowVariableDto[]>;
2361
+ updateVariable(workflowId: number, requestPropertyId: number, request: WorkflowVariableRequest): Observable<WorkflowVariableDto[]>;
2362
+ deleteVariable(workflowId: number, requestPropertyId: number): Observable<WorkflowVariableDto[]>;
2057
2363
  validateAutomationWorkflow(workflowId: number): Observable<WorkflowValidationResultDto>;
2058
2364
  firstTriggerKey(workflowId: number): Observable<string>;
2059
2365
  triggerKey(workflowId: number, triggerId: number): Observable<string>;
@@ -2129,9 +2435,9 @@ declare class WorkflowFormApiService {
2129
2435
  * POST process-submit/validate → validate runtime payload
2130
2436
  * POST process-submit → execute runtime create/update/delete/action
2131
2437
  *
2132
- * Test-run uses Automation Engine manual-trigger execution and then reads the
2133
- * execution detail. The returned shape is adapted to the older
2134
- * `WorkflowTestRunResultDto` consumed by the existing premium test panel.
2438
+ * Design-time test runs use the workflow definition dry-run endpoint. Sandbox
2439
+ * execution still uses Automation Engine manual-trigger execution and adapts
2440
+ * the result to `WorkflowTestRunResultDto` for the existing premium test panel.
2135
2441
  *
2136
2442
  * Old invented endpoints (`/processes/start/...`, `/processes/{id}/tasks/...`)
2137
2443
  * are not used. See `docs/workflow-backend-contract-gaps.md` for outstanding
@@ -2147,6 +2453,7 @@ declare class WorkflowRuntimeApiService {
2147
2453
  validateSubmit(body: ProcessSubmitRequest): Observable<WorkflowValidationResultDto>;
2148
2454
  submit(body: ProcessSubmitRequest): Observable<ProcessSubmitResponseDto>;
2149
2455
  testRun(workflowId: number, body: WorkflowTestRunRequest): Observable<WorkflowTestRunResultDto>;
2456
+ private designTimeTestRun;
2150
2457
  private resolveTriggerKey;
2151
2458
  getTestRunResult(workflowId: number, testRunId: string): Observable<WorkflowTestRunResultDto>;
2152
2459
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WorkflowRuntimeApiService, never>;
@@ -2191,6 +2498,8 @@ declare class AutomationDesignApiService {
2191
2498
  silent?: boolean;
2192
2499
  }): Observable<unknown>;
2193
2500
  deleteNode(automationId: number | string, nodeKey: string): Observable<unknown>;
2501
+ testRunNode(automationId: number | string, nodeKey: string, request: AutomationNodeTestRunRequest): Observable<AutomationNodeTestRunResult>;
2502
+ cancelDraftExecution(automationId: number | string, executionId: number | string): Observable<ExecutionCancelResult>;
2194
2503
  upsertRoute(automationId: number | string, request: RouteDefinitionRequest, routeId?: number | string | null): Observable<unknown>;
2195
2504
  deleteRoute(automationId: number | string, routeId: number | string): Observable<unknown>;
2196
2505
  upsertFormBinding(automationId: number | string, request: FormBindingDefinitionRequest, formBindingId?: number | string | null): Observable<unknown>;
@@ -2212,8 +2521,12 @@ declare class AutomationBuilderCatalogApiService {
2212
2521
  private readonly http;
2213
2522
  private readonly endpoints;
2214
2523
  private readonly diagnostics;
2524
+ private readonly cachedCatalog;
2525
+ private catalogRequest$;
2215
2526
  catalog(): Observable<AutomationBuilderCatalog>;
2527
+ invalidateCatalog(): void;
2216
2528
  nodeTypes(): Observable<NodeTypeCatalogItem[]>;
2529
+ connectors(): Observable<ConnectorCatalog>;
2217
2530
  triggerTypes(): Observable<TriggerTypeCatalogItem[]>;
2218
2531
  subworkflowAutomations(params?: Record<string, string | number | boolean | null | undefined>): Observable<AutomationSelectorResult>;
2219
2532
  expressionNamespaces(): Observable<ExpressionNamespaceDescriptor[]>;
@@ -2222,6 +2535,9 @@ declare class AutomationBuilderCatalogApiService {
2222
2535
  credentials(params?: Record<string, string | number | boolean | null | undefined>): Observable<CredentialReferenceListResult>;
2223
2536
  credentialTypes(): Observable<CredentialTypeCatalogResult>;
2224
2537
  testCredential(request: CredentialTestRequest): Observable<CredentialTestResult>;
2538
+ createManualCredential(request: ManualCredentialCreateRequest): Observable<CredentialMutationResult>;
2539
+ startCredentialOAuth(request: CredentialOAuthStartRequest): Observable<CredentialOAuthStartResult>;
2540
+ revokeCredential(credentialRef: string): Observable<CredentialMutationResult>;
2225
2541
  flowplusModules(): Observable<FlowPlusModuleCatalogResult>;
2226
2542
  flowplusModuleSchema(moduleKey: string): Observable<FlowPlusModuleSchemaResult>;
2227
2543
  flowplusOperations(): Observable<string[]>;
@@ -2244,6 +2560,7 @@ declare class AutomationExecutionApiService {
2244
2560
  private readonly http;
2245
2561
  private readonly endpoints;
2246
2562
  runManualTrigger(triggerKey: string, payload?: unknown): Observable<AutomationRunResult>;
2563
+ runDraftManualTrigger(automationId: number | string, triggerKey: string, payload?: unknown): Observable<AutomationRunResult>;
2247
2564
  runWebhook(webhookKey: string, payload: unknown): Observable<AutomationRunResult>;
2248
2565
  runFormSubmission(formId: number | string, submissionId: number | string, payload: unknown): Observable<AutomationRunResult>;
2249
2566
  listExecutions(params?: Record<string, string | number | boolean | null | undefined>): Observable<AutomationExecutionListResult>;
@@ -2254,6 +2571,10 @@ declare class AutomationExecutionApiService {
2254
2571
  cancel(executionId: number | string): Observable<ExecutionCancelResult>;
2255
2572
  resumeWait(resumeToken: string, request: WaitResumeRequest): Observable<WaitResumeResult>;
2256
2573
  approve(resumeToken: string, request: HumanApprovalDecisionRequest): Observable<HumanApprovalDecisionResult>;
2574
+ humanTaskPayload(resumeToken: string): Observable<HumanTaskPayloadResult>;
2575
+ saveHumanTaskDraft(resumeToken: string, request: HumanTaskDraftRequest): Observable<HumanTaskActionResult>;
2576
+ submitHumanTask(resumeToken: string, request: HumanTaskSubmitRequest): Observable<HumanTaskActionResult>;
2577
+ cancelHumanTask(resumeToken: string, request: HumanTaskCancelRequest): Observable<HumanTaskActionResult>;
2257
2578
  health(params?: Record<string, string | number | boolean | null | undefined>): Observable<AutomationEngineHealthSnapshot>;
2258
2579
  retentionDryRun(params?: Record<string, string | number | boolean | null | undefined>): Observable<AutomationRetentionPruneResult>;
2259
2580
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutomationExecutionApiService, never>;
@@ -2285,6 +2606,8 @@ declare function parsePortId(id: string | null | undefined): {
2285
2606
  direction?: 'in' | 'out';
2286
2607
  portKey?: string;
2287
2608
  };
2609
+ declare function resolveConnectionEndpointStep(connection: WorkflowConnectionDto, steps: readonly WorkflowStepDto[], endpoint: 'source' | 'target'): WorkflowStepDto | null;
2610
+ declare function flowPortKeyExists(ports: readonly FlowNodePortVm[], portKey: string | null | undefined): boolean;
2288
2611
  type FlowPortSide = 'top' | 'right' | 'bottom' | 'left';
2289
2612
  type FlowPortDirection = 'input' | 'output';
2290
2613
  interface FlowNodePortVm {
@@ -2330,8 +2653,8 @@ interface FlowCanvasNodeVm {
2330
2653
  runtimeChildAutomationId?: number | string | null;
2331
2654
  runtimeMetadata?: Record<string, unknown> | null;
2332
2655
  }
2333
- declare const FLOW_NODE_CARD_WIDTH = 80;
2334
- declare const FLOW_NODE_BASE_HEIGHT = 80;
2656
+ declare const FLOW_NODE_CARD_WIDTH = 88;
2657
+ declare const FLOW_NODE_BASE_HEIGHT = 88;
2335
2658
  declare const FLOW_NODE_OUTPUT_SIZE = 16;
2336
2659
  declare const FLOW_NODE_MULTI_OUTPUT_GAP = 18;
2337
2660
  declare function flowNodeOutputStackHeight(outputCount: number): number;
@@ -2383,7 +2706,48 @@ interface FlowCanvasEdgeVm {
2383
2706
  runtimeStatus?: string | null;
2384
2707
  runtimeTooltip?: string | null;
2385
2708
  runtimeLabel?: string | null;
2709
+ connectionType?: FlowCanvasConnectionType;
2710
+ connectionOffset?: number;
2711
+ connectionRadius?: number;
2712
+ inputSide?: FlowCanvasConnectionSide;
2713
+ outputSide?: FlowCanvasConnectionSide;
2714
+ connectionWaypoints?: readonly FlowCanvasConnectionWaypoint[];
2715
+ isReturnConnection?: boolean;
2716
+ }
2717
+ declare function canShowConnectionQuickAdd(edge: FlowCanvasEdgeVm, state?: {
2718
+ readonly?: boolean;
2719
+ loading?: boolean;
2720
+ busy?: boolean;
2721
+ }): boolean;
2722
+ declare const FLOWPLUS_RETURN_LOOP_CONNECTION_TYPE = "flowplus-return-loop";
2723
+ type FlowCanvasConnectionType = 'adaptive-curve' | 'segment' | typeof FLOWPLUS_RETURN_LOOP_CONNECTION_TYPE;
2724
+ type FlowCanvasConnectionSide = 'default' | 'top' | 'right' | 'bottom' | 'left' | 'calculate' | 'calculate_horizontal' | 'calculate_vertical';
2725
+ interface FlowCanvasConnectionWaypoint {
2726
+ x: number;
2727
+ y: number;
2386
2728
  }
2729
+ interface FlowCanvasConnectionPosition {
2730
+ x: number;
2731
+ y: number;
2732
+ width?: number | null;
2733
+ height?: number | null;
2734
+ }
2735
+ interface FlowCanvasConnectionRouting {
2736
+ connectionType: FlowCanvasConnectionType;
2737
+ connectionOffset: number;
2738
+ connectionRadius: number;
2739
+ inputSide: FlowCanvasConnectionSide;
2740
+ outputSide: FlowCanvasConnectionSide;
2741
+ connectionWaypoints: readonly FlowCanvasConnectionWaypoint[];
2742
+ isReturnConnection: boolean;
2743
+ }
2744
+ interface FlowCanvasConnectionRoutingContext {
2745
+ sourceOutputIndex?: number | null;
2746
+ sourceOutputCount?: number | null;
2747
+ }
2748
+ declare function routeConnectionForCanvas(connection: WorkflowConnectionDto, connections: readonly WorkflowConnectionDto[], sourcePosition?: FlowCanvasConnectionPosition | null, targetPosition?: FlowCanvasConnectionPosition | null, context?: FlowCanvasConnectionRoutingContext | null): FlowCanvasConnectionRouting;
2749
+ declare function isReturnConnectionForCanvas(connection: WorkflowConnectionDto, connections: readonly WorkflowConnectionDto[], sourcePosition?: FlowCanvasConnectionPosition | null, targetPosition?: FlowCanvasConnectionPosition | null): boolean;
2750
+ declare function connectionClosesDirectedCycle(connection: WorkflowConnectionDto, connections: readonly WorkflowConnectionDto[]): boolean;
2387
2751
  /**
2388
2752
  * Derives the visual port set for a step. Backend may not yet provide
2389
2753
  * action-specific routing, so for UserInput we always expose ports for
@@ -2549,6 +2913,7 @@ declare enum FlowplusWorkflowActionKey {
2549
2913
  DeleteTrigger = "deleteTrigger",
2550
2914
  RunWorkflowTest = "runWorkflowTest",
2551
2915
  RunAutomationTrigger = "runAutomationTrigger",
2916
+ CancelAutomationExecution = "cancelAutomationExecution",
2552
2917
  PollAutomationExecution = "pollAutomationExecution"
2553
2918
  }
2554
2919
  type FlowplusSaveStatus = 'idle' | 'dirty' | 'saving' | 'saved' | 'failed';
@@ -2566,6 +2931,7 @@ interface FlowplusSelection {
2566
2931
  interface FlowplusUiState {
2567
2932
  bottomPanelOpen: boolean;
2568
2933
  bottomPanelTab: 'problems' | 'testRun' | 'context' | 'logs' | 'raw';
2934
+ bottomPanelHeightPx: number;
2569
2935
  minimapOpen: boolean;
2570
2936
  validationOverlay: boolean;
2571
2937
  paletteSearch: string;
@@ -2672,6 +3038,7 @@ interface FlowplusExecutionRuntimeSlice {
2672
3038
  runtimeReplayMode: FlowplusRuntimeReplayMode;
2673
3039
  status: string | null;
2674
3040
  running: boolean;
3041
+ canceling: boolean;
2675
3042
  accepted: boolean;
2676
3043
  loading: boolean;
2677
3044
  empty: boolean;
@@ -3083,6 +3450,11 @@ declare class SetBottomPanelOpen {
3083
3450
  static readonly type = "[FlowplusWorkflow] Set Bottom Panel Open";
3084
3451
  constructor(open?: boolean | undefined);
3085
3452
  }
3453
+ declare class SetBottomPanelHeight {
3454
+ heightPx: number;
3455
+ static readonly type = "[FlowplusWorkflow] Set Bottom Panel Height";
3456
+ constructor(heightPx: number);
3457
+ }
3086
3458
  declare class SetMinimap {
3087
3459
  open: boolean;
3088
3460
  static readonly type = "[FlowplusWorkflow] Set Minimap";
@@ -3169,6 +3541,11 @@ declare class RunAutomationTrigger {
3169
3541
  static readonly type = "[FlowplusWorkflow] Run Automation Trigger";
3170
3542
  constructor(request?: FlowplusTriggerExecutionRequest);
3171
3543
  }
3544
+ declare class CancelAutomationExecution {
3545
+ executionId?: number | string | null | undefined;
3546
+ static readonly type = "[FlowplusWorkflow] Cancel Automation Execution";
3547
+ constructor(executionId?: number | string | null | undefined);
3548
+ }
3172
3549
  declare class PollAutomationExecution {
3173
3550
  executionId: number | string;
3174
3551
  static readonly type = "[FlowplusWorkflow] Poll Automation Execution";
@@ -3221,6 +3598,10 @@ interface TriggerNodeVm {
3221
3598
  isInvalid?: boolean;
3222
3599
  isWarning?: boolean;
3223
3600
  issues?: WorkflowValidationIssueDto[];
3601
+ cycleIssueCount?: number;
3602
+ cycleBlockerCount?: number;
3603
+ cycleWarningCount?: number;
3604
+ unrelatedBlockerCount?: number;
3224
3605
  startStepId?: number | null;
3225
3606
  startNodeKey?: string | null;
3226
3607
  /** Flow-local x */
@@ -3283,16 +3664,34 @@ declare class FlowplusWorkflowFacade {
3283
3664
  readonly validationByStepId: _angular_core.Signal<Map<number, WorkflowValidationIssueDto[]>>;
3284
3665
  readonly validationByConnectionId: _angular_core.Signal<Map<number, WorkflowValidationIssueDto[]>>;
3285
3666
  readonly validationByTriggerId: _angular_core.Signal<Map<number, WorkflowValidationIssueDto[]>>;
3286
- readonly runtime: _angular_core.Signal<FlowplusExecutionRuntimeSlice>;
3287
- readonly runtimeDetail: _angular_core.Signal<AutomationExecutionDetail | null>;
3667
+ readonly runtime: _angular_core.Signal<_masterteam_flowplus_workflow.FlowplusExecutionRuntimeSlice>;
3668
+ readonly runtimeDetail: _angular_core.Signal<_masterteam_flowplus_workflow.AutomationExecutionDetail | null>;
3288
3669
  readonly runtimeStatus: _angular_core.Signal<string | null>;
3289
3670
  readonly runtimeError: _angular_core.Signal<string | null>;
3290
3671
  readonly runtimeRunning: _angular_core.Signal<boolean>;
3672
+ readonly runtimeCanceling: _angular_core.Signal<boolean>;
3291
3673
  readonly runtimeAccepted: _angular_core.Signal<boolean>;
3674
+ readonly runtimeLoading: _angular_core.Signal<boolean>;
3292
3675
  readonly activeExecutionId: _angular_core.Signal<string | number | null>;
3293
3676
  readonly selectedRuntimeTriggerId: _angular_core.Signal<number | null>;
3294
3677
  readonly selectedRuntimeTrigger: _angular_core.Signal<WorkflowTriggerDto>;
3295
3678
  readonly selectedTrigger: _angular_core.Signal<WorkflowTriggerDto | null>;
3679
+ readonly selectedGraphItemRawDto: _angular_core.Signal<{
3680
+ kind: string;
3681
+ dto: WorkflowTriggerDto | null;
3682
+ } | {
3683
+ kind: string;
3684
+ dto: WorkflowStepDto | null;
3685
+ } | {
3686
+ kind: string;
3687
+ dto: WorkflowConnectionDto | null;
3688
+ } | {
3689
+ kind: string;
3690
+ dto: CanvasNoteVm | null;
3691
+ } | {
3692
+ kind: string;
3693
+ dto: _masterteam_flowplus_workflow.WorkflowDefinitionDto | null;
3694
+ }>;
3296
3695
  /**
3297
3696
  * Canvas node view-models — derived from steps + layout + selection +
3298
3697
  * validation + the runtime routing policy on the catalog. Kept on the
@@ -3332,6 +3731,8 @@ declare class FlowplusWorkflowFacade {
3332
3731
  private readonly errors;
3333
3732
  readonly loading: _angular_core.Signal<boolean>;
3334
3733
  readonly studioLoading: _angular_core.Signal<boolean>;
3734
+ readonly contextCatalogLoading: _angular_core.Signal<boolean>;
3735
+ readonly contextCatalogError: _angular_core.Signal<string | null>;
3335
3736
  /**
3336
3737
  * "Busy" — true while any user-initiated write is in flight. Used by
3337
3738
  * components that want to show inline activity (the topbar spinner,
@@ -3414,6 +3815,7 @@ declare class FlowplusWorkflowFacade {
3414
3815
  unpublish(): Observable<void>;
3415
3816
  setBottomPanelTab(tab: FlowplusUiState['bottomPanelTab']): Observable<void>;
3416
3817
  toggleBottomPanel(open?: boolean): Observable<void>;
3818
+ setBottomPanelHeight(heightPx: number): Observable<void>;
3417
3819
  setMinimap(open: boolean): Observable<void>;
3418
3820
  setPaletteOpen(open?: boolean, pin?: boolean): Observable<void>;
3419
3821
  togglePalette(): Observable<void>;
@@ -3434,6 +3836,7 @@ declare class FlowplusWorkflowFacade {
3434
3836
  runTest(request: WorkflowTestRunRequest): Observable<void>;
3435
3837
  setSelectedRuntimeTrigger(triggerId: number | null): Observable<void>;
3436
3838
  runAutomationTrigger(request?: FlowplusTriggerExecutionRequest): Observable<void>;
3839
+ cancelAutomationExecution(executionId?: number | string | null): Observable<void>;
3437
3840
  loadLatestAutomationExecution(): Observable<void>;
3438
3841
  loadAutomationExecution(executionId: number | string): Observable<void>;
3439
3842
  refreshRuntimeOverlay(): Observable<void>;
@@ -3456,6 +3859,7 @@ declare function readRecord(value: unknown): Record<string, unknown> | null;
3456
3859
 
3457
3860
  declare class FlowplusWorkflowState {
3458
3861
  private readonly defApi;
3862
+ private readonly designApi;
3459
3863
  private readonly executionApi;
3460
3864
  private readonly catalogApi;
3461
3865
  private readonly contextApi;
@@ -3463,10 +3867,11 @@ declare class FlowplusWorkflowState {
3463
3867
  private readonly runtimeApi;
3464
3868
  private readonly store;
3465
3869
  private executionPollTimer;
3870
+ private validationRefreshTimer;
3466
3871
  static studio(state: FlowplusWorkflowStateModel): _masterteam_flowplus_workflow.FlowplusStudioSlice;
3467
3872
  static builder(state: FlowplusWorkflowStateModel): FlowplusBuilderSlice;
3468
3873
  static ui(state: FlowplusWorkflowStateModel): _masterteam_flowplus_workflow.FlowplusUiState;
3469
- static runtime(state: FlowplusWorkflowStateModel): _masterteam_flowplus_workflow.FlowplusExecutionRuntimeSlice;
3874
+ static runtime(state: FlowplusWorkflowStateModel): FlowplusExecutionRuntimeSlice;
3470
3875
  static workflow(b: FlowplusBuilderSlice): _masterteam_flowplus_workflow.WorkflowDefinitionDto | null;
3471
3876
  static steps(b: FlowplusBuilderSlice): WorkflowStepDto[];
3472
3877
  static connections(b: FlowplusBuilderSlice): WorkflowConnectionDto[];
@@ -3537,8 +3942,12 @@ declare class FlowplusWorkflowState {
3537
3942
  * (which made fields "reset" right after a request completed).
3538
3943
  */
3539
3944
  private readonly stepCommitSeq;
3945
+ private readonly stepCommitInflight;
3540
3946
  updateStep(ctx: StateContext<FlowplusWorkflowStateModel>, action: UpdateStep): void;
3541
3947
  private commitStepUpdate;
3948
+ private commitStepUpdate$;
3949
+ private flushPendingStepUpdates;
3950
+ private hasPendingStepSaves;
3542
3951
  deleteStep(ctx: StateContext<FlowplusWorkflowStateModel>, action: DeleteStep): Observable<void> | undefined;
3543
3952
  moveStep(ctx: StateContext<FlowplusWorkflowStateModel>, action: MoveStep): void;
3544
3953
  selectConnection(ctx: StateContext<FlowplusWorkflowStateModel>, action: SelectConnection): void;
@@ -3552,8 +3961,10 @@ declare class FlowplusWorkflowState {
3552
3961
  createTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: CreateTrigger): Observable<_masterteam_flowplus_workflow.WorkflowTriggerDto> | undefined;
3553
3962
  private triggerTimers;
3554
3963
  private readonly triggerCommitSeq;
3964
+ private readonly triggerCommitInflight;
3555
3965
  updateTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: UpdateTrigger): void;
3556
3966
  private commitTriggerUpdate;
3967
+ private commitTriggerUpdate$;
3557
3968
  deleteTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: DeleteTrigger): Observable<void>;
3558
3969
  private layoutTimer;
3559
3970
  private layoutAutosavePaused;
@@ -3570,13 +3981,14 @@ declare class FlowplusWorkflowState {
3570
3981
  validateWorkflow(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowValidationResultDto> | undefined;
3571
3982
  setValidation(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetValidation): void;
3572
3983
  setLayout(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetLayout): void;
3573
- publishWorkflow(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowDefinitionDto> | undefined;
3984
+ publishWorkflow(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<unknown> | void;
3574
3985
  unpublishWorkflow(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowDefinitionDto> | undefined;
3575
3986
  setSelection(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetSelection): void;
3576
3987
  setSelectionFromCanvas(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetSelectionFromCanvas): void;
3577
3988
  setActiveInspectorTab(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetActiveInspectorTab): void;
3578
3989
  setBottomPanelTab(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetBottomPanelTab): void;
3579
3990
  setBottomPanelOpen(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetBottomPanelOpen): void;
3991
+ setBottomPanelHeight(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetBottomPanelHeight): void;
3580
3992
  setMinimap(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetMinimap): void;
3581
3993
  setPaletteOpen(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetPaletteOpen): void;
3582
3994
  setInspectorOpen(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetInspectorOpen): void;
@@ -3593,18 +4005,22 @@ declare class FlowplusWorkflowState {
3593
4005
  redoBuilderCommand(_ctx: StateContext<FlowplusWorkflowStateModel>): void;
3594
4006
  clearCommandHistory(_ctx: StateContext<FlowplusWorkflowStateModel>): void;
3595
4007
  setSelectedRuntimeTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetSelectedRuntimeTrigger): void;
3596
- runAutomationTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: RunAutomationTrigger): Observable<AutomationRunResult>;
4008
+ runAutomationTrigger(ctx: StateContext<FlowplusWorkflowStateModel>, action: RunAutomationTrigger): Observable<unknown> | void;
4009
+ cancelAutomationExecution(ctx: StateContext<FlowplusWorkflowStateModel>, action: CancelAutomationExecution): Observable<unknown>;
3597
4010
  pollAutomationExecution(ctx: StateContext<FlowplusWorkflowStateModel>, action: PollAutomationExecution): Observable<AutomationExecutionDetail>;
3598
4011
  loadLatestAutomationExecution(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<AutomationExecutionDetail>;
3599
4012
  loadAutomationExecution(ctx: StateContext<FlowplusWorkflowStateModel>, action: LoadAutomationExecution): Observable<AutomationExecutionDetail>;
3600
4013
  applyAutomationExecutionDetail(ctx: StateContext<FlowplusWorkflowStateModel>, action: ApplyAutomationExecutionDetail): void;
3601
4014
  clearAutomationRuntimeState(ctx: StateContext<FlowplusWorkflowStateModel>): void;
3602
4015
  selectRuntimeNodeRun(ctx: StateContext<FlowplusWorkflowStateModel>, action: SelectRuntimeNodeRun): void;
3603
- runWorkflowTest(ctx: StateContext<FlowplusWorkflowStateModel>, action: RunWorkflowTest): Observable<_masterteam_flowplus_workflow.WorkflowTestRunResultDto> | undefined;
4016
+ runWorkflowTest(ctx: StateContext<FlowplusWorkflowStateModel>, action: RunWorkflowTest): Observable<unknown> | void;
4017
+ private prepareCurrentDraftForRun;
3604
4018
  private resolveExecutionTrigger;
3605
4019
  private unsupportedTriggerMessage;
3606
4020
  private scheduleExecutionPoll;
3607
4021
  private clearExecutionPoll;
4022
+ private scheduleValidationRefresh;
4023
+ private clearValidationRefresh;
3608
4024
  private readonly _keepExtractMessage;
3609
4025
  private readonly _keepConnectionCreatedAction;
3610
4026
  private readonly _keepConnectionCreationFailedAction;
@@ -3636,6 +4052,7 @@ declare function applyBuilderSnapshot(cur: FlowplusBuilderSlice, dto: WorkflowBu
3636
4052
  declare function hasOtherPending(pendingOperations: Record<string, FlowplusPendingOperation>, excludeId?: string): boolean;
3637
4053
  /** Returns true when ANY entity dirty flag is set. */
3638
4054
  declare function isEntityDirty(dirty: FlowplusBuilderSlice['dirty']): boolean;
4055
+ declare function shouldPublishCurrentDefinitionBeforeRun(builder: FlowplusBuilderSlice): boolean;
3639
4056
  /** Compute the next coarse save status from dirty + pending. */
3640
4057
  declare function computeSaveStatus(dirty: FlowplusBuilderSlice['dirty'], pendingOperations: Record<string, FlowplusPendingOperation>, lastError: string | null): FlowplusSaveStatus;
3641
4058
  /** Helper that narrows a "saving/saved" ternary back to the union type. */
@@ -3647,6 +4064,17 @@ declare function savingOrSaved(pending: boolean): FlowplusSaveStatus;
3647
4064
  declare function indexValidationByStepId(validation: FlowplusBuilderSlice['validation']): Map<number, WorkflowValidationIssueDto[]>;
3648
4065
  declare function indexValidationByConnectionId(validation: FlowplusBuilderSlice['validation']): Map<number, WorkflowValidationIssueDto[]>;
3649
4066
  declare function indexValidationByTriggerId(validation: FlowplusBuilderSlice['validation']): Map<number, WorkflowValidationIssueDto[]>;
4067
+ declare function allValidationIssues(validation: NonNullable<FlowplusBuilderSlice['validation']>): WorkflowValidationIssueDto[];
4068
+ interface TriggerCycleValidationSummary {
4069
+ readonly reachableStepIds: number[];
4070
+ readonly reachableConnectionIds: number[];
4071
+ readonly issues: WorkflowValidationIssueDto[];
4072
+ readonly blockers: WorkflowValidationIssueDto[];
4073
+ readonly warnings: WorkflowValidationIssueDto[];
4074
+ readonly unrelatedBlockers: WorkflowValidationIssueDto[];
4075
+ readonly hasStartStep: boolean;
4076
+ }
4077
+ declare function summarizeTriggerCycleValidation(trigger: WorkflowTriggerDto, steps: WorkflowStepDto[], connections: WorkflowConnectionDto[], validation: WorkflowValidationResultDto | null): TriggerCycleValidationSummary;
3650
4078
  /** Replace or append a step in the array. */
3651
4079
  declare function upsertStep(steps: WorkflowStepDto[], step: WorkflowStepDto): WorkflowStepDto[];
3652
4080
  /** Replace or append a connection in the array. */
@@ -3777,6 +4205,12 @@ interface FlowplusNodeFinderOverlayOptions {
3777
4205
  appendTo?: string | HTMLElement;
3778
4206
  position?: 'start' | 'end' | 'left' | 'right';
3779
4207
  }
4208
+ interface FlowplusWorkflowVariablesOverlayOptions {
4209
+ appendTo?: string | HTMLElement;
4210
+ }
4211
+ interface FlowplusExecutionFilesOverlayOptions {
4212
+ appendTo?: string | HTMLElement;
4213
+ }
3780
4214
  declare class FlowplusWorkflowOverlayService {
3781
4215
  private readonly modal;
3782
4216
  private readonly transloco;
@@ -3795,6 +4229,8 @@ declare class FlowplusWorkflowOverlayService {
3795
4229
  openConnectionConfig(connection: WorkflowConnectionDto): ModalRef<Partial<WorkflowConnectionDto>>;
3796
4230
  openTriggerConfig(trigger: WorkflowTriggerDto): ModalRef<TriggerConfigDialogResult>;
3797
4231
  openNodeFinder(options?: FlowplusNodeFinderOverlayOptions): ModalRef<unknown>;
4232
+ openWorkflowVariables(options?: FlowplusWorkflowVariablesOverlayOptions): ModalRef<unknown>;
4233
+ openExecutionFiles(options?: FlowplusExecutionFilesOverlayOptions): ModalRef<unknown>;
3798
4234
  private open;
3799
4235
  private inspectorComponent;
3800
4236
  private processCreateConfig;
@@ -3803,6 +4239,8 @@ declare class FlowplusWorkflowOverlayService {
3803
4239
  private connectionConfig;
3804
4240
  private triggerConfig;
3805
4241
  private nodeFinderConfig;
4242
+ private workflowVariablesConfig;
4243
+ private executionFilesConfig;
3806
4244
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlowplusWorkflowOverlayService, never>;
3807
4245
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<FlowplusWorkflowOverlayService>;
3808
4246
  }
@@ -3946,6 +4384,17 @@ declare class ProcessCreateDialogComponent {
3946
4384
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProcessCreateDialogComponent, "fp-process-create-dialog", never, {}, {}, never, never, true, never>;
3947
4385
  }
3948
4386
 
4387
+ type PaletteGroupKey = 'logicFlow' | 'dataFiles' | 'peopleReview' | 'appsApis' | 'flowplus';
4388
+ type PaletteSectionKey = 'branching' | 'looping' | 'parallel' | 'timing' | 'dataShape' | 'fileConvert' | 'tasksApprovals' | 'sendWait' | 'apiWebhook' | 'flowplusNative' | 'automationCalls' | 'other';
4389
+ interface AutomationNodeVisual {
4390
+ key: string;
4391
+ label: string;
4392
+ color: string;
4393
+ bg: string;
4394
+ mtIcon: MTIcon;
4395
+ svg?: string;
4396
+ }
4397
+
3949
4398
  type QuickAddMode = 'trigger' | 'step' | 'insert';
3950
4399
  interface QuickAddPickEvent {
3951
4400
  catalogItem: WorkflowStepTypeCatalogItemDto;
@@ -4017,7 +4466,7 @@ declare class FlowNodeComponent {
4017
4466
  */
4018
4467
  readonly subtitle: _angular_core.Signal<string>;
4019
4468
  readonly color: _angular_core.Signal<string>;
4020
- readonly mtIcon: _angular_core.Signal<_masterteam_icons.MTIcon>;
4469
+ readonly cardWidth = 88;
4021
4470
  readonly multiOutputGap = 18;
4022
4471
  readonly cardHeight: _angular_core.Signal<number>;
4023
4472
  readonly connectedOutputKeySet: _angular_core.Signal<Set<string>>;
@@ -4030,11 +4479,13 @@ declare class FlowNodeComponent {
4030
4479
  readonly issueSeverity: _angular_core.Signal<CanvasIssueSeverity>;
4031
4480
  readonly issueTooltip: _angular_core.Signal<string>;
4032
4481
  readonly issueTooltipClass: _angular_core.Signal<string>;
4033
- readonly runtimeTone: _angular_core.Signal<"waiting" | "failed" | "completed" | "skipped" | "running" | null>;
4034
- readonly runtimeIcon: _angular_core.Signal<"alert.alert-triangle" | "general.activity-heart" | "general.check-circle" | "general.minus-circle" | "time.clock" | "general.refresh-cw-05">;
4035
- readonly runtimeColor: _angular_core.Signal<"rgb(var(--fp-commit))" | "rgb(var(--fp-error))" | "rgb(var(--fp-warning))" | "var(--p-primary-color)" | "rgb(var(--fp-text-muted))">;
4482
+ readonly runtimeTone: _angular_core.Signal<"failed" | "skipped" | "waiting" | "completed" | "running" | null>;
4483
+ readonly isRuntimeCancelled: _angular_core.Signal<boolean>;
4484
+ readonly runtimeIcon: _angular_core.Signal<"arrow.refresh-cw-05" | "alert.alert-triangle" | "general.activity-heart" | "general.check" | "general.minus-circle" | "media.stop" | "time.clock">;
4485
+ readonly runtimeColor: _angular_core.Signal<"rgb(var(--fp-commit))" | "rgb(var(--fp-error))" | "rgb(var(--fp-warning))" | "var(--p-primary-color)" | "color-mix(in srgb, rgb(var(--fp-error)) 72%, var(--p-text-color))" | "rgb(var(--fp-text-muted))">;
4036
4486
  readonly runtimeTooltip: _angular_core.Signal<string>;
4037
4487
  readonly runtimeStatusLabel: _angular_core.Signal<string>;
4488
+ readonly loopProgressLabel: _angular_core.Signal<string | null>;
4038
4489
  readonly isPendingCreate: _angular_core.Signal<boolean>;
4039
4490
  readonly pendingLabel: _angular_core.Signal<string>;
4040
4491
  /** Type-specific 1-3 fact lines beneath the title. */
@@ -4100,6 +4551,9 @@ interface NodePortPlusClickEvent {
4100
4551
  }
4101
4552
  interface EdgeInsertStepEvent {
4102
4553
  connectionId: number;
4554
+ edgeKind?: 'connection' | 'triggerStart';
4555
+ triggerId?: number | null;
4556
+ targetStepId?: number | null;
4103
4557
  }
4104
4558
  /**
4105
4559
  * Emitted when a canvas "+" affordance (port plus, drop-to-empty, edge
@@ -4258,6 +4712,12 @@ declare class FlowCanvasComponent {
4258
4712
  connectedOutputKeys(stepId: number): readonly string[];
4259
4713
  /** Guards the one-time auto-fit when the graph first gains content. */
4260
4714
  private didInitialFit;
4715
+ private readonly initialFitMaxAttempts;
4716
+ private readonly initialFitRetryDelayMs;
4717
+ private initialFitAttempt;
4718
+ private initialFitRafId;
4719
+ private initialFitTimerId;
4720
+ private initialFitScheduleToken;
4261
4721
  /**
4262
4722
  * Re-arm the one-time auto-fit so the NEXT render fits again. Called after a
4263
4723
  * programmatic re-layout (initial auto-arrange for module workflows, or the
@@ -4268,12 +4728,16 @@ declare class FlowCanvasComponent {
4268
4728
  suspendPositionSync(durationMs?: number): void;
4269
4729
  onFullRendered(): void;
4270
4730
  /**
4271
- * Defer a fit by two animation frames: the first lets Foblex finish
4272
- * measuring the freshly-rendered node rects, the second lets the workspace
4273
- * container reach its final size. Fitting against a zero-size/stale
4274
- * container lands the graph off-screen the "opened but saw nothing" bug.
4731
+ * Fit only after Foblex has registered the graph and the host has a stable,
4732
+ * measurable viewport. Opening a saved workflow can fire render events before
4733
+ * projected nodes have non-zero rects, and fitting at that moment leaves the
4734
+ * graph outside the visible canvas.
4275
4735
  */
4276
- private deferFit;
4736
+ private scheduleInitialFit;
4737
+ private runInitialFitAttempt;
4738
+ private clearInitialFitSchedule;
4739
+ private isCanvasReadyForInitialFit;
4740
+ private renderedCanvasItems;
4277
4741
  /**
4278
4742
  * Foblex re-fires `fNodesRendered` whenever the node set changes (e.g.
4279
4743
  * after the first trigger/step is created). We auto-fit ONCE when the
@@ -4367,16 +4831,15 @@ declare class FlowCanvasComponent {
4367
4831
  /** Public: flow-local position near the visible canvas center — used by the
4368
4832
  * page to place a palette-clicked step when there's no "+" context. */
4369
4833
  flowCenter(): IPoint;
4834
+ canShowEdgeQuickAdd(edge: FlowCanvasEdgeVm): boolean;
4370
4835
  /**
4371
4836
  * Edge midpoint plus was clicked. Compute a flow-local anchor at the
4372
- * geometric midpoint of the two endpoints so the picker pops at the
4373
- * edge, then open in `insert` mode.
4837
+ * geometric midpoint of the two endpoints so the palette-created step lands
4838
+ * on the edge, then open in `insert` mode.
4374
4839
  */
4375
- onEdgeMidpointPlus(args: {
4376
- connectionId: number;
4377
- sourceStepId: number;
4378
- targetStepId: number;
4379
- }): void;
4840
+ onEdgeQuickAdd(edge: FlowCanvasEdgeVm): void;
4841
+ private edgeMidpoint;
4842
+ private stepIdFromInputPort;
4380
4843
  /**
4381
4844
  * "+ Add first step" was clicked on the virtual trigger node. Open the
4382
4845
  * picker in `step` mode positioned to the right of the trigger card,
@@ -4565,6 +5028,8 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4565
5028
  * inside the workspace — user wants that left panel untouched. */
4566
5029
  private inspectorModalRef;
4567
5030
  private workflowSettingsDrawerRef;
5031
+ private workflowVariablesDrawerRef;
5032
+ private executionFilesDrawerRef;
4568
5033
  private tempIdCounter;
4569
5034
  private nextTempId;
4570
5035
  /**
@@ -4608,6 +5073,12 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4608
5073
  private closeInspectorModal;
4609
5074
  private openWorkflowSettingsDrawer;
4610
5075
  private closeWorkflowSettingsDrawer;
5076
+ onOpenWorkflowVariables(): void;
5077
+ private openWorkflowVariablesDrawer;
5078
+ private closeWorkflowVariablesDrawer;
5079
+ onOpenExecutionFiles(): void;
5080
+ private openExecutionFilesDrawer;
5081
+ private closeExecutionFilesDrawer;
4611
5082
  /**
4612
5083
  * A palette card was dropped on the canvas. Validates the catalog
4613
5084
  * payload (must be present, must have a step type, must be
@@ -4642,6 +5113,7 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4642
5113
  private clearTransientAddIntent;
4643
5114
  private addFromPalette;
4644
5115
  private isCreatablePaletteItem;
5116
+ private canStartGraphMutation;
4645
5117
  private stepMetadataForCatalogItem;
4646
5118
  /**
4647
5119
  * Shared post-create handling for a new step: lock its position (so the
@@ -4659,9 +5131,9 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4659
5131
  onConnectionReassign(event: ConnectionReassignEvent): void;
4660
5132
  /**
4661
5133
  * Foblex emits `fCreateConnection` with no `fInputId` when the user drops
4662
- * an unfinished connection in empty space. The canvas component opens its
4663
- * own quick-add popover at the drop position; we just track the intent
4664
- * here in case other consumers (telemetry, hints) need it.
5134
+ * an unfinished connection in empty space. The canvas routes the add intent
5135
+ * through `requestAddStep`, so this hook is kept only for compatibility with
5136
+ * older consumers.
4665
5137
  */
4666
5138
  onConnectionQuickAdd(_event: ConnectionQuickAddEvent): void;
4667
5139
  /**
@@ -4678,6 +5150,7 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4678
5150
  * Any failure leaves the original edge intact (no data loss, no temp ids).
4679
5151
  */
4680
5152
  private insertStepOnEdge;
5153
+ private insertStepOnTriggerStart;
4681
5154
  /**
4682
5155
  * A node was dropped onto a connection (Foblex assign-on-drop). Rewiring an
4683
5156
  * existing route is a heavy graph mutation, so the insert is confirmed first.
@@ -4794,9 +5267,7 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4794
5267
  * which deletes `A → B` only after `A → new` and `new → B` both persist.
4795
5268
  * If the user cancels or anything fails, `A → B` is left intact.
4796
5269
  */
4797
- onEdgeInsertStep(e: {
4798
- connectionId: number;
4799
- }): void;
5270
+ onEdgeInsertStep(e: EdgeInsertStepEvent): void;
4800
5271
  private pendingEdgeInsert;
4801
5272
  onEdgeRemove(e: {
4802
5273
  connectionId: number;
@@ -4850,9 +5321,11 @@ declare class AutomationExecutionsPageComponent {
4850
5321
  readonly retentionState: _angular_core.WritableSignal<LoadState>;
4851
5322
  readonly nodeDataState: _angular_core.WritableSignal<LoadState>;
4852
5323
  readonly timelineState: _angular_core.WritableSignal<LoadState>;
5324
+ readonly taskPayloadState: _angular_core.WritableSignal<LoadState>;
4853
5325
  readonly error: _angular_core.WritableSignal<string | null>;
4854
5326
  readonly healthError: _angular_core.WritableSignal<string | null>;
4855
5327
  readonly retentionError: _angular_core.WritableSignal<string | null>;
5328
+ readonly taskPayloadError: _angular_core.WritableSignal<string | null>;
4856
5329
  readonly statusFilter: _angular_core.WritableSignal<string>;
4857
5330
  readonly revisionFilter: _angular_core.WritableSignal<string>;
4858
5331
  readonly triggerTypeFilter: _angular_core.WritableSignal<string>;
@@ -4875,6 +5348,11 @@ declare class AutomationExecutionsPageComponent {
4875
5348
  readonly resumePayloadText: _angular_core.WritableSignal<string>;
4876
5349
  readonly approvalDecision: _angular_core.WritableSignal<string>;
4877
5350
  readonly approvalComments: _angular_core.WritableSignal<string>;
5351
+ readonly selectedTaskWaitId: _angular_core.WritableSignal<string | number | null>;
5352
+ readonly taskPayload: _angular_core.WritableSignal<HumanTaskPayloadResult | null>;
5353
+ readonly taskValuesText: _angular_core.WritableSignal<string>;
5354
+ readonly taskMetadataText: _angular_core.WritableSignal<string>;
5355
+ readonly taskCancelReason: _angular_core.WritableSignal<string>;
4878
5356
  readonly statusOptions: SelectOption[];
4879
5357
  readonly triggerTypeOptions: SelectOption[];
4880
5358
  readonly executionColumns: _angular_core.Signal<ColumnDef[]>;
@@ -4919,14 +5397,28 @@ declare class AutomationExecutionsPageComponent {
4919
5397
  cancel(): void;
4920
5398
  resume(wait: AutomationRuntimeWait): void;
4921
5399
  decide(wait: AutomationRuntimeWait): void;
5400
+ loadTask(wait: AutomationRuntimeWait): void;
5401
+ saveTaskDraft(wait: AutomationRuntimeWait): void;
5402
+ submitTask(wait: AutomationRuntimeWait): void;
5403
+ cancelTask(wait: AutomationRuntimeWait): void;
5404
+ taskPayloadFor(wait: AutomationRuntimeWait): HumanTaskPayloadResult | null;
5405
+ isHumanTaskWait(wait: AutomationRuntimeWait): boolean;
5406
+ isHumanApprovalWait(wait: AutomationRuntimeWait): boolean;
4922
5407
  dataPreview(value: unknown): string;
4923
5408
  nodeDataStateLabel(value: AutomationExecutionNodeDataDetail | null): string;
4924
5409
  nodeDataNotice(value: AutomationExecutionNodeDataDetail | null): string | null;
4925
5410
  advancedNodeRunSummary(node: AutomationNodeRun): string | null;
4926
5411
  advancedTimelineSummary(event: AutomationExecutionEvent): string | null;
5412
+ eventDisplayLabel(event: AutomationExecutionEvent): string;
5413
+ eventSummaryLine(event: AutomationExecutionEvent): string;
5414
+ eventToneClass(event: AutomationExecutionEvent): string;
5415
+ auditSummaryLines(value: unknown): string[];
4927
5416
  advancedNodeDataSummary(data: AutomationExecutionNodeDataDetail | null): string[];
4928
5417
  private afterOperation;
4929
5418
  private operationFailed;
5419
+ private withResumeToken;
5420
+ private nodeRunForWait;
5421
+ private resetTaskPayload;
4930
5422
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutomationExecutionsPageComponent, never>;
4931
5423
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutomationExecutionsPageComponent, "fp-automation-executions-page", never, {}, {}, never, never, true, never>;
4932
5424
  }
@@ -4995,16 +5487,21 @@ declare class PaletteDragSourceDirective {
4995
5487
 
4996
5488
  /** A top-level group row (n8n "What happens next?" level 1). */
4997
5489
  interface PaletteGroupVm {
4998
- category: string;
5490
+ key: PaletteGroupKey;
4999
5491
  label: string;
5000
5492
  description: string;
5001
- /** Icon + accent derived from a representative item, so any backend
5002
- * category string (e.g. "Workflow", "Parallel") always renders. */
5003
- icon: string;
5493
+ countLabel: string;
5494
+ previewLabel: string;
5495
+ visualKey: string;
5004
5496
  color: string;
5005
5497
  bg: string;
5006
5498
  items: WorkflowStepTypeCatalogItemDto[];
5007
5499
  }
5500
+ interface PaletteSectionVm {
5501
+ key: PaletteSectionKey;
5502
+ label: string;
5503
+ items: WorkflowStepTypeCatalogItemDto[];
5504
+ }
5008
5505
  /** Which screen of the two-level finder is showing. */
5009
5506
  type PaletteView = 'root' | 'category' | 'triggers';
5010
5507
  declare class PaletteComponent {
@@ -5022,16 +5519,23 @@ declare class PaletteComponent {
5022
5519
  addTrigger: EventEmitter<WorkflowCatalogOptionDto>;
5023
5520
  /** Add a sticky canvas note directly from the rail. */
5024
5521
  addNote: EventEmitter<void>;
5522
+ /** Open workflow-level variables in the dedicated left drawer. */
5523
+ openVariables: EventEmitter<void>;
5524
+ /** Open generated files from the latest loaded execution. */
5525
+ openExecutionFiles: EventEmitter<void>;
5025
5526
  searchModel: string;
5026
5527
  /** Two-level navigation state. */
5027
5528
  readonly view: _angular_core.WritableSignal<PaletteView>;
5028
- readonly activeCategory: _angular_core.WritableSignal<string | null>;
5529
+ readonly activeCategory: _angular_core.WritableSignal<PaletteGroupKey | null>;
5029
5530
  readonly isExpanded: _angular_core.Signal<boolean>;
5030
5531
  readonly searching: _angular_core.Signal<boolean>;
5532
+ readonly executionFileCount: _angular_core.Signal<number>;
5533
+ readonly executionFileBadge: _angular_core.Signal<string>;
5031
5534
  /** All creatable, supported step types grouped into level-1 categories. */
5032
5535
  readonly groups: _angular_core.Signal<PaletteGroupVm[]>;
5033
5536
  /** Items of the drilled-in category. */
5034
5537
  readonly activeItems: _angular_core.Signal<WorkflowStepTypeCatalogItemDto[]>;
5538
+ readonly activeSections: _angular_core.Signal<PaletteSectionVm[]>;
5035
5539
  /** Flat, cross-category results while a search term is present. */
5036
5540
  readonly searchResults: _angular_core.Signal<WorkflowStepTypeCatalogItemDto[]>;
5037
5541
  /** Trigger types for the "Add another trigger" section. */
@@ -5039,9 +5543,11 @@ declare class PaletteComponent {
5039
5543
  readonly visibleTriggerOptions: _angular_core.Signal<WorkflowCatalogOptionDto[]>;
5040
5544
  /** Header title for the current screen. */
5041
5545
  readonly headerTitle: _angular_core.Signal<string>;
5042
- openCategory(category: string): void;
5546
+ openCategory(category: PaletteGroupKey): void;
5043
5547
  openTriggers(): void;
5044
5548
  addCanvasNote(): void;
5549
+ openWorkflowVariables(): void;
5550
+ requestExecutionFiles(): void;
5045
5551
  back(): void;
5046
5552
  openDrawer(): void;
5047
5553
  closeDrawer(): void;
@@ -5049,25 +5555,25 @@ declare class PaletteComponent {
5049
5555
  pickStep(item: WorkflowStepTypeCatalogItemDto): void;
5050
5556
  pickTrigger(option: WorkflowCatalogOptionDto): void;
5051
5557
  resolve(v: unknown): string;
5052
- iconFor(item: WorkflowStepTypeCatalogItemDto): string;
5053
- severityFor(item: WorkflowStepTypeCatalogItemDto): AvatarSeverityVars;
5558
+ visualFor(item: WorkflowStepTypeCatalogItemDto): AutomationNodeVisual;
5559
+ itemDescription(item: WorkflowStepTypeCatalogItemDto): string;
5560
+ itemGroupLabel(item: WorkflowStepTypeCatalogItemDto): string;
5054
5561
  /** Distinct icon per trigger type (Manual / Webhook / Process). */
5055
- triggerIconFor(option: WorkflowCatalogOptionDto): string;
5562
+ triggerVisualFor(option: WorkflowCatalogOptionDto): AutomationNodeVisual;
5056
5563
  /** Trigger options intentionally share one gold accent so the trigger
5057
5564
  * add/execution affordance reads as one product concept. */
5058
- triggerOptionVars(_option: WorkflowCatalogOptionDto): AvatarSeverityVars;
5565
+ triggerOptionVars(option: WorkflowCatalogOptionDto): AutomationNodeVisual;
5059
5566
  /** Fixed trigger accent for the "Add another trigger" section row. */
5060
- triggerVars(): AvatarSeverityVars;
5567
+ triggerVars(): AutomationNodeVisual;
5061
5568
  paletteItemKey(item: WorkflowStepTypeCatalogItemDto, index: number): string;
5062
5569
  triggerPaletteItem(option: WorkflowCatalogOptionDto): WorkflowStepTypeCatalogItemDto;
5063
5570
  triggerPaletteItemKey(option: WorkflowCatalogOptionDto, index: number): string;
5571
+ triggerTypeFor(option: WorkflowCatalogOptionDto): string;
5064
5572
  private isCreatable;
5065
- private labelFor;
5066
- private categoryDesc;
5067
- private triggerTypeFor;
5573
+ private isVisibleInPalette;
5068
5574
  private t;
5069
5575
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaletteComponent, never>;
5070
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaletteComponent, "fp-palette", never, {}, { "closeRequested": "closeRequested"; "openRequested": "openRequested"; "add": "add"; "addTrigger": "addTrigger"; "addNote": "addNote"; }, never, never, true, never>;
5576
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaletteComponent, "fp-palette", never, {}, { "closeRequested": "closeRequested"; "openRequested": "openRequested"; "add": "add"; "addTrigger": "addTrigger"; "addNote": "addNote"; "openVariables": "openVariables"; "openExecutionFiles": "openExecutionFiles"; }, never, never, true, never>;
5071
5577
  }
5072
5578
 
5073
5579
  interface InspectorTab {
@@ -5121,21 +5627,95 @@ declare class InspectorShellComponent {
5121
5627
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<InspectorShellComponent, "fp-inspector-shell", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "stepChange": "stepChange"; "connectionChange": "connectionChange"; "workflowChange": "workflowChange"; "closeRequested": "closeRequested"; }, never, never, true, never>;
5122
5628
  }
5123
5629
 
5630
+ interface WorkflowDiagnosticsTestRunSnapshot {
5631
+ workflowId: number;
5632
+ request: WorkflowTestRunRequest | null;
5633
+ triggerKey: string | null;
5634
+ run: AutomationRunResult | null;
5635
+ executionDetail: AutomationExecutionDetail | null;
5636
+ result: WorkflowTestRunResultDto;
5637
+ }
5638
+ interface WorkflowDiagnosticsErrorSnapshot {
5639
+ workflowId: number;
5640
+ request: WorkflowTestRunRequest | null;
5641
+ triggerKey: string | null;
5642
+ error: Record<string, unknown> | string | null;
5643
+ }
5644
+
5124
5645
  type BottomTabOption = Pick<OptionItem, 'label' | 'value' | 'badge' | 'icon' | 'severity'>;
5125
- interface ContextSourceRowVm {
5646
+ type RawDebugTab = 'graph' | 'selection' | 'validation' | 'runtime' | 'apiError';
5647
+ interface ContextExplorerRowVm {
5126
5648
  key: string;
5649
+ path: string;
5650
+ expression: string;
5651
+ label: string;
5652
+ type: string;
5653
+ sourceType: string;
5654
+ sourceLabel: string;
5655
+ description: string | null;
5656
+ depth: number;
5657
+ isSecret: boolean;
5658
+ isWritable: boolean;
5659
+ isUnavailable: boolean;
5660
+ isNested: boolean;
5661
+ preview: string | null;
5127
5662
  source: WorkflowContextCatalogSourceDto;
5128
5663
  }
5664
+ interface ContextGroupVm {
5665
+ key: string;
5666
+ title: string;
5667
+ description: string;
5668
+ icon: MTIcon;
5669
+ rows: ContextExplorerRowVm[];
5670
+ }
5671
+ interface RawGraphScopeOption {
5672
+ label: string;
5673
+ value: string;
5674
+ }
5675
+ interface TriggerGraphScopeVm {
5676
+ trigger: WorkflowTriggerDto;
5677
+ triggerVm: TriggerNodeVm | null;
5678
+ triggerKey: string | null;
5679
+ label: string;
5680
+ startStep: WorkflowStepDto | null;
5681
+ nodes: WorkflowStepDto[];
5682
+ routes: WorkflowConnectionDto[];
5683
+ variables: WorkflowVariableDto[];
5684
+ resources: WorkflowResourceBindingDto[];
5685
+ validationIssues: WorkflowValidationIssueDto[];
5686
+ nodeIds: Set<number>;
5687
+ nodeKeys: Set<string>;
5688
+ routeIds: Set<number>;
5689
+ }
5129
5690
  declare class BottomPanelComponent {
5130
5691
  readonly store: FlowplusWorkflowFacade;
5692
+ private readonly elementRef;
5693
+ private readonly document;
5694
+ private readonly destroyRef;
5131
5695
  private readonly transloco;
5132
5696
  private readonly diagnostics;
5133
5697
  private readonly nav;
5134
- private readonly contextPathTpl;
5135
- private readonly contextTypeTpl;
5136
- private readonly contextSourceTpl;
5137
- private readonly contextAvailabilityTpl;
5138
5698
  focus: EventEmitter<WorkflowValidationIssueDto>;
5699
+ readonly rawTab: _angular_core.WritableSignal<RawDebugTab>;
5700
+ readonly rawFullPayload: _angular_core.WritableSignal<boolean>;
5701
+ readonly rawGraphScope: _angular_core.WritableSignal<string>;
5702
+ readonly copiedKey: _angular_core.WritableSignal<string | null>;
5703
+ readonly resizing: _angular_core.WritableSignal<boolean>;
5704
+ readonly draftPanelHeightPx: _angular_core.WritableSignal<number | null>;
5705
+ readonly maxPanelHeightPx: _angular_core.WritableSignal<number>;
5706
+ readonly minPanelHeightPx = 40;
5707
+ readonly hasRuntimeOverlay: _angular_core.Signal<boolean>;
5708
+ readonly canOpenRuns: _angular_core.Signal<boolean>;
5709
+ readonly showBottomToolbarActions: _angular_core.Signal<boolean>;
5710
+ readonly showStopCurrentRun: _angular_core.Signal<boolean>;
5711
+ private readonly contextLabelCellTpl;
5712
+ private readonly contextExpressionCellTpl;
5713
+ private readonly contextSampleCellTpl;
5714
+ private readonly contextSourceCellTpl;
5715
+ private panelResizeStart;
5716
+ private removePanelResizeListeners;
5717
+ constructor();
5718
+ readonly panelHeightPx: _angular_core.Signal<number>;
5139
5719
  tab(): string;
5140
5720
  /**
5141
5721
  * Tab change is the primary way to *open* the bottom drawer: clicking
@@ -5143,21 +5723,620 @@ declare class BottomPanelComponent {
5143
5723
  * the drawer. Keeps interaction premium / one-click.
5144
5724
  */
5145
5725
  onTabChange(tab: 'problems' | 'testRun' | 'context' | 'logs' | 'raw' | string): void;
5726
+ onResizeHandlePointerDown(event: PointerEvent): void;
5727
+ onResizeHandleKeydown(event: KeyboardEvent): void;
5728
+ resetPanelHeight(): void;
5146
5729
  readonly tabOptions: _angular_core.Signal<BottomTabOption[]>;
5147
- readonly contextRows: _angular_core.Signal<ContextSourceRowVm[]>;
5730
+ readonly contextRows: _angular_core.Signal<ContextExplorerRowVm[]>;
5731
+ readonly contextGroups: _angular_core.Signal<ContextGroupVm[]>;
5148
5732
  readonly contextColumns: _angular_core.Signal<ColumnDef[]>;
5733
+ readonly contextRowActions: _angular_core.Signal<TableAction[]>;
5734
+ readonly rawTabOptions: _angular_core.Signal<OptionItem[]>;
5735
+ readonly rawGraphScopeOptions: _angular_core.Signal<RawGraphScopeOption[]>;
5736
+ readonly rawGraphScopeValue: _angular_core.Signal<string>;
5737
+ readonly rawGraphTriggerScope: _angular_core.Signal<TriggerGraphScopeVm | null>;
5738
+ readonly rawGraphScopeSummary: _angular_core.Signal<string>;
5739
+ readonly rawPayloadDescription: _angular_core.Signal<string>;
5740
+ readonly rawCopyLabel: _angular_core.Signal<"Copied" | "Copy execution debug" | "Copy JSON">;
5741
+ readonly rawPayload: _angular_core.Signal<{
5742
+ kind: string;
5743
+ dto: WorkflowTriggerDto | null;
5744
+ } | {
5745
+ kind: string;
5746
+ dto: WorkflowStepDto | null;
5747
+ } | {
5748
+ kind: string;
5749
+ dto: WorkflowConnectionDto | null;
5750
+ } | {
5751
+ kind: string;
5752
+ dto: CanvasNoteVm | null;
5753
+ } | {
5754
+ kind: string;
5755
+ dto: _masterteam_flowplus_workflow.WorkflowDefinitionDto | null;
5756
+ } | {
5757
+ scope: string;
5758
+ note: string;
5759
+ kind: string;
5760
+ selected: {
5761
+ id: {} | null;
5762
+ key: {} | null;
5763
+ type: {} | null;
5764
+ name: string | null;
5765
+ dtoKeys: string[];
5766
+ } | null;
5767
+ } | {
5768
+ scope: string;
5769
+ isValid: boolean | null;
5770
+ canPublish: boolean | null;
5771
+ summary: {
5772
+ issues: number;
5773
+ errors: number;
5774
+ warnings: number;
5775
+ publishBlockers: number;
5776
+ };
5777
+ issues: {
5778
+ severity: string;
5779
+ code: string;
5780
+ targetType: string;
5781
+ targetKey: string | number | null;
5782
+ field: string | null;
5783
+ message: string;
5784
+ blocksPublish: boolean;
5785
+ }[];
5786
+ } | {
5787
+ scope: string;
5788
+ note: string;
5789
+ howToUse: string;
5790
+ selectedTrigger: {
5791
+ id: number | null;
5792
+ key: string | null;
5793
+ };
5794
+ activeExecutionId: string | number | null;
5795
+ selectedExecutionId: string | number | null;
5796
+ status: string | null;
5797
+ running: boolean;
5798
+ accepted: boolean;
5799
+ error: string | null;
5800
+ rawError: unknown;
5801
+ lastAcceptedRun: {
5802
+ executionId: string | number;
5803
+ status: string;
5804
+ correlationId: string | null;
5805
+ queuedNodes: {
5806
+ nodeRunId: string | number | null;
5807
+ nodeKey: string | null;
5808
+ nodeType: string | null;
5809
+ status: string | null;
5810
+ routeOutputKey: string | null;
5811
+ }[];
5812
+ } | null;
5813
+ latestLoadedExecution: {
5814
+ executionId: string | number;
5815
+ automationId: string | number;
5816
+ automationRevisionId: string | number | null;
5817
+ automationName: string | null;
5818
+ revisionNumber: number | null;
5819
+ status: string;
5820
+ correlationId: string | null;
5821
+ triggerKey: string | null;
5822
+ triggerType: string | null;
5823
+ triggerSummary: unknown;
5824
+ startedAtUtc: string | null;
5825
+ completedAtUtc: string | null;
5826
+ durationMs: number | null;
5827
+ failedNode: unknown;
5828
+ waitingNode: unknown;
5829
+ problemNodes: {
5830
+ nodeRunId: string | number;
5831
+ nodeKey: string;
5832
+ nodeType: string;
5833
+ status: string;
5834
+ error: string | null;
5835
+ waitReason: string | null;
5836
+ startedAtUtc: string | null;
5837
+ completedAtUtc: string | null;
5838
+ attempts: {
5839
+ attemptId: string | number | null;
5840
+ attemptNumber: number | null;
5841
+ status: string;
5842
+ startedAtUtc: string | null;
5843
+ completedAtUtc: string | null;
5844
+ durationMs: number | null;
5845
+ workerId: string | null;
5846
+ externalCallCount: number | null;
5847
+ errorMessage: string | null;
5848
+ errorJson: unknown;
5849
+ logsRef: string | null;
5850
+ }[];
5851
+ }[];
5852
+ waitingNodes: {
5853
+ nodeRunId: string | number;
5854
+ nodeKey: string;
5855
+ nodeType: string;
5856
+ status: string;
5857
+ waitUntilUtc: string | null;
5858
+ waitReason: string | null;
5859
+ }[];
5860
+ nodeRuns: {
5861
+ nodeRunId: string | number;
5862
+ nodeKey: string;
5863
+ nodeType: string;
5864
+ status: string;
5865
+ inputDataRef: string | null;
5866
+ outputDataRef: string | null;
5867
+ queuedAtUtc: string | null;
5868
+ runAfterUtc: string | null;
5869
+ startedAtUtc: string | null;
5870
+ completedAtUtc: string | null;
5871
+ waitUntilUtc: string | null;
5872
+ attemptCount: number | null;
5873
+ maxAttempts: number | null;
5874
+ waitReason: string | null;
5875
+ error: string | null;
5876
+ }[];
5877
+ waits: {
5878
+ runtimeWaitId: string | number;
5879
+ nodeRunId: string | number | null;
5880
+ nodeKey: string | null;
5881
+ waitType: string;
5882
+ status: string;
5883
+ waitReason: string | null;
5884
+ resumeToken: string | null;
5885
+ createdAtUtc: string | null;
5886
+ expiresAtUtc: string | null;
5887
+ dueDateUtc: string | null;
5888
+ metadata: unknown;
5889
+ }[];
5890
+ timeline: {
5891
+ eventId: string | number;
5892
+ eventType: string;
5893
+ severity: string;
5894
+ occurredAtUtc: string;
5895
+ nodeRunId: string | number | null;
5896
+ nodeAttemptId: string | number | null;
5897
+ nodeKey: string | null;
5898
+ correlationId: string | null;
5899
+ data: unknown;
5900
+ }[];
5901
+ eventCount: number;
5902
+ waitCount: number;
5903
+ auditCounts: {
5904
+ externalCalls: number;
5905
+ flowPlusCommits: number;
5906
+ approvals: number;
5907
+ };
5908
+ samples: {
5909
+ externalCallAudits: unknown;
5910
+ flowPlusCommitAudits: unknown;
5911
+ approvalDecisions: unknown;
5912
+ };
5913
+ detailLoaded?: undefined;
5914
+ } | {
5915
+ executionId: string | number;
5916
+ status: string;
5917
+ correlationId: string | null;
5918
+ triggerKey: string | null;
5919
+ triggerType: string | null;
5920
+ startedAtUtc: string | null;
5921
+ completedAtUtc: string | null;
5922
+ durationMs: number | null;
5923
+ failedNode: unknown;
5924
+ waitingNode: unknown;
5925
+ detailLoaded: boolean;
5926
+ automationId?: undefined;
5927
+ automationRevisionId?: undefined;
5928
+ automationName?: undefined;
5929
+ revisionNumber?: undefined;
5930
+ triggerSummary?: undefined;
5931
+ problemNodes?: undefined;
5932
+ waitingNodes?: undefined;
5933
+ nodeRuns?: undefined;
5934
+ waits?: undefined;
5935
+ timeline?: undefined;
5936
+ eventCount?: undefined;
5937
+ waitCount?: undefined;
5938
+ auditCounts?: undefined;
5939
+ samples?: undefined;
5940
+ } | null;
5941
+ overlayCounts: {
5942
+ triggers: number;
5943
+ nodes: number;
5944
+ routes: number;
5945
+ };
5946
+ runtimeOverlay: {
5947
+ triggerStatesByKey: unknown;
5948
+ nodeStatesByKey: unknown;
5949
+ routeStatesByKey: unknown;
5950
+ };
5951
+ } | {
5952
+ scope: string;
5953
+ stateErrorKeys: string[];
5954
+ stateErrors: {
5955
+ [k: string]: unknown;
5956
+ };
5957
+ runtime: {
5958
+ message: string | null;
5959
+ rawError: unknown;
5960
+ };
5961
+ lastTestRunError: unknown;
5962
+ } | {
5963
+ scope: string;
5964
+ note: string;
5965
+ selectedTrigger: {
5966
+ id: number;
5967
+ key: string | null;
5968
+ type: string;
5969
+ rawType: string;
5970
+ name: string;
5971
+ enabled: boolean;
5972
+ startStepId: number | null;
5973
+ startNodeKey: string | null;
5974
+ canExecute: boolean | null;
5975
+ issueCount: number;
5976
+ };
5977
+ trigger: WorkflowTriggerDto;
5978
+ triggerVm: TriggerNodeVm | null;
5979
+ startStep: WorkflowStepDto | null;
5980
+ steps: WorkflowStepDto[];
5981
+ connections: WorkflowConnectionDto[];
5982
+ variables: WorkflowVariableDto[];
5983
+ resources: WorkflowResourceBindingDto[];
5984
+ validationIssues: WorkflowValidationIssueDto[];
5985
+ omittedGraphCounts: {
5986
+ triggers: number;
5987
+ nodes: number;
5988
+ routes: number;
5989
+ variables: number;
5990
+ resources: number;
5991
+ };
5992
+ workflow?: undefined;
5993
+ triggers?: undefined;
5994
+ layout?: undefined;
5995
+ contextCatalog?: undefined;
5996
+ automationDetail?: undefined;
5997
+ builderCatalog?: undefined;
5998
+ expressionNamespaces?: undefined;
5999
+ } | {
6000
+ workflow: _masterteam_flowplus_workflow.WorkflowDefinitionDto | null;
6001
+ triggers: WorkflowTriggerDto[];
6002
+ steps: WorkflowStepDto[];
6003
+ connections: WorkflowConnectionDto[];
6004
+ variables: WorkflowVariableDto[];
6005
+ resources: WorkflowResourceBindingDto[];
6006
+ layout: _masterteam_flowplus_workflow.WorkflowLayoutDto | null;
6007
+ contextCatalog: _masterteam_flowplus_workflow.WorkflowContextCatalogDto | null;
6008
+ automationDetail: _masterteam_flowplus_workflow.AutomationFrontendDetail | null;
6009
+ builderCatalog: _masterteam_flowplus_workflow.AutomationBuilderCatalog | null;
6010
+ expressionNamespaces: _masterteam_flowplus_workflow.ExpressionNamespaceDescriptor[] | null;
6011
+ scope?: undefined;
6012
+ note?: undefined;
6013
+ selectedTrigger?: undefined;
6014
+ trigger?: undefined;
6015
+ triggerVm?: undefined;
6016
+ startStep?: undefined;
6017
+ validationIssues?: undefined;
6018
+ omittedGraphCounts?: undefined;
6019
+ } | {
6020
+ scope: string;
6021
+ note: string;
6022
+ selectedTrigger: {
6023
+ id: number;
6024
+ key: string | null;
6025
+ type: string;
6026
+ rawType: string;
6027
+ name: string;
6028
+ enabled: boolean;
6029
+ startStepId: number | null;
6030
+ startNodeKey: string | null;
6031
+ canExecute: boolean | null;
6032
+ issueCount: number;
6033
+ };
6034
+ startStep: {
6035
+ id: number;
6036
+ key: string;
6037
+ type: string;
6038
+ name: string;
6039
+ } | null;
6040
+ counts: {
6041
+ nodes: number;
6042
+ routes: number;
6043
+ variables: number;
6044
+ resources: number;
6045
+ validationIssues: number;
6046
+ omittedNodes: number;
6047
+ omittedRoutes: number;
6048
+ triggers?: undefined;
6049
+ contextSources?: undefined;
6050
+ };
6051
+ triggerConfiguration: {
6052
+ id: number;
6053
+ workflowId: number;
6054
+ type: string;
6055
+ rawType: string;
6056
+ key: string | null;
6057
+ name: string;
6058
+ enabled: boolean;
6059
+ expectedHttpMethod: string | null;
6060
+ targetProcessSchemaId: number | null;
6061
+ targetProcessSchemaName: string | null;
6062
+ allowedContentTypes: string[];
6063
+ payloadSchema: unknown;
6064
+ examplePayload: unknown;
6065
+ initiationPropertyMappings: unknown;
6066
+ config: unknown;
6067
+ authenticationPolicy: unknown;
6068
+ metadata: unknown;
6069
+ secretConfigured: boolean | null;
6070
+ };
6071
+ nodes: {
6072
+ id: number;
6073
+ key: string;
6074
+ type: string;
6075
+ typeKey: string | null;
6076
+ name: string;
6077
+ description: string | null;
6078
+ isInitial: boolean;
6079
+ isSystem: boolean;
6080
+ isLocked: boolean;
6081
+ targetType: string | null;
6082
+ targetValue: string | null;
6083
+ groupSelection: string | null;
6084
+ slaHours: number | null;
6085
+ validationState: string | _masterteam_flowplus_workflow.WorkflowValidationStateDto | null;
6086
+ actions: unknown;
6087
+ properties: unknown;
6088
+ automated: unknown;
6089
+ plugin: unknown;
6090
+ appAction: unknown;
6091
+ subprocess: unknown;
6092
+ startParallel: unknown;
6093
+ joinParallel: unknown;
6094
+ formBindingMode: string | null;
6095
+ metadata: unknown;
6096
+ }[];
6097
+ routes: {
6098
+ id: number;
6099
+ sourceStepId: number;
6100
+ targetStepId: number;
6101
+ sourceStepKey: string | null;
6102
+ targetStepKey: string | null;
6103
+ sourceNodeName: string | null;
6104
+ targetNodeName: string | null;
6105
+ sourcePortKey: string | null;
6106
+ targetPortKey: string | null;
6107
+ priority: number;
6108
+ label: string;
6109
+ condition: unknown;
6110
+ selectedActions: unknown;
6111
+ validationState: string | _masterteam_flowplus_workflow.WorkflowValidationStateDto | null;
6112
+ metadata: unknown;
6113
+ }[];
6114
+ variables: {
6115
+ id: number | null;
6116
+ key: string;
6117
+ mappingKey: string | null;
6118
+ type: string;
6119
+ source: string | null;
6120
+ stepKey: string | null;
6121
+ isSecret: boolean;
6122
+ isWritable: boolean;
6123
+ metadata: unknown;
6124
+ }[];
6125
+ resources: {
6126
+ key: string | null;
6127
+ entityType: string | null;
6128
+ entityId: number | null;
6129
+ required: boolean;
6130
+ metadata: unknown;
6131
+ }[];
6132
+ validationIssues: {
6133
+ severity: string;
6134
+ code: string;
6135
+ targetType: string;
6136
+ targetKey: string | number | null;
6137
+ field: string | null;
6138
+ message: string;
6139
+ suggestedAction: string;
6140
+ blocksPublish: boolean;
6141
+ }[];
6142
+ runtime: {
6143
+ activeExecutionId: string | number | null;
6144
+ latestLoadedExecutionId: string | number | null;
6145
+ status: string | null;
6146
+ running: boolean;
6147
+ accepted: boolean;
6148
+ scopedNodeOverlay: {
6149
+ [k: string]: _masterteam_flowplus_workflow.FlowplusRuntimeNodeState;
6150
+ };
6151
+ scopedRouteOverlay: {
6152
+ [k: string]: _masterteam_flowplus_workflow.FlowplusRuntimeRouteState;
6153
+ };
6154
+ };
6155
+ workflow?: undefined;
6156
+ triggers?: undefined;
6157
+ validation?: undefined;
6158
+ } | {
6159
+ scope: string;
6160
+ note: string;
6161
+ workflow: {
6162
+ id: number;
6163
+ name: string;
6164
+ status: string;
6165
+ isPublished: boolean;
6166
+ isValid: boolean;
6167
+ version: number | null | undefined;
6168
+ publishedVersion: number | null | undefined;
6169
+ hasUnpublishedChanges: boolean | null | undefined;
6170
+ lastExecutionStatus: string | null | undefined;
6171
+ lastExecutionAt: string | null | undefined;
6172
+ } | null;
6173
+ counts: {
6174
+ triggers: number;
6175
+ nodes: number;
6176
+ routes: number;
6177
+ variables: number;
6178
+ resources: number;
6179
+ contextSources: number;
6180
+ validationIssues: number;
6181
+ omittedNodes?: undefined;
6182
+ omittedRoutes?: undefined;
6183
+ };
6184
+ triggers: {
6185
+ id: number;
6186
+ key: string | null;
6187
+ type: string;
6188
+ name: string;
6189
+ enabled: boolean;
6190
+ hasPayloadSchema: boolean;
6191
+ secretConfigured: boolean | null;
6192
+ }[];
6193
+ nodes: {
6194
+ id: number;
6195
+ key: string;
6196
+ type: string;
6197
+ typeKey: string | null;
6198
+ name: string;
6199
+ isInitial: boolean;
6200
+ validationState: string | _masterteam_flowplus_workflow.WorkflowValidationStateDto | null;
6201
+ }[];
6202
+ routes: {
6203
+ id: number;
6204
+ sourceStepId: number;
6205
+ targetStepId: number;
6206
+ sourceStepKey: string | null;
6207
+ targetStepKey: string | null;
6208
+ sourcePortKey: string | null;
6209
+ targetPortKey: string | null;
6210
+ priority: number;
6211
+ hasCondition: boolean;
6212
+ selectedActionCount: number;
6213
+ }[];
6214
+ variables: {
6215
+ id: number | null;
6216
+ key: string;
6217
+ mappingKey: string | null;
6218
+ type: string;
6219
+ source: string | null;
6220
+ stepKey: string | null;
6221
+ isSecret: boolean;
6222
+ isWritable: boolean;
6223
+ }[];
6224
+ resources: {
6225
+ key: string | null;
6226
+ entityType: string | null;
6227
+ entityId: number | null;
6228
+ required: boolean;
6229
+ }[];
6230
+ validation: {
6231
+ isValid: boolean | null;
6232
+ canPublish: boolean | null;
6233
+ errors: number;
6234
+ warnings: number;
6235
+ issues: number;
6236
+ };
6237
+ runtime: {
6238
+ activeExecutionId: string | number | null;
6239
+ latestLoadedExecutionId: string | number | null;
6240
+ status: string | null;
6241
+ running: boolean;
6242
+ accepted: boolean;
6243
+ scopedNodeOverlay?: undefined;
6244
+ scopedRouteOverlay?: undefined;
6245
+ };
6246
+ selectedTrigger?: undefined;
6247
+ startStep?: undefined;
6248
+ triggerConfiguration?: undefined;
6249
+ validationIssues?: undefined;
6250
+ } | {
6251
+ validation: _masterteam_flowplus_workflow.WorkflowValidationResultDto | null;
6252
+ groups: _masterteam_flowplus_workflow.WorkflowValidationGroupedIssuesDto | null;
6253
+ raw: {} | null;
6254
+ runtime?: undefined;
6255
+ detail?: undefined;
6256
+ status?: undefined;
6257
+ error?: undefined;
6258
+ diagnosticsLastTestRun?: undefined;
6259
+ stateErrors?: undefined;
6260
+ runtimeError?: undefined;
6261
+ runtimeMessage?: undefined;
6262
+ lastTestRunError?: undefined;
6263
+ } | {
6264
+ runtime: _masterteam_flowplus_workflow.FlowplusExecutionRuntimeSlice;
6265
+ detail: _masterteam_flowplus_workflow.AutomationExecutionDetail | null;
6266
+ status: string | null;
6267
+ error: string | null;
6268
+ diagnosticsLastTestRun: WorkflowDiagnosticsTestRunSnapshot | null;
6269
+ validation?: undefined;
6270
+ groups?: undefined;
6271
+ raw?: undefined;
6272
+ stateErrors?: undefined;
6273
+ runtimeError?: undefined;
6274
+ runtimeMessage?: undefined;
6275
+ lastTestRunError?: undefined;
6276
+ } | {
6277
+ stateErrors: Partial<Record<_masterteam_flowplus_workflow.FlowplusWorkflowActionKey, string>>;
6278
+ runtimeError: string | Record<string, unknown> | null;
6279
+ runtimeMessage: string | null;
6280
+ lastTestRunError: WorkflowDiagnosticsErrorSnapshot | null;
6281
+ validation?: undefined;
6282
+ groups?: undefined;
6283
+ raw?: undefined;
6284
+ runtime?: undefined;
6285
+ detail?: undefined;
6286
+ status?: undefined;
6287
+ error?: undefined;
6288
+ diagnosticsLastTestRun?: undefined;
6289
+ }>;
5149
6290
  issueCount(): number;
5150
6291
  issueIcon(): MTIcon;
5151
6292
  issueSeverity(): BottomTabOption['severity'];
5152
6293
  runtimeSeverity(): BottomTabOption['severity'];
5153
- private validationIssues;
5154
6294
  refreshRuntimeOverlay(): void;
5155
6295
  clearReplay(): void;
6296
+ stopCurrentRun(): void;
5156
6297
  openRuns(): void;
5157
6298
  openCurrentRun(): void;
5158
- contextJson(): string;
5159
- contextSources(): WorkflowContextCatalogSourceDto[];
6299
+ ensureContextCatalog(): void;
6300
+ reloadContextCatalog(): void;
6301
+ openRunPreviewFromContext(): void;
6302
+ setRawTab(tab: RawDebugTab | string): void;
6303
+ setRawGraphScope(value: string | number | null): void;
6304
+ toggleRawPayloadMode(): void;
5160
6305
  rawJson(): string;
6306
+ rawRuntimeEmpty(): boolean;
6307
+ copyRaw(): void;
6308
+ copyContext(row: ContextExplorerRowVm): void;
6309
+ contextStatusLabel(row: ContextExplorerRowVm): string;
6310
+ contextStatusTone(row: ContextExplorerRowVm): string;
6311
+ contextSourceTitle(row: ContextExplorerRowVm): string;
6312
+ copied(key: string): boolean;
6313
+ contextSources(): WorkflowContextCatalogSourceDto[];
6314
+ cleanTriggerLabel(trigger: TriggerNodeVm): string;
6315
+ triggerTypeLabel(triggerType: string | null | undefined): string;
6316
+ private validationIssues;
6317
+ private rawApiErrorPayload;
6318
+ private fullGraphPayload;
6319
+ private compactGraphPayload;
6320
+ private buildTriggerGraphScope;
6321
+ private rawGraphScopeTriggerId;
6322
+ private compactTrigger;
6323
+ private compactTriggerConfiguration;
6324
+ private compactStepConfiguration;
6325
+ private compactRouteConfiguration;
6326
+ private compactValidationIssue;
6327
+ private issueBelongsToTriggerScope;
6328
+ private compactSelectionPayload;
6329
+ private compactValidationPayload;
6330
+ private compactRuntimePayload;
6331
+ private compactApiErrorPayload;
6332
+ private copyText;
6333
+ private onPanelResizePointerMove;
6334
+ private stopPanelResize;
6335
+ private setPanelHeight;
6336
+ private commitPanelHeight;
6337
+ private syncPanelBounds;
6338
+ private refreshPanelBounds;
6339
+ private clampPanelHeight;
5161
6340
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BottomPanelComponent, never>;
5162
6341
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BottomPanelComponent, "fp-bottom-panel", never, {}, { "focus": "focus"; }, never, never, true, never>;
5163
6342
  }
@@ -5196,16 +6375,53 @@ declare class BuilderTopbarComponent {
5196
6375
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BuilderTopbarComponent, "fp-builder-topbar", never, {}, { "validate": "validate"; "testRun": "testRun"; "publish": "publish"; "unpublish": "unpublish"; "openSettings": "openSettings"; "toggleNodeFinder": "toggleNodeFinder"; }, never, never, true, never>;
5197
6376
  }
5198
6377
 
6378
+ type PickerAvailability = 'available' | 'schema-only' | 'masked' | 'forbidden' | 'pruned' | 'unavailable';
6379
+ type PickerSource = 'workflowVariables' | 'variables' | 'trigger' | 'currentItem' | 'context' | 'node' | 'execution';
6380
+ interface PickerTreeNode {
6381
+ id: string;
6382
+ label: string;
6383
+ path: string;
6384
+ rawExpression: string;
6385
+ expression: string;
6386
+ type: string;
6387
+ source: PickerSource;
6388
+ availability: PickerAvailability;
6389
+ description: string | null;
6390
+ valuePreview: string | null;
6391
+ children: PickerTreeNode[];
6392
+ }
6393
+ interface PickerTreeGroup {
6394
+ id: PickerSource;
6395
+ label: string;
6396
+ children: PickerTreeNode[];
6397
+ }
6398
+
5199
6399
  declare class ContextPickerComponent {
5200
6400
  private readonly store;
5201
6401
  private readonly transloco;
5202
6402
  insert: EventEmitter<string>;
5203
6403
  search: string;
5204
- readonly groupedSources: _angular_core.Signal<{
5205
- key: string;
5206
- items: WorkflowContextCatalogSourceDto[];
5207
- }[]>;
5208
- groupLabel(key: string): string;
6404
+ readonly collapsedNodeIds: _angular_core.WritableSignal<Set<string>>;
6405
+ readonly copiedNodeId: _angular_core.WritableSignal<string | null>;
6406
+ readonly loading: _angular_core.Signal<boolean>;
6407
+ readonly error: _angular_core.Signal<string | null>;
6408
+ readonly pickerGroups: _angular_core.Signal<PickerTreeGroup[]>;
6409
+ readonly filteredGroups: _angular_core.Signal<PickerTreeGroup[]>;
6410
+ private userFacingContextNodes;
6411
+ onNodePrimary(node: PickerTreeNode, event: Event): void;
6412
+ toggleNode(node: PickerTreeNode): void;
6413
+ toggleNodeFromEvent(node: PickerTreeNode, event: Event): void;
6414
+ isNodeExpanded(node: PickerTreeNode): boolean;
6415
+ nodeStatus(node: PickerTreeNode): string;
6416
+ sourceLabel(node: PickerTreeNode): string;
6417
+ sourceIcon(source: PickerSource): MTIcon;
6418
+ availabilityLabel(node: PickerTreeNode): string;
6419
+ availabilityClass(node: PickerTreeNode): string;
6420
+ nodeTooltip(node: PickerTreeNode): string;
6421
+ copyNode(node: PickerTreeNode, event: Event): void;
6422
+ reloadContext(): void;
6423
+ private selectedStep;
6424
+ private selectedTrigger;
5209
6425
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ContextPickerComponent, never>;
5210
6426
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ContextPickerComponent, "fp-context-picker", never, {}, { "insert": "insert"; }, never, never, true, never>;
5211
6427
  }
@@ -5242,6 +6458,8 @@ interface ValidationIssueRowVm {
5242
6458
  message: string;
5243
6459
  target: string;
5244
6460
  code: string;
6461
+ impact: string;
6462
+ suggestedFix: string | null;
5245
6463
  status: {
5246
6464
  key: string;
5247
6465
  display: string;
@@ -5273,6 +6491,8 @@ declare class ProblemsPanelComponent {
5273
6491
  groupSeverity(group: ValidationGroupVm): ProblemTabSeverity;
5274
6492
  message(i: WorkflowValidationIssueDto): string;
5275
6493
  targetLabel(i: WorkflowValidationIssueDto): string;
6494
+ impactLabel(i: WorkflowValidationIssueDto): string;
6495
+ suggestedFix(i: WorkflowValidationIssueDto): string | null;
5276
6496
  detailValue(value: unknown): string;
5277
6497
  private group;
5278
6498
  private statusValue;
@@ -5280,49 +6500,166 @@ declare class ProblemsPanelComponent {
5280
6500
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProblemsPanelComponent, "fp-problems-panel", never, {}, { "focus": "focus"; }, never, never, true, never>;
5281
6501
  }
5282
6502
 
6503
+ interface AutomationFileResultVm {
6504
+ key: string;
6505
+ fileRef: string | null;
6506
+ dataRef: string | null;
6507
+ fileName: string;
6508
+ extension: string | null;
6509
+ contentType: string | null;
6510
+ sizeBytes: number | null;
6511
+ sizeLabel: string | null;
6512
+ checksum: string | null;
6513
+ hash: string | null;
6514
+ previewText: string | null;
6515
+ previewTruncated: boolean;
6516
+ createdAtUtc: string | null;
6517
+ visualKey: string;
6518
+ canInspect: boolean;
6519
+ canDownload: boolean;
6520
+ }
6521
+
6522
+ interface AutomationCreatedFileVm extends AutomationFileResultVm {
6523
+ nodeRunId: string | null;
6524
+ nodeKey: string | null;
6525
+ nodeLabel: string;
6526
+ downloadUrl: string | null;
6527
+ }
6528
+ interface AutomationCreatedFileGroupVm {
6529
+ key: string;
6530
+ nodeLabel: string;
6531
+ nodeKey: string | null;
6532
+ files: AutomationCreatedFileVm[];
6533
+ }
6534
+ interface AutomationFileNodeRunGapVm {
6535
+ key: string;
6536
+ nodeKey: string;
6537
+ nodeLabel: string;
6538
+ kind: 'notRun' | 'missingFileResult';
6539
+ message: string;
6540
+ nodeRunId: string | null;
6541
+ }
6542
+
6543
+ interface SchemaFieldVm {
6544
+ key: string;
6545
+ label: string;
6546
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
6547
+ required: boolean;
6548
+ description: string | null;
6549
+ placeholder: string;
6550
+ enumOptions: Array<{
6551
+ label: string;
6552
+ value: string;
6553
+ }>;
6554
+ }
6555
+ interface RuntimeTimelineRowVm {
6556
+ key: string;
6557
+ label: string;
6558
+ detail: string | null;
6559
+ time: string | null;
6560
+ tone: 'neutral' | 'info' | 'success' | 'warn' | 'danger';
6561
+ icon: MTIcon;
6562
+ }
6563
+ interface NodeRunRowVm {
6564
+ key: string;
6565
+ label: string;
6566
+ nodeType: string;
6567
+ status: string;
6568
+ statusTone: string;
6569
+ duration: string | null;
6570
+ waitReason: string | null;
6571
+ routeOutput: string | null;
6572
+ error: string | null;
6573
+ }
6574
+ type RunPanelTab = 'timeline' | 'nodes' | 'output' | 'input';
6575
+ type RunPanelTabOption = Pick<OptionItem, 'label' | 'value' | 'badge' | 'icon' | 'severity'>;
5283
6576
  declare class TestRunPanelComponent {
5284
6577
  private readonly store;
5285
6578
  private readonly transloco;
5286
6579
  private readonly nav;
6580
+ private readonly endpoints;
6581
+ private readonly http;
6582
+ private readonly nodeRunNodeCellTpl;
6583
+ private readonly nodeRunStatusCellTpl;
6584
+ private readonly nodeRunDetailCellTpl;
5287
6585
  payloadText: string;
6586
+ readonly runPanelTab: _angular_core.WritableSignal<RunPanelTab>;
6587
+ readonly payloadOpen: _angular_core.WritableSignal<boolean>;
5288
6588
  readonly payloadError: _angular_core.WritableSignal<string | null>;
6589
+ readonly schemaPayload: _angular_core.WritableSignal<Record<string, unknown>>;
5289
6590
  readonly triggerOptions: _angular_core.Signal<{
5290
6591
  value: number;
5291
6592
  label: string;
5292
6593
  }[]>;
5293
6594
  readonly selectedTriggerId: _angular_core.Signal<number>;
5294
- readonly selectedTrigger: _angular_core.Signal<_masterteam_flowplus_workflow.TriggerNodeVm | null>;
6595
+ readonly selectedTrigger: _angular_core.Signal<TriggerNodeVm | null>;
6596
+ readonly selectedRawTrigger: _angular_core.Signal<WorkflowTriggerDto | null>;
6597
+ private readonly nodeLabelsByKey;
6598
+ private readonly nodeRunsById;
5295
6599
  readonly runtimeStatus: _angular_core.Signal<string | null>;
5296
6600
  readonly runtimeError: _angular_core.Signal<string | null>;
5297
6601
  readonly runtimeRunning: _angular_core.Signal<boolean>;
6602
+ readonly runtimeCanceling: _angular_core.Signal<boolean>;
5298
6603
  readonly runtimeAccepted: _angular_core.Signal<boolean>;
5299
6604
  readonly activeExecutionId: _angular_core.Signal<string | number | null>;
5300
6605
  readonly runtimeDetail: _angular_core.Signal<_masterteam_flowplus_workflow.AutomationExecutionDetail | null>;
6606
+ readonly selectedTriggerExecutable: _angular_core.Signal<boolean>;
5301
6607
  readonly canExecute: _angular_core.Signal<boolean>;
6608
+ readonly canStopExecution: _angular_core.Signal<boolean>;
5302
6609
  readonly manualTrigger: _angular_core.Signal<boolean>;
5303
6610
  readonly helperText: _angular_core.Signal<string>;
5304
6611
  readonly triggerStatusTone: _angular_core.Signal<string>;
5305
6612
  readonly latestRun: _angular_core.Signal<_masterteam_flowplus_workflow.AutomationExecutionSummary | null>;
6613
+ readonly runPanelTabOptions: _angular_core.Signal<RunPanelTabOption[]>;
6614
+ readonly compactRunFacts: _angular_core.Signal<string[]>;
5306
6615
  readonly runStartedLabel: _angular_core.Signal<string | null>;
5307
6616
  readonly runDurationLabel: _angular_core.Signal<string | null>;
5308
- readonly problemNodeSummary: _angular_core.Signal<{
5309
- failed: string[];
5310
- waiting: string[];
5311
- failedExtra: number;
5312
- waitingExtra: number;
5313
- }>;
6617
+ readonly runtimeDisconnected: _angular_core.Signal<boolean>;
6618
+ readonly payloadFields: _angular_core.Signal<SchemaFieldVm[]>;
6619
+ readonly payloadSummary: _angular_core.Signal<string>;
6620
+ readonly triggerCycleNote: _angular_core.Signal<string | null>;
6621
+ readonly latestRunFacts: _angular_core.Signal<string[]>;
6622
+ readonly routeOutputSummary: _angular_core.Signal<string | null>;
6623
+ readonly timelineRows: _angular_core.Signal<RuntimeTimelineRowVm[]>;
6624
+ readonly nodeRunRows: _angular_core.Signal<NodeRunRowVm[]>;
6625
+ readonly nodeRunColumns: _angular_core.Signal<ColumnDef[]>;
6626
+ readonly createdFiles: _angular_core.Signal<AutomationCreatedFileVm[]>;
6627
+ readonly createdFileGroups: _angular_core.Signal<AutomationCreatedFileGroupVm[]>;
6628
+ readonly fileNodeRunGaps: _angular_core.Signal<AutomationFileNodeRunGapVm[]>;
5314
6629
  readonly lastError: _angular_core.Signal<string | null>;
6630
+ readonly outputPreview: _angular_core.Signal<string | null>;
5315
6631
  constructor();
5316
6632
  triggerLabel(triggerId: number): string;
6633
+ triggerOptionLabel(trigger: TriggerNodeVm): string;
6634
+ cleanTriggerLabel(trigger: TriggerNodeVm): string;
5317
6635
  triggerTypeLabel(triggerType: string | null | undefined): string;
5318
6636
  onTriggerChange(value: number | string | null): void;
6637
+ setSchemaPayloadValue(key: string, value: unknown): void;
6638
+ schemaPayloadValue(key: string): unknown;
6639
+ schemaTextValue(key: string): string;
6640
+ schemaNumberValue(key: string): number | null;
6641
+ schemaBooleanValue(key: string): boolean;
6642
+ schemaJsonValue(key: string): string;
6643
+ setSchemaJsonPayloadValue(key: string, value: string): void;
6644
+ togglePayload(): void;
6645
+ setRunPanelTab(tab: string): void;
5319
6646
  execute(): void;
6647
+ stopExecution(): void;
5320
6648
  clearRuntime(): void;
5321
6649
  refreshRuntime(): void;
5322
6650
  openFullRun(): void;
5323
6651
  openRuns(): void;
6652
+ downloadFile(file: AutomationCreatedFileVm): void;
5324
6653
  openTriggerSetup(): void;
5325
6654
  statusTone(status: string | null | undefined): string;
6655
+ statusLabel(status: string | null | undefined): string;
6656
+ runtimeSeverity(): RunPanelTabOption['severity'];
6657
+ timelineToneClass(tone: RuntimeTimelineRowVm['tone']): string;
6658
+ private buildPayload;
6659
+ private timelineEventRow;
6660
+ private fallbackTimeline;
6661
+ private timelineNodeIdentity;
6662
+ private nodeLabel;
5326
6663
  private tt;
5327
6664
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TestRunPanelComponent, never>;
5328
6665
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TestRunPanelComponent, "fp-test-run-panel", never, {}, {}, never, never, true, never>;
@@ -5368,5 +6705,5 @@ declare class DagreFlowLayoutEngine implements FlowLayoutEngine {
5368
6705
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<DagreFlowLayoutEngine>;
5369
6706
  }
5370
6707
 
5371
- export { APP_STATES, AddCanvasNote, ApplyAutomationExecutionDetail, ApplyBuilderCommand, ApplyBuilderSnapshot, AutomationBuilderCatalogApiService, AutomationDesignApiService, AutomationExecutionApiService, AutomationExecutionsPageComponent, BottomPanelComponent, BuilderTopbarComponent, ClearAutomationRuntimeState, ClearCommandHistory, ClearConflict, ClearPendingOperation, ClearSelection, ClearWorkflowBuilder, CommitStepUpdates, CommitWorkflowMetadata, ConnectionCreated, ConnectionCreationFailed, ContextPickerComponent, ContextPillButtonComponent, ContextPillComponent, CreateConnection, CreateStep, CreateTrigger, CreateWorkflow, DagreFlowLayoutEngine, DeleteCanvasNote, DeleteConnection, DeleteStep, DeleteTrigger, DeleteWorkflow, DuplicateCanvasNote, DuplicateWorkflow, EndpointBuilder, FLOWPLUS_FORM_DESIGNER_ADAPTER, FLOWPLUS_WORKFLOW_CONFIG, FLOWPLUS_WORKFLOW_DEFAULT_RUNTIME, FLOWPLUS_WORKFLOW_DEFAULT_STATE, FLOWPLUS_WORKFLOW_NAVIGATION, FLOWPLUS_WORKFLOW_ROUTES, FLOW_NODE_BASE_HEIGHT, FLOW_NODE_CARD_WIDTH, FLOW_NODE_MULTI_OUTPUT_GAP, FLOW_NODE_OUTPUT_SIZE, FlowCanvasComponent, FlowNodeComponent, FlowplusWorkflowActionKey, FlowplusWorkflowFacade, FlowplusWorkflowNavigationService, FlowplusWorkflowOverlayService, FlowplusWorkflowState, InspectorShellComponent, KeyboardShortcutsService, LOCAL_FALLBACK_CATALOG, LoadAutomationExecution, LoadContextCatalog, LoadContextCatalogForStep, LoadLatestAutomationExecution, LoadLayout, LoadTriggers, LoadWorkflowBuilder, LoadWorkflowCatalog, LoadWorkflowList, MarkLayoutDirty, MoveStep, NODE_COLOR_TOKEN, NODE_DEFAULT_ICON, NODE_MT_ICON, NoopFlowplusFormDesignerAdapter, PaletteComponent, PaletteDragSourceDirective, PollAutomationExecution, ProblemsPanelComponent, ProcessCreateDialogComponent, PublishWorkflow, RedoBuilderCommand, ReloadWorkflowBuilder, RunAutomationTrigger, RunWorkflowTest, SaveLayout, SelectCanvasNote, SelectConnection, SelectRuntimeNodeRun, SelectStep, SelectTrigger, SetActiveInspectorTab, SetBottomPanelOpen, SetBottomPanelTab, SetCanvasViewport, SetContextCatalog, SetCreateDialogOpen, SetInspectorOpen, SetLayout, SetLayoutAutosavePaused, SetMinimap, SetPaletteOpen, SetPaletteSearch, SetPendingOperation, SetReadonly, SetSelectedRuntimeTrigger, SetSelection, SetSelectionFromCanvas, SetStudioFilter, SetValidation, SetWorkflowCatalog, SetWorkflowDefinition, StepCreated, StepCreationFailed, TRIGGER_MT_ICON, TestRunPanelComponent, UnconfiguredFormDesignerAdapter, UndoBuilderCommand, UnpublishWorkflow, UpdateCanvasNote, UpdateConnection, UpdateStep, UpdateTrigger, UpdateWorkflowMetadata, UpdateWorkflowResources, UpdateWorkflowVariables, ValidateWorkflow, WorkflowBuilderPageComponent, WorkflowCatalogApiService, WorkflowContextApiService, WorkflowDebugApiService, WorkflowDefinitionApiService, WorkflowFormApiService, WorkflowRunDebuggerPageComponent, WorkflowRuntimeApiService, WorkflowStudioPageComponent, WorkflowValidationApiService, applyBuilderSnapshot, avatarSeverityForStep, avatarSeverityForTrigger, canonicalTriggerTypeForStarterKind, coerceTranslatable, colorVarFor, computeBranchLanes, computeSaveStatus, connectionCanvasId, derivePortsForStep, extractMessage, flowNodeCardHeightForOutputs, flowNodeLayoutHeightForOutputs, flowNodeOutputCenterY, flowNodeOutputStackHeight, fromWorkflowConnectionDomain, fromWorkflowStepDomain, hasOtherPending, iconFor, indexValidationByConnectionId, indexValidationByStepId, indexValidationByTriggerId, inputPortId, isEntityDirty, mapHttpError, mtIconForStep, mtIconForTrigger, newClientMutationId, nextOperationId, nodeCanvasId, outputPortId, parseConnectionId, parseNodeId, parsePortId, parseTriggerOutputPortId, parseTriggerStartConnectionId, patchLayoutPosition, patchTriggerLayoutPosition, provideFlowplusFormDesignerAdapter, provideFlowplusWorkflow, provideFlowplusWorkflowNavigation, provideFlowplusWorkflowNavigationDefaults, readRecord, removeStepWithEdges, resolveTranslatable, resolveTriggerStartNodeKey, resolveTriggerStartStep, resolveTriggerStartStepId, resolveWorkflowTriggerKey, savingOrSaved, tempNodeCanvasId, toWorkflowConnectionDomain, toWorkflowDefinitionDomain, toWorkflowStepDomain, toWorkflowTriggerDomain, triggerCanvasId, triggerOutputPortId, triggerStartConnectionCanvasId, triggerStarterKindFor, unwrap, unwrapApiData, upsertConnection, upsertStep };
5372
- export type { ActivateAutomationRequest, ActivationResult, ApiEnvelope, AssignmentSelectorContractResult, AssignmentValidationRequest, AutomationBuilderCatalog, AutomationEngineHealthSnapshot, AutomationExecutionDetail, AutomationExecutionEvent, AutomationExecutionListResult, AutomationExecutionNodeDataDetail, AutomationExecutionStatus, AutomationExecutionSummary, AutomationExportDefinition, AutomationFormBindingDefinition, AutomationFrontendDetail, AutomationFrontendListResult, AutomationImportRequest, AutomationImportResult, AutomationLastExecutionSummary, AutomationMetadataRequest, AutomationNodeAttempt, AutomationNodeDefinition, AutomationNodeRun, AutomationNodeType, AutomationRetentionPruneResult, AutomationRevisionDiffResult, AutomationRevisionSummary, AutomationRouteDefinition, AutomationRunResult, AutomationRuntimeWait, AutomationRuntimeWaitResumeTokenResult, AutomationSelectorItem, AutomationSelectorResult, AutomationStatus, AutomationSummary, AutomationTriggerDefinition, AutomationTriggerType, AutomationValidationIssue, AutomationValidationReport, AutomationValidationSummary, AvatarSeverityVars, BatchBuilderPatchRequest, CreateWorkflowConnectionRequest, CreateWorkflowDefinitionRequest, CreateWorkflowPluginStepRequest, CreateWorkflowStepRequest, CredentialReference, CredentialReferenceListResult, CredentialTestRequest, CredentialTestResult, CredentialTypeCatalogItem, CredentialTypeCatalogResult, EngineEventDto, ExecutionCancelResult, ExecutionRetryRequest, ExecutionRetryResult, ExpressionNamespaceDescriptor, ExpressionPreviewRequest, ExpressionPreviewResult, ExpressionValidationRequest, ExpressionValidationResult, FlowBranchLaneVm, FlowCanvasEdgeVm, FlowCanvasNodeVm, FlowLayoutEngine, FlowNodePortVm, FlowPlusCommitMappingValidationRequest, FlowPlusModuleCatalogItem, FlowPlusModuleCatalogResult, FlowPlusModuleField, FlowPlusModuleSchemaResult, FlowPortDirection, FlowPortSide, FlowplusApiError, FlowplusBuilderCommand, FlowplusBuilderSlice, FlowplusConflictState, FlowplusDirtyFlags, FlowplusExecutionRuntimeSlice, FlowplusFormDesignerAdapter, FlowplusPendingOperation, FlowplusPublishStatus, FlowplusRuntimeNodeState, FlowplusRuntimeNodeVisualState, FlowplusRuntimeReplayMode, FlowplusRuntimeRouteState, FlowplusRuntimeRouteVisualState, FlowplusRuntimeTriggerState, FlowplusRuntimeTriggerVisualState, FlowplusSaveStatus, FlowplusSelection, FlowplusStudioSlice, FlowplusTriggerExecutionRequest, FlowplusUiState, FlowplusWorkflowConfig, FlowplusWorkflowNavigationConfig, FlowplusWorkflowStateModel, FormBindingDefinitionRequest, FormSchemaResult, FormSelectorContractResult, FormSelectorItem, FormVersionListResult, FormVersionSummary, FormulaBuilderValue, HumanApprovalDecisionRequest, HumanApprovalDecisionResult, JsonSchemaLite, NavigationTarget, NodeDefinitionRequest, NodeTypeCatalogItem, OpenStepFormDesignerInput, OpenStepFormPreviewInput, PagedResult, ProcessContextEntryDto, ProcessContextLineageNodeDto, ProcessContextSnapshotDto, ProcessContextTimelineEventDto, ProcessFormLoadRequest, ProcessFormLoadResponseDto, ProcessStartRequest, ProcessStartResultDto, ProcessSubmitOperationKey, ProcessSubmitRequest, ProcessSubmitResponseDto, ProcessSubmitStatus, PublishAutomationRequest, PublishAutomationResult, RouteDefinitionRequest, ScheduleOptionsResult, SchedulePreviewRequest, SchedulePreviewResult, ScheduleValidationRequest, StepFormDesignerResult, StepFormPreviewResult, TaskActionRequest, TaskActionResultDto, TranslatableText, TriggerDefinitionRequest, TriggerNodeVm, TriggerStarterKind, TriggerTypeCatalogItem, UpdateWorkflowConnectionRequest, UpdateWorkflowDefinitionRequest, UpdateWorkflowStepRequest, WaitResumeRequest, WaitResumeResult, WebhookSetupResult, WorkflowAppActionDescriptorDto, WorkflowAppActionMappingDto, WorkflowAppActionOptionDto, WorkflowAppActionStepConfigDto, WorkflowAppDescriptorDto, WorkflowAutomatedOutputMappingDto, WorkflowAutomatedStepConfigDto, WorkflowBuilderCapabilitiesDto, WorkflowBuilderDto, WorkflowBuilderPermissionsDto, WorkflowCatalogDefaultsDto, WorkflowCatalogDto, WorkflowCatalogOptionDto, WorkflowConnectionDomain, WorkflowConnectionDto, WorkflowConnectionLayoutDto, WorkflowContextCatalogDto, WorkflowContextCatalogSourceDto, WorkflowContextPathValidationRequest, WorkflowContextPathValidationResultDto, WorkflowContextSourceType, WorkflowContextValueType, WorkflowDefinitionDomain, WorkflowDefinitionDto, WorkflowDefinitionListQuery, WorkflowDefinitionListResult, WorkflowDefinitionSummaryDto, WorkflowFormBindingContractDto, WorkflowFormBindingMode, WorkflowJoinParallelStepConfigDto, WorkflowLayoutDto, WorkflowNodeLayoutDto, WorkflowPluginDescriptorDto, WorkflowPluginStepConfigDto, WorkflowResourceBindingDto, WorkflowRuntimeRoutingPolicyDto, WorkflowSelectedActionDto, WorkflowStartParallelStepConfigDto, WorkflowStatus, WorkflowStepActionCatalogItemDto, WorkflowStepActionDto, WorkflowStepCategory, WorkflowStepDefaultsItemDto, WorkflowStepDomain, WorkflowStepDto, WorkflowStepFormBindingDto, WorkflowStepFormContractDto, WorkflowStepFormUpdateRequest, WorkflowStepPropertyDto, WorkflowStepType, WorkflowStepTypeCapabilityItemDto, WorkflowStepTypeCatalogItemDto, WorkflowSubprocessContextMappingDto, WorkflowSubprocessPropertyMappingDto, WorkflowSubprocessStepConfigDto, WorkflowTestRunConnectionDecisionDto, WorkflowTestRunContextChangeDto, WorkflowTestRunContextValueDto, WorkflowTestRunMode, WorkflowTestRunRequest, WorkflowTestRunResultDto, WorkflowTestRunStatus, WorkflowTestStepResultDto, WorkflowTestStepStatus, WorkflowTriggerDomain, WorkflowTriggerDto, WorkflowTriggerType, WorkflowValidationEntityType, WorkflowValidationGroupKey, WorkflowValidationGroupedIssuesDto, WorkflowValidationIssueDto, WorkflowValidationIssueSeverity, WorkflowValidationResultDto, WorkflowValidationSeverity, WorkflowValidationStateDto, WorkflowVariableDto, WorkflowViewportDto };
6708
+ export { APP_STATES, AddCanvasNote, ApplyAutomationExecutionDetail, ApplyBuilderCommand, ApplyBuilderSnapshot, AutomationBuilderCatalogApiService, AutomationDesignApiService, AutomationExecutionApiService, AutomationExecutionsPageComponent, BottomPanelComponent, BuilderTopbarComponent, CancelAutomationExecution, ClearAutomationRuntimeState, ClearCommandHistory, ClearConflict, ClearPendingOperation, ClearSelection, ClearWorkflowBuilder, CommitStepUpdates, CommitWorkflowMetadata, ConnectionCreated, ConnectionCreationFailed, ContextPickerComponent, ContextPillButtonComponent, ContextPillComponent, CreateConnection, CreateStep, CreateTrigger, CreateWorkflow, DagreFlowLayoutEngine, DeleteCanvasNote, DeleteConnection, DeleteStep, DeleteTrigger, DeleteWorkflow, DuplicateCanvasNote, DuplicateWorkflow, EndpointBuilder, FLOWPLUS_FORM_DESIGNER_ADAPTER, FLOWPLUS_RETURN_LOOP_CONNECTION_TYPE, FLOWPLUS_WORKFLOW_CONFIG, FLOWPLUS_WORKFLOW_DEFAULT_RUNTIME, FLOWPLUS_WORKFLOW_DEFAULT_STATE, FLOWPLUS_WORKFLOW_NAVIGATION, FLOWPLUS_WORKFLOW_ROUTES, FLOW_NODE_BASE_HEIGHT, FLOW_NODE_CARD_WIDTH, FLOW_NODE_MULTI_OUTPUT_GAP, FLOW_NODE_OUTPUT_SIZE, FlowCanvasComponent, FlowNodeComponent, FlowplusWorkflowActionKey, FlowplusWorkflowFacade, FlowplusWorkflowNavigationService, FlowplusWorkflowOverlayService, FlowplusWorkflowState, InspectorShellComponent, KeyboardShortcutsService, LOCAL_FALLBACK_CATALOG, LoadAutomationExecution, LoadContextCatalog, LoadContextCatalogForStep, LoadLatestAutomationExecution, LoadLayout, LoadTriggers, LoadWorkflowBuilder, LoadWorkflowCatalog, LoadWorkflowList, MarkLayoutDirty, MoveStep, NODE_COLOR_TOKEN, NODE_DEFAULT_ICON, NODE_MT_ICON, NoopFlowplusFormDesignerAdapter, PaletteComponent, PaletteDragSourceDirective, PollAutomationExecution, ProblemsPanelComponent, ProcessCreateDialogComponent, PublishWorkflow, RedoBuilderCommand, ReloadWorkflowBuilder, RunAutomationTrigger, RunWorkflowTest, SaveLayout, SelectCanvasNote, SelectConnection, SelectRuntimeNodeRun, SelectStep, SelectTrigger, SetActiveInspectorTab, SetBottomPanelHeight, SetBottomPanelOpen, SetBottomPanelTab, SetCanvasViewport, SetContextCatalog, SetCreateDialogOpen, SetInspectorOpen, SetLayout, SetLayoutAutosavePaused, SetMinimap, SetPaletteOpen, SetPaletteSearch, SetPendingOperation, SetReadonly, SetSelectedRuntimeTrigger, SetSelection, SetSelectionFromCanvas, SetStudioFilter, SetValidation, SetWorkflowCatalog, SetWorkflowDefinition, StepCreated, StepCreationFailed, TRIGGER_MT_ICON, TestRunPanelComponent, UnconfiguredFormDesignerAdapter, UndoBuilderCommand, UnpublishWorkflow, UpdateCanvasNote, UpdateConnection, UpdateStep, UpdateTrigger, UpdateWorkflowMetadata, UpdateWorkflowResources, UpdateWorkflowVariables, ValidateWorkflow, WorkflowBuilderPageComponent, WorkflowCatalogApiService, WorkflowContextApiService, WorkflowDebugApiService, WorkflowDefinitionApiService, WorkflowFormApiService, WorkflowRunDebuggerPageComponent, WorkflowRuntimeApiService, WorkflowStudioPageComponent, WorkflowValidationApiService, allValidationIssues, applyBuilderSnapshot, avatarSeverityForStep, avatarSeverityForTrigger, canShowConnectionQuickAdd, canonicalTriggerTypeForStarterKind, coerceTranslatable, colorVarFor, computeBranchLanes, computeSaveStatus, connectionCanvasId, connectionClosesDirectedCycle, derivePortsForStep, extractMessage, flowNodeCardHeightForOutputs, flowNodeLayoutHeightForOutputs, flowNodeOutputCenterY, flowNodeOutputStackHeight, flowPortKeyExists, fromWorkflowConnectionDomain, fromWorkflowStepDomain, hasOtherPending, iconFor, indexValidationByConnectionId, indexValidationByStepId, indexValidationByTriggerId, inputPortId, isEntityDirty, isReturnConnectionForCanvas, mapHttpError, mtIconForStep, mtIconForTrigger, newClientMutationId, nextOperationId, nodeCanvasId, outputPortId, parseConnectionId, parseNodeId, parsePortId, parseTriggerOutputPortId, parseTriggerStartConnectionId, patchLayoutPosition, patchTriggerLayoutPosition, provideFlowplusFormDesignerAdapter, provideFlowplusWorkflow, provideFlowplusWorkflowNavigation, provideFlowplusWorkflowNavigationDefaults, readRecord, removeStepWithEdges, resolveConnectionEndpointStep, resolveTranslatable, resolveTriggerStartNodeKey, resolveTriggerStartStep, resolveTriggerStartStepId, resolveWorkflowTriggerKey, routeConnectionForCanvas, savingOrSaved, shouldPublishCurrentDefinitionBeforeRun, summarizeTriggerCycleValidation, tempNodeCanvasId, toWorkflowConnectionDomain, toWorkflowDefinitionDomain, toWorkflowStepDomain, toWorkflowTriggerDomain, triggerCanvasId, triggerOutputPortId, triggerStartConnectionCanvasId, triggerStarterKindFor, unwrap, unwrapApiData, upsertConnection, upsertStep };
6709
+ export type { ActivateAutomationRequest, ActivationResult, ApiEnvelope, AssignmentSelectorContractResult, AssignmentValidationRequest, AutomationBuilderCatalog, AutomationEngineHealthSnapshot, AutomationExecutionDetail, AutomationExecutionEvent, AutomationExecutionListResult, AutomationExecutionNodeDataDetail, AutomationExecutionStatus, AutomationExecutionSummary, AutomationExportDefinition, AutomationFormBindingDefinition, AutomationFrontendDetail, AutomationFrontendListResult, AutomationImportRequest, AutomationImportResult, AutomationLastExecutionSummary, AutomationMetadataRequest, AutomationNodeAttempt, AutomationNodeDefinition, AutomationNodeRun, AutomationNodeTestRunExternalCallAudit, AutomationNodeTestRunLogEntry, AutomationNodeTestRunRequest, AutomationNodeTestRunResult, AutomationNodeTestRunStatus, AutomationNodeTestRunValidationIssue, AutomationNodeType, AutomationRetentionPruneResult, AutomationRevisionDiffResult, AutomationRevisionSummary, AutomationRouteDefinition, AutomationRunResult, AutomationRuntimeWait, AutomationRuntimeWaitResumeTokenResult, AutomationSelectorItem, AutomationSelectorResult, AutomationStatus, AutomationSummary, AutomationTriggerDefinition, AutomationTriggerType, AutomationValidationIssue, AutomationValidationReport, AutomationValidationSummary, AvatarSeverityVars, BatchBuilderPatchRequest, ConnectorActionCatalogItem, ConnectorCatalog, ConnectorProviderCatalogItem, ConvertToFileActionCatalogItem, ConvertToFileCatalog, CreateWorkflowConnectionRequest, CreateWorkflowDefinitionRequest, CreateWorkflowPluginStepRequest, CreateWorkflowStepRequest, CredentialFieldDescriptor, CredentialMutationResult, CredentialOAuthStartRequest, CredentialOAuthStartResult, CredentialProviderCatalogItem, CredentialReference, CredentialReferenceListResult, CredentialTestRequest, CredentialTestResult, CredentialTypeCatalogItem, CredentialTypeCatalogResult, DataTransformActionCatalogItem, DataTransformCatalog, EngineEventDto, ExecutionCancelResult, ExecutionRetryRequest, ExecutionRetryResult, ExpressionNamespaceDescriptor, ExpressionPreviewRequest, ExpressionPreviewResult, ExpressionValidationRequest, ExpressionValidationResult, FlowBranchLaneVm, FlowCanvasConnectionPosition, FlowCanvasConnectionRouting, FlowCanvasConnectionRoutingContext, FlowCanvasConnectionSide, FlowCanvasConnectionType, FlowCanvasConnectionWaypoint, FlowCanvasEdgeVm, FlowCanvasNodeVm, FlowLayoutEngine, FlowNodePortVm, FlowPlusCommitMappingValidationRequest, FlowPlusModuleCatalogItem, FlowPlusModuleCatalogResult, FlowPlusModuleField, FlowPlusModuleSchemaResult, FlowPortDirection, FlowPortSide, FlowplusApiError, FlowplusBuilderCommand, FlowplusBuilderSlice, FlowplusConflictState, FlowplusDirtyFlags, FlowplusExecutionRuntimeSlice, FlowplusFormDesignerAdapter, FlowplusPendingOperation, FlowplusPublishStatus, FlowplusRuntimeNodeState, FlowplusRuntimeNodeVisualState, FlowplusRuntimeReplayMode, FlowplusRuntimeRouteState, FlowplusRuntimeRouteVisualState, FlowplusRuntimeTriggerState, FlowplusRuntimeTriggerVisualState, FlowplusSaveStatus, FlowplusSelection, FlowplusStudioSlice, FlowplusTriggerExecutionRequest, FlowplusUiState, FlowplusWorkflowConfig, FlowplusWorkflowNavigationConfig, FlowplusWorkflowStateModel, FormBindingDefinitionRequest, FormSchemaResult, FormSelectorContractResult, FormSelectorItem, FormVersionListResult, FormVersionSummary, FormulaBuilderValue, HumanApprovalDecisionRequest, HumanApprovalDecisionResult, HumanTaskActionResult, HumanTaskAssignment, HumanTaskCancelRequest, HumanTaskDraftRequest, HumanTaskPayloadResult, HumanTaskSubmitRequest, JsonSchemaLite, ManualCredentialCreateRequest, NavigationTarget, NodeDefinitionRequest, NodeTypeCatalogItem, OpenStepFormDesignerInput, OpenStepFormPreviewInput, PagedResult, ProcessContextEntryDto, ProcessContextLineageNodeDto, ProcessContextSnapshotDto, ProcessContextTimelineEventDto, ProcessFormLoadRequest, ProcessFormLoadResponseDto, ProcessStartRequest, ProcessStartResultDto, ProcessSubmitOperationKey, ProcessSubmitRequest, ProcessSubmitResponseDto, ProcessSubmitStatus, PublishAutomationRequest, PublishAutomationResult, QueuedNodeSummary, RouteDefinitionRequest, ScheduleOptionsResult, SchedulePreviewRequest, SchedulePreviewResult, ScheduleValidationRequest, StepFormDesignerResult, StepFormPreviewResult, TaskActionRequest, TaskActionResultDto, TranslatableText, TriggerCycleValidationSummary, TriggerDefinitionRequest, TriggerNodeVm, TriggerStarterKind, TriggerTypeCatalogItem, UpdateWorkflowConnectionRequest, UpdateWorkflowDefinitionRequest, UpdateWorkflowStepRequest, WaitResumeRequest, WaitResumeResult, WebhookSetupResult, WorkflowAppActionDescriptorDto, WorkflowAppActionMappingDto, WorkflowAppActionOptionDto, WorkflowAppActionStepConfigDto, WorkflowAppDescriptorDto, WorkflowAutomatedOutputMappingDto, WorkflowAutomatedStepConfigDto, WorkflowBuilderCapabilitiesDto, WorkflowBuilderDto, WorkflowBuilderPermissionsDto, WorkflowCatalogDefaultsDto, WorkflowCatalogDto, WorkflowCatalogOptionDto, WorkflowConnectionDomain, WorkflowConnectionDto, WorkflowConnectionLayoutDto, WorkflowContextCatalogDto, WorkflowContextCatalogSourceDto, WorkflowContextPathValidationRequest, WorkflowContextPathValidationResultDto, WorkflowContextSourceType, WorkflowContextValueType, WorkflowDefinitionDomain, WorkflowDefinitionDto, WorkflowDefinitionListQuery, WorkflowDefinitionListResult, WorkflowDefinitionSummaryDto, WorkflowFormBindingContractDto, WorkflowFormBindingMode, WorkflowJoinParallelStepConfigDto, WorkflowLayoutDto, WorkflowNodeLayoutDto, WorkflowPluginDescriptorDto, WorkflowPluginStepConfigDto, WorkflowResourceBindingDto, WorkflowRuntimeRoutingPolicyDto, WorkflowSelectedActionDto, WorkflowStartParallelStepConfigDto, WorkflowStatus, WorkflowStepActionCatalogItemDto, WorkflowStepActionDto, WorkflowStepCategory, WorkflowStepDefaultsItemDto, WorkflowStepDomain, WorkflowStepDto, WorkflowStepFormBindingDto, WorkflowStepFormContractDto, WorkflowStepFormUpdateRequest, WorkflowStepPropertyDto, WorkflowStepType, WorkflowStepTypeCapabilityItemDto, WorkflowStepTypeCatalogItemDto, WorkflowSubprocessContextMappingDto, WorkflowSubprocessPropertyMappingDto, WorkflowSubprocessStepConfigDto, WorkflowTestRunConnectionDecisionDto, WorkflowTestRunContextChangeDto, WorkflowTestRunContextValueDto, WorkflowTestRunMode, WorkflowTestRunRequest, WorkflowTestRunResultDto, WorkflowTestRunStatus, WorkflowTestStepResultDto, WorkflowTestStepStatus, WorkflowTriggerDomain, WorkflowTriggerDto, WorkflowTriggerType, WorkflowValidationEntityType, WorkflowValidationGroupKey, WorkflowValidationGroupedIssuesDto, WorkflowValidationIssueDto, WorkflowValidationIssueSeverity, WorkflowValidationResultDto, WorkflowValidationSeverity, WorkflowValidationStateDto, WorkflowVariableCollectionDto, WorkflowVariableDto, WorkflowVariableRequest, WorkflowViewportDto };