@activepieces/shared 0.0.1 → 0.0.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.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/src/index.d.ts +3 -6
  3. package/src/index.js +6 -12
  4. package/src/index.js.map +1 -1
  5. package/src/lib/app-connection/app-connection.d.ts +4 -2
  6. package/src/lib/app-connection/dto/upsert-app-connection-request.d.ts +4 -2
  7. package/src/lib/app-connection/dto/upsert-app-connection-request.js +2 -1
  8. package/src/lib/app-connection/dto/upsert-app-connection-request.js.map +1 -1
  9. package/src/lib/collections/collection.d.ts +8 -2
  10. package/src/lib/collections/collection.js +4 -0
  11. package/src/lib/collections/collection.js.map +1 -1
  12. package/src/lib/collections/dto/list-collections-request.d.ts +0 -1
  13. package/src/lib/collections/dto/list-collections-request.js +0 -1
  14. package/src/lib/collections/dto/list-collections-request.js.map +1 -1
  15. package/src/lib/collections/dto/update-collection-request.d.ts +1 -46
  16. package/src/lib/collections/dto/update-collection-request.js +1 -30
  17. package/src/lib/collections/dto/update-collection-request.js.map +1 -1
  18. package/src/lib/common/activepieces-error.d.ts +5 -7
  19. package/src/lib/common/activepieces-error.js +2 -1
  20. package/src/lib/common/activepieces-error.js.map +1 -1
  21. package/src/lib/engine/engine-operation.d.ts +33 -6
  22. package/src/lib/engine/engine-operation.js +2 -0
  23. package/src/lib/engine/engine-operation.js.map +1 -1
  24. package/src/lib/flow-run/create-flow-run-request.d.ts +1 -1
  25. package/src/lib/flow-run/create-flow-run-request.js +2 -1
  26. package/src/lib/flow-run/create-flow-run-request.js.map +1 -1
  27. package/src/lib/flow-run/execution/execution-state.d.ts +0 -2
  28. package/src/lib/flow-run/execution/execution-state.js +0 -18
  29. package/src/lib/flow-run/execution/execution-state.js.map +1 -1
  30. package/src/lib/flow-run/execution/step-output.d.ts +10 -6
  31. package/src/lib/flow-run/execution/step-output.js +4 -1
  32. package/src/lib/flow-run/execution/step-output.js.map +1 -1
  33. package/src/lib/flow-run/flow-run.d.ts +0 -2
  34. package/src/lib/flow-run/flow-run.js.map +1 -1
  35. package/src/lib/flows/actions/action.d.ts +91 -19
  36. package/src/lib/flows/actions/action.js +67 -11
  37. package/src/lib/flows/actions/action.js.map +1 -1
  38. package/src/lib/flows/flow-helper.d.ts +3 -1
  39. package/src/lib/flows/flow-helper.js +111 -28
  40. package/src/lib/flows/flow-helper.js.map +1 -1
  41. package/src/lib/flows/flow-operations.d.ts +72 -31
  42. package/src/lib/flows/flow-operations.js +12 -12
  43. package/src/lib/flows/flow-operations.js.map +1 -1
  44. package/src/lib/flows/triggers/trigger.d.ts +6 -4
  45. package/src/lib/flows/triggers/trigger.js +8 -2
  46. package/src/lib/flows/triggers/trigger.js.map +1 -1
  47. package/src/lib/instance/model/instance.d.ts +0 -2
  48. package/src/lib/instance/model/instance.js.map +1 -1
  49. package/src/lib/pieces/dto/piece-option-request.d.ts +1 -1
  50. package/src/lib/pieces/dto/piece-option-request.js +1 -1
  51. package/src/lib/pieces/dto/piece-option-request.js.map +1 -1
  52. package/src/lib/pieces/model/piece-metadata.d.ts +6 -1
  53. package/src/lib/collections/collection-version.d.ts +0 -14
  54. package/src/lib/collections/collection-version.js +0 -9
  55. package/src/lib/collections/collection-version.js.map +0 -1
  56. package/src/lib/collections/config.d.ts +0 -24
  57. package/src/lib/collections/config.js +0 -12
  58. package/src/lib/collections/config.js.map +0 -1
@@ -3,18 +3,22 @@ export declare enum StepOutputStatus {
3
3
  SUCCEEDED = "SUCCEEDED",
4
4
  FAILED = "FAILED"
5
5
  }
6
- export declare class StepOutput {
6
+ export declare class StepOutput<T = any> {
7
7
  duration?: number;
8
8
  input?: unknown;
9
- output?: any;
9
+ output?: T;
10
10
  errorMessage?: unknown;
11
11
  standardOutput?: unknown;
12
12
  status?: StepOutputStatus;
13
13
  }
14
- export declare class LoopOnItemsStepOutput extends StepOutput {
14
+ export declare class LoopOnItemsStepOutput extends StepOutput<{
15
+ current_item: any;
16
+ current_iteration: number;
17
+ iterations: Record<string, StepOutput>[];
18
+ }> {
19
+ }
20
+ export declare class BranchStepOutput extends StepOutput {
15
21
  output: {
16
- current_item: any;
17
- current_iteration: number;
18
- iterations: Record<string, StepOutput>[];
22
+ condition: boolean;
19
23
  };
20
24
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoopOnItemsStepOutput = exports.StepOutput = exports.StepOutputStatus = void 0;
3
+ exports.BranchStepOutput = exports.LoopOnItemsStepOutput = exports.StepOutput = exports.StepOutputStatus = void 0;
4
4
  var StepOutputStatus;
5
5
  (function (StepOutputStatus) {
6
6
  StepOutputStatus["RUNNING"] = "RUNNING";
@@ -13,4 +13,7 @@ exports.StepOutput = StepOutput;
13
13
  class LoopOnItemsStepOutput extends StepOutput {
14
14
  }
15
15
  exports.LoopOnItemsStepOutput = LoopOnItemsStepOutput;
16
+ class BranchStepOutput extends StepOutput {
17
+ }
18
+ exports.BranchStepOutput = BranchStepOutput;
16
19
  //# sourceMappingURL=step-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-output.js","sourceRoot":"","sources":["../../../../../../../packages/shared/src/lib/flow-run/execution/step-output.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,MAAa,UAAU;CAOtB;AAPD,gCAOC;AAED,MAAa,qBAAsB,SAAQ,UAAU;CAMpD;AAND,sDAMC"}
1
+ {"version":3,"file":"step-output.js","sourceRoot":"","sources":["../../../../../../../packages/shared/src/lib/flow-run/execution/step-output.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,2CAAuB,CAAA;IACvB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,MAAa,UAAU;CAOtB;AAPD,gCAOC;AAED,MAAa,qBAAsB,SAAQ,UAIzC;CAED;AAND,sDAMC;AAED,MAAa,gBAAiB,SAAQ,UAAU;CAI/C;AAJD,4CAIC"}
@@ -2,7 +2,6 @@ import { BaseModel } from '../common/base-model';
2
2
  import { ProjectId } from '../project/project';
3
3
  import { FlowVersionId } from '../flows/flow-version';
4
4
  import { FileId } from '../file/file';
5
- import { CollectionVersionId } from '../collections/collection-version';
6
5
  import { CollectionId } from '../collections/collection';
7
6
  import { ApId } from '../common/id-generator';
8
7
  import { ExecutionOutput, ExecutionOutputStatus } from './execution/execution-output';
@@ -14,7 +13,6 @@ export interface FlowRun extends BaseModel<FlowRunId> {
14
13
  flowId: FlowId;
15
14
  collectionId: CollectionId;
16
15
  flowVersionId: FlowVersionId;
17
- collectionVersionId: CollectionVersionId;
18
16
  flowDisplayName: string;
19
17
  collectionDisplayName: string;
20
18
  logsFileId: FileId | null;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-run.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flow-run/flow-run.ts"],"names":[],"mappings":";;;AAkCA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,qCAAmB,CAAA;AACrB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB"}
1
+ {"version":3,"file":"flow-run.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flow-run/flow-run.ts"],"names":[],"mappings":";;;AAgCA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,qCAAmB,CAAA;AACrB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB"}
@@ -2,7 +2,8 @@ import { Static } from '@sinclair/typebox';
2
2
  export declare enum ActionType {
3
3
  CODE = "CODE",
4
4
  PIECE = "PIECE",
5
- LOOP_ON_ITEMS = "LOOP_ON_ITEMS"
5
+ LOOP_ON_ITEMS = "LOOP_ON_ITEMS",
6
+ BRANCH = "BRANCH"
6
7
  }
7
8
  export declare const CodeActionSettings: import("@sinclair/typebox").TObject<{
8
9
  artifactSourceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
@@ -11,7 +12,7 @@ export declare const CodeActionSettings: import("@sinclair/typebox").TObject<{
11
12
  input: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TAny>;
12
13
  }>;
13
14
  export declare type CodeActionSettings = Static<typeof CodeActionSettings>;
14
- export declare const CodeAction: import("@sinclair/typebox").TObject<{
15
+ export declare const CodeActionSchema: import("@sinclair/typebox").TObject<{
15
16
  type: import("@sinclair/typebox").TLiteral<ActionType.CODE>;
16
17
  settings: import("@sinclair/typebox").TObject<{
17
18
  artifactSourceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
@@ -22,9 +23,7 @@ export declare const CodeAction: import("@sinclair/typebox").TObject<{
22
23
  name: import("@sinclair/typebox").TString<string>;
23
24
  valid: import("@sinclair/typebox").TBoolean;
24
25
  displayName: import("@sinclair/typebox").TString<string>;
25
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
26
26
  }>;
27
- export declare type CodeAction = Static<typeof CodeAction>;
28
27
  export declare const PieceActionSettings: import("@sinclair/typebox").TObject<{
29
28
  pieceName: import("@sinclair/typebox").TString<string>;
30
29
  pieceVersion: import("@sinclair/typebox").TString<string>;
@@ -33,7 +32,7 @@ export declare const PieceActionSettings: import("@sinclair/typebox").TObject<{
33
32
  inputUiInfo: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString<string>, import("@sinclair/typebox").TAny>;
34
33
  }>;
35
34
  export declare type PieceActionSettings = Static<typeof PieceActionSettings>;
36
- export declare const PieceAction: import("@sinclair/typebox").TObject<{
35
+ export declare const PieceActionSchema: import("@sinclair/typebox").TObject<{
37
36
  type: import("@sinclair/typebox").TLiteral<ActionType.PIECE>;
38
37
  settings: import("@sinclair/typebox").TObject<{
39
38
  pieceName: import("@sinclair/typebox").TString<string>;
@@ -45,9 +44,7 @@ export declare const PieceAction: import("@sinclair/typebox").TObject<{
45
44
  name: import("@sinclair/typebox").TString<string>;
46
45
  valid: import("@sinclair/typebox").TBoolean;
47
46
  displayName: import("@sinclair/typebox").TString<string>;
48
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
49
47
  }>;
50
- export declare type PieceAction = Static<typeof PieceAction>;
51
48
  export declare enum StoreOperation {
52
49
  PUT = "PUT",
53
50
  GET = "GET"
@@ -55,21 +52,61 @@ export declare enum StoreOperation {
55
52
  export declare type LoopOnItemsActionSettings = {
56
53
  items: unknown;
57
54
  };
58
- export declare const LoopOnItemsAction: import("@sinclair/typebox").TObject<{
55
+ export declare const LoopOnItemsActionSchema: import("@sinclair/typebox").TObject<{
59
56
  type: import("@sinclair/typebox").TLiteral<ActionType.LOOP_ON_ITEMS>;
60
57
  settings: import("@sinclair/typebox").TObject<{
61
58
  items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
62
59
  }>;
63
- firstLoopAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
64
60
  name: import("@sinclair/typebox").TString<string>;
65
61
  valid: import("@sinclair/typebox").TBoolean;
66
62
  displayName: import("@sinclair/typebox").TString<string>;
67
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
68
63
  }>;
69
- export declare type LoopOnItemsAction = Static<typeof LoopOnItemsAction> & {
70
- firstLoopAction?: Action;
64
+ export declare enum BranchOperator {
65
+ TEXT_CONTAINS = "TEXT_CONTAINS",
66
+ TEXT_DOES_NOT_CONTAIN = "TEXT_DOES_NOT_CONTAIN",
67
+ TEXT_EXACTLY_MATCHES = "TEXT_EXACTLY_MATCHES",
68
+ TEXT_DOES_NOT_EXACTLY_MATCH = "TEXT_DOES_NOT_EXACTLY_MATCH",
69
+ TEXT_STARTS_WITH = "TEXT_START_WITH",
70
+ TEXT_DOES_NOT_START_WITH = "TEXT_DOES_NOT_START_WITH",
71
+ TEXT_ENDS_WITH = "TEXT_ENDS_WITH",
72
+ TEXT_DOES_NOT_END_WITH = "TEXT_DOES_NOT_END_WITH",
73
+ NUMBER_IS_GREATER_THAN = "NUMBER_IS_GREATER_THAN",
74
+ NUMBER_IS_LESS_THAN = "NUMBER_IS_LESS_THAN",
75
+ BOOLEAN_IS_TRUE = "BOOLEAN_IS_TRUE",
76
+ BOOLEAN_IS_FALSE = "BOOLEAN_IS_FALSE",
77
+ EXISTS = "EXISTS",
78
+ DOES_NOT_EXIST = "DOES_NOT_EXIST"
79
+ }
80
+ export declare const singleValueConditions: BranchOperator[];
81
+ export declare const BranchCondition: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
82
+ firstValue: import("@sinclair/typebox").TString<string>;
83
+ secondValue: import("@sinclair/typebox").TString<string>;
84
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
85
+ }>, import("@sinclair/typebox").TObject<{
86
+ firstValue: import("@sinclair/typebox").TString<string>;
87
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
88
+ }>]>;
89
+ export declare type BranchCondition = Static<typeof BranchCondition>;
90
+ export declare type BranchActionSettings = {
91
+ conditions: BranchCondition[][];
71
92
  };
72
- export declare const Action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
93
+ export declare const BranchActionSchema: import("@sinclair/typebox").TObject<{
94
+ type: import("@sinclair/typebox").TLiteral<ActionType.BRANCH>;
95
+ settings: import("@sinclair/typebox").TObject<{
96
+ conditions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
97
+ firstValue: import("@sinclair/typebox").TString<string>;
98
+ secondValue: import("@sinclair/typebox").TString<string>;
99
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
100
+ }>, import("@sinclair/typebox").TObject<{
101
+ firstValue: import("@sinclair/typebox").TString<string>;
102
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
103
+ }>]>>>;
104
+ }>;
105
+ name: import("@sinclair/typebox").TString<string>;
106
+ valid: import("@sinclair/typebox").TBoolean;
107
+ displayName: import("@sinclair/typebox").TString<string>;
108
+ }>;
109
+ export declare const Action: import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
73
110
  type: import("@sinclair/typebox").TLiteral<ActionType.CODE>;
74
111
  settings: import("@sinclair/typebox").TObject<{
75
112
  artifactSourceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString<string>>;
@@ -80,8 +117,9 @@ export declare const Action: import("@sinclair/typebox").TUnion<[import("@sincla
80
117
  name: import("@sinclair/typebox").TString<string>;
81
118
  valid: import("@sinclair/typebox").TBoolean;
82
119
  displayName: import("@sinclair/typebox").TString<string>;
83
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
84
120
  }>, import("@sinclair/typebox").TObject<{
121
+ nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
122
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
85
123
  type: import("@sinclair/typebox").TLiteral<ActionType.PIECE>;
86
124
  settings: import("@sinclair/typebox").TObject<{
87
125
  pieceName: import("@sinclair/typebox").TString<string>;
@@ -93,18 +131,52 @@ export declare const Action: import("@sinclair/typebox").TUnion<[import("@sincla
93
131
  name: import("@sinclair/typebox").TString<string>;
94
132
  valid: import("@sinclair/typebox").TBoolean;
95
133
  displayName: import("@sinclair/typebox").TString<string>;
96
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
97
134
  }>, import("@sinclair/typebox").TObject<{
135
+ nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
136
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
98
137
  type: import("@sinclair/typebox").TLiteral<ActionType.LOOP_ON_ITEMS>;
99
138
  settings: import("@sinclair/typebox").TObject<{
100
139
  items: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
101
140
  }>;
102
- firstLoopAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
103
141
  name: import("@sinclair/typebox").TString<string>;
104
142
  valid: import("@sinclair/typebox").TBoolean;
105
143
  displayName: import("@sinclair/typebox").TString<string>;
106
- nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
107
- }>]>;
108
- export declare type Action = Static<typeof Action> & {
144
+ }>, import("@sinclair/typebox").TObject<{
145
+ nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
146
+ firstLoopAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
147
+ }>]>, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
148
+ type: import("@sinclair/typebox").TLiteral<ActionType.BRANCH>;
149
+ settings: import("@sinclair/typebox").TObject<{
150
+ conditions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
151
+ firstValue: import("@sinclair/typebox").TString<string>;
152
+ secondValue: import("@sinclair/typebox").TString<string>;
153
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
154
+ }>, import("@sinclair/typebox").TObject<{
155
+ firstValue: import("@sinclair/typebox").TString<string>;
156
+ operator: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<BranchOperator>[]>>;
157
+ }>]>>>;
158
+ }>;
159
+ name: import("@sinclair/typebox").TString<string>;
160
+ valid: import("@sinclair/typebox").TBoolean;
161
+ displayName: import("@sinclair/typebox").TString<string>;
162
+ }>, import("@sinclair/typebox").TObject<{
163
+ nextAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
164
+ onSuccessAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
165
+ onFailureAction: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSelf>;
166
+ }>]>]>>;
167
+ export declare type Action = Static<typeof Action>;
168
+ export declare type BranchAction = Static<typeof BranchActionSchema> & {
169
+ nextAction?: Action;
170
+ onFailureAction?: Action;
171
+ onSuccessAction?: Action;
172
+ };
173
+ export declare type LoopOnItemsAction = Static<typeof LoopOnItemsActionSchema> & {
174
+ nextAction?: Action;
175
+ firstLoopAction?: Action;
176
+ };
177
+ export declare type PieceAction = Static<typeof PieceActionSchema> & {
178
+ nextAction?: Action;
179
+ };
180
+ export declare type CodeAction = Static<typeof CodeActionSchema> & {
109
181
  nextAction?: Action;
110
182
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Action = exports.LoopOnItemsAction = exports.StoreOperation = exports.PieceAction = exports.PieceActionSettings = exports.CodeAction = exports.CodeActionSettings = exports.ActionType = void 0;
3
+ exports.Action = exports.BranchActionSchema = exports.BranchCondition = exports.singleValueConditions = exports.BranchOperator = exports.LoopOnItemsActionSchema = exports.StoreOperation = exports.PieceActionSchema = exports.PieceActionSettings = exports.CodeActionSchema = exports.CodeActionSettings = exports.ActionType = void 0;
4
4
  const typebox_1 = require("@sinclair/typebox");
5
5
  const pieces_1 = require("../../pieces");
6
6
  var ActionType;
@@ -8,12 +8,12 @@ var ActionType;
8
8
  ActionType["CODE"] = "CODE";
9
9
  ActionType["PIECE"] = "PIECE";
10
10
  ActionType["LOOP_ON_ITEMS"] = "LOOP_ON_ITEMS";
11
+ ActionType["BRANCH"] = "BRANCH";
11
12
  })(ActionType = exports.ActionType || (exports.ActionType = {}));
12
13
  const commonActionProps = {
13
14
  name: typebox_1.Type.String({}),
14
15
  valid: typebox_1.Type.Boolean({}),
15
16
  displayName: typebox_1.Type.String({}),
16
- nextAction: typebox_1.Type.Optional(typebox_1.Type.Any({}))
17
17
  };
18
18
  // Code Action
19
19
  exports.CodeActionSettings = typebox_1.Type.Object({
@@ -22,7 +22,7 @@ exports.CodeActionSettings = typebox_1.Type.Object({
22
22
  artifact: typebox_1.Type.Optional(typebox_1.Type.String({})),
23
23
  input: typebox_1.Type.Record(typebox_1.Type.String({}), typebox_1.Type.Any()),
24
24
  });
25
- exports.CodeAction = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.CODE), settings: exports.CodeActionSettings }));
25
+ exports.CodeActionSchema = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.CODE), settings: exports.CodeActionSettings }));
26
26
  // Piece Action
27
27
  exports.PieceActionSettings = typebox_1.Type.Object({
28
28
  pieceName: typebox_1.Type.String({}),
@@ -31,20 +31,76 @@ exports.PieceActionSettings = typebox_1.Type.Object({
31
31
  input: typebox_1.Type.Record(typebox_1.Type.String({}), typebox_1.Type.Any()),
32
32
  inputUiInfo: typebox_1.Type.Record(typebox_1.Type.String({}), typebox_1.Type.Any())
33
33
  });
34
- exports.PieceAction = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.PIECE), settings: exports.PieceActionSettings }));
34
+ exports.PieceActionSchema = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.PIECE), settings: exports.PieceActionSettings }));
35
35
  // Storage Action
36
36
  var StoreOperation;
37
37
  (function (StoreOperation) {
38
38
  StoreOperation["PUT"] = "PUT";
39
39
  StoreOperation["GET"] = "GET";
40
40
  })(StoreOperation = exports.StoreOperation || (exports.StoreOperation = {}));
41
- exports.LoopOnItemsAction = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.LOOP_ON_ITEMS), settings: typebox_1.Type.Object({
41
+ exports.LoopOnItemsActionSchema = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.LOOP_ON_ITEMS), settings: typebox_1.Type.Object({
42
42
  items: typebox_1.Type.Array(typebox_1.Type.Any({})),
43
- }), firstLoopAction: typebox_1.Type.Optional(typebox_1.Type.Any({})) }));
44
- // Union of all actions
45
- exports.Action = typebox_1.Type.Union([
46
- exports.CodeAction,
47
- exports.PieceAction,
48
- exports.LoopOnItemsAction
43
+ }) }));
44
+ // Loop Items
45
+ var BranchOperator;
46
+ (function (BranchOperator) {
47
+ BranchOperator["TEXT_CONTAINS"] = "TEXT_CONTAINS";
48
+ BranchOperator["TEXT_DOES_NOT_CONTAIN"] = "TEXT_DOES_NOT_CONTAIN";
49
+ BranchOperator["TEXT_EXACTLY_MATCHES"] = "TEXT_EXACTLY_MATCHES";
50
+ BranchOperator["TEXT_DOES_NOT_EXACTLY_MATCH"] = "TEXT_DOES_NOT_EXACTLY_MATCH";
51
+ BranchOperator["TEXT_STARTS_WITH"] = "TEXT_START_WITH";
52
+ BranchOperator["TEXT_DOES_NOT_START_WITH"] = "TEXT_DOES_NOT_START_WITH";
53
+ BranchOperator["TEXT_ENDS_WITH"] = "TEXT_ENDS_WITH";
54
+ BranchOperator["TEXT_DOES_NOT_END_WITH"] = "TEXT_DOES_NOT_END_WITH";
55
+ BranchOperator["NUMBER_IS_GREATER_THAN"] = "NUMBER_IS_GREATER_THAN";
56
+ BranchOperator["NUMBER_IS_LESS_THAN"] = "NUMBER_IS_LESS_THAN";
57
+ BranchOperator["BOOLEAN_IS_TRUE"] = "BOOLEAN_IS_TRUE";
58
+ BranchOperator["BOOLEAN_IS_FALSE"] = "BOOLEAN_IS_FALSE";
59
+ BranchOperator["EXISTS"] = "EXISTS";
60
+ BranchOperator["DOES_NOT_EXIST"] = "DOES_NOT_EXIST";
61
+ })(BranchOperator = exports.BranchOperator || (exports.BranchOperator = {}));
62
+ exports.singleValueConditions = [
63
+ BranchOperator.EXISTS,
64
+ BranchOperator.DOES_NOT_EXIST,
65
+ BranchOperator.BOOLEAN_IS_TRUE,
66
+ BranchOperator.BOOLEAN_IS_FALSE
67
+ ];
68
+ exports.BranchCondition = typebox_1.Type.Union([
69
+ typebox_1.Type.Object({
70
+ firstValue: typebox_1.Type.String({}),
71
+ secondValue: typebox_1.Type.String({}),
72
+ operator: typebox_1.Type.Optional(typebox_1.Type.Union([...Object.values(BranchOperator).
73
+ filter(c => exports.singleValueConditions.find(sc => sc === c) === undefined).map(c => {
74
+ return typebox_1.Type.Literal(c);
75
+ })]))
76
+ }),
77
+ typebox_1.Type.Object({
78
+ firstValue: typebox_1.Type.String({}),
79
+ operator: typebox_1.Type.Optional(typebox_1.Type.Union([...Object.values(BranchOperator).
80
+ filter(c => exports.singleValueConditions.find(sc => sc === c) !== undefined).map(c => {
81
+ return typebox_1.Type.Literal(c);
82
+ })]))
83
+ })
49
84
  ]);
85
+ exports.BranchActionSchema = typebox_1.Type.Object(Object.assign(Object.assign({}, commonActionProps), { type: typebox_1.Type.Literal(ActionType.BRANCH), settings: typebox_1.Type.Object({
86
+ conditions: typebox_1.Type.Array(typebox_1.Type.Array(exports.BranchCondition)),
87
+ }) }));
88
+ // Union of all actions
89
+ exports.Action = typebox_1.Type.Recursive(action => typebox_1.Type.Union([
90
+ typebox_1.Type.Intersect([exports.CodeActionSchema, typebox_1.Type.Object({
91
+ nextAction: typebox_1.Type.Optional(action),
92
+ })]),
93
+ typebox_1.Type.Intersect([exports.PieceActionSchema, typebox_1.Type.Object({
94
+ nextAction: typebox_1.Type.Optional(action),
95
+ })]),
96
+ typebox_1.Type.Intersect([exports.LoopOnItemsActionSchema, typebox_1.Type.Object({
97
+ nextAction: typebox_1.Type.Optional(action),
98
+ firstLoopAction: typebox_1.Type.Optional(action)
99
+ })]),
100
+ typebox_1.Type.Intersect([exports.BranchActionSchema, typebox_1.Type.Object({
101
+ nextAction: typebox_1.Type.Optional(action),
102
+ onSuccessAction: typebox_1.Type.Optional(action),
103
+ onFailureAction: typebox_1.Type.Optional(action)
104
+ })])
105
+ ]));
50
106
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../../../../../packages/shared/src/lib/flows/actions/action.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AACjD,yCAA0C;AAE1C,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,6CAA+B,CAAA;AACjC,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,KAAK,EAAE,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACvB,WAAW,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CACxC,CAAA;AAED,cAAc;AAED,QAAA,kBAAkB,GAAG,cAAI,CAAC,MAAM,CAAC;IAC5C,gBAAgB,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChD,kBAAkB,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAI,CAAC,GAAG,EAAE,CAAC;CAChD,CAAC,CAAC;AAKU,QAAA,UAAU,GAAG,cAAI,CAAC,MAAM,iCAChC,iBAAiB,KACpB,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,QAAQ,EAAE,0BAAkB,IAC5B,CAAC;AAMH,eAAe;AACF,QAAA,mBAAmB,GAAG,cAAI,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,YAAY,EAAE,mBAAU;IACxB,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAI,CAAC,GAAG,EAAE,CAAC;IAC/C,WAAW,EAAE,cAAI,CAAC,MAAM,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAI,CAAC,GAAG,EAAE,CAAC;CACtD,CAAC,CAAC;AAIU,QAAA,WAAW,GAAG,cAAI,CAAC,MAAM,iCACjC,iBAAiB,KACpB,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,QAAQ,EAAE,2BAAmB,IAC7B,CAAC;AAIH,iBAAiB;AAEjB,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAOY,QAAA,iBAAiB,GAAG,cAAI,CAAC,MAAM,iCACvC,iBAAiB,KACpB,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAC5C,QAAQ,EAAE,cAAI,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,cAAI,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChC,CAAC,EACF,eAAe,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAC5C,CAAC;AAMH,uBAAuB;AAEV,QAAA,MAAM,GAAG,cAAI,CAAC,KAAK,CAAC;IAC/B,kBAAU;IACV,mBAAW;IACX,yBAAiB;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../../../../../packages/shared/src/lib/flows/actions/action.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ import { Action } from './actions/action';
3
3
  import { Trigger } from './triggers/trigger';
4
4
  import { FlowVersion } from './flow-version';
5
5
  declare function isValid(flowVersion: FlowVersion): boolean;
6
- export declare function getStep(flowVersion: FlowVersion, stepName: string): Action | Trigger | undefined;
6
+ declare function getAllSteps(flowVersion: FlowVersion): (Action | Trigger)[];
7
+ declare function getStep(flowVersion: FlowVersion, stepName: string): Action | Trigger | undefined;
7
8
  export declare const flowHelper: {
8
9
  isValid: typeof isValid;
9
10
  apply(flowVersion: FlowVersion, operation: FlowOperationRequest): FlowVersion;
10
11
  getStep: typeof getStep;
12
+ getAllSteps: typeof getAllSteps;
11
13
  clone: (flowVersion: FlowVersion) => FlowVersion;
12
14
  };
13
15
  export {};
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flowHelper = exports.getStep = void 0;
3
+ exports.flowHelper = void 0;
4
4
  const flow_operations_1 = require("./flow-operations");
5
5
  const action_1 = require("./actions/action");
6
6
  const trigger_1 = require("./triggers/trigger");
7
7
  const compiler_1 = require("@sinclair/typebox/compiler");
8
+ const activepieces_error_1 = require("../common/activepieces-error");
8
9
  const actionSchemaValidator = compiler_1.TypeCompiler.Compile(action_1.Action);
9
10
  const triggerSchemaValidation = compiler_1.TypeCompiler.Compile(trigger_1.Trigger);
10
11
  function isValid(flowVersion) {
@@ -17,44 +18,119 @@ function isValid(flowVersion) {
17
18
  return valid;
18
19
  }
19
20
  function deleteAction(flowVersion, request) {
20
- let parentStep = flowVersion.trigger;
21
- while (parentStep.nextAction !== undefined &&
22
- parentStep.nextAction.name !== request.name) {
23
- parentStep = parentStep.nextAction;
21
+ const steps = getAllSteps(flowVersion);
22
+ let deleted = false;
23
+ for (let i = 0; i < steps.length; i++) {
24
+ const parentStep = steps[i];
25
+ if (parentStep.nextAction && parentStep.nextAction.name === request.name) {
26
+ const stepToUpdate = parentStep.nextAction;
27
+ parentStep.nextAction = stepToUpdate.nextAction;
28
+ deleted = true;
29
+ }
30
+ if (parentStep.type === action_1.ActionType.BRANCH) {
31
+ if (parentStep.onFailureAction && parentStep.onFailureAction.name === request.name) {
32
+ const stepToUpdate = parentStep.onFailureAction;
33
+ parentStep.onFailureAction = stepToUpdate.nextAction;
34
+ deleted = true;
35
+ }
36
+ if (parentStep.onSuccessAction && parentStep.onSuccessAction.name === request.name) {
37
+ const stepToUpdate = parentStep.onSuccessAction;
38
+ parentStep.onSuccessAction = stepToUpdate.nextAction;
39
+ deleted = true;
40
+ }
41
+ }
24
42
  }
25
- if (parentStep.nextAction !== undefined) {
26
- const stepToUpdate = parentStep.nextAction;
27
- parentStep.nextAction = stepToUpdate.nextAction;
43
+ if (!deleted) {
44
+ throw new activepieces_error_1.ActivepiecesError({
45
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
46
+ params: {}
47
+ }, `Action ${request.name} not found`);
28
48
  }
29
49
  }
30
- function getStep(flowVersion, stepName) {
31
- let currentStep = flowVersion.trigger;
32
- while (currentStep !== undefined && currentStep.name !== stepName) {
33
- currentStep = currentStep.nextAction;
50
+ function traverseFlowInternal(step) {
51
+ const steps = [];
52
+ while (step !== undefined && step !== null) {
53
+ steps.push(step);
54
+ if (step.type === action_1.ActionType.BRANCH) {
55
+ steps.push(...traverseFlowInternal(step.onFailureAction));
56
+ steps.push(...traverseFlowInternal(step.onSuccessAction));
57
+ }
58
+ step = step.nextAction;
34
59
  }
35
- return currentStep;
60
+ return steps;
61
+ }
62
+ function getAllSteps(flowVersion) {
63
+ return traverseFlowInternal(flowVersion.trigger);
64
+ }
65
+ function getStep(flowVersion, stepName) {
66
+ return getAllSteps(flowVersion).find((step) => step.name === stepName);
36
67
  }
37
- exports.getStep = getStep;
38
68
  function updateAction(flowVersion, request) {
39
- let parentStep = flowVersion.trigger;
40
- while (parentStep.nextAction !== undefined &&
41
- parentStep.nextAction.name !== request.name) {
42
- parentStep = parentStep.nextAction;
69
+ const steps = getAllSteps(flowVersion);
70
+ let updated = false;
71
+ for (let i = 0; i < steps.length; i++) {
72
+ const parentStep = steps[i];
73
+ if (parentStep.nextAction && parentStep.nextAction.name === request.name) {
74
+ const { nextAction, onSuccessAction, onFailureAction } = extractActions(parentStep.nextAction);
75
+ parentStep.nextAction = createAction(request, nextAction, onFailureAction, onSuccessAction);
76
+ updated = true;
77
+ }
78
+ if (parentStep.type === action_1.ActionType.BRANCH) {
79
+ if (parentStep.onFailureAction && parentStep.onFailureAction.name === request.name) {
80
+ const { nextAction, onSuccessAction, onFailureAction } = extractActions(parentStep.onFailureAction);
81
+ parentStep.onFailureAction = createAction(request, nextAction, onFailureAction, onSuccessAction);
82
+ updated = true;
83
+ }
84
+ if (parentStep.onSuccessAction && parentStep.onSuccessAction.name === request.name) {
85
+ const { nextAction, onSuccessAction, onFailureAction } = extractActions(parentStep.onSuccessAction);
86
+ parentStep.onSuccessAction = createAction(request, nextAction, onFailureAction, onSuccessAction);
87
+ updated = true;
88
+ }
89
+ }
43
90
  }
44
- if (parentStep.nextAction !== undefined) {
45
- const stepToUpdate = parentStep.nextAction;
46
- parentStep.nextAction = createAction(request, stepToUpdate.nextAction);
91
+ if (!updated) {
92
+ throw new activepieces_error_1.ActivepiecesError({
93
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
94
+ params: {}
95
+ }, `Action ${request.name} not found`);
47
96
  }
48
97
  }
98
+ function extractActions(step) {
99
+ const nextAction = step.nextAction;
100
+ const onSuccessAction = step.type === action_1.ActionType.BRANCH ? step.onSuccessAction : undefined;
101
+ const onFailureAction = step.type === action_1.ActionType.BRANCH ? step.onFailureAction : undefined;
102
+ return { nextAction, onSuccessAction, onFailureAction };
103
+ }
49
104
  function addAction(flowVersion, request) {
50
- let currentStep = flowVersion.trigger;
51
- while ((currentStep === null || currentStep === void 0 ? void 0 : currentStep.nextAction) !== undefined &&
52
- currentStep.name !== request.parentAction) {
53
- currentStep = currentStep.nextAction;
105
+ const parentStep = getAllSteps(flowVersion).find(step => step.name === request.parentStep);
106
+ if (parentStep === undefined) {
107
+ throw new activepieces_error_1.ActivepiecesError({
108
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
109
+ params: {}
110
+ }, `Parent step ${request.parentStep} not found`);
111
+ }
112
+ if (parentStep.type === action_1.ActionType.BRANCH && request.stepLocationRelativeToParent !== undefined && request.stepLocationRelativeToParent !== null) {
113
+ if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.INSIDE_TRUE_BRANCH) {
114
+ parentStep.onSuccessAction = createAction(request.action, parentStep.onSuccessAction);
115
+ }
116
+ else if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.INSIDE_FALSE_BRANCH) {
117
+ parentStep.onFailureAction = createAction(request.action, parentStep.onFailureAction);
118
+ }
119
+ else if (request.stepLocationRelativeToParent === flow_operations_1.StepLocationRelativeToParent.AFTER) {
120
+ parentStep.nextAction = createAction(request.action, parentStep.nextAction);
121
+ }
122
+ else {
123
+ throw new activepieces_error_1.ActivepiecesError({
124
+ code: activepieces_error_1.ErrorCode.FLOW_OPERATION_INVALID,
125
+ params: {}
126
+ }, `Branch ${request.stepLocationRelativeToParent} not found`);
127
+ }
128
+ }
129
+ else {
130
+ parentStep.nextAction = createAction(request.action, parentStep.nextAction);
54
131
  }
55
- currentStep.nextAction = createAction(request.action, currentStep.nextAction);
56
132
  }
57
- function createAction(request, nextAction) {
133
+ function createAction(request, nextAction, onFailureAction, onSuccessAction) {
58
134
  var _a;
59
135
  const baseProperties = {
60
136
  displayName: request.displayName,
@@ -64,8 +140,14 @@ function createAction(request, nextAction) {
64
140
  };
65
141
  let action;
66
142
  switch (request.type) {
143
+ case action_1.ActionType.BRANCH:
144
+ action = Object.assign(Object.assign({}, baseProperties), { onFailureAction: onFailureAction, onSuccessAction: onSuccessAction, type: action_1.ActionType.BRANCH, settings: request.settings });
145
+ break;
67
146
  case action_1.ActionType.LOOP_ON_ITEMS:
68
- action = Object.assign(Object.assign({}, baseProperties), { type: action_1.ActionType.LOOP_ON_ITEMS, settings: request.settings });
147
+ action = Object.assign(Object.assign({}, baseProperties), {
148
+ // Required to do when loops is supported
149
+ // firstLoopAction: request.firstLoopAction,
150
+ type: action_1.ActionType.LOOP_ON_ITEMS, settings: request.settings });
69
151
  break;
70
152
  case action_1.ActionType.PIECE:
71
153
  action = Object.assign(Object.assign({}, baseProperties), { type: action_1.ActionType.PIECE, settings: request.settings });
@@ -131,6 +213,7 @@ exports.flowHelper = {
131
213
  return clonedVersion;
132
214
  },
133
215
  getStep: getStep,
216
+ getAllSteps: getAllSteps,
134
217
  clone: (flowVersion) => {
135
218
  return JSON.parse(JSON.stringify(flowVersion));
136
219
  },
@@ -1 +1 @@
1
- {"version":3,"file":"flow-helper.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flows/flow-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-helper.js","sourceRoot":"","sources":["../../../../../../packages/shared/src/lib/flows/flow-helper.ts"],"names":[],"mappings":"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"}