@minded-ai/mindedjs 1.0.60-beta.8 → 1.0.62-patch1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +72 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/internalTools/appActionRunnerTool.d.ts.map +1 -1
- package/dist/internalTools/appActionRunnerTool.js +5 -2
- package/dist/internalTools/appActionRunnerTool.js.map +1 -1
- package/dist/nodes/addPromptNode.d.ts.map +1 -1
- package/dist/nodes/addPromptNode.js +13 -8
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/nodes/addToolRunNode.d.ts.map +1 -1
- package/dist/nodes/addToolRunNode.js +7 -3
- package/dist/nodes/addToolRunNode.js.map +1 -1
- package/dist/platform/mindedConnection.js +1 -1
- package/dist/platform/mindedConnection.js.map +1 -1
- package/dist/types/LangGraph.types.d.ts +27 -0
- package/dist/types/LangGraph.types.d.ts.map +1 -1
- package/dist/types/LangGraph.types.js +5 -2
- package/dist/types/LangGraph.types.js.map +1 -1
- package/dist/types/Tools.types.d.ts +14 -8
- package/dist/types/Tools.types.d.ts.map +1 -1
- package/dist/utils/extractStateMemoryResponse.d.ts +4 -0
- package/dist/utils/extractStateMemoryResponse.d.ts.map +1 -0
- package/dist/utils/extractStateMemoryResponse.js +17 -0
- package/dist/utils/extractStateMemoryResponse.js.map +1 -0
- package/dist/voice/voiceSession.d.ts.map +1 -1
- package/dist/voice/voiceSession.js +4 -2
- package/dist/voice/voiceSession.js.map +1 -1
- package/package.json +2 -2
- package/src/cli/index.ts +77 -1
- package/src/internalTools/appActionRunnerTool.ts +6 -4
- package/src/nodes/addPromptNode.ts +14 -9
- package/src/nodes/addToolNode.ts +2 -2
- package/src/nodes/addToolRunNode.ts +8 -3
- package/src/platform/mindedConnection.ts +1 -1
- package/src/types/LangGraph.types.ts +38 -35
- package/src/types/Tools.types.ts +16 -5
- package/src/utils/extractStateMemoryResponse.ts +16 -0
- package/src/voice/voiceSession.ts +3 -1
- package/src/utils/extractToolMemoryResponse.ts +0 -15
package/dist/cli/index.js
CHANGED
|
@@ -68,6 +68,74 @@ function setToken(token) {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
+
function generateLambdaHandler() {
|
|
72
|
+
const mindedConfigPath = path.join(process.cwd(), 'minded.json');
|
|
73
|
+
// Check if minded.json exists
|
|
74
|
+
if (!fs.existsSync(mindedConfigPath)) {
|
|
75
|
+
logger_1.logger.error('minded.json not found in the current directory');
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
// Read and parse minded.json
|
|
79
|
+
let mindedConfig;
|
|
80
|
+
try {
|
|
81
|
+
const configContent = fs.readFileSync(mindedConfigPath, 'utf8');
|
|
82
|
+
mindedConfig = JSON.parse(configContent);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
logger_1.logger.error('Failed to read or parse minded.json:', error);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
// Get the agent path
|
|
89
|
+
const agentPath = mindedConfig.agent;
|
|
90
|
+
if (!agentPath) {
|
|
91
|
+
logger_1.logger.error('No agent path found in minded.json');
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
// Remove .ts or .js extension if present and convert to relative path
|
|
95
|
+
const modulePath = agentPath.replace(/\.(ts|js)$/, '');
|
|
96
|
+
// Generate the Lambda handler content
|
|
97
|
+
const lambdaHandlerContent = `exports.handler = async (event, context) => {
|
|
98
|
+
const modulePath = '${modulePath}'; // Agent path from minded.json
|
|
99
|
+
const resolvedPath = require.resolve(modulePath);
|
|
100
|
+
delete require.cache[resolvedPath];
|
|
101
|
+
const agent = require(modulePath).default;
|
|
102
|
+
const { agentFunctionName, agentFunctionBody } = event;
|
|
103
|
+
|
|
104
|
+
if (!agent[agentFunctionName]) {
|
|
105
|
+
throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const response = await agent[agentFunctionName](agentFunctionBody);
|
|
109
|
+
|
|
110
|
+
// Safely stringify the response. If it fails (e.g., due to circular refs
|
|
111
|
+
// or non-serialisable class instances), fall back to null.
|
|
112
|
+
let responseBody = null;
|
|
113
|
+
try {
|
|
114
|
+
JSON.stringify(response);
|
|
115
|
+
responseBody = response;
|
|
116
|
+
} catch (_) {
|
|
117
|
+
// ignored - responseBody stays null
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (agentFunctionName === 'startVoiceSession') {
|
|
121
|
+
const wait = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
122
|
+
while (context.getRemainingTimeInMillis() > 1000) {
|
|
123
|
+
console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
|
|
124
|
+
await wait(1000); // sleep 1 s
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return {
|
|
129
|
+
statusCode: 200,
|
|
130
|
+
body: responseBody,
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
`;
|
|
134
|
+
// Write the Lambda handler to index.js at the root
|
|
135
|
+
const outputPath = path.join(process.cwd(), 'index.js');
|
|
136
|
+
fs.writeFileSync(outputPath, lambdaHandlerContent);
|
|
137
|
+
logger_1.logger.info(`Generated Lambda handler at ${outputPath}`);
|
|
138
|
+
}
|
|
71
139
|
function main() {
|
|
72
140
|
const args = process.argv.slice(2);
|
|
73
141
|
const command = args[0];
|
|
@@ -79,8 +147,11 @@ function main() {
|
|
|
79
147
|
}
|
|
80
148
|
setToken(token);
|
|
81
149
|
}
|
|
150
|
+
else if (command === 'generate-lambda-js-handler') {
|
|
151
|
+
generateLambdaHandler();
|
|
152
|
+
}
|
|
82
153
|
else {
|
|
83
|
-
logger_1.logger.error('Unknown command. Available commands: token');
|
|
154
|
+
logger_1.logger.error('Unknown command. Available commands: token, generate-lambda');
|
|
84
155
|
process.exit(1);
|
|
85
156
|
}
|
|
86
157
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,4CAAyC;AAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,2BAA2B,KAAK,EAAE,CAAC;IAErD,4BAA4B;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,kCAAkC;QAClC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,WAAW,OAAO,kBAAkB,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpD,kDAAkD;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACpD,yBAAyB;YACzB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;YACnF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC1C,eAAM,CAAC,IAAI,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;YACpH,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACtC,eAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appActionRunnerTool.d.ts","sourceRoot":"","sources":["../../src/internalTools/appActionRunnerTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"appActionRunnerTool.d.ts","sourceRoot":"","sources":["../../src/internalTools/appActionRunnerTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAoB,MAAM,sBAAsB,CAAC;AAuB9D,QAAA,MAAM,0BAA0B,GAAI,QAAQ,gBAAgB,EAAE,EAAE,WAAW,MAAM,EAAE,kBAAkB,gBAAgB,KAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CA0CpI,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,mBAEvD,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -39,12 +39,15 @@ const appActionRunnerToolCreator = (schema, nodeTitle, mindedConnection) => {
|
|
|
39
39
|
name: nodeTitle,
|
|
40
40
|
description,
|
|
41
41
|
input: zodSchema,
|
|
42
|
-
execute: async ({ input }) => {
|
|
42
|
+
execute: async ({ input, state }) => {
|
|
43
43
|
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppAction, {
|
|
44
44
|
nodeTitle,
|
|
45
45
|
actionInput: input,
|
|
46
46
|
}, 20000);
|
|
47
|
-
return
|
|
47
|
+
return {
|
|
48
|
+
state,
|
|
49
|
+
result: response,
|
|
50
|
+
};
|
|
48
51
|
},
|
|
49
52
|
};
|
|
50
53
|
createdTools[nodeTitle] = tool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appActionRunnerTool.js","sourceRoot":"","sources":["../../src/internalTools/appActionRunnerTool.ts"],"names":[],"mappings":";;;AACA,6EAAsF;AAGtF,6BAAwB;AAExB,MAAM,YAAY,GAAG;IACnB,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;CACJ,CAAC;AAEX,MAAM,kBAAkB,GAAG,CAAC,MAAuD,EAAE,EAAE;;IACrF,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,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;IAC3B,CAAC;IACD,OAAO,OAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAmC,EAAE,CAAC;AAExD,MAAM,0BAA0B,GAAG,CAAC,MAA0B,EAAE,SAAiB,EAAE,gBAAkC,EAAkB,EAAE;IACvI,MAAM,SAAS,GAAG,kBAAkB,CAClC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAqD,CAAC,CAC1D,CAAC;
|
|
1
|
+
{"version":3,"file":"appActionRunnerTool.js","sourceRoot":"","sources":["../../src/internalTools/appActionRunnerTool.ts"],"names":[],"mappings":";;;AACA,6EAAsF;AAGtF,6BAAwB;AAExB,MAAM,YAAY,GAAG;IACnB,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;CACJ,CAAC;AAEX,MAAM,kBAAkB,GAAG,CAAC,MAAuD,EAAE,EAAE;;IACrF,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,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;IAC3B,CAAC;IACD,OAAO,OAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAmC,EAAE,CAAC;AAExD,MAAM,0BAA0B,GAAG,CAAC,MAA0B,EAAE,SAAiB,EAAE,gBAAkC,EAAkB,EAAE;IACvI,MAAM,SAAS,GAAG,kBAAkB,CAClC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAqD,CAAC,CAC1D,CAAC;IACF,8CAA8C;IAC9C,MAAM,WAAW,GAAG,OAAO,SAAS,2BAA2B,IAAI,CAAC,SAAS,CAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAyB,CAAC,EAC7B,IAAI,EACJ,CAAC,CACF,EAAE,CAAC;IAEJ,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,SAAS;QACf,WAAW;QACX,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAsC,EAAE,EAAE;YACtE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAC/C,yDAAiC,CAAC,WAAW,EAC7C;gBACE,SAAS;gBACT,WAAW,EAAE,KAAK;aACnB,EACD,KAAK,CACN,CAAC;YACF,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,QAA4B;aACrC,CAAC;QACJ,CAAC;KACF,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC1D,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC;AAEF,kBAAe,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,yBAAyB,EAAe,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,0CAA0C,mBAAmB,
|
|
1
|
+
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,yBAAyB,EAAe,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,0CAA0C,mBAAmB,kBA6EhG,CAAC"}
|
|
@@ -8,7 +8,7 @@ const messages_1 = require("@langchain/core/messages");
|
|
|
8
8
|
const tools_1 = require("@langchain/core/tools");
|
|
9
9
|
const AgentEvents_1 = require("../events/AgentEvents");
|
|
10
10
|
const createLlmInstance_1 = require("../llm/createLlmInstance");
|
|
11
|
-
const
|
|
11
|
+
const extractStateMemoryResponse_1 = __importDefault(require("../utils/extractStateMemoryResponse"));
|
|
12
12
|
const logger_1 = require("../utils/logger");
|
|
13
13
|
const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
14
14
|
const callback = async (state, { configurable }) => {
|
|
@@ -28,18 +28,23 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
28
28
|
`;
|
|
29
29
|
const result = await llmToUse.bindTools(globalTools).invoke([...state.messages, new messages_1.SystemMessage(message)]);
|
|
30
30
|
// Check if the result contains tool calls
|
|
31
|
-
|
|
32
|
-
if (aiMessage.tool_calls && aiMessage.tool_calls.length > 0) {
|
|
31
|
+
if (result.tool_calls && result.tool_calls.length > 0) {
|
|
33
32
|
// Execute the tools
|
|
34
33
|
const toolResults = [];
|
|
35
|
-
let
|
|
36
|
-
for (const toolCall of
|
|
34
|
+
let stateUpdates = {};
|
|
35
|
+
for (const toolCall of result.tool_calls) {
|
|
37
36
|
const matchedTool = globalTools.find((t) => t.name === toolCall.name);
|
|
38
37
|
if (matchedTool) {
|
|
39
38
|
try {
|
|
40
39
|
// Invoke the LangChain tool directly
|
|
41
40
|
const toolResult = await matchedTool.invoke(toolCall);
|
|
42
|
-
|
|
41
|
+
const toolStateUpdate = (0, extractStateMemoryResponse_1.default)(toolResult);
|
|
42
|
+
// Properly merge memory and other state updates
|
|
43
|
+
stateUpdates = {
|
|
44
|
+
...stateUpdates,
|
|
45
|
+
...toolStateUpdate,
|
|
46
|
+
memory: { ...stateUpdates.memory, ...toolStateUpdate.memory },
|
|
47
|
+
};
|
|
43
48
|
toolResults.push(toolResult);
|
|
44
49
|
}
|
|
45
50
|
catch (error) {
|
|
@@ -55,10 +60,10 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
55
60
|
logger_1.logger.error({ msg: `Model tried to call tool ${toolCall.name} but it was not found` });
|
|
56
61
|
}
|
|
57
62
|
}
|
|
58
|
-
// Return the tool call message and tool results
|
|
63
|
+
// Return the tool call message and tool results with state updates spread at top level
|
|
59
64
|
return {
|
|
65
|
+
...stateUpdates,
|
|
60
66
|
messages: [result, ...toolResults],
|
|
61
|
-
memory: updatedMemory,
|
|
62
67
|
};
|
|
63
68
|
}
|
|
64
69
|
if (result.getType() === 'ai') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":";;;;;;AAKA,uDAAiF;AAEjF,iDAA8D;AAC9D,uDAA+E;AAE/E,gEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"addPromptNode.js","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":";;;AAEA,iDAA8D;AAE9D,
|
|
1
|
+
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":";;;AAEA,iDAA8D;AAE9D,uDAAoE;AAGpE,4CAAyC;AAElC,MAAM,WAAW,GAAG,KAAK,EAAE,EAChC,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,GAMJ,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAgB,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,GAAG,EAAE,GAAE,CAAC,EAAE;YACnC,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,MAAM,EAAE,WAAW,CAAC,KAAK;SAC1B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG;;6BAEU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;SAChD,CAAC;QACN,MAAM,iBAAiB,GAAc,MAAM,GAAG;aAC3C,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;YACjB,WAAW,EAAE,IAAI,CAAC,IAAI;SACvB,CAAC;aACD,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,wBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC3C,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AApCW,QAAA,WAAW,eAoCtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolRunNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolRunNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,WAA0B,CAAC;AAEhF,eAAO,MAAM,cAAc,GAAU,uDAAuD,oBAAoB,
|
|
1
|
+
{"version":3,"file":"addToolRunNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolRunNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,WAA0B,CAAC;AAEhF,eAAO,MAAM,cAAc,GAAU,uDAAuD,oBAAoB,kBAsC/G,CAAC"}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.addToolRunNode = exports.buildToolRunNodeName = void 0;
|
|
7
7
|
const tools_1 = require("@langchain/core/tools");
|
|
8
|
-
const
|
|
8
|
+
const extractStateMemoryResponse_1 = __importDefault(require("../utils/extractStateMemoryResponse"));
|
|
9
9
|
const logger_1 = require("../utils/logger");
|
|
10
10
|
const buildToolRunNodeName = (nodeName) => `${nodeName}_toolRun`;
|
|
11
11
|
exports.buildToolRunNodeName = buildToolRunNodeName;
|
|
@@ -35,8 +35,12 @@ const addToolRunNode = async ({ graph, tools, toolNode, attachedToNodeName, agen
|
|
|
35
35
|
throw new Error('Tool call not found');
|
|
36
36
|
}
|
|
37
37
|
const toolCallMessage = await tool.invoke(toolCallObj.tool_calls[0]);
|
|
38
|
-
const
|
|
39
|
-
|
|
38
|
+
const toolStateUpdate = (0, extractStateMemoryResponse_1.default)(toolCallMessage);
|
|
39
|
+
// Return the full state update from the tool. The state as well as the memory returned are partial
|
|
40
|
+
return {
|
|
41
|
+
...toolStateUpdate,
|
|
42
|
+
messages: [toolCallMessage],
|
|
43
|
+
};
|
|
40
44
|
};
|
|
41
45
|
graph.addNode((0, exports.buildToolRunNodeName)(attachedToNodeName), callback);
|
|
42
46
|
graph.addEdge(attachedToNodeName, (0, exports.buildToolRunNodeName)(attachedToNodeName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolRunNode.js","sourceRoot":"","sources":["../../src/nodes/addToolRunNode.ts"],"names":[],"mappings":";;;;;;AAKA,iDAA8D;AAG9D,
|
|
1
|
+
{"version":3,"file":"addToolRunNode.js","sourceRoot":"","sources":["../../src/nodes/addToolRunNode.ts"],"names":[],"mappings":";;;;;;AAKA,iDAA8D;AAG9D,qGAA2E;AAE3E,4CAAyC;AAWlC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,QAAQ,UAAU,CAAC;AAAnE,QAAA,oBAAoB,wBAA+C;AAEzE,MAAM,cAAc,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAwB,EAAE,EAAE;IAClH,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,EAAE,KAAwC,EAAE,EAAE;YACxE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,OAAO,QAAQ,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,cAAc,EAAE;YACzC,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,MAAM,EAAE,WAAW,CAAC,KAAK;SAC1B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAQ,CAAC;QACrE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAA,oCAAwB,EAAC,eAA8B,CAAC,CAAC;QAEjF,mGAAmG;QACnG,OAAO;YACL,GAAG,eAAe;YAClB,QAAQ,EAAE,CAAC,eAAe,CAAC;SAC5B,CAAC;IACJ,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,IAAA,4BAAoB,EAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,KAAK,CAAC,OAAO,CAAC,kBAAyB,EAAE,IAAA,4BAAoB,EAAC,kBAAkB,CAAQ,CAAC,CAAC;AAC5F,CAAC,CAAC;AAtCW,QAAA,cAAc,kBAsCzB"}
|
|
@@ -27,7 +27,7 @@ class MindedConnection {
|
|
|
27
27
|
return new Promise((resolve, reject) => {
|
|
28
28
|
// Set up timeout
|
|
29
29
|
const timeout = setTimeout(() => {
|
|
30
|
-
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; Message: ${
|
|
30
|
+
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; Message: ${message}`));
|
|
31
31
|
}, timeoutMs);
|
|
32
32
|
// Emit with acknowledgement callback
|
|
33
33
|
this.socket.emit(event, (0, flatted_1.stringify)(message), (response) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":";;;AAAA,uDAA8C;AAE9C,qCAAoC;AACpC,qCAAqC;AACrC,4CAAyC;AAEzC,MAAa,gBAAgB;IAA7B;QACU,WAAM,GAAkB,IAAI,CAAC;QACrC,cAAS,GAEL,EAAE,CAAC;QAMA,OAAE,GAAG,CAAC,KAAwC,EAAE,QAAiG,EAAE,EAAE;YAC1J,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;QAEK,SAAI,GAAG,CACZ,KAAQ,EACR,OAAgD,EAChD,EAAE;YACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEK,cAAS,GAAG,KAAK,EAAQ,KAAwC,EAAE,OAAU,EAAE,YAAoB,IAAI,EAAc,EAAE;YAC5H,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,iBAAiB;gBACjB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import { BaseMessage } from '@langchain/core/messages';
|
|
2
2
|
import { CompiledStateGraph, StateGraph } from '@langchain/langgraph';
|
|
3
3
|
import { FlowHistory, TriggerInvocationHistory } from './Agent.types';
|
|
4
|
+
export declare const createStateAnnotation: <Memory = any>() => import("@langchain/langgraph").AnnotationRoot<{
|
|
5
|
+
messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
|
|
6
|
+
memory: import("@langchain/langgraph").BinaryOperatorAggregate<Memory, Memory>;
|
|
7
|
+
triggerInvocations: import("@langchain/langgraph").BinaryOperatorAggregate<TriggerInvocationHistory[], TriggerInvocationHistory[]>;
|
|
8
|
+
triggerMetadata: {
|
|
9
|
+
(): import("@langchain/langgraph").LastValue<{
|
|
10
|
+
name: string;
|
|
11
|
+
triggerBody: any;
|
|
12
|
+
} | null>;
|
|
13
|
+
(annotation: import("@langchain/langgraph").SingleReducer<{
|
|
14
|
+
name: string;
|
|
15
|
+
triggerBody: any;
|
|
16
|
+
} | null, {
|
|
17
|
+
name: string;
|
|
18
|
+
triggerBody: any;
|
|
19
|
+
} | null>): import("@langchain/langgraph").BinaryOperatorAggregate<{
|
|
20
|
+
name: string;
|
|
21
|
+
triggerBody: any;
|
|
22
|
+
} | null, {
|
|
23
|
+
name: string;
|
|
24
|
+
triggerBody: any;
|
|
25
|
+
} | null>;
|
|
26
|
+
Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
|
|
27
|
+
};
|
|
28
|
+
history: import("@langchain/langgraph").BinaryOperatorAggregate<FlowHistory[], FlowHistory[]>;
|
|
29
|
+
sessionId: import("@langchain/langgraph").LastValue<string>;
|
|
30
|
+
}>;
|
|
4
31
|
export declare const stateAnnotation: import("@langchain/langgraph").AnnotationRoot<{
|
|
5
32
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
|
|
6
33
|
memory: import("@langchain/langgraph").BinaryOperatorAggregate<any, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LangGraph.types.d.ts","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAc,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEtE,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"LangGraph.types.d.ts","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAc,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEtE,eAAO,MAAM,qBAAqB,GAAI,MAAM,GAAG,GAAG;;;;;;kBA4BtC,MAAM;yBACC,GAAG;;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;;;;;EAOlB,CAAC;AAGL,eAAO,MAAM,eAAe;;;;;;kBAXhB,MAAM;yBACC,GAAG;;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;kBADV,MAAM;yBACC,GAAG;;;;;;EAUgC,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stateAnnotation = void 0;
|
|
3
|
+
exports.stateAnnotation = exports.createStateAnnotation = void 0;
|
|
4
4
|
const langgraph_1 = require("@langchain/langgraph");
|
|
5
|
-
|
|
5
|
+
const createStateAnnotation = () => langgraph_1.Annotation.Root({
|
|
6
6
|
messages: (0, langgraph_1.Annotation)({
|
|
7
7
|
default: () => [],
|
|
8
8
|
reducer: (prevMessages, newMessages) => {
|
|
@@ -37,4 +37,7 @@ exports.stateAnnotation = langgraph_1.Annotation.Root({
|
|
|
37
37
|
}),
|
|
38
38
|
sessionId: (0, langgraph_1.Annotation)(),
|
|
39
39
|
});
|
|
40
|
+
exports.createStateAnnotation = createStateAnnotation;
|
|
41
|
+
// Default state annotation with any memory type
|
|
42
|
+
exports.stateAnnotation = (0, exports.createStateAnnotation)();
|
|
40
43
|
//# sourceMappingURL=LangGraph.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;
|
|
1
|
+
{"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;AAG3E,MAAM,qBAAqB,GAAG,GAAiB,EAAE,CACtD,sBAAU,CAAC,IAAI,CAAC;IACd,QAAQ,EAAE,IAAA,sBAAU,EAAqB;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;;YACrC,MAAM,GAAG,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YAC9B,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,IAAI,MAAA,OAAO,CAAC,iBAAiB,0CAAE,MAAM,EAAE,CAAC;oBACtC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;oBACvC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;IACF,MAAM,EAAE,IAAA,sBAAU,EAAS;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAa,CAAA;QAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;KACpC,CAAC;IACF,kBAAkB,EAAE,IAAA,sBAAU,EAAkC;QAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF,eAAe,EAAE,CAAA,sBAGR,CAAA;IACT,OAAO,EAAE,IAAA,sBAAU,EAAqB;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/B,CAAC;IACF,SAAS,EAAE,IAAA,sBAAU,GAAU;CAChC,CAAC,CAAC;AApCQ,QAAA,qBAAqB,yBAoC7B;AAEL,gDAAgD;AACnC,QAAA,eAAe,GAAG,IAAA,6BAAqB,GAAE,CAAC"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Agent } from '../';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { createStateAnnotation } from './LangGraph.types';
|
|
4
|
+
type StateType<Memory = any> = ReturnType<typeof createStateAnnotation<Memory>>['State'];
|
|
5
|
+
type ForbidOldAPI = {
|
|
6
|
+
memory?: never;
|
|
7
|
+
};
|
|
8
|
+
export type ToolReturnType<Memory = any> = ({
|
|
9
|
+
state?: Partial<StateType<Memory>>;
|
|
10
|
+
result?: any;
|
|
11
|
+
} & ForbidOldAPI) | void;
|
|
12
|
+
export interface Tool<Input extends z.ZodSchema, Memory = any> {
|
|
5
13
|
name: string;
|
|
6
14
|
description: string;
|
|
7
15
|
input: Input;
|
|
8
16
|
isGlobal?: boolean;
|
|
9
|
-
execute: (input: ToolExecuteInput<Input>) => Promise<
|
|
10
|
-
memory?: Partial<Memory>;
|
|
11
|
-
result?: any;
|
|
12
|
-
} | void>;
|
|
17
|
+
execute: (input: ToolExecuteInput<Input, Memory>) => Promise<ToolReturnType<Memory>>;
|
|
13
18
|
}
|
|
14
|
-
export interface ToolExecuteInput<Input extends z.ZodSchema> {
|
|
19
|
+
export interface ToolExecuteInput<Input extends z.ZodSchema, Memory = any> {
|
|
15
20
|
input: z.infer<Input>;
|
|
16
|
-
state:
|
|
21
|
+
state: StateType<Memory>;
|
|
17
22
|
agent: Agent;
|
|
18
23
|
}
|
|
19
24
|
export interface AppActionRunnerInput {
|
|
@@ -21,4 +26,5 @@ export interface AppActionRunnerInput {
|
|
|
21
26
|
actionName: string;
|
|
22
27
|
actionInput: object;
|
|
23
28
|
}
|
|
29
|
+
export {};
|
|
24
30
|
//# sourceMappingURL=Tools.types.d.ts.map
|
|
@@ -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,
|
|
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,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,KAAK,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAGzF,KAAK,YAAY,GAAG;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAGF,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;AAExH,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,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CACtF;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,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractStateMemoryResponse.d.ts","sourceRoot":"","sources":["../../src/utils/extractStateMemoryResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,QAAA,MAAM,wBAAwB,GAAI,KAAK,EAAE,aAAa,WAAW,KAAG,OAAO,CAAC,KAAK,CAUhF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const logger_1 = require("./logger");
|
|
4
|
+
const extractToolStateResponse = (toolMessage) => {
|
|
5
|
+
try {
|
|
6
|
+
const parsed = JSON.parse(toolMessage.content);
|
|
7
|
+
if (typeof parsed === 'object' && parsed !== null && 'state' in parsed) {
|
|
8
|
+
return parsed.state;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
logger_1.logger.error({ msg: 'Error parsing tool state response', error });
|
|
13
|
+
}
|
|
14
|
+
return {};
|
|
15
|
+
};
|
|
16
|
+
exports.default = extractToolStateResponse;
|
|
17
|
+
//# sourceMappingURL=extractStateMemoryResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractStateMemoryResponse.js","sourceRoot":"","sources":["../../src/utils/extractStateMemoryResponse.ts"],"names":[],"mappings":";;AACA,qCAAkC;AAElC,MAAM,wBAAwB,GAAG,CAAQ,WAAwB,EAAkB,EAAE;IACnF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAiB,CAAC,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,mCAAmC,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceSession.d.ts","sourceRoot":"","sources":["../../src/voice/voiceSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAajC;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAC,CAAY;IAErC,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,sBAAsB,CAAC,CAAa;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAA+C;IACzE,OAAO,CAAC,oBAAoB,CAAC,CAAa;gBAE9B,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAQpI;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBpB,gBAAgB;YAQhB,iBAAiB;IAsB/B,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"voiceSession.d.ts","sourceRoot":"","sources":["../../src/voice/voiceSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAajC;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAC,CAAY;IAErC,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,sBAAsB,CAAC,CAAa;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAA+C;IACzE,OAAO,CAAC,oBAAoB,CAAC,CAAa;gBAE9B,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAQpI;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBpB,gBAAgB;YAQhB,iBAAiB;IAsB/B,OAAO,CAAC,mBAAmB;YA4Gb,sBAAsB;YAUtB,mBAAmB;IAiB1B,MAAM,IAAI,IAAI;IAMrB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI/C;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI1C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIxC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlC,2CAA2C;YAC7B,YAAY;CAgB3B"}
|
|
@@ -141,10 +141,12 @@ class VoiceSession {
|
|
|
141
141
|
}
|
|
142
142
|
if ((0, config_1.getConfig)().dashboardConnected) {
|
|
143
143
|
try {
|
|
144
|
-
|
|
144
|
+
(_c = this.agent.mindedConnection) === null || _c === void 0 ? void 0 : _c.emit(mindedConnectionTypes_1.MindedConnectionSocketMessageType.DASHBOARD_VOICE_AGENT_AUDIO, {
|
|
145
145
|
sessionId: this.sessionId,
|
|
146
146
|
audioData: data.audio_event.audio_base_64,
|
|
147
|
-
|
|
147
|
+
timestamp: Date.now(),
|
|
148
|
+
type: mindedConnectionTypes_1.MindedConnectionSocketMessageType.DASHBOARD_VOICE_AGENT_AUDIO,
|
|
149
|
+
});
|
|
148
150
|
}
|
|
149
151
|
catch (error) {
|
|
150
152
|
logger_1.logger.error(`[ElevenLabsVoice] Error sending audio to dashboard: ${error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceSession.js","sourceRoot":"","sources":["../../src/voice/voiceSession.ts"],"names":[],"mappings":";;;AAAA,2BAA+B;AAE/B,6EAE2C;AAC3C,+CAA+C;AAK/C,uDAAgF;AAChF,+BAAoC;AACpC,4CAAyC;AAEzC;;GAEG;AACH,MAAa,YAAY;IAYvB,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAA+E;QAClI,eAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;QAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,cAAS,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAiB;QAC/C,IAAI,MAAM,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC;YACxB,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,MAAM,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;oBACvB,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAiB,CAAC,CAAC,8DAA8D;QAErG,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,MAAM,cAAc,GAAqC;gBACvD,IAAI,EAAE,qCAAqC;gBAC3C,4BAA4B,EAAE;oBAC5B,KAAK,EAAE;wBACL,aAAa,EAAE,IAAI,CAAC,YAAY;wBAChC,QAAQ,EAAE,IAAI;qBACf;oBACD,GAAG,CAAC,IAAI,CAAC,OAAO;wBACd,CAAC,CAAC;4BACA,GAAG,EAAE;gCACH,QAAQ,EAAE,IAAI,CAAC,OAAO;6BACvB;yBACF;wBACD,CAAC,CAAC,EAAE,CAAC;iBAC4D;aACtE,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAA,kBAAS,GAAE,CAAC,KAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3J,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;;YACpB,eAAM,CAAC,KAAK,CAAC,yDAAyD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACxF,MAAA,IAAI,CAAC,oBAAoB,oDAAI,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;YAChC,eAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,KAAU,EAAE,EAAE;;YACtC,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEzE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9F,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC5B,MAAM;gBACR,KAAK,iBAAiB;oBACpB,eAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;oBACzF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;oBACtJ,CAAC;oBACD,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,oBAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBACzI,CAAC;oBACD,MAAM;gBACR,KAAK,cAAc;oBACjB,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBACtC,MAAA,IAAI,CAAC,sBAAsB,oDAAI,CAAC;oBAChC,oDAAoD;oBACpD,IAAI,IAAA,kBAAS,GAAE,CAAC,kBAAkB,EAAE,CAAC;wBACnC,IAAI,CAAC;4BACH,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,0CAAE,IAAI,CAAC,yDAAiC,CAAC,4BAA4B,EAAE;gCAChG,IAAI,EAAE,yDAAiC,CAAC,4BAA4B;gCACpE,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;6BACtB,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,eAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;wBACnF,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,IAAA,kBAAS,GAAE,CAAC,kBAAkB,EAAE,CAAC;wBACnC,IAAI,CAAC;4BACH,
|
|
1
|
+
{"version":3,"file":"voiceSession.js","sourceRoot":"","sources":["../../src/voice/voiceSession.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minded-ai/mindedjs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.62-patch1",
|
|
4
4
|
"description": "MindedJS is a TypeScript library for building agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -58,4 +58,4 @@
|
|
|
58
58
|
"ws": "^8.15.1",
|
|
59
59
|
"zod": "^3.24.4"
|
|
60
60
|
}
|
|
61
|
-
}
|
|
61
|
+
}
|
package/src/cli/index.ts
CHANGED
|
@@ -38,6 +38,80 @@ function setToken(token: string): void {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
function generateLambdaHandler(): void {
|
|
42
|
+
const mindedConfigPath = path.join(process.cwd(), 'minded.json');
|
|
43
|
+
|
|
44
|
+
// Check if minded.json exists
|
|
45
|
+
if (!fs.existsSync(mindedConfigPath)) {
|
|
46
|
+
logger.error('minded.json not found in the current directory');
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Read and parse minded.json
|
|
51
|
+
let mindedConfig;
|
|
52
|
+
try {
|
|
53
|
+
const configContent = fs.readFileSync(mindedConfigPath, 'utf8');
|
|
54
|
+
mindedConfig = JSON.parse(configContent);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
logger.error('Failed to read or parse minded.json:', error);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Get the agent path
|
|
61
|
+
const agentPath = mindedConfig.agent;
|
|
62
|
+
if (!agentPath) {
|
|
63
|
+
logger.error('No agent path found in minded.json');
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Remove .ts or .js extension if present and convert to relative path
|
|
68
|
+
const modulePath = agentPath.replace(/\.(ts|js)$/, '');
|
|
69
|
+
|
|
70
|
+
// Generate the Lambda handler content
|
|
71
|
+
const lambdaHandlerContent = `exports.handler = async (event, context) => {
|
|
72
|
+
const modulePath = '${modulePath}'; // Agent path from minded.json
|
|
73
|
+
const resolvedPath = require.resolve(modulePath);
|
|
74
|
+
delete require.cache[resolvedPath];
|
|
75
|
+
const agent = require(modulePath).default;
|
|
76
|
+
const { agentFunctionName, agentFunctionBody } = event;
|
|
77
|
+
|
|
78
|
+
if (!agent[agentFunctionName]) {
|
|
79
|
+
throw new Error('Unknown agentFunctionName: ' + agentFunctionName);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const response = await agent[agentFunctionName](agentFunctionBody);
|
|
83
|
+
|
|
84
|
+
// Safely stringify the response. If it fails (e.g., due to circular refs
|
|
85
|
+
// or non-serialisable class instances), fall back to null.
|
|
86
|
+
let responseBody = null;
|
|
87
|
+
try {
|
|
88
|
+
JSON.stringify(response);
|
|
89
|
+
responseBody = response;
|
|
90
|
+
} catch (_) {
|
|
91
|
+
// ignored - responseBody stays null
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (agentFunctionName === 'startVoiceSession') {
|
|
95
|
+
const wait = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
96
|
+
while (context.getRemainingTimeInMillis() > 1000) {
|
|
97
|
+
console.log('Lambda remaining time in seconds: ', context.getRemainingTimeInMillis() / 1000);
|
|
98
|
+
await wait(1000); // sleep 1 s
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return {
|
|
103
|
+
statusCode: 200,
|
|
104
|
+
body: responseBody,
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
`;
|
|
108
|
+
|
|
109
|
+
// Write the Lambda handler to index.js at the root
|
|
110
|
+
const outputPath = path.join(process.cwd(), 'index.js');
|
|
111
|
+
fs.writeFileSync(outputPath, lambdaHandlerContent);
|
|
112
|
+
logger.info(`Generated Lambda handler at ${outputPath}`);
|
|
113
|
+
}
|
|
114
|
+
|
|
41
115
|
function main() {
|
|
42
116
|
const args = process.argv.slice(2);
|
|
43
117
|
const command = args[0];
|
|
@@ -49,8 +123,10 @@ function main() {
|
|
|
49
123
|
process.exit(1);
|
|
50
124
|
}
|
|
51
125
|
setToken(token);
|
|
126
|
+
} else if (command === 'generate-lambda-js-handler') {
|
|
127
|
+
generateLambdaHandler();
|
|
52
128
|
} else {
|
|
53
|
-
logger.error('Unknown command. Available commands: token');
|
|
129
|
+
logger.error('Unknown command. Available commands: token, generate-lambda');
|
|
54
130
|
process.exit(1);
|
|
55
131
|
}
|
|
56
132
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MindedConnection } from '../platform/mindedConnection';
|
|
2
2
|
import { MindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
|
|
3
3
|
import { ActionInputParam } from '../types/Flows.types';
|
|
4
|
-
import { Tool } from '../types/Tools.types';
|
|
4
|
+
import { Tool, ToolExecuteInput } from '../types/Tools.types';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
|
|
7
7
|
const typeToZodMap = {
|
|
@@ -33,7 +33,6 @@ const appActionRunnerToolCreator = (schema: ActionInputParam[], nodeTitle: strin
|
|
|
33
33
|
return acc;
|
|
34
34
|
}, {} as Record<string, { type: string; example?: any }>),
|
|
35
35
|
);
|
|
36
|
-
type InputType = z.infer<typeof zodSchema>;
|
|
37
36
|
// Create a description that includes examples
|
|
38
37
|
const description = `Run ${nodeTitle} action. Example input: ${JSON.stringify(
|
|
39
38
|
schema.reduce((acc, param) => {
|
|
@@ -50,7 +49,7 @@ const appActionRunnerToolCreator = (schema: ActionInputParam[], nodeTitle: strin
|
|
|
50
49
|
name: nodeTitle,
|
|
51
50
|
description,
|
|
52
51
|
input: zodSchema,
|
|
53
|
-
execute: async ({ input }:
|
|
52
|
+
execute: async ({ input, state }: ToolExecuteInput<typeof zodSchema>) => {
|
|
54
53
|
const response = await mindedConnection.awaitEmit(
|
|
55
54
|
MindedConnectionSocketMessageType.OnAppAction,
|
|
56
55
|
{
|
|
@@ -59,7 +58,10 @@ const appActionRunnerToolCreator = (schema: ActionInputParam[], nodeTitle: strin
|
|
|
59
58
|
},
|
|
60
59
|
20000,
|
|
61
60
|
);
|
|
62
|
-
return
|
|
61
|
+
return {
|
|
62
|
+
state,
|
|
63
|
+
result: response as { result?: any },
|
|
64
|
+
};
|
|
63
65
|
},
|
|
64
66
|
};
|
|
65
67
|
createdTools[nodeTitle] = tool;
|
|
@@ -9,7 +9,7 @@ import { tool as langchainTool } from '@langchain/core/tools';
|
|
|
9
9
|
import { AgentEventRequestPayloads, AgentEvents } from '../events/AgentEvents';
|
|
10
10
|
import { EmitSignature } from '../types/Agent.types';
|
|
11
11
|
import { createLlmInstance } from '../llm/createLlmInstance';
|
|
12
|
-
import
|
|
12
|
+
import extractToolStateResponse from '../utils/extractStateMemoryResponse';
|
|
13
13
|
import { Agent } from '../agent';
|
|
14
14
|
import { logger } from '../utils/logger';
|
|
15
15
|
|
|
@@ -43,22 +43,27 @@ export const addPromptNode = async ({ graph, node, llm, tools, emit, agent }: Ad
|
|
|
43
43
|
${state.memory ? `- Workflow memory: ${JSON.stringify(state.memory)}` : ''}
|
|
44
44
|
`;
|
|
45
45
|
|
|
46
|
-
const result = await llmToUse.bindTools(globalTools).invoke([...state.messages, new SystemMessage(message)]);
|
|
46
|
+
const result: AIMessage = await llmToUse.bindTools(globalTools).invoke([...state.messages, new SystemMessage(message)]);
|
|
47
47
|
|
|
48
48
|
// Check if the result contains tool calls
|
|
49
|
-
|
|
50
|
-
if (aiMessage.tool_calls && aiMessage.tool_calls.length > 0) {
|
|
49
|
+
if (result.tool_calls && result.tool_calls.length > 0) {
|
|
51
50
|
// Execute the tools
|
|
52
51
|
const toolResults = [];
|
|
53
|
-
let
|
|
52
|
+
let stateUpdates = {};
|
|
54
53
|
|
|
55
|
-
for (const toolCall of
|
|
54
|
+
for (const toolCall of result.tool_calls) {
|
|
56
55
|
const matchedTool = globalTools.find((t) => t.name === toolCall.name);
|
|
57
56
|
if (matchedTool) {
|
|
58
57
|
try {
|
|
59
58
|
// Invoke the LangChain tool directly
|
|
60
59
|
const toolResult = await matchedTool.invoke(toolCall);
|
|
61
|
-
|
|
60
|
+
const toolStateUpdate = extractToolStateResponse(toolResult);
|
|
61
|
+
// Properly merge memory and other state updates
|
|
62
|
+
stateUpdates = {
|
|
63
|
+
...stateUpdates,
|
|
64
|
+
...toolStateUpdate,
|
|
65
|
+
memory: { ...(stateUpdates as any).memory, ...(toolStateUpdate as any).memory },
|
|
66
|
+
};
|
|
62
67
|
toolResults.push(toolResult);
|
|
63
68
|
} catch (error) {
|
|
64
69
|
logger.error({ msg: `Error executing tool ${toolCall.name}:`, error });
|
|
@@ -73,10 +78,10 @@ export const addPromptNode = async ({ graph, node, llm, tools, emit, agent }: Ad
|
|
|
73
78
|
}
|
|
74
79
|
}
|
|
75
80
|
|
|
76
|
-
// Return the tool call message and tool results
|
|
81
|
+
// Return the tool call message and tool results with state updates spread at top level
|
|
77
82
|
return {
|
|
83
|
+
...stateUpdates,
|
|
78
84
|
messages: [result, ...toolResults],
|
|
79
|
-
memory: updatedMemory,
|
|
80
85
|
};
|
|
81
86
|
}
|
|
82
87
|
|
package/src/nodes/addToolNode.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ToolNode } from '../types/Flows.types';
|
|
|
2
2
|
import { Tool } from '../types/Tools.types';
|
|
3
3
|
import { tool as langchainTool } from '@langchain/core/tools';
|
|
4
4
|
import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
|
|
5
|
-
import { SystemMessage } from '@langchain/core/messages';
|
|
5
|
+
import { AIMessage, SystemMessage } from '@langchain/core/messages';
|
|
6
6
|
import { RunnableLike } from '@langchain/core/runnables';
|
|
7
7
|
import { LLMProviders } from '../types/LLM.types';
|
|
8
8
|
import { logger } from '../utils/logger';
|
|
@@ -35,7 +35,7 @@ export const addToolNode = async ({
|
|
|
35
35
|
Additional context:
|
|
36
36
|
workflow memory: ${JSON.stringify(state.memory)}
|
|
37
37
|
`;
|
|
38
|
-
const AIToolCallMessage = await llm
|
|
38
|
+
const AIToolCallMessage: AIMessage = await llm
|
|
39
39
|
.bindTools([tool], {
|
|
40
40
|
tool_choice: tool.name,
|
|
41
41
|
})
|
|
@@ -6,7 +6,7 @@ import { ToolNode } from '../types/Flows.types';
|
|
|
6
6
|
import { tool as langchainTool } from '@langchain/core/tools';
|
|
7
7
|
import { ToolMessage } from '@langchain/core/messages';
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
-
import
|
|
9
|
+
import extractToolStateResponse from '../utils/extractStateMemoryResponse';
|
|
10
10
|
import { Agent } from '../agent';
|
|
11
11
|
import { logger } from '../utils/logger';
|
|
12
12
|
|
|
@@ -48,8 +48,13 @@ export const addToolRunNode = async ({ graph, tools, toolNode, attachedToNodeNam
|
|
|
48
48
|
throw new Error('Tool call not found');
|
|
49
49
|
}
|
|
50
50
|
const toolCallMessage = await tool.invoke(toolCallObj.tool_calls[0]);
|
|
51
|
-
const
|
|
52
|
-
|
|
51
|
+
const toolStateUpdate = extractToolStateResponse(toolCallMessage as ToolMessage);
|
|
52
|
+
|
|
53
|
+
// Return the full state update from the tool. The state as well as the memory returned are partial
|
|
54
|
+
return {
|
|
55
|
+
...toolStateUpdate,
|
|
56
|
+
messages: [toolCallMessage],
|
|
57
|
+
};
|
|
53
58
|
};
|
|
54
59
|
|
|
55
60
|
graph.addNode(buildToolRunNodeName(attachedToNodeName), callback);
|
|
@@ -38,7 +38,7 @@ export class MindedConnection {
|
|
|
38
38
|
return new Promise((resolve, reject) => {
|
|
39
39
|
// Set up timeout
|
|
40
40
|
const timeout = setTimeout(() => {
|
|
41
|
-
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; Message: ${
|
|
41
|
+
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms; Message: ${message}`));
|
|
42
42
|
}, timeoutMs);
|
|
43
43
|
|
|
44
44
|
// Emit with acknowledgement callback
|
|
@@ -2,43 +2,46 @@ import { BaseMessage } from '@langchain/core/messages';
|
|
|
2
2
|
import { Annotation, CompiledStateGraph, StateGraph } from '@langchain/langgraph';
|
|
3
3
|
import { FlowHistory, TriggerInvocationHistory } from './Agent.types';
|
|
4
4
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
export const createStateAnnotation = <Memory = any>() =>
|
|
6
|
+
Annotation.Root({
|
|
7
|
+
messages: Annotation<Array<BaseMessage>>({
|
|
8
|
+
default: () => [],
|
|
9
|
+
reducer: (prevMessages, newMessages) => {
|
|
10
|
+
const res = [...prevMessages];
|
|
11
|
+
for (const message of newMessages) {
|
|
12
|
+
if (message.additional_kwargs?.update) {
|
|
13
|
+
const index = res.findIndex((m) => m.id && m.id === message.id);
|
|
14
|
+
if (index !== -1) {
|
|
15
|
+
res[index].content = message.content;
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
res.push(message);
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
21
|
+
return res;
|
|
22
|
+
},
|
|
23
|
+
}),
|
|
24
|
+
memory: Annotation<Memory>({
|
|
25
|
+
default: () => ({} as Memory),
|
|
26
|
+
reducer: (a, b) => ({ ...a, ...b }),
|
|
27
|
+
}),
|
|
28
|
+
triggerInvocations: Annotation<Array<TriggerInvocationHistory>>({
|
|
29
|
+
default: () => [],
|
|
30
|
+
reducer: (a, b) => a.concat(b),
|
|
31
|
+
}),
|
|
32
|
+
triggerMetadata: Annotation<{
|
|
33
|
+
name: string;
|
|
34
|
+
triggerBody: any;
|
|
35
|
+
} | null>,
|
|
36
|
+
history: Annotation<Array<FlowHistory>>({
|
|
37
|
+
default: () => [],
|
|
38
|
+
reducer: (a, b) => a.concat(b),
|
|
39
|
+
}),
|
|
40
|
+
sessionId: Annotation<string>(),
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Default state annotation with any memory type
|
|
44
|
+
export const stateAnnotation = createStateAnnotation();
|
|
42
45
|
|
|
43
46
|
export type CompiledGraph = CompiledStateGraph<any, any, string>;
|
|
44
47
|
export type PreCompiledGraph = StateGraph<any, any, string>;
|
package/src/types/Tools.types.ts
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Agent } from '../';
|
|
3
|
-
import {
|
|
3
|
+
import { createStateAnnotation } from './LangGraph.types';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// Helper type to get the state type from createStateAnnotation
|
|
6
|
+
type StateType<Memory = any> = ReturnType<typeof createStateAnnotation<Memory>>['State'];
|
|
7
|
+
|
|
8
|
+
// Explicitly forbid returning 'memory' directly to prevent confusions
|
|
9
|
+
type ForbidOldAPI = {
|
|
10
|
+
memory?: never; // This makes it impossible to have a 'memory' property at root level
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// Valid return type for new API
|
|
14
|
+
export type ToolReturnType<Memory = any> = ({ state?: Partial<StateType<Memory>>; result?: any } & ForbidOldAPI) | void;
|
|
15
|
+
|
|
16
|
+
export interface Tool<Input extends z.ZodSchema, Memory = any> {
|
|
6
17
|
name: string;
|
|
7
18
|
description: string;
|
|
8
19
|
input: Input;
|
|
9
20
|
isGlobal?: boolean;
|
|
10
|
-
execute: (input: ToolExecuteInput<Input>) => Promise<
|
|
21
|
+
execute: (input: ToolExecuteInput<Input, Memory>) => Promise<ToolReturnType<Memory>>;
|
|
11
22
|
}
|
|
12
23
|
|
|
13
|
-
export interface ToolExecuteInput<Input extends z.ZodSchema> {
|
|
24
|
+
export interface ToolExecuteInput<Input extends z.ZodSchema, Memory = any> {
|
|
14
25
|
input: z.infer<Input>;
|
|
15
|
-
state:
|
|
26
|
+
state: StateType<Memory>;
|
|
16
27
|
agent: Agent;
|
|
17
28
|
}
|
|
18
29
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ToolMessage } from '@langchain/core/messages';
|
|
2
|
+
import { logger } from './logger';
|
|
3
|
+
|
|
4
|
+
const extractToolStateResponse = <State>(toolMessage: ToolMessage): Partial<State> => {
|
|
5
|
+
try {
|
|
6
|
+
const parsed = JSON.parse(toolMessage.content as string);
|
|
7
|
+
if (typeof parsed === 'object' && parsed !== null && 'state' in parsed) {
|
|
8
|
+
return parsed.state;
|
|
9
|
+
}
|
|
10
|
+
} catch (error) {
|
|
11
|
+
logger.error({ msg: 'Error parsing tool state response', error });
|
|
12
|
+
}
|
|
13
|
+
return {};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default extractToolStateResponse;
|
|
@@ -168,9 +168,11 @@ export class VoiceSession {
|
|
|
168
168
|
}
|
|
169
169
|
if (getConfig().dashboardConnected) {
|
|
170
170
|
try {
|
|
171
|
-
|
|
171
|
+
this.agent.mindedConnection?.emit(MindedConnectionSocketMessageType.DASHBOARD_VOICE_AGENT_AUDIO, {
|
|
172
172
|
sessionId: this.sessionId,
|
|
173
173
|
audioData: data.audio_event.audio_base_64,
|
|
174
|
+
timestamp: Date.now(),
|
|
175
|
+
type: MindedConnectionSocketMessageType.DASHBOARD_VOICE_AGENT_AUDIO,
|
|
174
176
|
});
|
|
175
177
|
} catch (error) {
|
|
176
178
|
logger.error(`[ElevenLabsVoice] Error sending audio to dashboard: ${error}`);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ToolMessage } from '@langchain/core/messages';
|
|
2
|
-
|
|
3
|
-
const extractToolMemoryResponse = <Memory>(toolMessage: ToolMessage): Partial<Memory> => {
|
|
4
|
-
try {
|
|
5
|
-
const parsed = JSON.parse(toolMessage.content as string);
|
|
6
|
-
if (typeof parsed === 'object' && parsed !== null && 'memory' in parsed) {
|
|
7
|
-
return parsed.memory;
|
|
8
|
-
}
|
|
9
|
-
} catch (error) {
|
|
10
|
-
console.error('Error parsing tool memory response', error);
|
|
11
|
-
}
|
|
12
|
-
return {};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export default extractToolMemoryResponse;
|