@n8n/ai-workflow-builder 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/chains/prompt-categorization.d.ts +3 -0
  3. package/dist/chains/prompt-categorization.js +109 -0
  4. package/dist/chains/prompt-categorization.js.map +1 -0
  5. package/dist/chains/test/integration/test-helpers.d.ts +3 -0
  6. package/dist/chains/test/integration/test-helpers.js +16 -0
  7. package/dist/chains/test/integration/test-helpers.js.map +1 -0
  8. package/dist/constants.d.ts +1 -1
  9. package/dist/constants.js +1 -1
  10. package/dist/llm-config.js +13 -0
  11. package/dist/llm-config.js.map +1 -1
  12. package/dist/tools/add-node.tool.d.ts +29 -0
  13. package/dist/tools/add-node.tool.js +26 -8
  14. package/dist/tools/add-node.tool.js.map +1 -1
  15. package/dist/tools/best-practices/chatbot.d.ts +7 -0
  16. package/dist/tools/best-practices/chatbot.js +118 -0
  17. package/dist/tools/best-practices/chatbot.js.map +1 -0
  18. package/dist/tools/best-practices/content-generation.d.ts +7 -0
  19. package/dist/tools/best-practices/content-generation.js +79 -0
  20. package/dist/tools/best-practices/content-generation.js.map +1 -0
  21. package/dist/tools/best-practices/data-extraction.d.ts +7 -0
  22. package/dist/tools/best-practices/data-extraction.js +105 -0
  23. package/dist/tools/best-practices/data-extraction.js.map +1 -0
  24. package/dist/tools/best-practices/form-input.d.ts +7 -0
  25. package/dist/tools/best-practices/form-input.js +173 -0
  26. package/dist/tools/best-practices/form-input.js.map +1 -0
  27. package/dist/tools/best-practices/index.d.ts +3 -0
  28. package/dist/tools/best-practices/index.js +27 -0
  29. package/dist/tools/best-practices/index.js.map +1 -0
  30. package/dist/tools/best-practices/scraping-and-research.d.ts +7 -0
  31. package/dist/tools/best-practices/scraping-and-research.js +147 -0
  32. package/dist/tools/best-practices/scraping-and-research.js.map +1 -0
  33. package/dist/tools/builder-tools.js +6 -0
  34. package/dist/tools/builder-tools.js.map +1 -1
  35. package/dist/tools/categorize-prompt.tool.d.ts +5 -0
  36. package/dist/tools/categorize-prompt.tool.js +84 -0
  37. package/dist/tools/categorize-prompt.tool.js.map +1 -0
  38. package/dist/tools/engines/node-search-engine.d.ts +0 -9
  39. package/dist/tools/engines/node-search-engine.js +74 -73
  40. package/dist/tools/engines/node-search-engine.js.map +1 -1
  41. package/dist/tools/get-best-practices.tool.d.ts +33 -0
  42. package/dist/tools/get-best-practices.tool.js +94 -0
  43. package/dist/tools/get-best-practices.tool.js.map +1 -0
  44. package/dist/tools/helpers/validation.d.ts +1 -1
  45. package/dist/tools/helpers/validation.js +3 -2
  46. package/dist/tools/helpers/validation.js.map +1 -1
  47. package/dist/tools/node-details.tool.d.ts +4 -0
  48. package/dist/tools/node-details.tool.js +3 -2
  49. package/dist/tools/node-details.tool.js.map +1 -1
  50. package/dist/tools/prompts/main-agent.prompt.js +23 -5
  51. package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
  52. package/dist/tools/update-node-parameters.tool.js +1 -1
  53. package/dist/tools/update-node-parameters.tool.js.map +1 -1
  54. package/dist/tools/utils/node-creation.utils.d.ts +2 -2
  55. package/dist/tools/utils/node-creation.utils.js +7 -3
  56. package/dist/tools/utils/node-creation.utils.js.map +1 -1
  57. package/dist/tools/validate-workflow.tool.js +0 -16
  58. package/dist/tools/validate-workflow.tool.js.map +1 -1
  59. package/dist/types/best-practices.d.ts +6 -0
  60. package/dist/types/best-practices.js +3 -0
  61. package/dist/types/best-practices.js.map +1 -0
  62. package/dist/types/categorization.d.ts +23 -0
  63. package/dist/types/categorization.js +38 -0
  64. package/dist/types/categorization.js.map +1 -0
  65. package/dist/types/index.d.ts +2 -0
  66. package/dist/types/nodes.d.ts +1 -0
  67. package/dist/types/tools.d.ts +4 -0
  68. package/dist/utils/http-proxy-agent.d.ts +2 -0
  69. package/dist/utils/http-proxy-agent.js +16 -0
  70. package/dist/utils/http-proxy-agent.js.map +1 -0
  71. package/dist/utils/stream-processor.js +85 -58
  72. package/dist/utils/stream-processor.js.map +1 -1
  73. package/dist/validation/checks/agent-prompt.js +1 -1
  74. package/dist/validation/checks/agent-prompt.js.map +1 -1
  75. package/dist/validation/checks/connections.js +32 -1
  76. package/dist/validation/checks/connections.js.map +1 -1
  77. package/dist/workflow-builder-agent.js +30 -22
  78. package/dist/workflow-builder-agent.js.map +1 -1
  79. package/dist/workflow-state.d.ts +1 -1
  80. package/dist/workflow-state.js.map +1 -1
  81. package/package.json +10 -6
@@ -1 +1 @@
1
- {"version":3,"file":"node-creation.utils.js","sourceRoot":"","sources":["../../../src/tools/utils/node-creation.utils.ts"],"names":[],"mappings":";;AAQA,gDAUC;AAOD,4CAOC;AAMD,wCAEC;AAMD,8CAEC;AAOD,0CAEC;AAUD,gDAqBC;AAQD,8CAMC;AA9FD,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,aAAsB;IAC1E,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QACzD,UAAU,GAAG,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAOD,SAAgB,gBAAgB,CAAC,QAA8B;IAC9D,OAAO,CACN,QAAQ,CAAC,cAAc;QACvB,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CACjD,CAAC;AACH,CAAC;AAMD,SAAgB,cAAc;IAC7B,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAMD,SAAgB,iBAAiB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAOD,SAAgB,eAAe,CAAC,QAA8B;IAC7D,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAUD,SAAgB,kBAAkB,CACjC,QAA8B,EAC9B,IAAY,EACZ,QAA0B,EAC1B,aAAqD,EAAE;IAEvD,MAAM,IAAI,GAAU;QACnB,EAAE,EAAE,cAAc,EAAE;QACpB,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACvC,QAAQ;QACR,UAAU;KACV,CAAC;IAGF,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAQD,SAAgB,iBAAiB,CAChC,UAAkD,EAClD,QAA8B;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"node-creation.utils.js","sourceRoot":"","sources":["../../../src/tools/utils/node-creation.utils.ts"],"names":[],"mappings":";;AAaA,gDAUC;AAOD,4CAOC;AAMD,wCAEC;AAMD,8CAEC;AAOD,0CAEC;AAYD,gDA4BC;AAQD,8CAMC;AApHD,+CAKsB;AAQtB,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,aAAsB;IAC1E,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QACzD,UAAU,GAAG,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAOD,SAAgB,gBAAgB,CAAC,QAA8B;IAC9D,OAAO,CACN,QAAQ,CAAC,cAAc;QACvB,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACpC,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CACjD,CAAC;AACH,CAAC;AAMD,SAAgB,cAAc;IAC7B,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAMD,SAAgB,iBAAiB;IAChC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAOD,SAAgB,eAAe,CAAC,QAA8B;IAC7D,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAYD,SAAgB,kBAAkB,CACjC,QAA8B,EAC9B,WAAmB,EACnB,IAAY,EACZ,QAA0B,EAC1B,aAAqD,EAAE,EACvD,EAAW;IAEX,IAAA,qBAAM,EACL,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC9B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,OAAO,CACnC,CAAC;IACF,MAAM,IAAI,GAAU;QACnB,EAAE,EAAE,EAAE,IAAI,cAAc,EAAE;QAC1B,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW;QACX,QAAQ;QACR,UAAU;KACV,CAAC;IAGF,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAQD,SAAgB,iBAAiB,CAChC,UAAkD,EAClD,QAA8B;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IACzC,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;AACvC,CAAC"}
@@ -26,22 +26,6 @@ function createValidateWorkflowTool(parsedNodeTypes, logger) {
26
26
  const violations = (0, programmatic_1.programmaticValidation)({
27
27
  generatedWorkflow: state.workflowJSON,
28
28
  }, parsedNodeTypes);
29
- const blockingViolations = [
30
- ...violations.connections,
31
- ...violations.trigger,
32
- ...violations.agentPrompt,
33
- ...violations.tools,
34
- ...violations.fromAi,
35
- ].filter((violation) => violation.type === 'critical' || violation.type === 'major');
36
- if (blockingViolations.length > 0) {
37
- const summary = (0, workflow_validation_1.formatWorkflowValidation)(violations);
38
- const validationError = new errors_1.ValidationError(`Workflow validation failed due to critical or major violations.\n${summary}`, { extra: { violations: blockingViolations } });
39
- reporter.error(validationError);
40
- logger?.warn('validate_workflow tool detected blocking violations', {
41
- violations: blockingViolations,
42
- });
43
- return (0, response_1.createErrorResponse)(config, validationError);
44
- }
45
29
  const message = (0, workflow_validation_1.formatWorkflowValidation)(violations);
46
30
  reporter.complete({ message });
47
31
  return (0, response_1.createSuccessResponse)(config, message, {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow.tool.js","sourceRoot":"","sources":["../../src/tools/validate-workflow.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-workflow.tool.js","sourceRoot":"","sources":["../../src/tools/validate-workflow.tool.ts"],"names":[],"mappings":";;;AAqBA,gEAoEC;AAzFD,iDAA6C;AAG7C,6BAAwB;AAGxB,4DAAmE;AAEnE,sCAAgE;AAChE,sEAAwE;AACxE,iDAA4E;AAC5E,iDAAgF;AAChF,2CAAmD;AAEnD,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAEpD,QAAA,sBAAsB,GAAoB;IACtD,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,qBAAqB;CACnC,CAAC;AAEF,SAAgB,0BAA0B,CACzC,eAAuC,EACvC,MAAe;IAEf,MAAM,WAAW,GAAG,IAAA,YAAI,EACvB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EACtC,MAAM,EACN,8BAAsB,CAAC,QAAQ,EAC/B,8BAAsB,CAAC,YAAY,CACnC,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE/B,MAAM,KAAK,GAAG,IAAA,wBAAgB,GAAE,CAAC;YACjC,IAAA,yBAAc,EAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;YAExD,MAAM,UAAU,GAAG,IAAA,qCAAsB,EACxC;gBACC,iBAAiB,EAAE,KAAK,CAAC,YAAY;aACrC,EACD,eAAe,CACf,CAAC;YAEF,MAAM,OAAO,GAAG,IAAA,8CAAwB,EAAC,UAAU,CAAC,CAAC;YAErD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAE/B,OAAO,IAAA,gCAAqB,EAAC,MAAM,EAAE,OAAO,EAAE;gBAC7C,kBAAkB,EAAE,UAAU;aAC9B,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,IAAI,wBAAe,CAAC,0BAA0B,EAAE;oBACvE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;iBAC/B,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAChC,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,2BAAkB,CACvC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,EACtE;gBACC,QAAQ,EAAE,8BAAsB,CAAC,QAAQ;gBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD,CACD,CAAC;YAEF,MAAM,EAAE,IAAI,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEpE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,EACD;QACC,IAAI,EAAE,8BAAsB,CAAC,QAAQ;QACrC,WAAW,EACV,qHAAqH;QACtH,MAAM,EAAE,sBAAsB;KAC9B,CACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,GAAG,8BAAsB;KACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { WorkflowTechniqueType } from './categorization';
2
+ export interface BestPracticesDocument {
3
+ readonly technique: WorkflowTechniqueType;
4
+ readonly version: string;
5
+ getDocumentation(): string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=best-practices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"best-practices.js","sourceRoot":"","sources":["../../src/types/best-practices.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ export declare const WorkflowTechnique: {
2
+ readonly SCHEDULING: "scheduling";
3
+ readonly CHATBOT: "chatbot";
4
+ readonly FORM_INPUT: "form_input";
5
+ readonly SCRAPING_AND_RESEARCH: "scraping_and_research";
6
+ readonly MONITORING: "monitoring";
7
+ readonly ENRICHMENT: "enrichment";
8
+ readonly TRIAGE: "triage";
9
+ readonly CONTENT_GENERATION: "content_generation";
10
+ readonly DOCUMENT_PROCESSING: "document_processing";
11
+ readonly DATA_EXTRACTION: "data_extraction";
12
+ readonly DATA_ANALYSIS: "data_analysis";
13
+ readonly DATA_TRANSFORMATION: "data_transformation";
14
+ readonly NOTIFICATION: "notification";
15
+ readonly KNOWLEDGE_BASE: "knowledge_base";
16
+ readonly HUMAN_IN_THE_LOOP: "human_in_the_loop";
17
+ };
18
+ export type WorkflowTechniqueType = (typeof WorkflowTechnique)[keyof typeof WorkflowTechnique];
19
+ export declare const TechniqueDescription: Record<WorkflowTechniqueType, string>;
20
+ export interface PromptCategorization {
21
+ techniques: WorkflowTechniqueType[];
22
+ confidence?: number;
23
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TechniqueDescription = exports.WorkflowTechnique = void 0;
4
+ exports.WorkflowTechnique = {
5
+ SCHEDULING: 'scheduling',
6
+ CHATBOT: 'chatbot',
7
+ FORM_INPUT: 'form_input',
8
+ SCRAPING_AND_RESEARCH: 'scraping_and_research',
9
+ MONITORING: 'monitoring',
10
+ ENRICHMENT: 'enrichment',
11
+ TRIAGE: 'triage',
12
+ CONTENT_GENERATION: 'content_generation',
13
+ DOCUMENT_PROCESSING: 'document_processing',
14
+ DATA_EXTRACTION: 'data_extraction',
15
+ DATA_ANALYSIS: 'data_analysis',
16
+ DATA_TRANSFORMATION: 'data_transformation',
17
+ NOTIFICATION: 'notification',
18
+ KNOWLEDGE_BASE: 'knowledge_base',
19
+ HUMAN_IN_THE_LOOP: 'human_in_the_loop',
20
+ };
21
+ exports.TechniqueDescription = {
22
+ [exports.WorkflowTechnique.SCHEDULING]: 'Running an action at a specific time or interval',
23
+ [exports.WorkflowTechnique.CHATBOT]: 'Receiving chat messages and replying (built-in chat, Telegram, Slack, MS Teams, etc.)',
24
+ [exports.WorkflowTechnique.FORM_INPUT]: 'Gathering data from users via forms',
25
+ [exports.WorkflowTechnique.SCRAPING_AND_RESEARCH]: 'Methodically collecting information from websites or APIs to compile structured data',
26
+ [exports.WorkflowTechnique.MONITORING]: 'Repeatedly checking service/website status and taking action when conditions are met',
27
+ [exports.WorkflowTechnique.ENRICHMENT]: 'Adding extra details to existing data by merging information from other sources',
28
+ [exports.WorkflowTechnique.TRIAGE]: 'Classifying data for routing or prioritization',
29
+ [exports.WorkflowTechnique.CONTENT_GENERATION]: 'Creating text, images, audio, video, etc.',
30
+ [exports.WorkflowTechnique.DOCUMENT_PROCESSING]: 'Taking action on content within files (PDFs, Word docs, images)',
31
+ [exports.WorkflowTechnique.DATA_EXTRACTION]: 'Pulling specific information from structured or unstructured inputs',
32
+ [exports.WorkflowTechnique.DATA_ANALYSIS]: 'Examining data to find patterns, trends, anomalies, or insights',
33
+ [exports.WorkflowTechnique.DATA_TRANSFORMATION]: 'Cleaning, formatting, or restructuring data (including summarization)',
34
+ [exports.WorkflowTechnique.NOTIFICATION]: 'Sending alerts or updates via email, chat, SMS when events occur',
35
+ [exports.WorkflowTechnique.KNOWLEDGE_BASE]: 'Building or using a centralized information collection (usually vector database for LLM use)',
36
+ [exports.WorkflowTechnique.HUMAN_IN_THE_LOOP]: 'Pausing for human decision/input before resuming',
37
+ };
38
+ //# sourceMappingURL=categorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categorization.js","sourceRoot":"","sources":["../../src/types/categorization.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAEhC,UAAU,EAAE,YAAY;IAExB,OAAO,EAAE,SAAS;IAElB,UAAU,EAAE,YAAY;IAExB,qBAAqB,EAAE,uBAAuB;IAE9C,UAAU,EAAE,YAAY;IAExB,UAAU,EAAE,YAAY;IAExB,MAAM,EAAE,QAAQ;IAEhB,kBAAkB,EAAE,oBAAoB;IAExC,mBAAmB,EAAE,qBAAqB;IAE1C,eAAe,EAAE,iBAAiB;IAElC,aAAa,EAAE,eAAe;IAE9B,mBAAmB,EAAE,qBAAqB;IAE1C,YAAY,EAAE,cAAc;IAE5B,cAAc,EAAE,gBAAgB;IAEhC,iBAAiB,EAAE,mBAAmB;CAC7B,CAAC;AAOE,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,YAAY,CAAC,EAC/B,kEAAkE;IACnE,CAAC,yBAAiB,CAAC,cAAc,CAAC,EACjC,8FAA8F;IAC/F,CAAC,yBAAiB,CAAC,iBAAiB,CAAC,EAAE,kDAAkD;CACzF,CAAC"}
@@ -6,3 +6,5 @@ export type * from './streaming';
6
6
  export type * from './nodes';
7
7
  export type * from './config';
8
8
  export type * from './utils';
9
+ export type * from './categorization';
10
+ export type * from './best-practices';
@@ -12,6 +12,7 @@ export interface NodeSearchResult {
12
12
  name: string;
13
13
  displayName: string;
14
14
  description: string;
15
+ version: number;
15
16
  score: number;
16
17
  inputs: INodeTypeDescription['inputs'];
17
18
  outputs: INodeTypeDescription['outputs'];
@@ -1,5 +1,6 @@
1
1
  import type { INodeParameters } from 'n8n-workflow';
2
2
  import type { ZodIssue } from 'zod';
3
+ import type { PromptCategorization } from './categorization';
3
4
  import type { AddedNode, NodeDetails, NodeSearchResult } from './nodes';
4
5
  export type ProgressUpdateType = 'input' | 'output' | 'progress' | 'error';
5
6
  export interface ProgressUpdate<T = Record<string, unknown>> {
@@ -89,3 +90,6 @@ export interface RemoveConnectionOutput {
89
90
  targetInputIndex: number;
90
91
  message: string;
91
92
  }
93
+ export interface CategorizePromptOutput {
94
+ categorization: PromptCategorization;
95
+ }
@@ -0,0 +1,2 @@
1
+ import { ProxyAgent } from 'undici';
2
+ export declare function getProxyAgent(targetUrl?: string): ProxyAgent | undefined;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getProxyAgent = getProxyAgent;
7
+ const proxy_from_env_1 = __importDefault(require("proxy-from-env"));
8
+ const undici_1 = require("undici");
9
+ function getProxyAgent(targetUrl) {
10
+ const proxyUrl = proxy_from_env_1.default.getProxyForUrl(targetUrl ?? 'https://example.nonexistent/');
11
+ if (!proxyUrl) {
12
+ return undefined;
13
+ }
14
+ return new undici_1.ProxyAgent(proxyUrl);
15
+ }
16
+ //# sourceMappingURL=http-proxy-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-proxy-agent.js","sourceRoot":"","sources":["../../src/utils/http-proxy-agent.ts"],"names":[],"mappings":";;;;;AAOA,sCAWC;AAlBD,oEAA0C;AAC1C,mCAAoC;AAMpC,SAAgB,aAAa,CAAC,SAAkB;IAI/C,MAAM,QAAQ,GAAG,wBAAY,CAAC,cAAc,CAAC,SAAS,IAAI,8BAA8B,CAAC,CAAC;IAE1F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,mBAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
@@ -6,74 +6,101 @@ exports.createStreamProcessor = createStreamProcessor;
6
6
  exports.cleanContextTags = cleanContextTags;
7
7
  exports.formatMessages = formatMessages;
8
8
  const messages_1 = require("@langchain/core/messages");
9
+ function isAgentUpdateChunk(chunk) {
10
+ return (typeof chunk === 'object' &&
11
+ chunk !== null &&
12
+ ('agent' in chunk ||
13
+ 'compact_messages' in chunk ||
14
+ 'delete_messages' in chunk ||
15
+ 'process_operations' in chunk));
16
+ }
17
+ function isToolProgressChunk(chunk) {
18
+ return typeof chunk === 'object' && chunk !== null && 'type' in chunk && chunk.type === 'tool';
19
+ }
9
20
  exports.DEFAULT_WORKFLOW_UPDATE_TOOLS = [
10
21
  'add_nodes',
11
22
  'connect_nodes',
12
23
  'update_node_parameters',
13
24
  'remove_node',
14
25
  ];
26
+ function getLastMessage(messages) {
27
+ if (!messages || messages.length === 0) {
28
+ return null;
29
+ }
30
+ return messages[messages.length - 1];
31
+ }
32
+ function extractTextFromContent(content) {
33
+ if (Array.isArray(content)) {
34
+ return content
35
+ .filter((part) => part.type === 'text')
36
+ .map((part) => part.text)
37
+ .join('\n');
38
+ }
39
+ return content;
40
+ }
41
+ function createMessageChunk(text) {
42
+ return {
43
+ role: 'assistant',
44
+ type: 'message',
45
+ text,
46
+ };
47
+ }
48
+ function processDeleteMessages(chunk) {
49
+ const messages = chunk.delete_messages?.messages;
50
+ if (!messages || messages.length === 0) {
51
+ return null;
52
+ }
53
+ return { messages: [createMessageChunk('Deleted, refresh?')] };
54
+ }
55
+ function processCompactMessages(chunk) {
56
+ const lastMessage = getLastMessage(chunk.compact_messages?.messages);
57
+ if (!lastMessage) {
58
+ return null;
59
+ }
60
+ const text = extractTextFromContent(lastMessage.content);
61
+ return { messages: [createMessageChunk(text)] };
62
+ }
63
+ function processAgentMessages(chunk) {
64
+ const lastMessage = getLastMessage(chunk.agent?.messages);
65
+ if (!lastMessage?.content) {
66
+ return null;
67
+ }
68
+ const text = extractTextFromContent(lastMessage.content);
69
+ if (!text) {
70
+ return null;
71
+ }
72
+ return { messages: [createMessageChunk(text)] };
73
+ }
74
+ function processOperations(chunk) {
75
+ const update = chunk.process_operations;
76
+ if (!update?.workflowJSON || update.workflowOperations === undefined) {
77
+ return null;
78
+ }
79
+ const workflowUpdateChunk = {
80
+ role: 'assistant',
81
+ type: 'workflow-updated',
82
+ codeSnippet: JSON.stringify(update.workflowJSON, null, 2),
83
+ };
84
+ return { messages: [workflowUpdateChunk] };
85
+ }
86
+ function processCustomToolChunk(chunk) {
87
+ if (!isToolProgressChunk(chunk)) {
88
+ return null;
89
+ }
90
+ return { messages: [chunk] };
91
+ }
15
92
  function processStreamChunk(streamMode, chunk) {
16
93
  if (streamMode === 'updates') {
17
- const agentChunk = chunk;
18
- if ((agentChunk?.delete_messages?.messages ?? []).length > 0) {
19
- const messageChunk = {
20
- role: 'assistant',
21
- type: 'message',
22
- text: 'Deleted, refresh?',
23
- };
24
- return { messages: [messageChunk] };
25
- }
26
- if ((agentChunk?.compact_messages?.messages ?? []).length > 0) {
27
- const lastMessage = agentChunk.compact_messages.messages[agentChunk.compact_messages.messages.length - 1];
28
- const messageChunk = {
29
- role: 'assistant',
30
- type: 'message',
31
- text: lastMessage.content,
32
- };
33
- return { messages: [messageChunk] };
34
- }
35
- if ((agentChunk?.agent?.messages ?? []).length > 0) {
36
- const lastMessage = agentChunk.agent.messages[agentChunk.agent.messages.length - 1];
37
- if (lastMessage.content) {
38
- let content;
39
- if (Array.isArray(lastMessage.content)) {
40
- content = lastMessage.content
41
- .filter((c) => c.type === 'text')
42
- .map((b) => b.text)
43
- .join('\n');
44
- }
45
- else {
46
- content = lastMessage.content;
47
- }
48
- if (content) {
49
- const messageChunk = {
50
- role: 'assistant',
51
- type: 'message',
52
- text: content,
53
- };
54
- return { messages: [messageChunk] };
55
- }
56
- return null;
57
- }
58
- }
59
- if (agentChunk?.process_operations) {
60
- const update = agentChunk.process_operations;
61
- if (update.workflowJSON && update.workflowOperations !== undefined) {
62
- const workflowUpdateChunk = {
63
- role: 'assistant',
64
- type: 'workflow-updated',
65
- codeSnippet: JSON.stringify(update.workflowJSON, null, 2),
66
- };
67
- return { messages: [workflowUpdateChunk] };
68
- }
94
+ if (!isAgentUpdateChunk(chunk)) {
95
+ return null;
69
96
  }
97
+ return (processDeleteMessages(chunk) ??
98
+ processCompactMessages(chunk) ??
99
+ processAgentMessages(chunk) ??
100
+ processOperations(chunk));
70
101
  }
71
- else if (streamMode === 'custom') {
72
- const toolChunk = chunk;
73
- if (toolChunk?.type === 'tool') {
74
- const output = { messages: [toolChunk] };
75
- return output;
76
- }
102
+ if (streamMode === 'custom') {
103
+ return processCustomToolChunk(chunk);
77
104
  }
78
105
  return null;
79
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stream-processor.js","sourceRoot":"","sources":["../../src/utils/stream-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-processor.js","sourceRoot":"","sources":["../../src/utils/stream-processor.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ function validateAgentPrompt(workflow) {
22
22
  if (isOptionsWithSystemMessage(options)) {
23
23
  systemMessage = options.systemMessage;
24
24
  }
25
- if (promptType !== 'auto') {
25
+ if (promptType !== 'auto' && promptType !== 'guardrails') {
26
26
  if (!textParam || !(0, expressions_1.containsExpression)(textParam)) {
27
27
  violations.push({
28
28
  type: 'major',
@@ -1 +1 @@
1
- {"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../../../src/validation/checks/agent-prompt.ts"],"names":[],"mappings":";;AA4BA,kDAiDC;AAxED,sDAA0D;AAK1D,SAAS,0BAA0B,CAClC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,CAAC,eAAe,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAC7D,CAAC;AACH,CAAC;AASD,SAAgB,mBAAmB,CAAC,QAAwB;IAC3D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAG/C,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;YAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAGzC,IAAI,aAAiC,CAAC;YACtC,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YACvC,CAAC;YAID,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAE3B,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,gCAAkB,EAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,eAAe,IAAI,CAAC,IAAI,0GAA0G;wBAC/I,cAAc,EAAE,EAAE;qBAClB,CAAC,CAAC;gBACJ,CAAC;gBAID,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,eAAe,IAAI,CAAC,IAAI,sIAAsI;wBAC3K,cAAc,EAAE,EAAE;qBAClB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../../../src/validation/checks/agent-prompt.ts"],"names":[],"mappings":";;AA4BA,kDAiDC;AAxED,sDAA0D;AAK1D,SAAS,0BAA0B,CAClC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,CAAC,eAAe,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAC7D,CAAC;AACH,CAAC;AASD,SAAgB,mBAAmB,CAAC,QAAwB;IAC3D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAG/C,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;YAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAGzC,IAAI,aAAiC,CAAC;YACtC,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YACvC,CAAC;YAID,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAE1D,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,gCAAkB,EAAC,SAAS,CAAC,EAAE,CAAC;oBAClD,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,eAAe,IAAI,CAAC,IAAI,0GAA0G;wBAC/I,cAAc,EAAE,EAAE;qBAClB,CAAC,CAAC;gBACJ,CAAC;gBAID,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzD,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,eAAe,IAAI,CAAC,IAAI,sIAAsI;wBAC3K,cAAc,EAAE,EAAE;qBAClB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateConnections = validateConnections;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
+ const node_helpers_1 = require("../../utils/node-helpers");
5
6
  const resolve_connections_1 = require("../../validation/utils/resolve-connections");
6
7
  function getProvidedInputTypes(nodeConnections) {
7
8
  const providedInputTypes = new Map();
@@ -91,14 +92,43 @@ function checkMergeNodeConnections(nodeInfo, nodeConnections) {
91
92
  }
92
93
  return issues;
93
94
  }
95
+ function checkSubNodeRootConnections(workflow, nodeInfo, nodesByName) {
96
+ const issues = [];
97
+ const { node, nodeType, resolvedOutputs } = nodeInfo;
98
+ if (!resolvedOutputs || resolvedOutputs.size === 0) {
99
+ return issues;
100
+ }
101
+ if (!(0, node_helpers_1.isSubNode)(nodeType, node)) {
102
+ return issues;
103
+ }
104
+ const aiOutputs = Array.from(resolvedOutputs).filter((output) => output.startsWith('ai_'));
105
+ if (aiOutputs.length === 0) {
106
+ return issues;
107
+ }
108
+ const nodeConnections = workflow.connections?.[node.name];
109
+ for (const outputType of aiOutputs) {
110
+ const connectionsForType = nodeConnections?.[outputType];
111
+ const hasRootConnection = connectionsForType?.some((connectionGroup) => connectionGroup?.some((connection) => connection?.node && nodesByName.has(connection.node)));
112
+ if (!hasRootConnection) {
113
+ issues.push({
114
+ type: 'critical',
115
+ description: `Sub-node ${node.name} (${node.type}) provides ${outputType} but is not connected to a root node.`,
116
+ pointsDeducted: 50,
117
+ });
118
+ }
119
+ }
120
+ return issues;
121
+ }
94
122
  function validateConnections(workflow, nodeTypes) {
95
123
  const violations = [];
96
124
  if (!workflow.connections) {
97
125
  workflow.connections = {};
98
126
  }
99
127
  const connectionsByDestination = (0, n8n_workflow_1.mapConnectionsByDestination)(workflow.connections);
128
+ const nodesByName = new Map(workflow.nodes.map((node) => [node.name, node]));
129
+ const nodeTypeMap = new Map(nodeTypes.map((type) => [type.name, type]));
100
130
  for (const node of workflow.nodes) {
101
- const nodeType = nodeTypes.find((type) => type.name === node.type);
131
+ const nodeType = nodeTypeMap.get(node.type);
102
132
  if (!nodeType) {
103
133
  violations.push({
104
134
  type: 'critical',
@@ -125,6 +155,7 @@ function validateConnections(workflow, nodeTypes) {
125
155
  violations.push(...checkMissingRequiredInputs(nodeInfo, providedInputTypes));
126
156
  violations.push(...checkUnsupportedConnections(nodeInfo, providedInputTypes));
127
157
  violations.push(...checkMergeNodeConnections(nodeInfo, nodeConnections));
158
+ violations.push(...checkSubNodeRootConnections(workflow, nodeInfo, nodesByName));
128
159
  }
129
160
  return violations;
130
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/validation/checks/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/validation/checks/connections.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,40 @@ function shouldModifyState(state, autoCompactThresholdTokens) {
35
35
  if (isDefaultName && nodesLength === 0 && messages.length === 1) {
36
36
  return 'create_workflow_name';
37
37
  }
38
- const estimatedTokens = (0, token_usage_1.estimateTokenCountFromMessages)(messages);
38
+ const workflowContextToAppend = getWorkflowContext(state);
39
+ const estimatedTokens = (0, token_usage_1.estimateTokenCountFromMessages)([
40
+ ...messages,
41
+ new messages_1.HumanMessage(workflowContextToAppend),
42
+ ]);
39
43
  if (estimatedTokens > autoCompactThresholdTokens) {
40
44
  return 'auto_compact_messages';
41
45
  }
42
46
  return 'agent';
43
47
  }
48
+ function getWorkflowContext(state) {
49
+ const trimmedWorkflow = (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON);
50
+ const executionData = state.workflowContext?.executionData ?? {};
51
+ const executionSchema = state.workflowContext?.executionSchema ?? [];
52
+ const workflowContext = [
53
+ '',
54
+ '<current_workflow_json>',
55
+ JSON.stringify(trimmedWorkflow),
56
+ '</current_workflow_json>',
57
+ '<trimmed_workflow_json_note>',
58
+ 'Note: Large property values of the nodes in the workflow JSON above may be trimmed to fit within token limits.',
59
+ 'Use get_node_parameter tool to get full details when needed.',
60
+ '</trimmed_workflow_json_note>',
61
+ '',
62
+ '<current_simplified_execution_data>',
63
+ JSON.stringify(executionData),
64
+ '</current_simplified_execution_data>',
65
+ '',
66
+ '<current_execution_nodes_schemas>',
67
+ JSON.stringify(executionSchema),
68
+ '</current_execution_nodes_schemas>',
69
+ ].join('\n');
70
+ return workflowContext;
71
+ }
44
72
  class WorkflowBuilderAgent {
45
73
  checkpointer;
46
74
  parsedNodeTypes;
@@ -85,9 +113,6 @@ class WorkflowBuilderAgent {
85
113
  });
86
114
  }
87
115
  const hasPreviousSummary = state.previousSummary && state.previousSummary !== 'EMPTY';
88
- const trimmedWorkflow = (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON);
89
- const executionData = state.workflowContext?.executionData ?? {};
90
- const executionSchema = state.workflowContext?.executionSchema ?? [];
91
116
  const prompt = await main_agent_prompt_1.mainAgentPrompt.invoke({
92
117
  ...state,
93
118
  workflowJSON: (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON),
@@ -97,24 +122,7 @@ class WorkflowBuilderAgent {
97
122
  instanceUrl: this.instanceUrl,
98
123
  previousSummary: hasPreviousSummary ? state.previousSummary : '',
99
124
  });
100
- const workflowContext = [
101
- '',
102
- '<current_workflow_json>',
103
- JSON.stringify(trimmedWorkflow, null, 2),
104
- '</current_workflow_json>',
105
- '<trimmed_workflow_json_note>',
106
- 'Note: Large property values of the nodes in the workflow JSON above may be trimmed to fit within token limits.',
107
- 'Use get_node_parameter tool to get full details when needed.',
108
- '</trimmed_workflow_json_note>',
109
- '',
110
- '<current_simplified_execution_data>',
111
- JSON.stringify(executionData, null, 2),
112
- '</current_simplified_execution_data>',
113
- '',
114
- '<current_execution_nodes_schemas>',
115
- JSON.stringify(executionSchema, null, 2),
116
- '</current_execution_nodes_schemas>',
117
- ].join('\n');
125
+ const workflowContext = getWorkflowContext(state);
118
126
  const userToolIndices = (0, helpers_1.findUserToolMessageIndices)(prompt.messages);
119
127
  (0, helpers_1.cleanStaleWorkflowContext)(prompt.messages, userToolIndices);
120
128
  (0, helpers_1.applyCacheControlMarkers)(prompt.messages, userToolIndices, workflowContext);