n8n 1.49.0 → 1.50.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 (181) hide show
  1. package/LICENSE_EE.md +27 -0
  2. package/dist/CredentialsOverwrites.d.ts +2 -1
  3. package/dist/CredentialsOverwrites.js +5 -7
  4. package/dist/CredentialsOverwrites.js.map +1 -1
  5. package/dist/Interfaces.d.ts +1 -13
  6. package/dist/Interfaces.js.map +1 -1
  7. package/dist/InternalHooks.d.ts +3 -1
  8. package/dist/InternalHooks.js +27 -24
  9. package/dist/InternalHooks.js.map +1 -1
  10. package/dist/Ldap/{helpers.js → helpers.ee.js} +1 -1
  11. package/dist/Ldap/helpers.ee.js.map +1 -0
  12. package/dist/Ldap/{ldap.controller.d.ts → ldap.controller.ee.d.ts} +1 -1
  13. package/dist/Ldap/{ldap.controller.js → ldap.controller.ee.js} +5 -5
  14. package/dist/Ldap/ldap.controller.ee.js.map +1 -0
  15. package/dist/Ldap/{ldap.service.js → ldap.service.ee.js} +16 -16
  16. package/dist/Ldap/ldap.service.ee.js.map +1 -0
  17. package/dist/Queue.d.ts +1 -4
  18. package/dist/Queue.js +11 -2
  19. package/dist/Queue.js.map +1 -1
  20. package/dist/Server.d.ts +0 -1
  21. package/dist/Server.js +30 -20
  22. package/dist/Server.js.map +1 -1
  23. package/dist/UserManagement/email/NodeMailer.d.ts +5 -5
  24. package/dist/UserManagement/email/NodeMailer.js +24 -59
  25. package/dist/UserManagement/email/NodeMailer.js.map +1 -1
  26. package/dist/UserManagement/email/UserManagementMailer.d.ts +13 -6
  27. package/dist/UserManagement/email/UserManagementMailer.js +38 -44
  28. package/dist/UserManagement/email/UserManagementMailer.js.map +1 -1
  29. package/dist/WorkflowRunner.js +1 -2
  30. package/dist/WorkflowRunner.js.map +1 -1
  31. package/dist/auth/methods/email.js +2 -2
  32. package/dist/auth/methods/email.js.map +1 -1
  33. package/dist/auth/methods/ldap.js +12 -12
  34. package/dist/auth/methods/ldap.js.map +1 -1
  35. package/dist/build.tsbuildinfo +1 -1
  36. package/dist/commands/BaseCommand.js +19 -17
  37. package/dist/commands/BaseCommand.js.map +1 -1
  38. package/dist/commands/start.js +19 -17
  39. package/dist/commands/start.js.map +1 -1
  40. package/dist/commands/worker.js +11 -10
  41. package/dist/commands/worker.js.map +1 -1
  42. package/dist/config/index.d.ts +0 -78
  43. package/dist/config/index.js +28 -2
  44. package/dist/config/index.js.map +1 -1
  45. package/dist/config/schema.d.ts +0 -318
  46. package/dist/config/schema.js +0 -318
  47. package/dist/config/schema.js.map +1 -1
  48. package/dist/constants.d.ts +3 -1
  49. package/dist/constants.js +4 -2
  50. package/dist/constants.js.map +1 -1
  51. package/dist/credentials/credentials.controller.d.ts +3 -1
  52. package/dist/credentials/credentials.controller.js +7 -8
  53. package/dist/credentials/credentials.controller.js.map +1 -1
  54. package/dist/credentials/credentials.service.d.ts +0 -1
  55. package/dist/credentials/credentials.service.js +1 -1
  56. package/dist/credentials/credentials.service.js.map +1 -1
  57. package/dist/databases/config.js +29 -26
  58. package/dist/databases/config.js.map +1 -1
  59. package/dist/databases/dsl/Column.d.ts +2 -0
  60. package/dist/databases/dsl/Column.js +7 -1
  61. package/dist/databases/dsl/Column.js.map +1 -1
  62. package/dist/databases/entities/AbstractEntity.d.ts +1 -0
  63. package/dist/databases/entities/AbstractEntity.js +7 -9
  64. package/dist/databases/entities/AbstractEntity.js.map +1 -1
  65. package/dist/databases/entities/ExecutionMetadata.d.ts +1 -1
  66. package/dist/databases/entities/ExecutionMetadata.js +2 -2
  67. package/dist/databases/entities/ExecutionMetadata.js.map +1 -1
  68. package/dist/databases/entities/WorkflowEntity.js +1 -5
  69. package/dist/databases/entities/WorkflowEntity.js.map +1 -1
  70. package/dist/databases/migrations/common/1720101653148-AddConstraintToExecutionMetadata.d.ts +5 -0
  71. package/dist/databases/migrations/common/1720101653148-AddConstraintToExecutionMetadata.js +80 -0
  72. package/dist/databases/migrations/common/1720101653148-AddConstraintToExecutionMetadata.js.map +1 -0
  73. package/dist/databases/migrations/mysqldb/1690000000001-MigrateIntegerKeysToString.d.ts +1 -1
  74. package/dist/databases/migrations/mysqldb/1690000000001-MigrateIntegerKeysToString.js +2 -7
  75. package/dist/databases/migrations/mysqldb/1690000000001-MigrateIntegerKeysToString.js.map +1 -1
  76. package/dist/databases/migrations/mysqldb/index.js +2 -0
  77. package/dist/databases/migrations/mysqldb/index.js.map +1 -1
  78. package/dist/databases/migrations/postgresdb/index.js +2 -0
  79. package/dist/databases/migrations/postgresdb/index.js.map +1 -1
  80. package/dist/databases/migrations/sqlite/1690000000002-MigrateIntegerKeysToString.js +2 -2
  81. package/dist/databases/migrations/sqlite/1690000000002-MigrateIntegerKeysToString.js.map +1 -1
  82. package/dist/databases/migrations/sqlite/index.js +2 -0
  83. package/dist/databases/migrations/sqlite/index.js.map +1 -1
  84. package/dist/databases/repositories/execution.repository.d.ts +3 -1
  85. package/dist/databases/repositories/execution.repository.js +6 -3
  86. package/dist/databases/repositories/execution.repository.js.map +1 -1
  87. package/dist/databases/repositories/usageMetrics.repository.d.ts +3 -1
  88. package/dist/databases/repositories/usageMetrics.repository.js +8 -9
  89. package/dist/databases/repositories/usageMetrics.repository.js.map +1 -1
  90. package/dist/databases/repositories/workflow.repository.d.ts +3 -1
  91. package/dist/databases/repositories/workflow.repository.js +9 -5
  92. package/dist/databases/repositories/workflow.repository.js.map +1 -1
  93. package/dist/databases/repositories/workflowStatistics.repository.d.ts +3 -2
  94. package/dist/databases/repositories/workflowStatistics.repository.js +8 -9
  95. package/dist/databases/repositories/workflowStatistics.repository.js.map +1 -1
  96. package/dist/databases/utils/migrationHelpers.js +5 -7
  97. package/dist/databases/utils/migrationHelpers.js.map +1 -1
  98. package/dist/databases/utils/transformers.js +3 -5
  99. package/dist/databases/utils/transformers.js.map +1 -1
  100. package/dist/decorators/OnShutdown.js +2 -1
  101. package/dist/decorators/OnShutdown.js.map +1 -1
  102. package/dist/executions/execution.service.d.ts +3 -1
  103. package/dist/executions/execution.service.js +11 -5
  104. package/dist/executions/execution.service.js.map +1 -1
  105. package/dist/push/abstract.push.d.ts +4 -11
  106. package/dist/push/abstract.push.js +5 -26
  107. package/dist/push/abstract.push.js.map +1 -1
  108. package/dist/push/index.d.ts +4 -5
  109. package/dist/push/index.js +14 -13
  110. package/dist/push/index.js.map +1 -1
  111. package/dist/push/sse.push.d.ts +2 -4
  112. package/dist/push/sse.push.js +5 -6
  113. package/dist/push/sse.push.js.map +1 -1
  114. package/dist/push/types.d.ts +0 -6
  115. package/dist/push/websocket.push.d.ts +2 -4
  116. package/dist/push/websocket.push.js +5 -21
  117. package/dist/push/websocket.push.js.map +1 -1
  118. package/dist/requests.d.ts +0 -7
  119. package/dist/services/executionMetadata.service.d.ts +1 -2
  120. package/dist/services/executionMetadata.service.js +4 -2
  121. package/dist/services/executionMetadata.service.js.map +1 -1
  122. package/dist/services/frontend.service.d.ts +3 -1
  123. package/dist/services/frontend.service.js +73 -75
  124. package/dist/services/frontend.service.js.map +1 -1
  125. package/dist/services/redis/RedisServiceBaseClasses.js +0 -3
  126. package/dist/services/redis/RedisServiceBaseClasses.js.map +1 -1
  127. package/dist/services/redis/redis-client.service.js +3 -1
  128. package/dist/services/redis/redis-client.service.js.map +1 -1
  129. package/dist/shutdown/Shutdown.service.js +4 -0
  130. package/dist/shutdown/Shutdown.service.js.map +1 -1
  131. package/dist/workflows/workflow.service.ee.js +1 -1
  132. package/dist/workflows/workflow.service.ee.js.map +1 -1
  133. package/dist/workflows/workflowStaticData.service.d.ts +3 -1
  134. package/dist/workflows/workflowStaticData.service.js +6 -7
  135. package/dist/workflows/workflowStaticData.service.js.map +1 -1
  136. package/package.json +24 -30
  137. package/dist/Ldap/helpers.js.map +0 -1
  138. package/dist/Ldap/ldap.controller.js.map +0 -1
  139. package/dist/Ldap/ldap.service.js.map +0 -1
  140. package/dist/collaboration/collaboration.message.d.ts +0 -11
  141. package/dist/collaboration/collaboration.message.js +0 -15
  142. package/dist/collaboration/collaboration.message.js.map +0 -1
  143. package/dist/collaboration/collaboration.service.d.ts +0 -17
  144. package/dist/collaboration/collaboration.service.js +0 -100
  145. package/dist/collaboration/collaboration.service.js.map +0 -1
  146. package/dist/collaboration/collaboration.state.d.ts +0 -14
  147. package/dist/collaboration/collaboration.state.js +0 -64
  148. package/dist/collaboration/collaboration.state.js.map +0 -1
  149. package/dist/controllers/ai.controller.d.ts +0 -10
  150. package/dist/controllers/ai.controller.js +0 -42
  151. package/dist/controllers/ai.controller.js.map +0 -1
  152. package/dist/errors/response-errors/failed-dependency.error.d.ts +0 -4
  153. package/dist/errors/response-errors/failed-dependency.error.js +0 -11
  154. package/dist/errors/response-errors/failed-dependency.error.js.map +0 -1
  155. package/dist/services/ai/prompts/generateCurl.d.ts +0 -10
  156. package/dist/services/ai/prompts/generateCurl.js +0 -65
  157. package/dist/services/ai/prompts/generateCurl.js.map +0 -1
  158. package/dist/services/ai/prompts/retrieveService.d.ts +0 -6
  159. package/dist/services/ai/prompts/retrieveService.js +0 -20
  160. package/dist/services/ai/prompts/retrieveService.js.map +0 -1
  161. package/dist/services/ai/providers/openai.d.ts +0 -16
  162. package/dist/services/ai/providers/openai.js +0 -52
  163. package/dist/services/ai/providers/openai.js.map +0 -1
  164. package/dist/services/ai/resources/api-knowledgebase.json +0 -2651
  165. package/dist/services/ai/schemas/generateCurl.d.ts +0 -8
  166. package/dist/services/ai/schemas/generateCurl.js +0 -10
  167. package/dist/services/ai/schemas/generateCurl.js.map +0 -1
  168. package/dist/services/ai/schemas/retrieveService.d.ts +0 -8
  169. package/dist/services/ai/schemas/retrieveService.js +0 -10
  170. package/dist/services/ai/schemas/retrieveService.js.map +0 -1
  171. package/dist/services/ai/utils/summarizeNodeTypeProperties.d.ts +0 -4
  172. package/dist/services/ai/utils/summarizeNodeTypeProperties.js +0 -36
  173. package/dist/services/ai/utils/summarizeNodeTypeProperties.js.map +0 -1
  174. package/dist/services/ai.service.d.ts +0 -24
  175. package/dist/services/ai.service.js +0 -133
  176. package/dist/services/ai.service.js.map +0 -1
  177. package/dist/types/ai.types.d.ts +0 -6
  178. package/dist/types/ai.types.js +0 -3
  179. package/dist/types/ai.types.js.map +0 -1
  180. /package/dist/Ldap/{helpers.d.ts → helpers.ee.d.ts} +0 -0
  181. /package/dist/Ldap/{ldap.service.d.ts → ldap.service.ee.d.ts} +0 -0
@@ -1,8 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const generateCurlSchema: z.ZodObject<{
3
- curl: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- curl: string;
6
- }, {
7
- curl: string;
8
- }>;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateCurlSchema = void 0;
4
- const zod_1 = require("zod");
5
- exports.generateCurlSchema = zod_1.z.object({
6
- curl: zod_1.z
7
- .string()
8
- .describe('The curl command that the user could run to call the endpoint they described.'),
9
- });
10
- //# sourceMappingURL=generateCurl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateCurl.js","sourceRoot":"","sources":["../../../../src/services/ai/schemas/generateCurl.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,+EAA+E,CAAC;CAC3F,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const retrieveServiceSchema: z.ZodObject<{
3
- id: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- id: string;
6
- }, {
7
- id: string;
8
- }>;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.retrieveServiceSchema = void 0;
4
- const zod_1 = require("zod");
5
- exports.retrieveServiceSchema = zod_1.z.object({
6
- id: zod_1.z
7
- .string()
8
- .describe('The id of the service, has to match the `id` of one of the entries in the CSV file or empty string'),
9
- });
10
- //# sourceMappingURL=retrieveService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retrieveService.js","sourceRoot":"","sources":["../../../../src/services/ai/schemas/retrieveService.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACR,oGAAoG,CACpG;CACF,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { INodeProperties, INodePropertyCollection, INodePropertyOptions } from 'n8n-workflow';
2
- export declare function summarizeOption(option: INodePropertyOptions | INodeProperties | INodePropertyCollection): Partial<INodePropertyOptions | INodeProperties | INodePropertyCollection>;
3
- export declare function summarizeProperty(property: INodeProperties): Partial<INodeProperties>;
4
- export declare function summarizeNodeTypeProperties(nodeTypeProperties: INodeProperties[]): Partial<INodeProperties>[];
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.summarizeOption = summarizeOption;
4
- exports.summarizeProperty = summarizeProperty;
5
- exports.summarizeNodeTypeProperties = summarizeNodeTypeProperties;
6
- function summarizeOption(option) {
7
- if ('value' in option) {
8
- return {
9
- name: option.name,
10
- value: option.value,
11
- };
12
- }
13
- else if ('values' in option) {
14
- return {
15
- name: option.name,
16
- values: option.values.map(summarizeProperty),
17
- };
18
- }
19
- else {
20
- return summarizeProperty(option);
21
- }
22
- }
23
- function summarizeProperty(property) {
24
- return {
25
- name: property.displayName,
26
- type: property.type,
27
- ...(property.displayOptions ? { displayOptions: property.displayOptions } : {}),
28
- ...(property.options
29
- ? { options: property.options.map(summarizeOption) }
30
- : {}),
31
- };
32
- }
33
- function summarizeNodeTypeProperties(nodeTypeProperties) {
34
- return nodeTypeProperties.map(summarizeProperty);
35
- }
36
- //# sourceMappingURL=summarizeNodeTypeProperties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summarizeNodeTypeProperties.js","sourceRoot":"","sources":["../../../../src/services/ai/utils/summarizeNodeTypeProperties.ts"],"names":[],"mappings":";;AAGA,0CAgBC;AAED,8CASC;AAED,kEAEC;AA/BD,SAAgB,eAAe,CAC9B,MAAwE;IAExE,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC/B,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAsB;SACjE,CAAC;IACH,CAAC;SAAM,CAAC;QACP,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACF,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAyB;IAC1D,OAAO;QACN,IAAI,EAAE,QAAQ,CAAC,WAAW;QAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAI,CAAC,QAAQ,CAAC,OAAO;YACpB,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACpD,CAAC,CAAC,EAAE,CAAgC;KACrC,CAAC;AACH,CAAC;AAED,SAAgB,2BAA2B,CAAC,kBAAqC;IAChF,OAAO,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAClD,CAAC"}
@@ -1,24 +0,0 @@
1
- import type { BaseMessageLike } from '@langchain/core/messages';
2
- import { AIProviderOpenAI } from '../services/ai/providers/openai';
3
- import type { BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models';
4
- import { Pinecone } from '@pinecone-database/pinecone';
5
- export declare class AIService {
6
- private providerType;
7
- provider: AIProviderOpenAI;
8
- pinecone: Pinecone;
9
- private jsonOutputParser;
10
- constructor();
11
- prompt(messages: BaseMessageLike[], options?: BaseChatModelCallOptions): Promise<string>;
12
- validateCurl(result: {
13
- curl: string;
14
- }): {
15
- curl: string;
16
- };
17
- generateCurl(serviceName: string, serviceRequest: string): Promise<{
18
- curl: string;
19
- }>;
20
- generateCurlGeneric(serviceName: string, serviceRequest: string): Promise<{
21
- curl: string;
22
- }>;
23
- checkRequirements(): void;
24
- }
@@ -1,133 +0,0 @@
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
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AIService = void 0;
16
- const typedi_1 = require("typedi");
17
- const config_1 = __importDefault(require("../config"));
18
- const n8n_workflow_1 = require("n8n-workflow");
19
- const openai_1 = require("../services/ai/providers/openai");
20
- const pinecone_1 = require("@pinecone-database/pinecone");
21
- const api_knowledgebase_json_1 = __importDefault(require("../services/ai/resources/api-knowledgebase.json"));
22
- const output_parsers_1 = require("langchain/output_parsers");
23
- const generateCurl_1 = require("../services/ai/prompts/generateCurl");
24
- const generateCurl_2 = require("../services/ai/schemas/generateCurl");
25
- const pinecone_2 = require("@langchain/pinecone");
26
- const fuse_js_1 = __importDefault(require("fuse.js"));
27
- function isN8nAIProviderType(value) {
28
- return ['openai'].includes(value);
29
- }
30
- let AIService = class AIService {
31
- constructor() {
32
- this.providerType = 'unknown';
33
- this.jsonOutputParser = new output_parsers_1.JsonOutputFunctionsParser();
34
- const providerName = config_1.default.getEnv('ai.provider');
35
- if (isN8nAIProviderType(providerName)) {
36
- this.providerType = providerName;
37
- }
38
- if (this.providerType === 'openai') {
39
- const openAIApiKey = config_1.default.getEnv('ai.openAI.apiKey');
40
- const openAIModelName = config_1.default.getEnv('ai.openAI.model');
41
- if (openAIApiKey) {
42
- this.provider = new openai_1.AIProviderOpenAI({ openAIApiKey, modelName: openAIModelName });
43
- }
44
- }
45
- const pineconeApiKey = config_1.default.getEnv('ai.pinecone.apiKey');
46
- if (pineconeApiKey) {
47
- this.pinecone = new pinecone_1.Pinecone({
48
- apiKey: pineconeApiKey,
49
- });
50
- }
51
- }
52
- async prompt(messages, options) {
53
- if (!this.provider) {
54
- throw new n8n_workflow_1.ApplicationError('No AI provider has been configured.');
55
- }
56
- return await this.provider.invoke(messages, options);
57
- }
58
- validateCurl(result) {
59
- if (!result.curl.startsWith('curl')) {
60
- throw new n8n_workflow_1.ApplicationError('The generated HTTP Request Node parameters format is incorrect. Please adjust your request and try again.');
61
- }
62
- result.curl = result.curl
63
- .replace(/": (\{\{[A-Za-z0-9_]+}}|\{[A-Za-z0-9_]+})/g, '": "$1"')
64
- .replace(/(-d '[^']+')}/, '$1');
65
- return result;
66
- }
67
- async generateCurl(serviceName, serviceRequest) {
68
- this.checkRequirements();
69
- if (!this.pinecone) {
70
- return await this.generateCurlGeneric(serviceName, serviceRequest);
71
- }
72
- const fuse = new fuse_js_1.default(api_knowledgebase_json_1.default, {
73
- threshold: 0.25,
74
- useExtendedSearch: true,
75
- keys: ['id', 'title'],
76
- });
77
- const matchedServices = fuse
78
- .search(serviceName.replace(/ +/g, '|'))
79
- .map((result) => result.item);
80
- if (matchedServices.length === 0) {
81
- return await this.generateCurlGeneric(serviceName, serviceRequest);
82
- }
83
- const pcIndex = this.pinecone.Index('api-knowledgebase');
84
- const vectorStore = await pinecone_2.PineconeStore.fromExistingIndex(this.provider.embeddings, {
85
- namespace: 'endpoints',
86
- pineconeIndex: pcIndex,
87
- });
88
- const matchedDocuments = await vectorStore.similaritySearch(`${serviceName} ${serviceRequest}`, 4, {
89
- id: {
90
- $in: matchedServices.map((service) => service.id),
91
- },
92
- });
93
- if (matchedDocuments.length === 0) {
94
- return await this.generateCurlGeneric(serviceName, serviceRequest);
95
- }
96
- const aggregatedDocuments = matchedDocuments.reduce((acc, document) => {
97
- const pageData = (0, n8n_workflow_1.jsonParse)(document.pageContent);
98
- acc.push(pageData);
99
- return acc;
100
- }, []);
101
- const generateCurlChain = generateCurl_1.generateCurlCommandPromptTemplate
102
- .pipe(this.provider.modelWithOutputParser(generateCurl_2.generateCurlSchema))
103
- .pipe(this.jsonOutputParser);
104
- const result = (await generateCurlChain.invoke({
105
- endpoints: JSON.stringify(aggregatedDocuments),
106
- serviceName,
107
- serviceRequest,
108
- }));
109
- return this.validateCurl(result);
110
- }
111
- async generateCurlGeneric(serviceName, serviceRequest) {
112
- this.checkRequirements();
113
- const generateCurlFallbackChain = generateCurl_1.generateCurlCommandFallbackPromptTemplate
114
- .pipe(this.provider.modelWithOutputParser(generateCurl_2.generateCurlSchema))
115
- .pipe(this.jsonOutputParser);
116
- const result = (await generateCurlFallbackChain.invoke({
117
- serviceName,
118
- serviceRequest,
119
- }));
120
- return this.validateCurl(result);
121
- }
122
- checkRequirements() {
123
- if (!this.provider) {
124
- throw new n8n_workflow_1.ApplicationError('No AI provider has been configured.');
125
- }
126
- }
127
- };
128
- exports.AIService = AIService;
129
- exports.AIService = AIService = __decorate([
130
- (0, typedi_1.Service)(),
131
- __metadata("design:paramtypes", [])
132
- ], AIService);
133
- //# sourceMappingURL=ai.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../src/services/ai.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { BaseMessageChunk, BaseMessageLike } from '@langchain/core/messages';
2
- import type { BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models';
3
- export interface N8nAIProvider {
4
- invoke(message: BaseMessageLike[], options?: BaseChatModelCallOptions): Promise<string>;
5
- mapResponse(data: BaseMessageChunk): string;
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ai.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai.types.js","sourceRoot":"","sources":["../../src/types/ai.types.ts"],"names":[],"mappings":""}
File without changes