@n8n/decorators 1.39.2 → 1.40.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.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/controller/args.d.ts +7 -2
- package/dist/controller/args.js +13 -3
- package/dist/controller/args.js.map +1 -1
- package/dist/controller/types.d.ts +6 -1
- package/dist/pubsub/pubsub-metadata.d.ts +1 -1
- package/dist/pubsub/pubsub-metadata.js.map +1 -1
- package/dist/system-task/index.d.ts +1 -1
- package/dist/system-task/index.js +2 -1
- package/dist/system-task/index.js.map +1 -1
- package/dist/system-task/system-task.d.ts +1 -0
- package/dist/system-task/system-task.js +10 -0
- package/dist/system-task/system-task.js.map +1 -1
- package/package.json +10 -10
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ZodTypeAny } from 'zod';
|
|
2
|
+
export interface BodyOptions {
|
|
3
|
+
required?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function Body(target: object, propertyKey: string | symbol | undefined, parameterIndex: number): void;
|
|
6
|
+
export declare function Body(options?: BodyOptions): ParameterDecorator;
|
|
2
7
|
export declare const Query: ParameterDecorator;
|
|
3
|
-
export declare const Param: (key: string) => ParameterDecorator;
|
|
8
|
+
export declare const Param: (key: string, schema?: ZodTypeAny) => ParameterDecorator;
|
package/dist/controller/args.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Param = exports.Query =
|
|
3
|
+
exports.Param = exports.Query = void 0;
|
|
4
|
+
exports.Body = Body;
|
|
4
5
|
const di_1 = require("@n8n/di");
|
|
5
6
|
const controller_registry_metadata_1 = require("./controller-registry-metadata");
|
|
6
7
|
const ArgDecorator = (arg) => (target, handlerName, parameterIndex) => {
|
|
7
8
|
const routeMetadata = di_1.Container.get(controller_registry_metadata_1.ControllerRegistryMetadata).getRouteMetadata(target.constructor, String(handlerName));
|
|
8
9
|
routeMetadata.args[parameterIndex] = arg;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
function Body(targetOrOptions, propertyKey, parameterIndex) {
|
|
12
|
+
if (parameterIndex !== undefined) {
|
|
13
|
+
return ArgDecorator({ type: 'body' })(targetOrOptions, propertyKey, parameterIndex);
|
|
14
|
+
}
|
|
15
|
+
const options = targetOrOptions;
|
|
16
|
+
return ArgDecorator({
|
|
17
|
+
type: 'body',
|
|
18
|
+
...(options?.required !== undefined && { required: options.required }),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
11
21
|
exports.Query = ArgDecorator({ type: 'query' });
|
|
12
|
-
const Param = (key) => ArgDecorator({ type: 'param', key });
|
|
22
|
+
const Param = (key, schema) => ArgDecorator({ type: 'param', key, ...(schema && { schema }) });
|
|
13
23
|
exports.Param = Param;
|
|
14
24
|
//# sourceMappingURL=args.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/controller/args.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -3,6 +3,7 @@ import type { BooleanLicenseFeature } from '@n8n/constants';
|
|
|
3
3
|
import type { Constructable } from '@n8n/di';
|
|
4
4
|
import type { ApiKeyScope, Scope } from '@n8n/permissions';
|
|
5
5
|
import type { RequestHandler, Router } from 'express';
|
|
6
|
+
import type { ZodTypeAny } from 'zod';
|
|
6
7
|
import type { KeyedRateLimiterConfig, RateLimiterLimits } from './rate-limit';
|
|
7
8
|
export type ApiKeyScopeRequirement = ApiKeyScope | {
|
|
8
9
|
anyOf: readonly ApiKeyScope[];
|
|
@@ -18,10 +19,14 @@ export interface ErrorResponse {
|
|
|
18
19
|
}
|
|
19
20
|
export type Method = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head' | 'options';
|
|
20
21
|
export type Arg = {
|
|
21
|
-
type: 'body'
|
|
22
|
+
type: 'body';
|
|
23
|
+
required?: boolean;
|
|
24
|
+
} | {
|
|
25
|
+
type: 'query';
|
|
22
26
|
} | {
|
|
23
27
|
type: 'param';
|
|
24
28
|
key: string;
|
|
29
|
+
schema?: ZodTypeAny;
|
|
25
30
|
};
|
|
26
31
|
export interface CorsOptions {
|
|
27
32
|
allowedOrigins: string[];
|
|
@@ -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' | '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' | '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-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';
|
|
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;
|
|
1
|
+
{"version":3,"file":"pubsub-metadata.js","sourceRoot":"","sources":["../../src/pubsub/pubsub-metadata.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAiE3B,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,3 +1,3 @@
|
|
|
1
|
-
export { SystemTask, resolveSystemTaskRunOptions } from './system-task';
|
|
1
|
+
export { SystemTask, resolveSystemTaskRunOptions, resolveSystemTaskSchedule, } from './system-task';
|
|
2
2
|
export type { SystemTaskClass, SystemTaskEffects, SystemTaskRunOptions, SystemTaskSchedule, } from './system-task';
|
|
3
3
|
export { SystemTaskMetadata } from './system-task-metadata';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SystemTaskMetadata = exports.resolveSystemTaskRunOptions = exports.SystemTask = void 0;
|
|
3
|
+
exports.SystemTaskMetadata = exports.resolveSystemTaskSchedule = exports.resolveSystemTaskRunOptions = exports.SystemTask = void 0;
|
|
4
4
|
var system_task_1 = require("./system-task");
|
|
5
5
|
Object.defineProperty(exports, "SystemTask", { enumerable: true, get: function () { return system_task_1.SystemTask; } });
|
|
6
6
|
Object.defineProperty(exports, "resolveSystemTaskRunOptions", { enumerable: true, get: function () { return system_task_1.resolveSystemTaskRunOptions; } });
|
|
7
|
+
Object.defineProperty(exports, "resolveSystemTaskSchedule", { enumerable: true, get: function () { return system_task_1.resolveSystemTaskSchedule; } });
|
|
7
8
|
var system_task_metadata_1 = require("./system-task-metadata");
|
|
8
9
|
Object.defineProperty(exports, "SystemTaskMetadata", { enumerable: true, get: function () { return system_task_metadata_1.SystemTaskMetadata; } });
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system-task/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system-task/index.ts"],"names":[],"mappings":";;;AAAA,6CAIuB;AAHtB,yGAAA,UAAU,OAAA;AACV,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AAQ1B,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA"}
|
|
@@ -20,5 +20,6 @@ export interface SystemTaskRunOptions {
|
|
|
20
20
|
maxAttempts: number;
|
|
21
21
|
}
|
|
22
22
|
export declare function resolveSystemTaskRunOptions(task: SystemTask): SystemTaskRunOptions;
|
|
23
|
+
export declare function resolveSystemTaskSchedule(task: SystemTask): SystemTaskSchedule;
|
|
23
24
|
export type SystemTaskClass = Constructable<SystemTask>;
|
|
24
25
|
export declare const SystemTask: () => <T extends SystemTaskClass>(target: T) => T;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SystemTask = void 0;
|
|
4
4
|
exports.resolveSystemTaskRunOptions = resolveSystemTaskRunOptions;
|
|
5
|
+
exports.resolveSystemTaskSchedule = resolveSystemTaskSchedule;
|
|
5
6
|
const constants_1 = require("@n8n/constants");
|
|
6
7
|
const di_1 = require("@n8n/di");
|
|
7
8
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
@@ -26,6 +27,15 @@ function resolveSystemTaskRunOptions(task) {
|
|
|
26
27
|
assertInRange(task.name, 'misfireGraceSeconds', options.misfireGraceSeconds, 1);
|
|
27
28
|
return options;
|
|
28
29
|
}
|
|
30
|
+
function resolveSystemTaskSchedule(task) {
|
|
31
|
+
const { schedule } = task;
|
|
32
|
+
if (schedule.kind !== 'interval')
|
|
33
|
+
return schedule;
|
|
34
|
+
return { ...schedule, intervalSeconds: wholeSeconds(schedule.intervalSeconds) };
|
|
35
|
+
}
|
|
36
|
+
function wholeSeconds(seconds) {
|
|
37
|
+
return Math.max(1, Math.round(seconds));
|
|
38
|
+
}
|
|
29
39
|
const MAX_INT32 = 2_147_483_647;
|
|
30
40
|
function assertInRange(taskName, field, value, min) {
|
|
31
41
|
if (Number.isInteger(value) && value >= min && value <= MAX_INT32)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-task.js","sourceRoot":"","sources":["../../src/system-task/system-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-task.js","sourceRoot":"","sources":["../../src/system-task/system-task.ts"],"names":[],"mappings":";;;;;AAAA,8CAKwB;AACxB,gCAAsD;AACtD,+CAA+C;AA2F/C,MAAM,+BAA+B,GAGjC;IACH,UAAU,EAAE;QACX,aAAa,EAAE,qCAAyB,CAAC,QAAQ;QACjD,WAAW,EAAE,CAAC;KACd;IAED,gBAAgB,EAAE;QACjB,aAAa,EAAE,qCAAyB,CAAC,IAAI;QAC7C,WAAW,EAAE,CAAC;KACd;CACD,CAAC;AAQF,qCAA4C,IAAgB;IAC3D,MAAM,QAAQ,GAAG,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG;QACf,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa;QAC3D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,yCAA6B;QAC9E,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;KAC/F,CAAC;IAQF,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAEhF,OAAO,OAAO,CAAC;AAChB,CAAC;AAOD,mCAA0C,IAAgB;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAC;IAElD,OAAO,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;AACjF,CAAC;AAGD,SAAS,YAAY,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC;AAGD,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAa,EAAE,GAAW;IACjF,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,SAAS;QAAE,OAAO;IAE1E,MAAM,IAAI,8BAAe,CACxB,gBAAgB,QAAQ,cAAc,KAAK,OAAO,KAAK,uCAAuC,GAAG,QAAQ,SAAS,EAAE,CACpH,CAAC;AACH,CAAC;AAkBM,MAAM,UAAU,GACtB,GAAG,EAAE,CACL,CAA4B,MAAS,EAAK,EAAE;IAE3C,IAAA,YAAO,GAAE,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AANU,QAAA,UAAU,GAAV,UAAU,CAMpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/decorators",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.40.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
},
|
|
19
19
|
"files": [
|
|
20
20
|
"dist/**/*",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
21
|
+
"LICENSE.md",
|
|
22
|
+
"LICENSE_EE.md"
|
|
23
23
|
],
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@n8n/typescript-config": "1.
|
|
26
|
-
"@n8n/vitest-config": "1.
|
|
25
|
+
"@n8n/typescript-config": "1.12.0",
|
|
26
|
+
"@n8n/vitest-config": "1.22.0",
|
|
27
27
|
"@types/express": "^5.0.1",
|
|
28
28
|
"@types/lodash": "4.17.17",
|
|
29
29
|
"typescript": "7.0.2",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"zod": "3.25.76"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@n8n/api-types": "1.
|
|
35
|
-
"@n8n/constants": "0.
|
|
36
|
-
"@n8n/di": "0.
|
|
37
|
-
"@n8n/permissions": "0.
|
|
34
|
+
"@n8n/api-types": "1.40.0",
|
|
35
|
+
"@n8n/constants": "0.39.0",
|
|
36
|
+
"@n8n/di": "0.17.0",
|
|
37
|
+
"@n8n/permissions": "0.77.0",
|
|
38
38
|
"lodash": "4.18.1",
|
|
39
|
-
"n8n-workflow": "2.
|
|
39
|
+
"n8n-workflow": "2.40.0"
|
|
40
40
|
},
|
|
41
41
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
42
42
|
"homepage": "https://n8n.io",
|