@minded-ai/mindedjs 1.0.23 → 1.0.25

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 (96) hide show
  1. package/dist/agent.d.ts +2 -5
  2. package/dist/agent.js +41 -25
  3. package/dist/agent.js.map +1 -1
  4. package/dist/checkpointer/checkpointSaverFactory.js +1 -1
  5. package/dist/checkpointer/checkpointSaverFactory.js.map +1 -1
  6. package/dist/cli/index.js +0 -0
  7. package/dist/edges/createPromptRouter.js +4 -1
  8. package/dist/edges/createPromptRouter.js.map +1 -1
  9. package/dist/events/AgentEvents.d.ts +2 -0
  10. package/dist/events/AgentEvents.js.map +1 -1
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +3 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/internalTools/appActionRunnerTool.d.ts +25 -0
  15. package/dist/internalTools/appActionRunnerTool.js +30 -0
  16. package/dist/internalTools/appActionRunnerTool.js.map +1 -0
  17. package/dist/nodes/actionRunnerTool.d.ts +11 -0
  18. package/dist/nodes/actionRunnerTool.js +83 -0
  19. package/dist/nodes/actionRunnerTool.js.map +1 -0
  20. package/dist/nodes/addAppTool.d.ts +8 -0
  21. package/dist/nodes/addAppTool.js +12 -0
  22. package/dist/nodes/addAppTool.js.map +1 -0
  23. package/dist/nodes/addAppToolNode.d.ts +8 -0
  24. package/dist/nodes/addAppToolNode.js +14 -0
  25. package/dist/nodes/addAppToolNode.js.map +1 -0
  26. package/dist/nodes/addPromptNode.js +4 -1
  27. package/dist/nodes/addPromptNode.js.map +1 -1
  28. package/dist/nodes/addToolNode.d.ts +4 -4
  29. package/dist/nodes/addToolNode.js +6 -3
  30. package/dist/nodes/addToolNode.js.map +1 -1
  31. package/dist/nodes/addTriggerNode.js.map +1 -1
  32. package/dist/nodes/callTool.d.ts +10 -0
  33. package/dist/nodes/callTool.js +57 -0
  34. package/dist/nodes/callTool.js.map +1 -0
  35. package/dist/nodes/nodeFactory.js +1 -1
  36. package/dist/nodes/nodeFactory.js.map +1 -1
  37. package/dist/nodes/toolNodeRunner.d.ts +15 -0
  38. package/dist/nodes/toolNodeRunner.js +79 -0
  39. package/dist/nodes/toolNodeRunner.js.map +1 -0
  40. package/dist/platform/mindedConnection.js +1 -0
  41. package/dist/platform/mindedConnection.js.map +1 -1
  42. package/dist/platform/mindedConnectionTypes.d.ts +1 -0
  43. package/dist/tools/appToolRunner.d.ts +30 -0
  44. package/dist/tools/appToolRunner.js +35 -0
  45. package/dist/tools/appToolRunner.js.map +1 -0
  46. package/dist/tools/parser.d.ts +14 -0
  47. package/dist/tools/parser.js +17 -0
  48. package/dist/tools/parser.js.map +1 -0
  49. package/dist/tools/triggerTypeToDefaultMessage.d.ts +3 -0
  50. package/dist/tools/triggerTypeToDefaultMessage.js +10 -0
  51. package/dist/tools/triggerTypeToDefaultMessage.js.map +1 -0
  52. package/dist/triggers/triggerTypeToDefaultMessage.d.ts +3 -0
  53. package/dist/triggers/triggerTypeToDefaultMessage.js +10 -0
  54. package/dist/triggers/triggerTypeToDefaultMessage.js.map +1 -0
  55. package/dist/types/Agent.types.d.ts +12 -0
  56. package/dist/types/Agent.types.js +6 -0
  57. package/dist/types/Agent.types.js.map +1 -1
  58. package/dist/types/Flows.types.d.ts +15 -3
  59. package/dist/types/LangGraph.types.d.ts +3 -0
  60. package/dist/types/LangGraph.types.js +8 -0
  61. package/dist/types/LangGraph.types.js.map +1 -1
  62. package/dist/types/Tools.types.d.ts +3 -1
  63. package/docs/SUMMARY.md +11 -10
  64. package/docs/core-concepts/nodes.md +18 -0
  65. package/docs/core-concepts/tools.md +21 -1
  66. package/docs/core-concepts/triggers.md +89 -0
  67. package/examples/orderRefundAgent/flows/orderRefundFlow.yaml +6 -12
  68. package/package.json +2 -2
  69. package/src/agent.ts +37 -26
  70. package/src/checkpointer/checkpointSaverFactory.ts +1 -1
  71. package/src/edges/createPromptRouter.ts +13 -7
  72. package/src/events/AgentEvents.ts +2 -1
  73. package/src/index.ts +1 -0
  74. package/src/nodes/addPromptNode.ts +9 -3
  75. package/src/nodes/addToolNode.ts +15 -12
  76. package/src/nodes/addTriggerNode.ts +6 -6
  77. package/src/nodes/nodeFactory.ts +2 -2
  78. package/src/platform/mindedConnection.ts +1 -0
  79. package/src/platform/mindedConnectionTypes.ts +1 -0
  80. package/src/triggers/triggerTypeToDefaultMessage.ts +9 -0
  81. package/src/types/Agent.types.ts +15 -0
  82. package/src/types/Flows.types.ts +16 -3
  83. package/src/types/LangGraph.types.ts +9 -1
  84. package/src/types/Tools.types.ts +2 -1
  85. package/test/can-stay-on-node/can-stay-on-node.test.ts +37 -18
  86. package/test/cannot-stay-on-node/cannot-stay-on-node.test.ts +49 -24
  87. package/test/human-in-the-loop-node/human-in-the-loop-node.test.ts +13 -6
  88. package/test/logical-edges/logical-edges.test.ts +13 -4
  89. package/test/no-human-in-the-loop-node/no-human-in-the-loop-node.test.ts +7 -3
  90. package/test/prompt-edges/prompt-edges.test.ts +13 -4
  91. package/test/prompt-node/prompt-node.test.ts +13 -6
  92. package/test/tool-node/tool-node.test.ts +7 -2
  93. package/test/trigger/trigger.test.ts +150 -6
  94. package/dist/types/Triggers.types.d.ts +0 -1
  95. package/dist/types/Triggers.types.js +0 -3
  96. package/dist/types/Triggers.types.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { BaseLanguageModel } from "@langchain/core/language_models/base";
2
+ import { ToolNode } from "../types/Flows.types";
3
+ import { Tool } from "@langchain/core/tools";
4
+ import { PreCompiledGraph } from "../types/LangGraph.types";
5
+ export declare const callToolRunner: (tool: Tool, toolNode: ToolNode, { graph, node, tools, llm }: {
6
+ graph: PreCompiledGraph;
7
+ node: ToolNode;
8
+ tools: Tool[];
9
+ llm: BaseLanguageModel;
10
+ }) => void;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callToolRunner = void 0;
4
+ const prebuilt_1 = require("@langchain/langgraph/prebuilt");
5
+ // export const callToolRunner = (toolNode: ToolNode) => {
6
+ // return async (input: any) => {
7
+ // console.log(`Calling tool ${toolNode.name} with input ${JSON.stringify(input)}`);
8
+ // };
9
+ // };
10
+ const callToolRunner = (tool, toolNode, { graph, node, tools, llm }) => {
11
+ const callback = async (state) => {
12
+ try {
13
+ console.log(`Executing tool node ${toolNode.name}`);
14
+ const executeWrapper = async (input) => {
15
+ try {
16
+ const response = await toolNode.execute({ input, memory: state.memory, triggerInvocations: state.triggerInvocations });
17
+ return response || {};
18
+ }
19
+ catch (error) {
20
+ console.error('Error executing tool', error);
21
+ throw error;
22
+ }
23
+ };
24
+ const tool = langchainTool(executeWrapper, {
25
+ name: toolNode.name,
26
+ description: toolNode.description,
27
+ schema: toolNode.input,
28
+ });
29
+ const prompt = `
30
+ Context:
31
+ messages: ${JSON.stringify(state.messages)}
32
+ workflow memory: ${JSON.stringify(state.memory)}
33
+ Instructions:
34
+ Call immediately tool ${tool.name}(...)
35
+ ${toolNode.prompt && `Tool execution instructions: ${toolNode.prompt}`}
36
+ `;
37
+ const toolCallingAgent = (0, prebuilt_1.createReactAgent)({
38
+ llm,
39
+ tools: [tool],
40
+ });
41
+ const response = await toolCallingAgent.invoke({ messages: [new SystemMessage(prompt)] });
42
+ const toolCallMessage = getLastToolCallMessage(response.messages);
43
+ const toolResponseMessage = getLastToolMessage(response.messages);
44
+ if (!toolCallMessage || !toolResponseMessage) {
45
+ throw new Error('Tool call or tool response message not found');
46
+ }
47
+ const toolMemory = extractToolMemoryResponse(toolResponseMessage);
48
+ return { memory: toolMemory, messages: [toolCallMessage, toolResponseMessage], triggerInvocations: state.triggerInvocations };
49
+ }
50
+ catch (error) {
51
+ console.error('Error executing tool node', error);
52
+ throw error;
53
+ }
54
+ };
55
+ };
56
+ exports.callToolRunner = callToolRunner;
57
+ //# sourceMappingURL=callTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callTool.js","sourceRoot":"","sources":["../../src/nodes/callTool.ts"],"names":[],"mappings":";;;AAIA,4DAAiE;AAGjE,0DAA0D;AAC1D,mCAAmC;AACnC,wFAAwF;AACxF,OAAO;AACP,KAAK;AAEE,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,QAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAsF,EAAE,EAAE;IAC9K,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QACzE,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAqC,EAAE,EAAE;gBACnE,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBACvH,OAAO,QAAQ,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;oBAC7C,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,CAAC,cAAc,EAAE;gBACvC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,MAAM,EAAE,QAAQ,CAAC,KAAK;aACzB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG;;oBAEP,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;2BACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;;gCAEvB,IAAI,CAAC,IAAI;UAC/B,QAAQ,CAAC,MAAM,IAAI,gCAAgC,QAAQ,CAAC,MAAM,EAAE;OACvE,CAAC;YACI,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;gBACtC,GAAG;gBACH,KAAK,EAAE,CAAC,IAAI,CAAC;aAChB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1F,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,UAAU,GAAG,yBAAyB,CAAS,mBAAmB,CAAC,CAAC;YAC1E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAClI,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC,CAAC;AA5CW,QAAA,cAAc,kBA4CzB"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.nodeFactory = void 0;
4
4
  const Flows_types_1 = require("../types/Flows.types");
5
- const addTriggerNode_1 = require("./addTriggerNode");
6
5
  const addToolNode_1 = require("./addToolNode");
7
6
  const addPromptNode_1 = require("./addPromptNode");
7
+ const addTriggerNode_1 = require("./addTriggerNode");
8
8
  const addJunctionNode = ({ graph, node }) => {
9
9
  const callback = async () => { };
10
10
  graph.addNode(node.name, callback);
@@ -1 +1 @@
1
- {"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AACA,sDAAiF;AAIjF,qDAAkD;AAClD,+CAA4C;AAC5C,mDAAgD;AAIhD,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAmD,EAAE,EAAE;IAC3F,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,IAAI,GAML,EAAE,EAAE;IACH,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,GAOL,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,sBAAQ,CAAC,OAAO;YACnB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,sBAAQ,CAAC,IAAI;YAChB,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,sBAAQ,CAAC,WAAW;YACvB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAjCW,QAAA,WAAW,eAiCtB"}
1
+ {"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AACA,sDAAiF;AAIjF,+CAA4C;AAC5C,mDAAgD;AAGhD,qDAAkD;AAElD,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAmD,EAAE,EAAE;IAC3F,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,IAAI,GAML,EAAE,EAAE;IACH,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,GAOL,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,sBAAQ,CAAC,OAAO;YACnB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,sBAAQ,CAAC,IAAI;YAChB,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,sBAAQ,CAAC,WAAW;YACvB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAjCW,QAAA,WAAW,eAiCtB"}
@@ -0,0 +1,15 @@
1
+ import { BaseLanguageModel } from "@langchain/core/language_models/base";
2
+ import { AppToolNode, ToolNode } from "../types/Flows.types";
3
+ import { Tool } from "../types/Tools.types";
4
+ import { stateAnnotation } from "../types/LangGraph.types";
5
+ import { BaseMessage } from "@langchain/core/messages";
6
+ import { ToolMessage } from "@langchain/core/messages";
7
+ export declare const getToolNodeRunner: <Memory>(toolNode: ToolNode | AppToolNode, matchedTool: Tool<any, any>, llm: BaseLanguageModel) => (state: typeof stateAnnotation.State) => Promise<{
8
+ memory: Partial<Memory>;
9
+ messages: (BaseMessage | ToolMessage)[];
10
+ triggerInvocations: {
11
+ appName: string;
12
+ triggerName: string;
13
+ triggerBody: any;
14
+ }[];
15
+ }>;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getToolNodeRunner = void 0;
4
+ const tools_1 = require("@langchain/core/tools");
5
+ const messages_1 = require("@langchain/core/messages");
6
+ const prebuilt_1 = require("@langchain/langgraph/prebuilt");
7
+ const langgraph_1 = require("@langchain/langgraph");
8
+ const uuid_1 = require("uuid");
9
+ const getToolNodeRunner = (toolNode, matchedTool, llm) => {
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
+ `;
36
+ const toolCallingAgent = (0, prebuilt_1.createReactAgent)({
37
+ checkpointer: new langgraph_1.MemorySaver(),
38
+ llm,
39
+ tools: [tool],
40
+ });
41
+ const response = await toolCallingAgent.invoke({ messages: [new messages_1.SystemMessage(prompt)] }, { configurable: { thread_id: (0, uuid_1.v4)() } });
42
+ const toolCallMessage = getLastToolCallMessage(response.messages);
43
+ const toolResponseMessage = getLastToolMessage(response.messages);
44
+ if (!toolCallMessage || !toolResponseMessage) {
45
+ throw new Error('Tool call or tool response message not found');
46
+ }
47
+ const toolMemory = extractToolMemoryResponse(toolResponseMessage);
48
+ return { memory: toolMemory, messages: [toolCallMessage, toolResponseMessage], triggerInvocations: state.triggerInvocations };
49
+ }
50
+ catch (error) {
51
+ console.error('Error executing tool node', error);
52
+ throw error;
53
+ }
54
+ };
55
+ };
56
+ exports.getToolNodeRunner = getToolNodeRunner;
57
+ const getLastToolCallMessage = (messages) => {
58
+ const toolCallMessages = messages.filter((message) => { var _a; return ((_a = message.tool_calls) === null || _a === void 0 ? void 0 : _a.length) || 0 > 0; });
59
+ const lastToolCallMessage = toolCallMessages[toolCallMessages.length - 1];
60
+ return lastToolCallMessage;
61
+ };
62
+ const getLastToolMessage = (messages) => {
63
+ const toolMessages = messages.filter((message) => message.getType() === 'tool');
64
+ const lastToolMessage = toolMessages[toolMessages.length - 1];
65
+ return lastToolMessage;
66
+ };
67
+ const extractToolMemoryResponse = (toolMessage) => {
68
+ try {
69
+ const parsed = JSON.parse(toolMessage.content);
70
+ if (typeof parsed === 'object' && parsed !== null && 'memory' in parsed) {
71
+ return parsed.memory;
72
+ }
73
+ }
74
+ catch (error) {
75
+ console.error('Error parsing tool memory response', error);
76
+ }
77
+ return {};
78
+ };
79
+ //# sourceMappingURL=toolNodeRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolNodeRunner.js","sourceRoot":"","sources":["../../src/nodes/toolNodeRunner.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,7 @@ class MindedConnection {
151
151
  var _a;
152
152
  console.error('Server error:', error.message);
153
153
  if (error.message.includes('Invalid token')) {
154
+ console.log('Invalid token');
154
155
  // Delete saved token on connection error
155
156
  if (fs.existsSync(this.tokenPath)) {
156
157
  fs.unlinkSync(this.tokenPath);
@@ -1 +1 @@
1
- {"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface OnAppTrigger extends BaseMindedConnectionSocketMessage {
18
18
  agentId: string;
19
19
  body: Record<string, any>;
20
20
  cnvId: string;
21
+ appName: string;
21
22
  }
22
23
  export interface OnCheckpointPut extends BaseMindedConnectionSocketMessage {
23
24
  config: RunnableConfig;
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ import { Tool } from "../types/Tools.types";
3
+ declare const schema: z.ZodObject<{
4
+ appName: z.ZodString;
5
+ actionName: z.ZodString;
6
+ parameters: z.ZodRecord<z.ZodString, z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ appName: string;
9
+ actionName: string;
10
+ parameters: Record<string, string>;
11
+ }, {
12
+ appName: string;
13
+ actionName: string;
14
+ parameters: Record<string, string>;
15
+ }>;
16
+ declare const memorySchema: z.ZodObject<{
17
+ appName: z.ZodString;
18
+ actionName: z.ZodString;
19
+ output: z.ZodAny;
20
+ }, "strip", z.ZodTypeAny, {
21
+ appName: string;
22
+ actionName: string;
23
+ output?: any;
24
+ }, {
25
+ appName: string;
26
+ actionName: string;
27
+ output?: any;
28
+ }>;
29
+ export declare const appToolRunnerTool: Tool<typeof schema, typeof memorySchema>;
30
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // import { z } from 'zod';
3
+ // import memorySchema from '../src/schema';
4
+ // import { Tool } from '@minded-ai/mindedjs';
5
+ // type Memory = z.infer<typeof memorySchema>;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.appToolRunnerTool = void 0;
8
+ const zod_1 = require("zod");
9
+ const schema = zod_1.z.object({
10
+ appName: zod_1.z.string(),
11
+ actionName: zod_1.z.string(),
12
+ parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.string()),
13
+ });
14
+ const memorySchema = zod_1.z.object({
15
+ appName: zod_1.z.string(),
16
+ actionName: zod_1.z.string(),
17
+ output: zod_1.z.any(),
18
+ });
19
+ exports.appToolRunnerTool = {
20
+ name: 'appToolRunner',
21
+ description: 'Run an app tool',
22
+ input: schema,
23
+ execute: async ({ input, memory }) => {
24
+ console.log("will run app tool", input, memory);
25
+ // call server to run the app tool
26
+ return {
27
+ // memory: {
28
+ // issue: input.issue,
29
+ // orderId: input.orderId,
30
+ // customerName: input.customerName,
31
+ // },
32
+ };
33
+ },
34
+ };
35
+ //# sourceMappingURL=appToolRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appToolRunner.js","sourceRoot":"","sources":["../../src/tools/appToolRunner.ts"],"names":[],"mappings":";AAAA,2BAA2B;AAC3B,4CAA4C;AAC5C,8CAA8C;AAC9C,8CAA8C;;;AAE9C,6BAAwB;AAGxB,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,OAAC,CAAC,GAAG,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAA6C;IACvE,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,kCAAkC;QAClC,OAAO;QACH,YAAY;QACZ,0BAA0B;QAC1B,8BAA8B;QAC9B,wCAAwC;QACxC,KAAK;SACR,CAAC;IACN,CAAC;CACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare class ToolParser {
2
+ qualify({ name, payload }: {
3
+ name: string;
4
+ payload: any;
5
+ }): Promise<boolean>;
6
+ transform({ name, payload }: {
7
+ name: string;
8
+ payload: any;
9
+ }): Promise<any>;
10
+ matchesTool({ name, source }: {
11
+ name: string;
12
+ source?: string;
13
+ }): Promise<boolean>;
14
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolParser = void 0;
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */
5
+ class ToolParser {
6
+ async qualify({ name, payload }) {
7
+ return true;
8
+ }
9
+ async transform({ name, payload }) {
10
+ return payload;
11
+ }
12
+ async matchesTool({ name, source }) {
13
+ return false;
14
+ }
15
+ }
16
+ exports.ToolParser = ToolParser;
17
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/tools/parser.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,MAAa,UAAU;IACZ,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAkC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAkC;QACpE,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAqC;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAXD,gCAWC"}
@@ -0,0 +1,3 @@
1
+ import { BaseMessage } from "@langchain/core/messages";
2
+ declare const triggerTypeToDefaultMessage: Record<string, Record<string, (triggerBody: any) => Array<BaseMessage>>>;
3
+ export default triggerTypeToDefaultMessage;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const messages_1 = require("@langchain/core/messages");
4
+ const triggerTypeToDefaultMessage = {
5
+ ["Slack"]: {
6
+ "New Direct Message (Instant)": (triggerBody) => [new messages_1.HumanMessage({ content: triggerBody.text })],
7
+ }
8
+ };
9
+ exports.default = triggerTypeToDefaultMessage;
10
+ //# sourceMappingURL=triggerTypeToDefaultMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerTypeToDefaultMessage.js","sourceRoot":"","sources":["../../src/tools/triggerTypeToDefaultMessage.ts"],"names":[],"mappings":";;AAAA,uDAAqE;AAErE,MAAM,2BAA2B,GAA6E;IAC1G,CAAC,OAAO,CAAC,EAAE;QACP,8BAA8B,EAAE,CAAC,WAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;KAC1G;CACJ,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { BaseMessage } from "@langchain/core/messages";
2
+ declare const triggerTypeToDefaultMessage: Record<string, Record<string, (triggerBody: any) => Array<BaseMessage>>>;
3
+ export default triggerTypeToDefaultMessage;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const messages_1 = require("@langchain/core/messages");
4
+ const triggerTypeToDefaultMessage = {
5
+ ["Slack"]: {
6
+ "New Direct Message (Instant)": (triggerBody) => [new messages_1.HumanMessage({ content: triggerBody.text })],
7
+ }
8
+ };
9
+ exports.default = triggerTypeToDefaultMessage;
10
+ //# sourceMappingURL=triggerTypeToDefaultMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggerTypeToDefaultMessage.js","sourceRoot":"","sources":["../../src/triggers/triggerTypeToDefaultMessage.ts"],"names":[],"mappings":";;AAAA,uDAAqE;AAErE,MAAM,2BAA2B,GAA6E;IAC1G,CAAC,OAAO,CAAC,EAAE;QACP,8BAA8B,EAAE,CAAC,WAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;KAC1G;CACJ,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -6,3 +6,15 @@ export type MindedSDKConfig = {
6
6
  llm: LLMConfig;
7
7
  tools: string[];
8
8
  };
9
+ export declare enum FlowHistoryType {
10
+ TRIGGER_INVOCATION = "triggerInvocation"
11
+ }
12
+ export interface FlowHistory {
13
+ type: FlowHistoryType;
14
+ }
15
+ export interface TriggerInvocationHistory extends FlowHistory {
16
+ type: FlowHistoryType.TRIGGER_INVOCATION;
17
+ appName?: string;
18
+ triggerName: string;
19
+ triggerBody: any;
20
+ }
@@ -1,3 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowHistoryType = void 0;
4
+ var FlowHistoryType;
5
+ (function (FlowHistoryType) {
6
+ FlowHistoryType["TRIGGER_INVOCATION"] = "triggerInvocation";
7
+ })(FlowHistoryType || (exports.FlowHistoryType = FlowHistoryType = {}));
8
+ ;
3
9
  //# sourceMappingURL=Agent.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":";;;AAWA,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,2DAAwC,CAAA;AAC1C,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B;AAWA,CAAC"}
@@ -30,9 +30,18 @@ export declare enum TriggerType {
30
30
  export interface BaseTriggerNode extends BaseNode {
31
31
  type: NodeType.TRIGGER;
32
32
  }
33
- export interface AppTriggerNode extends BaseTriggerNode {
33
+ export interface BaseAppNode {
34
+ appName: string;
35
+ appImgSrc: string;
36
+ account?: string;
37
+ mockDataInstructions?: string;
38
+ textSentToModel?: string;
39
+ }
40
+ export interface AppTriggerNode extends BaseTriggerNode, BaseAppNode {
34
41
  triggerType: TriggerType.APP;
35
42
  appTriggerId: string;
43
+ appTriggerName: string;
44
+ promptInstructions?: string;
36
45
  }
37
46
  export interface WebhookTriggerNode extends BaseTriggerNode {
38
47
  triggerType: TriggerType.WEBHOOK;
@@ -54,9 +63,12 @@ export interface ToolNode extends BaseNode {
54
63
  toolName: string;
55
64
  prompt: string;
56
65
  }
57
- export interface AppToolNode extends BaseNode {
66
+ export interface AppToolNode extends BaseNode, BaseAppNode {
58
67
  type: NodeType.APP_TOOL;
59
- prompt: string;
68
+ prompt?: string;
69
+ actionName: string;
70
+ actionKey: string;
71
+ parameters?: Record<string, 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null'>;
60
72
  }
61
73
  export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode;
62
74
  export interface BaseEdge {
@@ -1,8 +1,10 @@
1
1
  import { BaseMessage } from '@langchain/core/messages';
2
2
  import { CompiledStateGraph, StateGraph } from '@langchain/langgraph';
3
+ import { FlowHistory, TriggerInvocationHistory } from './Agent.types';
3
4
  export declare const stateAnnotation: import("@langchain/langgraph").AnnotationRoot<{
4
5
  messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
5
6
  memory: import("@langchain/langgraph").BinaryOperatorAggregate<any, any>;
7
+ triggerInvocations: import("@langchain/langgraph").BinaryOperatorAggregate<TriggerInvocationHistory[], TriggerInvocationHistory[]>;
6
8
  triggerMetadata: {
7
9
  (): import("@langchain/langgraph").LastValue<{
8
10
  name: string;
@@ -24,6 +26,7 @@ export declare const stateAnnotation: import("@langchain/langgraph").AnnotationR
24
26
  Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
25
27
  };
26
28
  interruptedNode: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
29
+ history: import("@langchain/langgraph").BinaryOperatorAggregate<FlowHistory[], FlowHistory[]>;
27
30
  }>;
28
31
  export type CompiledGraph = CompiledStateGraph<any, any, string>;
29
32
  export type PreCompiledGraph = StateGraph<any, any, string>;
@@ -11,10 +11,18 @@ exports.stateAnnotation = langgraph_1.Annotation.Root({
11
11
  default: () => ({}),
12
12
  reducer: (a, b) => ({ ...a, ...b }),
13
13
  }),
14
+ triggerInvocations: (0, langgraph_1.Annotation)({
15
+ default: () => [],
16
+ reducer: (a, b) => a.concat(b),
17
+ }),
14
18
  triggerMetadata: (langgraph_1.Annotation),
15
19
  interruptedNode: (0, langgraph_1.Annotation)({
16
20
  default: () => null,
17
21
  reducer: (a, b) => b,
18
22
  }),
23
+ history: (0, langgraph_1.Annotation)({
24
+ default: () => [],
25
+ reducer: (a, b) => a.concat(b),
26
+ }),
19
27
  });
20
28
  //# sourceMappingURL=LangGraph.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;AAErE,QAAA,eAAe,GAAG,sBAAU,CAAC,IAAI,CAAC;IAC7C,QAAQ,EAAE,IAAA,sBAAU,EAAqB;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF,MAAM,EAAE,IAAA,sBAAU,EAAM;QACtB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;KACpC,CAAC;IAEF,eAAe,EAAE,CAAA,sBAGR,CAAA;IACT,eAAe,EAAE,IAAA,sBAAU,EAAgB;QACzC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;KACrB,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;AAGrE,QAAA,eAAe,GAAG,sBAAU,CAAC,IAAI,CAAC;IAC7C,QAAQ,EAAE,IAAA,sBAAU,EAAqB;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF,MAAM,EAAE,IAAA,sBAAU,EAAM;QACtB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;KACpC,CAAC;IACF,kBAAkB,EAAE,IAAA,sBAAU,EAAkC;QAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF,eAAe,EAAE,CAAA,sBAGR,CAAA;IACT,eAAe,EAAE,IAAA,sBAAU,EAAgB;QACzC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;QACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,IAAA,sBAAU,EAAqB;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import { z } from 'zod';
2
+ import { FlowHistory } from './Agent.types';
2
3
  export interface Tool<Input extends z.ZodSchema, Memory> {
3
4
  name: string;
4
5
  description: string;
5
6
  input: Input;
6
7
  isGlobal?: boolean;
7
- execute: ({ input, memory }: {
8
+ execute: ({ input, memory, triggerInvocations }: {
8
9
  input: z.infer<Input>;
9
10
  memory: Memory;
11
+ triggerInvocations?: Array<FlowHistory>;
10
12
  }) => Promise<{
11
13
  memory?: Partial<Memory>;
12
14
  result?: any;
package/docs/SUMMARY.md CHANGED
@@ -1,21 +1,22 @@
1
1
  # Table of contents
2
2
 
3
- * [Introduction](README.md)
3
+ - [Introduction](README.md)
4
4
 
5
5
  ## Getting Started
6
6
 
7
- * [Installation](getting-started/installation.md)
8
- * [Quick Start](getting-started/quick-start.md)
7
+ - [Installation](getting-started/installation.md)
8
+ - [Quick Start](getting-started/quick-start.md)
9
9
 
10
10
  ## Core Concepts
11
11
 
12
- * [Memory](core-concepts/memory-types.md)
13
- * [Flows](core-concepts/flows.md)
14
- * [Nodes](core-concepts/nodes.md)
15
- * [Edges](core-concepts/edges.md)
16
- * [Tools](core-concepts/tools.md)
17
- * [Events](core-concepts/events.md)
12
+ - [Memory](core-concepts/memory-types.md)
13
+ - [Flows](core-concepts/flows.md)
14
+ - [Nodes](core-concepts/nodes.md)
15
+ - [Edges](core-concepts/edges.md)
16
+ - [Tools](core-concepts/tools.md)
17
+ - [Events](core-concepts/events.md)
18
+ - [Triggers](core-concepts/triggers.md)
18
19
 
19
20
  ## Implementation Examples
20
21
 
21
- * [Order Refund Flow](examples/order-refund-flow.md)
22
+ - [Order Refund Flow](examples/order-refund-flow.md)
@@ -81,6 +81,24 @@ agent.on(events.TRIGGER_EVENT, async ({ triggerName, triggerBody }) => {
81
81
 
82
82
  Prompt nodes process input through LLM to generate intelligent responses or invoke tools.
83
83
 
84
+ **Optional Properties:**
85
+ - `humanInTheLoop?: boolean` - When `true`, pauses execution after this node for human input before continuing
86
+ - `canStayOnNode?: boolean` - When `true`, allows the node to route back to itself for iterative processing. Usually combined with `humanInTheLoop: true` to allow for iteration over human input.
87
+
88
+ **Example Usage:**
89
+ ```yaml
90
+ - type: promptNode
91
+ name: Content Reviewer
92
+ prompt: "Ask user to review the content and approve or request changes."
93
+ humanInTheLoop: true # Pause for human approval before proceeding
94
+
95
+ - type: promptNode
96
+ name: Research Assistant
97
+ prompt: "Request user for more information until you have gathered all necessary information."
98
+ canStayOnNode: true # Allow iterative research until complete
99
+ humanInTheLoop: true # Pause for human approval before proceeding
100
+ ```
101
+
84
102
  ### Basic Configuration
85
103
 
86
104
  ```yaml
@@ -11,11 +11,31 @@ interface Tool<Input extends z.ZodSchema, Memory> {
11
11
  name: string; // Unique tool identifier
12
12
  description: string; // What the tool does (used by LLM)
13
13
  input: Input; // Zod schema for input validation
14
- isGlobal?: boolean; // Optional: available across all nodes
14
+ isGlobal?: boolean; // Optional: available across all LLM calls
15
15
  execute: ({ input, memory }) => Promise<{ memory?, result? }>;
16
16
  }
17
17
  ```
18
18
 
19
+ ## Execute Function Signature
20
+
21
+ The `execute` function is the core of every tool. It receives validated input from the LLM and current memory state, then returns updated memory and/or result tool result which will be added to the message history and be available for future LLM calls.
22
+
23
+ ### Parameters
24
+
25
+ ```ts
26
+ execute: ({ input, memory }) => Promise<{ memory?, result? }>
27
+ ```
28
+
29
+ - **`input`**: Validated data matching your Zod schema - contains the parameters the LLM extracted from the conversation
30
+ - **`memory`**: Current conversation memory state - contains all the context and data accumulated during the flow
31
+
32
+ ### Return Value
33
+
34
+ The execute function returns a Promise with an object containing:
35
+
36
+ - **`memory?`** (optional): Updated memory state that will be merged with existing memory
37
+ - **`result?`** (optional): Result that gets sent back to the LLM as the tool's response
38
+
19
39
  ## Basic Tool Example
20
40
 
21
41
  Here's a simple refund processing tool: