@n8n/decorators 1.42.2 → 1.43.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.
@@ -1,7 +1,10 @@
1
1
  import type { ZodTypeAny } from 'zod';
2
- export interface BodyOptions {
2
+ import type { RequestBodyMedia } from './types';
3
+ export type BodyOptions = {
3
4
  required?: boolean;
4
- }
5
+ } & (RequestBodyMedia | {
6
+ mediaType?: undefined;
7
+ });
5
8
  export declare function Body(target: object, propertyKey: string | symbol | undefined, parameterIndex: number): void;
6
9
  export declare function Body(options?: BodyOptions): ParameterDecorator;
7
10
  export declare const Query: ParameterDecorator;
@@ -8,15 +8,27 @@ const ArgDecorator = (arg) => (target, handlerName, parameterIndex) => {
8
8
  const routeMetadata = di_1.Container.get(controller_registry_metadata_1.ControllerRegistryMetadata).getRouteMetadata(target.constructor, String(handlerName));
9
9
  routeMetadata.args[parameterIndex] = arg;
10
10
  };
11
+ function stripExtraPropertiesFromRequestBodyMedia(options) {
12
+ switch (options.mediaType) {
13
+ case 'application/json':
14
+ return { mediaType: 'application/json' };
15
+ case 'multipart/form-data':
16
+ return { mediaType: 'multipart/form-data', uploadLimits: options.uploadLimits };
17
+ }
18
+ }
11
19
  function Body(targetOrOptions, propertyKey, parameterIndex) {
12
20
  if (parameterIndex !== undefined) {
13
21
  return ArgDecorator({ type: 'body' })(targetOrOptions, propertyKey, parameterIndex);
14
22
  }
15
23
  const options = targetOrOptions;
16
- return ArgDecorator({
17
- type: 'body',
18
- ...(options?.required !== undefined && { required: options.required }),
19
- });
24
+ const arg = { type: 'body' };
25
+ if (options?.required !== undefined) {
26
+ arg.required = options.required;
27
+ }
28
+ if (options?.mediaType !== undefined) {
29
+ arg.media = stripExtraPropertiesFromRequestBodyMedia(options);
30
+ }
31
+ return ArgDecorator(arg);
20
32
  }
21
33
  exports.Query = ArgDecorator({ type: 'query' });
22
34
  const Param = (key, schema) => ArgDecorator({ type: 'param', key, ...(schema && { schema }) });
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/controller/args.ts"],"names":[],"mappings":";;;;AAAA,gCAAoC;AAGpC,iFAA4E;AAG5E,MAAM,YAAY,GACjB,CAAC,GAAQ,EAAsB,EAAE,CACjC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IACvC,MAAM,aAAa,GAAG,cAAS,CAAC,GAAG,CAAC,yDAA0B,CAAC,CAAC,gBAAgB,CAC/E,MAAM,CAAC,WAAyB,EAChC,MAAM,CAAC,WAAW,CAAC,CACnB,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;AAC1C,CAAC,CAAC;AAaH,cACC,eAAsC,EACtC,WAA6B,EAC7B,cAAuB;IAGvB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,eAAyB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/F,CAAC;IAGD,MAAM,OAAO,GAAG,eAA0C,CAAC;IAC3D,OAAO,YAAY,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;KACtE,CAAC,CAAC;AACJ,CAAC;AAGY,QAAA,KAAK,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAO9C,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,MAAmB,EAAE,EAAE,CACzD,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AADpD,QAAA,KAAK,GAAL,KAAK,CAC+C"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/controller/args.ts"],"names":[],"mappings":";;;;AAAA,gCAAoC;AAGpC,iFAA4E;AAG5E,MAAM,YAAY,GACjB,CAAC,GAAQ,EAAsB,EAAE,CACjC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;IACvC,MAAM,aAAa,GAAG,cAAS,CAAC,GAAG,CAAC,yDAA0B,CAAC,CAAC,gBAAgB,CAC/E,MAAM,CAAC,WAAyB,EAChC,MAAM,CAAC,WAAW,CAAC,CACnB,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;AAC1C,CAAC,CAAC;AAIH,SAAS,wCAAwC,CAAC,OAAyB;IAC1E,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,kBAAkB;YACtB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAC1C,KAAK,qBAAqB;YACzB,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAClF,CAAC;AACF,CAAC;AASD,cACC,eAAsC,EACtC,WAA6B,EAC7B,cAAuB;IAGvB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,eAAyB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/F,CAAC;IAGD,MAAM,OAAO,GAAG,eAA0C,CAAC;IAC3D,MAAM,GAAG,GAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAElC,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK,GAAG,wCAAwC,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAGY,QAAA,KAAK,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAO9C,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,MAAmB,EAAE,EAAE,CACzD,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AADpD,QAAA,KAAK,GAAL,KAAK,CAC+C"}
@@ -15,5 +15,5 @@ export { Licensed } from './licensed';
15
15
  export { RequiresUserQuota } from './requires-user-quota';
16
16
  export { Deprecated } from './deprecated';
17
17
  export { GlobalScope, ProjectScope } from './scoped';
18
- export type { AccessScope, ApiKeyScopeRequirement, Arg, Controller, CorsOptions, DeprecationInfo, ErrorResponse, HandlerName, Method, ResponseDtoClass, RouteMetadata, StaticRouterMetadata, SuccessStatus, } from './types';
18
+ export type { AccessScope, ApiKeyScopeRequirement, Arg, Controller, CorsOptions, DeprecationInfo, ErrorResponse, HandlerName, Method, MultipartUploadLimits, RequestBodyMedia, RequestBodyMediaOptions, RequestBodyMediaType, ResponseDtoClass, RouteMetadata, StaticRouterMetadata, SuccessStatus, } from './types';
19
19
  export { type RateLimiterLimits, type BodyKeyedRateLimiterConfig, type UserKeyedRateLimiterConfig, type KeyedRateLimiterConfig, createBodyKeyedRateLimiter, createUserKeyedRateLimiter, createIpRateLimit, } from './rate-limit';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAAnC,4FAAA,IAAI,OAAA;AAAE,6FAAA,KAAK,OAAA;AAAE,6FAAA,KAAK,OAAA;AAC3B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,iDAA8C;AAArC,4GAAA,WAAW,OAAA;AACpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,iCAAuE;AAA9D,4FAAA,GAAG,OAAA;AAAE,6FAAA,IAAI,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,+FAAA,MAAM,OAAA;AAAE,6FAAA,IAAI,OAAA;AAAE,gGAAA,OAAO,OAAA;AACrD,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+EAA4E;AAAnE,0IAAA,0BAA0B,OAAA;AACnC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mCAAqD;AAA5C,qGAAA,WAAW,OAAA;AAAE,sGAAA,YAAY,OAAA;AAgBlC,2CAQsB;AAHrB,wHAAA,0BAA0B,OAAA;AAC1B,wHAAA,0BAA0B,OAAA;AAC1B,+GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAAnC,4FAAA,IAAI,OAAA;AAAE,6FAAA,KAAK,OAAA;AAAE,6FAAA,KAAK,OAAA;AAC3B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,iDAA8C;AAArC,4GAAA,WAAW,OAAA;AACpB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,iCAAuE;AAA9D,4FAAA,GAAG,OAAA;AAAE,6FAAA,IAAI,OAAA;AAAE,4FAAA,GAAG,OAAA;AAAE,8FAAA,KAAK,OAAA;AAAE,+FAAA,MAAM,OAAA;AAAE,6FAAA,IAAI,OAAA;AAAE,gGAAA,OAAO,OAAA;AACrD,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,+EAA4E;AAAnE,0IAAA,0BAA0B,OAAA;AACnC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mCAAqD;AAA5C,qGAAA,WAAW,OAAA;AAAE,sGAAA,YAAY,OAAA;AAoBlC,2CAQsB;AAHrB,wHAAA,0BAA0B,OAAA;AAC1B,wHAAA,0BAA0B,OAAA;AAC1B,+GAAA,iBAAiB,OAAA"}
@@ -18,9 +18,31 @@ export interface ErrorResponse {
18
18
  description?: string;
19
19
  }
20
20
  export type Method = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head' | 'options';
21
+ export interface MultipartUploadLimits {
22
+ fieldNameSize?: number;
23
+ fieldSize?: number;
24
+ fields?: number;
25
+ fileSize?: number;
26
+ files?: number;
27
+ parts?: number;
28
+ headerPairs?: number;
29
+ }
30
+ export interface RequestBodyMediaOptions {
31
+ 'application/json': object;
32
+ 'multipart/form-data': {
33
+ uploadLimits: () => MultipartUploadLimits;
34
+ };
35
+ }
36
+ export type RequestBodyMediaType = keyof RequestBodyMediaOptions;
37
+ export type RequestBodyMedia = {
38
+ [K in RequestBodyMediaType]: {
39
+ mediaType: K;
40
+ } & RequestBodyMediaOptions[K];
41
+ }[RequestBodyMediaType];
21
42
  export type Arg = {
22
43
  type: 'body';
23
44
  required?: boolean;
45
+ media?: RequestBodyMedia;
24
46
  } | {
25
47
  type: 'query';
26
48
  } | {
@@ -1,6 +1,6 @@
1
1
  import type { InstanceRole, InstanceType } from '@n8n/constants';
2
2
  import type { EventHandler } from '../types';
3
- export type PubSubEventName = 'add-webhooks-triggers-and-pollers' | 'remove-triggers-and-pollers' | 'clear-test-webhooks' | 'display-workflow-activation' | 'display-workflow-deactivation' | 'display-workflow-activation-error' | 'display-workflow-publication-status' | 'workflow-publish-wake-up' | 'community-package-install' | 'community-package-uninstall' | 'community-package-update' | 'get-worker-status' | 'stop-execution' | 'reload-external-secrets-providers' | 'reload-license' | 'reload-oidc-config' | 'reload-saml-config' | 'reload-overwrite-credentials' | 'response-to-get-worker-status' | 'restart-event-bus' | 'relay-execution-lifecycle-event' | 'relay-agent-execution-update' | 'relay-agent-queued-chat' | 'cancel-agent-chat-execution' | 'relay-agent-message-queue-update' | 'relay-agent-background-tasks-update' | 'relay-agent-update' | 'resume-agent-workflow-tool' | 'relay-chat-stream-event' | 'relay-instance-ai-event' | 'relay-instance-ai-task-control' | 'relay-chat-human-message' | 'relay-chat-message-edit' | 'reload-sso-provisioning-configuration' | 'reload-source-control-config' | 'reload-mcp-registry' | 'reload-otel-config' | 'reload-instance-ai-settings' | 'cancel-test-run' | 'cancel-collection' | 'agent-chat-integration-changed' | 'agent-chat-subscription-changed' | 'agent-chat-leader-channel-request' | 'agent-chat-leader-channel-result' | 'agent-config-changed' | 'cancel-agent-background-job' | 'wake-agent-background-job' | 'agent-tasks-changed' | 'redaction-floor-changed';
3
+ export type PubSubEventName = 'add-webhooks-triggers-and-pollers' | 'remove-triggers-and-pollers' | 'clear-test-webhooks' | 'display-workflow-activation' | 'display-workflow-deactivation' | 'display-workflow-activation-error' | 'display-workflow-publication-status' | 'workflow-publish-wake-up' | 'community-package-install' | 'community-package-uninstall' | 'community-package-update' | 'get-worker-status' | 'stop-execution' | 'reload-external-secrets-providers' | 'reload-license' | 'reload-oidc-config' | 'reload-saml-config' | 'reload-overwrite-credentials' | 'response-to-get-worker-status' | 'restart-event-bus' | 'relay-execution-lifecycle-event' | 'relay-agent-execution-update' | 'relay-agent-queued-chat' | 'cancel-agent-chat-execution' | 'relay-agent-message-queue-update' | 'relay-agent-background-tasks-update' | 'relay-agent-update' | 'resume-agent-workflow-tool' | 'relay-chat-stream-event' | 'relay-instance-ai-event' | 'relay-instance-ai-task-control' | 'relay-chat-human-message' | 'relay-chat-message-edit' | 'reload-sso-provisioning-configuration' | 'reload-source-control-config' | 'reload-mcp-registry' | 'reload-otel-config' | 'reload-instance-ai-settings' | 'reload-agents-settings' | 'cancel-test-run' | 'cancel-collection' | 'agent-chat-integration-changed' | 'agent-chat-subscription-changed' | 'agent-chat-leader-channel-request' | 'agent-chat-leader-channel-result' | 'agent-config-changed' | 'cancel-agent-background-job' | 'wake-agent-background-job' | 'agent-tasks-changed' | 'redaction-floor-changed';
4
4
  export type PubSubEventFilter = {
5
5
  instanceType: 'main';
6
6
  instanceRole?: Omit<InstanceRole, 'unset'>;
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub-metadata.js","sourceRoot":"","sources":["../../src/pubsub/pubsub-metadata.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAoE3B,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACW,aAAQ,GAAyB,EAAE,CAAC;IAStD,CAAC;IAPA,QAAQ,CAAC,OAA2B;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACD,CAAA;;yBAVY,cAAc;IAD1B,IAAA,YAAO,GAAE;GACG,cAAc,CAU1B"}
1
+ {"version":3,"file":"pubsub-metadata.js","sourceRoot":"","sources":["../../src/pubsub/pubsub-metadata.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAqE3B,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACW,aAAQ,GAAyB,EAAE,CAAC;IAStD,CAAC;IAPA,QAAQ,CAAC,OAA2B;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACD,CAAA;;yBAVY,cAAc;IAD1B,IAAA,YAAO,GAAE;GACG,cAAc,CAU1B"}
@@ -1,4 +1,4 @@
1
- export { SystemTask, intervalFromMilliseconds, intervalFromSeconds, resolveSystemTaskRunOptions, resolveSystemTaskSchedule, validateSystemTask, } from './system-task';
1
+ export { DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT, SystemTask, intervalFromMilliseconds, intervalFromSeconds, resolveSystemTaskRunOptions, resolveSystemTaskSchedule, validateSystemTask, } from './system-task';
2
2
  export type { SystemTaskClass, SystemTaskEffects, SystemTaskRunOptions, SystemTaskSchedule, } from './system-task';
3
3
  export type { SystemTaskPlacement } from './system-task-placement';
4
4
  export { SystemTaskMetadata } from './system-task-metadata';
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemTaskMetadata = exports.validateSystemTask = exports.resolveSystemTaskSchedule = exports.resolveSystemTaskRunOptions = exports.intervalFromSeconds = exports.intervalFromMilliseconds = exports.SystemTask = void 0;
3
+ exports.SystemTaskMetadata = exports.validateSystemTask = exports.resolveSystemTaskSchedule = exports.resolveSystemTaskRunOptions = exports.intervalFromSeconds = exports.intervalFromMilliseconds = exports.SystemTask = exports.DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT = void 0;
4
4
  var system_task_1 = require("./system-task");
5
+ Object.defineProperty(exports, "DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT", { enumerable: true, get: function () { return system_task_1.DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT; } });
5
6
  Object.defineProperty(exports, "SystemTask", { enumerable: true, get: function () { return system_task_1.SystemTask; } });
6
7
  Object.defineProperty(exports, "intervalFromMilliseconds", { enumerable: true, get: function () { return system_task_1.intervalFromMilliseconds; } });
7
8
  Object.defineProperty(exports, "intervalFromSeconds", { enumerable: true, get: function () { return system_task_1.intervalFromSeconds; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system-task/index.ts"],"names":[],"mappings":";;;AAAA,6CAOuB;AANtB,yGAAA,UAAU,OAAA;AACV,uHAAA,wBAAwB,OAAA;AACxB,kHAAA,mBAAmB,OAAA;AACnB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,iHAAA,kBAAkB,OAAA;AASnB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system-task/index.ts"],"names":[],"mappings":";;;AAAA,6CAQuB;AAPtB,oIAAA,qCAAqC,OAAA;AACrC,yGAAA,UAAU,OAAA;AACV,uHAAA,wBAAwB,OAAA;AACxB,kHAAA,mBAAmB,OAAA;AACnB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,iHAAA,kBAAkB,OAAA;AASnB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA"}
@@ -12,13 +12,16 @@ export interface SystemTask {
12
12
  readonly misfirePolicy?: ScheduledJobMisfirePolicy;
13
13
  readonly misfireGraceSeconds?: number;
14
14
  readonly maxAttempts?: number;
15
+ readonly concurrencyLimit?: number | null;
15
16
  run(signal: AbortSignal): Promise<void>;
16
17
  }
17
18
  export interface SystemTaskRunOptions {
18
19
  misfirePolicy: ScheduledJobMisfirePolicy;
19
20
  misfireGraceSeconds: number;
20
21
  maxAttempts: number;
22
+ concurrencyLimit: number | null;
21
23
  }
24
+ export declare const DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT = 1;
22
25
  export declare function resolveSystemTaskRunOptions(task: SystemTask): SystemTaskRunOptions;
23
26
  export declare function validateSystemTask(task: SystemTask): void;
24
27
  export declare function intervalFromSeconds(seconds: number): IntervalDefinition;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemTask = void 0;
3
+ exports.SystemTask = exports.DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT = void 0;
4
4
  exports.resolveSystemTaskRunOptions = resolveSystemTaskRunOptions;
5
5
  exports.validateSystemTask = validateSystemTask;
6
6
  exports.intervalFromSeconds = intervalFromSeconds;
@@ -9,6 +9,7 @@ exports.resolveSystemTaskSchedule = resolveSystemTaskSchedule;
9
9
  const constants_1 = require("@n8n/constants");
10
10
  const di_1 = require("@n8n/di");
11
11
  const n8n_workflow_1 = require("n8n-workflow");
12
+ exports.DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT = 1;
12
13
  const SYSTEM_TASK_RUN_OPTION_DEFAULTS = {
13
14
  idempotent: {
14
15
  misfirePolicy: constants_1.ScheduledJobMisfirePolicy.Coalesce,
@@ -25,9 +26,15 @@ function resolveSystemTaskRunOptions(task) {
25
26
  misfirePolicy: task.misfirePolicy ?? defaults.misfirePolicy,
26
27
  misfireGraceSeconds: task.misfireGraceSeconds ?? constants_1.DEFAULT_MISFIRE_GRACE_SECONDS,
27
28
  maxAttempts: task.effects === 'non-idempotent' ? 1 : (task.maxAttempts ?? defaults.maxAttempts),
29
+ concurrencyLimit: task.concurrencyLimit === undefined
30
+ ? exports.DEFAULT_SYSTEM_TASK_CONCURRENCY_LIMIT
31
+ : task.concurrencyLimit,
28
32
  };
29
33
  assertInRange(task.name, 'maxAttempts', options.maxAttempts, 1);
30
34
  assertInRange(task.name, 'misfireGraceSeconds', options.misfireGraceSeconds, 1);
35
+ if (options.concurrencyLimit !== null) {
36
+ assertInRange(task.name, 'concurrencyLimit', options.concurrencyLimit, 1);
37
+ }
31
38
  return options;
32
39
  }
33
40
  const MAX_RETRY_DELAY_SECONDS = Math.floor(constants_1.MAX_INTEGER_32BITS_SIGNED / constants_1.Time.seconds.toMilliseconds);
@@ -1 +1 @@
1
- {"version":3,"file":"system-task.js","sourceRoot":"","sources":["../../src/system-task/system-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-task.js","sourceRoot":"","sources":["../../src/system-task/system-task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/decorators",
3
- "version": "1.42.2",
3
+ "version": "1.43.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -18,13 +18,13 @@
18
18
  },
19
19
  "files": [
20
20
  "dist/**/*",
21
- "LICENSE_EE.md",
22
- "LICENSE.md"
21
+ "LICENSE.md",
22
+ "LICENSE_EE.md"
23
23
  ],
24
24
  "devDependencies": {
25
25
  "@n8n/oxlint-config": "0.0.1",
26
26
  "@n8n/typescript-config": "1.12.0",
27
- "@n8n/vitest-config": "1.23.0",
27
+ "@n8n/vitest-config": "1.24.0",
28
28
  "@types/express": "^5.0.1",
29
29
  "@types/lodash": "4.17.17",
30
30
  "oxlint": "1.78.0",
@@ -34,12 +34,12 @@
34
34
  "zod": "3.25.76"
35
35
  },
36
36
  "dependencies": {
37
- "@n8n/api-types": "1.42.2",
38
- "@n8n/constants": "0.40.0",
37
+ "@n8n/api-types": "1.43.0",
38
+ "@n8n/constants": "0.41.0",
39
39
  "@n8n/di": "0.17.0",
40
- "@n8n/permissions": "0.79.0",
40
+ "@n8n/permissions": "0.80.0",
41
41
  "lodash": "4.18.1",
42
- "n8n-workflow": "2.42.2"
42
+ "n8n-workflow": "2.43.0"
43
43
  },
44
44
  "license": "SEE LICENSE IN LICENSE.md",
45
45
  "homepage": "https://n8n.io",