@n8n/instance-ai 1.5.0 → 1.6.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 (185) hide show
  1. package/dist/agent/computer-use-prompt.d.ts +5 -0
  2. package/dist/agent/computer-use-prompt.js +97 -0
  3. package/dist/agent/computer-use-prompt.js.map +1 -0
  4. package/dist/agent/instance-agent.js +48 -72
  5. package/dist/agent/instance-agent.js.map +1 -1
  6. package/dist/agent/mcp-tool-name-validation.d.ts +15 -0
  7. package/dist/agent/mcp-tool-name-validation.js +67 -0
  8. package/dist/agent/mcp-tool-name-validation.js.map +1 -0
  9. package/dist/agent/sanitize-mcp-schemas.d.ts +56 -2
  10. package/dist/agent/sanitize-mcp-schemas.js +226 -19
  11. package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
  12. package/dist/agent/sub-agent-factory.d.ts +1 -0
  13. package/dist/agent/sub-agent-factory.js +1 -0
  14. package/dist/agent/sub-agent-factory.js.map +1 -1
  15. package/dist/agent/system-prompt.d.ts +1 -1
  16. package/dist/agent/system-prompt.js +19 -99
  17. package/dist/agent/system-prompt.js.map +1 -1
  18. package/dist/build.tsbuildinfo +1 -1
  19. package/dist/domain-access/domain-access-tracker.d.ts +3 -0
  20. package/dist/domain-access/domain-access-tracker.js +16 -0
  21. package/dist/domain-access/domain-access-tracker.js.map +1 -1
  22. package/dist/domain-access/domain-gating.d.ts +35 -6
  23. package/dist/domain-access/domain-gating.js +47 -1
  24. package/dist/domain-access/domain-gating.js.map +1 -1
  25. package/dist/domain-access/index.d.ts +1 -1
  26. package/dist/domain-access/index.js +3 -1
  27. package/dist/domain-access/index.js.map +1 -1
  28. package/dist/index.d.ts +10 -4
  29. package/dist/index.js +16 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/mcp-client-manager.d.ts +18 -2
  32. package/dist/mcp/mcp-client-manager.js +124 -20
  33. package/dist/mcp/mcp-client-manager.js.map +1 -1
  34. package/dist/parsers/docx-parser.d.ts +6 -0
  35. package/dist/parsers/docx-parser.js +65 -0
  36. package/dist/parsers/docx-parser.js.map +1 -0
  37. package/dist/parsers/html-parser.d.ts +7 -0
  38. package/dist/parsers/html-parser.js +67 -0
  39. package/dist/parsers/html-parser.js.map +1 -0
  40. package/dist/parsers/index.d.ts +4 -0
  41. package/dist/parsers/index.js +16 -0
  42. package/dist/parsers/index.js.map +1 -0
  43. package/dist/parsers/pdf-parser.d.ts +7 -0
  44. package/dist/parsers/pdf-parser.js +72 -0
  45. package/dist/parsers/pdf-parser.js.map +1 -0
  46. package/dist/parsers/structured-file-parser.d.ts +8 -3
  47. package/dist/parsers/structured-file-parser.js +36 -4
  48. package/dist/parsers/structured-file-parser.js.map +1 -1
  49. package/dist/parsers/validate-attachments.d.ts +14 -0
  50. package/dist/parsers/validate-attachments.js +61 -0
  51. package/dist/parsers/validate-attachments.js.map +1 -0
  52. package/dist/parsers/xlsx-parser.d.ts +2 -0
  53. package/dist/parsers/xlsx-parser.js +75 -0
  54. package/dist/parsers/xlsx-parser.js.map +1 -0
  55. package/dist/runtime/background-task-manager.d.ts +7 -0
  56. package/dist/runtime/background-task-manager.js +68 -2
  57. package/dist/runtime/background-task-manager.js.map +1 -1
  58. package/dist/runtime/liveness-policy.d.ts +40 -0
  59. package/dist/runtime/liveness-policy.js +74 -0
  60. package/dist/runtime/liveness-policy.js.map +1 -0
  61. package/dist/runtime/resumable-stream-executor.d.ts +1 -0
  62. package/dist/runtime/resumable-stream-executor.js +1 -0
  63. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  64. package/dist/runtime/run-state-registry.d.ts +14 -1
  65. package/dist/runtime/run-state-registry.js +100 -7
  66. package/dist/runtime/run-state-registry.js.map +1 -1
  67. package/dist/runtime/stream-runner.d.ts +3 -0
  68. package/dist/runtime/stream-runner.js +3 -0
  69. package/dist/runtime/stream-runner.js.map +1 -1
  70. package/dist/runtime/terminal-response-guard.d.ts +30 -0
  71. package/dist/runtime/terminal-response-guard.js +149 -0
  72. package/dist/runtime/terminal-response-guard.js.map +1 -0
  73. package/dist/storage/agent-tree-snapshot.d.ts +2 -0
  74. package/dist/storage/index.d.ts +2 -0
  75. package/dist/storage/index.js +3 -1
  76. package/dist/storage/index.js.map +1 -1
  77. package/dist/storage/terminal-outcome-storage.d.ts +48 -0
  78. package/dist/storage/terminal-outcome-storage.js +84 -0
  79. package/dist/storage/terminal-outcome-storage.js.map +1 -0
  80. package/dist/storage/workflow-loop-storage.d.ts +156 -10
  81. package/dist/stream/consume-with-hitl.d.ts +1 -0
  82. package/dist/stream/consume-with-hitl.js +1 -0
  83. package/dist/stream/consume-with-hitl.js.map +1 -1
  84. package/dist/stream/map-chunk.js +6 -0
  85. package/dist/stream/map-chunk.js.map +1 -1
  86. package/dist/tools/attachments/parse-file.tool.d.ts +46 -34
  87. package/dist/tools/attachments/parse-file.tool.js +115 -56
  88. package/dist/tools/attachments/parse-file.tool.js.map +1 -1
  89. package/dist/tools/credentials.tool.d.ts +120 -1
  90. package/dist/tools/credentials.tool.js +65 -12
  91. package/dist/tools/credentials.tool.js.map +1 -1
  92. package/dist/tools/data-tables.tool.d.ts +1 -0
  93. package/dist/tools/data-tables.tool.js +4 -2
  94. package/dist/tools/data-tables.tool.js.map +1 -1
  95. package/dist/tools/filesystem/create-tools-from-mcp-server.d.ts +2 -1
  96. package/dist/tools/filesystem/create-tools-from-mcp-server.js +74 -5
  97. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  98. package/dist/tools/index.d.ts +3 -22
  99. package/dist/tools/index.js +21 -4
  100. package/dist/tools/index.js.map +1 -1
  101. package/dist/tools/nodes.tool.js +15 -15
  102. package/dist/tools/nodes.tool.js.map +1 -1
  103. package/dist/tools/orchestration/blueprint.schema.d.ts +1 -1
  104. package/dist/tools/orchestration/browser-credential-setup.nudge.d.ts +5 -0
  105. package/dist/tools/orchestration/browser-credential-setup.nudge.js +11 -0
  106. package/dist/tools/orchestration/browser-credential-setup.nudge.js.map +1 -0
  107. package/dist/tools/orchestration/browser-credential-setup.prompt.js +2 -1
  108. package/dist/tools/orchestration/browser-credential-setup.prompt.js.map +1 -1
  109. package/dist/tools/orchestration/browser-credential-setup.tool.js +55 -7
  110. package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -1
  111. package/dist/tools/orchestration/build-workflow-agent.prompt.js +45 -48
  112. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
  113. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +8 -3
  114. package/dist/tools/orchestration/build-workflow-agent.tool.js +202 -47
  115. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
  116. package/dist/tools/orchestration/data-table-agent.tool.js +1 -0
  117. package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
  118. package/dist/tools/orchestration/delegate.tool.js +2 -0
  119. package/dist/tools/orchestration/delegate.tool.js.map +1 -1
  120. package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
  121. package/dist/tools/orchestration/plan-agent-prompt.js +1 -0
  122. package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
  123. package/dist/tools/orchestration/plan-with-agent.tool.d.ts +17 -2
  124. package/dist/tools/orchestration/plan-with-agent.tool.js +274 -4
  125. package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -1
  126. package/dist/tools/orchestration/research-with-agent.tool.js +1 -0
  127. package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
  128. package/dist/tools/orchestration/tracing-utils.js +8 -0
  129. package/dist/tools/orchestration/tracing-utils.js.map +1 -1
  130. package/dist/tools/research.tool.js +54 -8
  131. package/dist/tools/research.tool.js.map +1 -1
  132. package/dist/tools/shared/ask-user.tool.d.ts +1 -0
  133. package/dist/tools/shared/ask-user.tool.js +3 -2
  134. package/dist/tools/shared/ask-user.tool.js.map +1 -1
  135. package/dist/tools/workflows/build-workflow.tool.js +3 -3
  136. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  137. package/dist/tools/workflows/resolve-credentials.d.ts +9 -4
  138. package/dist/tools/workflows/resolve-credentials.js +59 -27
  139. package/dist/tools/workflows/resolve-credentials.js.map +1 -1
  140. package/dist/tools/workflows/setup-workflow.schema.d.ts +40 -0
  141. package/dist/tools/workflows/setup-workflow.service.d.ts +5 -1
  142. package/dist/tools/workflows/setup-workflow.service.js +71 -5
  143. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  144. package/dist/tools/workflows/submit-workflow-identity.d.ts +2 -2
  145. package/dist/tools/workflows/submit-workflow-identity.js +2 -2
  146. package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
  147. package/dist/tools/workflows/submit-workflow.tool.d.ts +13 -4
  148. package/dist/tools/workflows/submit-workflow.tool.js +37 -24
  149. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
  150. package/dist/tools/workflows/workflow-json-utils.d.ts +4 -0
  151. package/dist/tools/workflows/workflow-json-utils.js +54 -0
  152. package/dist/tools/workflows/workflow-json-utils.js.map +1 -0
  153. package/dist/tools/workflows.tool.d.ts +7 -1
  154. package/dist/tools/workflows.tool.js +283 -54
  155. package/dist/tools/workflows.tool.js.map +1 -1
  156. package/dist/tracing/langsmith-tracing.d.ts +2 -0
  157. package/dist/tracing/langsmith-tracing.js +4 -0
  158. package/dist/tracing/langsmith-tracing.js.map +1 -1
  159. package/dist/types.d.ts +13 -4
  160. package/dist/workflow-builder/parse-validate.js +1 -1
  161. package/dist/workflow-builder/parse-validate.js.map +1 -1
  162. package/dist/workflow-loop/index.d.ts +2 -2
  163. package/dist/workflow-loop/index.js +3 -1
  164. package/dist/workflow-loop/index.js.map +1 -1
  165. package/dist/workflow-loop/workflow-loop-state.d.ts +168 -8
  166. package/dist/workflow-loop/workflow-loop-state.js +31 -1
  167. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  168. package/dist/workspace/builder-sandbox-factory.d.ts +0 -2
  169. package/dist/workspace/builder-sandbox-factory.js +0 -8
  170. package/dist/workspace/builder-sandbox-factory.js.map +1 -1
  171. package/dist/workspace/n8n-sandbox-filesystem.js +2 -2
  172. package/dist/workspace/n8n-sandbox-filesystem.js.map +1 -1
  173. package/dist/workspace/n8n-sandbox-sandbox.d.ts +2 -3
  174. package/dist/workspace/n8n-sandbox-sandbox.js +3 -7
  175. package/dist/workspace/n8n-sandbox-sandbox.js.map +1 -1
  176. package/dist/workspace/sandbox-setup.d.ts +1 -1
  177. package/dist/workspace/sandbox-setup.js +5 -8
  178. package/dist/workspace/sandbox-setup.js.map +1 -1
  179. package/package.json +30 -11
  180. package/dist/workspace/n8n-sandbox-client.d.ts +0 -105
  181. package/dist/workspace/n8n-sandbox-client.js +0 -335
  182. package/dist/workspace/n8n-sandbox-client.js.map +0 -1
  183. package/dist/workspace/n8n-sandbox-image-manager.d.ts +0 -5
  184. package/dist/workspace/n8n-sandbox-image-manager.js +0 -25
  185. package/dist/workspace/n8n-sandbox-image-manager.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-utils.js","sourceRoot":"","sources":["../../../src/tools/orchestration/tracing-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing-utils.js","sourceRoot":"","sources":["../../../src/tools/orchestration/tracing-utils.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createResearchTool = createResearchTool;
4
4
  const tools_1 = require("@mastra/core/tools");
5
+ const psl_1 = require("psl");
5
6
  const zod_1 = require("zod");
6
7
  const sanitize_mcp_schemas_1 = require("../agent/sanitize-mcp-schemas");
7
8
  const domain_access_1 = require("../domain-access");
8
9
  const sanitize_web_content_1 = require("./web-research/sanitize-web-content");
10
+ function isSameRegistrableDomainOverHttps(originalUrl, redirectUrl) {
11
+ let originalHost;
12
+ let redirectUrlObj;
13
+ try {
14
+ originalHost = new URL(originalUrl).hostname;
15
+ redirectUrlObj = new URL(redirectUrl);
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ if (redirectUrlObj.protocol !== 'https:')
21
+ return false;
22
+ const originalDomain = (0, psl_1.get)(originalHost);
23
+ const redirectDomain = (0, psl_1.get)(redirectUrlObj.hostname);
24
+ return originalDomain !== null && redirectDomain !== null && originalDomain === redirectDomain;
25
+ }
9
26
  const webSearchAction = zod_1.z.object({
10
27
  action: zod_1.z.literal('web-search').describe('Search the web for information'),
11
28
  query: zod_1.z
@@ -37,10 +54,37 @@ const fetchUrlAction = zod_1.z.object({
37
54
  .describe('Maximum content length in characters (default 30000)'),
38
55
  });
39
56
  const inputSchema = (0, sanitize_mcp_schemas_1.sanitizeInputSchema)(zod_1.z.discriminatedUnion('action', [webSearchAction, fetchUrlAction]));
40
- async function handleWebSearch(context, input) {
57
+ async function handleWebSearch(context, input, ctx) {
41
58
  if (!context.webResearchService?.search) {
42
59
  return { query: input.query, results: [] };
43
60
  }
61
+ const resumeData = ctx?.agent?.resumeData;
62
+ const suspend = ctx?.agent?.suspend;
63
+ if (resumeData !== undefined && resumeData !== null) {
64
+ const { proceed } = (0, domain_access_1.applyWebSearchAccessResume)({
65
+ resumeData,
66
+ tracker: context.domainAccessTracker,
67
+ runId: context.runId,
68
+ });
69
+ if (!proceed) {
70
+ return { query: input.query, results: [] };
71
+ }
72
+ }
73
+ if (resumeData === undefined || resumeData === null) {
74
+ const check = (0, domain_access_1.checkWebSearchAccess)({
75
+ query: input.query,
76
+ tracker: context.domainAccessTracker,
77
+ permissionMode: context.permissions?.webSearch,
78
+ runId: context.runId,
79
+ });
80
+ if (!check.allowed) {
81
+ if (check.blocked) {
82
+ return { query: input.query, results: [] };
83
+ }
84
+ await suspend?.(check.suspendPayload);
85
+ return { query: input.query, results: [] };
86
+ }
87
+ }
44
88
  const result = await context.webResearchService.search(input.query, {
45
89
  maxResults: input.maxResults ?? undefined,
46
90
  includeDomains: input.includeDomains ?? undefined,
@@ -124,13 +168,15 @@ async function handleFetchUrl(context, input, ctx) {
124
168
  permissionMode: context.permissions?.fetchUrl,
125
169
  runId: context.runId,
126
170
  });
127
- if (!redirectCheck.allowed) {
128
- const reason = redirectCheck.blocked
129
- ? `Access to ${new URL(targetUrl).hostname} is blocked by admin.`
130
- : `Redirect to ${new URL(targetUrl).hostname} requires approval. ` +
131
- `Retry with the direct URL: ${targetUrl}`;
132
- throw new Error(reason);
171
+ if (redirectCheck.allowed)
172
+ return;
173
+ if (redirectCheck.blocked) {
174
+ throw new Error(`Access to ${new URL(targetUrl).hostname} is blocked by admin.`);
133
175
  }
176
+ if (isSameRegistrableDomainOverHttps(input.url, targetUrl))
177
+ return;
178
+ throw new Error(`Redirect from ${new URL(input.url).hostname} to ${new URL(targetUrl).hostname} is not allowed. ` +
179
+ 'Skip this URL and try a different research strategy — retrying the same URL will not help.');
134
180
  };
135
181
  const result = await context.webResearchService.fetchUrl(input.url, {
136
182
  maxContentLength: input.maxContentLength ?? undefined,
@@ -149,7 +195,7 @@ function createResearchTool(context) {
149
195
  execute: async (input, ctx) => {
150
196
  switch (input.action) {
151
197
  case 'web-search':
152
- return await handleWebSearch(context, input);
198
+ return await handleWebSearch(context, input, ctx);
153
199
  case 'fetch-url':
154
200
  return await handleFetchUrl(context, input, ctx);
155
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research.tool.js","sourceRoot":"","sources":["../../src/tools/research.tool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export declare const ASK_USER_TOOL_ID = "ask-user";
2
3
  export declare const askUserInputSchema: z.ZodObject<{
3
4
  questions: z.ZodArray<z.ZodObject<{
4
5
  id: z.ZodString;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.askUserResumeSchema = exports.askUserInputSchema = void 0;
3
+ exports.askUserResumeSchema = exports.askUserInputSchema = exports.ASK_USER_TOOL_ID = void 0;
4
4
  exports.createAskUserTool = createAskUserTool;
5
5
  const tools_1 = require("@mastra/core/tools");
6
6
  const nanoid_1 = require("nanoid");
7
7
  const zod_1 = require("zod");
8
+ exports.ASK_USER_TOOL_ID = 'ask-user';
8
9
  const questionSchema = zod_1.z.object({
9
10
  id: zod_1.z.string().describe('Unique question identifier'),
10
11
  question: zod_1.z.string().describe('The question text to display to the user'),
@@ -35,7 +36,7 @@ exports.askUserResumeSchema = zod_1.z.object({
35
36
  });
36
37
  function createAskUserTool() {
37
38
  return (0, tools_1.createTool)({
38
- id: 'ask-user',
39
+ id: exports.ASK_USER_TOOL_ID,
39
40
  description: 'Ask the user one or more structured questions. Each question can be ' +
40
41
  'single-select (pick one), multi-select (pick many), or free-text. ' +
41
42
  'The agent is suspended until the user responds. ' +
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.tool.js","sourceRoot":"","sources":["../../../src/tools/shared/ask-user.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user.tool.js","sourceRoot":"","sources":["../../../src/tools/shared/ask-user.tool.ts"],"names":[],"mappings":"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"}
@@ -127,7 +127,7 @@ function createBuildWorkflowTool(context) {
127
127
  : undefined,
128
128
  };
129
129
  }
130
- const json = (0, workflow_sdk_1.layoutWorkflowJSON)(result.workflow);
130
+ const json = result.workflow;
131
131
  if (name) {
132
132
  json.name = name;
133
133
  }
@@ -139,8 +139,8 @@ function createBuildWorkflowTool(context) {
139
139
  ],
140
140
  };
141
141
  }
142
- const credentialMap = await (0, resolve_credentials_1.buildCredentialMap)(context.credentialService);
143
- await (0, resolve_credentials_1.resolveCredentials)(json, workflowId, context, credentialMap);
142
+ const credentialSnapshot = await (0, resolve_credentials_1.buildCredentialSnapshot)(context.credentialService);
143
+ await (0, resolve_credentials_1.resolveCredentials)(json, workflowId, context, credentialSnapshot.list);
144
144
  await (0, setup_workflow_service_1.stripStaleCredentialsFromWorkflow)(context, json);
145
145
  await (0, submit_workflow_tool_1.ensureWebhookIds)(json, workflowId, context);
146
146
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"build-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/workflows/build-workflow.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-workflow.tool.js","sourceRoot":"","sources":["../../../src/tools/workflows/build-workflow.tool.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
1
  import type { WorkflowJSON } from '@n8n/workflow-sdk';
2
2
  import type { InstanceAiContext } from '../../types';
3
- export type CredentialMap = Map<string, {
3
+ export interface CredentialEntry {
4
4
  id: string;
5
5
  name: string;
6
- }>;
7
- export declare function buildCredentialMap(credentialService: Pick<InstanceAiContext['credentialService'], 'list'>): Promise<CredentialMap>;
6
+ type: string;
7
+ }
8
+ export interface CredentialSnapshot {
9
+ list: CredentialEntry[];
10
+ }
11
+ export declare function buildCredentialSnapshot(credentialService: Pick<InstanceAiContext['credentialService'], 'list'>): Promise<CredentialSnapshot>;
8
12
  export interface CredentialResolutionResult {
9
13
  mockedNodeNames: string[];
10
14
  mockedCredentialTypes: string[];
11
15
  mockedCredentialsByNode: Record<string, string[]>;
12
16
  verificationPinData: Record<string, Array<Record<string, unknown>>>;
17
+ usesWorkflowPinDataForVerification: boolean;
13
18
  }
14
- export declare function resolveCredentials(json: WorkflowJSON, workflowId: string | undefined, ctx: InstanceAiContext, credentialMap: CredentialMap): Promise<CredentialResolutionResult>;
19
+ export declare function resolveCredentials(json: WorkflowJSON, workflowId: string | undefined, ctx: InstanceAiContext, availableCredentials?: CredentialEntry[]): Promise<CredentialResolutionResult>;
@@ -1,24 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildCredentialMap = buildCredentialMap;
3
+ exports.buildCredentialSnapshot = buildCredentialSnapshot;
4
4
  exports.resolveCredentials = resolveCredentials;
5
- async function buildCredentialMap(credentialService) {
6
- const map = new Map();
5
+ async function buildCredentialSnapshot(credentialService) {
6
+ const list = [];
7
7
  try {
8
8
  const allCreds = await credentialService.list();
9
9
  for (const cred of allCreds) {
10
- map.set(cred.type, { id: cred.id, name: cred.name });
10
+ list.push({ id: cred.id, name: cred.name, type: cred.type });
11
11
  }
12
12
  }
13
13
  catch {
14
14
  }
15
- return map;
15
+ return { list };
16
16
  }
17
- async function resolveCredentials(json, workflowId, ctx, credentialMap) {
17
+ async function resolveCredentials(json, workflowId, ctx, availableCredentials) {
18
18
  const mockedNodeNames = [];
19
19
  const mockedCredentialTypesSet = new Set();
20
20
  const mockedCredentialsByNode = {};
21
21
  const verificationPinData = {};
22
+ let usesWorkflowPinDataForVerification = false;
22
23
  const existingCredsByNode = new Map();
23
24
  if (workflowId) {
24
25
  try {
@@ -38,34 +39,48 @@ async function resolveCredentials(json, workflowId, ctx, credentialMap) {
38
39
  const creds = node.credentials;
39
40
  let nodeMocked = false;
40
41
  for (const [key, value] of Object.entries(creds)) {
41
- if (value !== undefined && value !== null)
42
- continue;
43
42
  const existingCreds = node.name ? existingCredsByNode.get(node.name) : undefined;
44
- if (existingCreds?.[key]) {
43
+ const restoreExistingCredential = () => {
44
+ if (!existingCreds?.[key])
45
+ return false;
45
46
  creds[key] = existingCreds[key];
46
47
  cleanupMockPinData(json, node.name);
48
+ return true;
49
+ };
50
+ const mockCredential = () => {
51
+ const nodeName = node.name ?? '';
52
+ delete creds[key];
53
+ mockedCredentialTypesSet.add(key);
54
+ nodeMocked = true;
55
+ if (nodeName) {
56
+ mockedCredentialsByNode[nodeName] ??= [];
57
+ mockedCredentialsByNode[nodeName].push(key);
58
+ if (json.pinData && nodeName in json.pinData) {
59
+ usesWorkflowPinDataForVerification = true;
60
+ }
61
+ else {
62
+ verificationPinData[nodeName] ??= [];
63
+ if (verificationPinData[nodeName].length === 0) {
64
+ verificationPinData[nodeName].push({ _mockedCredential: key });
65
+ }
66
+ }
67
+ }
68
+ };
69
+ if (value !== undefined && value !== null) {
70
+ if (isKnownCredentialForType(value, key, availableCredentials)) {
71
+ cleanupMockPinData(json, node.name);
72
+ continue;
73
+ }
74
+ if (restoreExistingCredential()) {
75
+ continue;
76
+ }
77
+ mockCredential();
47
78
  continue;
48
79
  }
49
- const fromMap = credentialMap.get(key);
50
- if (fromMap) {
51
- creds[key] = fromMap;
52
- cleanupMockPinData(json, node.name);
80
+ if (restoreExistingCredential()) {
53
81
  continue;
54
82
  }
55
- const nodeName = node.name ?? '';
56
- delete creds[key];
57
- mockedCredentialTypesSet.add(key);
58
- nodeMocked = true;
59
- if (nodeName) {
60
- mockedCredentialsByNode[nodeName] ??= [];
61
- mockedCredentialsByNode[nodeName].push(key);
62
- if (!(json.pinData && nodeName in json.pinData)) {
63
- verificationPinData[nodeName] ??= [];
64
- if (verificationPinData[nodeName].length === 0) {
65
- verificationPinData[nodeName].push({ _mockedCredential: key });
66
- }
67
- }
68
- }
83
+ mockCredential();
69
84
  }
70
85
  if (nodeMocked && node.name) {
71
86
  mockedNodeNames.push(node.name);
@@ -76,8 +91,25 @@ async function resolveCredentials(json, workflowId, ctx, credentialMap) {
76
91
  mockedCredentialTypes: [...mockedCredentialTypesSet],
77
92
  mockedCredentialsByNode,
78
93
  verificationPinData,
94
+ usesWorkflowPinDataForVerification,
79
95
  };
80
96
  }
97
+ function getCredentialId(value) {
98
+ if (typeof value !== 'object' || value === null || !('id' in value))
99
+ return undefined;
100
+ const { id } = value;
101
+ if (typeof id !== 'string' || id.trim() === '')
102
+ return undefined;
103
+ return id;
104
+ }
105
+ function isKnownCredentialForType(value, credentialType, availableCredentials) {
106
+ if (!availableCredentials)
107
+ return true;
108
+ const id = getCredentialId(value);
109
+ if (!id)
110
+ return false;
111
+ return availableCredentials.some((credential) => credential.id === id && credential.type === credentialType);
112
+ }
81
113
  function cleanupMockPinData(json, nodeName) {
82
114
  if (!nodeName || !json.pinData?.[nodeName])
83
115
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-credentials.js","sourceRoot":"","sources":["../../../src/tools/workflows/resolve-credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-credentials.js","sourceRoot":"","sources":["../../../src/tools/workflows/resolve-credentials.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,22 @@ export declare const setupSuspendSchema: z.ZodObject<{
120
120
  required?: boolean | undefined;
121
121
  }>, "many">>;
122
122
  needsAction: z.ZodOptional<z.ZodBoolean>;
123
+ subnodeRootNode: z.ZodOptional<z.ZodObject<{
124
+ name: z.ZodString;
125
+ type: z.ZodString;
126
+ typeVersion: z.ZodNumber;
127
+ id: z.ZodString;
128
+ }, "strip", z.ZodTypeAny, {
129
+ type: string;
130
+ id: string;
131
+ name: string;
132
+ typeVersion: number;
133
+ }, {
134
+ type: string;
135
+ id: string;
136
+ name: string;
137
+ typeVersion: number;
138
+ }>>;
123
139
  }, "strip", z.ZodTypeAny, {
124
140
  node: {
125
141
  type: string;
@@ -163,6 +179,12 @@ export declare const setupSuspendSchema: z.ZodObject<{
163
179
  required?: boolean | undefined;
164
180
  }[] | undefined;
165
181
  needsAction?: boolean | undefined;
182
+ subnodeRootNode?: {
183
+ type: string;
184
+ id: string;
185
+ name: string;
186
+ typeVersion: number;
187
+ } | undefined;
166
188
  }, {
167
189
  node: {
168
190
  type: string;
@@ -206,6 +228,12 @@ export declare const setupSuspendSchema: z.ZodObject<{
206
228
  required?: boolean | undefined;
207
229
  }[] | undefined;
208
230
  needsAction?: boolean | undefined;
231
+ subnodeRootNode?: {
232
+ type: string;
233
+ id: string;
234
+ name: string;
235
+ typeVersion: number;
236
+ } | undefined;
209
237
  }>, "many">;
210
238
  workflowId: z.ZodString;
211
239
  projectId: z.ZodOptional<z.ZodString>;
@@ -257,6 +285,12 @@ export declare const setupSuspendSchema: z.ZodObject<{
257
285
  required?: boolean | undefined;
258
286
  }[] | undefined;
259
287
  needsAction?: boolean | undefined;
288
+ subnodeRootNode?: {
289
+ type: string;
290
+ id: string;
291
+ name: string;
292
+ typeVersion: number;
293
+ } | undefined;
260
294
  }[];
261
295
  projectId?: string | undefined;
262
296
  }, {
@@ -307,6 +341,12 @@ export declare const setupSuspendSchema: z.ZodObject<{
307
341
  required?: boolean | undefined;
308
342
  }[] | undefined;
309
343
  needsAction?: boolean | undefined;
344
+ subnodeRootNode?: {
345
+ type: string;
346
+ id: string;
347
+ name: string;
348
+ typeVersion: number;
349
+ } | undefined;
310
350
  }[];
311
351
  projectId?: string | undefined;
312
352
  }>;
@@ -1,4 +1,5 @@
1
1
  import type { NodeJSON, WorkflowJSON } from '@n8n/workflow-sdk';
2
+ import type { IConnections, INode } from 'n8n-workflow';
2
3
  import type { SetupRequest } from './setup-workflow.schema';
3
4
  import type { InstanceAiContext } from '../../types';
4
5
  export interface CredentialCache {
@@ -19,7 +20,7 @@ export declare function stripStaleCredentialsFromWorkflow(context: InstanceAiCon
19
20
  export declare function buildSetupRequests(context: InstanceAiContext, node: NodeJSON, triggerTestResult?: {
20
21
  status: 'success' | 'error' | 'listening';
21
22
  error?: string;
22
- }, cache?: CredentialCache): Promise<SetupRequest[]>;
23
+ }, cache?: CredentialCache, workflowId?: string): Promise<SetupRequest[]>;
23
24
  export declare function sortByExecutionOrder(requests: SetupRequest[], connections: Record<string, unknown>): void;
24
25
  export interface ApplyResult {
25
26
  applied: string[];
@@ -36,7 +37,10 @@ export declare function buildCompletedReport(appliedCredentials?: Record<string,
36
37
  credentialType?: string;
37
38
  parametersSet?: string[];
38
39
  }>;
40
+ type SubnodeRootNode = Pick<INode, 'name' | 'type' | 'typeVersion' | 'id'>;
41
+ export declare function buildSubnodeToRootNodeMap(nodes: NodeJSON[], connections: IConnections, executionOrder: string[]): Map<string, SubnodeRootNode>;
39
42
  export declare function analyzeWorkflow(context: InstanceAiContext, workflowId: string, triggerResults?: Record<string, {
40
43
  status: 'success' | 'error' | 'listening';
41
44
  error?: string;
42
45
  }>): Promise<SetupRequest[]>;
46
+ export {};
@@ -10,13 +10,18 @@ exports.applyNodeCredentials = applyNodeCredentials;
10
10
  exports.applyNodeParameters = applyNodeParameters;
11
11
  exports.applyNodeChanges = applyNodeChanges;
12
12
  exports.buildCompletedReport = buildCompletedReport;
13
+ exports.buildSubnodeToRootNodeMap = buildSubnodeToRootNodeMap;
13
14
  exports.analyzeWorkflow = analyzeWorkflow;
14
15
  const utils_1 = require("@n8n/utils");
15
16
  const workflow_sdk_1 = require("@n8n/workflow-sdk");
17
+ const n8n_workflow_1 = require("n8n-workflow");
16
18
  const nanoid_1 = require("nanoid");
17
19
  function createCredentialCache() {
18
20
  return { lists: new Map(), testability: new Map(), tests: new Map() };
19
21
  }
22
+ function listCacheKey(workflowId, credentialType) {
23
+ return `${workflowId ?? ''}|${credentialType}`;
24
+ }
20
25
  async function getValidCredentialTypes(context, node) {
21
26
  const typeVersion = node.typeVersion ?? 1;
22
27
  const parameters = node.parameters ?? {};
@@ -81,7 +86,7 @@ async function stripStaleCredentialsFromNode(context, node, preserveTypes) {
81
86
  async function stripStaleCredentialsFromWorkflow(context, json) {
82
87
  await Promise.all((json.nodes ?? []).map(async (node) => await stripStaleCredentialsFromNode(context, node)));
83
88
  }
84
- async function buildSetupRequests(context, node, triggerTestResult, cache) {
89
+ async function buildSetupRequests(context, node, triggerTestResult, cache, workflowId) {
85
90
  if (!node.name)
86
91
  return [];
87
92
  if (node.disabled)
@@ -177,12 +182,13 @@ async function buildSetupRequests(context, node, triggerTestResult, cache) {
177
182
  .map(([k, v]) => [k, { id: v.id, name: v.name }]))
178
183
  : undefined;
179
184
  if (credentialType) {
180
- let listPromise = cache?.lists.get(credentialType);
185
+ const cacheKey = listCacheKey(workflowId, credentialType);
186
+ let listPromise = cache?.lists.get(cacheKey);
181
187
  if (!listPromise) {
182
188
  listPromise = context.credentialService
183
- .list({ type: credentialType })
189
+ .list({ type: credentialType, ...(workflowId ? { workflowId } : {}) })
184
190
  .then((creds) => creds.map((c) => ({ id: c.id, name: c.name })));
185
- cache?.lists.set(credentialType, listPromise);
191
+ cache?.lists.set(cacheKey, listPromise);
186
192
  }
187
193
  const sortedCreds = await listPromise;
188
194
  existingCredentials = sortedCreds.map((c) => ({ id: c.id, name: c.name }));
@@ -546,11 +552,62 @@ function buildCompletedReport(appliedCredentials, appliedParameters) {
546
552
  }
547
553
  return result;
548
554
  }
555
+ function buildSubnodeToRootNodeMap(nodes, connections, executionOrder) {
556
+ const connectionsByDestination = (0, n8n_workflow_1.mapConnectionsByDestination)(connections);
557
+ const directSubnodesByNodeName = new Map();
558
+ for (const node of nodes) {
559
+ if (!node.name)
560
+ continue;
561
+ const subs = (0, n8n_workflow_1.getParentNodes)(connectionsByDestination, node.name, 'ALL_NON_MAIN', 1);
562
+ if (subs.length > 0)
563
+ directSubnodesByNodeName.set(node.name, subs);
564
+ }
565
+ if (directSubnodesByNodeName.size === 0)
566
+ return new Map();
567
+ const allSubnodeNames = new Set();
568
+ for (const subs of directSubnodesByNodeName.values()) {
569
+ for (const name of subs)
570
+ allSubnodeNames.add(name);
571
+ }
572
+ const rootNodeNames = [...directSubnodesByNodeName.keys()].filter((n) => !allSubnodeNames.has(n));
573
+ if (rootNodeNames.length === 0)
574
+ return new Map();
575
+ const nodeByName = new Map();
576
+ for (const node of nodes) {
577
+ if (node.name)
578
+ nodeByName.set(node.name, node);
579
+ }
580
+ const orderIndex = new Map();
581
+ for (let i = 0; i < executionOrder.length; i++) {
582
+ orderIndex.set(executionOrder[i], i);
583
+ }
584
+ const sortedRootNodes = [...rootNodeNames].sort((a, b) => (orderIndex.get(a) ?? Number.MAX_SAFE_INTEGER) -
585
+ (orderIndex.get(b) ?? Number.MAX_SAFE_INTEGER));
586
+ const subnodeToRootNode = new Map();
587
+ for (const rootNodeName of sortedRootNodes) {
588
+ const rootNode = nodeByName.get(rootNodeName);
589
+ if (!rootNode)
590
+ continue;
591
+ const subnodeRootNode = {
592
+ name: rootNodeName,
593
+ type: rootNode.type,
594
+ typeVersion: rootNode.typeVersion ?? 1,
595
+ id: rootNode.id ?? '',
596
+ };
597
+ const transitiveSubs = (0, n8n_workflow_1.getParentNodes)(connectionsByDestination, rootNodeName, 'ALL_NON_MAIN', -1);
598
+ for (const subName of transitiveSubs) {
599
+ if (subnodeToRootNode.has(subName))
600
+ continue;
601
+ subnodeToRootNode.set(subName, subnodeRootNode);
602
+ }
603
+ }
604
+ return subnodeToRootNode;
605
+ }
549
606
  async function analyzeWorkflow(context, workflowId, triggerResults) {
550
607
  const workflowJson = await context.workflowService.getAsWorkflowJSON(workflowId);
551
608
  const cache = createCredentialCache();
552
609
  const allRequestArrays = await Promise.all(workflowJson.nodes.map(async (node) => {
553
- return await buildSetupRequests(context, node, triggerResults?.[node.name ?? ''], cache);
610
+ return await buildSetupRequests(context, node, triggerResults?.[node.name ?? ''], cache, workflowId);
554
611
  }));
555
612
  const setupRequests = allRequestArrays
556
613
  .flat()
@@ -559,6 +616,15 @@ async function analyzeWorkflow(context, workflowId, triggerResults) {
559
616
  (req.parameterIssues && Object.keys(req.parameterIssues).length > 0))
560
617
  .filter((req) => !!req.needsAction || (req.isTrigger && !!req.isTestable));
561
618
  sortByExecutionOrder(setupRequests, workflowJson.connections);
619
+ const subnodeToRootNode = buildSubnodeToRootNodeMap(workflowJson.nodes, workflowJson.connections, setupRequests.map((req) => req.node.name));
620
+ if (subnodeToRootNode.size > 0) {
621
+ for (const req of setupRequests) {
622
+ const subnodeRootNode = subnodeToRootNode.get(req.node.name);
623
+ if (subnodeRootNode) {
624
+ req.subnodeRootNode = subnodeRootNode;
625
+ }
626
+ }
627
+ }
562
628
  return setupRequests;
563
629
  }
564
630
  //# sourceMappingURL=setup-workflow.service.js.map