n8n 1.101.1 → 1.102.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 (176) hide show
  1. package/bin/n8n +3 -11
  2. package/dist/auth/auth.service.d.ts +9 -5
  3. package/dist/auth/auth.service.js +46 -27
  4. package/dist/auth/auth.service.js.map +1 -1
  5. package/dist/auth/jwt.js +1 -1
  6. package/dist/auth/jwt.js.map +1 -1
  7. package/dist/build.tsbuildinfo +1 -1
  8. package/dist/command-registry.d.ts +17 -0
  9. package/dist/command-registry.js +191 -0
  10. package/dist/command-registry.js.map +1 -0
  11. package/dist/commands/audit.d.ts +13 -8
  12. package/dist/commands/audit.js +33 -21
  13. package/dist/commands/audit.js.map +1 -1
  14. package/dist/commands/base-command.d.ts +4 -3
  15. package/dist/commands/base-command.js +15 -11
  16. package/dist/commands/base-command.js.map +1 -1
  17. package/dist/commands/community-node.d.ts +19 -22
  18. package/dist/commands/community-node.js +34 -30
  19. package/dist/commands/community-node.js.map +1 -1
  20. package/dist/commands/db/revert.d.ts +3 -9
  21. package/dist/commands/db/revert.js +22 -15
  22. package/dist/commands/db/revert.js.map +1 -1
  23. package/dist/commands/execute-batch.d.ts +40 -17
  24. package/dist/commands/execute-batch.js +120 -96
  25. package/dist/commands/execute-batch.js.map +1 -1
  26. package/dist/commands/execute.d.ts +16 -8
  27. package/dist/commands/execute.js +24 -15
  28. package/dist/commands/execute.js.map +1 -1
  29. package/dist/commands/export/credentials.d.ts +28 -13
  30. package/dist/commands/export/credentials.js +47 -37
  31. package/dist/commands/export/credentials.js.map +1 -1
  32. package/dist/commands/export/workflow.d.ts +25 -12
  33. package/dist/commands/export/workflow.js +43 -34
  34. package/dist/commands/export/workflow.js.map +1 -1
  35. package/dist/commands/import/credentials.d.ts +19 -10
  36. package/dist/commands/import/credentials.js +44 -28
  37. package/dist/commands/import/credentials.js.map +1 -1
  38. package/dist/commands/import/workflow.d.ts +19 -10
  39. package/dist/commands/import/workflow.js +41 -28
  40. package/dist/commands/import/workflow.js.map +1 -1
  41. package/dist/commands/ldap/reset.d.ts +16 -9
  42. package/dist/commands/ldap/reset.js +37 -22
  43. package/dist/commands/ldap/reset.js.map +1 -1
  44. package/dist/commands/license/clear.d.ts +0 -2
  45. package/dist/commands/license/clear.js +15 -4
  46. package/dist/commands/license/clear.js.map +1 -1
  47. package/dist/commands/license/info.d.ts +0 -2
  48. package/dist/commands/license/info.js +15 -4
  49. package/dist/commands/license/info.js.map +1 -1
  50. package/dist/commands/list/workflow.d.ts +13 -8
  51. package/dist/commands/list/workflow.js +26 -19
  52. package/dist/commands/list/workflow.js.map +1 -1
  53. package/dist/commands/mfa/disable.d.ts +10 -8
  54. package/dist/commands/mfa/disable.js +22 -15
  55. package/dist/commands/mfa/disable.js.map +1 -1
  56. package/dist/commands/start.d.ts +16 -9
  57. package/dist/commands/start.js +31 -25
  58. package/dist/commands/start.js.map +1 -1
  59. package/dist/commands/update/workflow.d.ts +16 -9
  60. package/dist/commands/update/workflow.js +24 -21
  61. package/dist/commands/update/workflow.js.map +1 -1
  62. package/dist/commands/user-management/reset.d.ts +0 -2
  63. package/dist/commands/user-management/reset.js +16 -5
  64. package/dist/commands/user-management/reset.js.map +1 -1
  65. package/dist/commands/webhook.d.ts +0 -5
  66. package/dist/commands/webhook.js +15 -8
  67. package/dist/commands/webhook.js.map +1 -1
  68. package/dist/commands/worker.d.ts +12 -11
  69. package/dist/commands/worker.js +29 -14
  70. package/dist/commands/worker.js.map +1 -1
  71. package/dist/config/index.js +1 -1
  72. package/dist/config/index.js.map +1 -1
  73. package/dist/controller.registry.js +1 -1
  74. package/dist/controller.registry.js.map +1 -1
  75. package/dist/controllers/ai.controller.d.ts +1 -1
  76. package/dist/controllers/ai.controller.js +16 -0
  77. package/dist/controllers/ai.controller.js.map +1 -1
  78. package/dist/controllers/auth.controller.js +10 -3
  79. package/dist/controllers/auth.controller.js.map +1 -1
  80. package/dist/controllers/community-packages.controller.js +2 -2
  81. package/dist/controllers/community-packages.controller.js.map +1 -1
  82. package/dist/controllers/e2e.controller.js +13 -3
  83. package/dist/controllers/e2e.controller.js.map +1 -1
  84. package/dist/controllers/invitation.controller.js +1 -1
  85. package/dist/controllers/invitation.controller.js.map +1 -1
  86. package/dist/controllers/me.controller.js +2 -2
  87. package/dist/controllers/me.controller.js.map +1 -1
  88. package/dist/controllers/mfa.controller.d.ts +1 -0
  89. package/dist/controllers/mfa.controller.js +24 -6
  90. package/dist/controllers/mfa.controller.js.map +1 -1
  91. package/dist/controllers/oauth/abstract-oauth.controller.d.ts +1 -0
  92. package/dist/controllers/oauth/abstract-oauth.controller.js +6 -1
  93. package/dist/controllers/oauth/abstract-oauth.controller.js.map +1 -1
  94. package/dist/controllers/oauth/oauth2-credential.controller.js +2 -1
  95. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  96. package/dist/controllers/owner.controller.js +1 -1
  97. package/dist/controllers/owner.controller.js.map +1 -1
  98. package/dist/controllers/password-reset.controller.js +1 -1
  99. package/dist/controllers/password-reset.controller.js.map +1 -1
  100. package/dist/controllers/users.controller.d.ts +1 -0
  101. package/dist/credential-types.js +6 -5
  102. package/dist/credential-types.js.map +1 -1
  103. package/dist/credentials-helper.js +1 -1
  104. package/dist/credentials-helper.js.map +1 -1
  105. package/dist/environments.ee/source-control/source-control-export.service.ee.js +5 -1
  106. package/dist/environments.ee/source-control/source-control-export.service.ee.js.map +1 -1
  107. package/dist/environments.ee/source-control/source-control-git.service.ee.js +4 -0
  108. package/dist/environments.ee/source-control/source-control-git.service.ee.js.map +1 -1
  109. package/dist/environments.ee/source-control/source-control.service.ee.js +5 -4
  110. package/dist/environments.ee/source-control/source-control.service.ee.js.map +1 -1
  111. package/dist/errors/response-errors/content-too-large.error.d.ts +4 -0
  112. package/dist/errors/response-errors/content-too-large.error.js +11 -0
  113. package/dist/errors/response-errors/content-too-large.error.js.map +1 -0
  114. package/dist/errors/response-errors/too-many-requests.error.d.ts +4 -0
  115. package/dist/errors/response-errors/too-many-requests.error.js +11 -0
  116. package/dist/errors/response-errors/too-many-requests.error.js.map +1 -0
  117. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +1 -1
  118. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  119. package/dist/events/relays/telemetry.event-relay.js +7 -2
  120. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  121. package/dist/license/license.service.js +2 -0
  122. package/dist/license/license.service.js.map +1 -1
  123. package/dist/mfa/constants.d.ts +2 -0
  124. package/dist/mfa/constants.js +6 -0
  125. package/dist/mfa/constants.js.map +1 -0
  126. package/dist/mfa/mfa.service.d.ts +11 -2
  127. package/dist/mfa/mfa.service.js +39 -2
  128. package/dist/mfa/mfa.service.js.map +1 -1
  129. package/dist/modules/insights/insights.module.d.ts +1 -5
  130. package/dist/modules/insights/insights.module.js +6 -8
  131. package/dist/modules/insights/insights.module.js.map +1 -1
  132. package/dist/public-api/v1/openapi.yml +2 -2
  133. package/dist/push/index.js +1 -1
  134. package/dist/push/index.js.map +1 -1
  135. package/dist/requests.d.ts +4 -0
  136. package/dist/scaling/job-processor.js +1 -0
  137. package/dist/scaling/job-processor.js.map +1 -1
  138. package/dist/scaling/scaling.types.d.ts +1 -0
  139. package/dist/server.d.ts +1 -3
  140. package/dist/server.js +14 -18
  141. package/dist/server.js.map +1 -1
  142. package/dist/services/community-packages.service.d.ts +1 -1
  143. package/dist/services/community-packages.service.js +7 -9
  144. package/dist/services/community-packages.service.js.map +1 -1
  145. package/dist/services/frontend.service.d.ts +3 -1
  146. package/dist/services/frontend.service.js +9 -2
  147. package/dist/services/frontend.service.js.map +1 -1
  148. package/dist/services/hooks.service.d.ts +1 -0
  149. package/dist/services/hooks.service.js +3 -2
  150. package/dist/services/hooks.service.js.map +1 -1
  151. package/dist/services/user.service.d.ts +1 -0
  152. package/dist/services/user.service.js +1 -0
  153. package/dist/services/user.service.js.map +1 -1
  154. package/dist/sso.ee/oidc/routes/oidc.controller.ee.js +3 -1
  155. package/dist/sso.ee/oidc/routes/oidc.controller.ee.js.map +1 -1
  156. package/dist/sso.ee/saml/routes/saml.controller.ee.js +1 -1
  157. package/dist/sso.ee/saml/routes/saml.controller.ee.js.map +1 -1
  158. package/dist/task-runners/task-runner-process.d.ts +1 -0
  159. package/dist/task-runners/task-runner-process.js +7 -2
  160. package/dist/task-runners/task-runner-process.js.map +1 -1
  161. package/dist/telemetry/index.d.ts +1 -3
  162. package/dist/telemetry/index.js +1 -4
  163. package/dist/telemetry/index.js.map +1 -1
  164. package/dist/webhooks/webhook-helpers.js +1 -1
  165. package/dist/webhooks/webhook-helpers.js.map +1 -1
  166. package/dist/workflow-execute-additional-data.js +1 -0
  167. package/dist/workflow-execute-additional-data.js.map +1 -1
  168. package/dist/workflow-runner.js +2 -0
  169. package/dist/workflow-runner.js.map +1 -1
  170. package/dist/zod-alias-support.d.ts +9 -0
  171. package/dist/zod-alias-support.js +8 -0
  172. package/dist/zod-alias-support.js.map +1 -0
  173. package/package.json +24 -26
  174. package/dist/help.d.ts +0 -4
  175. package/dist/help.js +0 -12
  176. package/dist/help.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import { Logger, ModuleRegistry } from '@n8n/backend-common';
2
+ import { CommandMetadata, type CommandEntry } from '@n8n/decorators';
3
+ import './zod-alias-support';
4
+ export declare class CommandRegistry {
5
+ private readonly commandMetadata;
6
+ private readonly moduleRegistry;
7
+ private readonly logger;
8
+ private commandName;
9
+ private readonly argv;
10
+ constructor(commandMetadata: CommandMetadata, moduleRegistry: ModuleRegistry, logger: Logger);
11
+ execute(): Promise<undefined>;
12
+ parseFlags(commandEntry: CommandEntry): {
13
+ [x: string]: any;
14
+ };
15
+ listAllCommands(): Promise<void>;
16
+ printCommandUsage(commandEntry: CommandEntry): void;
17
+ }
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.CommandRegistry = void 0;
49
+ const backend_common_1 = require("@n8n/backend-common");
50
+ const decorators_1 = require("@n8n/decorators");
51
+ const di_1 = require("@n8n/di");
52
+ const fast_glob_1 = __importDefault(require("fast-glob"));
53
+ const picocolors_1 = __importDefault(require("picocolors"));
54
+ const yargs_parser_1 = __importDefault(require("yargs-parser"));
55
+ const zod_1 = require("zod");
56
+ require("./zod-alias-support");
57
+ let CommandRegistry = class CommandRegistry {
58
+ constructor(commandMetadata, moduleRegistry, logger) {
59
+ this.commandMetadata = commandMetadata;
60
+ this.moduleRegistry = moduleRegistry;
61
+ this.logger = logger;
62
+ this.argv = (0, yargs_parser_1.default)(process.argv.slice(2));
63
+ this.commandName = process.argv[2] ?? 'start';
64
+ }
65
+ async execute() {
66
+ if (this.commandName === '--help' || this.commandName === '-h') {
67
+ await this.listAllCommands();
68
+ return process.exit(0);
69
+ }
70
+ if (this.commandName === 'executeBatch') {
71
+ this.logger.warn('WARNING: "executeBatch" has been renamed to "execute-batch".');
72
+ this.commandName = 'execute-batch';
73
+ }
74
+ try {
75
+ await Promise.resolve(`${`./commands/${this.commandName.replaceAll(':', '/')}.js`}`).then(s => __importStar(require(s)));
76
+ }
77
+ catch { }
78
+ await this.moduleRegistry.loadModules();
79
+ const commandEntry = this.commandMetadata.get(this.commandName);
80
+ if (!commandEntry) {
81
+ this.logger.error(picocolors_1.default.red(`Error: Command "${this.commandName}" not found`));
82
+ return process.exit(1);
83
+ }
84
+ if (this.argv.help || this.argv.h) {
85
+ this.printCommandUsage(commandEntry);
86
+ return process.exit(0);
87
+ }
88
+ const command = di_1.Container.get(commandEntry.class);
89
+ command.flags = this.parseFlags(commandEntry);
90
+ let error = undefined;
91
+ try {
92
+ await command.init?.();
93
+ await command.run();
94
+ }
95
+ catch (e) {
96
+ error = e;
97
+ await command.catch?.(error);
98
+ }
99
+ finally {
100
+ await command.finally?.(error);
101
+ }
102
+ }
103
+ parseFlags(commandEntry) {
104
+ if (!commandEntry.flagsSchema)
105
+ return {};
106
+ const { _, ...argv } = this.argv;
107
+ Object.entries(commandEntry.flagsSchema.shape).forEach(([key, flagSchema]) => {
108
+ let schemaDef = flagSchema._def;
109
+ if (schemaDef.typeName === 'ZodOptional' && schemaDef.innerType) {
110
+ schemaDef = schemaDef.innerType._def;
111
+ }
112
+ const alias = schemaDef._alias;
113
+ if (alias?.length && !(key in argv) && argv[alias]) {
114
+ argv[key] = argv[alias];
115
+ }
116
+ });
117
+ return commandEntry.flagsSchema.parse(argv);
118
+ }
119
+ async listAllCommands() {
120
+ const commandFiles = await (0, fast_glob_1.default)('./commands/**/*.js', {
121
+ ignore: ['**/__tests__/**'],
122
+ cwd: __dirname,
123
+ });
124
+ await Promise.all(commandFiles.map(async (filePath) => await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)))));
125
+ await this.moduleRegistry.loadModules();
126
+ this.logger.info('Available commands:');
127
+ for (const [name, { description }] of this.commandMetadata.getEntries()) {
128
+ this.logger.info(` ${picocolors_1.default.bold(picocolors_1.default.green(name))}: \n ${description.split('\n')[0]}`);
129
+ }
130
+ this.logger.info('\nFor more detailed information, visit:\nhttps://docs.n8n.io/hosting/cli-commands/');
131
+ }
132
+ printCommandUsage(commandEntry) {
133
+ const { commandName } = this;
134
+ let output = '';
135
+ output += `${picocolors_1.default.bold('USAGE')}\n`;
136
+ output += ` $ n8n ${commandName}\n\n`;
137
+ const { flagsSchema } = commandEntry;
138
+ if (flagsSchema && Object.keys(flagsSchema.shape).length > 0) {
139
+ const flagLines = [];
140
+ const flagEntries = Object.entries(zod_1.z
141
+ .object({
142
+ help: zod_1.z.boolean().alias('h').describe('Show CLI help'),
143
+ })
144
+ .merge(flagsSchema).shape);
145
+ for (const [flagName, flagSchema] of flagEntries) {
146
+ let schemaDef = flagSchema._def;
147
+ if (schemaDef.typeName === 'ZodOptional' && schemaDef.innerType) {
148
+ schemaDef = schemaDef.innerType._def;
149
+ }
150
+ const typeName = schemaDef.typeName;
151
+ let flagString = `--${flagName}`;
152
+ if (schemaDef._alias) {
153
+ flagString = `-${schemaDef._alias}, ${flagString}`;
154
+ }
155
+ if (['ZodString', 'ZodNumber', 'ZodArray'].includes(typeName)) {
156
+ flagString += ' <value>';
157
+ }
158
+ let flagLine = flagSchema.description ?? '';
159
+ if ('defaultValue' in schemaDef) {
160
+ const defaultValue = schemaDef.defaultValue();
161
+ flagLine += ` [default: ${String(defaultValue)}]`;
162
+ }
163
+ flagLines.push([flagString, flagLine]);
164
+ }
165
+ const flagColumnWidth = Math.max(...flagLines.map(([flagString]) => flagString.length));
166
+ output += `${picocolors_1.default.bold('FLAGS')}\n`;
167
+ output += flagLines
168
+ .map(([flagString, flagLine]) => ` ${flagString.padEnd(flagColumnWidth)} ${flagLine}`)
169
+ .join('\n');
170
+ output += '\n\n';
171
+ }
172
+ output += `${picocolors_1.default.bold('DESCRIPTION')}\n`;
173
+ output += ` ${commandEntry.description}\n`;
174
+ if (commandEntry.examples?.length) {
175
+ output += `\n${picocolors_1.default.bold('EXAMPLES')}\n`;
176
+ output += commandEntry.examples
177
+ .map((example) => ` $ n8n ${commandName}${example ? ` ${example}` : ''}`)
178
+ .join('\n');
179
+ output += '\n';
180
+ }
181
+ this.logger.info(output);
182
+ }
183
+ };
184
+ exports.CommandRegistry = CommandRegistry;
185
+ exports.CommandRegistry = CommandRegistry = __decorate([
186
+ (0, di_1.Service)(),
187
+ __metadata("design:paramtypes", [decorators_1.CommandMetadata,
188
+ backend_common_1.ModuleRegistry,
189
+ backend_common_1.Logger])
190
+ ], CommandRegistry);
191
+ //# sourceMappingURL=command-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../src/command-registry.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
+ import z from 'zod';
1
2
  import { BaseCommand } from './base-command';
2
- export declare class SecurityAudit extends BaseCommand {
3
- static description: string;
4
- static examples: string[];
5
- static flags: {
6
- help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
7
- categories: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
- 'days-abandoned-workflow': import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
9
- };
3
+ declare const flagsSchema: z.ZodObject<{
4
+ categories: z.ZodDefault<z.ZodString>;
5
+ 'days-abandoned-workflow': z.ZodDefault<z.ZodNumber>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ categories: string;
8
+ 'days-abandoned-workflow': number;
9
+ }, {
10
+ categories?: string | undefined;
11
+ 'days-abandoned-workflow'?: number | undefined;
12
+ }>;
13
+ export declare class SecurityAudit extends BaseCommand<z.infer<typeof flagsSchema>> {
10
14
  run(): Promise<void>;
11
15
  catch(error: Error): Promise<void>;
12
16
  }
17
+ export {};
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
18
24
  var __importStar = (this && this.__importStar) || (function () {
19
25
  var ownKeys = function(o) {
20
26
  ownKeys = Object.getOwnPropertyNames || function (o) {
@@ -32,17 +38,32 @@ var __importStar = (this && this.__importStar) || (function () {
32
38
  return result;
33
39
  };
34
40
  })();
41
+ var __importDefault = (this && this.__importDefault) || function (mod) {
42
+ return (mod && mod.__esModule) ? mod : { "default": mod };
43
+ };
35
44
  Object.defineProperty(exports, "__esModule", { value: true });
36
45
  exports.SecurityAudit = void 0;
37
46
  const config_1 = require("@n8n/config");
47
+ const decorators_1 = require("@n8n/decorators");
38
48
  const di_1 = require("@n8n/di");
39
- const core_1 = require("@oclif/core");
40
49
  const n8n_workflow_1 = require("n8n-workflow");
50
+ const zod_1 = __importDefault(require("zod"));
41
51
  const constants_1 = require("../security-audit/constants");
42
52
  const base_command_1 = require("./base-command");
43
- class SecurityAudit extends base_command_1.BaseCommand {
53
+ const flagsSchema = zod_1.default.object({
54
+ categories: zod_1.default
55
+ .string()
56
+ .default(constants_1.RISK_CATEGORIES.join(','))
57
+ .describe('Comma-separated list of categories to include in the audit'),
58
+ 'days-abandoned-workflow': zod_1.default
59
+ .number()
60
+ .int()
61
+ .default(di_1.Container.get(config_1.SecurityConfig).daysAbandonedWorkflow)
62
+ .describe('Days for a workflow to be considered abandoned if not executed'),
63
+ });
64
+ let SecurityAudit = class SecurityAudit extends base_command_1.BaseCommand {
44
65
  async run() {
45
- const { flags: auditFlags } = await this.parse(SecurityAudit);
66
+ const { flags: auditFlags } = this;
46
67
  const categories = auditFlags.categories?.split(',').filter((c) => c !== '') ??
47
68
  constants_1.RISK_CATEGORIES;
48
69
  const invalidCategories = categories.filter((c) => !constants_1.RISK_CATEGORIES.includes(c));
@@ -66,23 +87,14 @@ class SecurityAudit extends base_command_1.BaseCommand {
66
87
  this.logger.error('Failed to generate security audit');
67
88
  this.logger.error(error.message);
68
89
  }
69
- }
70
- exports.SecurityAudit = SecurityAudit;
71
- SecurityAudit.description = 'Generate a security audit report for this n8n instance';
72
- SecurityAudit.examples = [
73
- '$ n8n audit',
74
- '$ n8n audit --categories=database,credentials',
75
- '$ n8n audit --days-abandoned-workflow=10',
76
- ];
77
- SecurityAudit.flags = {
78
- help: core_1.Flags.help({ char: 'h' }),
79
- categories: core_1.Flags.string({
80
- default: constants_1.RISK_CATEGORIES.join(','),
81
- description: 'Comma-separated list of categories to include in the audit',
82
- }),
83
- 'days-abandoned-workflow': core_1.Flags.integer({
84
- default: di_1.Container.get(config_1.SecurityConfig).daysAbandonedWorkflow,
85
- description: 'Days for a workflow to be considered abandoned if not executed',
86
- }),
87
90
  };
91
+ exports.SecurityAudit = SecurityAudit;
92
+ exports.SecurityAudit = SecurityAudit = __decorate([
93
+ (0, decorators_1.Command)({
94
+ name: 'audit',
95
+ description: 'Generate a security audit report for this n8n instance',
96
+ examples: ['', '--categories=database,credentials', '--days-abandoned-workflow=10'],
97
+ flagsSchema,
98
+ })
99
+ ], SecurityAudit);
88
100
  //# sourceMappingURL=audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA6C;AAC7C,gCAAoC;AACpC,sCAAoC;AACpC,+CAAyC;AAEzC,0DAA6D;AAG7D,iDAA6C;AAE7C,MAAa,aAAc,SAAQ,0BAAW;IAsB7C,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE9D,MAAM,UAAU,GACf,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7E,2BAAe,CAAC;QAEjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,2BAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GACZ,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,gCAAgC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChE,CAAC,CAAC,8BAA8B,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzD,MAAM,IAAI,GAAG,yBAAyB,2BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEnE,MAAM,IAAI,wBAAS,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,yCAAyC,GAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,MAAM,cAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAC3D,UAAU,EACV,UAAU,CAAC,yBAAyB,CAAC,CACrC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAY;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;;AA3DF,sCA4DC;AA3DO,yBAAW,GAAG,wDAAwD,CAAC;AAEvE,sBAAQ,GAAG;IACjB,aAAa;IACb,+CAA+C;IAC/C,0CAA0C;CAC1C,CAAC;AAEK,mBAAK,GAAG;IACd,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC/B,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,2BAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAClC,WAAW,EAAE,4DAA4D;KACzE,CAAC;IAEF,yBAAyB,EAAE,YAAK,CAAC,OAAO,CAAC;QACxC,OAAO,EAAE,cAAS,CAAC,GAAG,CAAC,uBAAc,CAAC,CAAC,qBAAqB;QAC5D,WAAW,EAAE,gEAAgE;KAC7E,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA6C;AAC7C,gDAA0C;AAC1C,gCAAoC;AACpC,+CAAyC;AACzC,8CAAoB;AAEpB,0DAA6D;AAG7D,iDAA6C;AAE7C,MAAM,WAAW,GAAG,aAAC,CAAC,MAAM,CAAC;IAC5B,UAAU,EAAE,aAAC;SACX,MAAM,EAAE;SACR,OAAO,CAAC,2BAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC,QAAQ,CAAC,4DAA4D,CAAC;IACxE,yBAAyB,EAAE,aAAC;SAC1B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,OAAO,CAAC,cAAS,CAAC,GAAG,CAAC,uBAAc,CAAC,CAAC,qBAAqB,CAAC;SAC5D,QAAQ,CAAC,gEAAgE,CAAC;CAC5E,CAAC,CAAC;AAQI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,0BAAwC;IAC1E,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,UAAU,GACf,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7E,2BAAe,CAAC;QAEjB,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,2BAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GACZ,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,gCAAgC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChE,CAAC,CAAC,8BAA8B,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzD,MAAM,IAAI,GAAG,yBAAyB,2BAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEnE,MAAM,IAAI,wBAAS,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,yCAAyC,GAAC,CAAC;QAEzF,MAAM,MAAM,GAAG,MAAM,cAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAC3D,UAAU,EACV,UAAU,CAAC,yBAAyB,CAAC,CACrC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAY;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAtCY,sCAAa;wBAAb,aAAa;IANzB,IAAA,oBAAO,EAAC;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,CAAC,EAAE,EAAE,mCAAmC,EAAE,8BAA8B,CAAC;QACnF,WAAW;KACX,CAAC;GACW,aAAa,CAsCzB"}
@@ -2,14 +2,14 @@ import 'reflect-metadata';
2
2
  import { Logger, ModuleRegistry, ModulesConfig } from '@n8n/backend-common';
3
3
  import { GlobalConfig } from '@n8n/config';
4
4
  import { DbConnection } from '@n8n/db';
5
- import { Command } from '@oclif/core';
6
5
  import { InstanceSettings, ErrorReporter } from 'n8n-core';
7
6
  import type { AbstractServer } from '../abstract-server';
8
7
  import { ExternalHooks } from '../external-hooks';
9
8
  import { License } from '../license';
10
9
  import { NodeTypes } from '../node-types';
11
10
  import { ShutdownService } from '../shutdown/shutdown.service';
12
- export declare abstract class BaseCommand extends Command {
11
+ export declare abstract class BaseCommand<F = never> {
12
+ readonly flags: F;
13
13
  protected logger: Logger;
14
14
  protected dbConnection: DbConnection;
15
15
  protected errorReporter: ErrorReporter;
@@ -25,12 +25,13 @@ export declare abstract class BaseCommand extends Command {
25
25
  protected gracefulShutdownTimeoutInS: number;
26
26
  protected needsCommunityPackages: boolean;
27
27
  protected needsTaskRunner: boolean;
28
- protected loadModules(): Promise<void>;
29
28
  init(): Promise<void>;
30
29
  protected stopProcess(): Promise<void>;
31
30
  protected initCrashJournal(): Promise<void>;
32
31
  protected exitSuccessFully(): Promise<void>;
33
32
  protected exitWithCrash(message: string, error: unknown): Promise<void>;
33
+ protected log(message: string): void;
34
+ protected error(message: string): void;
34
35
  initObjectStoreService(): Promise<undefined>;
35
36
  initBinaryDataService(): Promise<void>;
36
37
  protected initDataDeduplicationService(): Promise<void>;
@@ -43,7 +43,6 @@ const config_1 = require("@n8n/config");
43
43
  const constants_1 = require("@n8n/constants");
44
44
  const db_1 = require("@n8n/db");
45
45
  const di_1 = require("@n8n/di");
46
- const core_1 = require("@oclif/core");
47
46
  const n8n_core_1 = require("n8n-core");
48
47
  const n8n_workflow_1 = require("n8n-workflow");
49
48
  const config_2 = __importDefault(require("../config"));
@@ -61,9 +60,8 @@ const node_types_1 = require("../node-types");
61
60
  const posthog_1 = require("../posthog");
62
61
  const shutdown_service_1 = require("../shutdown/shutdown.service");
63
62
  const workflow_history_manager_ee_1 = require("../workflows/workflow-history.ee/workflow-history-manager.ee");
64
- class BaseCommand extends core_1.Command {
63
+ class BaseCommand {
65
64
  constructor() {
66
- super(...arguments);
67
65
  this.logger = di_1.Container.get(backend_common_1.Logger);
68
66
  this.instanceSettings = di_1.Container.get(n8n_core_1.InstanceSettings);
69
67
  this.shutdownService = di_1.Container.get(shutdown_service_1.ShutdownService);
@@ -74,9 +72,6 @@ class BaseCommand extends core_1.Command {
74
72
  this.needsCommunityPackages = false;
75
73
  this.needsTaskRunner = false;
76
74
  }
77
- async loadModules() {
78
- await this.moduleRegistry.loadModules();
79
- }
80
75
  async init() {
81
76
  this.dbConnection = di_1.Container.get(db_1.DbConnection);
82
77
  this.errorReporter = di_1.Container.get(n8n_core_1.ErrorReporter);
@@ -115,7 +110,11 @@ class BaseCommand extends core_1.Command {
115
110
  const { CommunityPackagesService } = await Promise.resolve().then(() => __importStar(require('../services/community-packages.service')));
116
111
  await di_1.Container.get(CommunityPackagesService).init();
117
112
  }
118
- if (this.needsTaskRunner && this.globalConfig.taskRunners.enabled) {
113
+ const taskRunnersConfig = this.globalConfig.taskRunners;
114
+ if (this.needsTaskRunner && taskRunnersConfig.enabled) {
115
+ if (taskRunnersConfig.insecureMode) {
116
+ this.logger.warn('TASK RUNNER CONFIGURED TO START IN INSECURE MODE. This is discouraged for production use. Please consider using secure mode instead.');
117
+ }
119
118
  const { TaskRunnerModule } = await Promise.resolve().then(() => __importStar(require('../task-runners/task-runner-module')));
120
119
  await di_1.Container.get(TaskRunnerModule).start();
121
120
  }
@@ -141,6 +140,12 @@ class BaseCommand extends core_1.Command {
141
140
  await (0, n8n_workflow_1.sleep)(2000);
142
141
  process.exit(1);
143
142
  }
143
+ log(message) {
144
+ this.logger.info(message);
145
+ }
146
+ error(message) {
147
+ throw new n8n_workflow_1.UnexpectedError(message);
148
+ }
144
149
  async initObjectStoreService() {
145
150
  const binaryDataConfig = di_1.Container.get(n8n_core_1.BinaryDataConfig);
146
151
  const isSelected = binaryDataConfig.mode === 's3';
@@ -153,7 +158,7 @@ class BaseCommand extends core_1.Command {
153
158
  const isLicensed = di_1.Container.get(license_1.License).isLicensed(constants_1.LICENSE_FEATURES.BINARY_DATA_S3);
154
159
  if (!isLicensed) {
155
160
  this.logger.error('No license found for S3 storage. \n Either set `N8N_DEFAULT_BINARY_DATA_MODE` to something else, or upgrade to a license that supports this feature.');
156
- return this.exit(1);
161
+ return process.exit(1);
157
162
  }
158
163
  this.logger.debug('License found for external storage - Initializing object store service');
159
164
  try {
@@ -214,14 +219,13 @@ class BaseCommand extends core_1.Command {
214
219
  async finally(error) {
215
220
  if (error?.message)
216
221
  this.logger.error(error.message);
217
- if (backend_common_1.inTest || this.id === 'start')
222
+ if (backend_common_1.inTest || this.constructor.name === 'Start')
218
223
  return;
219
224
  if (this.dbConnection.connectionState.connected) {
220
225
  await (0, n8n_workflow_1.sleep)(100);
221
226
  await this.dbConnection.close();
222
227
  }
223
- const exitCode = error instanceof core_1.Errors.ExitError ? error.oclif.exit : error ? 1 : 0;
224
- this.exit(exitCode);
228
+ process.exit();
225
229
  }
226
230
  onTerminationSignal(signal) {
227
231
  return async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../src/commands/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../../src/commands/base-command.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,23 @@
1
1
  import { type InstalledNodes, type InstalledPackages, type User } from '@n8n/db';
2
+ import { z } from 'zod';
2
3
  import { BaseCommand } from './base-command';
3
- export declare class CommunityNode extends BaseCommand {
4
- static description: string;
5
- static examples: string[];
6
- static flags: {
7
- help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
8
- uninstall: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- package: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
- credential: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
- userId: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
- };
13
- init(): Promise<void>;
4
+ declare const flagsSchema: z.ZodObject<{
5
+ uninstall: z.ZodOptional<z.ZodBoolean>;
6
+ package: z.ZodOptional<z.ZodString>;
7
+ credential: z.ZodOptional<z.ZodString>;
8
+ userId: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ credential?: string | undefined;
11
+ uninstall?: boolean | undefined;
12
+ userId?: string | undefined;
13
+ package?: string | undefined;
14
+ }, {
15
+ credential?: string | undefined;
16
+ uninstall?: boolean | undefined;
17
+ userId?: string | undefined;
18
+ package?: string | undefined;
19
+ }>;
20
+ export declare class CommunityNode extends BaseCommand<z.infer<typeof flagsSchema>> {
14
21
  run(): Promise<void>;
15
22
  catch(error: Error): Promise<void>;
16
23
  uninstallCredential(credentialType: string, userId: string): Promise<void>;
@@ -19,18 +26,8 @@ export declare class CommunityNode extends BaseCommand {
19
26
  deleteCredential(user: User, credentialId: string): Promise<void>;
20
27
  uninstallPackage(packageName: string): Promise<void>;
21
28
  pruneDependencies(): Promise<void>;
22
- parseFlags(): Promise<import("@oclif/core/lib/interfaces").ParserOutput<{
23
- help: void;
24
- uninstall: boolean;
25
- package: string | undefined;
26
- credential: string | undefined;
27
- userId: string | undefined;
28
- }, {
29
- [flag: string]: any;
30
- }, {
31
- [arg: string]: any;
32
- }>>;
33
29
  deleteCommunityNode(node: InstalledNodes): Promise<import("@n8n/typeorm").DeleteResult>;
34
30
  removeCommunityPackage(packageName: string, communityPackage: InstalledPackages): Promise<void>;
35
31
  findCommunityPackage(packageName: string): Promise<InstalledPackages | null>;
36
32
  }
33
+ export {};
@@ -1,18 +1,34 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.CommunityNode = void 0;
4
10
  const db_1 = require("@n8n/db");
11
+ const decorators_1 = require("@n8n/decorators");
5
12
  const di_1 = require("@n8n/di");
6
- const core_1 = require("@oclif/core");
13
+ const zod_1 = require("zod");
7
14
  const credentials_service_1 = require("../credentials/credentials.service");
8
15
  const community_packages_service_1 = require("../services/community-packages.service");
9
16
  const base_command_1 = require("./base-command");
10
- class CommunityNode extends base_command_1.BaseCommand {
11
- async init() {
12
- await super.init();
13
- }
17
+ const flagsSchema = zod_1.z.object({
18
+ uninstall: zod_1.z.boolean().describe('Uninstalls the node').optional(),
19
+ package: zod_1.z.string().describe('Package name of the community node.').optional(),
20
+ credential: zod_1.z
21
+ .string()
22
+ .describe("Type of the credential.\nGet this value by visiting the node's .credential.ts file and getting the value of `name`")
23
+ .optional(),
24
+ userId: zod_1.z
25
+ .string()
26
+ .describe('The ID of the user who owns the credential.\nOn self-hosted, query the database.\nOn cloud, query the API with your API key')
27
+ .optional(),
28
+ });
29
+ let CommunityNode = class CommunityNode extends base_command_1.BaseCommand {
14
30
  async run() {
15
- const { flags } = await this.parseFlags();
31
+ const { flags } = this;
16
32
  const packageName = flags.package;
17
33
  const credentialType = flags.credential;
18
34
  const userId = flags.userId;
@@ -88,9 +104,6 @@ class CommunityNode extends base_command_1.BaseCommand {
88
104
  async pruneDependencies() {
89
105
  await di_1.Container.get(community_packages_service_1.CommunityPackagesService).executeNpmCommand('npm prune');
90
106
  }
91
- async parseFlags() {
92
- return await this.parse(CommunityNode);
93
- }
94
107
  async deleteCommunityNode(node) {
95
108
  return await di_1.Container.get(db_1.InstalledNodesRepository).delete({
96
109
  type: node.type,
@@ -102,26 +115,17 @@ class CommunityNode extends base_command_1.BaseCommand {
102
115
  async findCommunityPackage(packageName) {
103
116
  return await di_1.Container.get(community_packages_service_1.CommunityPackagesService).findInstalledPackage(packageName);
104
117
  }
105
- }
106
- exports.CommunityNode = CommunityNode;
107
- CommunityNode.description = '\nUninstall a community node and its credentials';
108
- CommunityNode.examples = [
109
- '$ n8n community-node --uninstall --package n8n-nodes-evolution-api',
110
- '$ n8n community-node --uninstall --credential evolutionApi --userId 1234',
111
- ];
112
- CommunityNode.flags = {
113
- help: core_1.Flags.help({ char: 'h' }),
114
- uninstall: core_1.Flags.boolean({
115
- description: 'Uninstalls the node',
116
- }),
117
- package: core_1.Flags.string({
118
- description: 'Package name of the community node.',
119
- }),
120
- credential: core_1.Flags.string({
121
- description: "Type of the credential.\nGet this value by visiting the node's .credential.ts file and getting the value of `name`",
122
- }),
123
- userId: core_1.Flags.string({
124
- description: 'The ID of the user who owns the credential.\nOn self-hosted, query the database.\nOn cloud, query the API with your API key',
125
- }),
126
118
  };
119
+ exports.CommunityNode = CommunityNode;
120
+ exports.CommunityNode = CommunityNode = __decorate([
121
+ (0, decorators_1.Command)({
122
+ name: 'community-node',
123
+ description: 'Uninstall a community node and its credentials',
124
+ examples: [
125
+ '--uninstall --package n8n-nodes-evolution-api',
126
+ '--uninstall --credential evolutionApi --userId 1234',
127
+ ],
128
+ flagsSchema,
129
+ })
130
+ ], CommunityNode);
127
131
  //# sourceMappingURL=community-node.js.map