@minded-ai/mindedjs 2.0.0 → 2.0.1-beta-2

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 (35) hide show
  1. package/dist/agent.js +2 -2
  2. package/dist/agent.js.map +1 -1
  3. package/dist/browserTask/README.md +419 -0
  4. package/dist/browserTask/browserAgent.py +632 -0
  5. package/dist/browserTask/captcha_isolated.png +0 -0
  6. package/dist/browserTask/executeBrowserTask.ts +79 -0
  7. package/dist/browserTask/requirements.txt +8 -0
  8. package/dist/browserTask/setup.sh +144 -0
  9. package/dist/internalTools/retell.d.ts +12 -0
  10. package/dist/internalTools/retell.d.ts.map +1 -0
  11. package/dist/internalTools/retell.js +54 -0
  12. package/dist/internalTools/retell.js.map +1 -0
  13. package/dist/internalTools/sendPlaceholderMessage.d.ts +14 -0
  14. package/dist/internalTools/sendPlaceholderMessage.d.ts.map +1 -0
  15. package/dist/internalTools/sendPlaceholderMessage.js +61 -0
  16. package/dist/internalTools/sendPlaceholderMessage.js.map +1 -0
  17. package/dist/interrupts/BaseInterruptSessionManager.d.ts +1 -1
  18. package/dist/interrupts/BaseInterruptSessionManager.d.ts.map +1 -1
  19. package/dist/nodes/addPromptNode.d.ts.map +1 -1
  20. package/dist/nodes/addPromptNode.js +251 -94
  21. package/dist/nodes/addPromptNode.js.map +1 -1
  22. package/dist/types/Tools.types.d.ts +1 -0
  23. package/dist/types/Tools.types.d.ts.map +1 -1
  24. package/dist/utils/extractStateMemoryResponse.d.ts +5 -0
  25. package/dist/utils/extractStateMemoryResponse.d.ts.map +1 -0
  26. package/dist/utils/extractStateMemoryResponse.js +91 -0
  27. package/dist/utils/extractStateMemoryResponse.js.map +1 -0
  28. package/docs/low-code-editor/tools.md +37 -43
  29. package/docs/sdk/events.md +40 -38
  30. package/docs/sdk/memory.md +27 -24
  31. package/package.json +1 -1
  32. package/src/agent.ts +2 -2
  33. package/src/interrupts/BaseInterruptSessionManager.ts +1 -1
  34. package/src/nodes/addPromptNode.ts +284 -95
  35. package/src/types/Tools.types.ts +1 -0
@@ -19,7 +19,7 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
19
19
  const llmToUse = node.llmConfig ? (0, createLlmInstance_1.createLlmInstance)(node.llmConfig) : llm;
20
20
  const scopedTools = tools
21
21
  .filter((tool) => tool.isGlobal || node.prompt.includes(`{tools.${tool.name}}`))
22
- .map((tool) => (0, tools_1.tool)((input) => tool.execute({ input, state, agent }), {
22
+ .map((tool) => (0, tools_1.tool)((input) => tool.execute({ input, state, agent, invokedFromPromptNode: true }), {
23
23
  name: tool.name,
24
24
  description: tool.description,
25
25
  schema: tool.input,
@@ -41,122 +41,279 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
41
41
  else {
42
42
  state.messages.unshift(systemMessage);
43
43
  }
44
- const startTime = Date.now();
45
- const result = await llmToUse.bindTools(scopedTools).invoke(state.messages);
46
- const endTime = Date.now();
47
- await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId);
48
- logger_1.logger.debug({
49
- msg: '[Model] Model execution time',
50
- executionTimeMs: endTime - startTime,
51
- sessionId: state.sessionId,
52
- node: node.displayName,
53
- });
54
- // Check if the result contains tool calls
55
- if (result.tool_calls && result.tool_calls.length > 0) {
56
- // Execute the tools
57
- const toolResults = [];
58
- for (const toolCall of result.tool_calls) {
59
- const matchedTool = scopedTools.find((t) => t.name === toolCall.name);
60
- logger_1.logger.info({
61
- msg: `[Model] Calling tool inside prompt node`,
62
- tool: matchedTool === null || matchedTool === void 0 ? void 0 : matchedTool.name,
44
+ // Check if we should use the agentic loop (only when humanInTheLoop is true)
45
+ const useAgenticLoop = node.humanInTheLoop === true;
46
+ /**
47
+ * When humanInTheLoop is true: Run an agentic loop that continues invoking the LLM
48
+ * after tool calls until we get a final AI message without tool calls.
49
+ *
50
+ * When humanInTheLoop is false: Return immediately after tool execution without
51
+ * additional LLM invocations.
52
+ */
53
+ const newMessages = [];
54
+ const newHistory = [];
55
+ let currentMessages = [...state.messages];
56
+ let finalAIMessage = null;
57
+ let loopCount = 0;
58
+ const MAX_LOOP_ITERATIONS = 10;
59
+ while (true) {
60
+ loopCount++;
61
+ // Break if we've reached the maximum number of iterations
62
+ if (loopCount > MAX_LOOP_ITERATIONS) {
63
+ logger_1.logger.warn({
64
+ msg: '[Model] Reached maximum loop iterations, breaking agentic loop',
65
+ loopCount,
63
66
  sessionId: state.sessionId,
64
67
  node: node.displayName,
65
68
  });
66
- if (matchedTool) {
67
- try {
68
- // Invoke the LangChain tool directly
69
- const startTime = Date.now();
70
- const toolResult = await matchedTool.invoke(toolCall);
71
- const endTime = Date.now();
72
- logger_1.logger.debug({
73
- msg: `[Tool] Tool result inside prompt node`,
74
- tool: matchedTool === null || matchedTool === void 0 ? void 0 : matchedTool.name,
75
- result: toolResult,
76
- executionTimeMs: endTime - startTime,
77
- sessionId: state.sessionId,
78
- node: node.displayName,
79
- });
80
- //check for queue after tool call
81
- const systemMessageId = (0, uuid_1.v4)();
82
- await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId, {
83
- messages: [
84
- result,
85
- toolResult,
86
- new messages_1.SystemMessage({
87
- id: systemMessageId,
88
- content: 'you called tool when the user send a new message, Consider calling the function again after user message is processed',
89
- }),
90
- ],
91
- history: [
92
- (0, history_1.createHistoryStep)(state.history, {
93
- type: Flows_types_1.NodeType.TOOL,
94
- nodeId: node.name,
95
- nodeDisplayName: node.displayName,
96
- raw: toolResult,
97
- messageIds: [toolResult.id, systemMessageId],
98
- }),
99
- ],
100
- });
101
- toolResults.push(toolResult);
69
+ break;
70
+ }
71
+ const startTime = Date.now();
72
+ const result = await llmToUse.bindTools(scopedTools).invoke([new messages_1.SystemMessage(compiledPrompt), ...currentMessages]);
73
+ // Always pass accumulated state to interrupt manager
74
+ // Pass the accumulated messages from this prompt node execution
75
+ // If empty, pass undefined to avoid empty state updates
76
+ const interruptState = newMessages.length > 0 || newHistory.length > 0
77
+ ? {
78
+ ...state,
79
+ messages: [...state.messages, ...newMessages],
80
+ history: [...state.history, ...newHistory],
81
+ }
82
+ : undefined;
83
+ await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId, interruptState);
84
+ const endTime = Date.now();
85
+ logger_1.logger.debug({
86
+ msg: '[Model] Model execution time',
87
+ executionTimeMs: endTime - startTime,
88
+ sessionId: state.sessionId,
89
+ node: node.displayName,
90
+ });
91
+ // Check if the result contains tool calls
92
+ if (result.tool_calls && result.tool_calls.length > 0) {
93
+ // Add the tool call message
94
+ newMessages.push(result);
95
+ newHistory.push((0, history_1.createHistoryStep)(state.history, {
96
+ type: Flows_types_1.NodeType.TOOL,
97
+ nodeId: node.name,
98
+ nodeDisplayName: node.displayName,
99
+ raw: result,
100
+ messageIds: [result.id],
101
+ }));
102
+ // Execute the tools
103
+ // Track how many tool responses we've added for validation
104
+ const toolResponseStartIndex = newMessages.length;
105
+ // Ensure we process ALL tool calls, even if some fail
106
+ for (const toolCall of result.tool_calls) {
107
+ const matchedTool = scopedTools.find((t) => t.name === toolCall.name);
108
+ logger_1.logger.info({
109
+ msg: `[Model] Calling tool inside prompt node`,
110
+ tool: (matchedTool === null || matchedTool === void 0 ? void 0 : matchedTool.name) || toolCall.name,
111
+ toolCallId: toolCall.id,
112
+ sessionId: state.sessionId,
113
+ node: node.displayName,
114
+ });
115
+ if (matchedTool) {
116
+ try {
117
+ // Invoke the LangChain tool directly
118
+ const toolStartTime = Date.now();
119
+ const toolResult = await matchedTool.invoke(toolCall);
120
+ const toolEndTime = Date.now();
121
+ logger_1.logger.debug({
122
+ msg: `[Tool] Tool result inside prompt node`,
123
+ tool: matchedTool === null || matchedTool === void 0 ? void 0 : matchedTool.name,
124
+ result: toolResult,
125
+ executionTimeMs: toolEndTime - toolStartTime,
126
+ sessionId: state.sessionId,
127
+ node: node.displayName,
128
+ });
129
+ // Add the tool result directly to allMessages
130
+ newMessages.push(toolResult);
131
+ // Check for queue after tool call
132
+ const systemMessageId = (0, uuid_1.v4)();
133
+ await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId, {
134
+ ...state,
135
+ messages: [
136
+ ...state.messages,
137
+ ...newMessages,
138
+ new messages_1.SystemMessage({
139
+ id: systemMessageId,
140
+ content: 'you called tool when the user send a new message, Consider calling the function again after user message is processed',
141
+ }),
142
+ ],
143
+ history: [
144
+ ...state.history,
145
+ ...newHistory,
146
+ (0, history_1.createHistoryStep)(state.history, {
147
+ type: Flows_types_1.NodeType.TOOL,
148
+ nodeId: node.name,
149
+ nodeDisplayName: node.displayName,
150
+ raw: toolResult,
151
+ messageIds: [toolResult.id, systemMessageId],
152
+ }),
153
+ ],
154
+ });
155
+ // In v2.0, tools update state by reference, no need to extract state updates
156
+ newHistory.push((0, history_1.createHistoryStep)(state.history, {
157
+ type: Flows_types_1.NodeType.TOOL,
158
+ nodeId: node.name,
159
+ nodeDisplayName: node.displayName,
160
+ raw: toolResult,
161
+ messageIds: [toolResult.id],
162
+ }));
163
+ }
164
+ catch (err) {
165
+ if ((err === null || err === void 0 ? void 0 : err.name) === 'GraphInterrupt')
166
+ throw err;
167
+ logger_1.logger.error({
168
+ msg: `[Tool] Error executing tool inside prompt node`,
169
+ tool: toolCall.name,
170
+ err,
171
+ sessionId: state.sessionId,
172
+ node: node.displayName,
173
+ });
174
+ const errorMessage = new messages_1.ToolMessage({
175
+ content: JSON.stringify({ error: err instanceof Error ? err.message : String(err) }),
176
+ tool_call_id: toolCall.id,
177
+ });
178
+ // Add the error message directly to allMessages
179
+ newMessages.push(errorMessage);
180
+ // Check for queue after tool error
181
+ const errorSystemMessageId = (0, uuid_1.v4)();
182
+ await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId, {
183
+ ...state,
184
+ messages: [
185
+ ...state.messages,
186
+ ...newMessages,
187
+ new messages_1.SystemMessage({
188
+ id: errorSystemMessageId,
189
+ content: 'Tool execution failed. Consider handling the error or calling another function if needed.',
190
+ }),
191
+ ],
192
+ history: [
193
+ ...state.history,
194
+ ...newHistory,
195
+ (0, history_1.createHistoryStep)(state.history, {
196
+ type: Flows_types_1.NodeType.TOOL,
197
+ nodeId: node.name,
198
+ nodeDisplayName: node.displayName,
199
+ raw: errorMessage,
200
+ messageIds: [errorMessage.id, errorSystemMessageId],
201
+ }),
202
+ ],
203
+ });
204
+ newHistory.push((0, history_1.createHistoryStep)(state.history, {
205
+ type: Flows_types_1.NodeType.TOOL,
206
+ nodeId: node.name,
207
+ nodeDisplayName: node.displayName,
208
+ raw: errorMessage,
209
+ messageIds: [errorMessage.id],
210
+ }));
211
+ }
102
212
  }
103
- catch (err) {
104
- if ((err === null || err === void 0 ? void 0 : err.name) === 'GraphInterrupt')
105
- throw err;
213
+ else {
106
214
  logger_1.logger.error({
107
- msg: `[Tool] Error executing tool inside prompt node`,
215
+ msg: `[Tool] Model called tool but it was not found inside prompt node`,
108
216
  tool: toolCall.name,
109
- err,
217
+ toolCallId: toolCall.id,
110
218
  sessionId: state.sessionId,
111
219
  node: node.displayName,
112
220
  });
113
- const errorMessage = new messages_1.ToolMessage({
114
- content: JSON.stringify({ error: err instanceof Error ? err.message : String(err) }),
115
- tool_call_id: toolCall.id,
221
+ // IMPORTANT: Create an error message for the missing tool with the correct tool_call_id
222
+ const missingToolMessage = new messages_1.ToolMessage({
223
+ content: JSON.stringify({ error: `Tool '${toolCall.name}' not found` }),
224
+ tool_call_id: toolCall.id, // This MUST match the tool_call_id from the AI message
225
+ name: toolCall.name,
116
226
  });
117
- toolResults.push(errorMessage);
227
+ newMessages.push(missingToolMessage);
228
+ newHistory.push((0, history_1.createHistoryStep)(state.history, {
229
+ type: Flows_types_1.NodeType.TOOL,
230
+ nodeId: node.name,
231
+ nodeDisplayName: node.displayName,
232
+ raw: missingToolMessage,
233
+ messageIds: [missingToolMessage.id],
234
+ }));
118
235
  }
119
236
  }
120
- else {
237
+ // Validate that we have responses for ALL tool calls
238
+ const toolResponseCount = newMessages.length - toolResponseStartIndex;
239
+ if (toolResponseCount !== result.tool_calls.length) {
121
240
  logger_1.logger.error({
122
- msg: `[Tool] Model called tool but it was not found inside prompt node`,
123
- tool: toolCall.name,
241
+ msg: '[Model] Tool response count mismatch',
242
+ expectedCount: result.tool_calls.length,
243
+ actualCount: toolResponseCount,
244
+ toolCallIds: result.tool_calls.map((tc) => tc.id),
124
245
  sessionId: state.sessionId,
125
246
  node: node.displayName,
126
247
  });
127
248
  }
249
+ // If humanInTheLoop is false, return immediately after tool execution
250
+ if (!useAgenticLoop) {
251
+ // In v2.0, modify state directly
252
+ state.messages.push(...newMessages);
253
+ state.history.push(...newHistory);
254
+ return state;
255
+ }
256
+ // Otherwise, prepare for next iteration
257
+ // allMessages now contains all the new messages from this iteration
258
+ currentMessages = [...state.messages, ...newMessages];
259
+ // Continue the loop to see what the model wants to do next
260
+ continue;
128
261
  }
129
- state.messages.push(result, ...toolResults);
130
- state.history.push((0, history_1.createHistoryStep)(state.history, {
131
- type: Flows_types_1.NodeType.TOOL,
132
- nodeId: node.name,
133
- nodeDisplayName: node.displayName,
134
- raw: result,
135
- messageIds: [result.id],
136
- }), ...toolResults.map((toolResult) => (0, history_1.createHistoryStep)(state.history, {
137
- type: Flows_types_1.NodeType.TOOL,
262
+ else {
263
+ // We got an AI message without tool calls - this is our final response
264
+ finalAIMessage = result;
265
+ break;
266
+ }
267
+ }
268
+ // Process the final AI message if we have one
269
+ if (finalAIMessage) {
270
+ // Add the final AI message to our messages first
271
+ newMessages.push(finalAIMessage);
272
+ if (finalAIMessage.getType() === 'ai') {
273
+ logger_1.logger.info({
274
+ msg: `[Model] Response`,
275
+ content: finalAIMessage.content,
276
+ sessionId: state.sessionId,
277
+ node: node.displayName,
278
+ });
279
+ // First add all messages to state
280
+ state.messages.push(...newMessages);
281
+ // In v2.0, emit AI_MESSAGE for handlers to process
282
+ // Handlers will modify state directly by reference
283
+ await emit(AgentEvents_1.AgentEvents.AI_MESSAGE, {
284
+ message: finalAIMessage.content,
285
+ state: state,
286
+ });
287
+ }
288
+ // Set goto to null
289
+ state.goto = null;
290
+ newHistory.push((0, history_1.createHistoryStep)(state.history, {
291
+ type: Flows_types_1.NodeType.PROMPT_NODE,
138
292
  nodeId: node.name,
139
293
  nodeDisplayName: node.displayName,
140
- raw: toolResult,
141
- messageIds: [toolResult.id],
142
- })));
294
+ raw: finalAIMessage.content,
295
+ messageIds: [finalAIMessage.id],
296
+ }));
297
+ // History is added to state
298
+ state.history.push(...newHistory);
143
299
  return state;
144
300
  }
145
- // Model text response
146
- state.goto = null;
147
- state.messages.push(result);
148
- if (result.getType() === 'ai') {
149
- logger_1.logger.info({ msg: `[Model] Response`, content: result.content, sessionId: state.sessionId, node: node.displayName });
150
- await emit(AgentEvents_1.AgentEvents.AI_MESSAGE, { message: result.content, state });
301
+ // If we hit the loop limit without a final AI message, return what we have
302
+ if (loopCount > MAX_LOOP_ITERATIONS && newMessages.length > 0) {
303
+ logger_1.logger.warn({
304
+ msg: '[Model] Returning accumulated messages after hitting loop limit',
305
+ messageCount: newMessages.length,
306
+ sessionId: state.sessionId,
307
+ node: node.displayName,
308
+ });
309
+ state.goto = null;
310
+ // In v2.0, modify state directly
311
+ state.messages.push(...newMessages);
312
+ state.history.push(...newHistory);
313
+ return state;
151
314
  }
152
- state.history.push((0, history_1.createHistoryStep)(state.history, {
153
- type: Flows_types_1.NodeType.PROMPT_NODE,
154
- nodeId: node.name,
155
- nodeDisplayName: node.displayName,
156
- raw: result.content,
157
- messageIds: [result.id],
158
- }));
159
- return state;
315
+ // This should only be reached in unexpected cases
316
+ throw new Error('Unexpected state: no messages generated in prompt node');
160
317
  };
161
318
  graph.addNode(node.name, callback);
162
319
  };
@@ -1 +1 @@
1
- {"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export interface ToolExecuteInput<Input extends z.ZodSchema, Memory = any> {
16
16
  input: z.infer<Input>;
17
17
  state: State<Memory>;
18
18
  agent: Agent;
19
+ invokedFromPromptNode?: boolean;
19
20
  }
20
21
  export interface AppActionRunnerInput {
21
22
  appName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Tools.types.d.ts","sourceRoot":"","sources":["../../src/types/Tools.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC;AAErD,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IACvE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"Tools.types.d.ts","sourceRoot":"","sources":["../../src/types/Tools.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC;AAErD,MAAM,WAAW,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC9E;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IACvE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,5 @@
1
+ import { ToolMessage } from '@langchain/core/messages';
2
+ import { State } from '../types/LangGraph.types';
3
+ declare const extractToolStateResponse: (toolMessage: ToolMessage) => Partial<State>;
4
+ export default extractToolStateResponse;
5
+ //# sourceMappingURL=extractStateMemoryResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractStateMemoryResponse.d.ts","sourceRoot":"","sources":["../../src/utils/extractStateMemoryResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAA0C,MAAM,0BAA0B,CAAC;AAE5G,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,QAAA,MAAM,wBAAwB,gBAAiB,WAAW,KAAG,OAAO,CAAC,KAAK,CAazE,CAAC;AA4EF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const messages_1 = require("@langchain/core/messages");
4
+ const logger_1 = require("./logger");
5
+ const extractToolStateResponse = (toolMessage) => {
6
+ try {
7
+ const parsed = JSON.parse(toolMessage.content);
8
+ if (typeof parsed === 'object' && parsed !== null && 'state' in parsed) {
9
+ if (parsed.state.messages) {
10
+ parsed.state.messages = constructMessagesFromToolMessage(parsed.state.messages);
11
+ }
12
+ return parsed.state;
13
+ }
14
+ }
15
+ catch (err) {
16
+ logger_1.logger.error({ message: 'Error parsing tool state response', err });
17
+ }
18
+ return {};
19
+ };
20
+ const constructMessagesFromToolMessage = (messages) => {
21
+ if (!Array.isArray(messages)) {
22
+ logger_1.logger.error({ msg: 'Expected messages to be an array', messages });
23
+ return [];
24
+ }
25
+ return messages
26
+ .map((messageObj) => {
27
+ try {
28
+ // Handle case where message is already a BaseMessage instance
29
+ if (messageObj instanceof messages_1.BaseMessage) {
30
+ return messageObj;
31
+ }
32
+ // Handle case where message is a plain object that needs reconstruction
33
+ const messageType = messageObj.id[2];
34
+ const content = messageObj.kwargs.content || '';
35
+ const id = messageObj.kwargs.id;
36
+ const additionalKwargs = messageObj.additional_kwargs || {};
37
+ switch (messageType) {
38
+ case 'AIMessage':
39
+ return new messages_1.AIMessage({
40
+ content,
41
+ id,
42
+ additional_kwargs: additionalKwargs,
43
+ tool_calls: messageObj.tool_calls || [],
44
+ invalid_tool_calls: messageObj.invalid_tool_calls || [],
45
+ });
46
+ case 'HumanMessage':
47
+ return new messages_1.HumanMessage({
48
+ content,
49
+ id,
50
+ additional_kwargs: additionalKwargs,
51
+ });
52
+ case 'SystemMessage':
53
+ return new messages_1.SystemMessage({
54
+ content,
55
+ id,
56
+ additional_kwargs: additionalKwargs,
57
+ });
58
+ case 'ToolMessage':
59
+ return new messages_1.ToolMessage({
60
+ content,
61
+ id,
62
+ additional_kwargs: additionalKwargs,
63
+ tool_call_id: messageObj.tool_call_id || '',
64
+ });
65
+ default:
66
+ // Default to HumanMessage for unknown types
67
+ logger_1.logger.warn({
68
+ msg: 'Unknown message type, defaulting to HumanMessage',
69
+ messageType,
70
+ messageObj,
71
+ });
72
+ return null;
73
+ }
74
+ }
75
+ catch (err) {
76
+ logger_1.logger.error({
77
+ msg: 'Error reconstructing message',
78
+ err,
79
+ messageObj,
80
+ });
81
+ // Return a fallback HumanMessage in case of error
82
+ return new messages_1.HumanMessage({
83
+ content: messageObj.content || 'Error reconstructing message',
84
+ id: messageObj.id,
85
+ });
86
+ }
87
+ })
88
+ .filter(Boolean);
89
+ };
90
+ exports.default = extractToolStateResponse;
91
+ //# sourceMappingURL=extractStateMemoryResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractStateMemoryResponse.js","sourceRoot":"","sources":["../../src/utils/extractStateMemoryResponse.ts"],"names":[],"mappings":"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"}