@minded-ai/mindedjs 1.0.101 → 1.0.103

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.
@@ -1,11 +1,13 @@
1
1
  import { BrowserTaskNode } from '../types/Flows.types';
2
2
  import { PreCompiledGraph } from '../types/LangGraph.types';
3
3
  import { Agent } from '../agent';
4
+ import { LLMProviders } from '../types/LLM.types';
4
5
  type AddBrowserTaskNodeParams = {
5
6
  graph: PreCompiledGraph;
6
7
  node: BrowserTaskNode;
7
8
  agent: Agent;
9
+ llm: (typeof LLMProviders)[keyof typeof LLMProviders];
8
10
  };
9
- export declare const addBrowserTaskNode: ({ graph, node }: AddBrowserTaskNodeParams) => Promise<void>;
11
+ export declare const addBrowserTaskNode: ({ graph, node, agent, llm }: AddBrowserTaskNodeParams) => Promise<void>;
10
12
  export {};
11
13
  //# sourceMappingURL=addBrowserTaskNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addBrowserTaskNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAM7E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,iBAAiB,wBAAwB,kBAgGjF,CAAC"}
1
+ {"version":3,"file":"addBrowserTaskNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAM7E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0ClD,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,6BAA6B,wBAAwB,kBAyK7F,CAAC"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.addBrowserTaskNode = void 0;
4
37
  const Flows_types_1 = require("../types/Flows.types");
@@ -7,41 +40,140 @@ const history_1 = require("../utils/history");
7
40
  const messages_1 = require("@langchain/core/messages");
8
41
  const uuid_1 = require("uuid");
9
42
  const executeBrowserTask_1 = require("../browserTask/executeBrowserTask");
10
- const addBrowserTaskNode = async ({ graph, node }) => {
43
+ const tools_1 = require("@langchain/core/tools");
44
+ const zod_1 = require("zod");
45
+ const playbooks_1 = require("../playbooks/playbooks");
46
+ const ejs = __importStar(require("ejs"));
47
+ /**
48
+ * Compile prompt with parameters using EJS and placeholder replacement
49
+ */
50
+ function compilePrompt(prompt, params = {}) {
51
+ try {
52
+ // First, render with EJS
53
+ let compiledPrompt = ejs.render(prompt, params);
54
+ // Then, replace placeholders in {} format
55
+ compiledPrompt = replacePlaceholders(compiledPrompt, params);
56
+ return compiledPrompt;
57
+ }
58
+ catch (error) {
59
+ logger_1.logger.error({ message: 'Error compiling prompt', error });
60
+ return prompt; // Return uncompiled if there's an error
61
+ }
62
+ }
63
+ /**
64
+ * Replace placeholders in {key} format
65
+ */
66
+ function replacePlaceholders(text, params) {
67
+ return text.replace(/\{([^}]+)\}/g, (match, key) => {
68
+ const keys = key.split('.');
69
+ let value = params;
70
+ for (const k of keys) {
71
+ if (value && typeof value === 'object' && k in value) {
72
+ value = value[k];
73
+ }
74
+ else {
75
+ return match; // Return original if key not found
76
+ }
77
+ }
78
+ return String(value);
79
+ });
80
+ }
81
+ const addBrowserTaskNode = async ({ graph, node, agent, llm }) => {
11
82
  const callback = async (state) => {
12
83
  logger_1.logger.info({ msg: `Executing browser task node ${node.displayName}`, prompt: node.prompt });
13
- logger_1.logger.info({ msg: `Executing browser task node ${node.displayName}`, prompt: node.prompt });
14
- const prompt = `
15
- Follow the instructions. Any retrieved data should be printed as string and not saved to a file
16
- # Task instructions:\n${node.prompt}\n\n
17
- ${state.memory ? `# Task context:\n${JSON.stringify(state.memory)}\n\n` : ''}
18
- # Conversation history:\n${state.messages.map((m) => `${m.getType()}: ${m.content}`).join('\n')}
19
- `;
20
- const toolCallId = (0, uuid_1.v4)();
21
- const toolCallingMessageId = (0, uuid_1.v4)();
84
+ // Create Zod schema from inputSchema
85
+ const schemaFields = {};
86
+ if (node.inputSchema) {
87
+ for (const field of node.inputSchema) {
88
+ let fieldSchema;
89
+ if (field.type === 'string') {
90
+ fieldSchema = zod_1.z.string();
91
+ }
92
+ else if (field.type === 'number') {
93
+ fieldSchema = zod_1.z.number();
94
+ }
95
+ else {
96
+ fieldSchema = zod_1.z.string(); // Default to string
97
+ }
98
+ if (field.description) {
99
+ fieldSchema = fieldSchema.describe(field.description);
100
+ }
101
+ if (field.required === false) {
102
+ fieldSchema = fieldSchema.optional();
103
+ }
104
+ schemaFields[field.name] = fieldSchema;
105
+ }
106
+ }
107
+ const zodSchema = zod_1.z.object(schemaFields);
108
+ // Create langchain tool
109
+ const tool = (0, tools_1.tool)(() => { }, {
110
+ name: 'browser-task',
111
+ description: node.prompt,
112
+ schema: zodSchema,
113
+ });
114
+ // Get compiled playbooks
115
+ const playbookParams = {
116
+ ...state.memory,
117
+ state,
118
+ currentTime: new Date().toISOString(),
119
+ };
120
+ const compiledPlaybooks = (0, playbooks_1.compilePlaybooks)(agent.playbooks, playbookParams) || '';
121
+ const systemPrompt = `${compiledPlaybooks ? compiledPlaybooks + '\n\n' : ''}
122
+ Additional context:
123
+ - workflow memory: ${JSON.stringify(state.memory)}`;
22
124
  try {
125
+ // Use LLM to generate tool call
126
+ const AIToolCallMessage = await llm
127
+ .bindTools([tool], {
128
+ tool_choice: tool.name,
129
+ })
130
+ .invoke([...state.messages, new messages_1.SystemMessage(systemPrompt)]);
131
+ if (!AIToolCallMessage.tool_calls || AIToolCallMessage.tool_calls.length === 0) {
132
+ throw new Error('No tool calls generated by LLM');
133
+ }
134
+ const toolCall = AIToolCallMessage.tool_calls[0];
135
+ const inputParams = toolCall.args || {};
136
+ // Prepare parameters for prompt compilation
137
+ const promptParams = {
138
+ input: inputParams,
139
+ state,
140
+ currentTime: new Date().toISOString(),
141
+ };
142
+ // Compile the prompt with parameters
143
+ const compiledPrompt = compilePrompt(node.prompt, promptParams);
144
+ // Build the full prompt with compiled content
145
+ const fullPrompt = `
146
+ Follow the instructions. Any retrieved data should be printed as string and not saved to a file.
147
+
148
+ # Task instructions:
149
+ ${compiledPrompt}
150
+
151
+ ${Object.keys(inputParams).length > 0 ? `# Input parameters:\n${JSON.stringify(inputParams, null, 2)}\n\n` : ''}
152
+ ${state.memory ? `# Task context:\n${JSON.stringify(state.memory)}\n\n` : ''}
153
+ `;
23
154
  // Create the browser task in the cloud
24
- const taskId = await (0, executeBrowserTask_1.createCloudTask)(`Follow the instructions. Any retrieved data should be printed as string and not saved to a file.\n${node.prompt}`, node.model);
155
+ const taskId = await (0, executeBrowserTask_1.createCloudTask)(fullPrompt, node.model);
25
156
  logger_1.logger.debug({ msg: 'Browser task created', taskId });
26
157
  // Wait for live_url to become available
27
158
  const taskDetails = await (0, executeBrowserTask_1.waitForLiveUrl)(taskId);
28
159
  logger_1.logger.debug({ msg: 'Live URL available', taskId, liveUrl: taskDetails.live_url });
160
+ // Update the tool call with taskId and other metadata
161
+ const updatedToolCall = {
162
+ ...toolCall,
163
+ args: {
164
+ ...inputParams,
165
+ taskId,
166
+ prompt: fullPrompt,
167
+ },
168
+ };
29
169
  const toolCallingMessage = new messages_1.AIMessage({
30
- id: toolCallingMessageId,
31
- content: '',
32
- tool_calls: [
33
- {
34
- id: toolCallId,
35
- name: 'browser-task',
36
- args: {
37
- prompt,
38
- taskId,
39
- },
40
- },
41
- ],
170
+ id: AIToolCallMessage.id,
171
+ content: AIToolCallMessage.content,
172
+ tool_calls: [updatedToolCall],
42
173
  additional_kwargs: {
43
174
  mindedMetadata: {
44
175
  nodeType: Flows_types_1.NodeType.BROWSER_TASK,
176
+ nodeDisplayName: node.displayName,
45
177
  taskId,
46
178
  liveUrl: taskDetails.live_url,
47
179
  },
@@ -52,23 +184,24 @@ const addBrowserTaskNode = async ({ graph, node }) => {
52
184
  type: Flows_types_1.NodeType.BROWSER_TASK,
53
185
  nodeId: node.name,
54
186
  nodeDisplayName: node.displayName,
55
- raw: { taskId, liveUrl: taskDetails.live_url },
56
- messageIds: [toolCallingMessageId],
187
+ raw: { taskId, liveUrl: taskDetails.live_url, inputParams },
188
+ messageIds: [toolCallingMessage.id],
57
189
  }),
58
190
  messages: [toolCallingMessage],
59
191
  };
60
192
  }
61
193
  catch (error) {
62
194
  logger_1.logger.error(`Error creating browser task node ${node.displayName}: ${error}`);
195
+ const errorMessageId = (0, uuid_1.v4)();
196
+ const errorToolCallId = (0, uuid_1.v4)();
63
197
  const toolCallingMessage = new messages_1.AIMessage({
64
- id: toolCallingMessageId,
198
+ id: errorMessageId,
65
199
  content: '',
66
200
  tool_calls: [
67
201
  {
68
- id: toolCallId,
202
+ id: errorToolCallId,
69
203
  name: 'browser-task',
70
204
  args: {
71
- prompt,
72
205
  error: error.message,
73
206
  },
74
207
  },
@@ -76,6 +209,7 @@ const addBrowserTaskNode = async ({ graph, node }) => {
76
209
  additional_kwargs: {
77
210
  mindedMetadata: {
78
211
  nodeType: Flows_types_1.NodeType.BROWSER_TASK,
212
+ nodeDisplayName: node.displayName,
79
213
  error: error.message,
80
214
  },
81
215
  },
@@ -86,7 +220,7 @@ const addBrowserTaskNode = async ({ graph, node }) => {
86
220
  nodeId: node.name,
87
221
  nodeDisplayName: node.displayName,
88
222
  raw: error,
89
- messageIds: [toolCallingMessageId],
223
+ messageIds: [errorMessageId],
90
224
  }),
91
225
  messages: [toolCallingMessage],
92
226
  };
@@ -1 +1 @@
1
- {"version":3,"file":"addBrowserTaskNode.js","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addBrowserTaskNode.js","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"addBrowserTaskRunNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskRunNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAiC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,WAAyD,CAAC;AAEtH,eAAO,MAAM,qBAAqB,GAAU,gDAAgD,2BAA2B,kBAqHtH,CAAC"}
1
+ {"version":3,"file":"addBrowserTaskRunNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskRunNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAiC,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAOjC,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,WAAyD,CAAC;AAEtH,eAAO,MAAM,qBAAqB,GAAU,gDAAgD,2BAA2B,kBA2HtH,CAAC"}
@@ -18,11 +18,11 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
18
18
  throw new Error('Tool call not found');
19
19
  }
20
20
  const toolCall = toolCallObj.tool_calls[0];
21
- const taskId = toolCall.args.taskId;
22
- if (!taskId) {
23
- throw new Error('Task ID not found in tool call arguments');
24
- }
21
+ const { taskId, ...inputParams } = toolCall.args;
25
22
  try {
23
+ if (!taskId) {
24
+ throw new Error('Task ID not found in tool call arguments');
25
+ }
26
26
  // Wait for task completion
27
27
  const completedTask = await (0, executeBrowserTask_1.waitForCompletion)(taskId);
28
28
  logger_1.logger.debug({ msg: 'Browser task completed', taskId, output: completedTask.output });
@@ -32,6 +32,7 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
32
32
  content: JSON.stringify({
33
33
  result: completedTask.output || 'Task completed successfully',
34
34
  steps: completedTask.steps || [],
35
+ inputParams: inputParams,
35
36
  }),
36
37
  name: 'browser-task',
37
38
  tool_call_id: toolCall.id,
@@ -39,8 +40,10 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
39
40
  additional_kwargs: {
40
41
  mindedMetadata: {
41
42
  nodeType: Flows_types_1.NodeType.BROWSER_TASK,
43
+ nodeDisplayName: browserTaskNode.displayName,
42
44
  taskId,
43
45
  steps: completedTask.steps,
46
+ inputParams: inputParams,
44
47
  },
45
48
  },
46
49
  });
@@ -53,6 +56,7 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
53
56
  ...toolCallObj.additional_kwargs,
54
57
  mindedMetadata: {
55
58
  ...(_a = toolCallObj.additional_kwargs) === null || _a === void 0 ? void 0 : _a.mindedMetadata,
59
+ nodeDisplayName: browserTaskNode.displayName,
56
60
  steps: completedTask.steps,
57
61
  status: 'completed',
58
62
  },
@@ -76,6 +80,7 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
76
80
  id: (0, uuid_1.v4)(),
77
81
  content: JSON.stringify({
78
82
  error: error instanceof Error ? error.message : error.toString(),
83
+ inputParams: inputParams,
79
84
  }),
80
85
  status: 'error',
81
86
  name: 'browser-task',
@@ -83,8 +88,10 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
83
88
  additional_kwargs: {
84
89
  mindedMetadata: {
85
90
  nodeType: Flows_types_1.NodeType.BROWSER_TASK,
91
+ nodeDisplayName: browserTaskNode.displayName,
86
92
  taskId,
87
93
  error: error.message,
94
+ inputParams: inputParams,
88
95
  },
89
96
  },
90
97
  });
@@ -97,6 +104,7 @@ const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedToNodeNam
97
104
  ...toolCallObj.additional_kwargs,
98
105
  mindedMetadata: {
99
106
  ...(_b = toolCallObj.additional_kwargs) === null || _b === void 0 ? void 0 : _b.mindedMetadata,
107
+ nodeDisplayName: browserTaskNode.displayName,
100
108
  status: 'failed',
101
109
  error: error.message,
102
110
  },
@@ -1 +1 @@
1
- {"version":3,"file":"addBrowserTaskRunNode.js","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskRunNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addBrowserTaskRunNode.js","sourceRoot":"","sources":["../../src/nodes/addBrowserTaskRunNode.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ const nodeFactory = ({ graph, node, tools, llm, emit, agent, }) => {
31
31
  (0, addJumpToNode_1.addJumpToNode)({ graph, node });
32
32
  break;
33
33
  case Flows_types_1.NodeType.BROWSER_TASK:
34
- (0, addBrowserTaskNode_1.addBrowserTaskNode)({ graph, node, agent });
34
+ (0, addBrowserTaskNode_1.addBrowserTaskNode)({ graph, node, agent, llm });
35
35
  break;
36
36
  default:
37
37
  throw new Error(`Unsupported node type: ${nodeType}`);
@@ -1 +1 @@
1
- {"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AAGtD,+CAA4C;AAC5C,mDAAgD;AAGhD,qDAAkD;AAClD,qDAAkD;AAGlD,mDAAgD;AAChD,uDAAoD;AACpD,6DAA0D;AAEnD,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,KAAK,GAQN,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,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,IAAA,iCAAe,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,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,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,sBAAQ,CAAC,YAAY;YACxB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,sBAAQ,CAAC,YAAY;YACxB,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3C,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB"}
1
+ {"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AAGtD,+CAA4C;AAC5C,mDAAgD;AAGhD,qDAAkD;AAClD,qDAAkD;AAGlD,mDAAgD;AAChD,uDAAoD;AACpD,6DAA0D;AAEnD,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,KAAK,GAQN,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,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,IAAA,iCAAe,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,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,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,sBAAQ,CAAC,YAAY;YACxB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,sBAAQ,CAAC,YAAY;YACxB,IAAA,uCAAkB,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB"}
@@ -81,6 +81,12 @@ export interface BrowserTaskNode extends BaseNode {
81
81
  type: NodeType.BROWSER_TASK;
82
82
  prompt: string;
83
83
  model?: string;
84
+ inputSchema?: {
85
+ name: string;
86
+ type: 'string' | 'number';
87
+ description?: string;
88
+ required?: boolean;
89
+ }[];
84
90
  }
85
91
  export type TriggerNode = AppTriggerNode | WebhookTriggerNode | ManualTriggerNode | VoiceTriggerNode;
86
92
  export interface JunctionNode extends BaseNode {
@@ -1 +1 @@
1
- {"version":3,"file":"Flows.types.d.ts","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,WAAW,eAAe;IAC1B,YAAY,eAAe;IAC3B,YAAY,gBAAgB;CAC7B;AAED,oBAAY,QAAQ;IAClB,iBAAiB,qBAAqB;IACtC,gBAAgB,oBAAoB;IACpC,YAAY,gBAAgB;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe,EAAE,WAAW;IAClE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC;IAC/B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAErG,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ,EAAE,WAAW;IACxD,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,CAAC;AAEnH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,IAAI,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,eAAe,CAAC;AAEhF,oBAAY,mBAAmB;IAC7B,QAAQ,YAAY;CACrB;AACD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AACD,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,oBAAoB,CAAC;QAC3B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED,oBAAY,mBAAmB;IAC7B,iBAAiB,oBAAoB;IACrC,QAAQ,aAAa;IACrB,gBAAgB,oBAAoB;CACrC"}
1
+ {"version":3,"file":"Flows.types.d.ts","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Flows.types.js","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,gCAAoB,CAAA;IACpB,sCAA0B,CAAA;IAC1B,uCAA2B,CAAA;IAC3B,wCAA4B,CAAA;AAC9B,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,kDAAsC,CAAA;IACtC,gDAAoC,CAAA;IACpC,wCAA4B,CAAA;AAC9B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAWD,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AA4GD,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,2CAAoB,CAAA;AACtB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAsBD,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,mCAAW,CAAA;AACb,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAQD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4DAAqC,CAAA;IACrC,4CAAqB,CAAA;IACrB,2DAAoC,CAAA;AACtC,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
1
+ {"version":3,"file":"Flows.types.js","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,gCAAoB,CAAA;IACpB,sCAA0B,CAAA;IAC1B,uCAA2B,CAAA;IAC3B,wCAA4B,CAAA;AAC9B,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,kDAAsC,CAAA;IACtC,gDAAoC,CAAA;IACpC,wCAA4B,CAAA;AAC9B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAWD,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAkHD,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,2CAAoB,CAAA;AACtB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAsBD,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,mCAAW,CAAA;AACb,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAQD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4DAAqC,CAAA;IACrC,4CAAqB,CAAA;IACrB,2DAAoC,CAAA;AACtC,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minded-ai/mindedjs",
3
- "version": "1.0.101",
3
+ "version": "1.0.103",
4
4
  "description": "MindedJS is a TypeScript library for building agents.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -4,60 +4,174 @@ import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
4
4
  import { HistoryStep } from '../types/Agent.types';
5
5
  import { logger } from '../utils/logger';
6
6
  import { createHistoryStep } from '../utils/history';
7
- import { AIMessage } from '@langchain/core/messages';
7
+ import { AIMessage, SystemMessage } from '@langchain/core/messages';
8
8
  import { v4 as uuidv4 } from 'uuid';
9
9
  import { Agent } from '../agent';
10
10
  import { createCloudTask, waitForLiveUrl } from '../browserTask/executeBrowserTask';
11
+ import { tool as langchainTool } from '@langchain/core/tools';
12
+ import { z } from 'zod';
13
+ import { LLMProviders } from '../types/LLM.types';
14
+ import { compilePlaybooks } from '../playbooks/playbooks';
15
+ import * as ejs from 'ejs';
16
+
17
+ /**
18
+ * Compile prompt with parameters using EJS and placeholder replacement
19
+ */
20
+ function compilePrompt(prompt: string, params: Record<string, any> = {}): string {
21
+ try {
22
+ // First, render with EJS
23
+ let compiledPrompt = ejs.render(prompt, params);
24
+
25
+ // Then, replace placeholders in {} format
26
+ compiledPrompt = replacePlaceholders(compiledPrompt, params);
27
+
28
+ return compiledPrompt;
29
+ } catch (error) {
30
+ logger.error({ message: 'Error compiling prompt', error });
31
+ return prompt; // Return uncompiled if there's an error
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Replace placeholders in {key} format
37
+ */
38
+ function replacePlaceholders(text: string, params: Record<string, any>): string {
39
+ return text.replace(/\{([^}]+)\}/g, (match, key) => {
40
+ const keys = key.split('.');
41
+ let value: any = params;
42
+
43
+ for (const k of keys) {
44
+ if (value && typeof value === 'object' && k in value) {
45
+ value = value[k];
46
+ } else {
47
+ return match; // Return original if key not found
48
+ }
49
+ }
50
+
51
+ return String(value);
52
+ });
53
+ }
11
54
 
12
55
  type AddBrowserTaskNodeParams = {
13
56
  graph: PreCompiledGraph;
14
57
  node: BrowserTaskNode;
15
58
  agent: Agent;
59
+ llm: (typeof LLMProviders)[keyof typeof LLMProviders];
16
60
  };
17
61
 
18
- export const addBrowserTaskNode = async ({ graph, node }: AddBrowserTaskNodeParams) => {
62
+ export const addBrowserTaskNode = async ({ graph, node, agent, llm }: AddBrowserTaskNodeParams) => {
19
63
  const callback: RunnableLike = async (state: typeof stateAnnotation.State) => {
20
64
  logger.info({ msg: `Executing browser task node ${node.displayName}`, prompt: node.prompt });
21
- logger.info({ msg: `Executing browser task node ${node.displayName}`, prompt: node.prompt });
22
65
 
23
- const prompt = `
24
- Follow the instructions. Any retrieved data should be printed as string and not saved to a file
25
- # Task instructions:\n${node.prompt}\n\n
26
- ${state.memory ? `# Task context:\n${JSON.stringify(state.memory)}\n\n` : ''}
27
- # Conversation history:\n${state.messages.map((m) => `${m.getType()}: ${m.content}`).join('\n')}
28
- `;
66
+ // Create Zod schema from inputSchema
67
+ const schemaFields: Record<string, z.ZodTypeAny> = {};
68
+ if (node.inputSchema) {
69
+ for (const field of node.inputSchema) {
70
+ let fieldSchema: z.ZodTypeAny;
71
+
72
+ if (field.type === 'string') {
73
+ fieldSchema = z.string();
74
+ } else if (field.type === 'number') {
75
+ fieldSchema = z.number();
76
+ } else {
77
+ fieldSchema = z.string(); // Default to string
78
+ }
79
+
80
+ if (field.description) {
81
+ fieldSchema = fieldSchema.describe(field.description);
82
+ }
29
83
 
30
- const toolCallId = uuidv4();
31
- const toolCallingMessageId = uuidv4();
84
+ if (field.required === false) {
85
+ fieldSchema = fieldSchema.optional();
86
+ }
87
+
88
+ schemaFields[field.name] = fieldSchema;
89
+ }
90
+ }
91
+
92
+ const zodSchema = z.object(schemaFields);
93
+
94
+ // Create langchain tool
95
+ const tool = langchainTool(() => {}, {
96
+ name: 'browser-task',
97
+ description: node.prompt,
98
+ schema: zodSchema,
99
+ });
100
+
101
+ // Get compiled playbooks
102
+ const playbookParams = {
103
+ ...state.memory,
104
+ state,
105
+ currentTime: new Date().toISOString(),
106
+ };
107
+ const compiledPlaybooks = compilePlaybooks(agent.playbooks, playbookParams) || '';
108
+
109
+ const systemPrompt = `${compiledPlaybooks ? compiledPlaybooks + '\n\n' : ''}
110
+ Additional context:
111
+ - workflow memory: ${JSON.stringify(state.memory)}`;
32
112
 
33
113
  try {
114
+ // Use LLM to generate tool call
115
+ const AIToolCallMessage: AIMessage = await llm
116
+ .bindTools([tool], {
117
+ tool_choice: tool.name,
118
+ })
119
+ .invoke([...state.messages, new SystemMessage(systemPrompt)]);
120
+
121
+ if (!AIToolCallMessage.tool_calls || AIToolCallMessage.tool_calls.length === 0) {
122
+ throw new Error('No tool calls generated by LLM');
123
+ }
124
+
125
+ const toolCall = AIToolCallMessage.tool_calls[0];
126
+ const inputParams = toolCall.args || {};
127
+
128
+ // Prepare parameters for prompt compilation
129
+ const promptParams = {
130
+ input: inputParams,
131
+ state,
132
+ currentTime: new Date().toISOString(),
133
+ };
134
+
135
+ // Compile the prompt with parameters
136
+ const compiledPrompt = compilePrompt(node.prompt, promptParams);
137
+
138
+ // Build the full prompt with compiled content
139
+ const fullPrompt = `
140
+ Follow the instructions. Any retrieved data should be printed as string and not saved to a file.
141
+
142
+ # Task instructions:
143
+ ${compiledPrompt}
144
+
145
+ ${Object.keys(inputParams).length > 0 ? `# Input parameters:\n${JSON.stringify(inputParams, null, 2)}\n\n` : ''}
146
+ ${state.memory ? `# Task context:\n${JSON.stringify(state.memory)}\n\n` : ''}
147
+ `;
148
+
34
149
  // Create the browser task in the cloud
35
- const taskId = await createCloudTask(
36
- `Follow the instructions. Any retrieved data should be printed as string and not saved to a file.\n${node.prompt}`,
37
- node.model,
38
- );
150
+ const taskId = await createCloudTask(fullPrompt, node.model);
39
151
  logger.debug({ msg: 'Browser task created', taskId });
40
152
 
41
153
  // Wait for live_url to become available
42
154
  const taskDetails = await waitForLiveUrl(taskId);
43
155
  logger.debug({ msg: 'Live URL available', taskId, liveUrl: taskDetails.live_url });
44
156
 
157
+ // Update the tool call with taskId and other metadata
158
+ const updatedToolCall = {
159
+ ...toolCall,
160
+ args: {
161
+ ...inputParams,
162
+ taskId,
163
+ prompt: fullPrompt,
164
+ },
165
+ };
166
+
45
167
  const toolCallingMessage = new AIMessage({
46
- id: toolCallingMessageId,
47
- content: '',
48
- tool_calls: [
49
- {
50
- id: toolCallId,
51
- name: 'browser-task',
52
- args: {
53
- prompt,
54
- taskId,
55
- },
56
- },
57
- ],
168
+ id: AIToolCallMessage.id,
169
+ content: AIToolCallMessage.content,
170
+ tool_calls: [updatedToolCall],
58
171
  additional_kwargs: {
59
172
  mindedMetadata: {
60
173
  nodeType: NodeType.BROWSER_TASK,
174
+ nodeDisplayName: node.displayName,
61
175
  taskId,
62
176
  liveUrl: taskDetails.live_url,
63
177
  },
@@ -69,23 +183,25 @@ export const addBrowserTaskNode = async ({ graph, node }: AddBrowserTaskNodePara
69
183
  type: NodeType.BROWSER_TASK,
70
184
  nodeId: node.name,
71
185
  nodeDisplayName: node.displayName,
72
- raw: { taskId, liveUrl: taskDetails.live_url },
73
- messageIds: [toolCallingMessageId],
186
+ raw: { taskId, liveUrl: taskDetails.live_url, inputParams },
187
+ messageIds: [toolCallingMessage.id!],
74
188
  }),
75
189
  messages: [toolCallingMessage],
76
190
  };
77
191
  } catch (error: any) {
78
192
  logger.error(`Error creating browser task node ${node.displayName}: ${error}`);
79
193
 
194
+ const errorMessageId = uuidv4();
195
+ const errorToolCallId = uuidv4();
196
+
80
197
  const toolCallingMessage = new AIMessage({
81
- id: toolCallingMessageId,
198
+ id: errorMessageId,
82
199
  content: '',
83
200
  tool_calls: [
84
201
  {
85
- id: toolCallId,
202
+ id: errorToolCallId,
86
203
  name: 'browser-task',
87
204
  args: {
88
- prompt,
89
205
  error: error.message,
90
206
  },
91
207
  },
@@ -93,6 +209,7 @@ export const addBrowserTaskNode = async ({ graph, node }: AddBrowserTaskNodePara
93
209
  additional_kwargs: {
94
210
  mindedMetadata: {
95
211
  nodeType: NodeType.BROWSER_TASK,
212
+ nodeDisplayName: node.displayName,
96
213
  error: error.message,
97
214
  },
98
215
  },
@@ -104,7 +221,7 @@ export const addBrowserTaskNode = async ({ graph, node }: AddBrowserTaskNodePara
104
221
  nodeId: node.name,
105
222
  nodeDisplayName: node.displayName,
106
223
  raw: error,
107
- messageIds: [toolCallingMessageId],
224
+ messageIds: [errorMessageId],
108
225
  }),
109
226
  messages: [toolCallingMessage],
110
227
  };
@@ -26,15 +26,13 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
26
26
  if (!toolCallObj.tool_calls) {
27
27
  throw new Error('Tool call not found');
28
28
  }
29
-
30
29
  const toolCall = toolCallObj.tool_calls[0];
31
- const taskId = toolCall.args.taskId;
32
-
33
- if (!taskId) {
34
- throw new Error('Task ID not found in tool call arguments');
35
- }
36
-
30
+ const { taskId, ...inputParams } = toolCall.args;
37
31
  try {
32
+ if (!taskId) {
33
+ throw new Error('Task ID not found in tool call arguments');
34
+ }
35
+
38
36
  // Wait for task completion
39
37
  const completedTask = await waitForCompletion(taskId);
40
38
  logger.debug({ msg: 'Browser task completed', taskId, output: completedTask.output });
@@ -45,6 +43,7 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
45
43
  content: JSON.stringify({
46
44
  result: completedTask.output || 'Task completed successfully',
47
45
  steps: completedTask.steps || [],
46
+ inputParams: inputParams,
48
47
  }),
49
48
  name: 'browser-task',
50
49
  tool_call_id: toolCall.id,
@@ -52,8 +51,10 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
52
51
  additional_kwargs: {
53
52
  mindedMetadata: {
54
53
  nodeType: NodeType.BROWSER_TASK,
54
+ nodeDisplayName: browserTaskNode.displayName,
55
55
  taskId,
56
56
  steps: completedTask.steps,
57
+ inputParams: inputParams,
57
58
  },
58
59
  },
59
60
  });
@@ -67,6 +68,7 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
67
68
  ...toolCallObj.additional_kwargs,
68
69
  mindedMetadata: {
69
70
  ...toolCallObj.additional_kwargs?.mindedMetadata,
71
+ nodeDisplayName: browserTaskNode.displayName,
70
72
  steps: completedTask.steps,
71
73
  status: 'completed',
72
74
  },
@@ -91,6 +93,7 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
91
93
  id: uuidv4(),
92
94
  content: JSON.stringify({
93
95
  error: error instanceof Error ? error.message : error.toString(),
96
+ inputParams: inputParams,
94
97
  }),
95
98
  status: 'error',
96
99
  name: 'browser-task',
@@ -98,8 +101,10 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
98
101
  additional_kwargs: {
99
102
  mindedMetadata: {
100
103
  nodeType: NodeType.BROWSER_TASK,
104
+ nodeDisplayName: browserTaskNode.displayName,
101
105
  taskId,
102
106
  error: error.message,
107
+ inputParams: inputParams,
103
108
  },
104
109
  },
105
110
  });
@@ -113,6 +118,7 @@ export const addBrowserTaskRunNode = async ({ graph, browserTaskNode, attachedTo
113
118
  ...toolCallObj.additional_kwargs,
114
119
  mindedMetadata: {
115
120
  ...toolCallObj.additional_kwargs?.mindedMetadata,
121
+ nodeDisplayName: browserTaskNode.displayName,
116
122
  status: 'failed',
117
123
  error: error.message,
118
124
  },
@@ -49,9 +49,9 @@ export const nodeFactory = ({
49
49
  addJumpToNode({ graph, node });
50
50
  break;
51
51
  case NodeType.BROWSER_TASK:
52
- addBrowserTaskNode({ graph, node, agent });
52
+ addBrowserTaskNode({ graph, node, agent, llm });
53
53
  break;
54
54
  default:
55
55
  throw new Error(`Unsupported node type: ${nodeType}`);
56
56
  }
57
- };
57
+ };
@@ -94,6 +94,12 @@ export interface BrowserTaskNode extends BaseNode {
94
94
  type: NodeType.BROWSER_TASK;
95
95
  prompt: string;
96
96
  model?: string;
97
+ inputSchema?: {
98
+ name: string;
99
+ type: 'string' | 'number';
100
+ description?: string;
101
+ required?: boolean;
102
+ }[];
97
103
  }
98
104
 
99
105
  export type TriggerNode = AppTriggerNode | WebhookTriggerNode | ManualTriggerNode | VoiceTriggerNode;