@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.
Files changed (82) hide show
  1. package/dist/agent.d.ts +2 -1
  2. package/dist/agent.js +30 -21
  3. package/dist/agent.js.map +1 -1
  4. package/dist/cli/index.js +0 -0
  5. package/dist/edges/createDirectEdge.d.ts +1 -3
  6. package/dist/edges/createDirectEdge.js +1 -2
  7. package/dist/edges/createDirectEdge.js.map +1 -1
  8. package/dist/edges/createPromptRouter.js +4 -1
  9. package/dist/edges/createPromptRouter.js.map +1 -1
  10. package/dist/edges/edgeFactory.js +71 -48
  11. package/dist/edges/edgeFactory.js.map +1 -1
  12. package/dist/events/AgentEvents.d.ts +3 -0
  13. package/dist/events/AgentEvents.js.map +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/internalTools/appActionRunnerTool.d.ts +6 -0
  18. package/dist/internalTools/appActionRunnerTool.js +55 -0
  19. package/dist/internalTools/appActionRunnerTool.js.map +1 -0
  20. package/dist/llm/createLlmInstance.d.ts +1 -1
  21. package/dist/nodes/actionRunnerTool.d.ts +11 -0
  22. package/dist/nodes/actionRunnerTool.js +84 -0
  23. package/dist/nodes/actionRunnerTool.js.map +1 -0
  24. package/dist/nodes/addAppTool.d.ts +8 -0
  25. package/dist/nodes/addAppTool.js +12 -0
  26. package/dist/nodes/addAppTool.js.map +1 -0
  27. package/dist/nodes/addAppToolNode.d.ts +8 -0
  28. package/dist/nodes/addAppToolNode.js +29 -0
  29. package/dist/nodes/addAppToolNode.js.map +1 -0
  30. package/dist/nodes/addPromptNode.js +6 -2
  31. package/dist/nodes/addPromptNode.js.map +1 -1
  32. package/dist/nodes/addToolNode.d.ts +4 -4
  33. package/dist/nodes/addToolNode.js +6 -3
  34. package/dist/nodes/addToolNode.js.map +1 -1
  35. package/dist/nodes/addTriggerNode.js.map +1 -1
  36. package/dist/nodes/callTool.d.ts +10 -0
  37. package/dist/nodes/callTool.js +57 -0
  38. package/dist/nodes/callTool.js.map +1 -0
  39. package/dist/nodes/nodeFactory.js +1 -1
  40. package/dist/nodes/nodeFactory.js.map +1 -1
  41. package/dist/nodes/toolNodeRunner.d.ts +15 -0
  42. package/dist/nodes/toolNodeRunner.js +79 -0
  43. package/dist/nodes/toolNodeRunner.js.map +1 -0
  44. package/dist/platform/config.d.ts +9 -0
  45. package/dist/platform/config.js +38 -0
  46. package/dist/platform/config.js.map +1 -0
  47. package/dist/platform/mindedChatOpenAI.d.ts +4 -0
  48. package/dist/platform/mindedChatOpenAI.js +20 -0
  49. package/dist/platform/mindedChatOpenAI.js.map +1 -0
  50. package/dist/platform/mindedConnection.js +4 -3
  51. package/dist/platform/mindedConnection.js.map +1 -1
  52. package/dist/platform/mindedConnectionTypes.d.ts +1 -0
  53. package/dist/platform/mindedRequest.js +2 -2
  54. package/dist/platform/mindedRequest.js.map +1 -1
  55. package/dist/tools/appToolRunner.d.ts +30 -0
  56. package/dist/tools/appToolRunner.js +35 -0
  57. package/dist/tools/appToolRunner.js.map +1 -0
  58. package/dist/tools/parser.d.ts +14 -0
  59. package/dist/tools/parser.js +17 -0
  60. package/dist/tools/parser.js.map +1 -0
  61. package/dist/tools/triggerTypeToDefaultMessage.d.ts +3 -0
  62. package/dist/tools/triggerTypeToDefaultMessage.js +10 -0
  63. package/dist/tools/triggerTypeToDefaultMessage.js.map +1 -0
  64. package/dist/triggers/triggerTypeToDefaultMessage.d.ts +3 -0
  65. package/dist/triggers/triggerTypeToDefaultMessage.js +10 -0
  66. package/dist/triggers/triggerTypeToDefaultMessage.js.map +1 -0
  67. package/dist/types/Agent.types.d.ts +12 -0
  68. package/dist/types/Agent.types.js +6 -0
  69. package/dist/types/Agent.types.js.map +1 -1
  70. package/dist/types/Flows.types.d.ts +15 -3
  71. package/dist/types/LLM.types.d.ts +2 -6
  72. package/dist/types/LLM.types.js +2 -0
  73. package/dist/types/LLM.types.js.map +1 -1
  74. package/dist/types/LangGraph.types.d.ts +3 -1
  75. package/dist/types/LangGraph.types.js +7 -3
  76. package/dist/types/LangGraph.types.js.map +1 -1
  77. package/dist/types/Tools.types.d.ts +3 -1
  78. package/package.json +1 -1
  79. package/src/agent.ts +1 -1
  80. package/dist/types/Triggers.types.d.ts +0 -1
  81. package/dist/types/Triggers.types.js +0 -3
  82. 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
- if (process.env.NODE_ENV !== 'test' && process.env.NO_PLATFORM_CONNECT !== 'true') {
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
- interruptedNode: null,
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
- if (handlerResult === false) {
169
- console.log(`Disqualified trigger ${triggerName}`);
170
- throw new Error('Disqualified trigger');
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
- const memoryUpdate = (handlerResult === null || handlerResult === void 0 ? void 0 : handlerResult.memory) || {};
173
- const messages = (_a = handlerResult === null || handlerResult === void 0 ? void 0 : handlerResult.messages) !== null && _a !== void 0 ? _a : [];
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 (((_d = (_c = (_b = state.tasks) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.interrupts) === null || _d === void 0 ? void 0 : _d.length) > 0) {
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":"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"}
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,4 +1,2 @@
1
1
  import { StepForwardEdge } from '../types/Flows.types';
2
- export declare const createDirectEdge: ({ edges }: {
3
- edges: StepForwardEdge[];
4
- }) => () => Promise<string>;
2
+ export declare const createDirectEdge: (edge: StepForwardEdge) => () => Promise<string>;
@@ -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 = ({ edges }) => {
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,EAAE,KAAK,EAAgC,EAAE,EAAE;IAC1E,OAAO,KAAK,IAAI,EAAE;QAChB,gEAAgE;QAChE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,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;AARW,QAAA,gBAAgB,oBAQ3B"}
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;AAG9C,MAAM,kBAAkB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAA4D,EAAE,EAAE;IAC7G,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC;QAC7B,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,CAAC;YAChC,QAAQ,EAAE;gBACR,IAAI,oBAAS,CAAC;oBACZ,OAAO,EAAE;;;;;;EAMjB,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;iBACE,CAAC;aACH;SACF,CAAC,CAAC;QACH,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;AA5CW,QAAA,kBAAkB,sBA4C7B"}
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
- * Processes edges with enhanced node capabilities (humanInTheLoop, canStayOnNode)
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 processEdges = (edgeProcessor) => {
15
- const { edges: filteredEdges, router } = edgeProcessor;
16
- const uniqueSources = [...new Set(filteredEdges.map((edge) => edge.source))];
17
- uniqueSources.forEach((source) => {
18
- var _a, _b;
19
- const edgesForSource = [...filteredEdges.filter((edge) => edge.source === source)];
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
- // Handle stay-on-node capability
27
- if ((_b = nodes[source]) === null || _b === void 0 ? void 0 : _b.canStayOnNode) {
28
- const stayEdge = {
29
- source,
30
- target: source,
31
- type: Flows_types_1.EdgeType.PROMPT_CONDITION,
32
- prompt: 'stay at current node if still relevant',
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
- graph.addConditionalEdges(effectiveSource, router({ edges: edgesForSource, llm }));
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
- // Direct edges - simple and straightforward
40
- const directEdges = edges.filter((edge) => edge.type === Flows_types_1.EdgeType.STEP_FORWARD);
41
- if (directEdges.length > 0) {
42
- processEdges({
43
- edges: directEdges,
44
- router: createDirectEdge_1.createDirectEdge,
45
- });
46
- }
47
- // Prompt condition edges - enhanced with AI-driven routing
48
- const promptEdges = edges.filter((edge) => edge.type === Flows_types_1.EdgeType.PROMPT_CONDITION);
49
- if (promptEdges.length > 0) {
50
- processEdges({
51
- edges: promptEdges,
52
- router: createPromptRouter_1.createPromptRouter,
53
- });
54
- }
55
- // Logical condition edges - enhanced with programmatic routing
56
- const logicalEdges = edges.filter((edge) => edge.type === Flows_types_1.EdgeType.LOGICAL_CONDITION);
57
- if (logicalEdges.length > 0) {
58
- processEdges({
59
- edges: logicalEdges,
60
- router: createLogicalRouter_1.createLogicalRouter,
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;AAO7F,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,GAMJ,EAAE,EAAE;IACH;;;OAGG;IACH,MAAM,YAAY,GAAG,CAAiB,aAA+B,EAAQ,EAAE;QAC7E,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QACvD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7E,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC/B,MAAM,cAAc,GAAQ,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;YACxF,IAAI,eAAe,GAAG,MAAM,CAAC;YAE7B,uCAAuC;YACvC,IAAI,MAAA,KAAK,CAAC,MAAM,CAAC,0CAAE,cAAc,EAAE,CAAC;gBAClC,IAAA,6CAAqB,EAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7D,eAAe,GAAG,IAAA,mDAA2B,EAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAED,iCAAiC;YACjC,IAAI,MAAA,KAAK,CAAC,MAAM,CAAC,0CAAE,aAAa,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG;oBACf,MAAM;oBACN,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,sBAAQ,CAAC,gBAAgB;oBAC/B,MAAM,EAAE,wCAAwC;iBAC5C,CAAC;gBAEP,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAED,KAAK,CAAC,mBAAmB,CAAC,eAAsB,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,4CAA4C;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,YAAY,CAAsB,CAAC;IACrG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,mCAAgB;SACzB,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,gBAAgB,CAA0B,CAAC;IAC7G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC;YACX,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,uCAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,iBAAiB,CAA2B,CAAC;IAChH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,YAAY,CAAC;YACX,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,yCAAmB;SAC5B,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAvEW,QAAA,WAAW,eAuEtB"}
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":";;;AAEA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,8CAA+B,CAAA;AACjC,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
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) => import("@langchain/openai").AzureChatOpenAI | import("@langchain/openai").ChatOpenAI<import("@langchain/openai").ChatOpenAICallOptions>;
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":";;AAAA,sDAAuE;AAIvE,4DAAiE;AACjE,oDAAmD;AAEnD,uDAA8F;AAC9F,+BAAoC;AACpC,iDAA8D;AAE9D,MAAM,gBAAgB,GAAG,CAAS,WAA8B,EAAE,QAAgC,EAAE,GAAsB,EAAE,WAAoB,EAAE,EAAE;IAChJ,OAAO,KAAK,EAAE,KAAmC,EAAE,EAAE;QACjD,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAwC,EAAE,EAAE;gBACtE,IAAI,CAAC;oBACD,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;oBAC1H,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,IAAA,YAAa,EAAC,cAAc,EAAE;gBACvC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,MAAM,EAAE,WAAW,CAAC,KAAK;aAC5B,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;UACpE,WAAW,IAAI,4BAA4B,WAAW,EAAE;OAC3D,CAAC;YACI,MAAM,gBAAgB,GAAG,IAAA,2BAAgB,EAAC;gBACtC,YAAY,EAAE,IAAI,uBAAW,EAAE;gBAC/B,GAAG;gBACH,KAAK,EAAE,CAAC,IAAI,CAAC;aAChB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,wBAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAA,SAAM,GAAE,EAAE,EAAE,CAAC,CAAC;YACrI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5F,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,IAAI,UAAU,GAAG,EAAE,CAAA;YACnB,IAAI,QAAQ,CAAC,IAAI,KAAK,sBAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtC,UAAU,GAAG,yBAAyB,CAAS,mBAAmB,CAAC,CAAC;YACxE,CAAC;YACD,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;AAEF,kBAAe,gBAAgB,CAAC;AAEhC,MAAM,sBAAsB,GAAG,CAAC,QAAuB,EAAe,EAAE;IACpE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,CAAA,MAAC,OAAqB,CAAC,UAAU,0CAAE,MAAM,KAAI,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;IAC1G,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,OAAO,mBAAmB,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,QAAuB,EAAe,EAAE;IAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,eAA8B,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAS,WAAwB,EAAmB,EAAE;IACpF,IAAI,CAAC;QACD,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;YACtE,OAAO,MAAM,CAAC,MAAM,CAAC;QACzB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAC"}
@@ -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;