@n8n/ai-workflow-builder 0.23.0 → 0.24.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 (43) hide show
  1. package/dist/ai-workflow-builder-agent.service.d.ts +12 -13
  2. package/dist/ai-workflow-builder-agent.service.js +94 -57
  3. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/session-manager.service.d.ts +15 -0
  6. package/dist/session-manager.service.js +74 -0
  7. package/dist/session-manager.service.js.map +1 -0
  8. package/dist/tools/add-node.tool.d.ts +3 -38
  9. package/dist/tools/add-node.tool.js +12 -5
  10. package/dist/tools/add-node.tool.js.map +1 -1
  11. package/dist/tools/builder-tools.d.ts +13 -0
  12. package/dist/tools/builder-tools.js +34 -0
  13. package/dist/tools/builder-tools.js.map +1 -0
  14. package/dist/tools/connect-nodes.tool.d.ts +3 -29
  15. package/dist/tools/connect-nodes.tool.js +8 -5
  16. package/dist/tools/connect-nodes.tool.js.map +1 -1
  17. package/dist/tools/get-node-parameter.tool.d.ts +3 -17
  18. package/dist/tools/get-node-parameter.tool.js +10 -5
  19. package/dist/tools/get-node-parameter.tool.js.map +1 -1
  20. package/dist/tools/node-details.tool.d.ts +5 -1
  21. package/dist/tools/node-details.tool.js +9 -5
  22. package/dist/tools/node-details.tool.js.map +1 -1
  23. package/dist/tools/node-search.tool.d.ts +5 -1
  24. package/dist/tools/node-search.tool.js +9 -5
  25. package/dist/tools/node-search.tool.js.map +1 -1
  26. package/dist/tools/prompts/main-agent.prompt.js +31 -13
  27. package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
  28. package/dist/tools/remove-node.tool.d.ts +3 -15
  29. package/dist/tools/remove-node.tool.js +9 -5
  30. package/dist/tools/remove-node.tool.js.map +1 -1
  31. package/dist/tools/update-node-parameters.tool.d.ts +3 -20
  32. package/dist/tools/update-node-parameters.tool.js +11 -7
  33. package/dist/tools/update-node-parameters.tool.js.map +1 -1
  34. package/dist/types/sessions.d.ts +8 -0
  35. package/dist/types/sessions.js +34 -0
  36. package/dist/types/sessions.js.map +1 -0
  37. package/dist/utils/stream-processor.d.ts +6 -3
  38. package/dist/utils/stream-processor.js +1 -1
  39. package/dist/utils/stream-processor.js.map +1 -1
  40. package/dist/workflow-builder-agent.d.ts +5 -10
  41. package/dist/workflow-builder-agent.js +17 -49
  42. package/dist/workflow-builder-agent.js.map +1 -1
  43. package/package.json +5 -5
@@ -1,29 +1,28 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
- import { AiAssistantClient } from '@n8n_io/ai-assistant-sdk';
2
+ import { AiAssistantClient, AiAssistantSDK } from '@n8n_io/ai-assistant-sdk';
3
3
  import { INodeTypes } from 'n8n-workflow';
4
4
  import type { IUser } from 'n8n-workflow';
5
5
  import { type ChatPayload } from './workflow-builder-agent';
6
+ type OnCreditsUpdated = (userId: string, creditsQuota: number, creditsClaimed: number) => void;
6
7
  export declare class AiWorkflowBuilderService {
7
8
  private readonly nodeTypes;
8
9
  private readonly client?;
9
10
  private readonly logger?;
10
11
  private readonly instanceUrl?;
12
+ private readonly onCreditsUpdated?;
11
13
  private parsedNodeTypes;
12
- private llmSimpleTask;
13
- private llmComplexTask;
14
- private tracingClient;
15
- private checkpointer;
16
- private agent;
17
- constructor(nodeTypes: INodeTypes, client?: AiAssistantClient | undefined, logger?: Logger | undefined, instanceUrl?: string | undefined);
14
+ private sessionManager;
15
+ constructor(nodeTypes: INodeTypes, client?: AiAssistantClient | undefined, logger?: Logger | undefined, instanceUrl?: string | undefined, onCreditsUpdated?: OnCreditsUpdated | undefined);
16
+ private static getAnthropicClaudeModel;
17
+ private getApiProxyAuthHeaders;
18
18
  private setupModels;
19
19
  private getNodeTypes;
20
20
  private getAgent;
21
- chat(payload: ChatPayload, user?: IUser, abortSignal?: AbortSignal): AsyncGenerator<import("./types").StreamOutput, void, unknown>;
21
+ private onGenerationSuccess;
22
+ chat(payload: ChatPayload, user: IUser, abortSignal?: AbortSignal): AsyncGenerator<import("./types").StreamOutput, void, unknown>;
22
23
  getSessions(workflowId: string | undefined, user?: IUser): Promise<{
23
- sessions: {
24
- sessionId: string;
25
- messages: Record<string, unknown>[];
26
- lastUpdated: string;
27
- }[];
24
+ sessions: import("./types/sessions").Session[];
28
25
  }>;
26
+ getBuilderInstanceCredits(user: IUser): Promise<AiAssistantSDK.BuilderInstanceCreditsResponse>;
29
27
  }
28
+ export {};
@@ -8,83 +8,94 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ var AiWorkflowBuilderService_1;
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.AiWorkflowBuilderService = void 0;
13
17
  const tracer_langchain_1 = require("@langchain/core/tracers/tracer_langchain");
14
- const langgraph_1 = require("@langchain/langgraph");
15
18
  const backend_common_1 = require("@n8n/backend-common");
16
19
  const di_1 = require("@n8n/di");
17
20
  const ai_assistant_sdk_1 = require("@n8n_io/ai-assistant-sdk");
21
+ const assert_1 = __importDefault(require("assert"));
18
22
  const langsmith_1 = require("langsmith");
19
23
  const errors_1 = require("./errors");
20
24
  const llm_config_1 = require("./llm-config");
25
+ const session_manager_service_1 = require("./session-manager.service");
21
26
  const workflow_builder_agent_1 = require("./workflow-builder-agent");
22
- let AiWorkflowBuilderService = class AiWorkflowBuilderService {
27
+ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuilderService {
23
28
  nodeTypes;
24
29
  client;
25
30
  logger;
26
31
  instanceUrl;
32
+ onCreditsUpdated;
27
33
  parsedNodeTypes = [];
28
- llmSimpleTask;
29
- llmComplexTask;
30
- tracingClient;
31
- checkpointer = new langgraph_1.MemorySaver();
32
- agent;
33
- constructor(nodeTypes, client, logger, instanceUrl) {
34
+ sessionManager;
35
+ constructor(nodeTypes, client, logger, instanceUrl, onCreditsUpdated) {
34
36
  this.nodeTypes = nodeTypes;
35
37
  this.client = client;
36
38
  this.logger = logger;
37
39
  this.instanceUrl = instanceUrl;
40
+ this.onCreditsUpdated = onCreditsUpdated;
38
41
  this.parsedNodeTypes = this.getNodeTypes();
42
+ this.sessionManager = new session_manager_service_1.SessionManagerService(this.parsedNodeTypes, logger);
43
+ }
44
+ static async getAnthropicClaudeModel({ baseUrl, authHeaders = {}, apiKey = '-', } = {}) {
45
+ return await (0, llm_config_1.anthropicClaudeSonnet4)({
46
+ baseUrl,
47
+ apiKey,
48
+ headers: {
49
+ ...authHeaders,
50
+ 'anthropic-beta': 'prompt-caching-2024-07-31',
51
+ },
52
+ });
53
+ }
54
+ async getApiProxyAuthHeaders(user, useDeprecatedCredentials = false) {
55
+ (0, assert_1.default)(this.client);
56
+ let authHeaders;
57
+ if (useDeprecatedCredentials) {
58
+ const authResponse = await this.client.generateApiProxyCredentials(user);
59
+ authHeaders = { Authorization: authResponse.apiKey };
60
+ }
61
+ else {
62
+ const authResponse = await this.client.getBuilderApiProxyToken(user);
63
+ authHeaders = {
64
+ Authorization: `${authResponse.tokenType} ${authResponse.accessToken}`,
65
+ };
66
+ }
67
+ return authHeaders;
39
68
  }
40
- async setupModels(user) {
69
+ async setupModels(user, useDeprecatedCredentials = false) {
41
70
  try {
42
- if (this.llmSimpleTask && this.llmComplexTask) {
43
- return;
44
- }
45
- if (this.client && user) {
46
- const authHeaders = await this.client.generateApiProxyCredentials(user);
71
+ if (this.client) {
72
+ const authHeaders = await this.getApiProxyAuthHeaders(user, useDeprecatedCredentials);
47
73
  const baseUrl = this.client.getApiProxyBaseUrl();
48
- this.llmSimpleTask = await (0, llm_config_1.gpt41mini)({
49
- baseUrl: baseUrl + '/openai',
50
- apiKey: '-',
51
- headers: {
52
- Authorization: authHeaders.apiKey,
53
- },
54
- });
55
- this.llmComplexTask = await (0, llm_config_1.anthropicClaudeSonnet4)({
74
+ const anthropicClaude = await AiWorkflowBuilderService_1.getAnthropicClaudeModel({
56
75
  baseUrl: baseUrl + '/anthropic',
57
- apiKey: '-',
58
- headers: {
59
- Authorization: authHeaders.apiKey,
60
- 'anthropic-beta': 'prompt-caching-2024-07-31',
61
- },
76
+ authHeaders,
62
77
  });
63
- this.tracingClient = new langsmith_1.Client({
78
+ const tracingClient = new langsmith_1.Client({
64
79
  apiKey: '-',
65
80
  apiUrl: baseUrl + '/langsmith',
66
81
  autoBatchTracing: false,
67
82
  traceBatchConcurrency: 1,
68
83
  fetchOptions: {
69
84
  headers: {
70
- Authorization: authHeaders.apiKey,
85
+ ...authHeaders,
71
86
  },
72
87
  },
73
88
  });
74
- return;
89
+ return { tracingClient, anthropicClaude, authHeaders };
75
90
  }
76
- this.llmSimpleTask = await (0, llm_config_1.gpt41mini)({
77
- apiKey: process.env.N8N_AI_OPENAI_API_KEY ?? '',
78
- });
79
- this.llmComplexTask = await (0, llm_config_1.anthropicClaudeSonnet4)({
91
+ const anthropicClaude = await AiWorkflowBuilderService_1.getAnthropicClaudeModel({
80
92
  apiKey: process.env.N8N_AI_ANTHROPIC_KEY ?? '',
81
- headers: {
82
- 'anthropic-beta': 'prompt-caching-2024-07-31',
83
- },
84
93
  });
94
+ return { anthropicClaude };
85
95
  }
86
96
  catch (error) {
87
- const llmError = new errors_1.LLMServiceError('Failed to connect to LLM Provider', {
97
+ const errorMessage = error instanceof Error ? `: ${error.message}` : '';
98
+ const llmError = new errors_1.LLMServiceError(`Failed to connect to LLM Provider${errorMessage}`, {
88
99
  cause: error,
89
100
  tags: {
90
101
  hasClient: !!this.client,
@@ -130,41 +141,67 @@ let AiWorkflowBuilderService = class AiWorkflowBuilderService {
130
141
  });
131
142
  return nodeTypes;
132
143
  }
133
- async getAgent(user) {
134
- if (!this.llmComplexTask || !this.llmSimpleTask) {
135
- await this.setupModels(user);
136
- }
137
- if (!this.llmComplexTask || !this.llmSimpleTask) {
138
- throw new errors_1.LLMServiceError('Failed to initialize LLM models');
139
- }
140
- this.agent ??= new workflow_builder_agent_1.WorkflowBuilderAgent({
144
+ async getAgent(user, useDeprecatedCredentials = false) {
145
+ const { anthropicClaude, tracingClient, authHeaders } = await this.setupModels(user, useDeprecatedCredentials);
146
+ const agent = new workflow_builder_agent_1.WorkflowBuilderAgent({
141
147
  parsedNodeTypes: this.parsedNodeTypes,
142
- llmSimpleTask: this.llmComplexTask,
143
- llmComplexTask: this.llmComplexTask,
148
+ llmSimpleTask: anthropicClaude,
149
+ llmComplexTask: anthropicClaude,
144
150
  logger: this.logger,
145
- checkpointer: this.checkpointer,
146
- tracer: this.tracingClient
147
- ? new tracer_langchain_1.LangChainTracer({ client: this.tracingClient, projectName: 'n8n-workflow-builder' })
151
+ checkpointer: this.sessionManager.getCheckpointer(),
152
+ tracer: tracingClient
153
+ ? new tracer_langchain_1.LangChainTracer({ client: tracingClient, projectName: 'n8n-workflow-builder' })
148
154
  : undefined,
149
155
  instanceUrl: this.instanceUrl,
156
+ onGenerationSuccess: async () => {
157
+ if (!useDeprecatedCredentials) {
158
+ await this.onGenerationSuccess(user, authHeaders);
159
+ }
160
+ },
150
161
  });
151
- return this.agent;
162
+ return agent;
163
+ }
164
+ async onGenerationSuccess(user, authHeaders) {
165
+ try {
166
+ if (this.client) {
167
+ (0, assert_1.default)(authHeaders, 'Auth headers must be set when AI Assistant Service client is used');
168
+ (0, assert_1.default)(user);
169
+ const creditsInfo = await this.client.markBuilderSuccess(user, authHeaders);
170
+ if (this.onCreditsUpdated && user.id && creditsInfo) {
171
+ this.onCreditsUpdated(user.id, creditsInfo.creditsQuota, creditsInfo.creditsClaimed);
172
+ }
173
+ }
174
+ }
175
+ catch (error) {
176
+ if (error instanceof Error) {
177
+ this.logger?.error(`Unable to mark generation success ${error.message}`, { error });
178
+ }
179
+ }
152
180
  }
153
181
  async *chat(payload, user, abortSignal) {
154
- const agent = await this.getAgent(user);
182
+ const agent = await this.getAgent(user, payload.useDeprecatedCredentials);
155
183
  for await (const output of agent.chat(payload, user?.id?.toString(), abortSignal)) {
156
184
  yield output;
157
185
  }
158
186
  }
159
187
  async getSessions(workflowId, user) {
160
- const agent = await this.getAgent(user);
161
- return await agent.getSessions(workflowId, user?.id?.toString());
188
+ const userId = user?.id?.toString();
189
+ return await this.sessionManager.getSessions(workflowId, userId);
190
+ }
191
+ async getBuilderInstanceCredits(user) {
192
+ if (this.client) {
193
+ return await this.client.getBuilderInstanceCredits(user);
194
+ }
195
+ return {
196
+ creditsQuota: -1,
197
+ creditsClaimed: 0,
198
+ };
162
199
  }
163
200
  };
164
201
  exports.AiWorkflowBuilderService = AiWorkflowBuilderService;
165
- exports.AiWorkflowBuilderService = AiWorkflowBuilderService = __decorate([
202
+ exports.AiWorkflowBuilderService = AiWorkflowBuilderService = AiWorkflowBuilderService_1 = __decorate([
166
203
  (0, di_1.Service)(),
167
204
  __metadata("design:paramtypes", [Object, ai_assistant_sdk_1.AiAssistantClient,
168
- backend_common_1.Logger, String])
205
+ backend_common_1.Logger, String, Function])
169
206
  ], AiWorkflowBuilderService);
170
207
  //# sourceMappingURL=ai-workflow-builder-agent.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-workflow-builder-agent.service.js","sourceRoot":"","sources":["../src/ai-workflow-builder-agent.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-workflow-builder-agent.service.js","sourceRoot":"","sources":["../src/ai-workflow-builder-agent.service.ts"],"names":[],"mappings":"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"}