@n8n/instance-ai 1.14.7 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/apply-agent-thinking.js +3 -3
- package/dist/agent/apply-agent-thinking.js.map +1 -1
- package/dist/agent/computer-use-prompt.js +12 -10
- package/dist/agent/computer-use-prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +5 -2
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/sanitize-mcp-schemas.js +3 -3
- package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
- package/dist/agent/shared-prompts.js +3 -5
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-debriefing.d.ts +4 -4
- package/dist/agent/system-prompt.d.ts +1 -0
- package/dist/agent/system-prompt.js +10 -5
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/debug/run-debug-buffer.js +4 -4
- package/dist/debug/run-debug-buffer.js.map +1 -1
- package/dist/debug/sanitize-debug-snapshot.js +6 -5
- package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
- package/dist/domain-access/domain-access-tracker.d.ts +8 -4
- package/dist/domain-access/domain-access-tracker.js +12 -7
- package/dist/domain-access/domain-access-tracker.js.map +1 -1
- package/dist/domain-access/domain-gating.d.ts +4 -4
- package/dist/domain-access/domain-gating.js +5 -5
- package/dist/domain-access/domain-gating.js.map +1 -1
- package/dist/error-formatting.js +3 -3
- package/dist/error-formatting.js.map +1 -1
- package/dist/index.d.ts +3 -20
- package/dist/index.js +4 -22
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcp-client-manager.d.ts +11 -2
- package/dist/mcp/mcp-client-manager.js +17 -9
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.js +8 -8
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +4 -0
- package/dist/runtime/run-state-registry.js +22 -8
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/runtime/terminal-response-guard.js +6 -1
- package/dist/runtime/terminal-response-guard.js.map +1 -1
- package/dist/storage/terminal-outcome-storage.d.ts +4 -4
- package/dist/storage/workflow-loop-storage.d.ts +94 -94
- package/dist/stream/map-chunk.js +17 -17
- package/dist/stream/map-chunk.js.map +1 -1
- package/dist/stream/output-redaction.js +8 -6
- package/dist/stream/output-redaction.js.map +1 -1
- package/dist/stream/usage-accumulator.d.ts +18 -18
- package/dist/stream/work-summary-accumulator.d.ts +6 -6
- package/dist/tools/attachments/parse-file.tool.d.ts +18 -18
- package/dist/tools/credentials.tool.d.ts +2 -2
- package/dist/tools/data-tables.tool.js +2 -2
- package/dist/tools/data-tables.tool.js.map +1 -1
- package/dist/tools/evals/column-ref-utils.js +4 -4
- package/dist/tools/evals/column-ref-utils.js.map +1 -1
- package/dist/tools/evals/describe-metric-for-workflow.service.js +3 -3
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -1
- package/dist/tools/evals/detect-tool-refs.service.js +2 -2
- package/dist/tools/evals/detect-tool-refs.service.js.map +1 -1
- package/dist/tools/evals/eval-data-requirements.service.js +10 -10
- package/dist/tools/evals/eval-data-requirements.service.js.map +1 -1
- package/dist/tools/evals/evals.tool.js +7 -8
- package/dist/tools/evals/evals.tool.js.map +1 -1
- package/dist/tools/evals/extract-rows-from-history.service.js +7 -7
- package/dist/tools/evals/extract-rows-from-history.service.js.map +1 -1
- package/dist/tools/evals/generate-sample-rows.service.js +5 -5
- package/dist/tools/evals/generate-sample-rows.service.js.map +1 -1
- package/dist/tools/evals/metric-catalog.js +3 -3
- package/dist/tools/evals/metric-catalog.js.map +1 -1
- package/dist/tools/executions.tool.js +4 -6
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +6 -6
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/n8n-docs/schemas.d.ts +4 -4
- package/dist/tools/nodes/node-search-engine.js +3 -3
- package/dist/tools/nodes/node-search-engine.js.map +1 -1
- package/dist/tools/nodes.tool.js +13 -30
- package/dist/tools/nodes.tool.js.map +1 -1
- package/dist/tools/orchestration/complete-checkpoint.tool.js +2 -2
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
- package/dist/tools/orchestration/delegate.schemas.d.ts +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +8 -8
- package/dist/tools/orchestration/verification/analyze-result.js +4 -3
- package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +2 -2
- package/dist/tools/orchestration/verify-built-workflow.tool.js +4 -7
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +2 -2
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/shared/ask-user.tool.d.ts +4 -4
- package/dist/tools/shared/ask-user.tool.js +11 -21
- package/dist/tools/shared/ask-user.tool.js.map +1 -1
- package/dist/tools/tool-ids.d.ts +1 -0
- package/dist/tools/tool-ids.js +2 -1
- package/dist/tools/tool-ids.js.map +1 -1
- package/dist/tools/workflows/apply-workflow-credentials.tool.js +6 -11
- package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -1
- package/dist/tools/workflows/build-workflow.tool.d.ts +9 -2
- package/dist/tools/workflows/build-workflow.tool.js +127 -5
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/classify-node-destructiveness.service.js +4 -4
- package/dist/tools/workflows/classify-node-destructiveness.service.js.map +1 -1
- package/dist/tools/workflows/credential-url-resolver.d.ts +21 -0
- package/dist/tools/workflows/credential-url-resolver.js +79 -0
- package/dist/tools/workflows/credential-url-resolver.js.map +1 -0
- package/dist/tools/workflows/credential-utils.d.ts +28 -0
- package/dist/tools/workflows/credential-utils.js +61 -0
- package/dist/tools/workflows/credential-utils.js.map +1 -0
- package/dist/tools/workflows/detect-array-input-collapse.js +4 -4
- package/dist/tools/workflows/detect-array-input-collapse.js.map +1 -1
- package/dist/tools/workflows/detect-wrong-kind-locator.d.ts +10 -0
- package/dist/tools/workflows/detect-wrong-kind-locator.js +105 -0
- package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -0
- package/dist/tools/workflows/generate-simulation-fixtures.service.js +3 -3
- package/dist/tools/workflows/generate-simulation-fixtures.service.js.map +1 -1
- package/dist/tools/workflows/materialize-node-type.tool.d.ts +4 -4
- package/dist/tools/workflows/setup-workflow.schema.d.ts +63 -27
- package/dist/tools/workflows/setup-workflow.service.js +26 -43
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/summarize-workflow.d.ts +5 -0
- package/dist/tools/workflows/summarize-workflow.js +114 -0
- package/dist/tools/workflows/summarize-workflow.js.map +1 -0
- package/dist/tools/workflows/workflow-json-utils.js +6 -5
- package/dist/tools/workflows/workflow-json-utils.js.map +1 -1
- package/dist/tools/workflows/workflow-source-compiler.js +48 -9
- package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
- package/dist/tools/workflows/workflow-validation-warnings.js +5 -1
- package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
- package/dist/tools/workflows.tool.d.ts +1 -1
- package/dist/tools/workflows.tool.js +47 -22
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +5 -1
- package/dist/tracing/langsmith-tracing.js +66 -13
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/trace-payloads.d.ts +1 -0
- package/dist/tracing/trace-payloads.js +46 -29
- package/dist/tracing/trace-payloads.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/stream-helpers.js +5 -5
- package/dist/utils/stream-helpers.js.map +1 -1
- package/dist/workflow-builder/index.d.ts +0 -1
- package/dist/workflow-builder/index.js +1 -6
- package/dist/workflow-builder/index.js.map +1 -1
- package/dist/workflow-loop/index.d.ts +0 -1
- package/dist/workflow-loop/index.js +1 -3
- package/dist/workflow-loop/index.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +112 -112
- package/dist/workspace/snapshot-image-context.js +24 -11
- package/dist/workspace/snapshot-image-context.js.map +1 -1
- package/dist/workspace/snapshot-manager.d.ts +0 -1
- package/dist/workspace/snapshot-manager.js +0 -7
- package/dist/workspace/snapshot-manager.js.map +1 -1
- package/dist/workspace/template-telemetry.js +5 -4
- package/dist/workspace/template-telemetry.js.map +1 -1
- package/dist/workspace/workspace-manifest.js +2 -2
- package/dist/workspace/workspace-manifest.js.map +1 -1
- package/knowledge-base/reference/workflow-builder-guardrails.md +33 -0
- package/package.json +14 -12
- package/skills/post-build-flow/SKILL.md +106 -10
- package/skills/workflow-builder/SKILL.md +174 -225
- package/skills/workflow-builder/references/compositional-workflows.md +66 -0
- package/skills/workflow-builder/references/error-workflows.md +35 -0
- package/dist/tools/nodes/suggested-nodes-data.d.ts +0 -11
- package/dist/tools/nodes/suggested-nodes-data.js +0 -333
- package/dist/tools/nodes/suggested-nodes-data.js.map +0 -1
- package/dist/workflow-builder/sdk-prompt-sections.d.ts +0 -1
- package/dist/workflow-builder/sdk-prompt-sections.js +0 -9
- package/dist/workflow-builder/sdk-prompt-sections.js.map +0 -1
- package/dist/workflow-loop/terminal-remediation-guard.d.ts +0 -6
- package/dist/workflow-loop/terminal-remediation-guard.js +0 -18
- package/dist/workflow-loop/terminal-remediation-guard.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Workflow-Level Error Workflows
|
|
2
|
+
|
|
3
|
+
n8n has no global or instance-wide error workflow setting. Error workflows are
|
|
4
|
+
assigned per target workflow through workflow settings:
|
|
5
|
+
|
|
6
|
+
```ts
|
|
7
|
+
export default workflow('target-workflow-id', 'Target Workflow')
|
|
8
|
+
.settings({ errorWorkflow: 'published-error-workflow-id' })
|
|
9
|
+
.add(triggerNode);
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
`settings.errorWorkflow` must be the real workflow ID of a separate published
|
|
13
|
+
workflow whose published version contains an active Error Trigger node. Do not
|
|
14
|
+
use a workflow name, placeholder, `activeVersionId`, local SDK id, or invented
|
|
15
|
+
global identifier.
|
|
16
|
+
|
|
17
|
+
Use the no-global-setting rule as implementation guidance. Mention it to the
|
|
18
|
+
user only when they explicitly ask about, request, or reference global or
|
|
19
|
+
instance-wide error workflow behavior.
|
|
20
|
+
|
|
21
|
+
When creating an error workflow to attach to another workflow:
|
|
22
|
+
|
|
23
|
+
1. Build the target workflow first, then ask whether the user wants an error
|
|
24
|
+
workflow for it. Do not create one before the user opts in.
|
|
25
|
+
2. Build the error workflow as a separate workflow. It starts with an Error
|
|
26
|
+
Trigger and sends the notification the user requested.
|
|
27
|
+
3. Publish the error workflow with `workflows(action="publish")` before setting
|
|
28
|
+
it on the target workflow: `settings.errorWorkflow` only accepts a published
|
|
29
|
+
workflow, and publishing goes through HITL approval, so the user confirms it.
|
|
30
|
+
This applies to the error workflow only; never publish the target workflow
|
|
31
|
+
unless the user explicitly asks.
|
|
32
|
+
4. Patch the original target workflow's source and set
|
|
33
|
+
`.settings({ errorWorkflow: '<published-error-workflow-id>' })`, then call
|
|
34
|
+
`build-workflow` for the original workflow. This assigns the error workflow
|
|
35
|
+
only to that target workflow.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface CategorySuggestedNode {
|
|
2
|
-
name: string;
|
|
3
|
-
note?: string;
|
|
4
|
-
}
|
|
5
|
-
export interface CategoryData {
|
|
6
|
-
description: string;
|
|
7
|
-
patternHint: string;
|
|
8
|
-
nodes: CategorySuggestedNode[];
|
|
9
|
-
}
|
|
10
|
-
export declare const suggestedNodesData: Record<string, CategoryData>;
|
|
11
|
-
export declare const categoryList: string[];
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.categoryList = exports.suggestedNodesData = void 0;
|
|
4
|
-
exports.suggestedNodesData = {
|
|
5
|
-
chatbot: {
|
|
6
|
-
description: 'Receiving chat messages and replying (built-in chat, Telegram, Slack, etc.)',
|
|
7
|
-
patternHint: 'Chat Trigger -> AI Agent -> Memory -> Response',
|
|
8
|
-
nodes: [
|
|
9
|
-
{
|
|
10
|
-
name: '@n8n/n8n-nodes-langchain.chatTrigger',
|
|
11
|
-
note: "Do not attach a memory subnode to the Chat Trigger to give the Agent memory — that's the Agent's job. See the loadPreviousSession builderHint for when the trigger itself needs memory.",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: '@n8n/n8n-nodes-langchain.agent',
|
|
15
|
-
note: 'Every agent in a conversational workflow MUST have a memory subnode connected. If multiple agents share the same conversation, they must use the same memory session key',
|
|
16
|
-
},
|
|
17
|
-
{ name: '@n8n/n8n-nodes-langchain.lmChatOpenAi' },
|
|
18
|
-
{ name: '@n8n/n8n-nodes-langchain.lmChatGoogleGemini' },
|
|
19
|
-
{
|
|
20
|
-
name: '@n8n/n8n-nodes-langchain.memoryBufferWindow',
|
|
21
|
-
note: 'Maintains short-term conversation history. Must be connected as a subnode to every Agent that participates in a conversation. When multiple agents share a conversation, use the same session key across all of them',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: '@n8n/n8n-nodes-langchain.retrieverVectorStore',
|
|
25
|
-
note: 'Connects any Vector Store (Pinecone, Qdrant, Supabase, In-Memory, etc.) to an AI Agent for RAG. Use this as a subnode between the vector store and the agent to retrieve relevant documents when answering questions',
|
|
26
|
-
},
|
|
27
|
-
{ name: 'n8n-nodes-base.slack' },
|
|
28
|
-
{ name: 'n8n-nodes-base.telegram' },
|
|
29
|
-
{ name: 'n8n-nodes-base.whatsApp' },
|
|
30
|
-
{ name: 'n8n-nodes-base.discord' },
|
|
31
|
-
],
|
|
32
|
-
},
|
|
33
|
-
notification: {
|
|
34
|
-
description: 'Sending alerts or updates via email, chat, SMS when events occur',
|
|
35
|
-
patternHint: 'Trigger -> Condition -> Send (Email/Slack/SMS)',
|
|
36
|
-
nodes: [
|
|
37
|
-
{
|
|
38
|
-
name: 'n8n-nodes-base.webhook',
|
|
39
|
-
note: 'Event-based notifications from external systems',
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'n8n-nodes-base.scheduleTrigger',
|
|
43
|
-
note: 'Periodic monitoring and batch notifications',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: 'n8n-nodes-base.gmail',
|
|
47
|
-
note: "Default to this because it's easy for users to setup",
|
|
48
|
-
},
|
|
49
|
-
{ name: 'n8n-nodes-base.slack' },
|
|
50
|
-
{ name: 'n8n-nodes-base.telegram' },
|
|
51
|
-
{ name: 'n8n-nodes-base.twilio' },
|
|
52
|
-
{
|
|
53
|
-
name: 'n8n-nodes-base.httpRequest',
|
|
54
|
-
note: 'For services without dedicated nodes (Teams, Discord)',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: 'n8n-nodes-base.if',
|
|
58
|
-
note: 'Check alert conditions before sending',
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: 'n8n-nodes-base.switch',
|
|
62
|
-
note: 'If routing by severity/type is needed, use Switch to direct to different channels',
|
|
63
|
-
},
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
scheduling: {
|
|
67
|
-
description: 'Running actions at specific times or intervals',
|
|
68
|
-
patternHint: 'Schedule Trigger -> Fetch -> Process -> Act',
|
|
69
|
-
nodes: [
|
|
70
|
-
{ name: 'n8n-nodes-base.scheduleTrigger' },
|
|
71
|
-
{ name: 'n8n-nodes-base.httpRequest' },
|
|
72
|
-
{ name: 'n8n-nodes-base.set' },
|
|
73
|
-
{
|
|
74
|
-
name: 'n8n-nodes-base.wait',
|
|
75
|
-
note: 'Respect rate limits between API calls',
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
},
|
|
79
|
-
data_transformation: {
|
|
80
|
-
description: 'Cleaning, formatting, or restructuring data',
|
|
81
|
-
patternHint: 'Input -> Filter/Map -> Transform -> Output',
|
|
82
|
-
nodes: [
|
|
83
|
-
{ name: 'n8n-nodes-base.set' },
|
|
84
|
-
{ name: 'n8n-nodes-base.if', note: 'Use early to validate inputs' },
|
|
85
|
-
{
|
|
86
|
-
name: 'n8n-nodes-base.filter',
|
|
87
|
-
note: 'Use early to reduce data volume',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: 'n8n-nodes-base.summarize',
|
|
91
|
-
note: 'Pivot table-style aggregations',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
name: 'n8n-nodes-base.aggregate',
|
|
95
|
-
note: 'Combine multiple items into one',
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
name: 'n8n-nodes-base.splitOut',
|
|
99
|
-
note: 'Convert single item with array into multiple items',
|
|
100
|
-
},
|
|
101
|
-
{ name: 'n8n-nodes-base.sort' },
|
|
102
|
-
{ name: 'n8n-nodes-base.limit' },
|
|
103
|
-
{ name: 'n8n-nodes-base.removeDuplicates' },
|
|
104
|
-
{
|
|
105
|
-
name: 'n8n-nodes-base.splitInBatches',
|
|
106
|
-
note: 'For large datasets (100+ items), batch processing prevents timeouts',
|
|
107
|
-
},
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
data_persistence: {
|
|
111
|
-
description: 'Storing, updating, or retrieving records from persistent storage',
|
|
112
|
-
patternHint: 'Trigger -> Process -> Store (DataTable/Sheets)',
|
|
113
|
-
nodes: [
|
|
114
|
-
{
|
|
115
|
-
name: 'n8n-nodes-base.dataTable',
|
|
116
|
-
note: 'PREFERRED - no external config needed',
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
name: 'n8n-nodes-base.googleSheets',
|
|
120
|
-
note: 'For collaboration needs; if >10k rows expected, consider DataTable instead',
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
name: 'n8n-nodes-base.airtable',
|
|
124
|
-
note: 'If relationships between tables are needed',
|
|
125
|
-
},
|
|
126
|
-
{ name: 'n8n-nodes-base.postgres' },
|
|
127
|
-
{ name: 'n8n-nodes-base.mySql' },
|
|
128
|
-
{ name: 'n8n-nodes-base.mongoDb' },
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
data_extraction: {
|
|
132
|
-
description: 'Pulling specific information from structured or unstructured inputs',
|
|
133
|
-
patternHint: 'Source -> Extract -> Parse -> Structure',
|
|
134
|
-
nodes: [
|
|
135
|
-
{
|
|
136
|
-
name: 'n8n-nodes-base.extractFromFile',
|
|
137
|
-
note: 'For multiple file types, route by file type first with IF/Switch',
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
name: 'n8n-nodes-base.htmlExtract',
|
|
141
|
-
note: 'JS-rendered content may be empty',
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: 'n8n-nodes-base.splitOut',
|
|
145
|
-
note: 'Use before Loop Over Items for arrays',
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
name: 'n8n-nodes-base.splitInBatches',
|
|
149
|
-
note: 'Process 200 rows at a time for memory',
|
|
150
|
-
},
|
|
151
|
-
{ name: 'n8n-nodes-base.code' },
|
|
152
|
-
{
|
|
153
|
-
name: '@n8n/n8n-nodes-langchain.informationExtractor',
|
|
154
|
-
note: 'For unstructured text',
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
name: '@n8n/n8n-nodes-langchain.chainSummarization',
|
|
158
|
-
note: 'Context window limits may truncate',
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
document_processing: {
|
|
163
|
-
description: 'Taking action on content within files (PDFs, Word docs, images)',
|
|
164
|
-
patternHint: 'Trigger -> Extract Text -> AI Parse -> Store',
|
|
165
|
-
nodes: [
|
|
166
|
-
{ name: 'n8n-nodes-base.gmailTrigger' },
|
|
167
|
-
{ name: 'n8n-nodes-base.googleDriveTrigger' },
|
|
168
|
-
{
|
|
169
|
-
name: 'n8n-nodes-base.extractFromFile',
|
|
170
|
-
note: 'Different file types require different operations - route accordingly',
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
name: 'n8n-nodes-base.awsTextract',
|
|
174
|
-
note: 'For tables and forms in scanned docs',
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
name: 'n8n-nodes-base.mindee',
|
|
178
|
-
note: 'Specialized invoice/receipt parsing',
|
|
179
|
-
},
|
|
180
|
-
{ name: '@n8n/n8n-nodes-langchain.agent' },
|
|
181
|
-
{
|
|
182
|
-
name: '@n8n/n8n-nodes-langchain.documentDefaultDataLoader',
|
|
183
|
-
note: 'Loads binary files (PDF, CSV, JSON, DOCX, EPUB, text) into LangChain Documents. Auto-detects format from MIME type. Requires a preceding node that outputs binary data',
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
name: '@n8n/n8n-nodes-langchain.vectorStoreInMemory',
|
|
187
|
-
note: 'No external dependencies needed',
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
name: 'n8n-nodes-base.splitInBatches',
|
|
191
|
-
note: 'Process 5-10 files at a time',
|
|
192
|
-
},
|
|
193
|
-
],
|
|
194
|
-
},
|
|
195
|
-
form_input: {
|
|
196
|
-
description: 'Gathering data from users via forms',
|
|
197
|
-
patternHint: 'Form Trigger -> Validate -> Store -> Respond',
|
|
198
|
-
nodes: [
|
|
199
|
-
{
|
|
200
|
-
name: 'n8n-nodes-base.formTrigger',
|
|
201
|
-
note: 'ALWAYS store raw data to persistent storage',
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
name: 'n8n-nodes-base.form',
|
|
205
|
-
note: 'Each node is one page/step; use for Form Ending / completion pages after processing',
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
name: 'n8n-nodes-base.dataTable',
|
|
209
|
-
note: 'PREFERRED for form data storage',
|
|
210
|
-
},
|
|
211
|
-
{ name: 'n8n-nodes-base.googleSheets' },
|
|
212
|
-
{
|
|
213
|
-
name: '@n8n/n8n-nodes-langchain.openAi',
|
|
214
|
-
note: 'Confirmation/summary text: resource=text, operation=response. See open-ai-output-shape.md for downstream field paths (not $json.text).',
|
|
215
|
-
},
|
|
216
|
-
{ name: 'n8n-nodes-base.airtable' },
|
|
217
|
-
],
|
|
218
|
-
},
|
|
219
|
-
content_generation: {
|
|
220
|
-
description: 'Creating text, images, audio, or video',
|
|
221
|
-
patternHint: 'Trigger -> Generate (Text/Image/Video) -> Deliver',
|
|
222
|
-
nodes: [
|
|
223
|
-
{
|
|
224
|
-
name: '@n8n/n8n-nodes-langchain.agent',
|
|
225
|
-
note: 'For text generation',
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
name: '@n8n/n8n-nodes-langchain.openAi',
|
|
229
|
-
note: 'Text (operation=response), DALL-E, TTS, Sora. See open-ai-output-shape.md when wiring downstream fields.',
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
name: '@n8n/n8n-nodes-langchain.lmChatGoogleGemini',
|
|
233
|
-
note: 'Imagen, video generation',
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
name: 'n8n-nodes-base.httpRequest',
|
|
237
|
-
note: 'For APIs without dedicated nodes',
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
name: 'n8n-nodes-base.editImage',
|
|
241
|
-
note: 'Resize, crop, format conversion',
|
|
242
|
-
},
|
|
243
|
-
{ name: 'n8n-nodes-base.markdown', note: 'Convert to HTML' },
|
|
244
|
-
{ name: 'n8n-nodes-base.facebookGraphApi' },
|
|
245
|
-
{
|
|
246
|
-
name: 'n8n-nodes-base.wait',
|
|
247
|
-
note: 'Video generation is async, use wait while polling for updates',
|
|
248
|
-
},
|
|
249
|
-
],
|
|
250
|
-
},
|
|
251
|
-
triage: {
|
|
252
|
-
description: 'Classifying data for routing or prioritization',
|
|
253
|
-
patternHint: 'Trigger -> Classify -> Route -> Act',
|
|
254
|
-
nodes: [
|
|
255
|
-
{
|
|
256
|
-
name: '@n8n/n8n-nodes-langchain.agent',
|
|
257
|
-
note: 'For consistent/deterministic classification, always use structured output parser and set temperature 0-0.2',
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
name: '@n8n/n8n-nodes-langchain.outputParserStructured',
|
|
261
|
-
note: 'Critical to ensure agent output is consistent and matching general schema',
|
|
262
|
-
},
|
|
263
|
-
],
|
|
264
|
-
},
|
|
265
|
-
scraping_and_research: {
|
|
266
|
-
description: 'Collecting information from websites or APIs',
|
|
267
|
-
patternHint: 'Trigger -> Fetch -> Extract -> Store',
|
|
268
|
-
nodes: [
|
|
269
|
-
{
|
|
270
|
-
name: 'n8n-nodes-base.dataTable',
|
|
271
|
-
note: 'Default storage for scraped data when the user does not specify a destination. No external config needed. Always include a storage step in scraping workflows',
|
|
272
|
-
},
|
|
273
|
-
{
|
|
274
|
-
name: 'n8n-nodes-base.phantombuster',
|
|
275
|
-
note: 'Use this for social media requests: LinkedIn, Facebook, Instagram, Twitter, etc.',
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
name: '@n8n/n8n-nodes-langchain.toolSerpApi',
|
|
279
|
-
note: 'Give agent web search capability, get up-to-date information from websites.',
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
name: 'n8n-nodes-base.perplexity',
|
|
283
|
-
note: 'Recommended for fetching up-to-date news',
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
name: 'n8n-nodes-base.perplexityTool',
|
|
287
|
-
note: 'Recommended for fetching up-to-date news',
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
name: 'n8n-nodes-base.htmlExtract',
|
|
291
|
-
note: 'Use to extract HTML content from http requests. Though, JS-rendered sites may return empty',
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
name: 'n8n-nodes-base.splitInBatches',
|
|
295
|
-
note: 'Use to batch the processing of items. General recommendation: 200 rows at a time if processing is fast',
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
name: 'n8n-nodes-base.wait',
|
|
299
|
-
note: 'Use this to avoid rate limits (429 errors)',
|
|
300
|
-
},
|
|
301
|
-
{ name: 'n8n-nodes-base.httpRequest' },
|
|
302
|
-
{ name: 'n8n-nodes-base.httpRequestTool' },
|
|
303
|
-
],
|
|
304
|
-
},
|
|
305
|
-
web_app: {
|
|
306
|
-
description: 'Serving a single-page web application from an n8n webhook — dashboard, admin panel, interactive tool, form with rich UI',
|
|
307
|
-
patternHint: 'Write HTML to chunks/page.html, then in src/workflow.ts use readFileSync + JSON.stringify to embed it in a Code node. Use multiple webhooks for page + API routes. Respond with text/html for pages, allEntries for JSON APIs.',
|
|
308
|
-
nodes: [
|
|
309
|
-
{
|
|
310
|
-
name: 'n8n-nodes-base.webhook',
|
|
311
|
-
note: 'Set responseMode to "responseNode". Use one webhook per route (e.g. GET /app for page, GET /app/items for API, POST /app/items/add for mutations). Access POST body via $json.body',
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
name: 'n8n-nodes-base.respondToWebhook',
|
|
315
|
-
note: 'For HTML pages: respondWith "text", responseBody via expression, Content-Type: text/html header. For JSON APIs: respondWith "allEntries"',
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
name: 'n8n-nodes-base.aggregate',
|
|
319
|
-
note: 'Use aggregateAllItemData to collect multiple DataTable rows into a single array before the Code node that builds the HTML page',
|
|
320
|
-
},
|
|
321
|
-
{
|
|
322
|
-
name: 'n8n-nodes-base.code',
|
|
323
|
-
note: 'Builds the final HTML by replacing a __DATA_PLACEHOLDER__ token with base64-encoded data. The HTML template is loaded via readFileSync + JSON.stringify in the SDK code — NEVER embed large HTML directly in jsCode',
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
name: 'n8n-nodes-base.dataTable',
|
|
327
|
-
note: 'PREFERRED for SPA data storage — no external config needed. Use resource: "row" with get/insert/update operations for CRUD API routes',
|
|
328
|
-
},
|
|
329
|
-
],
|
|
330
|
-
},
|
|
331
|
-
};
|
|
332
|
-
exports.categoryList = Object.keys(exports.suggestedNodesData);
|
|
333
|
-
//# sourceMappingURL=suggested-nodes-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suggested-nodes-data.js","sourceRoot":"","sources":["../../../src/tools/nodes/suggested-nodes-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EXPRESSION_REFERENCE, ADDITIONAL_FUNCTIONS, WORKFLOW_RULES, WORKFLOW_SDK_PATTERNS, } from '@n8n/workflow-sdk/prompts/sdk-reference';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WORKFLOW_SDK_PATTERNS = exports.WORKFLOW_RULES = exports.ADDITIONAL_FUNCTIONS = exports.EXPRESSION_REFERENCE = void 0;
|
|
4
|
-
var sdk_reference_1 = require("@n8n/workflow-sdk/prompts/sdk-reference");
|
|
5
|
-
Object.defineProperty(exports, "EXPRESSION_REFERENCE", { enumerable: true, get: function () { return sdk_reference_1.EXPRESSION_REFERENCE; } });
|
|
6
|
-
Object.defineProperty(exports, "ADDITIONAL_FUNCTIONS", { enumerable: true, get: function () { return sdk_reference_1.ADDITIONAL_FUNCTIONS; } });
|
|
7
|
-
Object.defineProperty(exports, "WORKFLOW_RULES", { enumerable: true, get: function () { return sdk_reference_1.WORKFLOW_RULES; } });
|
|
8
|
-
Object.defineProperty(exports, "WORKFLOW_SDK_PATTERNS", { enumerable: true, get: function () { return sdk_reference_1.WORKFLOW_SDK_PATTERNS; } });
|
|
9
|
-
//# sourceMappingURL=sdk-prompt-sections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-prompt-sections.js","sourceRoot":"","sources":["../../src/workflow-builder/sdk-prompt-sections.ts"],"names":[],"mappings":";;;AAMA,yEAKiD;AAJhD,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,+GAAA,cAAc,OAAA;AACd,sHAAA,qBAAqB,OAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { RemediationMetadata } from './workflow-loop-state';
|
|
2
|
-
export interface TerminalRemediationGuard {
|
|
3
|
-
get(): RemediationMetadata | undefined;
|
|
4
|
-
record(remediation: RemediationMetadata | undefined): RemediationMetadata | undefined;
|
|
5
|
-
}
|
|
6
|
-
export declare function createTerminalRemediationGuard(onTerminal?: (remediation: RemediationMetadata) => void): TerminalRemediationGuard;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createTerminalRemediationGuard = createTerminalRemediationGuard;
|
|
4
|
-
function createTerminalRemediationGuard(onTerminal) {
|
|
5
|
-
let terminalRemediation;
|
|
6
|
-
return {
|
|
7
|
-
get: () => terminalRemediation,
|
|
8
|
-
record: (remediation) => {
|
|
9
|
-
if (!remediation || remediation.shouldEdit || terminalRemediation) {
|
|
10
|
-
return terminalRemediation;
|
|
11
|
-
}
|
|
12
|
-
terminalRemediation = remediation;
|
|
13
|
-
onTerminal?.(remediation);
|
|
14
|
-
return terminalRemediation;
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=terminal-remediation-guard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-remediation-guard.js","sourceRoot":"","sources":["../../src/workflow-loop/terminal-remediation-guard.ts"],"names":[],"mappings":";;AAOA,wEAiBC;AAjBD,SAAgB,8BAA8B,CAC7C,UAAuD;IAEvD,IAAI,mBAAoD,CAAC;IAEzD,OAAO;QACN,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAmB;QAC9B,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;YACvB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBACnE,OAAO,mBAAmB,CAAC;YAC5B,CAAC;YAED,mBAAmB,GAAG,WAAW,CAAC;YAClC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO,mBAAmB,CAAC;QAC5B,CAAC;KACD,CAAC;AACH,CAAC"}
|