@minded-ai/mindedjs 1.0.30 → 1.0.31
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/agent.d.ts +2 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +27 -2
- package/dist/agent.js.map +1 -1
- package/dist/nodes/addToolNode.d.ts.map +1 -1
- package/dist/nodes/addToolNode.js +33 -17
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/platform/config.js +1 -1
- package/dist/platform/config.js.map +1 -1
- package/dist/platform/mindedConnection.d.ts +1 -0
- package/dist/platform/mindedConnection.d.ts.map +1 -1
- package/dist/platform/mindedConnection.js +25 -5
- package/dist/platform/mindedConnection.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +2 -1
- package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
- package/dist/platform/mindedConnectionTypes.js +1 -0
- package/dist/platform/mindedConnectionTypes.js.map +1 -1
- package/package.json +1 -1
- package/src/agent.ts +35 -2
- package/src/nodes/addToolNode.ts +44 -17
- package/src/platform/config.ts +1 -1
- package/src/platform/mindedConnection.ts +29 -8
- package/src/platform/mindedConnectionTypes.ts +1 -0
package/dist/agent.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare class Agent {
|
|
|
19
19
|
private mindedConnection;
|
|
20
20
|
private checkpointer;
|
|
21
21
|
private compiledGraph;
|
|
22
|
+
private secretsCache;
|
|
22
23
|
private eventHandlers;
|
|
23
24
|
constructor(params: CreateAgentParams<z.infer<typeof this.memorySchema>>);
|
|
24
25
|
private loadFlowsFromDirectory;
|
|
@@ -33,6 +34,7 @@ export declare class Agent {
|
|
|
33
34
|
}): Promise<import("@langchain/langgraph").StateType<import("@langchain/langgraph").StateDefinition>>;
|
|
34
35
|
on<E extends keyof AgentEventRequestPayloads<z.infer<typeof this.memorySchema>>>(event: E, handler: (payload: AgentEventRequestPayloads<z.infer<typeof this.memorySchema>>[E]) => Promise<AgentEventResponsePayloads<z.infer<typeof this.memorySchema>>[E] | void>): void;
|
|
35
36
|
private emit;
|
|
37
|
+
getSecrets(): Promise<Record<string, string>>;
|
|
36
38
|
}
|
|
37
39
|
export {};
|
|
38
40
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAI3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAe,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,eAAe,EAA4B,MAAM,qBAAqB,CAAC;AAWhF,KAAK,iBAAiB,CAAC,MAAM,IAAI;IAC/B,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AACF,qBAAa,KAAK;IAChB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,aAAa,CAAgB;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAI3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAe,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,eAAe,EAA4B,MAAM,qBAAqB,CAAC;AAWhF,KAAK,iBAAiB,CAAC,MAAM,IAAI;IAC/B,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AACF,qBAAa,KAAK;IAChB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,YAAY,CAAuC;IAG3D,OAAO,CAAC,aAAa,CAId;gBAEK,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAsBxE,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,IAAI;IAUC,MAAM,CAAC,EAClB,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,GACR,EAAE;QACD,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IA4CM,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,EACpF,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CACP,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KACrE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GACpF,IAAI;YASO,IAAI;IAYL,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CA6B3D"}
|
package/dist/agent.js
CHANGED
|
@@ -59,6 +59,8 @@ const triggerTypeToDefaultMessage_1 = __importDefault(require("./triggers/trigge
|
|
|
59
59
|
class Agent {
|
|
60
60
|
constructor(params) {
|
|
61
61
|
this.mindedConnection = null;
|
|
62
|
+
// Cache for secrets to avoid repeated API calls
|
|
63
|
+
this.secretsCache = null;
|
|
62
64
|
// Event handlers storage keyed by event name. Handlers can optionally return a value.
|
|
63
65
|
this.eventHandlers = {};
|
|
64
66
|
const { config, tools, platformToken, memorySaver, memorySchema } = params;
|
|
@@ -68,8 +70,8 @@ class Agent {
|
|
|
68
70
|
this.platformToken = platformToken;
|
|
69
71
|
this.llm = (0, createLlmInstance_1.createLlmInstance)(config.llm);
|
|
70
72
|
this.validate();
|
|
71
|
-
const {
|
|
72
|
-
if (
|
|
73
|
+
const { runLocally, token } = (0, config_1.getConfig)();
|
|
74
|
+
if (token && !runLocally) {
|
|
73
75
|
this.mindedConnection = new mindedConnection_1.MindedConnection();
|
|
74
76
|
this.mindedConnection.start();
|
|
75
77
|
this.mindedConnection.on(mindedConnectionTypes_1.MindedConnectionSocketMessageType.OnAppTrigger, async (message) => {
|
|
@@ -215,6 +217,29 @@ class Agent {
|
|
|
215
217
|
const results = await Promise.all(this.eventHandlers[event].map(async (handler) => handler(payload)));
|
|
216
218
|
return results;
|
|
217
219
|
}
|
|
220
|
+
// Public method to get secrets from the backend service with caching
|
|
221
|
+
async getSecrets() {
|
|
222
|
+
// Return cached secrets if available
|
|
223
|
+
if (this.secretsCache !== null) {
|
|
224
|
+
return this.secretsCache;
|
|
225
|
+
}
|
|
226
|
+
try {
|
|
227
|
+
// Check if mindedConnection is available
|
|
228
|
+
if (!this.mindedConnection) {
|
|
229
|
+
throw new Error('Platform is not available');
|
|
230
|
+
}
|
|
231
|
+
// Make socket request to fetch secrets
|
|
232
|
+
const response = await this.mindedConnection.awaitEmit(mindedConnectionTypes_1.MindedConnectionSocketMessageType.GET_SECRETS, {});
|
|
233
|
+
// Extract secrets from response
|
|
234
|
+
const secrets = response.secrets || {};
|
|
235
|
+
// Cache the secrets for future requests
|
|
236
|
+
this.secretsCache = secrets;
|
|
237
|
+
return secrets;
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
throw new Error(`Failed to fetch secrets: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
218
243
|
}
|
|
219
244
|
exports.Agent = Agent;
|
|
220
245
|
//# sourceMappingURL=agent.js.map
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA2D;AAE3D,+BAAoC;AAEpC,oDAA2D;AAE3D,qDAAkD;AAClD,6DAA2F;AAC3F,qDAAkD;AAClD,sDAA0G;AAE1G,kEAA+D;AAC/D,4EAAsI;AACtI,uCAAyB;AACzB,2CAA6B;AAC7B,8CAAgC;AAEhC,+DAA4D;AAC5D,mCAAgC;AAChC,+BAA+B;AAC/B,kFAA8E;AAC9E,8CAA8C;AAE9C,yGAAiF;AAEjF,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,IAAA,cAAO,EAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAShD,MAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAQ7E,eAAO,MAAM,WAAW,GAAU,MAAM,EAAE,8BAKvC;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,iBAAiB,CAAC;CACxB,
|
|
1
|
+
{"version":3,"file":"addToolNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAQ7E,eAAO,MAAM,WAAW,GAAU,MAAM,EAAE,8BAKvC;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,iBAAiB,CAAC;CACxB,kBA8EA,CAAC"}
|
|
@@ -30,24 +30,40 @@ const addToolNode = async ({ graph, node, tools, llm, }) => {
|
|
|
30
30
|
description: matchedTool.description,
|
|
31
31
|
schema: matchedTool.input,
|
|
32
32
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
let toolCallMessage;
|
|
34
|
+
let toolResponseMessage;
|
|
35
|
+
let attempts = 0;
|
|
36
|
+
const maxAttempts = 3;
|
|
37
|
+
while ((!toolCallMessage || !toolResponseMessage) && attempts < maxAttempts) {
|
|
38
|
+
const prompt = `
|
|
39
|
+
Context:
|
|
40
|
+
messages: ${JSON.stringify(state.messages)}
|
|
41
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
42
|
+
Instructions:
|
|
43
|
+
Your ONLY task is to call the tool ${tool.name}(...) using the context above.
|
|
44
|
+
Do not engage in conversation or provide any other responses.
|
|
45
|
+
Just make the tool call immediately.
|
|
46
|
+
You MUST call the tool even if you are uncertain about some parameters - use your best judgment to fill in any missing values.
|
|
47
|
+
${toolNode.prompt ? `Tool parameters guidance: ${toolNode.prompt}` : ''}
|
|
48
|
+
${attempts > 0
|
|
49
|
+
? `Previous attempts failed. You MUST make a tool call now with your best guess at the parameters - this is your only job.`
|
|
50
|
+
: ''}
|
|
51
|
+
`;
|
|
52
|
+
const toolCallingAgent = (0, prebuilt_1.createReactAgent)({
|
|
53
|
+
checkpointer: new langgraph_1.MemorySaver(),
|
|
54
|
+
llm,
|
|
55
|
+
tools: [tool],
|
|
56
|
+
});
|
|
57
|
+
const response = await toolCallingAgent.invoke({ messages: [new messages_1.SystemMessage(prompt)] }, { configurable: { thread_id: (0, uuid_1.v4)() } });
|
|
58
|
+
toolCallMessage = getLastToolCallMessage(response.messages);
|
|
59
|
+
toolResponseMessage = getLastToolMessage(response.messages);
|
|
60
|
+
if (!toolCallMessage || !toolResponseMessage) {
|
|
61
|
+
response.messages.push(new messages_1.SystemMessage('No tool call was made. Please try again and make sure to call the tool.'));
|
|
62
|
+
attempts++;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
49
65
|
if (!toolCallMessage || !toolResponseMessage) {
|
|
50
|
-
throw new Error('
|
|
66
|
+
throw new Error('Failed to get tool call or response after multiple attempts');
|
|
51
67
|
}
|
|
52
68
|
const toolMemory = extractToolMemoryResponse(toolResponseMessage);
|
|
53
69
|
return { memory: toolMemory, messages: [toolCallMessage, toolResponseMessage], triggerInvocations: state.triggerInvocations };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":";;;AAGA,iDAA8D;AAE9D,uDAA8F;AAC9F,4DAAiE;AAGjE,oDAAmD;AACnD,+BAAoC;AAE7B,MAAM,WAAW,GAAG,KAAK,EAAU,EACxC,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,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAwC,EAAE,EAAE;gBACxE,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBAC1H,OAAO,QAAQ,IAAI,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;oBAC7C,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,IAAA,YAAa,EAAC,cAAc,EAAE;gBACzC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,MAAM,EAAE,WAAW,CAAC,KAAK;aAC1B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"addToolNode.js","sourceRoot":"","sources":["../../src/nodes/addToolNode.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/platform/config.ts"],"names":[],"mappings":";;;AASO,MAAM,SAAS,GAAG,GAAiB,EAAE;IAC1C,MAAM,WAAW,GAAI,OAAO,CAAC,GAAG,CAAC,QAAwB,IAAI,SAAS,CAAC;IACvE,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE;gBAChD,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/platform/config.ts"],"names":[],"mappings":";;;AASO,MAAM,SAAS,GAAG,GAAiB,EAAE;IAC1C,MAAM,WAAW,GAAI,OAAO,CAAC,GAAG,CAAC,QAAwB,IAAI,SAAS,CAAC;IACvE,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE;gBAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO;aAChD,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,OAAO,EAAE,uBAAuB;gBAChC,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE;gBAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;aAC/C,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,OAAO,EAAE,kCAAkC;gBAC3C,GAAG,EAAE,SAAS;gBACd,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE;gBAChD,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,OAAO,EAAE,wBAAwB;gBACjC,GAAG,EAAE,YAAY;gBACjB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE;gBAChD,UAAU,EAAE,KAAK;aAClB,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,SAAS,aAgCpB"}
|
|
@@ -11,6 +11,7 @@ export declare class MindedConnection {
|
|
|
11
11
|
private getSavedToken;
|
|
12
12
|
private saveToken;
|
|
13
13
|
private getMindedToken;
|
|
14
|
+
private waitForConnection;
|
|
14
15
|
on: (event: MindedConnectionSocketMessageType, callback: (message: BaseMindedConnectionSocketMessage) => void) => void;
|
|
15
16
|
emit: (event: MindedConnectionSocketMessageType, message: BaseMindedConnectionSocketMessage) => void;
|
|
16
17
|
awaitEmit: <T, R>(event: MindedConnectionSocketMessageType, message: T, timeoutMs?: number) => Promise<R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnection.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAM/G,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IACvE,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,CAAC,EAAE,CAAC;KACzE,CAAM;;IAQP,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;YAQH,cAAc;
|
|
1
|
+
{"version":3,"file":"mindedConnection.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAM/G,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IACvE,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,CAAC,EAAE,CAAC;KACzE,CAAM;;IAQP,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,SAAS;YAQH,cAAc;YAwBd,iBAAiB;IAqBxB,EAAE,GAAI,OAAO,iCAAiC,EAAE,UAAU,CAAC,OAAO,EAAE,iCAAiC,KAAK,IAAI,UAKnH;IAEK,IAAI,GAAI,OAAO,iCAAiC,EAAE,SAAS,iCAAiC,UAIjG;IAEK,SAAS,GAAU,CAAC,EAAE,CAAC,EAAE,OAAO,iCAAiC,EAAE,SAAS,CAAC,EAAE,YAAW,MAAa,KAAG,OAAO,CAAC,CAAC,CAAC,CAyBzH;YAEY,OAAO;IA+DR,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC"}
|
|
@@ -57,12 +57,12 @@ class MindedConnection {
|
|
|
57
57
|
this.socket.emit(event, message);
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
|
-
this.awaitEmit = (event, message, timeoutMs = 5000) => {
|
|
60
|
+
this.awaitEmit = async (event, message, timeoutMs = 5000) => {
|
|
61
|
+
await this.waitForConnection();
|
|
62
|
+
if (!this.socket) {
|
|
63
|
+
throw new Error('Socket is not connected');
|
|
64
|
+
}
|
|
61
65
|
return new Promise((resolve, reject) => {
|
|
62
|
-
if (!this.socket) {
|
|
63
|
-
reject(new Error('Socket is not connected'));
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
66
|
// Set up timeout
|
|
67
67
|
const timeout = setTimeout(() => {
|
|
68
68
|
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms`));
|
|
@@ -129,6 +129,26 @@ class MindedConnection {
|
|
|
129
129
|
});
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
|
+
async waitForConnection() {
|
|
133
|
+
return new Promise((resolve, reject) => {
|
|
134
|
+
let attempts = 0;
|
|
135
|
+
const maxAttempts = 50;
|
|
136
|
+
const checkInterval = 100;
|
|
137
|
+
const checkConnection = () => {
|
|
138
|
+
var _a;
|
|
139
|
+
if ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.connected) {
|
|
140
|
+
resolve();
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
attempts++;
|
|
144
|
+
if (attempts >= maxAttempts) {
|
|
145
|
+
reject(new Error('Connection failed'));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
setInterval(checkConnection, checkInterval);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
132
152
|
async connect(token) {
|
|
133
153
|
this.socket = (0, socket_io_client_1.io)((0, config_1.getConfig)().baseUrl, {
|
|
134
154
|
path: '/minded-connect',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA8C;AAC9C,mDAAqC;AAErC,uCAAyB;AACzB,2CAA6B;AAC7B,qCAAoC;AACpC,qCAAqC;AAErC,MAAa,gBAAgB;IAQ3B;QAPQ,WAAM,GAAkB,IAAI,CAAC;QAC7B,OAAE,GAA8B,IAAI,CAAC;QAC5B,cAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QACvE,cAAS,GAEL,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mindedConnection.js","sourceRoot":"","sources":["../../src/platform/mindedConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ export declare enum MindedConnectionSocketMessageType {
|
|
|
5
5
|
CHECKPOINT_GET_TUPLE = "checkpoint-get-tuple",
|
|
6
6
|
CHECKPOINT_PUT = "checkpoint-put",
|
|
7
7
|
CHECKPOINT_LIST = "checkpoint-list",
|
|
8
|
-
CHECKPOINT_PUT_WRITES = "checkpoint-put-writes"
|
|
8
|
+
CHECKPOINT_PUT_WRITES = "checkpoint-put-writes",
|
|
9
|
+
GET_SECRETS = "get-secrets"
|
|
9
10
|
}
|
|
10
11
|
export interface BaseMindedConnectionSocketMessage {
|
|
11
12
|
type: MindedConnectionSocketMessageType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnectionTypes.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,oBAAY,iCAAiC;IAC3C,YAAY,mBAAmB;IAC/B,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"mindedConnectionTypes.d.ts","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,oBAAY,iCAAiC;IAC3C,YAAY,mBAAmB;IAC/B,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,iCAAiC,CAAC;CACzC;AAED,MAAM,WAAW,iDAAiD;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,YAAa,SAAQ,iCAAiC;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,iCAAiC;IACxE,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAwB,SAAQ,iDAAiD;IAChG,MAAM,EAAE,cAAc,CAAC;CACxB;AACD,MAAM,WAAW,qBAAsB,SAAQ,iCAAiC;IAC9E,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA6B,SAAQ,iDAAiD;IACrG,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,oBAAqB,SAAQ,iCAAiC;IAC7E,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iCAAiC;IACzE,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,wBAAyB,SAAQ,iDAAiD;IACjG,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;CACjC"}
|
|
@@ -8,5 +8,6 @@ var MindedConnectionSocketMessageType;
|
|
|
8
8
|
MindedConnectionSocketMessageType["CHECKPOINT_PUT"] = "checkpoint-put";
|
|
9
9
|
MindedConnectionSocketMessageType["CHECKPOINT_LIST"] = "checkpoint-list";
|
|
10
10
|
MindedConnectionSocketMessageType["CHECKPOINT_PUT_WRITES"] = "checkpoint-put-writes";
|
|
11
|
+
MindedConnectionSocketMessageType["GET_SECRETS"] = "get-secrets";
|
|
11
12
|
})(MindedConnectionSocketMessageType || (exports.MindedConnectionSocketMessageType = MindedConnectionSocketMessageType = {}));
|
|
12
13
|
//# sourceMappingURL=mindedConnectionTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;AAUA,IAAY,
|
|
1
|
+
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;AAUA,IAAY,iCAOX;AAPD,WAAY,iCAAiC;IAC3C,oEAA+B,CAAA;IAC/B,kFAA6C,CAAA;IAC7C,sEAAiC,CAAA;IACjC,wEAAmC,CAAA;IACnC,oFAA+C,CAAA;IAC/C,gEAA2B,CAAA;AAC7B,CAAC,EAPW,iCAAiC,iDAAjC,iCAAiC,QAO5C"}
|
package/package.json
CHANGED
package/src/agent.ts
CHANGED
|
@@ -43,6 +43,8 @@ export class Agent {
|
|
|
43
43
|
private checkpointer: BaseCheckpointSaver;
|
|
44
44
|
// Langgraph compiled graph
|
|
45
45
|
private compiledGraph: CompiledGraph;
|
|
46
|
+
// Cache for secrets to avoid repeated API calls
|
|
47
|
+
private secretsCache: Record<string, string> | null = null;
|
|
46
48
|
|
|
47
49
|
// Event handlers storage keyed by event name. Handlers can optionally return a value.
|
|
48
50
|
private eventHandlers: {
|
|
@@ -60,9 +62,9 @@ export class Agent {
|
|
|
60
62
|
this.llm = createLlmInstance(config.llm);
|
|
61
63
|
this.validate();
|
|
62
64
|
|
|
63
|
-
const {
|
|
65
|
+
const { runLocally, token } = getConfig();
|
|
64
66
|
|
|
65
|
-
if (
|
|
67
|
+
if (token && !runLocally) {
|
|
66
68
|
this.mindedConnection = new MindedConnection();
|
|
67
69
|
this.mindedConnection.start();
|
|
68
70
|
this.mindedConnection.on(MindedConnectionSocketMessageType.OnAppTrigger, async (message: BaseMindedConnectionSocketMessage) => {
|
|
@@ -244,4 +246,35 @@ export class Agent {
|
|
|
244
246
|
const results = await Promise.all(this.eventHandlers[event]!.map(async (handler) => handler(payload)));
|
|
245
247
|
return results;
|
|
246
248
|
}
|
|
249
|
+
|
|
250
|
+
// Public method to get secrets from the backend service with caching
|
|
251
|
+
public async getSecrets(): Promise<Record<string, string>> {
|
|
252
|
+
// Return cached secrets if available
|
|
253
|
+
if (this.secretsCache !== null) {
|
|
254
|
+
return this.secretsCache;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
try {
|
|
258
|
+
// Check if mindedConnection is available
|
|
259
|
+
if (!this.mindedConnection) {
|
|
260
|
+
throw new Error('Platform is not available');
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Make socket request to fetch secrets
|
|
264
|
+
const response = await this.mindedConnection.awaitEmit<object, { secrets: Record<string, string> }>(
|
|
265
|
+
MindedConnectionSocketMessageType.GET_SECRETS,
|
|
266
|
+
{},
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
// Extract secrets from response
|
|
270
|
+
const secrets = response.secrets || {};
|
|
271
|
+
|
|
272
|
+
// Cache the secrets for future requests
|
|
273
|
+
this.secretsCache = secrets;
|
|
274
|
+
|
|
275
|
+
return secrets;
|
|
276
|
+
} catch (error) {
|
|
277
|
+
throw new Error(`Failed to fetch secrets: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
247
280
|
}
|
package/src/nodes/addToolNode.ts
CHANGED
|
@@ -44,25 +44,52 @@ export const addToolNode = async <Memory>({
|
|
|
44
44
|
description: matchedTool.description,
|
|
45
45
|
schema: matchedTool.input,
|
|
46
46
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
|
|
48
|
+
let toolCallMessage;
|
|
49
|
+
let toolResponseMessage;
|
|
50
|
+
let attempts = 0;
|
|
51
|
+
const maxAttempts = 3;
|
|
52
|
+
|
|
53
|
+
while ((!toolCallMessage || !toolResponseMessage) && attempts < maxAttempts) {
|
|
54
|
+
const prompt = `
|
|
55
|
+
Context:
|
|
56
|
+
messages: ${JSON.stringify(state.messages)}
|
|
57
|
+
workflow memory: ${JSON.stringify(state.memory)}
|
|
58
|
+
Instructions:
|
|
59
|
+
Your ONLY task is to call the tool ${tool.name}(...) using the context above.
|
|
60
|
+
Do not engage in conversation or provide any other responses.
|
|
61
|
+
Just make the tool call immediately.
|
|
62
|
+
You MUST call the tool even if you are uncertain about some parameters - use your best judgment to fill in any missing values.
|
|
63
|
+
${toolNode.prompt ? `Tool parameters guidance: ${toolNode.prompt}` : ''}
|
|
64
|
+
${
|
|
65
|
+
attempts > 0
|
|
66
|
+
? `Previous attempts failed. You MUST make a tool call now with your best guess at the parameters - this is your only job.`
|
|
67
|
+
: ''
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
const toolCallingAgent = createReactAgent({
|
|
71
|
+
checkpointer: new MemorySaver(),
|
|
72
|
+
llm,
|
|
73
|
+
tools: [tool],
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
const response = await toolCallingAgent.invoke(
|
|
77
|
+
{ messages: [new SystemMessage(prompt)] },
|
|
78
|
+
{ configurable: { thread_id: uuidv4() } },
|
|
79
|
+
);
|
|
80
|
+
toolCallMessage = getLastToolCallMessage(response.messages);
|
|
81
|
+
toolResponseMessage = getLastToolMessage(response.messages);
|
|
82
|
+
|
|
83
|
+
if (!toolCallMessage || !toolResponseMessage) {
|
|
84
|
+
response.messages.push(new SystemMessage('No tool call was made. Please try again and make sure to call the tool.'));
|
|
85
|
+
attempts++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
63
89
|
if (!toolCallMessage || !toolResponseMessage) {
|
|
64
|
-
throw new Error('
|
|
90
|
+
throw new Error('Failed to get tool call or response after multiple attempts');
|
|
65
91
|
}
|
|
92
|
+
|
|
66
93
|
const toolMemory = extractToolMemoryResponse<Memory>(toolResponseMessage);
|
|
67
94
|
return { memory: toolMemory, messages: [toolCallMessage, toolResponseMessage], triggerInvocations: state.triggerInvocations };
|
|
68
95
|
} catch (error) {
|
package/src/platform/config.ts
CHANGED
|
@@ -15,7 +15,7 @@ export const getConfig = (): MindedConfig => {
|
|
|
15
15
|
baseUrl: 'http://localhost:8888',
|
|
16
16
|
env: 'test',
|
|
17
17
|
token: process.env.MINDED_CONNECTION_TOKEN || '',
|
|
18
|
-
runLocally:
|
|
18
|
+
runLocally: process.env.RUN_LOCALLY !== 'false',
|
|
19
19
|
};
|
|
20
20
|
case 'development':
|
|
21
21
|
return {
|
|
@@ -70,6 +70,27 @@ export class MindedConnection {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
private async waitForConnection(): Promise<void> {
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
let attempts = 0;
|
|
76
|
+
const maxAttempts = 50;
|
|
77
|
+
const checkInterval = 100;
|
|
78
|
+
|
|
79
|
+
const checkConnection = () => {
|
|
80
|
+
if (this.socket?.connected) {
|
|
81
|
+
resolve();
|
|
82
|
+
} else {
|
|
83
|
+
attempts++;
|
|
84
|
+
if (attempts >= maxAttempts) {
|
|
85
|
+
reject(new Error('Connection failed'));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
setInterval(checkConnection, checkInterval);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
73
94
|
public on = (event: MindedConnectionSocketMessageType, callback: (message: BaseMindedConnectionSocketMessage) => void) => {
|
|
74
95
|
if (!this.listeners[event]) {
|
|
75
96
|
this.listeners[event] = [];
|
|
@@ -83,21 +104,21 @@ export class MindedConnection {
|
|
|
83
104
|
}
|
|
84
105
|
};
|
|
85
106
|
|
|
86
|
-
public awaitEmit = <T, R>(event: MindedConnectionSocketMessageType, message: T, timeoutMs: number = 5000): Promise<R> => {
|
|
87
|
-
|
|
88
|
-
if (!this.socket) {
|
|
89
|
-
reject(new Error('Socket is not connected'));
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
107
|
+
public awaitEmit = async <T, R>(event: MindedConnectionSocketMessageType, message: T, timeoutMs: number = 5000): Promise<R> => {
|
|
108
|
+
await this.waitForConnection();
|
|
92
109
|
|
|
110
|
+
if (!this.socket) {
|
|
111
|
+
throw new Error('Socket is not connected');
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return new Promise((resolve, reject) => {
|
|
93
115
|
// Set up timeout
|
|
94
116
|
const timeout = setTimeout(() => {
|
|
95
117
|
reject(new Error(`Acknowledgement timeout after ${timeoutMs}ms`));
|
|
96
118
|
}, timeoutMs);
|
|
97
119
|
|
|
98
120
|
// Emit with acknowledgement callback
|
|
99
|
-
|
|
100
|
-
this.socket.emit(event, stringify(message), (response: any) => {
|
|
121
|
+
this.socket!.emit(event, stringify(message), (response: any) => {
|
|
101
122
|
clearTimeout(timeout);
|
|
102
123
|
|
|
103
124
|
// Check if the response indicates an error
|
|
@@ -14,6 +14,7 @@ export enum MindedConnectionSocketMessageType {
|
|
|
14
14
|
CHECKPOINT_PUT = 'checkpoint-put',
|
|
15
15
|
CHECKPOINT_LIST = 'checkpoint-list',
|
|
16
16
|
CHECKPOINT_PUT_WRITES = 'checkpoint-put-writes',
|
|
17
|
+
GET_SECRETS = 'get-secrets',
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
export interface BaseMindedConnectionSocketMessage {
|