n8n-workflow 1.116.0 → 1.118.0

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 (75) hide show
  1. package/dist/cjs/constants.d.ts +3 -0
  2. package/dist/cjs/constants.d.ts.map +1 -1
  3. package/dist/cjs/constants.js +5 -1
  4. package/dist/cjs/constants.js.map +1 -1
  5. package/dist/cjs/execution-context.d.ts +56 -0
  6. package/dist/cjs/execution-context.d.ts.map +1 -0
  7. package/dist/cjs/execution-context.js +117 -0
  8. package/dist/cjs/execution-context.js.map +1 -0
  9. package/dist/cjs/expression.d.ts.map +1 -1
  10. package/dist/cjs/expression.js +4 -11
  11. package/dist/cjs/expression.js.map +1 -1
  12. package/dist/cjs/index.d.ts +3 -0
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +4 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/interfaces.d.ts +11 -2
  17. package/dist/cjs/interfaces.d.ts.map +1 -1
  18. package/dist/cjs/interfaces.js.map +1 -1
  19. package/dist/cjs/message-event-bus.d.ts +12 -0
  20. package/dist/cjs/message-event-bus.d.ts.map +1 -1
  21. package/dist/cjs/message-event-bus.js.map +1 -1
  22. package/dist/cjs/run-execution-data-factory.d.ts +50 -0
  23. package/dist/cjs/run-execution-data-factory.d.ts.map +1 -0
  24. package/dist/cjs/run-execution-data-factory.js +116 -0
  25. package/dist/cjs/run-execution-data-factory.js.map +1 -0
  26. package/dist/cjs/schemas.d.ts +112 -0
  27. package/dist/cjs/schemas.d.ts.map +1 -0
  28. package/dist/cjs/schemas.js +360 -0
  29. package/dist/cjs/schemas.js.map +1 -0
  30. package/dist/cjs/typecheck.tsbuildinfo +1 -1
  31. package/dist/cjs/utils.d.ts.map +1 -1
  32. package/dist/cjs/utils.js +14 -4
  33. package/dist/cjs/utils.js.map +1 -1
  34. package/dist/cjs/workflow-diff.d.ts +26 -6
  35. package/dist/cjs/workflow-diff.d.ts.map +1 -1
  36. package/dist/cjs/workflow-diff.js +166 -1
  37. package/dist/cjs/workflow-diff.js.map +1 -1
  38. package/dist/esm/constants.d.ts +3 -0
  39. package/dist/esm/constants.d.ts.map +1 -1
  40. package/dist/esm/constants.js +4 -0
  41. package/dist/esm/constants.js.map +1 -1
  42. package/dist/esm/execution-context.d.ts +56 -0
  43. package/dist/esm/execution-context.d.ts.map +1 -0
  44. package/dist/esm/execution-context.js +99 -0
  45. package/dist/esm/execution-context.js.map +1 -0
  46. package/dist/esm/expression.d.ts.map +1 -1
  47. package/dist/esm/expression.js +3 -10
  48. package/dist/esm/expression.js.map +1 -1
  49. package/dist/esm/index.d.ts +3 -0
  50. package/dist/esm/index.d.ts.map +1 -1
  51. package/dist/esm/index.js +3 -0
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/interfaces.d.ts +11 -2
  54. package/dist/esm/interfaces.d.ts.map +1 -1
  55. package/dist/esm/interfaces.js.map +1 -1
  56. package/dist/esm/message-event-bus.d.ts +12 -0
  57. package/dist/esm/message-event-bus.d.ts.map +1 -1
  58. package/dist/esm/message-event-bus.js.map +1 -1
  59. package/dist/esm/run-execution-data-factory.d.ts +50 -0
  60. package/dist/esm/run-execution-data-factory.d.ts.map +1 -0
  61. package/dist/esm/run-execution-data-factory.js +101 -0
  62. package/dist/esm/run-execution-data-factory.js.map +1 -0
  63. package/dist/esm/schemas.d.ts +112 -0
  64. package/dist/esm/schemas.d.ts.map +1 -0
  65. package/dist/esm/schemas.js +347 -0
  66. package/dist/esm/schemas.js.map +1 -0
  67. package/dist/esm/typecheck.tsbuildinfo +1 -1
  68. package/dist/esm/utils.d.ts.map +1 -1
  69. package/dist/esm/utils.js +14 -4
  70. package/dist/esm/utils.js.map +1 -1
  71. package/dist/esm/workflow-diff.d.ts +26 -6
  72. package/dist/esm/workflow-diff.d.ts.map +1 -1
  73. package/dist/esm/workflow-diff.js +163 -0
  74. package/dist/esm/workflow-diff.js.map +1 -1
  75. package/package.json +5 -5
@@ -0,0 +1,347 @@
1
+ import { z } from 'zod';
2
+ export const INodeParameterResourceLocatorSchema = z.object({
3
+ __rl: z.literal(true),
4
+ mode: z.string(),
5
+ value: z.union([z.string(), z.number(), z.null()]),
6
+ cachedResultName: z.string().optional(),
7
+ cachedResultUrl: z.string().optional(),
8
+ __regex: z.string().optional(),
9
+ });
10
+ const NodeParameterValueSchema = z.union([
11
+ z.string(),
12
+ z.number(),
13
+ z.boolean(),
14
+ z.null(),
15
+ z.undefined(),
16
+ ]);
17
+ const RequiredNodeParameterValueSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
18
+ export const FieldTypeSchema = z.enum([
19
+ 'boolean',
20
+ 'number',
21
+ 'string',
22
+ 'string-alphanumeric',
23
+ 'dateTime',
24
+ 'time',
25
+ 'array',
26
+ 'object',
27
+ 'options',
28
+ 'url',
29
+ 'jwt',
30
+ 'form-fields',
31
+ ]);
32
+ // For `object` in GenericValue's type definition.
33
+ // We should probably look into not using `object` there,
34
+ // it's unclear whether functions are really expected.
35
+ const ObjectLikeSchema = z.custom((v) => (typeof v === 'object' && v !== null) || typeof v === 'function', { message: 'Expected a non-primitive object' });
36
+ export const GenericValueSchema = z.union([
37
+ z.string(),
38
+ z.number(),
39
+ z.boolean(),
40
+ z.undefined(),
41
+ z.null(),
42
+ ObjectLikeSchema,
43
+ ]);
44
+ export const IDataObjectSchema = z.lazy(() => z.record(z.string(), z.union([
45
+ GenericValueSchema,
46
+ z.array(GenericValueSchema),
47
+ IDataObjectSchema,
48
+ z.array(IDataObjectSchema),
49
+ ])));
50
+ export const IRequestOptionsSimplifiedAuthSchema = z.object({
51
+ auth: z
52
+ .object({
53
+ username: z.string(),
54
+ password: z.string(),
55
+ sendImmediately: z.boolean().optional(),
56
+ })
57
+ .optional(),
58
+ body: z.object({}).optional(),
59
+ headers: IDataObjectSchema.optional(),
60
+ qs: IDataObjectSchema.optional(),
61
+ url: z.string().optional(),
62
+ skipSslCertificateValidation: z.union([z.boolean(), z.string()]).optional(),
63
+ });
64
+ export const IN8nRequestOperationPaginationBaseSchema = z.object({
65
+ type: z.string(),
66
+ properties: z.record(z.string(), z.unknown()),
67
+ });
68
+ export const IN8nRequestOperationPaginationGenericSchema = IN8nRequestOperationPaginationBaseSchema.extend({
69
+ type: z.literal('generic'),
70
+ properties: z.object({
71
+ continue: z.union([z.boolean(), z.string()]),
72
+ request: IRequestOptionsSimplifiedAuthSchema,
73
+ }),
74
+ });
75
+ export const IN8nRequestOperationPaginationOffsetSchema = IN8nRequestOperationPaginationBaseSchema.extend({
76
+ type: z.literal('offset'),
77
+ properties: z.object({
78
+ limitParameter: z.string(),
79
+ offsetParameter: z.string(),
80
+ pageSize: z.number(),
81
+ rootProperty: z.string().optional(),
82
+ type: z.enum(['body', 'query']),
83
+ }),
84
+ });
85
+ export const IN8nRequestOperationsSchema = z.object({
86
+ pagination: z
87
+ .union([
88
+ IN8nRequestOperationPaginationGenericSchema,
89
+ IN8nRequestOperationPaginationOffsetSchema,
90
+ // TODO: Validating the function shape is skipped at runtime, any function is accepted
91
+ z.custom((v) => typeof v === 'function'),
92
+ ])
93
+ .optional(),
94
+ });
95
+ export const IPostReceiveBaseSchema = z.object({
96
+ type: z.string(),
97
+ enabled: z.union([z.boolean(), z.string()]).optional(),
98
+ properties: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), IDataObjectSchema])),
99
+ errorMessage: z.string().optional(),
100
+ });
101
+ export const IPostReceiveBinaryDataSchema = IPostReceiveBaseSchema.extend({
102
+ type: z.literal('binaryData'),
103
+ properties: z.object({
104
+ destinationProperty: z.string(),
105
+ }),
106
+ });
107
+ export const IPostReceiveFilterSchema = IPostReceiveBaseSchema.extend({
108
+ type: z.literal('filter'),
109
+ properties: z.object({
110
+ pass: z.union([z.boolean(), z.string()]),
111
+ }),
112
+ });
113
+ export const IPostReceiveLimitSchema = IPostReceiveBaseSchema.extend({
114
+ type: z.literal('limit'),
115
+ properties: z.object({
116
+ maxResults: z.union([z.number(), z.string()]),
117
+ }),
118
+ });
119
+ export const IPostReceiveRootPropertySchema = IPostReceiveBaseSchema.extend({
120
+ type: z.literal('rootProperty'),
121
+ properties: z.object({
122
+ property: z.string(),
123
+ }),
124
+ });
125
+ export const IPostReceiveSetSchema = IPostReceiveBaseSchema.extend({
126
+ type: z.literal('set'),
127
+ properties: z.object({
128
+ value: z.string(),
129
+ }),
130
+ });
131
+ export const IPostReceiveSetKeyValueSchema = IPostReceiveBaseSchema.extend({
132
+ type: z.literal('setKeyValue'),
133
+ properties: z.record(z.union([z.string(), z.number()])),
134
+ });
135
+ export const IPostReceiveSortSchema = IPostReceiveBaseSchema.extend({
136
+ type: z.literal('sort'),
137
+ properties: z.object({
138
+ key: z.string(),
139
+ }),
140
+ });
141
+ export const PostReceiveActionSchema = z.union([
142
+ // TODO: Validating the function shape is skipped at runtime, any function is accepted
143
+ z.custom((v) => typeof v === 'function'),
144
+ IPostReceiveBinaryDataSchema,
145
+ IPostReceiveFilterSchema,
146
+ IPostReceiveLimitSchema,
147
+ IPostReceiveRootPropertySchema,
148
+ IPostReceiveSetSchema,
149
+ IPostReceiveSetKeyValueSchema,
150
+ IPostReceiveSortSchema,
151
+ ]);
152
+ export const INodeRequestOutputSchema = z.object({
153
+ maxResults: z.union([z.number(), z.string()]),
154
+ postReceive: z.array(PostReceiveActionSchema),
155
+ });
156
+ export const HttpRequestOptionsSchema = z.object({}); // TODO
157
+ export const INodeRequestSendSchema = z.object({
158
+ preSend: z.array(z.custom((v) => typeof v === 'function')),
159
+ paginate: z.union([z.boolean(), z.string()]).optional(),
160
+ property: z.string().optional(),
161
+ propertyInDotNotation: z.boolean().optional(),
162
+ type: z.enum(['body', 'query']),
163
+ value: z.string().optional(),
164
+ });
165
+ export const INodePropertyRoutingSchema = z.object({
166
+ operations: IN8nRequestOperationsSchema.optional(),
167
+ output: INodeRequestOutputSchema.optional(),
168
+ request: HttpRequestOptionsSchema.optional(),
169
+ send: INodeRequestSendSchema.optional(),
170
+ });
171
+ export const NumberOrStringSchema = z.union([z.number(), z.string()]);
172
+ export const DisplayConditionSchema = z.union([
173
+ z.object({ _cnd: z.object({ eq: RequiredNodeParameterValueSchema }) }),
174
+ z.object({ _cnd: z.object({ not: RequiredNodeParameterValueSchema }) }),
175
+ z.object({ _cnd: z.object({ gte: NumberOrStringSchema }) }),
176
+ z.object({ _cnd: z.object({ lte: NumberOrStringSchema }) }),
177
+ z.object({ _cnd: z.object({ gt: NumberOrStringSchema }) }),
178
+ z.object({ _cnd: z.object({ lt: NumberOrStringSchema }) }),
179
+ z.object({
180
+ _cnd: z.object({
181
+ between: z.object({ from: NumberOrStringSchema, to: NumberOrStringSchema }),
182
+ }),
183
+ }),
184
+ z.object({ _cnd: z.object({ startsWith: z.string() }) }),
185
+ z.object({ _cnd: z.object({ endsWith: z.string() }) }),
186
+ z.object({ _cnd: z.object({ includes: z.string() }) }),
187
+ z.object({ _cnd: z.object({ regex: z.string() }) }),
188
+ z.object({ _cnd: z.object({ exists: z.literal(true) }) }),
189
+ ]);
190
+ export const IDisplayOptionsSchema = z.object({
191
+ show: z
192
+ .object({
193
+ '@version': z.array(z.union([z.number(), DisplayConditionSchema])).optional(),
194
+ '@tool': z.array(z.boolean()).optional(),
195
+ })
196
+ .catchall(z.union([
197
+ z.array(z.union([NodeParameterValueSchema, DisplayConditionSchema])),
198
+ z.undefined(),
199
+ ])),
200
+ hide: z.record(z.string(), z.union([z.array(z.union([NodeParameterValueSchema, DisplayConditionSchema])), z.undefined()])),
201
+ hideOnCloud: z.boolean().optional(),
202
+ });
203
+ export const NodeConnectionTypeSchema = z.enum([
204
+ 'ai_agent',
205
+ 'ai_chain',
206
+ 'ai_document',
207
+ 'ai_embedding',
208
+ 'ai_languageModel',
209
+ 'ai_memory',
210
+ 'ai_outputParser',
211
+ 'ai_retriever',
212
+ 'ai_reranker',
213
+ 'ai_textSplitter',
214
+ 'ai_tool',
215
+ 'ai_vectorStore',
216
+ 'main',
217
+ ]);
218
+ export const INodePropertyOptionsSchema = z.object({
219
+ name: z.string(),
220
+ value: z.union([z.string(), z.number(), z.boolean()]),
221
+ action: z.string().optional(),
222
+ description: z.string().optional(),
223
+ routing: INodePropertyRoutingSchema.optional(),
224
+ outputConnectionType: NodeConnectionTypeSchema.optional(),
225
+ inputSchema: z.any().optional(),
226
+ displayOptions: IDisplayOptionsSchema.optional(),
227
+ disabledOptions: z.literal(undefined).optional(),
228
+ });
229
+ export const ResourceMapperFieldSchema = z.object({
230
+ id: z.string(),
231
+ displayName: z.string(),
232
+ defaultMatch: z.boolean(),
233
+ canBeUsedToMatch: z.boolean().optional(),
234
+ required: z.boolean(),
235
+ display: z.boolean(),
236
+ type: FieldTypeSchema.optional(),
237
+ removed: z.boolean().optional(),
238
+ options: z.array(INodePropertyOptionsSchema),
239
+ readOnly: z.boolean().optional(),
240
+ });
241
+ export const ResourceMapperValueSchema = z.object({
242
+ mappingMode: z.string(),
243
+ value: z.record(z.union([z.string(), z.number(), z.boolean(), z.null()])),
244
+ matchingColumns: z.array(z.string()),
245
+ schema: z.array(ResourceMapperFieldSchema),
246
+ attemptToConvertTypes: z.boolean(),
247
+ convertFieldsToString: z.boolean(),
248
+ });
249
+ export const FilterOptionsValueSchema = z.object({
250
+ caseSensitive: z.boolean(),
251
+ leftValue: z.string(),
252
+ typeValidation: z.enum(['strict', 'loose']),
253
+ version: z.union([z.literal(1), z.literal(2)]),
254
+ });
255
+ export const FilterOperatorTypeSchema = z.enum([
256
+ 'string',
257
+ 'number',
258
+ 'boolean',
259
+ 'array',
260
+ 'object',
261
+ 'dateTime',
262
+ 'any',
263
+ ]);
264
+ export const FilterOperatorValueSchema = z.object({
265
+ type: FilterOperatorTypeSchema,
266
+ operation: z.string(),
267
+ rightType: FilterOperatorTypeSchema.optional(),
268
+ singleValue: z.boolean().optional(),
269
+ });
270
+ export const FilterConditionValueSchema = z.object({
271
+ id: z.string(),
272
+ leftValue: z.union([RequiredNodeParameterValueSchema, z.array(RequiredNodeParameterValueSchema)]),
273
+ operator: FilterOperatorValueSchema,
274
+ rightValue: z.union([
275
+ RequiredNodeParameterValueSchema,
276
+ z.array(RequiredNodeParameterValueSchema),
277
+ ]),
278
+ });
279
+ export const FilterTypeCombinatorSchema = z.enum(['and', 'or']);
280
+ export const FilterValueSchema = z.object({
281
+ options: FilterOptionsValueSchema,
282
+ conditions: z.array(FilterConditionValueSchema),
283
+ combinator: FilterTypeCombinatorSchema,
284
+ });
285
+ export const AssignmentValueSchema = z.object({
286
+ id: z.string(),
287
+ name: z.string(),
288
+ value: z.union([z.string(), z.number(), z.boolean(), z.null()]),
289
+ type: z.string().optional(),
290
+ });
291
+ export const AssignmentCollectionValueSchema = z.object({
292
+ assignments: z.array(AssignmentValueSchema),
293
+ });
294
+ export const NodeParameterValueTypeSchema = z.lazy(() => z.union([
295
+ NodeParameterValueSchema,
296
+ INodeParameterResourceLocatorSchema,
297
+ ResourceMapperValueSchema,
298
+ FilterValueSchema,
299
+ AssignmentCollectionValueSchema,
300
+ INodeParametersSchema,
301
+ // only the shapes allowed by the TS union
302
+ z.array(NodeParameterValueSchema),
303
+ z.array(INodeParametersSchema),
304
+ z.array(INodeParameterResourceLocatorSchema),
305
+ z.array(ResourceMapperValueSchema),
306
+ ]));
307
+ export const INodeParametersSchema = z.record(z.string(), NodeParameterValueTypeSchema);
308
+ export const OnErrorSchema = z.enum([
309
+ 'continueErrorOutput',
310
+ 'continueRegularOutput',
311
+ 'stopWorkflow',
312
+ ]);
313
+ export const INodeCredentialsDetailsSchema = z.object({
314
+ id: z.string().nullable(),
315
+ name: z.string(),
316
+ });
317
+ export const INodeCredentialsSchema = z.record(z.string(), INodeCredentialsDetailsSchema);
318
+ export const INodeSchema = z.object({
319
+ id: z.string(),
320
+ name: z.string(),
321
+ typeVersion: z.number(),
322
+ type: z.string(),
323
+ position: z.tuple([z.number(), z.number()]),
324
+ disabled: z.boolean().optional(),
325
+ notes: z.string().optional(),
326
+ notesInFlow: z.boolean().optional(),
327
+ retryOnFail: z.boolean().optional(),
328
+ maxTries: z.number().optional(),
329
+ waitBetweenTries: z.number().optional(),
330
+ alwaysOutputData: z.boolean().optional(),
331
+ executeOnce: z.boolean().optional(),
332
+ onError: OnErrorSchema.optional(),
333
+ continueOnFail: z.boolean().optional(),
334
+ webhookId: z.string().optional(),
335
+ extendsCredential: z.string().optional(),
336
+ rewireOutputLogTo: NodeConnectionTypeSchema.optional(),
337
+ parameters: INodeParametersSchema,
338
+ credentials: INodeCredentialsSchema.optional(),
339
+ forceCustomOperation: z
340
+ .object({
341
+ resource: z.string(),
342
+ operation: z.string(),
343
+ })
344
+ .optional(),
345
+ });
346
+ export const INodesSchema = z.array(INodeSchema);
347
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"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"}