@n8n/workflow-sdk 0.9.0 → 0.10.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.
Files changed (183) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/generate-types/generate-types.js +1 -1
  3. package/dist/generate-types/generate-types.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +4 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/prompts/best-practices/guides/chatbot.d.ts +7 -0
  8. package/dist/prompts/best-practices/guides/chatbot.js +120 -0
  9. package/dist/prompts/best-practices/guides/chatbot.js.map +1 -0
  10. package/dist/prompts/best-practices/guides/content-generation.d.ts +7 -0
  11. package/dist/prompts/best-practices/guides/content-generation.js +117 -0
  12. package/dist/prompts/best-practices/guides/content-generation.js.map +1 -0
  13. package/dist/prompts/best-practices/guides/data-analysis.d.ts +7 -0
  14. package/dist/prompts/best-practices/guides/data-analysis.js +369 -0
  15. package/dist/prompts/best-practices/guides/data-analysis.js.map +1 -0
  16. package/dist/prompts/best-practices/guides/data-extraction.d.ts +7 -0
  17. package/dist/prompts/best-practices/guides/data-extraction.js +124 -0
  18. package/dist/prompts/best-practices/guides/data-extraction.js.map +1 -0
  19. package/dist/prompts/best-practices/guides/data-persistence.d.ts +7 -0
  20. package/dist/prompts/best-practices/guides/data-persistence.js +199 -0
  21. package/dist/prompts/best-practices/guides/data-persistence.js.map +1 -0
  22. package/dist/prompts/best-practices/guides/data-transformation.d.ts +7 -0
  23. package/dist/prompts/best-practices/guides/data-transformation.js +148 -0
  24. package/dist/prompts/best-practices/guides/data-transformation.js.map +1 -0
  25. package/dist/prompts/best-practices/guides/document-processing.d.ts +7 -0
  26. package/dist/prompts/best-practices/guides/document-processing.js +334 -0
  27. package/dist/prompts/best-practices/guides/document-processing.js.map +1 -0
  28. package/dist/prompts/best-practices/guides/enrichment.d.ts +7 -0
  29. package/dist/prompts/best-practices/guides/enrichment.js +273 -0
  30. package/dist/prompts/best-practices/guides/enrichment.js.map +1 -0
  31. package/dist/prompts/best-practices/guides/form-input.d.ts +7 -0
  32. package/dist/prompts/best-practices/guides/form-input.js +175 -0
  33. package/dist/prompts/best-practices/guides/form-input.js.map +1 -0
  34. package/dist/prompts/best-practices/guides/human-in-the-loop.d.ts +7 -0
  35. package/dist/prompts/best-practices/guides/human-in-the-loop.js +270 -0
  36. package/dist/prompts/best-practices/guides/human-in-the-loop.js.map +1 -0
  37. package/dist/prompts/best-practices/guides/knowledge-base.d.ts +7 -0
  38. package/dist/prompts/best-practices/guides/knowledge-base.js +270 -0
  39. package/dist/prompts/best-practices/guides/knowledge-base.js.map +1 -0
  40. package/dist/prompts/best-practices/guides/monitoring.d.ts +7 -0
  41. package/dist/prompts/best-practices/guides/monitoring.js +173 -0
  42. package/dist/prompts/best-practices/guides/monitoring.js.map +1 -0
  43. package/dist/prompts/best-practices/guides/notification.d.ts +7 -0
  44. package/dist/prompts/best-practices/guides/notification.js +137 -0
  45. package/dist/prompts/best-practices/guides/notification.js.map +1 -0
  46. package/dist/prompts/best-practices/guides/scheduling.d.ts +7 -0
  47. package/dist/prompts/best-practices/guides/scheduling.js +154 -0
  48. package/dist/prompts/best-practices/guides/scheduling.js.map +1 -0
  49. package/dist/prompts/best-practices/guides/scraping-and-research.d.ts +7 -0
  50. package/dist/prompts/best-practices/guides/scraping-and-research.js +160 -0
  51. package/dist/prompts/best-practices/guides/scraping-and-research.js.map +1 -0
  52. package/dist/prompts/best-practices/guides/triage.d.ts +7 -0
  53. package/dist/prompts/best-practices/guides/triage.js +151 -0
  54. package/dist/prompts/best-practices/guides/triage.js.map +1 -0
  55. package/dist/prompts/best-practices/index.d.ts +20 -0
  56. package/dist/prompts/best-practices/index.js +69 -0
  57. package/dist/prompts/best-practices/index.js.map +1 -0
  58. package/dist/prompts/best-practices/types.d.ts +25 -0
  59. package/dist/prompts/best-practices/types.js +40 -0
  60. package/dist/prompts/best-practices/types.js.map +1 -0
  61. package/dist/prompts/index.d.ts +3 -0
  62. package/dist/prompts/index.js +25 -0
  63. package/dist/prompts/index.js.map +1 -0
  64. package/dist/prompts/node-guidance/index.d.ts +3 -0
  65. package/dist/prompts/node-guidance/index.js +20 -0
  66. package/dist/prompts/node-guidance/index.js.map +1 -0
  67. package/dist/prompts/node-guidance/node-recommendations/audio-generation.d.ts +2 -0
  68. package/dist/prompts/node-guidance/node-recommendations/audio-generation.js +18 -0
  69. package/dist/prompts/node-guidance/node-recommendations/audio-generation.js.map +1 -0
  70. package/dist/prompts/node-guidance/node-recommendations/format-recommendation.d.ts +2 -0
  71. package/dist/prompts/node-guidance/node-recommendations/format-recommendation.js +27 -0
  72. package/dist/prompts/node-guidance/node-recommendations/format-recommendation.js.map +1 -0
  73. package/dist/prompts/node-guidance/node-recommendations/image-generation.d.ts +2 -0
  74. package/dist/prompts/node-guidance/node-recommendations/image-generation.js +18 -0
  75. package/dist/prompts/node-guidance/node-recommendations/image-generation.js.map +1 -0
  76. package/dist/prompts/node-guidance/node-recommendations/index.d.ts +6 -0
  77. package/dist/prompts/node-guidance/node-recommendations/index.js +17 -0
  78. package/dist/prompts/node-guidance/node-recommendations/index.js.map +1 -0
  79. package/dist/prompts/node-guidance/node-recommendations/text-manipulation.d.ts +2 -0
  80. package/dist/prompts/node-guidance/node-recommendations/text-manipulation.js +27 -0
  81. package/dist/prompts/node-guidance/node-recommendations/text-manipulation.js.map +1 -0
  82. package/dist/prompts/node-guidance/node-recommendations/types.d.ts +26 -0
  83. package/dist/prompts/node-guidance/node-recommendations/types.js +16 -0
  84. package/dist/prompts/node-guidance/node-recommendations/types.js.map +1 -0
  85. package/dist/prompts/node-guidance/node-recommendations/video-generation.d.ts +2 -0
  86. package/dist/prompts/node-guidance/node-recommendations/video-generation.js +15 -0
  87. package/dist/prompts/node-guidance/node-recommendations/video-generation.js.map +1 -0
  88. package/dist/prompts/node-guidance/node-tips/index.d.ts +3 -0
  89. package/dist/prompts/node-guidance/node-tips/index.js +8 -0
  90. package/dist/prompts/node-guidance/node-tips/index.js.map +1 -0
  91. package/dist/prompts/node-guidance/node-tips/structured-output-parser.d.ts +2 -0
  92. package/dist/prompts/node-guidance/node-tips/structured-output-parser.js +35 -0
  93. package/dist/prompts/node-guidance/node-tips/structured-output-parser.js.map +1 -0
  94. package/dist/prompts/node-guidance/node-tips/types.d.ts +7 -0
  95. package/dist/prompts/node-guidance/node-tips/types.js +3 -0
  96. package/dist/prompts/node-guidance/node-tips/types.js.map +1 -0
  97. package/dist/prompts/node-guidance/node-tips/webhook.d.ts +2 -0
  98. package/dist/prompts/node-guidance/node-tips/webhook.js +38 -0
  99. package/dist/prompts/node-guidance/node-tips/webhook.js.map +1 -0
  100. package/dist/prompts/node-guidance/parameter-guides/embedding-nodes.d.ts +2 -0
  101. package/dist/prompts/node-guidance/parameter-guides/embedding-nodes.js +70 -0
  102. package/dist/prompts/node-guidance/parameter-guides/embedding-nodes.js.map +1 -0
  103. package/dist/prompts/node-guidance/parameter-guides/gmail.d.ts +2 -0
  104. package/dist/prompts/node-guidance/parameter-guides/gmail.js +53 -0
  105. package/dist/prompts/node-guidance/parameter-guides/gmail.js.map +1 -0
  106. package/dist/prompts/node-guidance/parameter-guides/http-request.d.ts +2 -0
  107. package/dist/prompts/node-guidance/parameter-guides/http-request.js +139 -0
  108. package/dist/prompts/node-guidance/parameter-guides/http-request.js.map +1 -0
  109. package/dist/prompts/node-guidance/parameter-guides/if-node.d.ts +2 -0
  110. package/dist/prompts/node-guidance/parameter-guides/if-node.js +159 -0
  111. package/dist/prompts/node-guidance/parameter-guides/if-node.js.map +1 -0
  112. package/dist/prompts/node-guidance/parameter-guides/index.d.ts +12 -0
  113. package/dist/prompts/node-guidance/parameter-guides/index.js +26 -0
  114. package/dist/prompts/node-guidance/parameter-guides/index.js.map +1 -0
  115. package/dist/prompts/node-guidance/parameter-guides/predecessor-output.d.ts +2 -0
  116. package/dist/prompts/node-guidance/parameter-guides/predecessor-output.js +25 -0
  117. package/dist/prompts/node-guidance/parameter-guides/predecessor-output.js.map +1 -0
  118. package/dist/prompts/node-guidance/parameter-guides/resource-locator.d.ts +2 -0
  119. package/dist/prompts/node-guidance/parameter-guides/resource-locator.js +40 -0
  120. package/dist/prompts/node-guidance/parameter-guides/resource-locator.js.map +1 -0
  121. package/dist/prompts/node-guidance/parameter-guides/set-node.d.ts +2 -0
  122. package/dist/prompts/node-guidance/parameter-guides/set-node.js +94 -0
  123. package/dist/prompts/node-guidance/parameter-guides/set-node.js.map +1 -0
  124. package/dist/prompts/node-guidance/parameter-guides/switch-node.d.ts +2 -0
  125. package/dist/prompts/node-guidance/parameter-guides/switch-node.js +75 -0
  126. package/dist/prompts/node-guidance/parameter-guides/switch-node.js.map +1 -0
  127. package/dist/prompts/node-guidance/parameter-guides/system-message.d.ts +2 -0
  128. package/dist/prompts/node-guidance/parameter-guides/system-message.js +96 -0
  129. package/dist/prompts/node-guidance/parameter-guides/system-message.js.map +1 -0
  130. package/dist/prompts/node-guidance/parameter-guides/text-fields.d.ts +2 -0
  131. package/dist/prompts/node-guidance/parameter-guides/text-fields.js +31 -0
  132. package/dist/prompts/node-guidance/parameter-guides/text-fields.js.map +1 -0
  133. package/dist/prompts/node-guidance/parameter-guides/tool-nodes.d.ts +2 -0
  134. package/dist/prompts/node-guidance/parameter-guides/tool-nodes.js +76 -0
  135. package/dist/prompts/node-guidance/parameter-guides/tool-nodes.js.map +1 -0
  136. package/dist/prompts/node-guidance/parameter-guides/types.d.ts +18 -0
  137. package/dist/prompts/node-guidance/parameter-guides/types.js +3 -0
  138. package/dist/prompts/node-guidance/parameter-guides/types.js.map +1 -0
  139. package/dist/prompts/node-selection/ai-nodes.d.ts +2 -0
  140. package/dist/prompts/node-selection/ai-nodes.js +35 -0
  141. package/dist/prompts/node-selection/ai-nodes.js.map +1 -0
  142. package/dist/prompts/node-selection/connection-parameters.d.ts +1 -0
  143. package/dist/prompts/node-selection/connection-parameters.js +13 -0
  144. package/dist/prompts/node-selection/connection-parameters.js.map +1 -0
  145. package/dist/prompts/node-selection/index.d.ts +5 -0
  146. package/dist/prompts/node-selection/index.js +16 -0
  147. package/dist/prompts/node-selection/index.js.map +1 -0
  148. package/dist/prompts/node-selection/native-preference.d.ts +1 -0
  149. package/dist/prompts/node-selection/native-preference.js +18 -0
  150. package/dist/prompts/node-selection/native-preference.js.map +1 -0
  151. package/dist/prompts/node-selection/trigger-selection.d.ts +1 -0
  152. package/dist/prompts/node-selection/trigger-selection.js +23 -0
  153. package/dist/prompts/node-selection/trigger-selection.js.map +1 -0
  154. package/dist/prompts/node-selection/use-case-patterns.d.ts +2 -0
  155. package/dist/prompts/node-selection/use-case-patterns.js +58 -0
  156. package/dist/prompts/node-selection/use-case-patterns.js.map +1 -0
  157. package/dist/prompts/sdk-reference/additional-functions.d.ts +1 -0
  158. package/dist/prompts/sdk-reference/additional-functions.js +20 -0
  159. package/dist/prompts/sdk-reference/additional-functions.js.map +1 -0
  160. package/dist/prompts/sdk-reference/expressions.d.ts +1 -0
  161. package/dist/prompts/sdk-reference/expressions.js +34 -0
  162. package/dist/prompts/sdk-reference/expressions.js.map +1 -0
  163. package/dist/prompts/sdk-reference/index.d.ts +5 -0
  164. package/dist/prompts/sdk-reference/index.js +14 -0
  165. package/dist/prompts/sdk-reference/index.js.map +1 -0
  166. package/dist/prompts/sdk-reference/workflow-patterns-detailed.d.ts +1 -0
  167. package/dist/prompts/sdk-reference/workflow-patterns-detailed.js +398 -0
  168. package/dist/prompts/sdk-reference/workflow-patterns-detailed.js.map +1 -0
  169. package/dist/prompts/sdk-reference/workflow-patterns.d.ts +2 -0
  170. package/dist/prompts/sdk-reference/workflow-patterns.js +479 -0
  171. package/dist/prompts/sdk-reference/workflow-patterns.js.map +1 -0
  172. package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -0
  173. package/dist/prompts/sdk-reference/workflow-rules.js +23 -0
  174. package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -0
  175. package/dist/workflow-builder/plugins/defaults.js +1 -0
  176. package/dist/workflow-builder/plugins/defaults.js.map +1 -1
  177. package/dist/workflow-builder/plugins/validators/filter-node-validator.d.ts +2 -0
  178. package/dist/workflow-builder/plugins/validators/filter-node-validator.js +90 -0
  179. package/dist/workflow-builder/plugins/validators/filter-node-validator.js.map +1 -0
  180. package/dist/workflow-builder/plugins/validators/index.d.ts +1 -0
  181. package/dist/workflow-builder/plugins/validators/index.js +3 -1
  182. package/dist/workflow-builder/plugins/validators/index.js.map +1 -1
  183. package/package.json +50 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/prompts/best-practices/types.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAChC,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,qBAAqB,EAAE,uBAAuB;IAC9C,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;CAC7B,CAAC;AAIE,QAAA,oBAAoB,GAA0C;IAC1E,CAAC,yBAAiB,CAAC,UAAU,CAAC,EAAE,kDAAkD;IAClF,CAAC,yBAAiB,CAAC,OAAO,CAAC,EAC1B,uFAAuF;IACxF,CAAC,yBAAiB,CAAC,UAAU,CAAC,EAAE,qCAAqC;IACrE,CAAC,yBAAiB,CAAC,qBAAqB,CAAC,EACxC,sFAAsF;IACvF,CAAC,yBAAiB,CAAC,UAAU,CAAC,EAC7B,sFAAsF;IACvF,CAAC,yBAAiB,CAAC,UAAU,CAAC,EAC7B,iFAAiF;IAClF,CAAC,yBAAiB,CAAC,MAAM,CAAC,EAAE,gDAAgD;IAC5E,CAAC,yBAAiB,CAAC,kBAAkB,CAAC,EAAE,2CAA2C;IACnF,CAAC,yBAAiB,CAAC,mBAAmB,CAAC,EACtC,iEAAiE;IAClE,CAAC,yBAAiB,CAAC,eAAe,CAAC,EAClC,qEAAqE;IACtE,CAAC,yBAAiB,CAAC,aAAa,CAAC,EAChC,iEAAiE;IAClE,CAAC,yBAAiB,CAAC,mBAAmB,CAAC,EACtC,uEAAuE;IACxE,CAAC,yBAAiB,CAAC,gBAAgB,CAAC,EACnC,kHAAkH;IACnH,CAAC,yBAAiB,CAAC,YAAY,CAAC,EAC/B,kEAAkE;IACnE,CAAC,yBAAiB,CAAC,cAAc,CAAC,EACjC,8FAA8F;IAC/F,CAAC,yBAAiB,CAAC,iBAAiB,CAAC,EAAE,kDAAkD;CACzF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { EXPRESSION_REFERENCE, ADDITIONAL_FUNCTIONS, WORKFLOW_RULES, WORKFLOW_SDK_PATTERNS, } from './sdk-reference';
2
+ export * from './node-guidance';
3
+ export * from './best-practices';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.WORKFLOW_SDK_PATTERNS = exports.WORKFLOW_RULES = exports.ADDITIONAL_FUNCTIONS = exports.EXPRESSION_REFERENCE = void 0;
18
+ var sdk_reference_1 = require("./sdk-reference");
19
+ Object.defineProperty(exports, "EXPRESSION_REFERENCE", { enumerable: true, get: function () { return sdk_reference_1.EXPRESSION_REFERENCE; } });
20
+ Object.defineProperty(exports, "ADDITIONAL_FUNCTIONS", { enumerable: true, get: function () { return sdk_reference_1.ADDITIONAL_FUNCTIONS; } });
21
+ Object.defineProperty(exports, "WORKFLOW_RULES", { enumerable: true, get: function () { return sdk_reference_1.WORKFLOW_RULES; } });
22
+ Object.defineProperty(exports, "WORKFLOW_SDK_PATTERNS", { enumerable: true, get: function () { return sdk_reference_1.WORKFLOW_SDK_PATTERNS; } });
23
+ __exportStar(require("./node-guidance"), exports);
24
+ __exportStar(require("./best-practices"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAKyB;AAJxB,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AACpB,+GAAA,cAAc,OAAA;AACd,sHAAA,qBAAqB,OAAA;AAGtB,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,3 @@
1
+ export * from './parameter-guides';
2
+ export * from './node-tips';
3
+ export * from './node-recommendations';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./parameter-guides"), exports);
18
+ __exportStar(require("./node-tips"), exports);
19
+ __exportStar(require("./node-recommendations"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/node-guidance/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,8CAA4B;AAC5B,yDAAuC"}
@@ -0,0 +1,2 @@
1
+ import { type NodeRecommendationDocument } from './types';
2
+ export declare const audioGenerationRecommendation: NodeRecommendationDocument;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioGenerationRecommendation = void 0;
4
+ const types_1 = require("./types");
5
+ exports.audioGenerationRecommendation = {
6
+ category: types_1.RecommendationCategory.AUDIO_GENERATION,
7
+ version: '1.0.0',
8
+ recommendation: {
9
+ defaultNode: '@n8n/n8n-nodes-langchain.openAi',
10
+ operations: [
11
+ 'Generate Audio: Create speech from text using OpenAI TTS',
12
+ 'Transcribe a Recording: Convert audio to text using Whisper',
13
+ 'Translate a Recording: Transcribe and translate audio to English using Whisper',
14
+ ],
15
+ reasoning: "OpenAI provides comprehensive audio capabilities: TTS for speech generation, Whisper for transcription and translation. Prefer OpenAI when user doesn't specify a provider.",
16
+ },
17
+ };
18
+ //# sourceMappingURL=audio-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-generation.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/audio-generation.ts"],"names":[],"mappings":";;;AAAA,mCAAkF;AAErE,QAAA,6BAA6B,GAA+B;IACxE,QAAQ,EAAE,8BAAsB,CAAC,gBAAgB;IACjD,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE;QACf,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE;YACX,0DAA0D;YAC1D,6DAA6D;YAC7D,gFAAgF;SAChF;QACD,SAAS,EACR,6KAA6K;KAC9K;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NodeRecommendation } from './types';
2
+ export declare function formatRecommendation(rec: NodeRecommendation): string;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatRecommendation = formatRecommendation;
4
+ function wrapSection(tag, content) {
5
+ return `<${tag}>\n${content}\n</${tag}>`;
6
+ }
7
+ function formatRecommendation(rec) {
8
+ const sections = [
9
+ wrapSection('default_node', rec.defaultNode),
10
+ wrapSection('operations', rec.operations.map((op) => `- ${op}`).join('\n')),
11
+ wrapSection('reasoning', rec.reasoning),
12
+ ];
13
+ if (rec.connectedNodes && rec.connectedNodes.length > 0) {
14
+ const connectedContent = rec.connectedNodes
15
+ .map((cn) => {
16
+ const desc = cn.description ? ` - ${cn.description}` : '';
17
+ return `- ${cn.nodeType} (connection: ${cn.connectionType})${desc}`;
18
+ })
19
+ .join('\n');
20
+ sections.push(wrapSection('connected_nodes', connectedContent));
21
+ }
22
+ if (rec.note) {
23
+ sections.push(wrapSection('note', rec.note));
24
+ }
25
+ return sections.join('\n\n');
26
+ }
27
+ //# sourceMappingURL=format-recommendation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-recommendation.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/format-recommendation.ts"],"names":[],"mappings":";;AAMA,oDAsBC;AA1BD,SAAS,WAAW,CAAC,GAAW,EAAE,OAAe;IAChD,OAAO,IAAI,GAAG,MAAM,OAAO,OAAO,GAAG,GAAG,CAAC;AAC1C,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAuB;IAC3D,MAAM,QAAQ,GAAa;QAC1B,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;QAC5C,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC;KACvC,CAAC;IAEF,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,gBAAgB,GAAG,GAAG,CAAC,cAAc;aACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,EAAE,CAAC,QAAQ,iBAAiB,EAAE,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACrE,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type NodeRecommendationDocument } from './types';
2
+ export declare const imageGenerationRecommendation: NodeRecommendationDocument;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageGenerationRecommendation = void 0;
4
+ const types_1 = require("./types");
5
+ exports.imageGenerationRecommendation = {
6
+ category: types_1.RecommendationCategory.IMAGE_GENERATION,
7
+ version: '1.0.0',
8
+ recommendation: {
9
+ defaultNode: '@n8n/n8n-nodes-langchain.openAi',
10
+ operations: [
11
+ 'Analyze Image: Analyze and describe image content using GPT-4 Vision',
12
+ 'Generate an Image: Create images from text prompts using DALL-E',
13
+ 'Edit Image: Modify existing images using DALL-E',
14
+ ],
15
+ reasoning: "OpenAI provides comprehensive image capabilities: DALL-E for generation/editing, GPT-4 Vision for analysis. Prefer OpenAI when user doesn't specify a provider.",
16
+ },
17
+ };
18
+ //# sourceMappingURL=image-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-generation.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/image-generation.ts"],"names":[],"mappings":";;;AAAA,mCAAkF;AAErE,QAAA,6BAA6B,GAA+B;IACxE,QAAQ,EAAE,8BAAsB,CAAC,gBAAgB;IACjD,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE;QACf,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE;YACX,sEAAsE;YACtE,iEAAiE;YACjE,iDAAiD;SACjD;QACD,SAAS,EACR,iKAAiK;KAClK;CACD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { RecommendationCategory, RecommendationCategoryDescription, type RecommendationCategoryType, type NodeRecommendation, type NodeRecommendationDocument, type ConnectedNodeRecommendation, } from './types';
2
+ export { formatRecommendation } from './format-recommendation';
3
+ export { textManipulationRecommendation } from './text-manipulation';
4
+ export { imageGenerationRecommendation } from './image-generation';
5
+ export { videoGenerationRecommendation } from './video-generation';
6
+ export { audioGenerationRecommendation } from './audio-generation';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioGenerationRecommendation = exports.videoGenerationRecommendation = exports.imageGenerationRecommendation = exports.textManipulationRecommendation = exports.formatRecommendation = exports.RecommendationCategoryDescription = exports.RecommendationCategory = void 0;
4
+ var types_1 = require("./types");
5
+ Object.defineProperty(exports, "RecommendationCategory", { enumerable: true, get: function () { return types_1.RecommendationCategory; } });
6
+ Object.defineProperty(exports, "RecommendationCategoryDescription", { enumerable: true, get: function () { return types_1.RecommendationCategoryDescription; } });
7
+ var format_recommendation_1 = require("./format-recommendation");
8
+ Object.defineProperty(exports, "formatRecommendation", { enumerable: true, get: function () { return format_recommendation_1.formatRecommendation; } });
9
+ var text_manipulation_1 = require("./text-manipulation");
10
+ Object.defineProperty(exports, "textManipulationRecommendation", { enumerable: true, get: function () { return text_manipulation_1.textManipulationRecommendation; } });
11
+ var image_generation_1 = require("./image-generation");
12
+ Object.defineProperty(exports, "imageGenerationRecommendation", { enumerable: true, get: function () { return image_generation_1.imageGenerationRecommendation; } });
13
+ var video_generation_1 = require("./video-generation");
14
+ Object.defineProperty(exports, "videoGenerationRecommendation", { enumerable: true, get: function () { return video_generation_1.videoGenerationRecommendation; } });
15
+ var audio_generation_1 = require("./audio-generation");
16
+ Object.defineProperty(exports, "audioGenerationRecommendation", { enumerable: true, get: function () { return audio_generation_1.audioGenerationRecommendation; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/index.ts"],"names":[],"mappings":";;;AAAA,iCAOiB;AANhB,+GAAA,sBAAsB,OAAA;AACtB,0HAAA,iCAAiC,OAAA;AAMlC,iEAA+D;AAAtD,6HAAA,oBAAoB,OAAA;AAC7B,yDAAqE;AAA5D,mIAAA,8BAA8B,OAAA;AACvC,uDAAmE;AAA1D,iIAAA,6BAA6B,OAAA;AACtC,uDAAmE;AAA1D,iIAAA,6BAA6B,OAAA;AACtC,uDAAmE;AAA1D,iIAAA,6BAA6B,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { type NodeRecommendationDocument } from './types';
2
+ export declare const textManipulationRecommendation: NodeRecommendationDocument;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.textManipulationRecommendation = void 0;
4
+ const types_1 = require("./types");
5
+ exports.textManipulationRecommendation = {
6
+ category: types_1.RecommendationCategory.TEXT_MANIPULATION,
7
+ version: '1.0.0',
8
+ recommendation: {
9
+ defaultNode: '@n8n/n8n-nodes-langchain.agent',
10
+ operations: [
11
+ 'Text summarization',
12
+ 'Content analysis and extraction',
13
+ 'Classification and categorization',
14
+ 'Chat and conversational AI',
15
+ 'Content generation and writing',
16
+ ],
17
+ reasoning: 'The AI Agent node is the default for text manipulation tasks. New users receive free OpenAI credits. Do NOT use provider-specific nodes directly.',
18
+ connectedNodes: [
19
+ {
20
+ nodeType: '@n8n/n8n-nodes-langchain.lmChatOpenAi',
21
+ connectionType: 'ai_languageModel',
22
+ description: 'Required chat model for the AI Agent',
23
+ },
24
+ ],
25
+ },
26
+ };
27
+ //# sourceMappingURL=text-manipulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-manipulation.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/text-manipulation.ts"],"names":[],"mappings":";;;AAAA,mCAAkF;AAErE,QAAA,8BAA8B,GAA+B;IACzE,QAAQ,EAAE,8BAAsB,CAAC,iBAAiB;IAClD,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE;QACf,WAAW,EAAE,gCAAgC;QAC7C,UAAU,EAAE;YACX,oBAAoB;YACpB,iCAAiC;YACjC,mCAAmC;YACnC,4BAA4B;YAC5B,gCAAgC;SAChC;QACD,SAAS,EACR,mJAAmJ;QACpJ,cAAc,EAAE;YACf;gBACC,QAAQ,EAAE,uCAAuC;gBACjD,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,sCAAsC;aACnD;SACD;KACD;CACD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { NodeConnectionType } from 'n8n-workflow';
2
+ export declare const RecommendationCategory: {
3
+ readonly TEXT_MANIPULATION: "text_manipulation";
4
+ readonly IMAGE_GENERATION: "image_generation";
5
+ readonly VIDEO_GENERATION: "video_generation";
6
+ readonly AUDIO_GENERATION: "audio_generation";
7
+ };
8
+ export type RecommendationCategoryType = (typeof RecommendationCategory)[keyof typeof RecommendationCategory];
9
+ export declare const RecommendationCategoryDescription: Record<RecommendationCategoryType, string>;
10
+ export interface ConnectedNodeRecommendation {
11
+ nodeType: string;
12
+ connectionType: NodeConnectionType;
13
+ description?: string;
14
+ }
15
+ export interface NodeRecommendation {
16
+ defaultNode: string;
17
+ operations: string[];
18
+ reasoning: string;
19
+ connectedNodes?: ConnectedNodeRecommendation[];
20
+ note?: string;
21
+ }
22
+ export interface NodeRecommendationDocument {
23
+ readonly category: RecommendationCategoryType;
24
+ readonly version: string;
25
+ readonly recommendation: NodeRecommendation;
26
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecommendationCategoryDescription = exports.RecommendationCategory = void 0;
4
+ exports.RecommendationCategory = {
5
+ TEXT_MANIPULATION: 'text_manipulation',
6
+ IMAGE_GENERATION: 'image_generation',
7
+ VIDEO_GENERATION: 'video_generation',
8
+ AUDIO_GENERATION: 'audio_generation',
9
+ };
10
+ exports.RecommendationCategoryDescription = {
11
+ [exports.RecommendationCategory.TEXT_MANIPULATION]: 'AI text tasks: summarization, analysis, extraction, classification, chat',
12
+ [exports.RecommendationCategory.IMAGE_GENERATION]: 'AI image tasks: generate, analyze, edit images',
13
+ [exports.RecommendationCategory.VIDEO_GENERATION]: 'AI video tasks: generate video from text/images',
14
+ [exports.RecommendationCategory.AUDIO_GENERATION]: 'AI audio tasks: generate speech, transcribe, translate audio',
15
+ };
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/types.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAG;IACrC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;CAC3B,CAAC;AAKE,QAAA,iCAAiC,GAA+C;IAC5F,CAAC,8BAAsB,CAAC,iBAAiB,CAAC,EACzC,0EAA0E;IAC3E,CAAC,8BAAsB,CAAC,gBAAgB,CAAC,EAAE,gDAAgD;IAC3F,CAAC,8BAAsB,CAAC,gBAAgB,CAAC,EAAE,iDAAiD;IAC5F,CAAC,8BAAsB,CAAC,gBAAgB,CAAC,EACxC,8DAA8D;CAC/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type NodeRecommendationDocument } from './types';
2
+ export declare const videoGenerationRecommendation: NodeRecommendationDocument;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.videoGenerationRecommendation = void 0;
4
+ const types_1 = require("./types");
5
+ exports.videoGenerationRecommendation = {
6
+ category: types_1.RecommendationCategory.VIDEO_GENERATION,
7
+ version: '1.0.0',
8
+ recommendation: {
9
+ defaultNode: '@n8n/n8n-nodes-langchain.openAi',
10
+ operations: ['Generate a Video: Create videos from text prompts using Sora'],
11
+ reasoning: "OpenAI Sora is the default for video generation. Prefer OpenAI when user doesn't specify a provider.",
12
+ note: 'Video generation may require async processing with Wait nodes due to longer generation times.',
13
+ },
14
+ };
15
+ //# sourceMappingURL=video-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-generation.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-recommendations/video-generation.ts"],"names":[],"mappings":";;;AAAA,mCAAkF;AAErE,QAAA,6BAA6B,GAA+B;IACxE,QAAQ,EAAE,8BAAsB,CAAC,gBAAgB;IACjD,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE;QACf,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,CAAC,8DAA8D,CAAC;QAC5E,SAAS,EACR,sGAAsG;QACvG,IAAI,EAAE,+FAA+F;KACrG;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { NodeGuidance } from './types';
2
+ export { webhook } from './webhook';
3
+ export { structuredOutputParser } from './structured-output-parser';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.structuredOutputParser = exports.webhook = void 0;
4
+ var webhook_1 = require("./webhook");
5
+ Object.defineProperty(exports, "webhook", { enumerable: true, get: function () { return webhook_1.webhook; } });
6
+ var structured_output_parser_1 = require("./structured-output-parser");
7
+ Object.defineProperty(exports, "structuredOutputParser", { enumerable: true, get: function () { return structured_output_parser_1.structuredOutputParser; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-tips/index.ts"],"names":[],"mappings":";;;AACA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { NodeGuidance } from './types';
2
+ export declare const structuredOutputParser: NodeGuidance;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.structuredOutputParser = void 0;
4
+ exports.structuredOutputParser = {
5
+ nodeType: '@n8n/n8n-nodes-langchain.outputParserStructured',
6
+ usage: `Search for "Structured Output Parser" (@n8n/n8n-nodes-langchain.outputParserStructured) when:
7
+ - AI output will be used programmatically (conditions, formatting, database storage, API calls)
8
+ - AI needs to extract specific fields (e.g., score, category, priority, action items)
9
+ - AI needs to classify/categorize data into defined categories
10
+ - Downstream nodes need to access specific fields from AI response (e.g., $json.score, $json.category)
11
+ - Output will be displayed in a formatted way (e.g., HTML email with specific sections)
12
+ - Data needs validation against a schema before processing
13
+
14
+ - Always use search_nodes to find the exact node names and versions - NEVER guess versions`,
15
+ connections: `When Discovery results include AI Agent or Structured Output Parser:
16
+ 1. Create the Structured Output Parser node
17
+ 2. Set AI Agent's hasOutputParser: true in initialParameters
18
+ 3. Connect: Structured Output Parser → AI Agent (ai_outputParser connection)`,
19
+ configuration: `WHEN TO SET hasOutputParser: true on AI Agent:
20
+ - Discovery found Structured Output Parser node → MUST set hasOutputParser: true
21
+ - AI output will be used in conditions (IF/Switch nodes checking $json.field)
22
+ - AI output will be formatted/displayed (HTML emails, reports with specific sections)
23
+ - AI output will be stored in database/data tables with specific fields
24
+ - AI is classifying, scoring, or extracting specific data fields`,
25
+ recommendation: `For AI-generated structured data, prefer Structured Output Parser nodes over Code nodes.
26
+ Why: Purpose-built parsers are more reliable and handle edge cases better than custom code.
27
+
28
+ For binary file data, use Extract From File node to extract content from files before processing.
29
+
30
+ Use Code nodes only for:
31
+ - Simple string manipulations
32
+ - Already structured data (JSON, CSV)
33
+ - Custom business logic beyond parsing`,
34
+ };
35
+ //# sourceMappingURL=structured-output-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-output-parser.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-tips/structured-output-parser.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAiB;IACnD,QAAQ,EAAE,iDAAiD;IAE3D,KAAK,EAAE;;;;;;;;2FAQmF;IAE1F,WAAW,EAAE;;;6EAG+D;IAE5E,aAAa,EAAE;;;;;iEAKiD;IAEhE,cAAc,EAAE;;;;;;;;uCAQsB;CACtC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface NodeGuidance {
2
+ nodeType: string;
3
+ usage: string;
4
+ connections: string;
5
+ configuration: string;
6
+ recommendation?: string;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-tips/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { NodeGuidance } from './types';
2
+ export declare const webhook: NodeGuidance;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webhook = void 0;
4
+ exports.webhook = {
5
+ nodeType: 'n8n-nodes-base.webhook',
6
+ usage: `Search for "Webhook" (n8n-nodes-base.webhook) when:
7
+ - Workflow needs to receive HTTP requests from external services
8
+ - API callbacks, webhooks, or HTTP endpoints are needed
9
+ - Integration requires real-time event handling from external systems`,
10
+ connections: `WEBHOOK RESPONSE MODE RULES - CRITICAL:
11
+
12
+ Response modes and their requirements:
13
+ - "onReceived" (Immediately): Responds instantly when webhook is called. No RespondToWebhook node needed.
14
+ - "lastNode" (When Last Node Finishes): Responds with data from last node. No RespondToWebhook node needed.
15
+ - "responseNode" (Using Respond to Webhook Node): REQUIRES a RespondToWebhook node connected downstream.
16
+
17
+ RULE 1: If responseMode='responseNode', you MUST add a RespondToWebhook node
18
+ RULE 2: If RespondToWebhook node exists, responseMode MUST be 'responseNode'
19
+
20
+ Pattern for custom response control:
21
+ Webhook (responseMode: responseNode) → [Processing] → RespondToWebhook`,
22
+ configuration: `WEBHOOK RESPONSE MODE CONFIGURATION:
23
+
24
+ Choose responseMode based on use case:
25
+ - "onReceived": Quick acknowledgment, processing happens async
26
+ - "lastNode": Return processed data, simple request-response flows
27
+ - "responseNode": Full control over response timing, headers, status codes
28
+
29
+ CRITICAL: When user needs to control response content/timing/headers, set responseMode='responseNode' AND add RespondToWebhook node.
30
+
31
+ When NOT to use responseNode:
32
+ - Simple acknowledgments (use 'onReceived')
33
+ - Return last node output directly (use 'lastNode')`,
34
+ recommendation: `For webhook workflows requiring custom response handling (status codes, headers, delayed response), use responseMode='responseNode' with a RespondToWebhook node.
35
+
36
+ For simple webhook acknowledgments or direct data return, use 'onReceived' or 'lastNode' modes respectively.`,
37
+ };
38
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/node-tips/webhook.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAiB;IACpC,QAAQ,EAAE,wBAAwB;IAElC,KAAK,EAAE;;;sEAG8D;IAErE,WAAW,EAAE;;;;;;;;;;;uEAWyD;IAEtE,aAAa,EAAE;;;;;;;;;;;oDAWoC;IAEnD,cAAc,EAAE;;6GAE4F;CAC5G,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NodeTypeGuide } from './types';
2
+ export declare const EMBEDDING_NODES_GUIDE: NodeTypeGuide;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMBEDDING_NODES_GUIDE = void 0;
4
+ exports.EMBEDDING_NODES_GUIDE = {
5
+ patterns: ['@n8n/n8n-nodes-langchain.embeddings*'],
6
+ content: `
7
+ ## CRITICAL: Embedding Models vs Chat Models
8
+
9
+ Embedding nodes (nodes with "embeddings" in their type name) MUST use embedding models, NOT chat/language models. Using a chat model in an embedding node will cause the workflow to fail.
10
+
11
+ ### Common Mistake to Avoid
12
+ NEVER configure an embedding node with chat models like:
13
+ - gpt-4, gpt-4o, gpt-4o-mini, gpt-3.5-turbo (OpenAI chat models)
14
+ - claude-3-opus, claude-3-sonnet (Anthropic chat models)
15
+ - gemini-pro, gemini-1.5-pro (Google chat models)
16
+ - llama-3, mixtral (general LLM models)
17
+
18
+ These are language/chat models designed for text generation, NOT for creating embeddings.
19
+
20
+ ### Correct Embedding Models by Provider
21
+
22
+ #### OpenAI Embeddings
23
+ - text-embedding-3-small (RECOMMENDED - default)
24
+ - text-embedding-3-large
25
+ - text-embedding-ada-002 (legacy)
26
+
27
+ #### AWS Bedrock Embeddings
28
+ - amazon.titan-embed-text-v1
29
+ - amazon.titan-embed-text-v2:0
30
+ - cohere.embed-english-v3
31
+ - cohere.embed-multilingual-v3
32
+
33
+ #### Google Gemini Embeddings
34
+ - models/text-embedding-004 (RECOMMENDED - default)
35
+ - models/embedding-001
36
+
37
+ #### Cohere Embeddings
38
+ - embed-english-v3.0 (1024 dimensions)
39
+ - embed-multilingual-v3.0 (1024 dimensions)
40
+ - embed-english-light-v3.0 (384 dimensions)
41
+ - embed-multilingual-light-v3.0 (384 dimensions)
42
+ - embed-english-v2.0 (4096 dimensions)
43
+
44
+ #### Mistral Embeddings
45
+ - mistral-embed (default)
46
+
47
+ #### Ollama Embeddings
48
+ - nomic-embed-text
49
+ - mxbai-embed-large
50
+ - all-minilm
51
+ - snowflake-arctic-embed
52
+
53
+ ### How to Identify Embedding Models
54
+ Embedding model names typically contain:
55
+ - "embed" or "embedding" in the name
56
+ - "e5", "bge", "gte" (common embedding model families)
57
+ - "nomic", "minilm", "arctic" (embedding-specific models)
58
+
59
+ ### Key Rules
60
+ 1. ALWAYS check if the node type contains "embeddings" - if so, use an embedding model
61
+ 2. If the user mentions a chat model (gpt-4, claude, gemini-pro, etc.) for embeddings, do NOT use it
62
+ 3. Suggest the appropriate embedding model from the same provider instead
63
+ 4. When in doubt, use the provider's default embedding model
64
+
65
+ ### Parameter Names
66
+ The model parameter may be named:
67
+ - "model" (OpenAI, Bedrock, Mistral, Ollama, Azure)
68
+ - "modelName" (Google Gemini, Cohere)`,
69
+ };
70
+ //# sourceMappingURL=embedding-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-nodes.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/parameter-guides/embedding-nodes.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAkB;IACnD,QAAQ,EAAE,CAAC,sCAAsC,CAAC;IAClD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA8D4B;CACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NodeTypeGuide } from './types';
2
+ export declare const GMAIL_GUIDE: NodeTypeGuide;
@@ -0,0 +1,53 @@
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', 'n8n-nodes-base.gmailTrigger'],
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
+ #### Simplify Option (CRITICAL)
18
+ - **simplify: false** - Returns FULL email with body, attachments, headers
19
+ - **simplify: true** - Returns LIMITED data (subject, snippet only, NO body)
20
+
21
+ ALWAYS set simplify to FALSE when:
22
+ - Workflow needs to analyze email content/body
23
+ - AI Agent will process or summarize emails
24
+ - Email content is used for decision making
25
+ - Attachments need to be accessed
26
+
27
+ #### Gmail Filter Queries
28
+ For Gmail Trigger nodes, use comprehensive search filters with OR operators:
29
+ - Multiple keywords: "subject:(delivery OR shipment OR package OR tracking)"
30
+ - From specific senders: "from:example@domain.com"
31
+ - With attachments: "has:attachment"
32
+ - Unread only: "is:unread"
33
+
34
+ Example for package tracking: "subject:(delivery OR shipment OR package OR tracking OR shipped)"
35
+ NOT just: "subject:delivery" (misses many relevant emails)
36
+
37
+ #### Common Patterns
38
+ 1. **Sending Email**:
39
+ - Set resource to "message"
40
+ - Set operation to "send"
41
+ - Configure to, subject, and message fields
42
+
43
+ 2. **Reading Emails for AI Analysis**:
44
+ - Set simplify to false (required for full email body)
45
+ - Configure appropriate filter query
46
+ - Pass full email data to AI Agent
47
+
48
+ 3. **Using Expressions**:
49
+ - Can use expressions: "={{ $('Previous Node').item.json.email }}"
50
+ - Can reference previous node data for dynamic values
51
+ `,
52
+ };
53
+ //# sourceMappingURL=gmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/parameter-guides/gmail.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAkB;IACzC,QAAQ,EAAE,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;IACjE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CT;CACA,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NodeTypeGuide } from './types';
2
+ export declare const HTTP_REQUEST_GUIDE: NodeTypeGuide;