@n8n/ai-workflow-builder 1.0.2 → 1.1.1
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/agents/responder.agent.d.ts +1 -0
- package/dist/agents/responder.agent.js +9 -33
- package/dist/agents/responder.agent.js.map +1 -1
- package/dist/agents/supervisor.agent.d.ts +1 -0
- package/dist/agents/supervisor.agent.js +7 -38
- package/dist/agents/supervisor.agent.js.map +1 -1
- package/dist/ai-workflow-builder-agent.service.d.ts +2 -1
- package/dist/ai-workflow-builder-agent.service.js +18 -12
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/conversation-compact.js +2 -13
- package/dist/chains/conversation-compact.js.map +1 -1
- package/dist/chains/parameter-updater.js +21 -7
- package/dist/chains/parameter-updater.js.map +1 -1
- package/dist/chains/prompt-categorization.js +3 -81
- package/dist/chains/prompt-categorization.js.map +1 -1
- package/dist/chains/workflow-name.js +2 -10
- package/dist/chains/workflow-name.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/multi-agent-workflow-subgraphs.d.ts +38 -1
- package/dist/multi-agent-workflow-subgraphs.js +34 -2
- package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
- package/dist/parent-graph-state.d.ts +4 -0
- package/dist/parent-graph-state.js +14 -1
- package/dist/parent-graph-state.js.map +1 -1
- package/dist/prompts/agents/builder.prompt.d.ts +1 -0
- package/dist/prompts/agents/builder.prompt.js +242 -0
- package/dist/prompts/agents/builder.prompt.js.map +1 -0
- package/dist/prompts/agents/configurator.prompt.d.ts +2 -0
- package/dist/prompts/agents/configurator.prompt.js +125 -0
- package/dist/prompts/agents/configurator.prompt.js.map +1 -0
- package/dist/prompts/agents/discovery.prompt.d.ts +11 -0
- package/dist/prompts/agents/discovery.prompt.js +259 -0
- package/dist/prompts/agents/discovery.prompt.js.map +1 -0
- package/dist/prompts/agents/responder.prompt.d.ts +1 -0
- package/dist/prompts/agents/responder.prompt.js +41 -0
- package/dist/prompts/agents/responder.prompt.js.map +1 -0
- package/dist/prompts/agents/supervisor.prompt.d.ts +1 -0
- package/dist/prompts/agents/supervisor.prompt.js +43 -0
- package/dist/prompts/agents/supervisor.prompt.js.map +1 -0
- package/dist/prompts/builder/index.d.ts +2 -0
- package/dist/prompts/builder/index.js +7 -0
- package/dist/prompts/builder/index.js.map +1 -0
- package/dist/prompts/builder/prompt-builder.d.ts +17 -0
- package/dist/prompts/builder/prompt-builder.js +147 -0
- package/dist/prompts/builder/prompt-builder.js.map +1 -0
- package/dist/prompts/builder/types.d.ts +22 -0
- package/dist/prompts/builder/types.js +3 -0
- package/dist/prompts/builder/types.js.map +1 -0
- package/dist/prompts/chains/categorization.prompt.d.ts +43 -0
- package/dist/prompts/chains/categorization.prompt.js +86 -0
- package/dist/prompts/chains/categorization.prompt.js.map +1 -0
- package/dist/prompts/chains/compact.prompt.d.ts +2 -0
- package/dist/prompts/chains/compact.prompt.js +16 -0
- package/dist/prompts/chains/compact.prompt.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/if-node.d.ts +2 -0
- package/dist/{chains/prompts/examples/basic/if-node-examples.js → prompts/chains/parameter-updater/examples/if-node.js} +6 -3
- package/dist/prompts/chains/parameter-updater/examples/if-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/index.d.ts +6 -0
- package/dist/prompts/chains/parameter-updater/examples/index.js +16 -0
- package/dist/prompts/chains/parameter-updater/examples/index.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/resource-locator.d.ts +2 -0
- package/dist/{chains/prompts/examples/advanced/resource-locator-examples.js → prompts/chains/parameter-updater/examples/resource-locator.js} +7 -3
- package/dist/prompts/chains/parameter-updater/examples/resource-locator.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/set-node.d.ts +2 -0
- package/dist/{chains/prompts/examples/basic/set-node-examples.js → prompts/chains/parameter-updater/examples/set-node.js} +6 -3
- package/dist/prompts/chains/parameter-updater/examples/set-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/simple-updates.d.ts +2 -0
- package/dist/{chains/prompts/examples/basic → prompts/chains/parameter-updater/examples}/simple-updates.js +8 -5
- package/dist/prompts/chains/parameter-updater/examples/simple-updates.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/switch-node.d.ts +2 -0
- package/dist/prompts/chains/parameter-updater/examples/switch-node.js +131 -0
- package/dist/prompts/chains/parameter-updater/examples/switch-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/examples/tool-nodes.d.ts +2 -0
- package/dist/{chains/prompts/examples/advanced/tool-node-examples.js → prompts/chains/parameter-updater/examples/tool-nodes.js} +6 -3
- package/dist/prompts/chains/parameter-updater/examples/tool-nodes.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/gmail.d.ts +2 -0
- package/dist/prompts/chains/parameter-updater/guides/gmail.js +28 -0
- package/dist/prompts/chains/parameter-updater/guides/gmail.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/http-request.d.ts +2 -0
- package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/http-request.js +34 -8
- package/dist/prompts/chains/parameter-updater/guides/http-request.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/if-node.d.ts +2 -0
- package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/if-node.js +6 -5
- package/dist/prompts/chains/parameter-updater/guides/if-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/index.d.ts +9 -0
- package/dist/prompts/chains/parameter-updater/guides/index.js +22 -0
- package/dist/prompts/chains/parameter-updater/guides/index.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/resource-locator.d.ts +2 -0
- package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/resource-locator.js +6 -2
- package/dist/prompts/chains/parameter-updater/guides/resource-locator.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/set-node.d.ts +2 -0
- package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/set-node.js +5 -2
- package/dist/prompts/chains/parameter-updater/guides/set-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/switch-node.d.ts +2 -0
- package/dist/prompts/chains/parameter-updater/guides/switch-node.js +75 -0
- package/dist/prompts/chains/parameter-updater/guides/switch-node.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/system-message.d.ts +2 -0
- package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/system-message.js +25 -4
- package/dist/prompts/chains/parameter-updater/guides/system-message.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/text-fields.d.ts +2 -0
- package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/text-fields.js +11 -2
- package/dist/prompts/chains/parameter-updater/guides/text-fields.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/tool-nodes.d.ts +2 -0
- package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/tool-nodes.js +5 -2
- package/dist/prompts/chains/parameter-updater/guides/tool-nodes.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/index.d.ts +8 -0
- package/dist/prompts/chains/parameter-updater/index.js +35 -0
- package/dist/prompts/chains/parameter-updater/index.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/instance-url.d.ts +1 -0
- package/dist/{chains/prompts → prompts/chains/parameter-updater}/instance-url.js +5 -6
- package/dist/prompts/chains/parameter-updater/instance-url.js.map +1 -0
- package/dist/{chains/prompts/base/core-instructions.d.ts → prompts/chains/parameter-updater/parameter-updater.prompt.d.ts} +3 -0
- package/dist/{chains/prompts/base/core-instructions.js → prompts/chains/parameter-updater/parameter-updater.prompt.js} +25 -2
- package/dist/prompts/chains/parameter-updater/parameter-updater.prompt.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/registry.d.ts +4 -0
- package/dist/prompts/chains/parameter-updater/registry.js +65 -0
- package/dist/prompts/chains/parameter-updater/registry.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/types.d.ts +18 -0
- package/dist/prompts/chains/parameter-updater/types.js +3 -0
- package/dist/prompts/chains/parameter-updater/types.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/utils.d.ts +2 -0
- package/dist/prompts/chains/parameter-updater/utils.js +16 -0
- package/dist/prompts/chains/parameter-updater/utils.js.map +1 -0
- package/dist/prompts/chains/workflow-name.prompt.d.ts +2 -0
- package/dist/prompts/chains/workflow-name.prompt.js +11 -0
- package/dist/prompts/chains/workflow-name.prompt.js.map +1 -0
- package/dist/prompts/index.d.ts +12 -0
- package/dist/prompts/index.js +50 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/{tools/prompts/main-agent.prompt.js → prompts/legacy-agent.prompt.js} +14 -31
- package/dist/prompts/legacy-agent.prompt.js.map +1 -0
- package/dist/subgraphs/builder.subgraph.d.ts +2 -0
- package/dist/subgraphs/builder.subgraph.js +2 -163
- package/dist/subgraphs/builder.subgraph.js.map +1 -1
- package/dist/subgraphs/configurator.subgraph.d.ts +2 -0
- package/dist/subgraphs/configurator.subgraph.js +3 -84
- package/dist/subgraphs/configurator.subgraph.js.map +1 -1
- package/dist/subgraphs/discovery.subgraph.d.ts +18 -0
- package/dist/subgraphs/discovery.subgraph.js +28 -220
- package/dist/subgraphs/discovery.subgraph.js.map +1 -1
- package/dist/tools/add-node.tool.js +1 -1
- package/dist/tools/best-practices/chatbot.js +6 -7
- package/dist/tools/best-practices/chatbot.js.map +1 -1
- package/dist/tools/best-practices/content-generation.js +38 -2
- package/dist/tools/best-practices/content-generation.js.map +1 -1
- package/dist/tools/best-practices/data-transformation.js +17 -22
- package/dist/tools/best-practices/data-transformation.js.map +1 -1
- package/dist/tools/best-practices/index.js +2 -1
- package/dist/tools/best-practices/index.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/coordination.d.ts +8 -2
- package/dist/types/coordination.js +4 -0
- package/dist/types/coordination.js.map +1 -1
- package/dist/types/discovery-types.d.ts +2 -0
- package/dist/utils/coordination-log.d.ts +2 -1
- package/dist/utils/coordination-log.js.map +1 -1
- package/dist/utils/state-modifier.d.ts +32 -0
- package/dist/utils/state-modifier.js +112 -0
- package/dist/utils/state-modifier.js.map +1 -0
- package/dist/utils/state-reducers.d.ts +4 -0
- package/dist/utils/state-reducers.js +25 -0
- package/dist/utils/state-reducers.js.map +1 -0
- package/dist/utils/stream-processor.js +2 -30
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/subgraph-helpers.d.ts +3 -0
- package/dist/utils/subgraph-helpers.js +23 -0
- package/dist/utils/subgraph-helpers.js.map +1 -1
- package/dist/validation/checks/connections.js +9 -16
- package/dist/validation/checks/connections.js.map +1 -1
- package/dist/validation/checks/credentials.d.ts +3 -0
- package/dist/validation/checks/credentials.js +125 -0
- package/dist/validation/checks/credentials.js.map +1 -0
- package/dist/validation/checks/index.d.ts +1 -0
- package/dist/validation/checks/index.js +3 -1
- package/dist/validation/checks/index.js.map +1 -1
- package/dist/validation/checks/tools.js +0 -10
- package/dist/validation/checks/tools.js.map +1 -1
- package/dist/validation/programmatic.js +2 -0
- package/dist/validation/programmatic.js.map +1 -1
- package/dist/validation/types.d.ts +4 -1
- package/dist/validation/types.js +2 -0
- package/dist/validation/types.js.map +1 -1
- package/dist/validation/utils/node-type-map.d.ts +8 -0
- package/dist/validation/utils/node-type-map.js +50 -0
- package/dist/validation/utils/node-type-map.js.map +1 -0
- package/dist/workflow-builder-agent.d.ts +7 -3
- package/dist/workflow-builder-agent.js +24 -15
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.js +3 -14
- package/dist/workflow-state.js.map +1 -1
- package/package.json +8 -7
- package/dist/chains/prompts/base/common-patterns.d.ts +0 -1
- package/dist/chains/prompts/base/common-patterns.js +0 -13
- package/dist/chains/prompts/base/common-patterns.js.map +0 -1
- package/dist/chains/prompts/base/core-instructions.js.map +0 -1
- package/dist/chains/prompts/base/expression-rules.d.ts +0 -1
- package/dist/chains/prompts/base/expression-rules.js +0 -15
- package/dist/chains/prompts/base/expression-rules.js.map +0 -1
- package/dist/chains/prompts/base/output-format.d.ts +0 -1
- package/dist/chains/prompts/base/output-format.js +0 -7
- package/dist/chains/prompts/base/output-format.js.map +0 -1
- package/dist/chains/prompts/examples/advanced/resource-locator-examples.d.ts +0 -1
- package/dist/chains/prompts/examples/advanced/resource-locator-examples.js.map +0 -1
- package/dist/chains/prompts/examples/advanced/tool-node-examples.d.ts +0 -1
- package/dist/chains/prompts/examples/advanced/tool-node-examples.js.map +0 -1
- package/dist/chains/prompts/examples/basic/if-node-examples.d.ts +0 -1
- package/dist/chains/prompts/examples/basic/if-node-examples.js.map +0 -1
- package/dist/chains/prompts/examples/basic/set-node-examples.d.ts +0 -1
- package/dist/chains/prompts/examples/basic/set-node-examples.js.map +0 -1
- package/dist/chains/prompts/examples/basic/simple-updates.d.ts +0 -1
- package/dist/chains/prompts/examples/basic/simple-updates.js.map +0 -1
- package/dist/chains/prompts/instance-url.d.ts +0 -1
- package/dist/chains/prompts/instance-url.js.map +0 -1
- package/dist/chains/prompts/node-types/http-request.d.ts +0 -1
- package/dist/chains/prompts/node-types/http-request.js.map +0 -1
- package/dist/chains/prompts/node-types/if-node.d.ts +0 -1
- package/dist/chains/prompts/node-types/if-node.js.map +0 -1
- package/dist/chains/prompts/node-types/set-node.d.ts +0 -1
- package/dist/chains/prompts/node-types/set-node.js.map +0 -1
- package/dist/chains/prompts/node-types/tool-nodes.d.ts +0 -1
- package/dist/chains/prompts/node-types/tool-nodes.js.map +0 -1
- package/dist/chains/prompts/parameter-types/resource-locator.d.ts +0 -1
- package/dist/chains/prompts/parameter-types/resource-locator.js.map +0 -1
- package/dist/chains/prompts/parameter-types/system-message.d.ts +0 -1
- package/dist/chains/prompts/parameter-types/system-message.js.map +0 -1
- package/dist/chains/prompts/parameter-types/text-fields.d.ts +0 -1
- package/dist/chains/prompts/parameter-types/text-fields.js.map +0 -1
- package/dist/chains/prompts/prompt-builder.d.ts +0 -15
- package/dist/chains/prompts/prompt-builder.js +0 -140
- package/dist/chains/prompts/prompt-builder.js.map +0 -1
- package/dist/chains/prompts/prompt-config.d.ts +0 -5
- package/dist/chains/prompts/prompt-config.js +0 -52
- package/dist/chains/prompts/prompt-config.js.map +0 -1
- package/dist/tools/prompts/main-agent.prompt.js.map +0 -1
- /package/dist/{tools/prompts/main-agent.prompt.d.ts → prompts/legacy-agent.prompt.d.ts} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SIMPLE_UPDATE_EXAMPLES = void 0;
|
|
4
|
-
exports.SIMPLE_UPDATE_EXAMPLES =
|
|
4
|
+
exports.SIMPLE_UPDATE_EXAMPLES = {
|
|
5
|
+
patterns: ['*'],
|
|
6
|
+
content: `
|
|
5
7
|
## Examples of Parameter Updates
|
|
6
8
|
|
|
7
9
|
### Example 1: Update HTTP Request URL
|
|
@@ -10,7 +12,7 @@ Current parameters: { "url": "https://api.example.com", "method": "GET" }
|
|
|
10
12
|
Updated parameters: { "url": "https://api.openweathermap.org/data/2.5/weather?q=London", "method": "GET" }
|
|
11
13
|
|
|
12
14
|
### Example 2: Add a header
|
|
13
|
-
Change: "Add an
|
|
15
|
+
Change: "Add an ABC key header with value 123"
|
|
14
16
|
Current parameters: { "url": "...", "sendHeaders": false }
|
|
15
17
|
Updated parameters: {
|
|
16
18
|
"url": "...",
|
|
@@ -18,8 +20,8 @@ Updated parameters: {
|
|
|
18
20
|
"headerParameters": {
|
|
19
21
|
"parameters": [
|
|
20
22
|
{
|
|
21
|
-
"name": "
|
|
22
|
-
"value": "
|
|
23
|
+
"name": "ABC",
|
|
24
|
+
"value": "123"
|
|
23
25
|
}
|
|
24
26
|
]
|
|
25
27
|
}
|
|
@@ -47,5 +49,6 @@ Updated parameters: {
|
|
|
47
49
|
],
|
|
48
50
|
"combinator": "and"
|
|
49
51
|
}
|
|
50
|
-
}
|
|
52
|
+
}`,
|
|
53
|
+
};
|
|
51
54
|
//# sourceMappingURL=simple-updates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-updates.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/examples/simple-updates.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAqB;IACvD,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CR;CACD,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SWITCH_NODE_EXAMPLES = void 0;
|
|
4
|
+
exports.SWITCH_NODE_EXAMPLES = {
|
|
5
|
+
patterns: ['n8n-nodes-base.switch'],
|
|
6
|
+
content: `
|
|
7
|
+
### Switch Node Examples
|
|
8
|
+
|
|
9
|
+
#### Example 1: Route by Amount Tiers (Purchase Approval)
|
|
10
|
+
Current Parameters: { "mode": "rules" }
|
|
11
|
+
Requested Changes: Route under $100 to auto-approve, $100-$1000 to manager, over $1000 to finance
|
|
12
|
+
|
|
13
|
+
Expected Output:
|
|
14
|
+
{
|
|
15
|
+
"mode": "rules",
|
|
16
|
+
"rules": {
|
|
17
|
+
"values": [
|
|
18
|
+
{
|
|
19
|
+
"conditions": {
|
|
20
|
+
"options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict" },
|
|
21
|
+
"conditions": [
|
|
22
|
+
{
|
|
23
|
+
"leftValue": "={{ $json.amount }}",
|
|
24
|
+
"rightValue": 100,
|
|
25
|
+
"operator": { "type": "number", "operation": "lt" }
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"combinator": "and"
|
|
29
|
+
},
|
|
30
|
+
"renameOutput": true,
|
|
31
|
+
"outputKey": "Auto-Approve"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"conditions": {
|
|
35
|
+
"options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict" },
|
|
36
|
+
"conditions": [
|
|
37
|
+
{
|
|
38
|
+
"leftValue": "={{ $json.amount }}",
|
|
39
|
+
"rightValue": 100,
|
|
40
|
+
"operator": { "type": "number", "operation": "gte" }
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"leftValue": "={{ $json.amount }}",
|
|
44
|
+
"rightValue": 1000,
|
|
45
|
+
"operator": { "type": "number", "operation": "lte" }
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"combinator": "and"
|
|
49
|
+
},
|
|
50
|
+
"renameOutput": true,
|
|
51
|
+
"outputKey": "Manager Review"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"conditions": {
|
|
55
|
+
"options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict" },
|
|
56
|
+
"conditions": [
|
|
57
|
+
{
|
|
58
|
+
"leftValue": "={{ $json.amount }}",
|
|
59
|
+
"rightValue": 1000,
|
|
60
|
+
"operator": { "type": "number", "operation": "gt" }
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"combinator": "and"
|
|
64
|
+
},
|
|
65
|
+
"renameOutput": true,
|
|
66
|
+
"outputKey": "Finance Review"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
#### Example 2: Route by Status String
|
|
73
|
+
Current Parameters: { "mode": "rules" }
|
|
74
|
+
Requested Changes: Route by order status - pending, processing, completed
|
|
75
|
+
|
|
76
|
+
Expected Output:
|
|
77
|
+
{
|
|
78
|
+
"mode": "rules",
|
|
79
|
+
"rules": {
|
|
80
|
+
"values": [
|
|
81
|
+
{
|
|
82
|
+
"conditions": {
|
|
83
|
+
"options": { "caseSensitive": false, "leftValue": "", "typeValidation": "loose" },
|
|
84
|
+
"conditions": [
|
|
85
|
+
{
|
|
86
|
+
"leftValue": "={{ $json.status }}",
|
|
87
|
+
"rightValue": "pending",
|
|
88
|
+
"operator": { "type": "string", "operation": "equals" }
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"combinator": "and"
|
|
92
|
+
},
|
|
93
|
+
"renameOutput": true,
|
|
94
|
+
"outputKey": "Pending"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"conditions": {
|
|
98
|
+
"options": { "caseSensitive": false, "leftValue": "", "typeValidation": "loose" },
|
|
99
|
+
"conditions": [
|
|
100
|
+
{
|
|
101
|
+
"leftValue": "={{ $json.status }}",
|
|
102
|
+
"rightValue": "processing",
|
|
103
|
+
"operator": { "type": "string", "operation": "equals" }
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"combinator": "and"
|
|
107
|
+
},
|
|
108
|
+
"renameOutput": true,
|
|
109
|
+
"outputKey": "Processing"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"conditions": {
|
|
113
|
+
"options": { "caseSensitive": false, "leftValue": "", "typeValidation": "loose" },
|
|
114
|
+
"conditions": [
|
|
115
|
+
{
|
|
116
|
+
"leftValue": "={{ $json.status }}",
|
|
117
|
+
"rightValue": "completed",
|
|
118
|
+
"operator": { "type": "string", "operation": "equals" }
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"combinator": "and"
|
|
122
|
+
},
|
|
123
|
+
"renameOutput": true,
|
|
124
|
+
"outputKey": "Completed"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
`,
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=switch-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-node.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/examples/switch-node.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAqB;IACrD,QAAQ,EAAE,CAAC,uBAAuB,CAAC;IACnC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2HT;CACA,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TOOL_NODE_EXAMPLES = void 0;
|
|
4
|
-
exports.TOOL_NODE_EXAMPLES =
|
|
4
|
+
exports.TOOL_NODE_EXAMPLES = {
|
|
5
|
+
patterns: ['*Tool'],
|
|
6
|
+
content: `
|
|
5
7
|
### Tool Node Examples
|
|
6
8
|
|
|
7
9
|
#### Example 1: Gmail Tool - Send Email with AI
|
|
@@ -67,5 +69,6 @@ Expected Output:
|
|
|
67
69
|
{
|
|
68
70
|
"sendTo": "=admin@company.com, {{ $fromAI('additional_recipients') }}",
|
|
69
71
|
"subject": "={{ $fromAI('subject') }} - Automated Report"
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
+
}`,
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=tool-nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-nodes.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/examples/tool-nodes.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAqB;IACnD,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkER;CACD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GMAIL_GUIDE = void 0;
|
|
4
|
+
exports.GMAIL_GUIDE = {
|
|
5
|
+
patterns: ['n8n-nodes-base.gmail'],
|
|
6
|
+
content: `
|
|
7
|
+
### Gmail Node Updates
|
|
8
|
+
|
|
9
|
+
#### Common Parameters
|
|
10
|
+
- **resource**: message, draft, label, thread
|
|
11
|
+
- **operation**: send, get, list, etc.
|
|
12
|
+
- **to**: Recipient email address
|
|
13
|
+
- **subject**: Email subject line
|
|
14
|
+
- **message**: Email body/content
|
|
15
|
+
- **authentication**: OAuth2 or Service Account
|
|
16
|
+
|
|
17
|
+
#### Common Patterns
|
|
18
|
+
1. **Sending Email**:
|
|
19
|
+
- Set resource to "message"
|
|
20
|
+
- Set operation to "send"
|
|
21
|
+
- Configure to, subject, and message fields
|
|
22
|
+
|
|
23
|
+
2. **Using Expressions**:
|
|
24
|
+
- Can use expressions: "={{ $('Previous Node').item.json.email }}"
|
|
25
|
+
- Can reference previous node data for dynamic values
|
|
26
|
+
`,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=gmail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/gmail.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAkB;IACzC,QAAQ,EAAE,CAAC,sBAAsB,CAAC;IAClC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;CAoBT;CACA,CAAC"}
|
package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/http-request.js
RENAMED
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HTTP_REQUEST_GUIDE = void 0;
|
|
4
|
-
exports.HTTP_REQUEST_GUIDE =
|
|
4
|
+
exports.HTTP_REQUEST_GUIDE = {
|
|
5
|
+
patterns: ['n8n-nodes-base.httpRequest', 'n8n-nodes-base.webhook'],
|
|
6
|
+
content: `
|
|
5
7
|
### HTTP Request Node Updates
|
|
6
8
|
|
|
9
|
+
#### IMPORTANT - Credential Security
|
|
10
|
+
|
|
11
|
+
**NEVER hardcode credentials** (API keys, tokens, passwords, secrets) in the HTTP Request node parameters.
|
|
12
|
+
Instead, ALWAYS use n8n's built-in credential system:
|
|
13
|
+
|
|
14
|
+
1. Set \`authentication\` to \`"genericCredentialType"\`
|
|
15
|
+
2. Set \`genericAuthType\` to the appropriate credential type:
|
|
16
|
+
- \`"httpHeaderAuth"\` - For API keys sent in headers (X-API-Key, Authorization, etc.)
|
|
17
|
+
- \`"httpBearerAuth"\` - For Bearer token authentication
|
|
18
|
+
- \`"httpQueryAuth"\` - For API keys sent as query parameters
|
|
19
|
+
- \`"httpBasicAuth"\` - For username/password authentication
|
|
20
|
+
- \`"oAuth2Api"\` - For OAuth 2.0 authentication
|
|
21
|
+
|
|
22
|
+
**DO NOT:**
|
|
23
|
+
- Put API keys or tokens directly in header values
|
|
24
|
+
- Store credentials in Set nodes and reference them with expressions
|
|
25
|
+
- Hardcode Bearer tokens in Authorization headers
|
|
26
|
+
|
|
27
|
+
**DO:**
|
|
28
|
+
- Use the authentication parameter with the appropriate credential type
|
|
29
|
+
- Let users configure their credentials securely in n8n's credential manager
|
|
30
|
+
|
|
7
31
|
#### Common Parameters
|
|
8
32
|
- **url**: The endpoint URL (can use expressions)
|
|
9
33
|
- **method**: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
|
|
@@ -65,7 +89,7 @@ exports.HTTP_REQUEST_GUIDE = `
|
|
|
65
89
|
4. **Query Parameters**:
|
|
66
90
|
- Can be part of URL or set in options.queryParameters
|
|
67
91
|
|
|
68
|
-
#### Example: HTTP Request with
|
|
92
|
+
#### Example: HTTP Request with Authentication and Body
|
|
69
93
|
Current Parameters:
|
|
70
94
|
{
|
|
71
95
|
"method": "GET",
|
|
@@ -74,20 +98,18 @@ Current Parameters:
|
|
|
74
98
|
|
|
75
99
|
Requested Changes:
|
|
76
100
|
- Change to POST method
|
|
77
|
-
- Add API key
|
|
101
|
+
- Add API key authentication (using n8n credentials)
|
|
78
102
|
- Add JSON body with user ID and status
|
|
79
103
|
|
|
80
104
|
Expected Output:
|
|
81
105
|
{
|
|
82
106
|
"method": "POST",
|
|
83
107
|
"url": "https://api.example.com/data",
|
|
108
|
+
"authentication": "genericCredentialType",
|
|
109
|
+
"genericAuthType": "httpHeaderAuth",
|
|
84
110
|
"sendHeaders": true,
|
|
85
111
|
"headerParameters": {
|
|
86
112
|
"parameters": [
|
|
87
|
-
{
|
|
88
|
-
"name": "X-API-Key",
|
|
89
|
-
"value": "={{ $credentials.apiKey }}"
|
|
90
|
-
},
|
|
91
113
|
{
|
|
92
114
|
"name": "Content-Type",
|
|
93
115
|
"value": "application/json"
|
|
@@ -109,5 +131,9 @@ Expected Output:
|
|
|
109
131
|
]
|
|
110
132
|
},
|
|
111
133
|
"options": {}
|
|
112
|
-
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
Note: The API key is handled by the httpHeaderAuth credential, NOT hardcoded in the header parameters.
|
|
137
|
+
The user will configure their API key securely in n8n's credential manager.`,
|
|
138
|
+
};
|
|
113
139
|
//# sourceMappingURL=http-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/http-request.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAkB;IAChD,QAAQ,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAmIkE;CAC3E,CAAC"}
|
package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/if-node.js
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IF_NODE_GUIDE = void 0;
|
|
4
|
-
exports.IF_NODE_GUIDE =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
The IF node uses a complex filter structure for conditional logic. Understanding the correct operator format is crucial.
|
|
4
|
+
exports.IF_NODE_GUIDE = {
|
|
5
|
+
patterns: ['n8n-nodes-base.if'],
|
|
6
|
+
content: `
|
|
7
|
+
### The IF node uses a complex filter structure for conditional logic. Understanding the correct operator format is crucial.
|
|
8
8
|
|
|
9
9
|
#### IF Node Structure
|
|
10
10
|
\`\`\`json
|
|
@@ -154,5 +154,6 @@ The IF node uses a complex filter structure for conditional logic. Understanding
|
|
|
154
154
|
2. **Expression values**: Both leftValue and rightValue can be expressions using \`={{ ... }}\` syntax
|
|
155
155
|
3. **Type matching**: The operator type must match the data type you're comparing
|
|
156
156
|
4. **Case sensitivity**: Only applies to string comparisons when caseSensitive is true in options
|
|
157
|
-
5. **Type validation**: "loose" allows type coercion, "strict" requires exact type matches
|
|
157
|
+
5. **Type validation**: "loose" allows type coercion, "strict" requires exact type matches`,
|
|
158
|
+
};
|
|
158
159
|
//# sourceMappingURL=if-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"if-node.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/if-node.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAkB;IAC3C,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAuJiF;CAC1F,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SET_NODE_GUIDE } from './set-node';
|
|
2
|
+
export { IF_NODE_GUIDE } from './if-node';
|
|
3
|
+
export { SWITCH_NODE_GUIDE } from './switch-node';
|
|
4
|
+
export { HTTP_REQUEST_GUIDE } from './http-request';
|
|
5
|
+
export { TOOL_NODES_GUIDE } from './tool-nodes';
|
|
6
|
+
export { GMAIL_GUIDE } from './gmail';
|
|
7
|
+
export { RESOURCE_LOCATOR_GUIDE } from './resource-locator';
|
|
8
|
+
export { SYSTEM_MESSAGE_GUIDE } from './system-message';
|
|
9
|
+
export { TEXT_FIELDS_GUIDE } from './text-fields';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TEXT_FIELDS_GUIDE = exports.SYSTEM_MESSAGE_GUIDE = exports.RESOURCE_LOCATOR_GUIDE = exports.GMAIL_GUIDE = exports.TOOL_NODES_GUIDE = exports.HTTP_REQUEST_GUIDE = exports.SWITCH_NODE_GUIDE = exports.IF_NODE_GUIDE = exports.SET_NODE_GUIDE = void 0;
|
|
4
|
+
var set_node_1 = require("./set-node");
|
|
5
|
+
Object.defineProperty(exports, "SET_NODE_GUIDE", { enumerable: true, get: function () { return set_node_1.SET_NODE_GUIDE; } });
|
|
6
|
+
var if_node_1 = require("./if-node");
|
|
7
|
+
Object.defineProperty(exports, "IF_NODE_GUIDE", { enumerable: true, get: function () { return if_node_1.IF_NODE_GUIDE; } });
|
|
8
|
+
var switch_node_1 = require("./switch-node");
|
|
9
|
+
Object.defineProperty(exports, "SWITCH_NODE_GUIDE", { enumerable: true, get: function () { return switch_node_1.SWITCH_NODE_GUIDE; } });
|
|
10
|
+
var http_request_1 = require("./http-request");
|
|
11
|
+
Object.defineProperty(exports, "HTTP_REQUEST_GUIDE", { enumerable: true, get: function () { return http_request_1.HTTP_REQUEST_GUIDE; } });
|
|
12
|
+
var tool_nodes_1 = require("./tool-nodes");
|
|
13
|
+
Object.defineProperty(exports, "TOOL_NODES_GUIDE", { enumerable: true, get: function () { return tool_nodes_1.TOOL_NODES_GUIDE; } });
|
|
14
|
+
var gmail_1 = require("./gmail");
|
|
15
|
+
Object.defineProperty(exports, "GMAIL_GUIDE", { enumerable: true, get: function () { return gmail_1.GMAIL_GUIDE; } });
|
|
16
|
+
var resource_locator_1 = require("./resource-locator");
|
|
17
|
+
Object.defineProperty(exports, "RESOURCE_LOCATOR_GUIDE", { enumerable: true, get: function () { return resource_locator_1.RESOURCE_LOCATOR_GUIDE; } });
|
|
18
|
+
var system_message_1 = require("./system-message");
|
|
19
|
+
Object.defineProperty(exports, "SYSTEM_MESSAGE_GUIDE", { enumerable: true, get: function () { return system_message_1.SYSTEM_MESSAGE_GUIDE; } });
|
|
20
|
+
var text_fields_1 = require("./text-fields");
|
|
21
|
+
Object.defineProperty(exports, "TEXT_FIELDS_GUIDE", { enumerable: true, get: function () { return text_fields_1.TEXT_FIELDS_GUIDE; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/index.ts"],"names":[],"mappings":";;;AACA,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AACzB,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAGpB,uDAA4D;AAAnD,0HAAA,sBAAsB,OAAA;AAC/B,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RESOURCE_LOCATOR_GUIDE = void 0;
|
|
4
|
-
exports.RESOURCE_LOCATOR_GUIDE =
|
|
4
|
+
exports.RESOURCE_LOCATOR_GUIDE = {
|
|
5
|
+
patterns: ['*'],
|
|
6
|
+
condition: (ctx) => ctx.hasResourceLocatorParams === true,
|
|
7
|
+
content: `
|
|
5
8
|
## IMPORTANT: ResourceLocator Parameter Handling
|
|
6
9
|
|
|
7
10
|
ResourceLocator parameters are special fields used for selecting resources like Slack channels, Google Drive files, Notion pages, etc. They MUST have a specific structure:
|
|
@@ -91,5 +94,6 @@ Output:
|
|
|
91
94
|
"value": "={{ $('Previous Node').item.json.channelId }}"
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
|
-
|
|
97
|
+
\`\`\``,
|
|
98
|
+
};
|
|
95
99
|
//# sourceMappingURL=resource-locator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-locator.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/resource-locator.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAkB;IACpD,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,KAAK,IAAI;IACzD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0FH;CACN,CAAC"}
|
package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/set-node.js
RENAMED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SET_NODE_GUIDE = void 0;
|
|
4
|
-
exports.SET_NODE_GUIDE =
|
|
4
|
+
exports.SET_NODE_GUIDE = {
|
|
5
|
+
patterns: ['n8n-nodes-base.set'],
|
|
6
|
+
content: `
|
|
5
7
|
### Set Node Updates - Comprehensive Type Handling Guide
|
|
6
8
|
|
|
7
9
|
The Set node uses assignments to create or modify data fields. Each assignment has a specific type that determines how the value is formatted and processed.
|
|
@@ -87,5 +89,6 @@ The Set node uses assignments to create or modify data fields. Each assignment h
|
|
|
87
89
|
- WRONG: Using type-specific field names: \`{ "booleanValue": true, "type": "boolean" }\`
|
|
88
90
|
- CORRECT: \`{ "value": true, "type": "boolean" }\`
|
|
89
91
|
- WRONG: Setting array without stringification: \`{ "value": [1,2,3], "type": "array" }\`
|
|
90
|
-
- CORRECT: \`{ "value": "[1,2,3]", "type": "array" }
|
|
92
|
+
- CORRECT: \`{ "value": "[1,2,3]", "type": "array" }\``,
|
|
93
|
+
};
|
|
91
94
|
//# sourceMappingURL=set-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-node.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/set-node.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAkB;IAC5C,QAAQ,EAAE,CAAC,oBAAoB,CAAC;IAChC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAsFgD;CACzD,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SWITCH_NODE_GUIDE = void 0;
|
|
4
|
+
exports.SWITCH_NODE_GUIDE = {
|
|
5
|
+
patterns: ['n8n-nodes-base.switch'],
|
|
6
|
+
content: `
|
|
7
|
+
### Switch Node Configuration Guide
|
|
8
|
+
|
|
9
|
+
The Switch node routes items to different outputs based on conditions. Uses the same filter structure as IF node but for multi-way branching.
|
|
10
|
+
|
|
11
|
+
#### Switch Node Structure (mode: 'rules')
|
|
12
|
+
\`\`\`json
|
|
13
|
+
{
|
|
14
|
+
"mode": "rules",
|
|
15
|
+
"rules": {
|
|
16
|
+
"values": [
|
|
17
|
+
{
|
|
18
|
+
"conditions": {
|
|
19
|
+
"options": {
|
|
20
|
+
"caseSensitive": true,
|
|
21
|
+
"leftValue": "",
|
|
22
|
+
"typeValidation": "strict"
|
|
23
|
+
},
|
|
24
|
+
"conditions": [
|
|
25
|
+
{
|
|
26
|
+
"leftValue": "={{ $json.amount }}",
|
|
27
|
+
"rightValue": 100,
|
|
28
|
+
"operator": {
|
|
29
|
+
"type": "number",
|
|
30
|
+
"operation": "lt"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"combinator": "and"
|
|
35
|
+
},
|
|
36
|
+
"renameOutput": true,
|
|
37
|
+
"outputKey": "Under $100"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
#### Key Points:
|
|
45
|
+
1. Each entry in rules.values[] creates ONE output
|
|
46
|
+
2. Conditions use the same filter structure as IF node
|
|
47
|
+
3. Multiple conditions per rule are combined with combinator ("and" or "or")
|
|
48
|
+
4. Use renameOutput: true + outputKey to label outputs descriptively
|
|
49
|
+
|
|
50
|
+
#### Numeric Operators
|
|
51
|
+
- lt: Less than
|
|
52
|
+
- gt: Greater than
|
|
53
|
+
- lte: Less than or equal
|
|
54
|
+
- gte: Greater than or equal
|
|
55
|
+
- equals: Equal to
|
|
56
|
+
|
|
57
|
+
#### String Operators
|
|
58
|
+
- equals: Exact match
|
|
59
|
+
- contains: Contains substring
|
|
60
|
+
- startsWith: Starts with
|
|
61
|
+
- endsWith: Ends with
|
|
62
|
+
|
|
63
|
+
#### Common Patterns:
|
|
64
|
+
|
|
65
|
+
**Numeric Range Routing** (for ranges like $100-$1000):
|
|
66
|
+
Use two conditions with combinator: "and":
|
|
67
|
+
- First condition: gte (greater than or equal to lower bound)
|
|
68
|
+
- Second condition: lte (less than or equal to upper bound)
|
|
69
|
+
|
|
70
|
+
**String-Based Routing** (status/type values):
|
|
71
|
+
- Use type: "string" with operation: "equals"
|
|
72
|
+
- Set caseSensitive: false in options for case-insensitive matching
|
|
73
|
+
`,
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=switch-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-node.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/switch-node.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAkB;IAC/C,QAAQ,EAAE,CAAC,uBAAuB,CAAC;IACnC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmET;CACA,CAAC"}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SYSTEM_MESSAGE_GUIDE = void 0;
|
|
4
|
-
|
|
4
|
+
function hasSystemMessageParameters(nodeDefinition) {
|
|
5
|
+
if (!nodeDefinition.properties)
|
|
6
|
+
return false;
|
|
7
|
+
return nodeDefinition.properties.some((prop) => {
|
|
8
|
+
if (prop.name === 'messages' &&
|
|
9
|
+
(prop.type === 'fixedCollection' || prop.type === 'collection')) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (prop.name === 'options' && prop.type === 'collection' && Array.isArray(prop.options)) {
|
|
13
|
+
return prop.options.some((opt) => typeof opt === 'object' &&
|
|
14
|
+
opt !== null &&
|
|
15
|
+
'name' in opt &&
|
|
16
|
+
(opt.name === 'systemMessage' || opt.name === 'system'));
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.SYSTEM_MESSAGE_GUIDE = {
|
|
22
|
+
patterns: ['*'],
|
|
23
|
+
condition: (ctx) => hasSystemMessageParameters(ctx.nodeDefinition),
|
|
24
|
+
content: `
|
|
5
25
|
## CRITICAL: System Message vs User Prompt Separation
|
|
6
26
|
|
|
7
27
|
AI nodes (AI Agent, LLM Chain, Anthropic, OpenAI, etc.) have TWO distinct prompt fields that MUST be used correctly:
|
|
@@ -33,12 +53,12 @@ Use for DYNAMIC, EXECUTION-SPECIFIC content:
|
|
|
33
53
|
|
|
34
54
|
### Common Mistakes to Avoid
|
|
35
55
|
|
|
36
|
-
|
|
56
|
+
**WRONG - Everything in text field:**
|
|
37
57
|
{
|
|
38
58
|
"text": "=You are an orchestrator agent that coordinates specialized agents. Your task is to: 1) Call Research Agent Tool, 2) Call Fact-Check Agent Tool, 3) Generate report. Research topic: {{ $json.researchTopic }}"
|
|
39
59
|
}
|
|
40
60
|
|
|
41
|
-
|
|
61
|
+
**CORRECT - Properly separated:**
|
|
42
62
|
{
|
|
43
63
|
"text": "=The research topic is: {{ $json.researchTopic }}",
|
|
44
64
|
"options": {
|
|
@@ -71,5 +91,6 @@ Instructions: [
|
|
|
71
91
|
- **Maintainability**: Easy to update AI behavior without touching data flow
|
|
72
92
|
- **Best Practice**: Follows standard AI prompt engineering patterns
|
|
73
93
|
- **Clarity**: Separates "what the AI model is" from "what data to process"
|
|
74
|
-
|
|
94
|
+
`,
|
|
95
|
+
};
|
|
75
96
|
//# sourceMappingURL=system-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-message.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/system-message.ts"],"names":[],"mappings":";;;AAMA,SAAS,0BAA0B,CAAC,cAEnC;IACA,IAAI,CAAC,cAAc,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE7C,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAE9C,IACC,IAAI,CAAC,IAAI,KAAK,UAAU;YACxB,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,EAC9D,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAGD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1F,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE,CACP,OAAO,GAAG,KAAK,QAAQ;gBACvB,GAAG,KAAK,IAAI;gBACZ,MAAM,IAAI,GAAG;gBACb,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CACxD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,oBAAoB,GAAkB;IAClD,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC;IAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsET;CACA,CAAC"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TEXT_FIELDS_GUIDE = void 0;
|
|
4
|
-
|
|
4
|
+
function hasTextFields(nodeDefinition) {
|
|
5
|
+
if (!nodeDefinition.properties)
|
|
6
|
+
return false;
|
|
7
|
+
return nodeDefinition.properties.some((prop) => prop.type === 'string' && prop.typeOptions?.multipleValues !== true);
|
|
8
|
+
}
|
|
9
|
+
exports.TEXT_FIELDS_GUIDE = {
|
|
10
|
+
patterns: ['*'],
|
|
11
|
+
condition: (ctx) => hasTextFields(ctx.nodeDefinition),
|
|
12
|
+
content: `
|
|
5
13
|
## Text Field Expression Formatting
|
|
6
14
|
|
|
7
15
|
### PREFERRED METHOD: Embedding expressions directly within text
|
|
@@ -18,5 +26,6 @@ exports.TEXT_FIELDS_GUIDE = `
|
|
|
18
26
|
- Use the embedded expression format when mixing static text with dynamic values
|
|
19
27
|
- The entire string must start with = when using expressions
|
|
20
28
|
- Expressions within text use single curly braces {{ }}
|
|
21
|
-
- The outer expression wrapper uses double curly braces ={{ }}
|
|
29
|
+
- The outer expression wrapper uses double curly braces ={{ }}`,
|
|
30
|
+
};
|
|
22
31
|
//# sourceMappingURL=text-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-fields.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/text-fields.ts"],"names":[],"mappings":";;;AAKA,SAAS,aAAa,CAAC,cAEtB;IACA,IAAI,CAAC,cAAc,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE7C,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAC7E,CAAC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAkB;IAC/C,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC;IACrD,OAAO,EAAE;;;;;;;;;;;;;;;;;+DAiBqD;CAC9D,CAAC"}
|