@minded-ai/mindedjs 1.0.32 → 1.0.33
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/nodes/actionRunnerNode.d.ts.map +1 -1
- package/dist/nodes/actionRunnerNode.js +1 -0
- package/dist/nodes/actionRunnerNode.js.map +1 -1
- package/dist/nodes/addAppToolNode.d.ts +5 -5
- package/dist/nodes/addAppToolNode.d.ts.map +1 -1
- package/dist/nodes/addAppToolNode.js +53 -26
- package/dist/nodes/addAppToolNode.js.map +1 -1
- package/dist/nodes/addPromptNode.d.ts.map +1 -1
- package/dist/nodes/addPromptNode.js +10 -24
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.d.ts.map +1 -1
- package/dist/nodes/addToolNode.js +10 -26
- package/dist/nodes/addToolNode.js.map +1 -1
- package/package.json +1 -1
- package/src/nodes/addPromptNode.ts +13 -26
- package/src/nodes/addToolNode.ts +10 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionRunnerNode.d.ts","sourceRoot":"","sources":["../../src/nodes/actionRunnerNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAIzE,OAAO,EAAa,WAAW,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG9F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,QAAA,MAAM,gBAAgB,GAAI,MAAM,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,QAAQ,GAAG,WAAW,EAAE,KAAK,iBAAiB,EAAE,cAAc,MAAM,EAAE,UAAU,WAAW,EAAE,MACvJ,OAAO,OAAO,eAAe,CAAC,KAAK;;;;;
|
|
1
|
+
{"version":3,"file":"actionRunnerNode.d.ts","sourceRoot":"","sources":["../../src/nodes/actionRunnerNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAIzE,OAAO,EAAa,WAAW,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG9F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,QAAA,MAAM,gBAAgB,GAAI,MAAM,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,QAAQ,GAAG,WAAW,EAAE,KAAK,iBAAiB,EAAE,cAAc,MAAM,EAAE,UAAU,WAAW,EAAE,MACvJ,OAAO,OAAO,eAAe,CAAC,KAAK;;;;;EA2EpD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -13,6 +13,7 @@ const actionRunnerTool = (matchedTool, toolNode, llm, addedPrompt, history) => {
|
|
|
13
13
|
const executeWrapper = async (input) => {
|
|
14
14
|
try {
|
|
15
15
|
const response = await matchedTool.execute({ input, memory: state.memory, triggerInvocations: state.triggerInvocations });
|
|
16
|
+
console.log("response", response);
|
|
16
17
|
return response || {};
|
|
17
18
|
}
|
|
18
19
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionRunnerNode.js","sourceRoot":"","sources":["../../src/nodes/actionRunnerNode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actionRunnerNode.js","sourceRoot":"","sources":["../../src/nodes/actionRunnerNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { AppToolNode } from '../types/Flows.types';
|
|
2
|
+
import { PreCompiledGraph } from '../types/LangGraph.types';
|
|
3
|
+
import { LLMProviders } from '../types/LLM.types';
|
|
4
4
|
export declare const addAppToolNode: ({ graph, node, llm, }: {
|
|
5
5
|
graph: PreCompiledGraph;
|
|
6
6
|
node: AppToolNode;
|
|
7
|
-
llm:
|
|
8
|
-
}) => void
|
|
7
|
+
llm: (typeof LLMProviders)[keyof typeof LLMProviders];
|
|
8
|
+
}) => Promise<void>;
|
|
9
9
|
//# sourceMappingURL=addAppToolNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addAppToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"addAppToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAK7E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAO,MAAM,cAAc,GAAU,uBAIlC;IACC,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,CAAA,OAAO,YAAY,EAAC,MAAM,OAAO,YAAY,CAAC,CAAC;CACvD,kBAsDA,CAAC"}
|
|
@@ -1,34 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.addAppToolNode = void 0;
|
|
7
|
-
const
|
|
4
|
+
const tools_1 = require("@langchain/core/tools");
|
|
5
|
+
const messages_1 = require("@langchain/core/messages");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
8
7
|
const appActionRunnerTool_1 = require("../internalTools/appActionRunnerTool");
|
|
9
|
-
const
|
|
10
|
-
const addAppToolNode = ({ graph, node, llm, }) => {
|
|
8
|
+
const addAppToolNode = async ({ graph, node, llm, }) => {
|
|
11
9
|
const appRunnerTool = (0, appActionRunnerTool_1.getAppActionRunnerTool)(node.name);
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
10
|
+
const callback = async (state) => {
|
|
11
|
+
console.log(`Executing tool node ${appRunnerTool.name}`);
|
|
12
|
+
const executeWrapper = async (input) => {
|
|
13
|
+
try {
|
|
14
|
+
const response = await appRunnerTool.execute({ input, memory: state.memory, triggerInvocations: state.triggerInvocations });
|
|
15
|
+
return response || {};
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
console.error('Error executing tool', error);
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const prompt = `
|
|
23
|
+
Context:
|
|
24
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
25
|
+
|
|
26
|
+
Task:
|
|
27
|
+
Extract the necessary parameters for the tool "${appRunnerTool.name}" based on the context above and the previous messages.
|
|
28
|
+
|
|
29
|
+
${node.prompt ? `Additional guidance for parameter extraction: ${node.prompt}` : ''}
|
|
30
|
+
|
|
31
|
+
Important:
|
|
32
|
+
- Extract ONLY the parameters that match the schema
|
|
33
|
+
- Use your best judgment to fill in any missing values
|
|
34
|
+
- Do not include any parameters not defined in the schema
|
|
35
|
+
- Return a valid JSON object matching the schema exactly
|
|
36
|
+
`;
|
|
37
|
+
const structuredLlm = llm.withStructuredOutput(appRunnerTool.input);
|
|
38
|
+
const validMessages = state.messages.filter((msg, index) => {
|
|
39
|
+
if (msg instanceof messages_1.ToolMessage) {
|
|
40
|
+
const prevMsg = state.messages[index - 1];
|
|
41
|
+
return prevMsg && 'tool_calls' in prevMsg;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
});
|
|
45
|
+
const structuredResponse = await structuredLlm.invoke([...validMessages, new messages_1.SystemMessage(prompt)]);
|
|
46
|
+
const tool = (0, tools_1.tool)(executeWrapper, {
|
|
47
|
+
name: appRunnerTool.name,
|
|
48
|
+
description: appRunnerTool.description,
|
|
49
|
+
schema: appRunnerTool.input,
|
|
50
|
+
});
|
|
51
|
+
const response = await tool.invoke({
|
|
52
|
+
args: structuredResponse,
|
|
53
|
+
type: 'tool_call',
|
|
54
|
+
id: (0, uuid_1.v4)(),
|
|
55
|
+
name: appRunnerTool.name,
|
|
56
|
+
});
|
|
57
|
+
return { messages: [response] };
|
|
58
|
+
};
|
|
32
59
|
graph.addNode(node.name, callback);
|
|
33
60
|
};
|
|
34
61
|
exports.addAppToolNode = addAppToolNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":";;;AACA,iDAA8D;AAE9D,uDAAsE;AAGtE,+BAAoC;AAEpC,8EAA8E;AAEvE,MAAM,cAAc,GAAG,KAAK,EAAE,EACjC,KAAK,EACL,IAAI,EACJ,GAAG,GAKN,EAAE,EAAE;IACD,MAAM,aAAa,GAAG,IAAA,4CAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QACzE,OAAO,CAAC,GAAG,CAAC,uBAAuB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAG,KAAK,EAAE,KAA0C,EAAE,EAAE;YACxE,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAC5H,OAAO,QAAQ,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QACF,MAAM,MAAM,GAAG;;2BAEI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;;;yDAGE,aAAa,CAAC,IAAI;;UAEjE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iDAAiD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;SAOlF,CAAC;QACF,MAAM,aAAa,GAAG,GAAG,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,GAAG,YAAY,sBAAW,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,OAAO,OAAO,IAAI,YAAY,IAAI,OAAO,CAAC;YAC9C,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,EAAE,IAAI,wBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACpG,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,cAAc,EAAE;YACvC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,MAAM,EAAE,aAAa,CAAC,KAAK;SAC9B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B;YACI,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,IAAI,EAAE,aAAa,CAAC,IAAI;SAC3B,CACJ,CAAA;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpC,CAAC,CAAA;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC;AA9DW,QAAA,cAAc,kBA8DzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,yBAAyB,EAAe,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,mCAAmC,mBAAmB,kBAuCzF,CAAC"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addPromptNode = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const prebuilt_1 = require("@langchain/langgraph/prebuilt");
|
|
6
4
|
const messages_1 = require("@langchain/core/messages");
|
|
7
5
|
const tools_1 = require("@langchain/core/tools");
|
|
8
6
|
const AgentEvents_1 = require("../events/AgentEvents");
|
|
9
7
|
const createLlmInstance_1 = require("../llm/createLlmInstance");
|
|
10
|
-
const langgraph_1 = require("@langchain/langgraph");
|
|
11
|
-
const uuid_1 = require("uuid");
|
|
12
8
|
const addPromptNode = async ({ graph, node, llm, tools, emit }) => {
|
|
13
9
|
const callback = async (state, { configurable }) => {
|
|
14
10
|
console.log(`Executing prompt node ${node.name}`);
|
|
@@ -20,34 +16,24 @@ const addPromptNode = async ({ graph, node, llm, tools, emit }) => {
|
|
|
20
16
|
description: tool.description,
|
|
21
17
|
schema: tool.input,
|
|
22
18
|
}));
|
|
23
|
-
const agent = (0, prebuilt_1.createReactAgent)({
|
|
24
|
-
checkpointer: new langgraph_1.MemorySaver(),
|
|
25
|
-
llm: llmToUse,
|
|
26
|
-
tools: globalTools,
|
|
27
|
-
responseFormat: zod_1.z.object({
|
|
28
|
-
waitForUserResponse: zod_1.z.boolean(),
|
|
29
|
-
done: zod_1.z.boolean(),
|
|
30
|
-
}),
|
|
31
|
-
});
|
|
32
19
|
const message = `
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- Conversation history: ${state.messages.map((message) => `${message.getType()}: ${message.content}`).join('\n')}
|
|
20
|
+
Additional context:
|
|
21
|
+
${node.prompt ? `- User instructions: ${node.prompt}` : ''}
|
|
22
|
+
${state.memory ? `- Workflow memory: ${JSON.stringify(state.memory)}` : ''}
|
|
37
23
|
`;
|
|
38
|
-
const result = await
|
|
39
|
-
messages
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (
|
|
24
|
+
const result = await llmToUse.bindTools(globalTools).invoke([
|
|
25
|
+
...state.messages,
|
|
26
|
+
new messages_1.SystemMessage(message)
|
|
27
|
+
]);
|
|
28
|
+
if (result.getType() === 'ai') {
|
|
43
29
|
await emit(AgentEvents_1.AgentEvents.AI_MESSAGE, {
|
|
44
|
-
message:
|
|
30
|
+
message: result.content,
|
|
45
31
|
memory: state.memory,
|
|
46
32
|
sessionId: configurable.thread_id,
|
|
47
33
|
});
|
|
48
34
|
}
|
|
49
35
|
return {
|
|
50
|
-
messages: [
|
|
36
|
+
messages: [result],
|
|
51
37
|
};
|
|
52
38
|
};
|
|
53
39
|
graph.addNode(node.name, callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":";;;AAKA,uDAAyD;AAEzD,iDAA8D;AAC9D,uDAA+E;AAE/E,gEAA6D;AAUtD,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE,EAAE;IAC5F,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QAC7F,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,qCAAiB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE1E,MAAM,WAAW,GAAG,KAAK;aACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAA,YAAa,EAAC,CAAC,KAAiC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAClG,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK;SACnB,CAAC,CACH,CAAC;QAEJ,MAAM,OAAO,GAAG;;MAEd,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;MACxD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KACzE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAC1D,GAAG,KAAK,CAAC,QAAQ;YACjB,IAAI,wBAAa,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,yBAAW,CAAC,UAAU,EAAE;gBACjC,OAAO,EAAE,MAAM,CAAC,OAAiB;gBACjC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC;IACJ,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAvCW,QAAA,aAAa,iBAuCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"addToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAI7E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,WAAW,GAAU,MAAM,EAAE,8BAKvC;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,CAAA,OAAO,YAAY,EAAC,MAAM,OAAO,YAAY,CAAC,CAAC;CACrD,kBAmCA,CAAC"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addToolNode = void 0;
|
|
4
4
|
const tools_1 = require("@langchain/core/tools");
|
|
5
5
|
const messages_1 = require("@langchain/core/messages");
|
|
6
|
-
const uuid_1 = require("uuid");
|
|
7
6
|
const addToolNode = async ({ graph, node, tools, llm, }) => {
|
|
8
7
|
const toolNode = node;
|
|
9
8
|
const matchedTool = tools.find((tool) => tool.name === toolNode.toolName);
|
|
@@ -22,36 +21,21 @@ const addToolNode = async ({ graph, node, tools, llm, }) => {
|
|
|
22
21
|
throw error;
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
|
-
const prompt = `
|
|
26
|
-
Context:
|
|
27
|
-
workflow memory: ${JSON.stringify(state.memory)}
|
|
28
|
-
|
|
29
|
-
Task:
|
|
30
|
-
Extract the necessary parameters for the tool "${matchedTool.name}" based on the context above and the previous messages.
|
|
31
|
-
|
|
32
|
-
${toolNode.prompt ? `Additional guidance for parameter extraction: ${toolNode.prompt}` : ''}
|
|
33
|
-
|
|
34
|
-
Important:
|
|
35
|
-
- Extract ONLY the parameters that match the schema
|
|
36
|
-
- Use your best judgment to fill in any missing values
|
|
37
|
-
- Do not include any parameters not defined in the schema
|
|
38
|
-
- Return a valid JSON object matching the schema exactly
|
|
39
|
-
`;
|
|
40
|
-
const structuredLlm = llm.withStructuredOutput(matchedTool.input);
|
|
41
|
-
const structuredResponse = await structuredLlm.invoke([...state.messages, new messages_1.SystemMessage(prompt)]);
|
|
42
24
|
const tool = (0, tools_1.tool)(executeWrapper, {
|
|
43
25
|
name: matchedTool.name,
|
|
44
26
|
description: matchedTool.description,
|
|
45
27
|
schema: matchedTool.input,
|
|
46
28
|
});
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
29
|
+
const prompt = `
|
|
30
|
+
Additional context:
|
|
31
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
32
|
+
`;
|
|
33
|
+
const AIToolCallMessage = await llm.bindTools([tool], {
|
|
34
|
+
tool_choice: tool.name,
|
|
35
|
+
}).invoke([...state.messages, new messages_1.SystemMessage(prompt)]);
|
|
36
|
+
const toolCallMessage = await tool.invoke(AIToolCallMessage.tool_calls[0]);
|
|
37
|
+
const toolMemory = extractToolMemoryResponse(toolCallMessage);
|
|
38
|
+
return { memory: toolMemory, messages: [AIToolCallMessage, toolCallMessage] };
|
|
55
39
|
};
|
|
56
40
|
graph.addNode(node.name, callback);
|
|
57
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":";;;AAEA,iDAA8D;AAE9D,uDAAsE;
|
|
1
|
+
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":";;;AAEA,iDAA8D;AAE9D,uDAAsE;AAK/D,MAAM,WAAW,GAAG,KAAK,EAAU,EACxC,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,GAMJ,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAgB,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAwC,EAAE,EAAE;YACxE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAC1H,OAAO,QAAQ,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,cAAc,EAAE;YACzC,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,MAAM,EAAE,WAAW,CAAC,KAAK;SAC1B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;;6BAEU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;SAChD,CAAC;QACN,MAAM,iBAAiB,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;YACpD,WAAW,EAAE,IAAI,CAAC,IAAI;SACvB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,wBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,MAAM,UAAU,GAAG,yBAAyB,CAAS,eAA8B,CAAC,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC;IAChF,CAAC,CAAA;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AA7CW,QAAA,WAAW,eA6CtB;AAGF,MAAM,yBAAyB,GAAG,CAAS,WAAwB,EAAmB,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAiB,CAAC,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,15 +3,12 @@ import { PromptNode } from '../types/Flows.types';
|
|
|
3
3
|
import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { BaseLanguageModel } from '@langchain/core/language_models/base';
|
|
6
|
-
import { createReactAgent } from '@langchain/langgraph/prebuilt';
|
|
7
6
|
import { SystemMessage } from '@langchain/core/messages';
|
|
8
7
|
import { Tool } from '../types/Tools.types';
|
|
9
8
|
import { tool as langchainTool } from '@langchain/core/tools';
|
|
10
9
|
import { AgentEventRequestPayloads, AgentEvents } from '../events/AgentEvents';
|
|
11
10
|
import { EmitSignature } from '../types/Agent.types';
|
|
12
11
|
import { createLlmInstance } from '../llm/createLlmInstance';
|
|
13
|
-
import { MemorySaver } from '@langchain/langgraph';
|
|
14
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
15
12
|
|
|
16
13
|
type AddPromptNodeParams = {
|
|
17
14
|
graph: PreCompiledGraph;
|
|
@@ -36,37 +33,27 @@ export const addPromptNode = async ({ graph, node, llm, tools, emit }: AddPrompt
|
|
|
36
33
|
}),
|
|
37
34
|
);
|
|
38
35
|
|
|
39
|
-
const agent = createReactAgent({
|
|
40
|
-
checkpointer: new MemorySaver(),
|
|
41
|
-
llm: llmToUse,
|
|
42
|
-
tools: globalTools,
|
|
43
|
-
responseFormat: z.object({
|
|
44
|
-
waitForUserResponse: z.boolean(),
|
|
45
|
-
done: z.boolean(),
|
|
46
|
-
}),
|
|
47
|
-
});
|
|
48
36
|
const message = `
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- Conversation history: ${state.messages.map((message) => `${message.getType()}: ${message.content}`).join('\n')}
|
|
37
|
+
Additional context:
|
|
38
|
+
${node.prompt ? `- User instructions: ${node.prompt}` : ''}
|
|
39
|
+
${state.memory ? `- Workflow memory: ${JSON.stringify(state.memory)}` : ''}
|
|
53
40
|
`;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (lastMessage.getType() === 'ai') {
|
|
41
|
+
|
|
42
|
+
const result = await llmToUse.bindTools(globalTools).invoke([
|
|
43
|
+
...state.messages,
|
|
44
|
+
new SystemMessage(message)
|
|
45
|
+
]);
|
|
46
|
+
|
|
47
|
+
if (result.getType() === 'ai') {
|
|
62
48
|
await emit(AgentEvents.AI_MESSAGE, {
|
|
63
|
-
message:
|
|
49
|
+
message: result.content as string,
|
|
64
50
|
memory: state.memory,
|
|
65
51
|
sessionId: configurable.thread_id,
|
|
66
52
|
});
|
|
67
53
|
}
|
|
54
|
+
|
|
68
55
|
return {
|
|
69
|
-
messages: [
|
|
56
|
+
messages: [result],
|
|
70
57
|
};
|
|
71
58
|
};
|
|
72
59
|
graph.addNode(node.name, callback);
|
package/src/nodes/addToolNode.ts
CHANGED
|
@@ -5,7 +5,6 @@ import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
|
|
|
5
5
|
import { SystemMessage, ToolMessage } from '@langchain/core/messages';
|
|
6
6
|
import { RunnableLike } from '@langchain/core/runnables';
|
|
7
7
|
import { z } from 'zod';
|
|
8
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
9
8
|
import { LLMProviders } from '../types/LLM.types';
|
|
10
9
|
|
|
11
10
|
export const addToolNode = async <Memory>({
|
|
@@ -36,38 +35,21 @@ export const addToolNode = async <Memory>({
|
|
|
36
35
|
throw error;
|
|
37
36
|
}
|
|
38
37
|
};
|
|
39
|
-
const prompt = `
|
|
40
|
-
Context:
|
|
41
|
-
workflow memory: ${JSON.stringify(state.memory)}
|
|
42
|
-
|
|
43
|
-
Task:
|
|
44
|
-
Extract the necessary parameters for the tool "${matchedTool.name}" based on the context above and the previous messages.
|
|
45
|
-
|
|
46
|
-
${toolNode.prompt ? `Additional guidance for parameter extraction: ${toolNode.prompt}` : ''}
|
|
47
|
-
|
|
48
|
-
Important:
|
|
49
|
-
- Extract ONLY the parameters that match the schema
|
|
50
|
-
- Use your best judgment to fill in any missing values
|
|
51
|
-
- Do not include any parameters not defined in the schema
|
|
52
|
-
- Return a valid JSON object matching the schema exactly
|
|
53
|
-
`;
|
|
54
|
-
const structuredLlm = llm.withStructuredOutput(matchedTool.input);
|
|
55
|
-
const structuredResponse = await structuredLlm.invoke([...state.messages, new SystemMessage(prompt)])
|
|
56
38
|
const tool = langchainTool(executeWrapper, {
|
|
57
39
|
name: matchedTool.name,
|
|
58
40
|
description: matchedTool.description,
|
|
59
41
|
schema: matchedTool.input,
|
|
60
42
|
});
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
69
|
-
const toolMemory = extractToolMemoryResponse<Memory>(
|
|
70
|
-
return { memory: toolMemory, messages: [
|
|
43
|
+
const prompt = `
|
|
44
|
+
Additional context:
|
|
45
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
46
|
+
`;
|
|
47
|
+
const AIToolCallMessage = await llm.bindTools([tool], {
|
|
48
|
+
tool_choice: tool.name,
|
|
49
|
+
}).invoke([...state.messages, new SystemMessage(prompt)]);
|
|
50
|
+
const toolCallMessage = await tool.invoke(AIToolCallMessage.tool_calls[0])
|
|
51
|
+
const toolMemory = extractToolMemoryResponse<Memory>(toolCallMessage as ToolMessage);
|
|
52
|
+
return { memory: toolMemory, messages: [AIToolCallMessage, toolCallMessage] };
|
|
71
53
|
}
|
|
72
54
|
graph.addNode(node.name, callback);
|
|
73
55
|
};
|