@fluxo-dev/api-client-base 26.1.1 → 26.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -4171,7 +4171,8 @@ class AuthService {
4171
4171
  userId,
4172
4172
  canChangePassword: info.canChangePassword,
4173
4173
  canHandle2FA: info.canHandle2FA,
4174
- canHandleAccessTokens: info.canHandleAccessTokens
4174
+ canHandleAccessTokens: info.canHandleAccessTokens,
4175
+ canDisable2FA: info.canDisable2FA
4175
4176
  }, {
4176
4177
  withCredentials: true
4177
4178
  }).then(() => {
@@ -5380,26 +5381,328 @@ class PrintingService {
5380
5381
  AddPrinter(printServerId, command) {
5381
5382
  return HttpClient$1.Instance().client.post(`print-server/${printServerId}/virtual-printers`, command);
5382
5383
  }
5384
+ UpdatePrinter(printServerId, printerId, command) {
5385
+ return HttpClient$1.Instance().client.put(`print-server/${printServerId}/virtual-printers/${printerId}`, command);
5386
+ }
5387
+ DeletePrinter(printServerId, printerId) {
5388
+ return HttpClient$1.Instance().client.delete(`print-server/${printServerId}/virtual-printers/${printerId}`);
5389
+ }
5390
+ DeletePrintServer(printServerId) {
5391
+ return HttpClient$1.Instance().client.delete(`print-server/${printServerId}`);
5392
+ }
5383
5393
  }
5384
5394
 
5385
- exports.WorkflowActionInputType = void 0;
5386
- (function (WorkflowActionInputType) {
5387
- WorkflowActionInputType[WorkflowActionInputType["none"] = 0] = "none";
5388
- WorkflowActionInputType[WorkflowActionInputType["manual"] = 1] = "manual";
5389
- WorkflowActionInputType[WorkflowActionInputType["dynamic"] = 2] = "dynamic";
5390
- WorkflowActionInputType[WorkflowActionInputType["expression"] = 3] = "expression";
5391
- })(exports.WorkflowActionInputType || (exports.WorkflowActionInputType = {}));
5395
+ exports.BlockConfigFieldType = void 0;
5396
+ (function (BlockConfigFieldType) {
5397
+ BlockConfigFieldType[BlockConfigFieldType["Text"] = 0] = "Text";
5398
+ BlockConfigFieldType[BlockConfigFieldType["TextArea"] = 1] = "TextArea";
5399
+ BlockConfigFieldType[BlockConfigFieldType["Number"] = 2] = "Number";
5400
+ BlockConfigFieldType[BlockConfigFieldType["Boolean"] = 3] = "Boolean";
5401
+ BlockConfigFieldType[BlockConfigFieldType["Select"] = 4] = "Select";
5402
+ BlockConfigFieldType[BlockConfigFieldType["Expression"] = 5] = "Expression";
5403
+ BlockConfigFieldType[BlockConfigFieldType["Secret"] = 6] = "Secret";
5404
+ BlockConfigFieldType[BlockConfigFieldType["KeyValue"] = 7] = "KeyValue";
5405
+ BlockConfigFieldType[BlockConfigFieldType["ObjectMap"] = 8] = "ObjectMap";
5406
+ BlockConfigFieldType[BlockConfigFieldType["Json"] = 9] = "Json";
5407
+ BlockConfigFieldType[BlockConfigFieldType["JsonArray"] = 10] = "JsonArray";
5408
+ BlockConfigFieldType[BlockConfigFieldType["ConnectionString"] = 11] = "ConnectionString";
5409
+ })(exports.BlockConfigFieldType || (exports.BlockConfigFieldType = {}));
5410
+ exports.DynamicPortType = void 0;
5411
+ (function (DynamicPortType) {
5412
+ DynamicPortType[DynamicPortType["Count"] = 0] = "Count";
5413
+ DynamicPortType[DynamicPortType["ArrayProperty"] = 1] = "ArrayProperty";
5414
+ })(exports.DynamicPortType || (exports.DynamicPortType = {}));
5415
+ exports.PipelineStatus = void 0;
5416
+ (function (PipelineStatus) {
5417
+ PipelineStatus[PipelineStatus["Pending"] = 0] = "Pending";
5418
+ PipelineStatus[PipelineStatus["Running"] = 1] = "Running";
5419
+ PipelineStatus[PipelineStatus["Paused"] = 2] = "Paused";
5420
+ PipelineStatus[PipelineStatus["Completed"] = 3] = "Completed";
5421
+ PipelineStatus[PipelineStatus["Failed"] = 4] = "Failed";
5422
+ PipelineStatus[PipelineStatus["Cancelled"] = 5] = "Cancelled";
5423
+ })(exports.PipelineStatus || (exports.PipelineStatus = {}));
5424
+ exports.NodeExecutionState = void 0;
5425
+ (function (NodeExecutionState) {
5426
+ NodeExecutionState[NodeExecutionState["Pending"] = 0] = "Pending";
5427
+ NodeExecutionState[NodeExecutionState["Running"] = 1] = "Running";
5428
+ NodeExecutionState[NodeExecutionState["Completed"] = 2] = "Completed";
5429
+ NodeExecutionState[NodeExecutionState["Failed"] = 3] = "Failed";
5430
+ NodeExecutionState[NodeExecutionState["Cancelled"] = 4] = "Cancelled";
5431
+ })(exports.NodeExecutionState || (exports.NodeExecutionState = {}));
5432
+
5433
+ // Enum helper per i nomi
5434
+ exports.NodeTypeEnum = void 0;
5435
+ (function (NodeTypeEnum) {
5436
+ NodeTypeEnum[NodeTypeEnum["Action"] = 0] = "Action";
5437
+ NodeTypeEnum[NodeTypeEnum["Parallel"] = 1] = "Parallel";
5438
+ NodeTypeEnum[NodeTypeEnum["Join"] = 2] = "Join";
5439
+ NodeTypeEnum[NodeTypeEnum["While"] = 3] = "While";
5440
+ NodeTypeEnum[NodeTypeEnum["ForEach"] = 4] = "ForEach";
5441
+ NodeTypeEnum[NodeTypeEnum["Schedule"] = 5] = "Schedule";
5442
+ NodeTypeEnum[NodeTypeEnum["Delay"] = 6] = "Delay";
5443
+ NodeTypeEnum[NodeTypeEnum["WaitForEvent"] = 7] = "WaitForEvent";
5444
+ NodeTypeEnum[NodeTypeEnum["Decision"] = 8] = "Decision";
5445
+ NodeTypeEnum[NodeTypeEnum["Start"] = 9] = "Start";
5446
+ NodeTypeEnum[NodeTypeEnum["End"] = 10] = "End";
5447
+ })(exports.NodeTypeEnum || (exports.NodeTypeEnum = {}));
5448
+ exports.ActionInputTypeEnum = void 0;
5449
+ (function (ActionInputTypeEnum) {
5450
+ ActionInputTypeEnum[ActionInputTypeEnum["Manual"] = 0] = "Manual";
5451
+ ActionInputTypeEnum[ActionInputTypeEnum["Expression"] = 1] = "Expression";
5452
+ ActionInputTypeEnum[ActionInputTypeEnum["StepOutput"] = 2] = "StepOutput";
5453
+ ActionInputTypeEnum[ActionInputTypeEnum["Environment"] = 3] = "Environment"; // Variabile ambiente
5454
+ })(exports.ActionInputTypeEnum || (exports.ActionInputTypeEnum = {}));
5455
+ // ============================================================================
5456
+ // Workflow Execution Types
5457
+ // ============================================================================
5458
+ exports.WorkflowStatus = void 0;
5459
+ (function (WorkflowStatus) {
5460
+ WorkflowStatus[WorkflowStatus["Runnable"] = 0] = "Runnable";
5461
+ WorkflowStatus[WorkflowStatus["Suspended"] = 1] = "Suspended";
5462
+ WorkflowStatus[WorkflowStatus["Complete"] = 2] = "Complete";
5463
+ WorkflowStatus[WorkflowStatus["Terminated"] = 3] = "Terminated"; // Terminata (con o senza errori)
5464
+ })(exports.WorkflowStatus || (exports.WorkflowStatus = {}));
5465
+ exports.PointerStatus = void 0;
5466
+ (function (PointerStatus) {
5467
+ PointerStatus[PointerStatus["Legacy"] = 0] = "Legacy";
5468
+ PointerStatus[PointerStatus["Pending"] = 1] = "Pending";
5469
+ PointerStatus[PointerStatus["Running"] = 2] = "Running";
5470
+ PointerStatus[PointerStatus["Complete"] = 3] = "Complete";
5471
+ PointerStatus[PointerStatus["Sleeping"] = 4] = "Sleeping";
5472
+ PointerStatus[PointerStatus["WaitingForEvent"] = 5] = "WaitingForEvent";
5473
+ PointerStatus[PointerStatus["Failed"] = 6] = "Failed";
5474
+ PointerStatus[PointerStatus["Compensated"] = 7] = "Compensated";
5475
+ PointerStatus[PointerStatus["Cancelled"] = 8] = "Cancelled";
5476
+ })(exports.PointerStatus || (exports.PointerStatus = {}));
5392
5477
 
5393
5478
  class WorkflowService {
5479
+ // ============================================================================
5480
+ // ETL Designer Metadata
5481
+ // ============================================================================
5482
+ getEtlBlocks() {
5483
+ return HttpClient$1.Instance().client.get('etl/blocks');
5484
+ }
5485
+ getEtlBlocksGrouped() {
5486
+ return HttpClient$1.Instance().client.get('etl/blocks-grouped');
5487
+ }
5488
+ getEtlBlock(type) {
5489
+ return HttpClient$1.Instance().client.get(`etl/blocks/${type}`);
5490
+ }
5491
+ // ============================================================================
5492
+ // Designer Metadata
5493
+ // ============================================================================
5494
+ /**
5495
+ * Ottiene tutte le azioni disponibili organizzate per categoria
5496
+ */
5394
5497
  getActionsDefinition() {
5395
5498
  return HttpClient$1.Instance().client.get('workflow/designer/actions');
5396
5499
  }
5500
+ /**
5501
+ * Ottiene tutti i trigger disponibili organizzati per categoria
5502
+ */
5397
5503
  getTriggersDefinition() {
5398
5504
  return HttpClient$1.Instance().client.get('workflow/designer/triggers');
5399
5505
  }
5506
+ // ============================================================================
5507
+ // CRUD Operations
5508
+ // ============================================================================
5509
+ /**
5510
+ * Crea un nuovo workflow
5511
+ */
5512
+ createWorkflow(request) {
5513
+ return HttpClient$1.Instance().client.post('workflow/workflows', request);
5514
+ }
5515
+ /**
5516
+ * Ottiene un workflow per ID database
5517
+ */
5518
+ getWorkflowById(id) {
5519
+ return HttpClient$1.Instance().client.get(`workflow/workflows/${id}`);
5520
+ }
5521
+ /**
5522
+ * Ottiene un workflow per WorkflowId
5523
+ */
5524
+ getWorkflowByWorkflowId(workflowId) {
5525
+ return HttpClient$1.Instance().client.get(`workflow/workflows/by-workflow-id/${workflowId}`);
5526
+ }
5527
+ /**
5528
+ * Ottiene tutti i workflow (summary)
5529
+ */
5530
+ listWorkflows() {
5531
+ return HttpClient$1.Instance().client.get('workflow/workflows');
5532
+ }
5533
+ /**
5534
+ * Aggiorna un workflow esistente
5535
+ */
5536
+ updateWorkflow(id, request) {
5537
+ return HttpClient$1.Instance().client.put(`workflow/workflows/${id}`, request);
5538
+ }
5539
+ /**
5540
+ * Elimina un workflow
5541
+ */
5542
+ deleteWorkflow(id) {
5543
+ return HttpClient$1.Instance().client.delete(`workflow/workflows/${id}`);
5544
+ }
5545
+ /**
5546
+ * Attiva un workflow
5547
+ */
5548
+ activateWorkflow(id, updatedBy) {
5549
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/activate`, {
5550
+ updatedBy
5551
+ });
5552
+ }
5553
+ /**
5554
+ * Disattiva un workflow
5555
+ */
5556
+ deactivateWorkflow(id, updatedBy) {
5557
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/deactivate`, {
5558
+ updatedBy
5559
+ });
5560
+ }
5561
+ /**
5562
+ * Avvia un workflow con un trigger specifico
5563
+ * @param workflowId - ID del workflow da avviare
5564
+ * @param triggerId - ID del trigger da utilizzare
5565
+ * @param inputs - Inputs per il trigger (opzionale)
5566
+ */
5567
+ startWorkflow(workflowId, triggerId, inputs) {
5568
+ const inputSchema = {
5569
+ inputs: []
5570
+ };
5571
+ if (inputs) Object.keys(inputs).forEach(input => {
5572
+ inputSchema.inputs.push({
5573
+ key: `${triggerId}.${input}`,
5574
+ value: inputs[input]
5575
+ });
5576
+ });
5577
+ return HttpClient$1.Instance().client.post(`workflow/workflows-start/${workflowId}`, {
5578
+ inputs: inputSchema.inputs
5579
+ });
5580
+ }
5581
+ /**
5582
+ * Clona un workflow
5583
+ */
5584
+ cloneWorkflow(id, request) {
5585
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/clone`, request);
5586
+ }
5587
+ // ============================================================================
5588
+ // Validation
5589
+ // ============================================================================
5590
+ /**
5591
+ * Valida uno schema ReactFlow
5592
+ */
5593
+ validateWorkflow(schema) {
5594
+ return HttpClient$1.Instance().client.post('workflow/designer/validate', schema);
5595
+ }
5596
+ // ============================================================================
5597
+ // Conversion (opzionale, per test/debug)
5598
+ // ============================================================================
5599
+ /**
5600
+ * Converte uno schema ReactFlow in WorkflowCore JSON
5601
+ */
5602
+ convertToWorkflowCore(schema) {
5603
+ return HttpClient$1.Instance().client.post('workflow/designer/convert/to-workflowcore', schema);
5604
+ }
5605
+ /**
5606
+ * Converte un WorkflowCore JSON in schema ReactFlow
5607
+ */
5608
+ convertToReactFlow(request) {
5609
+ return HttpClient$1.Instance().client.post('workflow/designer/convert/to-reactflow', request);
5610
+ }
5611
+ // ============================================================================
5612
+ // Legacy (manteniamo per compatibilità)
5613
+ // ============================================================================
5614
+ /**
5615
+ * @deprecated Use validateWorkflow instead
5616
+ */
5400
5617
  test(workflow) {
5401
5618
  return HttpClient$1.Instance().client.post('workflow/convert', workflow);
5402
5619
  }
5620
+ // ============================================================================
5621
+ // Workflow Executions
5622
+ // ============================================================================
5623
+ /**
5624
+ * Ottiene tutte le esecuzioni di un workflow specifico
5625
+ */
5626
+ getWorkflowExecutions(workflowId) {
5627
+ return HttpClient$1.Instance().client.get(`workflow/workflows/${workflowId}/executions`);
5628
+ }
5629
+ /**
5630
+ * Ottiene i dettagli completi di un'esecuzione
5631
+ */
5632
+ getExecutionDetails(instanceId) {
5633
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}`);
5634
+ }
5635
+ /**
5636
+ * Ottiene solo gli step di un'esecuzione
5637
+ */
5638
+ getExecutionSteps(instanceId) {
5639
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}/steps`);
5640
+ }
5641
+ /**
5642
+ * Ottiene solo gli errori di un'esecuzione
5643
+ */
5644
+ getExecutionErrors(instanceId) {
5645
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}/errors`);
5646
+ }
5647
+ /**
5648
+ * Termina un'esecuzione in corso
5649
+ */
5650
+ terminateExecution(instanceId) {
5651
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/terminate`, {});
5652
+ }
5653
+ /**
5654
+ * Sospende un'esecuzione in corso
5655
+ */
5656
+ suspendExecution(instanceId) {
5657
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/suspend`, {});
5658
+ }
5659
+ /**
5660
+ * Riprende un'esecuzione sospesa
5661
+ */
5662
+ resumeExecution(instanceId) {
5663
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/resume`, {});
5664
+ }
5665
+ // ============================================================================
5666
+ // ETL Pipelines
5667
+ // ============================================================================
5668
+ saveEtlPipeline(request) {
5669
+ return HttpClient$1.Instance().client.post('etl/pipelines', request);
5670
+ }
5671
+ listEtlPipelines() {
5672
+ return HttpClient$1.Instance().client.get('etl/pipelines');
5673
+ }
5674
+ getEtlPipeline(id) {
5675
+ return HttpClient$1.Instance().client.get(`etl/pipelines/${id}`);
5676
+ }
5677
+ deleteEtlPipeline(id) {
5678
+ return HttpClient$1.Instance().client.delete(`etl/pipelines/${id}`);
5679
+ }
5680
+ executeSavedEtlPipeline(pipelineId, request) {
5681
+ return HttpClient$1.Instance().client.post(`etl/pipelines/${pipelineId}/execute`, request !== null && request !== void 0 ? request : {
5682
+ pipelineId
5683
+ });
5684
+ }
5685
+ getEtlPipelineExecutions(pipelineId) {
5686
+ return HttpClient$1.Instance().client.get(`etl/pipelines/${pipelineId}/executions`);
5687
+ }
5688
+ getEtlExecutionDetails(executionId) {
5689
+ return HttpClient$1.Instance().client.get(`etl/executions/${executionId}`);
5690
+ }
5691
+ getRunningEtlExecutions() {
5692
+ return HttpClient$1.Instance().client.get('etl/executions/running');
5693
+ }
5694
+ stopEtlExecution(executionId) {
5695
+ return HttpClient$1.Instance().client.post(`etl/executions/${executionId}/stop`, {});
5696
+ }
5697
+ validateEtlPipeline(request) {
5698
+ return HttpClient$1.Instance().client.post('etl/validate', request);
5699
+ }
5700
+ executeEtlPipeline(request) {
5701
+ return HttpClient$1.Instance().client.post('etl/execute', request);
5702
+ }
5703
+ dryRunEtlPipeline(request) {
5704
+ return HttpClient$1.Instance().client.post('etl/dry-run', request);
5705
+ }
5403
5706
  }
5404
5707
 
5405
5708
  class MailServerService {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxo-dev/api-client-base",
3
- "version": "26.1.1",
3
+ "version": "26.1.2",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "react": "^18.3.1",
@@ -8,7 +8,7 @@
8
8
  "react-router-dom": "^6.11.2",
9
9
  "react-redux": "^8.0.5",
10
10
  "@reduxjs/toolkit": "^1.9.1",
11
- "@fluxo-dev/state": "^26.1.1"
11
+ "@fluxo-dev/state": "^26.1.2"
12
12
  },
13
13
  "main": "./index.cjs.js",
14
14
  "types": "./index.cjs.d.ts"
@@ -14,6 +14,7 @@ export interface FluxoUserProfile {
14
14
  canChangePassword: boolean;
15
15
  canHandle2FA: boolean;
16
16
  canHandleAccessTokens: boolean;
17
+ canDisable2FA: boolean;
17
18
  }
18
19
  export declare class AuthService {
19
20
  private isRefreshingToken;
@@ -27,6 +27,7 @@ export type SystemSettings = {
27
27
  aclMode: FluxoACLMode;
28
28
  allowExternalUsers: boolean;
29
29
  twoFactorEnabled: boolean;
30
+ isWorkflowEnabled: boolean;
30
31
  };
31
32
  export declare enum FluxoACLMode {
32
33
  DomainRole = 1,
@@ -2,6 +2,7 @@ export * from './printer-type';
2
2
  export * from './virtual-printer';
3
3
  export * from './print-server-type';
4
4
  export * from './add-printer-command';
5
+ export * from './update-printer-command';
5
6
  export * from './printer-manufacturer';
6
7
  export * from './virtual-print-server';
7
8
  export * from './print-server-managed-type';
@@ -0,0 +1,4 @@
1
+ export interface UpdatePrinterCommand {
2
+ name: string;
3
+ description: string;
4
+ }
@@ -2,6 +2,7 @@ import { VirtualPrintServer } from "./models/virtual-print-server";
2
2
  import { AddPrinterCommand } from "./models/add-printer-command";
3
3
  import { CreatePrintServerCommand } from "./models/create-print-server-command";
4
4
  import { UpdatePrintServerCommand } from "./models/update-print-server-command";
5
+ import { UpdatePrinterCommand } from "./models/update-printer-command";
5
6
  export declare class PrintingService {
6
7
  GetPrintServerList(): Promise<VirtualPrintServer[]>;
7
8
  GetPrintServer(printServerId: number): Promise<VirtualPrintServer>;
@@ -9,4 +10,7 @@ export declare class PrintingService {
9
10
  GetPrintServerPrinters(printServerId: number): Promise<string[]>;
10
11
  CreatePrintServer(command: CreatePrintServerCommand): Promise<import("axios").AxiosResponse<any, any>>;
11
12
  AddPrinter(printServerId: number, command: AddPrinterCommand): Promise<import("axios").AxiosResponse<any, any>>;
13
+ UpdatePrinter(printServerId: number, printerId: number, command: UpdatePrinterCommand): Promise<import("axios").AxiosResponse<any, any>>;
14
+ DeletePrinter(printServerId: number, printerId: number): Promise<import("axios").AxiosResponse<any, any>>;
15
+ DeletePrintServer(printServerId: number): Promise<import("axios").AxiosResponse<any, any>>;
12
16
  }
@@ -2,4 +2,5 @@ export interface PrintReportCommand {
2
2
  reportUrl: string;
3
3
  virtualServerId: number;
4
4
  virtualPrinterId: number;
5
+ copies: number;
5
6
  }
@@ -23,4 +23,5 @@ export interface SecurityPolicyInfo {
23
23
  canChangePassword: boolean;
24
24
  canHandle2FA: boolean;
25
25
  canHandleAccessTokens: boolean;
26
+ canDisable2FA: boolean;
26
27
  }
@@ -0,0 +1,285 @@
1
+ export interface BlockDescriptor {
2
+ type: string;
3
+ pattern: string;
4
+ description: string;
5
+ tier: number;
6
+ ui: BlockUiDescriptor;
7
+ inputs: BlockPortDescriptor[];
8
+ outputs: BlockPortDescriptor[];
9
+ configFields: BlockConfigField[];
10
+ dynamicInputs?: DynamicPortsDescriptor;
11
+ dynamicOutputs?: DynamicPortsDescriptor;
12
+ }
13
+ export interface BlockUiDescriptor {
14
+ label: string;
15
+ category: string;
16
+ icon: string;
17
+ color: string;
18
+ headerColor: string;
19
+ }
20
+ export interface BlockPortDescriptor {
21
+ id: string;
22
+ label: string;
23
+ color: string;
24
+ isAlwaysVisible: boolean;
25
+ dataType?: string;
26
+ conditionalVisibility?: PortVisibilityCondition[];
27
+ }
28
+ export interface PortVisibilityCondition {
29
+ configField: string;
30
+ value: string;
31
+ }
32
+ export interface BlockConfigField {
33
+ key: string;
34
+ label: string;
35
+ fieldType: BlockConfigFieldType;
36
+ required: boolean;
37
+ defaultValue?: any;
38
+ placeholder?: string;
39
+ description?: string;
40
+ options?: SelectOption[];
41
+ visibleWhen?: string;
42
+ validation?: FieldValidation;
43
+ }
44
+ export declare enum BlockConfigFieldType {
45
+ Text = 0,
46
+ TextArea = 1,
47
+ Number = 2,
48
+ Boolean = 3,
49
+ Select = 4,
50
+ Expression = 5,
51
+ Secret = 6,
52
+ KeyValue = 7,
53
+ ObjectMap = 8,
54
+ Json = 9,
55
+ JsonArray = 10,
56
+ ConnectionString = 11
57
+ }
58
+ export interface SelectOption {
59
+ value: string;
60
+ label: string;
61
+ description?: string;
62
+ }
63
+ export interface FieldValidation {
64
+ min?: number;
65
+ max?: number;
66
+ pattern?: string;
67
+ message?: string;
68
+ }
69
+ export interface BlocksByCategory {
70
+ [category: string]: BlockDescriptor[];
71
+ }
72
+ export declare enum DynamicPortType {
73
+ Count = 0,
74
+ ArrayProperty = 1
75
+ }
76
+ export interface DynamicPortsDescriptor {
77
+ type: DynamicPortType;
78
+ sourceField: string;
79
+ portNamePattern: string;
80
+ labelPattern: string;
81
+ minCount?: number;
82
+ maxCount?: number;
83
+ channelProperty?: string;
84
+ defaultColor?: string;
85
+ }
86
+ export interface PipelineDefinition {
87
+ $schema?: string;
88
+ id?: string;
89
+ name: string;
90
+ description?: string;
91
+ version?: string;
92
+ settings?: PipelineSettings;
93
+ variables?: Record<string, unknown>;
94
+ nodes: NodeDefinition[];
95
+ edges: EdgeDefinition[];
96
+ }
97
+ export interface PipelineSettings {
98
+ maxDegreeOfParallelism?: number;
99
+ boundedCapacity?: number;
100
+ cancellationTimeoutSeconds?: number;
101
+ }
102
+ export interface NodeDefinition {
103
+ id: string;
104
+ type: string;
105
+ pattern?: string;
106
+ label?: string;
107
+ config: Record<string, unknown>;
108
+ position?: {
109
+ x: number;
110
+ y: number;
111
+ };
112
+ }
113
+ export interface EdgeDefinition {
114
+ id?: string;
115
+ from: string;
116
+ to: string;
117
+ channel?: string;
118
+ sourceHandle?: string;
119
+ targetHandle?: string;
120
+ }
121
+ export interface ValidationResult {
122
+ isValid: boolean;
123
+ errors: ValidationError[];
124
+ warnings: ValidationError[];
125
+ }
126
+ export interface ValidationError {
127
+ code: string;
128
+ message: string;
129
+ nodeId?: string;
130
+ fieldKey?: string;
131
+ nodeIds?: string[];
132
+ severity: 'Error' | 'Warning';
133
+ }
134
+ export interface PipelineResult {
135
+ executionId: string;
136
+ status: PipelineStatus | number;
137
+ duration: string;
138
+ totalItemsProcessed: number;
139
+ totalItemsDeadLettered: number;
140
+ totalItemsSkipped: number;
141
+ startTime: string;
142
+ endTime: string;
143
+ blockMetrics: BlockMetrics[];
144
+ errorMessage?: string;
145
+ }
146
+ export declare enum PipelineStatus {
147
+ Pending = 0,
148
+ Running = 1,
149
+ Paused = 2,
150
+ Completed = 3,
151
+ Failed = 4,
152
+ Cancelled = 5
153
+ }
154
+ export declare enum NodeExecutionState {
155
+ Pending = 0,
156
+ Running = 1,
157
+ Completed = 2,
158
+ Failed = 3,
159
+ Cancelled = 4
160
+ }
161
+ export interface BlockMetrics {
162
+ nodeId: string;
163
+ nodeType: string;
164
+ itemsIn: number;
165
+ itemsOut: number;
166
+ itemsOutByChannel: Record<string, number>;
167
+ itemsDeadLettered: number;
168
+ itemsSkipped: number;
169
+ totalDuration: string;
170
+ throughput: number;
171
+ averageItemDuration: string;
172
+ minItemDuration: string;
173
+ maxItemDuration: string;
174
+ nodeState: NodeExecutionState | number | string;
175
+ hasFailed: boolean;
176
+ failureReason?: string;
177
+ previewItemsByChannel?: Record<string, PreviewItem[]>;
178
+ }
179
+ export interface PreviewItem {
180
+ [key: string]: any;
181
+ _truncated?: boolean;
182
+ _originalSize?: number;
183
+ }
184
+ export interface SavePipelineRequest {
185
+ id?: string;
186
+ name: string;
187
+ description?: string;
188
+ category?: string;
189
+ definitionJson: string;
190
+ isActive: boolean;
191
+ tags?: string[];
192
+ metadata?: Record<string, unknown>;
193
+ }
194
+ export interface SavePipelineResponse {
195
+ id: string;
196
+ name: string;
197
+ version: number;
198
+ createdAt: string;
199
+ updatedAt: string;
200
+ }
201
+ export interface PipelineListItem {
202
+ id: string;
203
+ name: string;
204
+ description?: string;
205
+ version: number;
206
+ category?: string;
207
+ isActive: boolean;
208
+ createdAt: string;
209
+ updatedAt: string;
210
+ lastExecutedAt?: string;
211
+ lastExecutionStatus?: PipelineStatus;
212
+ executionCount: number;
213
+ successRate: number;
214
+ tags?: string[];
215
+ }
216
+ export interface PipelineDetails {
217
+ id: string;
218
+ name: string;
219
+ description?: string;
220
+ version: number;
221
+ definitionJson: string;
222
+ category?: string;
223
+ isActive: boolean;
224
+ createdAt: string;
225
+ updatedAt: string;
226
+ createdBy?: string;
227
+ updatedBy?: string;
228
+ lastExecutedAt?: string;
229
+ lastExecutionStatus?: PipelineStatus;
230
+ executionCount: number;
231
+ successCount: number;
232
+ failureCount: number;
233
+ successRate: number;
234
+ tags?: string[];
235
+ metadata?: Record<string, unknown>;
236
+ }
237
+ export interface ExecuteSavedPipelineRequest {
238
+ pipelineId: string;
239
+ dryRun?: boolean;
240
+ variableOverrides?: Record<string, unknown>;
241
+ }
242
+ export interface PipelineExecutionHistoryItem {
243
+ id: string;
244
+ executionId: string;
245
+ pipelineId: string;
246
+ pipelineName: string;
247
+ pipelineVersion: string;
248
+ status: PipelineStatus;
249
+ startTime: string;
250
+ endTime?: string;
251
+ formattedDuration?: string;
252
+ totalItemsProcessed: number;
253
+ totalItemsDeadLettered: number;
254
+ totalItemsSkipped: number;
255
+ successRate: number;
256
+ errorMessage?: string;
257
+ executedBy?: string;
258
+ isDryRun: boolean;
259
+ serverHostname?: string;
260
+ }
261
+ export interface PipelineExecutionDetails extends PipelineExecutionHistoryItem {
262
+ errorStackTrace?: string;
263
+ blockMetricsJson?: string;
264
+ pipelineDefinitionSnapshot?: string;
265
+ metadata?: Record<string, unknown>;
266
+ }
267
+ export interface RunningExecutionItem {
268
+ executionId: string;
269
+ startTime: string;
270
+ elapsedTime: string;
271
+ }
272
+ export interface StopExecutionResponse {
273
+ success: boolean;
274
+ message: string;
275
+ }
276
+ export interface ValidatePipelineRequest {
277
+ definitionJson: string;
278
+ }
279
+ export interface ExecutePipelineRequest {
280
+ executionId: string;
281
+ definitionJson: string;
282
+ dryRun?: boolean;
283
+ isDebugMode?: boolean;
284
+ maxPreviewItems?: number;
285
+ }
@@ -1,11 +1,330 @@
1
- export * from './action-definition';
2
- export * from './action-input-definition';
3
- export * from './action-output-definition';
4
- export * from './action-category-definition';
5
- export * from './workflow-action';
6
- export * from './workflow';
7
- export * from "./workflow-action-input";
8
- export * from "./workflow-action-input-type";
9
- export * from './trigger-definition';
10
- export * from './trigger-category-definition';
11
- export * from './workflow-trigger';
1
+ export * from './etl.models';
2
+ export interface WorkflowReactFlowSchema {
3
+ nodes: WorkflowNode[];
4
+ edges: WorkflowEdge[];
5
+ metadata: WorkflowMetadata;
6
+ }
7
+ export interface WorkflowNode {
8
+ id: string;
9
+ type: NodeType;
10
+ position: NodePosition;
11
+ data: NodeData;
12
+ }
13
+ export type NodeType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
14
+ export declare enum NodeTypeEnum {
15
+ Action = 0,
16
+ Parallel = 1,
17
+ Join = 2,
18
+ While = 3,
19
+ ForEach = 4,
20
+ Schedule = 5,
21
+ Delay = 6,
22
+ WaitForEvent = 7,
23
+ Decision = 8,
24
+ Start = 9,
25
+ End = 10
26
+ }
27
+ export interface NodePosition {
28
+ x: number;
29
+ y: number;
30
+ }
31
+ export interface NodeData {
32
+ label: string;
33
+ stepType?: string;
34
+ inputs?: Record<string, ActionInput>;
35
+ outputs?: Record<string, string>;
36
+ handles: NodeHandles;
37
+ condition?: string;
38
+ collection?: string;
39
+ interval?: string;
40
+ eventName?: string;
41
+ eventKey?: string;
42
+ branches?: number;
43
+ }
44
+ export interface NodeHandles {
45
+ source: string[];
46
+ target: string[];
47
+ }
48
+ export interface ActionInput {
49
+ type: ActionInputType;
50
+ value: any;
51
+ }
52
+ export type ActionInputType = 0 | 1 | 2 | 3;
53
+ export declare enum ActionInputTypeEnum {
54
+ Manual = 0,// Valore statico inserito dall'utente
55
+ Expression = 1,// Espressione dinamica (es. "data.Counter + 1")
56
+ StepOutput = 2,// Output di step precedente (es. "step0.EmailSentCount")
57
+ Environment = 3
58
+ }
59
+ export interface WorkflowEdge {
60
+ id: string;
61
+ source: string;
62
+ target: string;
63
+ sourceHandle?: string;
64
+ targetHandle?: string;
65
+ label?: string;
66
+ animated?: boolean;
67
+ }
68
+ export interface WorkflowMetadata {
69
+ workflowId: string;
70
+ version: number;
71
+ description?: string;
72
+ dataType?: string;
73
+ triggerId?: string;
74
+ triggerInputs?: Record<string, any>;
75
+ }
76
+ export interface WorkflowDto {
77
+ id: number;
78
+ workflowId: string;
79
+ name: string;
80
+ description: string;
81
+ version: number;
82
+ reactFlowSchema: WorkflowReactFlowSchema;
83
+ workflowCoreJson: string;
84
+ triggerId?: string;
85
+ triggerInputs?: Record<string, any>;
86
+ isActive: boolean;
87
+ createdAt: string;
88
+ updatedAt: string;
89
+ createdBy: string;
90
+ updatedBy: string;
91
+ tags: string[];
92
+ category?: string;
93
+ }
94
+ export interface WorkflowSummaryDto {
95
+ id: number;
96
+ workflowId: string;
97
+ name: string;
98
+ description: string;
99
+ version: number;
100
+ isActive: boolean;
101
+ category?: string;
102
+ tags: string[];
103
+ updatedAt: string;
104
+ updatedBy: string;
105
+ }
106
+ export interface CreateWorkflowRequest {
107
+ workflowId?: string;
108
+ name: string;
109
+ description?: string;
110
+ reactFlowSchema: WorkflowReactFlowSchema;
111
+ triggerId?: string;
112
+ triggerInputs?: Record<string, any>;
113
+ category?: string;
114
+ tags?: string[];
115
+ createdBy: string;
116
+ }
117
+ export interface UpdateWorkflowRequest {
118
+ name?: string;
119
+ description?: string;
120
+ reactFlowSchema?: WorkflowReactFlowSchema;
121
+ triggerId?: string;
122
+ triggerInputs?: Record<string, any>;
123
+ category?: string;
124
+ tags?: string[];
125
+ updatedBy: string;
126
+ }
127
+ export interface CloneWorkflowRequest {
128
+ newWorkflowId?: string;
129
+ newName?: string;
130
+ createdBy: string;
131
+ }
132
+ export interface WorkflowValidationResult {
133
+ isValid: boolean;
134
+ errors: WorkflowValidationError[];
135
+ warnings: WorkflowValidationWarning[];
136
+ }
137
+ export interface WorkflowValidationError {
138
+ code: string;
139
+ message: string;
140
+ nodeId?: string;
141
+ field?: string;
142
+ }
143
+ export interface WorkflowValidationWarning {
144
+ code: string;
145
+ message: string;
146
+ nodeId?: string;
147
+ }
148
+ export interface WorkflowActionCategoryDto {
149
+ name: string;
150
+ actions: WorkflowActionDto[];
151
+ }
152
+ export interface WorkflowActionDto {
153
+ id: string;
154
+ category: string;
155
+ name: string;
156
+ type: string;
157
+ inputs: ActionInputDescriptor[];
158
+ outputs: ActionOutputDescriptor[];
159
+ outcomes?: string[];
160
+ description?: string;
161
+ icon?: string;
162
+ color?: string;
163
+ tags?: string[];
164
+ groups?: InputGroup[];
165
+ }
166
+ export interface ActionInputDescriptor {
167
+ id: string;
168
+ name: string;
169
+ description?: string;
170
+ type: string;
171
+ required: boolean;
172
+ defaultValue?: any;
173
+ hasOptionsProvider: boolean;
174
+ uiHint: string;
175
+ helpText?: string;
176
+ placeholder?: string;
177
+ group?: string;
178
+ order: number;
179
+ validation?: InputValidation;
180
+ dependencies?: InputDependency[];
181
+ }
182
+ export interface ActionOutputDescriptor {
183
+ id: string;
184
+ name: string;
185
+ description?: string;
186
+ type: string;
187
+ displayName?: string;
188
+ }
189
+ /**
190
+ * Input group for organizing inputs in sections
191
+ */
192
+ export interface InputGroup {
193
+ id: string;
194
+ displayName: string;
195
+ order: number;
196
+ collapsed: boolean;
197
+ description?: string;
198
+ }
199
+ /**
200
+ * Input validation rules
201
+ */
202
+ export interface InputValidation {
203
+ minLength?: number;
204
+ maxLength?: number;
205
+ min?: number;
206
+ max?: number;
207
+ pattern?: string;
208
+ message?: string;
209
+ }
210
+ /**
211
+ * Input dependency for conditional visibility/enabled/required
212
+ */
213
+ export interface InputDependency {
214
+ dependsOn: string;
215
+ operator: DependencyOperator;
216
+ value?: any;
217
+ action: DependencyAction;
218
+ }
219
+ /**
220
+ * Dependency operators for condition evaluation
221
+ */
222
+ export type DependencyOperator = 'equals' | 'notEquals' | 'in' | 'notIn' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'isNotEmpty' | 'isEmpty';
223
+ /**
224
+ * Dependency actions (what happens when condition is true)
225
+ */
226
+ export type DependencyAction = 'visible' | 'enabled' | 'required';
227
+ export interface ActionInputOption {
228
+ value: string;
229
+ label: string;
230
+ description?: string;
231
+ }
232
+ export interface WorkflowTriggerCategoryDto {
233
+ name: string;
234
+ triggers: WorkflowTriggerDto[];
235
+ }
236
+ export interface WorkflowTriggerDto {
237
+ id: string;
238
+ name: string;
239
+ description: string;
240
+ category: string;
241
+ icon?: string;
242
+ inputs: ActionInputDescriptor[];
243
+ outputs: ActionOutputDescriptor[];
244
+ }
245
+ export interface ConvertToWorkflowCoreResponse {
246
+ workflowCoreJson: string;
247
+ }
248
+ export interface ConvertToReactFlowRequest {
249
+ workflowCoreJson: string;
250
+ autoLayout?: boolean;
251
+ }
252
+ export interface Workflow {
253
+ nodes: WorkflowNode[];
254
+ edges: WorkflowEdge[];
255
+ }
256
+ export interface ActionCategoryDefinition {
257
+ name: string;
258
+ actions: WorkflowActionDto[];
259
+ }
260
+ export interface TriggerCategoryDefinition {
261
+ name: string;
262
+ triggers: WorkflowTriggerDto[];
263
+ }
264
+ export declare enum WorkflowStatus {
265
+ Runnable = 0,// In esecuzione o pronta per eseguire
266
+ Suspended = 1,// Sospesa manualmente
267
+ Complete = 2,// Completata con successo
268
+ Terminated = 3
269
+ }
270
+ export declare enum PointerStatus {
271
+ Legacy = 0,
272
+ Pending = 1,
273
+ Running = 2,
274
+ Complete = 3,
275
+ Sleeping = 4,
276
+ WaitingForEvent = 5,
277
+ Failed = 6,
278
+ Compensated = 7,
279
+ Cancelled = 8
280
+ }
281
+ export interface WorkflowExecutionSummaryDto {
282
+ instanceId: string;
283
+ workflowDefinitionId: string;
284
+ version: number;
285
+ description: string;
286
+ reference: string;
287
+ status: WorkflowStatus;
288
+ createTime: string;
289
+ completeTime?: string;
290
+ nextExecution?: string;
291
+ }
292
+ export interface WorkflowExecutionDetailsDto {
293
+ instanceId: string;
294
+ workflowDefinitionId: string;
295
+ version: number;
296
+ description: string;
297
+ reference: string;
298
+ status: WorkflowStatus;
299
+ createTime: string;
300
+ completeTime?: string;
301
+ nextExecution?: string;
302
+ data: string;
303
+ steps: WorkflowExecutionStepDto[];
304
+ errors: WorkflowExecutionErrorDto[];
305
+ }
306
+ export interface WorkflowExecutionStepDto {
307
+ id: string;
308
+ stepId: number;
309
+ stepName: string;
310
+ active: boolean;
311
+ startTime?: string;
312
+ endTime?: string;
313
+ status: PointerStatus;
314
+ outcome: string;
315
+ retryCount: number;
316
+ sleepUntil?: string;
317
+ eventName?: string;
318
+ eventKey?: string;
319
+ eventPublished: boolean;
320
+ persistenceData?: string;
321
+ contextItem?: string;
322
+ predecessorId?: string;
323
+ scope?: string;
324
+ }
325
+ export interface WorkflowExecutionErrorDto {
326
+ workflowId: string;
327
+ executionPointerId: string;
328
+ errorTime: string;
329
+ message: string;
330
+ }
@@ -1,6 +1,116 @@
1
- import { ActionCategoryDefinition, TriggerCategoryDefinition, Workflow } from "./models";
1
+ import { Workflow, WorkflowDto, WorkflowSummaryDto, CreateWorkflowRequest, UpdateWorkflowRequest, CloneWorkflowRequest, WorkflowValidationResult, WorkflowReactFlowSchema, ConvertToWorkflowCoreResponse, ConvertToReactFlowRequest, WorkflowActionCategoryDto, WorkflowTriggerCategoryDto, WorkflowExecutionSummaryDto, WorkflowExecutionDetailsDto, WorkflowExecutionStepDto, WorkflowExecutionErrorDto } from "./models";
2
+ import { BlockDescriptor, BlocksByCategory, ExecutePipelineRequest, ExecuteSavedPipelineRequest, PipelineDetails, PipelineExecutionDetails, PipelineExecutionHistoryItem, PipelineListItem, PipelineResult, RunningExecutionItem, SavePipelineRequest, SavePipelineResponse, StopExecutionResponse, ValidatePipelineRequest, ValidationResult } from "./models/etl.models";
2
3
  export declare class WorkflowService {
3
- getActionsDefinition(): Promise<ActionCategoryDefinition[]>;
4
- getTriggersDefinition(): Promise<TriggerCategoryDefinition[]>;
4
+ getEtlBlocks(): Promise<BlockDescriptor[]>;
5
+ getEtlBlocksGrouped(): Promise<BlocksByCategory>;
6
+ getEtlBlock(type: string): Promise<BlockDescriptor>;
7
+ /**
8
+ * Ottiene tutte le azioni disponibili organizzate per categoria
9
+ */
10
+ getActionsDefinition(): Promise<WorkflowActionCategoryDto[]>;
11
+ /**
12
+ * Ottiene tutti i trigger disponibili organizzati per categoria
13
+ */
14
+ getTriggersDefinition(): Promise<WorkflowTriggerCategoryDto[]>;
15
+ /**
16
+ * Crea un nuovo workflow
17
+ */
18
+ createWorkflow(request: CreateWorkflowRequest): Promise<WorkflowDto>;
19
+ /**
20
+ * Ottiene un workflow per ID database
21
+ */
22
+ getWorkflowById(id: number): Promise<WorkflowDto>;
23
+ /**
24
+ * Ottiene un workflow per WorkflowId
25
+ */
26
+ getWorkflowByWorkflowId(workflowId: string): Promise<WorkflowDto>;
27
+ /**
28
+ * Ottiene tutti i workflow (summary)
29
+ */
30
+ listWorkflows(): Promise<WorkflowSummaryDto[]>;
31
+ /**
32
+ * Aggiorna un workflow esistente
33
+ */
34
+ updateWorkflow(id: number, request: UpdateWorkflowRequest): Promise<WorkflowDto>;
35
+ /**
36
+ * Elimina un workflow
37
+ */
38
+ deleteWorkflow(id: number): Promise<void>;
39
+ /**
40
+ * Attiva un workflow
41
+ */
42
+ activateWorkflow(id: number, updatedBy: string): Promise<WorkflowDto>;
43
+ /**
44
+ * Disattiva un workflow
45
+ */
46
+ deactivateWorkflow(id: number, updatedBy: string): Promise<WorkflowDto>;
47
+ /**
48
+ * Avvia un workflow con un trigger specifico
49
+ * @param workflowId - ID del workflow da avviare
50
+ * @param triggerId - ID del trigger da utilizzare
51
+ * @param inputs - Inputs per il trigger (opzionale)
52
+ */
53
+ startWorkflow(workflowId: number, triggerId: string, inputs?: Record<string, any>): Promise<{
54
+ executionId: string;
55
+ }>;
56
+ /**
57
+ * Clona un workflow
58
+ */
59
+ cloneWorkflow(id: number, request: CloneWorkflowRequest): Promise<WorkflowDto>;
60
+ /**
61
+ * Valida uno schema ReactFlow
62
+ */
63
+ validateWorkflow(schema: WorkflowReactFlowSchema): Promise<WorkflowValidationResult>;
64
+ /**
65
+ * Converte uno schema ReactFlow in WorkflowCore JSON
66
+ */
67
+ convertToWorkflowCore(schema: WorkflowReactFlowSchema): Promise<ConvertToWorkflowCoreResponse>;
68
+ /**
69
+ * Converte un WorkflowCore JSON in schema ReactFlow
70
+ */
71
+ convertToReactFlow(request: ConvertToReactFlowRequest): Promise<WorkflowReactFlowSchema>;
72
+ /**
73
+ * @deprecated Use validateWorkflow instead
74
+ */
5
75
  test(workflow: Workflow): Promise<void>;
76
+ /**
77
+ * Ottiene tutte le esecuzioni di un workflow specifico
78
+ */
79
+ getWorkflowExecutions(workflowId: number): Promise<WorkflowExecutionSummaryDto[]>;
80
+ /**
81
+ * Ottiene i dettagli completi di un'esecuzione
82
+ */
83
+ getExecutionDetails(instanceId: string): Promise<WorkflowExecutionDetailsDto>;
84
+ /**
85
+ * Ottiene solo gli step di un'esecuzione
86
+ */
87
+ getExecutionSteps(instanceId: string): Promise<WorkflowExecutionStepDto[]>;
88
+ /**
89
+ * Ottiene solo gli errori di un'esecuzione
90
+ */
91
+ getExecutionErrors(instanceId: string): Promise<WorkflowExecutionErrorDto[]>;
92
+ /**
93
+ * Termina un'esecuzione in corso
94
+ */
95
+ terminateExecution(instanceId: string): Promise<void>;
96
+ /**
97
+ * Sospende un'esecuzione in corso
98
+ */
99
+ suspendExecution(instanceId: string): Promise<void>;
100
+ /**
101
+ * Riprende un'esecuzione sospesa
102
+ */
103
+ resumeExecution(instanceId: string): Promise<void>;
104
+ saveEtlPipeline(request: SavePipelineRequest): Promise<SavePipelineResponse>;
105
+ listEtlPipelines(): Promise<PipelineListItem[]>;
106
+ getEtlPipeline(id: string): Promise<PipelineDetails>;
107
+ deleteEtlPipeline(id: string): Promise<void>;
108
+ executeSavedEtlPipeline(pipelineId: string, request?: ExecuteSavedPipelineRequest): Promise<PipelineResult>;
109
+ getEtlPipelineExecutions(pipelineId: string): Promise<PipelineExecutionHistoryItem[]>;
110
+ getEtlExecutionDetails(executionId: string): Promise<PipelineExecutionDetails>;
111
+ getRunningEtlExecutions(): Promise<RunningExecutionItem[]>;
112
+ stopEtlExecution(executionId: string): Promise<StopExecutionResponse>;
113
+ validateEtlPipeline(request: ValidatePipelineRequest): Promise<ValidationResult>;
114
+ executeEtlPipeline(request: ExecutePipelineRequest): Promise<PipelineResult>;
115
+ dryRunEtlPipeline(request: ExecutePipelineRequest): Promise<PipelineResult>;
6
116
  }
@@ -1,5 +0,0 @@
1
- import { ActionDefinition } from "./action-definition";
2
- export interface ActionCategoryDefinition {
3
- name: string;
4
- actions: ActionDefinition[];
5
- }
@@ -1,11 +0,0 @@
1
- import { ActionInputDefinition } from "./action-input-definition";
2
- import { ActionOutputDefinition } from "./action-output-definition";
3
- export interface ActionDefinition {
4
- id: string;
5
- category: string;
6
- name: string;
7
- type: string;
8
- inputs: ActionInputDefinition[];
9
- outputs: ActionOutputDefinition[];
10
- outcomes: string[];
11
- }
@@ -1,8 +0,0 @@
1
- export interface ActionInputDefinition {
2
- name: string;
3
- type: string;
4
- required: boolean;
5
- uiHint: string;
6
- displayName: null | string;
7
- optionsProviderType: null | string;
8
- }
@@ -1,4 +0,0 @@
1
- export interface ActionOutputDefinition {
2
- name: string;
3
- type: string;
4
- }
@@ -1,5 +0,0 @@
1
- import { TriggerDefinition } from "./trigger-definition";
2
- export interface TriggerCategoryDefinition {
3
- name: string;
4
- triggers: TriggerDefinition[];
5
- }
@@ -1,10 +0,0 @@
1
- import { ActionInputDefinition } from "./action-input-definition";
2
- import { ActionOutputDefinition } from "./action-output-definition";
3
- export interface TriggerDefinition {
4
- id: string;
5
- category: string;
6
- name: string;
7
- type: string;
8
- inputs: ActionInputDefinition[];
9
- outputs: ActionOutputDefinition[];
10
- }
@@ -1,6 +0,0 @@
1
- export declare enum WorkflowActionInputType {
2
- none = 0,
3
- manual = 1,
4
- dynamic = 2,
5
- expression = 3
6
- }
@@ -1,5 +0,0 @@
1
- import { WorkflowActionInputType } from "./workflow-action-input-type";
2
- export interface WorkflowActionInput {
3
- type: WorkflowActionInputType;
4
- value: string | undefined;
5
- }
@@ -1,16 +0,0 @@
1
- import { WorkflowActionInput } from "./workflow-action-input";
2
- export interface WorkflowAction {
3
- id: string;
4
- name: string;
5
- color: string;
6
- description: string;
7
- type: string;
8
- outcomes: string[];
9
- nextActions: {
10
- [outcome: string]: WorkflowAction;
11
- };
12
- parallelActions: WorkflowAction[];
13
- inputs: {
14
- [property: string]: WorkflowActionInput;
15
- };
16
- }
@@ -1,11 +0,0 @@
1
- import { WorkflowActionInput } from "./workflow-action-input";
2
- export interface WorkflowTrigger {
3
- id: string;
4
- name: string;
5
- color: string;
6
- description: string;
7
- type: string;
8
- inputs: {
9
- [property: string]: WorkflowActionInput;
10
- };
11
- }
@@ -1,9 +0,0 @@
1
- import { WorkflowAction } from "./workflow-action";
2
- import { WorkflowTrigger } from "./workflow-trigger";
3
- export interface Workflow {
4
- id: string;
5
- description: string;
6
- version: number;
7
- trigger?: WorkflowTrigger;
8
- firstAction?: WorkflowAction;
9
- }