@minded-ai/mindedjs 1.0.27 → 1.0.29
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/agent.d.ts +2 -1
- package/dist/agent.js +30 -21
- package/dist/agent.js.map +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/edges/createDirectEdge.d.ts +1 -3
- package/dist/edges/createDirectEdge.js +1 -2
- package/dist/edges/createDirectEdge.js.map +1 -1
- package/dist/edges/createPromptRouter.js +4 -1
- package/dist/edges/createPromptRouter.js.map +1 -1
- package/dist/edges/edgeFactory.js +71 -48
- package/dist/edges/edgeFactory.js.map +1 -1
- package/dist/events/AgentEvents.d.ts +3 -0
- package/dist/events/AgentEvents.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internalTools/appActionRunnerTool.d.ts +6 -0
- package/dist/internalTools/appActionRunnerTool.js +55 -0
- package/dist/internalTools/appActionRunnerTool.js.map +1 -0
- package/dist/llm/createLlmInstance.d.ts +1 -1
- package/dist/nodes/actionRunnerTool.d.ts +11 -0
- package/dist/nodes/actionRunnerTool.js +84 -0
- package/dist/nodes/actionRunnerTool.js.map +1 -0
- package/dist/nodes/addAppTool.d.ts +8 -0
- package/dist/nodes/addAppTool.js +12 -0
- package/dist/nodes/addAppTool.js.map +1 -0
- package/dist/nodes/addAppToolNode.d.ts +8 -0
- package/dist/nodes/addAppToolNode.js +29 -0
- package/dist/nodes/addAppToolNode.js.map +1 -0
- package/dist/nodes/addPromptNode.js +6 -2
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.d.ts +4 -4
- package/dist/nodes/addToolNode.js +6 -3
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/nodes/addTriggerNode.js.map +1 -1
- package/dist/nodes/callTool.d.ts +10 -0
- package/dist/nodes/callTool.js +57 -0
- package/dist/nodes/callTool.js.map +1 -0
- package/dist/nodes/nodeFactory.js +1 -1
- package/dist/nodes/nodeFactory.js.map +1 -1
- package/dist/nodes/toolNodeRunner.d.ts +15 -0
- package/dist/nodes/toolNodeRunner.js +79 -0
- package/dist/nodes/toolNodeRunner.js.map +1 -0
- package/dist/platform/config.d.ts +9 -0
- package/dist/platform/config.js +38 -0
- package/dist/platform/config.js.map +1 -0
- package/dist/platform/mindedChatOpenAI.d.ts +4 -0
- package/dist/platform/mindedChatOpenAI.js +20 -0
- package/dist/platform/mindedChatOpenAI.js.map +1 -0
- package/dist/platform/mindedConnection.js +4 -3
- package/dist/platform/mindedConnection.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +1 -0
- package/dist/platform/mindedRequest.js +2 -2
- package/dist/platform/mindedRequest.js.map +1 -1
- package/dist/tools/appToolRunner.d.ts +30 -0
- package/dist/tools/appToolRunner.js +35 -0
- package/dist/tools/appToolRunner.js.map +1 -0
- package/dist/tools/parser.d.ts +14 -0
- package/dist/tools/parser.js +17 -0
- package/dist/tools/parser.js.map +1 -0
- package/dist/tools/triggerTypeToDefaultMessage.d.ts +3 -0
- package/dist/tools/triggerTypeToDefaultMessage.js +10 -0
- package/dist/tools/triggerTypeToDefaultMessage.js.map +1 -0
- package/dist/triggers/triggerTypeToDefaultMessage.d.ts +3 -0
- package/dist/triggers/triggerTypeToDefaultMessage.js +10 -0
- package/dist/triggers/triggerTypeToDefaultMessage.js.map +1 -0
- package/dist/types/Agent.types.d.ts +12 -0
- package/dist/types/Agent.types.js +6 -0
- package/dist/types/Agent.types.js.map +1 -1
- package/dist/types/Flows.types.d.ts +15 -3
- package/dist/types/LLM.types.d.ts +2 -6
- package/dist/types/LLM.types.js +2 -0
- package/dist/types/LLM.types.js.map +1 -1
- package/dist/types/LangGraph.types.d.ts +3 -1
- package/dist/types/LangGraph.types.js +7 -3
- package/dist/types/LangGraph.types.js.map +1 -1
- package/dist/types/Tools.types.d.ts +3 -1
- package/package.json +1 -1
- package/src/agent.ts +1 -1
- package/dist/types/Triggers.types.d.ts +0 -1
- package/dist/types/Triggers.types.js +0 -3
- package/dist/types/Triggers.types.js.map +0 -1
package/dist/agent.d.ts
CHANGED
|
@@ -25,10 +25,11 @@ export declare class Agent {
|
|
|
25
25
|
private validate;
|
|
26
26
|
private initializeGraph;
|
|
27
27
|
private init;
|
|
28
|
-
invoke({ triggerBody, triggerName, sessionId }: {
|
|
28
|
+
invoke({ triggerBody, triggerName, sessionId, appName, }: {
|
|
29
29
|
triggerBody: any;
|
|
30
30
|
triggerName: string;
|
|
31
31
|
sessionId?: string;
|
|
32
|
+
appName?: string;
|
|
32
33
|
}): Promise<import("@langchain/langgraph").StateType<import("@langchain/langgraph").StateDefinition>>;
|
|
33
34
|
on<E extends keyof AgentEventRequestPayloads<z.infer<typeof this.memorySchema>>>(event: E, handler: (payload: AgentEventRequestPayloads<z.infer<typeof this.memorySchema>>[E]) => Promise<AgentEventResponsePayloads<z.infer<typeof this.memorySchema>>[E] | void>): void;
|
|
34
35
|
private emit;
|
package/dist/agent.js
CHANGED
|
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.Agent = void 0;
|
|
37
40
|
const Flows_types_1 = require("./types/Flows.types");
|
|
@@ -50,6 +53,8 @@ const createLlmInstance_1 = require("./llm/createLlmInstance");
|
|
|
50
53
|
const dotenv_1 = require("dotenv");
|
|
51
54
|
const path_1 = require("path");
|
|
52
55
|
const checkpointSaverFactory_1 = require("./checkpointer/checkpointSaverFactory");
|
|
56
|
+
const config_1 = require("./platform/config");
|
|
57
|
+
const triggerTypeToDefaultMessage_1 = __importDefault(require("./triggers/triggerTypeToDefaultMessage"));
|
|
53
58
|
(0, dotenv_1.config)({ path: (0, path_1.resolve)(__dirname, '../.env') });
|
|
54
59
|
class Agent {
|
|
55
60
|
constructor(params) {
|
|
@@ -63,16 +68,13 @@ class Agent {
|
|
|
63
68
|
this.platformToken = platformToken;
|
|
64
69
|
this.llm = (0, createLlmInstance_1.createLlmInstance)(config.llm);
|
|
65
70
|
this.validate();
|
|
66
|
-
|
|
71
|
+
const { env, runLocally } = (0, config_1.getConfig)();
|
|
72
|
+
if (env !== 'test' && !runLocally) {
|
|
67
73
|
this.mindedConnection = new mindedConnection_1.MindedConnection();
|
|
68
74
|
this.mindedConnection.start();
|
|
69
75
|
this.mindedConnection.on(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppTrigger, async (message) => {
|
|
70
76
|
const trigger = message;
|
|
71
|
-
await this.invoke({
|
|
72
|
-
triggerBody: trigger.body,
|
|
73
|
-
triggerName: trigger.name,
|
|
74
|
-
sessionId: trigger.cnvId,
|
|
75
|
-
});
|
|
77
|
+
await this.invoke({ triggerBody: trigger.body, triggerName: trigger.name, appName: trigger.appName, sessionId: trigger.cnvId });
|
|
76
78
|
});
|
|
77
79
|
}
|
|
78
80
|
this.checkpointer = memorySaver || (0, checkpointSaverFactory_1.createCheckpointSaver)(this.mindedConnection);
|
|
@@ -154,39 +156,46 @@ class Agent {
|
|
|
154
156
|
messages: [],
|
|
155
157
|
memory: {},
|
|
156
158
|
triggerMetadata: null,
|
|
157
|
-
|
|
159
|
+
history: [],
|
|
160
|
+
triggerInvocations: [],
|
|
158
161
|
};
|
|
159
162
|
}
|
|
160
|
-
async invoke({ triggerBody, triggerName, sessionId }) {
|
|
161
|
-
var _a, _b, _c, _d;
|
|
163
|
+
async invoke({ triggerBody, triggerName, sessionId, appName, }) {
|
|
164
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
162
165
|
const session = sessionId || (0, uuid_1.v4)();
|
|
163
166
|
const results = await this.emit(AgentEvents_1.AgentEvents.TRIGGER_EVENT, {
|
|
164
167
|
triggerName,
|
|
165
168
|
triggerBody,
|
|
166
169
|
});
|
|
167
170
|
const handlerResult = results.find((r) => r !== undefined);
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
+
let memoryUpdate = {};
|
|
172
|
+
let messages = [];
|
|
173
|
+
if (handlerResult) {
|
|
174
|
+
memoryUpdate = handlerResult.memory || {};
|
|
175
|
+
messages = (_a = handlerResult.messages) !== null && _a !== void 0 ? _a : [];
|
|
171
176
|
}
|
|
172
|
-
|
|
173
|
-
|
|
177
|
+
else if (appName) {
|
|
178
|
+
messages = (_d = (_c = (_b = triggerTypeToDefaultMessage_1.default[appName]) === null || _b === void 0 ? void 0 : _b[triggerName]) === null || _c === void 0 ? void 0 : _c.call(_b, triggerBody)) !== null && _d !== void 0 ? _d : [];
|
|
179
|
+
}
|
|
180
|
+
const triggerInvocation = { appName, triggerName, triggerBody };
|
|
181
|
+
const history = [
|
|
182
|
+
{
|
|
183
|
+
type: 'triggerInvocation',
|
|
184
|
+
...triggerInvocation,
|
|
185
|
+
},
|
|
186
|
+
];
|
|
174
187
|
console.log(`Invoking trigger ${triggerName} with session ${session}`);
|
|
175
188
|
const config = { configurable: { thread_id: session, recursionLimit: 3 } };
|
|
176
|
-
// const triggerNode = this.compiledGraph.builder.nodes[triggerName];
|
|
177
|
-
// if (!triggerNode) {
|
|
178
|
-
// throw new Error(`Trigger node not found: ${triggerName}`);
|
|
179
|
-
// }
|
|
180
189
|
const state = await this.compiledGraph.getState(config);
|
|
181
190
|
// Resume interruption
|
|
182
|
-
if (((
|
|
191
|
+
if (((_g = (_f = (_e = state.tasks) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.interrupts) === null || _g === void 0 ? void 0 : _g.length) > 0) {
|
|
183
192
|
const res = await this.compiledGraph.invoke(new langgraph_1.Command({
|
|
184
|
-
resume: { memory: memoryUpdate, messages },
|
|
193
|
+
resume: { memory: memoryUpdate, messages, history, triggerInvocations: [triggerInvocation] },
|
|
185
194
|
}), config);
|
|
186
195
|
return res;
|
|
187
196
|
}
|
|
188
197
|
else {
|
|
189
|
-
const res = await this.compiledGraph.invoke({ messages, memory: memoryUpdate }, config);
|
|
198
|
+
const res = await this.compiledGraph.invoke({ messages, memory: memoryUpdate, history, triggerInvocations: [triggerInvocation] }, config);
|
|
190
199
|
return res;
|
|
191
200
|
}
|
|
192
201
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createDirectEdge = void 0;
|
|
4
|
-
const createDirectEdge = (
|
|
4
|
+
const createDirectEdge = (edge) => {
|
|
5
5
|
return async () => {
|
|
6
6
|
// For direct edges, we just return the target of the first edge
|
|
7
7
|
// since there's no conditional logic needed
|
|
8
|
-
const edge = edges[0];
|
|
9
8
|
console.log(`Executing edge ${JSON.stringify(edge)}`);
|
|
10
9
|
return edge.target;
|
|
11
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDirectEdge.js","sourceRoot":"","sources":["../../src/edges/createDirectEdge.ts"],"names":[],"mappings":";;;AAEO,MAAM,gBAAgB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"createDirectEdge.js","sourceRoot":"","sources":["../../src/edges/createDirectEdge.ts"],"names":[],"mappings":";;;AAEO,MAAM,gBAAgB,GAAG,CAAC,IAAqB,EAAE,EAAE;IACxD,OAAO,KAAK,IAAI,EAAE;QAChB,gEAAgE;QAChE,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
|
|
@@ -4,8 +4,11 @@ exports.createPromptRouter = void 0;
|
|
|
4
4
|
const prebuilt_1 = require("@langchain/langgraph/prebuilt");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const messages_1 = require("@langchain/core/messages");
|
|
7
|
+
const langgraph_1 = require("@langchain/langgraph");
|
|
8
|
+
const uuid_1 = require("uuid");
|
|
7
9
|
const createPromptRouter = ({ edges, llm }) => {
|
|
8
10
|
const agent = (0, prebuilt_1.createReactAgent)({
|
|
11
|
+
checkpointer: new langgraph_1.MemorySaver(),
|
|
9
12
|
llm,
|
|
10
13
|
tools: [],
|
|
11
14
|
responseFormat: zod_1.z.object({
|
|
@@ -36,7 +39,7 @@ Based on the memory state and available nodes, determine the most appropriate ne
|
|
|
36
39
|
`,
|
|
37
40
|
}),
|
|
38
41
|
],
|
|
39
|
-
});
|
|
42
|
+
}, { configurable: { thread_id: (0, uuid_1.v4)() } });
|
|
40
43
|
try {
|
|
41
44
|
const nextNode = result.structuredResponse.nextNodeId;
|
|
42
45
|
console.log(`Next node: ${nextNode}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPromptRouter.js","sourceRoot":"","sources":["../../src/edges/createPromptRouter.ts"],"names":[],"mappings":";;;AAAA,4DAAiE;AACjE,6BAAwB;AAGxB,uDAAqD;
|
|
1
|
+
{"version":3,"file":"createPromptRouter.js","sourceRoot":"","sources":["../../src/edges/createPromptRouter.ts"],"names":[],"mappings":";;;AAAA,4DAAiE;AACjE,6BAAwB;AAGxB,uDAAqD;AAErD,oDAAmD;AACnD,+BAAoC;AAE7B,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAA4D,EAAE,EAAE;IAC7G,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC;QAC7B,YAAY,EAAE,IAAI,uBAAW,EAAE;QAC/B,GAAG;QACH,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC;YACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;YACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;KACH,CAAC,CAAC;IACH,OAAO,KAAK,EAAE,KAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAC/B;YACE,QAAQ,EAAE;gBACR,IAAI,oBAAS,CAAC;oBACZ,OAAO,EAAE;;;;;;EAMnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;;;EAG5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;;;OAGzB;iBACI,CAAC;aACH;SACF,EACD,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAA,SAAM,GAAE,EAAE,EAAE,CAC1C,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,kBAAkB,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,kBAAkB,sBAgD7B"}
|
|
@@ -8,58 +8,81 @@ const createDirectEdge_1 = require("./createDirectEdge");
|
|
|
8
8
|
const addHumanInTheLoopNode_1 = require("../nodes/addHumanInTheLoopNode");
|
|
9
9
|
const edgeFactory = ({ graph, edges, nodes, llm, }) => {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* This elegant abstraction handles both prompt and logical edges uniformly
|
|
11
|
+
* Creates a combined router that handles edge priority: step forward > logical > prompt
|
|
13
12
|
*/
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let effectiveSource = source;
|
|
21
|
-
// Handle human-in-the-loop enhancement
|
|
22
|
-
if ((_a = nodes[source]) === null || _a === void 0 ? void 0 : _a.humanInTheLoop) {
|
|
23
|
-
(0, addHumanInTheLoopNode_1.addHumanInTheLoopNode)({ graph, attachedToNodeName: source });
|
|
24
|
-
effectiveSource = (0, addHumanInTheLoopNode_1.buildHumanInTheLoopNodeName)(source);
|
|
13
|
+
const createCombinedRouter = (sourceNode, edgesBySource) => {
|
|
14
|
+
return async (state) => {
|
|
15
|
+
// Priority 1: Step forward edge (max 1)
|
|
16
|
+
if (edgesBySource.stepForward) {
|
|
17
|
+
const directRouter = (0, createDirectEdge_1.createDirectEdge)(edgesBySource.stepForward);
|
|
18
|
+
return await directRouter();
|
|
25
19
|
}
|
|
26
|
-
//
|
|
27
|
-
if (
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
34
|
-
edgesForSource.push(stayEdge);
|
|
20
|
+
// Priority 2: Logical condition edges
|
|
21
|
+
if (edgesBySource.logical.length > 0) {
|
|
22
|
+
const logicalRouter = (0, createLogicalRouter_1.createLogicalRouter)({ edges: edgesBySource.logical });
|
|
23
|
+
const result = await logicalRouter(state);
|
|
24
|
+
if (result && result !== edgesBySource.logical[0].source) {
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
35
27
|
}
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
// Priority 3: Prompt condition edges
|
|
29
|
+
if (edgesBySource.prompt.length > 0) {
|
|
30
|
+
const promptRouter = (0, createPromptRouter_1.createPromptRouter)({ edges: edgesBySource.prompt, llm });
|
|
31
|
+
return await promptRouter(state);
|
|
32
|
+
}
|
|
33
|
+
// Fallback: stay at current source node
|
|
34
|
+
return sourceNode;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Processes all edges for a specific source node with enhanced capabilities
|
|
39
|
+
*/
|
|
40
|
+
const processEdgesForNode = (source, edgesBySource) => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
let effectiveSource = source;
|
|
43
|
+
// Handle human-in-the-loop enhancement
|
|
44
|
+
if ((_a = nodes[source]) === null || _a === void 0 ? void 0 : _a.humanInTheLoop) {
|
|
45
|
+
(0, addHumanInTheLoopNode_1.addHumanInTheLoopNode)({ graph, attachedToNodeName: source });
|
|
46
|
+
effectiveSource = (0, addHumanInTheLoopNode_1.buildHumanInTheLoopNodeName)(source);
|
|
47
|
+
}
|
|
48
|
+
// Handle stay-on-node capability
|
|
49
|
+
if ((_b = nodes[source]) === null || _b === void 0 ? void 0 : _b.canStayOnNode) {
|
|
50
|
+
const stayEdge = {
|
|
51
|
+
source,
|
|
52
|
+
target: source,
|
|
53
|
+
type: Flows_types_1.EdgeType.PROMPT_CONDITION,
|
|
54
|
+
prompt: 'stay at current node if still relevant',
|
|
55
|
+
};
|
|
56
|
+
edgesBySource.prompt.push(stayEdge);
|
|
57
|
+
}
|
|
58
|
+
// Create and add the combined conditional edge
|
|
59
|
+
const combinedRouter = createCombinedRouter(effectiveSource, edgesBySource);
|
|
60
|
+
graph.addConditionalEdges(effectiveSource, combinedRouter);
|
|
38
61
|
};
|
|
39
|
-
//
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
62
|
+
// Get all unique source nodes and categorize their edges in a single pass
|
|
63
|
+
const edgesBySource = edges.reduce((acc, edge) => {
|
|
64
|
+
if (!acc[edge.source]) {
|
|
65
|
+
acc[edge.source] = {
|
|
66
|
+
stepForward: undefined,
|
|
67
|
+
logical: [],
|
|
68
|
+
prompt: [],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (edge.type === Flows_types_1.EdgeType.STEP_FORWARD) {
|
|
72
|
+
acc[edge.source].stepForward = edge;
|
|
73
|
+
}
|
|
74
|
+
else if (edge.type === Flows_types_1.EdgeType.LOGICAL_CONDITION) {
|
|
75
|
+
acc[edge.source].logical.push(edge);
|
|
76
|
+
}
|
|
77
|
+
else if (edge.type === Flows_types_1.EdgeType.PROMPT_CONDITION) {
|
|
78
|
+
acc[edge.source].prompt.push(edge);
|
|
79
|
+
}
|
|
80
|
+
return acc;
|
|
81
|
+
}, {});
|
|
82
|
+
// Process edges for each source node
|
|
83
|
+
Object.entries(edgesBySource).forEach(([source, categorizedEdges]) => {
|
|
84
|
+
processEdgesForNode(source, categorizedEdges);
|
|
85
|
+
});
|
|
63
86
|
};
|
|
64
87
|
exports.edgeFactory = edgeFactory;
|
|
65
88
|
//# sourceMappingURL=edgeFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edgeFactory.js","sourceRoot":"","sources":["../../src/edges/edgeFactory.ts"],"names":[],"mappings":";;;AAAA,sDAAwH;AAGxH,6DAA0D;AAC1D,+DAA4D;AAC5D,yDAAsD;AACtD,0EAAoG;
|
|
1
|
+
{"version":3,"file":"edgeFactory.js","sourceRoot":"","sources":["../../src/edges/edgeFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseMessage } from '@langchain/core/messages';
|
|
2
|
+
import { FlowHistory } from '../types/Agent.types';
|
|
2
3
|
export declare enum AgentEvents {
|
|
3
4
|
AI_MESSAGE = "AI_MESSAGE",
|
|
4
5
|
TRIGGER_EVENT = "TRIGGER_EVENT"
|
|
@@ -7,6 +8,7 @@ export type AgentEventRequestPayloads<Memory> = {
|
|
|
7
8
|
[AgentEvents.AI_MESSAGE]: {
|
|
8
9
|
message: string;
|
|
9
10
|
memory: Memory;
|
|
11
|
+
sessionId: string;
|
|
10
12
|
};
|
|
11
13
|
[AgentEvents.TRIGGER_EVENT]: {
|
|
12
14
|
triggerName: string;
|
|
@@ -18,5 +20,6 @@ export type AgentEventResponsePayloads<Memory> = {
|
|
|
18
20
|
[AgentEvents.TRIGGER_EVENT]: {
|
|
19
21
|
messages?: BaseMessage[];
|
|
20
22
|
memory?: Memory;
|
|
23
|
+
history?: FlowHistory[];
|
|
21
24
|
} | false;
|
|
22
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentEvents.js","sourceRoot":"","sources":["../../src/events/AgentEvents.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AgentEvents.js","sourceRoot":"","sources":["../../src/events/AgentEvents.ts"],"names":[],"mappings":";;;AAGA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,8CAA+B,CAAA;AACjC,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export { Agent, events };
|
|
|
4
4
|
export type { Flow, Node, Edge, TriggerNode, AppTriggerNode, PromptNode, PromptConditionEdge, LogicalConditionEdge, StepForwardEdge, ManualTriggerNode, JunctionNode, ToolNode, AppToolNode, } from './types/Flows.types';
|
|
5
5
|
export { NodeType, TriggerType, EdgeType } from './types/Flows.types';
|
|
6
6
|
export type { Tool } from './types/Tools.types';
|
|
7
|
+
export { FlowHistoryType, FlowHistory, TriggerInvocationHistory } from './types/Agent.types';
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EdgeType = exports.TriggerType = exports.NodeType = exports.events = exports.Agent = void 0;
|
|
6
|
+
exports.FlowHistoryType = exports.EdgeType = exports.TriggerType = exports.NodeType = exports.events = exports.Agent = void 0;
|
|
7
7
|
const agent_1 = require("./agent");
|
|
8
8
|
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_1.Agent; } });
|
|
9
9
|
const events_1 = __importDefault(require("./events"));
|
|
@@ -12,4 +12,6 @@ var Flows_types_1 = require("./types/Flows.types");
|
|
|
12
12
|
Object.defineProperty(exports, "NodeType", { enumerable: true, get: function () { return Flows_types_1.NodeType; } });
|
|
13
13
|
Object.defineProperty(exports, "TriggerType", { enumerable: true, get: function () { return Flows_types_1.TriggerType; } });
|
|
14
14
|
Object.defineProperty(exports, "EdgeType", { enumerable: true, get: function () { return Flows_types_1.EdgeType; } });
|
|
15
|
+
var Agent_types_1 = require("./types/Agent.types");
|
|
16
|
+
Object.defineProperty(exports, "FlowHistoryType", { enumerable: true, get: function () { return Agent_types_1.FlowHistoryType; } });
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAgC;AAGvB,sFAHA,aAAK,OAGA;AAFd,sDAA8B;AAEd,iBAFT,gBAAM,CAES;AAiBtB,mDAAsE;AAA7D,uGAAA,QAAQ,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,uGAAA,QAAQ,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAgC;AAGvB,sFAHA,aAAK,OAGA;AAFd,sDAA8B;AAEd,iBAFT,gBAAM,CAES;AAiBtB,mDAAsE;AAA7D,uGAAA,QAAQ,OAAA;AAAE,0GAAA,WAAW,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAExC,mDAA6F;AAApF,8GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
|
|
2
|
+
import { ActionInputParam } from '../types/Flows.types';
|
|
3
|
+
import { Tool } from '../types/Tools.types';
|
|
4
|
+
declare const appActionRunnerToolCreator: (schema: ActionInputParam[], name: string, appName: string, awaitEmit: (event: MindedConnectionSocketMessageType, payload: any) => Promise<any>) => Tool<any, any>;
|
|
5
|
+
export declare const getAppActionRunnerTool: (appName: string, actionName: string) => Tool<any, any>;
|
|
6
|
+
export default appActionRunnerToolCreator;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAppActionRunnerTool = void 0;
|
|
4
|
+
const mindedConnectionTypes_1 = require("../platform/mindedConnectionTypes");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const typeToZodMap = {
|
|
7
|
+
string: zod_1.z.string(),
|
|
8
|
+
number: zod_1.z.number(),
|
|
9
|
+
boolean: zod_1.z.boolean(),
|
|
10
|
+
array: zod_1.z.array(zod_1.z.any()),
|
|
11
|
+
object: zod_1.z.record(zod_1.z.any()),
|
|
12
|
+
any: zod_1.z.any()
|
|
13
|
+
};
|
|
14
|
+
const convertToZodSchema = (schema) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const zodSchema = {};
|
|
17
|
+
for (const [key, type] of Object.entries(schema)) {
|
|
18
|
+
const zodType = (_a = typeToZodMap[type.toLowerCase()]) !== null && _a !== void 0 ? _a : zod_1.z.string();
|
|
19
|
+
zodSchema[key] = zodType;
|
|
20
|
+
}
|
|
21
|
+
return zod_1.z.object(zodSchema);
|
|
22
|
+
};
|
|
23
|
+
const sanitizeName = (name) => {
|
|
24
|
+
return name.replace(/[^a-zA-Z0-9_-]/g, '-');
|
|
25
|
+
};
|
|
26
|
+
const createdTools = {};
|
|
27
|
+
const appActionRunnerToolCreator = (schema, name, appName, awaitEmit) => {
|
|
28
|
+
const zodSchema = convertToZodSchema(schema.reduce((acc, param) => {
|
|
29
|
+
acc[param.name] = param.type;
|
|
30
|
+
return acc;
|
|
31
|
+
}, {}));
|
|
32
|
+
const tool = {
|
|
33
|
+
name: `${sanitizeName(appName)}-${sanitizeName(name)}`,
|
|
34
|
+
description: `Run ${name} action from ${appName}`,
|
|
35
|
+
input: zodSchema,
|
|
36
|
+
execute: async ({ input }) => {
|
|
37
|
+
console.log('*Action: App action runner*');
|
|
38
|
+
console.log('input', input);
|
|
39
|
+
const response = await awaitEmit(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppAction, {
|
|
40
|
+
appName,
|
|
41
|
+
actionName: name,
|
|
42
|
+
actionInput: input,
|
|
43
|
+
});
|
|
44
|
+
return response;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
createdTools[`${appName}-${name}`] = tool;
|
|
48
|
+
return tool;
|
|
49
|
+
};
|
|
50
|
+
const getAppActionRunnerTool = (appName, actionName) => {
|
|
51
|
+
return createdTools[`${appName}-${actionName}`];
|
|
52
|
+
};
|
|
53
|
+
exports.getAppActionRunnerTool = getAppActionRunnerTool;
|
|
54
|
+
exports.default = appActionRunnerToolCreator;
|
|
55
|
+
//# sourceMappingURL=appActionRunnerTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appActionRunnerTool.js","sourceRoot":"","sources":["../../src/internalTools/appActionRunnerTool.ts"],"names":[],"mappings":";;;AAAA,6EAAsF;AAGtF,6BAAwB;AAExB,MAAM,YAAY,GAAG;IACjB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC;IACzB,GAAG,EAAE,OAAC,CAAC,GAAG,EAAE;CACN,CAAC;AAEX,MAAM,kBAAkB,GAAG,CAAC,MAA8B,EAAE,EAAE;;IAC1D,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAA,YAAY,CAAC,IAAI,CAAC,WAAW,EAA+B,CAAC,mCAAI,OAAC,CAAC,MAAM,EAAE,CAAC;QAC5F,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAC7B,CAAC;IACD,OAAO,OAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,YAAY,GAAmC,EAAE,CAAC;AAExD,MAAM,0BAA0B,GAAG,CAAC,MAA0B,EAAE,IAAY,EAAE,OAAe,EAAE,SAAmF,EAAkB,EAAE;IAClM,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAC9C,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,OAAO,GAAG,CAAC;IACf,CAAC,EACD,EAA4B,CAC/B,CAAC,CAAC;IAGH,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;QACtD,WAAW,EAAE,OAAO,IAAI,gBAAgB,OAAO,EAAE;QACjD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAwB,EAAE,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,yDAAiC,CAAC,WAAW,EAAE;gBAC5E,OAAO;gBACP,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACpB,CAAC;KACJ,CAAC;IACF,YAAY,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAEM,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE,EAAE;IAC1E,OAAO,YAAY,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;AACpD,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { LLMConfig } from "../types/LLM.types";
|
|
2
|
-
export declare const createLlmInstance: (llmConfig: LLMConfig) =>
|
|
2
|
+
export declare const createLlmInstance: (llmConfig: LLMConfig) => any;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AppToolNode, ToolNode } from "../types/Flows.types";
|
|
2
|
+
import { stateAnnotation } from "../types/LangGraph.types";
|
|
3
|
+
import { Tool } from "../types/Tools.types";
|
|
4
|
+
import { BaseLanguageModel } from "@langchain/core/language_models/base";
|
|
5
|
+
import { BaseMessage, ToolMessage } from "@langchain/core/messages";
|
|
6
|
+
declare const actionRunnerTool: <Memory>(matchedTool: Tool<any, Memory>, toolNode: ToolNode | AppToolNode, llm: BaseLanguageModel, addedPrompt?: string) => (state: typeof stateAnnotation.State) => Promise<{
|
|
7
|
+
memory: {};
|
|
8
|
+
messages: (BaseMessage | ToolMessage)[];
|
|
9
|
+
triggerInvocations: import("..").TriggerInvocationHistory[];
|
|
10
|
+
}>;
|
|
11
|
+
export default actionRunnerTool;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const Flows_types_1 = require("../types/Flows.types");
|
|
4
|
+
const prebuilt_1 = require("@langchain/langgraph/prebuilt");
|
|
5
|
+
const langgraph_1 = require("@langchain/langgraph");
|
|
6
|
+
const messages_1 = require("@langchain/core/messages");
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
const tools_1 = require("@langchain/core/tools");
|
|
9
|
+
const actionRunnerTool = (matchedTool, toolNode, llm, addedPrompt) => {
|
|
10
|
+
return async (state) => {
|
|
11
|
+
try {
|
|
12
|
+
console.log(`Executing tool node ${toolNode.name}`);
|
|
13
|
+
const executeWrapper = async (input) => {
|
|
14
|
+
try {
|
|
15
|
+
const response = await matchedTool.execute({ input, memory: state.memory, triggerInvocations: state.triggerInvocations });
|
|
16
|
+
return response || {};
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
console.error('Error executing tool', error);
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const tool = (0, tools_1.tool)(executeWrapper, {
|
|
24
|
+
name: matchedTool.name,
|
|
25
|
+
description: matchedTool.description,
|
|
26
|
+
schema: matchedTool.input,
|
|
27
|
+
});
|
|
28
|
+
const prompt = `
|
|
29
|
+
Context:
|
|
30
|
+
messages: ${JSON.stringify(state.messages)}
|
|
31
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
32
|
+
Instructions:
|
|
33
|
+
Call immediately tool ${tool.name}(...)
|
|
34
|
+
${toolNode.prompt && `Tool execution instructions: ${toolNode.prompt}`}
|
|
35
|
+
${addedPrompt && `Additional instructions: ${addedPrompt}`}
|
|
36
|
+
`;
|
|
37
|
+
const toolCallingAgent = (0, prebuilt_1.createReactAgent)({
|
|
38
|
+
checkpointer: new langgraph_1.MemorySaver(),
|
|
39
|
+
llm,
|
|
40
|
+
tools: [tool],
|
|
41
|
+
});
|
|
42
|
+
const response = await toolCallingAgent.invoke({ messages: [new messages_1.SystemMessage(prompt)] }, { configurable: { thread_id: (0, uuid_1.v4)() } });
|
|
43
|
+
console.log('response', JSON.stringify({ response, matchedTool, toolNode, tool }, null, 2));
|
|
44
|
+
const toolCallMessage = getLastToolCallMessage(response.messages);
|
|
45
|
+
const toolResponseMessage = getLastToolMessage(response.messages);
|
|
46
|
+
if (!toolCallMessage || !toolResponseMessage) {
|
|
47
|
+
throw new Error('Tool call or tool response message not found');
|
|
48
|
+
}
|
|
49
|
+
let toolMemory = {};
|
|
50
|
+
if (toolNode.type === Flows_types_1.NodeType.APP_TOOL) {
|
|
51
|
+
toolMemory = extractToolMemoryResponse(toolResponseMessage);
|
|
52
|
+
}
|
|
53
|
+
return { memory: toolMemory, messages: [toolCallMessage, toolResponseMessage], triggerInvocations: state.triggerInvocations };
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error('Error executing tool node', error);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.default = actionRunnerTool;
|
|
62
|
+
const getLastToolCallMessage = (messages) => {
|
|
63
|
+
const toolCallMessages = messages.filter((message) => { var _a; return ((_a = message.tool_calls) === null || _a === void 0 ? void 0 : _a.length) || 0 > 0; });
|
|
64
|
+
const lastToolCallMessage = toolCallMessages[toolCallMessages.length - 1];
|
|
65
|
+
return lastToolCallMessage;
|
|
66
|
+
};
|
|
67
|
+
const getLastToolMessage = (messages) => {
|
|
68
|
+
const toolMessages = messages.filter((message) => message.getType() === 'tool');
|
|
69
|
+
const lastToolMessage = toolMessages[toolMessages.length - 1];
|
|
70
|
+
return lastToolMessage;
|
|
71
|
+
};
|
|
72
|
+
const extractToolMemoryResponse = (toolMessage) => {
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(toolMessage.content);
|
|
75
|
+
if (typeof parsed === 'object' && parsed !== null && 'memory' in parsed) {
|
|
76
|
+
return parsed.memory;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error('Error parsing tool memory response', error);
|
|
81
|
+
}
|
|
82
|
+
return {};
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=actionRunnerTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionRunnerTool.js","sourceRoot":"","sources":["../../src/nodes/actionRunnerTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AppToolNode } from '../types/Flows.types';
|
|
2
|
+
import { PreCompiledGraph } from "../types/LangGraph.types";
|
|
3
|
+
import { BaseLanguageModel } from "@langchain/core/language_models/base";
|
|
4
|
+
export declare const addAppToolNode: <Memory>({ graph, node, llm, }: {
|
|
5
|
+
graph: PreCompiledGraph;
|
|
6
|
+
node: AppToolNode;
|
|
7
|
+
llm: BaseLanguageModel;
|
|
8
|
+
}) => void;
|