@n8n/ai-workflow-builder 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/workflow-planner-agent.d.ts +58 -0
- package/dist/agents/workflow-planner-agent.js +269 -0
- package/dist/agents/workflow-planner-agent.js.map +1 -0
- package/dist/ai-workflow-builder-agent.service.d.ts +2 -1
- package/dist/ai-workflow-builder-agent.service.js +6 -3
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/parameter-updater.js +5 -1
- package/dist/chains/parameter-updater.js.map +1 -1
- package/dist/chains/prompts/instance-url.d.ts +1 -0
- package/dist/chains/prompts/instance-url.js +16 -0
- package/dist/chains/prompts/instance-url.js.map +1 -0
- package/dist/chains/prompts/prompt-builder.js +1 -1
- package/dist/chains/prompts/prompt-builder.js.map +1 -1
- package/dist/chains/workflow-name.js +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.js +16 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-config.js +2 -1
- package/dist/llm-config.js.map +1 -1
- package/dist/tools/add-node.tool.d.ts +38 -34
- package/dist/tools/add-node.tool.js +17 -2
- package/dist/tools/add-node.tool.js.map +1 -1
- package/dist/tools/connect-nodes.tool.d.ts +29 -26
- package/dist/tools/connect-nodes.tool.js +7 -2
- package/dist/tools/connect-nodes.tool.js.map +1 -1
- package/dist/tools/get-node-parameter.tool.d.ts +18 -0
- package/dist/tools/get-node-parameter.tool.js +109 -0
- package/dist/tools/get-node-parameter.tool.js.map +1 -0
- package/dist/tools/helpers/progress.d.ts +1 -1
- package/dist/tools/helpers/progress.js +14 -2
- package/dist/tools/helpers/progress.js.map +1 -1
- package/dist/tools/helpers/validation.d.ts +1 -0
- package/dist/tools/helpers/validation.js +13 -0
- package/dist/tools/helpers/validation.js.map +1 -1
- package/dist/tools/node-details.tool.d.ts +20 -17
- package/dist/tools/node-details.tool.js +7 -2
- package/dist/tools/node-details.tool.js.map +1 -1
- package/dist/tools/node-search.tool.d.ts +54 -45
- package/dist/tools/node-search.tool.js +7 -2
- package/dist/tools/node-search.tool.js.map +1 -1
- package/dist/tools/prompts/main-agent.prompt.d.ts +2 -0
- package/dist/tools/prompts/main-agent.prompt.js +96 -41
- package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
- package/dist/tools/remove-node.tool.d.ts +14 -11
- package/dist/tools/remove-node.tool.js +7 -2
- package/dist/tools/remove-node.tool.js.map +1 -1
- package/dist/tools/update-node-parameters.tool.d.ts +19 -16
- package/dist/tools/update-node-parameters.tool.js +60 -38
- package/dist/tools/update-node-parameters.tool.js.map +1 -1
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.js +0 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/langchain.d.ts +2 -0
- package/dist/types/langchain.js +7 -0
- package/dist/types/langchain.js.map +1 -0
- package/dist/types/messages.d.ts +1 -7
- package/dist/types/streaming.d.ts +6 -1
- package/dist/types/tools.d.ts +8 -1
- package/dist/utils/stream-processor.d.ts +7 -1
- package/dist/utils/stream-processor.js +121 -63
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/token-usage.d.ts +14 -0
- package/dist/utils/token-usage.js +27 -0
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/trim-workflow-context.d.ts +2 -0
- package/dist/utils/trim-workflow-context.js +53 -0
- package/dist/utils/trim-workflow-context.js.map +1 -0
- package/dist/workflow-builder-agent.d.ts +11 -1
- package/dist/workflow-builder-agent.js +205 -24
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.d.ts +17 -0
- package/dist/workflow-state.js +12 -0
- package/dist/workflow-state.js.map +1 -1
- package/package.json +9 -7
- package/dist/chains/planner.d.ts +0 -4
- package/dist/chains/planner.js +0 -87
- package/dist/chains/planner.js.map +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
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.createGetNodeParameterTool = createGetNodeParameterTool;
|
|
7
|
+
const tools_1 = require("@langchain/core/tools");
|
|
8
|
+
const get_1 = __importDefault(require("lodash/get"));
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const helpers_1 = require("../tools/helpers");
|
|
12
|
+
const errors_1 = require("../errors");
|
|
13
|
+
const progress_1 = require("./helpers/progress");
|
|
14
|
+
const response_1 = require("./helpers/response");
|
|
15
|
+
const validation_1 = require("./helpers/validation");
|
|
16
|
+
const getNodeParameterSchema = zod_1.z.object({
|
|
17
|
+
nodeId: zod_1.z.string().describe('The ID of the node to extract parameter value'),
|
|
18
|
+
path: zod_1.z
|
|
19
|
+
.string()
|
|
20
|
+
.describe('Path to the specific parameter to extract, e.g., "url" or "options.baseUrl"'),
|
|
21
|
+
});
|
|
22
|
+
function extractParameterValue(node, path) {
|
|
23
|
+
const nodeParameters = node.parameters;
|
|
24
|
+
return (0, get_1.default)(nodeParameters, path);
|
|
25
|
+
}
|
|
26
|
+
function formatNodeParameter(path, value) {
|
|
27
|
+
const parts = [];
|
|
28
|
+
parts.push('<node_parameter>');
|
|
29
|
+
parts.push('<parameter_path>');
|
|
30
|
+
parts.push(path);
|
|
31
|
+
parts.push('</parameter_path>');
|
|
32
|
+
parts.push('<parameter_value>');
|
|
33
|
+
if (typeof value === 'string') {
|
|
34
|
+
parts.push(value);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
parts.push(JSON.stringify(value, null, 2));
|
|
38
|
+
}
|
|
39
|
+
parts.push('</parameter_value>');
|
|
40
|
+
parts.push('</node_parameter>');
|
|
41
|
+
return parts.join('\n');
|
|
42
|
+
}
|
|
43
|
+
function createGetNodeParameterTool(logger) {
|
|
44
|
+
const DISPLAY_TITLE = 'Getting node parameter';
|
|
45
|
+
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
46
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'get_node_parameter', DISPLAY_TITLE);
|
|
47
|
+
try {
|
|
48
|
+
const validatedInput = getNodeParameterSchema.parse(input);
|
|
49
|
+
const { nodeId, path } = validatedInput;
|
|
50
|
+
reporter.start(validatedInput);
|
|
51
|
+
logger?.debug(`Looking up parameter ${path} for ${nodeId}...`);
|
|
52
|
+
(0, progress_1.reportProgress)(reporter, `Looking up parameter ${path} for ${nodeId}...`);
|
|
53
|
+
const state = (0, helpers_1.getWorkflowState)();
|
|
54
|
+
const workflow = (0, helpers_1.getCurrentWorkflow)(state);
|
|
55
|
+
const node = (0, validation_1.validateNodeExists)(nodeId, workflow.nodes);
|
|
56
|
+
if (!node) {
|
|
57
|
+
logger?.debug(`Node with ID ${nodeId} not found`);
|
|
58
|
+
const error = (0, validation_1.createNodeNotFoundError)(nodeId);
|
|
59
|
+
reporter.error(error);
|
|
60
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
61
|
+
}
|
|
62
|
+
const parameterValue = extractParameterValue(node, path);
|
|
63
|
+
if (parameterValue === undefined) {
|
|
64
|
+
logger?.debug(`Parameter path ${path} not found in node ${node.name}`);
|
|
65
|
+
const error = new errors_1.ValidationError(`Parameter path "${path}" not found in node "${node.name}"`, {
|
|
66
|
+
extra: { nodeId, path },
|
|
67
|
+
});
|
|
68
|
+
reporter.error(error);
|
|
69
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
70
|
+
}
|
|
71
|
+
logger?.debug(`Parameter value for path ${path} in node ${node.name} retrieved`);
|
|
72
|
+
const formattedParameterValue = formatNodeParameter(path, parameterValue);
|
|
73
|
+
if (formattedParameterValue.length > constants_1.MAX_PARAMETER_VALUE_LENGTH) {
|
|
74
|
+
const error = (0, helpers_1.createNodeParameterTooLargeError)(nodeId, path, constants_1.MAX_PARAMETER_VALUE_LENGTH);
|
|
75
|
+
reporter.error(error);
|
|
76
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
77
|
+
}
|
|
78
|
+
const output = {
|
|
79
|
+
message: 'Parameter value retrieved successfully',
|
|
80
|
+
};
|
|
81
|
+
reporter.complete(output);
|
|
82
|
+
return (0, response_1.createSuccessResponse)(config, formattedParameterValue);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
if (error instanceof zod_1.z.ZodError) {
|
|
86
|
+
const validationError = new errors_1.ValidationError('Invalid input parameters', {
|
|
87
|
+
extra: { errors: error.errors },
|
|
88
|
+
});
|
|
89
|
+
reporter.error(validationError);
|
|
90
|
+
return (0, response_1.createErrorResponse)(config, validationError);
|
|
91
|
+
}
|
|
92
|
+
const toolError = new errors_1.ToolExecutionError(error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
93
|
+
toolName: 'get_node_parameter',
|
|
94
|
+
cause: error instanceof Error ? error : undefined,
|
|
95
|
+
});
|
|
96
|
+
reporter.error(toolError);
|
|
97
|
+
return (0, response_1.createErrorResponse)(config, toolError);
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
name: 'get_node_parameter',
|
|
101
|
+
description: 'Get the value of a specific parameter of a specific node. Use this ONLY to retrieve parameters omitted in the workflow JSON context because of the size.',
|
|
102
|
+
schema: getNodeParameterSchema,
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
tool: dynamicTool,
|
|
106
|
+
displayTitle: DISPLAY_TITLE,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=get-node-parameter.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-node-parameter.tool.js","sourceRoot":"","sources":["../../src/tools/get-node-parameter.tool.ts"],"names":[],"mappings":";;;;;AA2DA,gEAiGC;AA5JD,iDAA6C;AAE7C,qDAA6B;AAE7B,6BAAwB;AAExB,2CAAyD;AACzD,6CAIyB;AAEzB,sCAAgE;AAChE,iDAA4E;AAC5E,iDAAgF;AAChF,qDAAmF;AAMnF,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IAC5E,IAAI,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,6EAA6E,CAAC;CACzF,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,IAAW,EAAE,IAAY;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;IAEvC,OAAO,IAAA,aAAG,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAA6B;IACvE,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAKD,SAAgB,0BAA0B,CAAC,MAAe;IACzD,MAAM,aAAa,GAAG,wBAAwB,CAAC;IAE/C,MAAM,WAAW,GAAG,IAAA,YAAI,EACvB,CAAC,KAAc,EAAE,MAAM,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAErF,IAAI,CAAC;YAEJ,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;YAGxC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAG/B,MAAM,EAAE,KAAK,CAAC,wBAAwB,IAAI,QAAQ,MAAM,KAAK,CAAC,CAAC;YAC/D,IAAA,yBAAc,EAAC,QAAQ,EAAE,wBAAwB,IAAI,QAAQ,MAAM,KAAK,CAAC,CAAC;YAG1E,MAAM,KAAK,GAAG,IAAA,0BAAgB,GAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,KAAK,CAAC,CAAC;YAG3C,MAAM,IAAI,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK,CAAC,gBAAgB,MAAM,YAAY,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;gBAC9C,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAGD,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,EAAE,KAAK,CAAC,kBAAkB,IAAI,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,IAAI,wBAAe,CAChC,mBAAmB,IAAI,wBAAwB,IAAI,CAAC,IAAI,GAAG,EAC3D;oBACC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACvB,CACD,CAAC;gBACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAGD,MAAM,EAAE,KAAK,CAAC,4BAA4B,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;YAEjF,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAE1E,IAAI,uBAAuB,CAAC,MAAM,GAAG,sCAA0B,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,IAAA,0CAAgC,EAAC,MAAM,EAAE,IAAI,EAAE,sCAA0B,CAAC,CAAC;gBACzF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,MAAM,GAA2B;gBACtC,OAAO,EAAE,wCAAwC;aACjD,CAAC;YACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAG1B,OAAO,IAAA,gCAAqB,EAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,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,wBAAwB,EACjE;gBACC,QAAQ,EAAE,oBAAoB;gBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD,CACD,CAAC;YACF,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,oBAAoB;QAC1B,WAAW,EACV,0JAA0J;QAC3J,MAAM,EAAE,sBAAsB;KAC9B,CACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,aAAa;KAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolRunnableConfig } from '@langchain/core/tools';
|
|
2
2
|
import type { LangGraphRunnableConfig } from '@langchain/langgraph';
|
|
3
3
|
import type { ToolError, ProgressReporter, BatchReporter } from '../../types/tools';
|
|
4
|
-
export declare function createProgressReporter<TToolName extends string = string>(config: ToolRunnableConfig & LangGraphRunnableConfig, toolName: TToolName): ProgressReporter;
|
|
4
|
+
export declare function createProgressReporter<TToolName extends string = string>(config: ToolRunnableConfig & LangGraphRunnableConfig, toolName: TToolName, displayTitle: string, customTitle?: string): ProgressReporter;
|
|
5
5
|
export declare function reportStart<T>(reporter: ProgressReporter, input: T): void;
|
|
6
6
|
export declare function reportProgress(reporter: ProgressReporter, message: string, data?: Record<string, unknown>): void;
|
|
7
7
|
export declare function reportComplete<T>(reporter: ProgressReporter, output: T): void;
|
|
@@ -6,16 +6,22 @@ exports.reportProgress = reportProgress;
|
|
|
6
6
|
exports.reportComplete = reportComplete;
|
|
7
7
|
exports.reportError = reportError;
|
|
8
8
|
exports.createBatchProgressReporter = createBatchProgressReporter;
|
|
9
|
-
function createProgressReporter(config, toolName) {
|
|
9
|
+
function createProgressReporter(config, toolName, displayTitle, customTitle) {
|
|
10
10
|
const toolCallId = config.toolCall?.id;
|
|
11
|
+
let customDisplayTitle = customTitle;
|
|
11
12
|
const emit = (message) => {
|
|
12
13
|
config.writer?.(message);
|
|
13
14
|
};
|
|
14
|
-
const start = (input) => {
|
|
15
|
+
const start = (input, options) => {
|
|
16
|
+
if (options?.customDisplayTitle) {
|
|
17
|
+
customDisplayTitle = options.customDisplayTitle;
|
|
18
|
+
}
|
|
15
19
|
emit({
|
|
16
20
|
type: 'tool',
|
|
17
21
|
toolName,
|
|
18
22
|
toolCallId,
|
|
23
|
+
displayTitle,
|
|
24
|
+
customDisplayTitle,
|
|
19
25
|
status: 'running',
|
|
20
26
|
updates: [
|
|
21
27
|
{
|
|
@@ -30,6 +36,8 @@ function createProgressReporter(config, toolName) {
|
|
|
30
36
|
type: 'tool',
|
|
31
37
|
toolName,
|
|
32
38
|
toolCallId,
|
|
39
|
+
displayTitle,
|
|
40
|
+
customDisplayTitle,
|
|
33
41
|
status: 'running',
|
|
34
42
|
updates: [
|
|
35
43
|
{
|
|
@@ -44,6 +52,8 @@ function createProgressReporter(config, toolName) {
|
|
|
44
52
|
type: 'tool',
|
|
45
53
|
toolName,
|
|
46
54
|
toolCallId,
|
|
55
|
+
displayTitle,
|
|
56
|
+
customDisplayTitle,
|
|
47
57
|
status: 'completed',
|
|
48
58
|
updates: [
|
|
49
59
|
{
|
|
@@ -58,6 +68,8 @@ function createProgressReporter(config, toolName) {
|
|
|
58
68
|
type: 'tool',
|
|
59
69
|
toolName,
|
|
60
70
|
toolCallId,
|
|
71
|
+
displayTitle,
|
|
72
|
+
customDisplayTitle,
|
|
61
73
|
status: 'error',
|
|
62
74
|
updates: [
|
|
63
75
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/tools/helpers/progress.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/tools/helpers/progress.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,5 @@ export declare function validateConnection(sourceNode: INode, targetNode: INode)
|
|
|
9
9
|
export declare function createValidationError(message: string, code: string, details?: Record<string, string>): ToolError;
|
|
10
10
|
export declare function createNodeNotFoundError(nodeIdentifier: string): ToolError;
|
|
11
11
|
export declare function createNodeTypeNotFoundError(nodeTypeName: string): ToolError;
|
|
12
|
+
export declare function createNodeParameterTooLargeError(nodeId: string, parameter: string, maxSize: number): ToolError;
|
|
12
13
|
export declare function hasNodes(workflow: SimpleWorkflow): boolean;
|
|
@@ -8,6 +8,7 @@ exports.validateConnection = validateConnection;
|
|
|
8
8
|
exports.createValidationError = createValidationError;
|
|
9
9
|
exports.createNodeNotFoundError = createNodeNotFoundError;
|
|
10
10
|
exports.createNodeTypeNotFoundError = createNodeTypeNotFoundError;
|
|
11
|
+
exports.createNodeParameterTooLargeError = createNodeParameterTooLargeError;
|
|
11
12
|
exports.hasNodes = hasNodes;
|
|
12
13
|
const errors_1 = require("../../errors");
|
|
13
14
|
function validateNodeExists(nodeId, nodes) {
|
|
@@ -63,6 +64,18 @@ function createNodeTypeNotFoundError(nodeTypeName) {
|
|
|
63
64
|
details: { nodeTypeName },
|
|
64
65
|
};
|
|
65
66
|
}
|
|
67
|
+
function createNodeParameterTooLargeError(nodeId, parameter, maxSize) {
|
|
68
|
+
const error = new errors_1.ParameterTooLargeError('Parameter value is too large to retrieve', {
|
|
69
|
+
parameter,
|
|
70
|
+
nodeId,
|
|
71
|
+
maxSize,
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
message: error.message,
|
|
75
|
+
code: 'NODE_PARAMETER_TOO_LARGE',
|
|
76
|
+
details: { nodeId, parameter, maxSize: maxSize.toString() },
|
|
77
|
+
};
|
|
78
|
+
}
|
|
66
79
|
function hasNodes(workflow) {
|
|
67
80
|
return workflow.nodes.length > 0;
|
|
68
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/tools/helpers/validation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/tools/helpers/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
export declare function createNodeDetailsTool(nodeTypes: INodeTypeDescription[]):
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
3
|
+
export declare function createNodeDetailsTool(nodeTypes: INodeTypeDescription[]): {
|
|
4
|
+
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
5
|
+
nodeName: z.ZodString;
|
|
6
|
+
withParameters: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
7
|
+
withConnections: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
nodeName: string;
|
|
10
|
+
withParameters: boolean;
|
|
11
|
+
withConnections: boolean;
|
|
12
|
+
}, {
|
|
13
|
+
nodeName: string;
|
|
14
|
+
withParameters?: boolean | undefined;
|
|
15
|
+
withConnections?: boolean | undefined;
|
|
16
|
+
}>, unknown, {
|
|
17
|
+
nodeName: string;
|
|
18
|
+
withParameters?: boolean | undefined;
|
|
19
|
+
withConnections?: boolean | undefined;
|
|
20
|
+
}, import("@langchain/langgraph").Command<unknown>>;
|
|
21
|
+
displayTitle: string;
|
|
22
|
+
};
|
|
@@ -86,8 +86,9 @@ function extractNodeDetails(nodeType) {
|
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
function createNodeDetailsTool(nodeTypes) {
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
const DISPLAY_TITLE = 'Getting node details';
|
|
90
|
+
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
91
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'get_node_details', DISPLAY_TITLE);
|
|
91
92
|
try {
|
|
92
93
|
const validatedInput = nodeDetailsSchema.parse(input);
|
|
93
94
|
const { nodeName, withParameters, withConnections } = validatedInput;
|
|
@@ -129,5 +130,9 @@ function createNodeDetailsTool(nodeTypes) {
|
|
|
129
130
|
description: 'Get detailed information about a specific n8n node type including properties and available connections. Use this before adding nodes to understand their input/output structure.',
|
|
130
131
|
schema: nodeDetailsSchema,
|
|
131
132
|
});
|
|
133
|
+
return {
|
|
134
|
+
tool: dynamicTool,
|
|
135
|
+
displayTitle: DISPLAY_TITLE,
|
|
136
|
+
};
|
|
132
137
|
}
|
|
133
138
|
//# sourceMappingURL=node-details.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-details.tool.js","sourceRoot":"","sources":["../../src/tools/node-details.tool.ts"],"names":[],"mappings":";;AA+HA,
|
|
1
|
+
{"version":3,"file":"node-details.tool.js","sourceRoot":"","sources":["../../src/tools/node-details.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,58 @@
|
|
|
1
1
|
import { type INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
export declare function createNodeSearchTool(nodeTypes: INodeTypeDescription[]):
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
3
|
+
export declare function createNodeSearchTool(nodeTypes: INodeTypeDescription[]): {
|
|
4
|
+
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
5
|
+
queries: z.ZodArray<z.ZodObject<{
|
|
6
|
+
queryType: z.ZodEnum<["name", "subNodeSearch"]>;
|
|
7
|
+
query: z.ZodOptional<z.ZodString>;
|
|
8
|
+
connectionType: z.ZodOptional<z.ZodNativeEnum<{
|
|
9
|
+
readonly AiAgent: "ai_agent";
|
|
10
|
+
readonly AiChain: "ai_chain";
|
|
11
|
+
readonly AiDocument: "ai_document";
|
|
12
|
+
readonly AiEmbedding: "ai_embedding";
|
|
13
|
+
readonly AiLanguageModel: "ai_languageModel";
|
|
14
|
+
readonly AiMemory: "ai_memory";
|
|
15
|
+
readonly AiOutputParser: "ai_outputParser";
|
|
16
|
+
readonly AiRetriever: "ai_retriever";
|
|
17
|
+
readonly AiReranker: "ai_reranker";
|
|
18
|
+
readonly AiTextSplitter: "ai_textSplitter";
|
|
19
|
+
readonly AiTool: "ai_tool";
|
|
20
|
+
readonly AiVectorStore: "ai_vectorStore";
|
|
21
|
+
readonly Main: "main";
|
|
22
|
+
}>>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
queryType: "name" | "subNodeSearch";
|
|
25
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
26
|
+
query?: string | undefined;
|
|
27
|
+
}, {
|
|
28
|
+
queryType: "name" | "subNodeSearch";
|
|
29
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
30
|
+
query?: string | undefined;
|
|
31
|
+
}>, "many">;
|
|
22
32
|
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
queries: {
|
|
34
|
+
queryType: "name" | "subNodeSearch";
|
|
35
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
36
|
+
query?: string | undefined;
|
|
37
|
+
}[];
|
|
26
38
|
}, {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
query?: string | undefined;
|
|
48
|
-
}[];
|
|
49
|
-
}, import("@langchain/langgraph").Command<unknown>>;
|
|
39
|
+
queries: {
|
|
40
|
+
queryType: "name" | "subNodeSearch";
|
|
41
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
42
|
+
query?: string | undefined;
|
|
43
|
+
}[];
|
|
44
|
+
}>, {
|
|
45
|
+
queries: {
|
|
46
|
+
queryType: "name" | "subNodeSearch";
|
|
47
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
48
|
+
query?: string | undefined;
|
|
49
|
+
}[];
|
|
50
|
+
}, {
|
|
51
|
+
queries: {
|
|
52
|
+
queryType: "name" | "subNodeSearch";
|
|
53
|
+
connectionType?: "ai_agent" | "ai_chain" | "ai_document" | "ai_embedding" | "ai_languageModel" | "ai_memory" | "ai_outputParser" | "ai_retriever" | "ai_reranker" | "ai_textSplitter" | "ai_tool" | "ai_vectorStore" | "main" | undefined;
|
|
54
|
+
query?: string | undefined;
|
|
55
|
+
}[];
|
|
56
|
+
}, import("@langchain/langgraph").Command<unknown>>;
|
|
57
|
+
displayTitle: string;
|
|
58
|
+
};
|
|
@@ -74,8 +74,9 @@ function buildResponseMessage(results, nodeTypes) {
|
|
|
74
74
|
return responseContent;
|
|
75
75
|
}
|
|
76
76
|
function createNodeSearchTool(nodeTypes) {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
const DISPLAY_TITLE = 'Searching nodes';
|
|
78
|
+
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
79
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'search_nodes', DISPLAY_TITLE);
|
|
79
80
|
try {
|
|
80
81
|
const validatedInput = nodeSearchSchema.parse(input);
|
|
81
82
|
const { queries } = validatedInput;
|
|
@@ -142,5 +143,9 @@ Common AI connection types for sub-node search:
|
|
|
142
143
|
You can search for multiple different criteria at once by providing an array of queries.`,
|
|
143
144
|
schema: nodeSearchSchema,
|
|
144
145
|
});
|
|
146
|
+
return {
|
|
147
|
+
tool: dynamicTool,
|
|
148
|
+
displayTitle: DISPLAY_TITLE,
|
|
149
|
+
};
|
|
145
150
|
}
|
|
146
151
|
//# sourceMappingURL=node-search.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-search.tool.js","sourceRoot":"","sources":["../../src/tools/node-search.tool.ts"],"names":[],"mappings":";;AAiHA,
|
|
1
|
+
{"version":3,"file":"node-search.tool.js","sourceRoot":"","sources":["../../src/tools/node-search.tool.ts"],"names":[],"mappings":";;AAiHA,oDA0GC;AA3ND,iDAA6C;AAC7C,+CAA8E;AAC9E,6BAAwB;AAExB,sCAAgE;AAChE,qEAAgE;AAChE,iDAAyF;AACzF,iDAAgF;AAOhF,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAClF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,cAAc,EAAE,OAAC;SACf,UAAU,CAAC,kCAAmB,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;CACrF,CAAC,CAAC;AAKH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,OAAC;SACR,KAAK,CAAC,iBAAiB,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0DAA0D,CAAC;CACtE,CAAC,CAAC;AAOH,MAAM,YAAY,GAAG,CAAC,CAAC;AAKvB,SAAS,YAAY,CACpB,KAAkB,EAClB,YAA8B;IAE9B,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO;gBACN,aAAa,EAAE,EAAE;gBACjB,gBAAgB,EAAE,EAAE;aACpB,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO;YACN,aAAa;YACb,gBAAgB,EAAE,UAAU;SAC5B,CAAC;IACH,CAAC;SAAM,CAAC;QAEP,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,OAAO;gBACN,aAAa,EAAE,EAAE;gBACjB,gBAAgB,EAAE,EAAE;aACpB,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,sBAAsB,CACxD,cAAc,EACd,YAAY,EACZ,KAAK,CAAC,KAAK,CACX,CAAC;QACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK;YACnC,CAAC,CAAC,kBAAkB,cAAc,qBAAqB,KAAK,CAAC,KAAK,GAAG;YACrE,CAAC,CAAC,kBAAkB,cAAc,SAAS,CAAC;QAC7C,OAAO;YACN,aAAa;YACb,gBAAgB;SAChB,CAAC;IACH,CAAC;AACF,CAAC;AAKD,SAAS,oBAAoB,CAC5B,OAAoC,EACpC,SAAiC;IAEjC,MAAM,YAAY,GAAG,IAAI,qCAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,OAAO,EAAE,CAAC;QACzD,IAAI,eAAe;YAAE,eAAe,IAAI,MAAM,CAAC;QAE/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,eAAe,IAAI,4BAA4B,KAAK,GAAG,CAAC;QACzD,CAAC;aAAM,CAAC;YACP,eAAe,IAAI,SAAS,aAAa,CAAC,MAAM,oBAAoB,KAAK,KAAK,aAAa;iBACzF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBAC9C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,eAAe,CAAC;AACxB,CAAC;AAKD,SAAgB,oBAAoB,CAAC,SAAiC;IACrE,MAAM,aAAa,GAAG,iBAAiB,CAAC;IAExC,MAAM,WAAW,GAAG,IAAA,YAAI,EACvB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAE/E,IAAI,CAAC;YAEJ,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;YAGnC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE/B,MAAM,UAAU,GAAgC,EAAE,CAAC;YAGnD,MAAM,YAAY,GAAG,IAAI,qCAAgB,CAAC,SAAS,CAAC,CAAC;YAGrD,MAAM,aAAa,GAAG,IAAA,sCAA2B,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC/E,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAGnC,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAGpF,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAGrC,UAAU,CAAC,IAAI,CAAC;oBACf,KAAK,EAAE,gBAAgB;oBACvB,OAAO,EAAE,aAAa;iBACtB,CAAC,CAAC;YACJ,CAAC;YAGD,aAAa,CAAC,QAAQ,EAAE,CAAC;YAGzB,MAAM,eAAe,GAAG,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAGpE,MAAM,MAAM,GAAqB;gBAChC,OAAO,EAAE,UAAU;gBACnB,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,eAAe;aACxB,CAAC;YACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAG1B,OAAO,IAAA,gCAAqB,EAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,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,wBAAwB,EACjE;gBACC,QAAQ,EAAE,cAAc;gBACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACjD,CACD,CAAC;YACF,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,cAAc;QACpB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;yFAoByE;QACtF,MAAM,EAAE,gBAAgB;KACxB,CACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,aAAa;KAC3B,CAAC;AACH,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { ChatPromptTemplate } from '@langchain/core/prompts';
|
|
2
|
+
import type { WorkflowPlan } from '../../agents/workflow-planner-agent';
|
|
3
|
+
export declare const planFormatter: (plan?: WorkflowPlan | null) => string;
|
|
2
4
|
export declare const mainAgentPrompt: ChatPromptTemplate<any, any>;
|