@minded-ai/mindedjs 1.0.94 → 1.0.95-beta-1
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 +4 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +84 -15
- package/dist/agent.js.map +1 -1
- package/dist/cli/index.js +12 -12
- package/dist/cli/index.js.map +1 -1
- package/dist/edges/createDirectEdge.js +1 -1
- package/dist/edges/createDirectEdge.js.map +1 -1
- package/dist/edges/createLogicalRouter.d.ts.map +1 -1
- package/dist/edges/createLogicalRouter.js +7 -7
- package/dist/edges/createLogicalRouter.js.map +1 -1
- package/dist/edges/createPromptRouter.d.ts.map +1 -1
- package/dist/edges/createPromptRouter.js +4 -3
- package/dist/edges/createPromptRouter.js.map +1 -1
- package/dist/edges/edgeFactory.js +2 -2
- package/dist/edges/edgeFactory.js.map +1 -1
- package/dist/interrupts/InterruptSessionManager.types.d.ts +36 -0
- package/dist/interrupts/InterruptSessionManager.types.d.ts.map +1 -0
- package/dist/interrupts/InterruptSessionManager.types.js +40 -0
- package/dist/interrupts/InterruptSessionManager.types.js.map +1 -0
- package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
- package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/MemoryInterruptSessionManager.js +51 -0
- package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/MindedInterruptSessionManager.d.ts +13 -0
- package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/MindedInterruptSessionManager.js +154 -0
- package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
- package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
- package/dist/nodes/addAppToolNode.js +1 -1
- package/dist/nodes/addAppToolNode.js.map +1 -1
- package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -1
- package/dist/nodes/addHumanInTheLoopNode.js +3 -2
- package/dist/nodes/addHumanInTheLoopNode.js.map +1 -1
- package/dist/nodes/addJumpToNode.js +1 -1
- package/dist/nodes/addJumpToNode.js.map +1 -1
- package/dist/nodes/addPromptNode.d.ts.map +1 -1
- package/dist/nodes/addPromptNode.js +46 -1
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.js +1 -1
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/nodes/addTriggerNode.js +1 -1
- package/dist/nodes/addTriggerNode.js.map +1 -1
- package/dist/platform/mindedConnection.d.ts.map +1 -1
- package/dist/platform/mindedConnection.js +12 -12
- package/dist/platform/mindedConnection.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +154 -1
- package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
- package/dist/platform/mindedConnectionTypes.js +9 -0
- package/dist/platform/mindedConnectionTypes.js.map +1 -1
- package/dist/playbooks/playbooks.js +4 -4
- package/dist/playbooks/playbooks.js.map +1 -1
- package/dist/types/Agent.types.d.ts +2 -0
- package/dist/types/Agent.types.d.ts.map +1 -1
- package/dist/types/Agent.types.js.map +1 -1
- package/dist/types/LangGraph.types.d.ts +2 -2
- package/dist/types/LangGraph.types.d.ts.map +1 -1
- package/dist/types/LangGraph.types.js +3 -1
- package/dist/types/LangGraph.types.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -1
- package/package.json +2 -2
- package/src/agent.ts +120 -35
- package/src/cli/index.ts +12 -12
- package/src/edges/createDirectEdge.ts +1 -1
- package/src/edges/createLogicalRouter.ts +7 -8
- package/src/edges/createPromptRouter.ts +4 -3
- package/src/edges/edgeFactory.ts +2 -2
- package/src/interrupts/InterruptSessionManager.types.ts +80 -0
- package/src/interrupts/MemoryInterruptSessionManager.ts +56 -0
- package/src/interrupts/MindedInterruptSessionManager.ts +154 -0
- package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
- package/src/nodes/addAppToolNode.ts +1 -1
- package/src/nodes/addHumanInTheLoopNode.ts +3 -2
- package/src/nodes/addJumpToNode.ts +1 -1
- package/src/nodes/addPromptNode.ts +51 -5
- package/src/nodes/addToolNode.ts +1 -1
- package/src/nodes/addTriggerNode.ts +1 -1
- package/src/platform/mindedConnection.ts +15 -25
- package/src/platform/mindedConnectionTypes.ts +192 -1
- package/src/playbooks/playbooks.ts +4 -4
- package/src/types/Agent.types.ts +2 -0
- package/src/types/LangGraph.types.ts +3 -1
- package/src/utils/logger.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edgeFactory.js","sourceRoot":"","sources":["../../src/edges/edgeFactory.ts"],"names":[],"mappings":";;;AAAA,sDAA4I;AAG5I,6DAA0D;AAC1D,+DAA4D;AAC5D,yDAAsD;AACtD,0EAAoG;AACpG,4DAA+E;AAG/E,4CAAyC;AAQlC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,KAAK,GAQN,EAAE,EAAE;IACH;;OAEG;IACH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,aAA4B,EAAE,YAAkB,EAAE,EAAE;QACpG,OAAO,KAAK,EAAE,KAAU,EAAE,EAAE;YAC1B,wCAAwC;YACxC,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,IAAA,mCAAgB,EAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACjE,OAAO,MAAM,YAAY,EAAE,CAAC;YAC9B,CAAC;YAED,sCAAsC;YACtC,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,IAAA,yCAAmB,EAAC,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,eAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"edgeFactory.js","sourceRoot":"","sources":["../../src/edges/edgeFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { State } from '../types/LangGraph.types';
|
|
2
|
+
export declare enum InterruptType {
|
|
3
|
+
NEW_TRIGGERS = "NEW_TRIGGERS",
|
|
4
|
+
HUMAN_IN_THE_LOOP = "HUMAN_IN_THE_LOOP"
|
|
5
|
+
}
|
|
6
|
+
export interface QueuedMessage {
|
|
7
|
+
triggerBody: any;
|
|
8
|
+
triggerName: string;
|
|
9
|
+
appName?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface InterruptPayload {
|
|
12
|
+
type: InterruptType.NEW_TRIGGERS;
|
|
13
|
+
updateStateObject?: Partial<State>;
|
|
14
|
+
id?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface InterruptSessionManager {
|
|
17
|
+
isProcessed(sessionId: string): boolean | Promise<boolean>;
|
|
18
|
+
lock(sessionId: string): void | Promise<void>;
|
|
19
|
+
release(sessionId: string): void | Promise<void>;
|
|
20
|
+
enqueueMessage(sessionId: string, message: QueuedMessage): void | Promise<void>;
|
|
21
|
+
dequeueAll(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
22
|
+
dequeue(sessionId: string): QueuedMessage | null | Promise<QueuedMessage | null>;
|
|
23
|
+
checkQueueAndInterrupt(sessionId: string, updateStateObject?: Partial<State>): Promise<boolean>;
|
|
24
|
+
}
|
|
25
|
+
export declare abstract class BaseInterruptSessionManager implements InterruptSessionManager {
|
|
26
|
+
abstract isProcessed(sessionId: string): boolean | Promise<boolean>;
|
|
27
|
+
abstract lock(sessionId: string): void | Promise<void>;
|
|
28
|
+
abstract release(sessionId: string): void | Promise<void>;
|
|
29
|
+
abstract enqueueMessage(sessionId: string, message: QueuedMessage): void | Promise<void>;
|
|
30
|
+
abstract dequeueAll(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
31
|
+
abstract dequeue(sessionId: string): QueuedMessage | null | Promise<QueuedMessage | null>;
|
|
32
|
+
protected abstract hasQueuedMessages(sessionId: string): boolean | Promise<boolean>;
|
|
33
|
+
protected abstract getQueuedMessages(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
34
|
+
checkQueueAndInterrupt(sessionId: string, updateStateObject?: Partial<State>): Promise<boolean>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=InterruptSessionManager.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterruptSessionManager.types.d.ts","sourceRoot":"","sources":["../../src/interrupts/InterruptSessionManager.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAIjD,oBAAY,aAAa;IACvB,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjF,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjG;AAED,8BAAsB,2BAA4B,YAAW,uBAAuB;IAElF,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACxF,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAClF,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAGzF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAG7F,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA2BtG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseInterruptSessionManager = exports.InterruptType = void 0;
|
|
4
|
+
const langgraph_1 = require("@langchain/langgraph");
|
|
5
|
+
const logger_1 = require("../utils/logger");
|
|
6
|
+
var InterruptType;
|
|
7
|
+
(function (InterruptType) {
|
|
8
|
+
InterruptType["NEW_TRIGGERS"] = "NEW_TRIGGERS";
|
|
9
|
+
InterruptType["HUMAN_IN_THE_LOOP"] = "HUMAN_IN_THE_LOOP";
|
|
10
|
+
})(InterruptType || (exports.InterruptType = InterruptType = {}));
|
|
11
|
+
class BaseInterruptSessionManager {
|
|
12
|
+
// Common implementation of checkQueueAndInterrupt
|
|
13
|
+
async checkQueueAndInterrupt(sessionId, updateStateObject) {
|
|
14
|
+
if (await this.hasQueuedMessages(sessionId)) {
|
|
15
|
+
const queue = await this.getQueuedMessages(sessionId);
|
|
16
|
+
logger_1.logger.trace({ message: 'graph has queued messagess, interrupting graph', sessionId, queue });
|
|
17
|
+
// Interrupt the graph with NEW_TRIGGERS flag and optional updateStateObject
|
|
18
|
+
const interruptPayload = { type: InterruptType.NEW_TRIGGERS };
|
|
19
|
+
if (updateStateObject) {
|
|
20
|
+
interruptPayload.updateStateObject = {
|
|
21
|
+
messages: updateStateObject.messages,
|
|
22
|
+
memory: updateStateObject.memory,
|
|
23
|
+
history: updateStateObject.history,
|
|
24
|
+
sessionId: updateStateObject.sessionId,
|
|
25
|
+
sessionType: updateStateObject.sessionType,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
throw new langgraph_1.GraphInterrupt([
|
|
29
|
+
{
|
|
30
|
+
value: interruptPayload,
|
|
31
|
+
when: 'during',
|
|
32
|
+
resumable: true,
|
|
33
|
+
},
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.BaseInterruptSessionManager = BaseInterruptSessionManager;
|
|
40
|
+
//# sourceMappingURL=InterruptSessionManager.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterruptSessionManager.types.js","sourceRoot":"","sources":["../../src/interrupts/InterruptSessionManager.types.ts"],"names":[],"mappings":";;;AACA,oDAAsD;AACtD,4CAAyC;AAEzC,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8CAA6B,CAAA;IAC7B,wDAAuC,CAAA;AACzC,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AA+BD,MAAsB,2BAA2B;IAa/C,kDAAkD;IAClD,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,iBAAkC;QAChF,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACtD,eAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,gDAAgD,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAE9F,4EAA4E;YAC5E,MAAM,gBAAgB,GAAqB,EAAE,IAAI,EAAE,aAAa,CAAC,YAAY,EAAE,CAAC;YAChF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,gBAAgB,CAAC,iBAAiB,GAAG;oBACnC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;oBACpC,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,OAAO,EAAE,iBAAiB,CAAC,OAAO;oBAClC,SAAS,EAAE,iBAAiB,CAAC,SAAS;oBACtC,WAAW,EAAE,iBAAiB,CAAC,WAAW;iBAC3C,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,0BAAc,CAAC;gBACvB;oBACE,KAAK,EAAE,gBAAgB;oBACvB,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzCD,kEAyCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseInterruptSessionManager, QueuedMessage } from './InterruptSessionManager.types';
|
|
2
|
+
export declare class MemoryInterruptSessionManager extends BaseInterruptSessionManager {
|
|
3
|
+
private sessionProcessing;
|
|
4
|
+
private sessionMessageQueues;
|
|
5
|
+
isProcessed(sessionId: string): boolean;
|
|
6
|
+
lock(sessionId: string): void;
|
|
7
|
+
release(sessionId: string): void;
|
|
8
|
+
enqueueMessage(sessionId: string, message: QueuedMessage): void;
|
|
9
|
+
dequeueAll(sessionId: string): QueuedMessage[];
|
|
10
|
+
dequeue(sessionId: string): QueuedMessage | null;
|
|
11
|
+
protected hasQueuedMessages(sessionId: string): boolean;
|
|
12
|
+
protected getQueuedMessages(sessionId: string): QueuedMessage[];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=MemoryInterruptSessionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryInterruptSessionManager.d.ts","sourceRoot":"","sources":["../../src/interrupts/MemoryInterruptSessionManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAmC,MAAM,iCAAiC,CAAC;AAI9H,qBAAa,6BAA8B,SAAQ,2BAA2B;IAC5E,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,oBAAoB,CAA2C;IAEvE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIvC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIhC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAO/D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;IAO9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAWhD,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAKvD,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE;CAGhE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryInterruptSessionManager = void 0;
|
|
4
|
+
const InterruptSessionManager_types_1 = require("./InterruptSessionManager.types");
|
|
5
|
+
class MemoryInterruptSessionManager extends InterruptSessionManager_types_1.BaseInterruptSessionManager {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.sessionProcessing = new Map();
|
|
9
|
+
this.sessionMessageQueues = new Map();
|
|
10
|
+
}
|
|
11
|
+
isProcessed(sessionId) {
|
|
12
|
+
return this.sessionProcessing.get(sessionId) || false;
|
|
13
|
+
}
|
|
14
|
+
lock(sessionId) {
|
|
15
|
+
this.sessionProcessing.set(sessionId, true);
|
|
16
|
+
}
|
|
17
|
+
release(sessionId) {
|
|
18
|
+
this.sessionProcessing.set(sessionId, false);
|
|
19
|
+
}
|
|
20
|
+
enqueueMessage(sessionId, message) {
|
|
21
|
+
if (!this.sessionMessageQueues.has(sessionId)) {
|
|
22
|
+
this.sessionMessageQueues.set(sessionId, []);
|
|
23
|
+
}
|
|
24
|
+
this.sessionMessageQueues.get(sessionId).push(message);
|
|
25
|
+
}
|
|
26
|
+
dequeueAll(sessionId) {
|
|
27
|
+
const messages = this.sessionMessageQueues.get(sessionId) || [];
|
|
28
|
+
const result = [...messages];
|
|
29
|
+
this.sessionMessageQueues.set(sessionId, []);
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
dequeue(sessionId) {
|
|
33
|
+
const messages = this.sessionMessageQueues.get(sessionId) || [];
|
|
34
|
+
if (messages.length === 0) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const firstMessage = messages.shift();
|
|
38
|
+
this.sessionMessageQueues.set(sessionId, messages);
|
|
39
|
+
return firstMessage;
|
|
40
|
+
}
|
|
41
|
+
// Implementation of abstract methods from BaseInterruptSessionManager
|
|
42
|
+
hasQueuedMessages(sessionId) {
|
|
43
|
+
const queue = this.sessionMessageQueues.get(sessionId) || [];
|
|
44
|
+
return queue.length > 0;
|
|
45
|
+
}
|
|
46
|
+
getQueuedMessages(sessionId) {
|
|
47
|
+
return this.sessionMessageQueues.get(sessionId) || [];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.MemoryInterruptSessionManager = MemoryInterruptSessionManager;
|
|
51
|
+
//# sourceMappingURL=MemoryInterruptSessionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryInterruptSessionManager.js","sourceRoot":"","sources":["../../src/interrupts/MemoryInterruptSessionManager.ts"],"names":[],"mappings":";;;AAEA,mFAA8H;AAI9H,MAAa,6BAA8B,SAAQ,2DAA2B;IAA9E;;QACU,sBAAiB,GAAyB,IAAI,GAAG,EAAE,CAAC;QACpD,yBAAoB,GAAiC,IAAI,GAAG,EAAE,CAAC;IA+CzE,CAAC;IA7CC,WAAW,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,SAAiB;QACvB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,OAAsB;QACtD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,SAAiB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,sEAAsE;IAC5D,iBAAiB,CAAC,SAAiB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAES,iBAAiB,CAAC,SAAiB;QAC3C,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF;AAjDD,sEAiDC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseInterruptSessionManager, QueuedMessage } from './InterruptSessionManager.types';
|
|
2
|
+
export declare class MindedInterruptSessionManager extends BaseInterruptSessionManager {
|
|
3
|
+
constructor();
|
|
4
|
+
isProcessed(sessionId: string): Promise<boolean>;
|
|
5
|
+
lock(sessionId: string): Promise<void>;
|
|
6
|
+
release(sessionId: string): Promise<void>;
|
|
7
|
+
enqueueMessage(sessionId: string, message: QueuedMessage): Promise<void>;
|
|
8
|
+
dequeueAll(sessionId: string): Promise<QueuedMessage[]>;
|
|
9
|
+
dequeue(sessionId: string): Promise<QueuedMessage | null>;
|
|
10
|
+
protected hasQueuedMessages(sessionId: string): Promise<boolean>;
|
|
11
|
+
protected getQueuedMessages(sessionId: string): Promise<QueuedMessage[]>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MindedInterruptSessionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MindedInterruptSessionManager.d.ts","sourceRoot":"","sources":["../../src/interrupts/MindedInterruptSessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAsB7F,qBAAa,6BAA8B,SAAQ,2BAA2B;;IAKtE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAetC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAezC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAgBvD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;cAiB/C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAgBtD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAe/E"}
|
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.MindedInterruptSessionManager = void 0;
|
|
37
|
+
const InterruptSessionManager_types_1 = require("./InterruptSessionManager.types");
|
|
38
|
+
const mindedConnection = __importStar(require("../platform/mindedConnection"));
|
|
39
|
+
const mindedConnectionTypes_1 = require("../platform/mindedConnectionTypes");
|
|
40
|
+
class MindedInterruptSessionManager extends InterruptSessionManager_types_1.BaseInterruptSessionManager {
|
|
41
|
+
constructor() {
|
|
42
|
+
super();
|
|
43
|
+
}
|
|
44
|
+
async isProcessed(sessionId) {
|
|
45
|
+
var _a;
|
|
46
|
+
try {
|
|
47
|
+
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_IS_PROCESSED, {
|
|
48
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_IS_PROCESSED,
|
|
49
|
+
sessionId,
|
|
50
|
+
});
|
|
51
|
+
return (_a = response.isProcessed) !== null && _a !== void 0 ? _a : false;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error('Error checking if session is processed:', error);
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async lock(sessionId) {
|
|
59
|
+
try {
|
|
60
|
+
await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_LOCK, {
|
|
61
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_LOCK,
|
|
62
|
+
sessionId,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.error('Error locking session:', error);
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async release(sessionId) {
|
|
71
|
+
try {
|
|
72
|
+
await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_RELEASE, {
|
|
73
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_RELEASE,
|
|
74
|
+
sessionId,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error('Error releasing session:', error);
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async enqueueMessage(sessionId, message) {
|
|
83
|
+
try {
|
|
84
|
+
await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_ENQUEUE, {
|
|
85
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_ENQUEUE,
|
|
86
|
+
sessionId,
|
|
87
|
+
message,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.error('Error enqueuing message:', error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async dequeueAll(sessionId) {
|
|
96
|
+
var _a;
|
|
97
|
+
try {
|
|
98
|
+
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE_ALL, {
|
|
99
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE_ALL,
|
|
100
|
+
sessionId,
|
|
101
|
+
});
|
|
102
|
+
return (_a = response.messages) !== null && _a !== void 0 ? _a : [];
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error('Error dequeuing all messages:', error);
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async dequeue(sessionId) {
|
|
110
|
+
var _a;
|
|
111
|
+
try {
|
|
112
|
+
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE, {
|
|
113
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE,
|
|
114
|
+
sessionId,
|
|
115
|
+
});
|
|
116
|
+
return (_a = response.message) !== null && _a !== void 0 ? _a : null;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
console.error('Error dequeuing message:', error);
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Implementation of abstract methods from BaseInterruptSessionManager
|
|
124
|
+
async hasQueuedMessages(sessionId) {
|
|
125
|
+
var _a;
|
|
126
|
+
try {
|
|
127
|
+
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_HAS_MESSAGES, {
|
|
128
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_HAS_MESSAGES,
|
|
129
|
+
sessionId,
|
|
130
|
+
});
|
|
131
|
+
return (_a = response.hasMessages) !== null && _a !== void 0 ? _a : false;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error('Error checking if session has messages:', error);
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async getQueuedMessages(sessionId) {
|
|
139
|
+
var _a;
|
|
140
|
+
try {
|
|
141
|
+
const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_GET_MESSAGES, {
|
|
142
|
+
type: mindedConnectionTypes_1.mindedConnectionSocketMessageType.INTERRUPT_SESSION_GET_MESSAGES,
|
|
143
|
+
sessionId,
|
|
144
|
+
});
|
|
145
|
+
return (_a = response.messages) !== null && _a !== void 0 ? _a : [];
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
console.error('Error getting queued messages:', error);
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.MindedInterruptSessionManager = MindedInterruptSessionManager;
|
|
154
|
+
//# sourceMappingURL=MindedInterruptSessionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MindedInterruptSessionManager.js","sourceRoot":"","sources":["../../src/interrupts/MindedInterruptSessionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interruptSessionManagerFactory.d.ts","sourceRoot":"","sources":["../../src/interrupts/interruptSessionManagerFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAO1E,wBAAgB,6BAA6B,IAAI,uBAAuB,CAYvE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createInterruptSessionManager = createInterruptSessionManager;
|
|
37
|
+
const MemoryInterruptSessionManager_1 = require("./MemoryInterruptSessionManager");
|
|
38
|
+
const MindedInterruptSessionManager_1 = require("./MindedInterruptSessionManager");
|
|
39
|
+
const mindedConnection = __importStar(require("../platform/mindedConnection"));
|
|
40
|
+
const config_1 = require("../platform/config");
|
|
41
|
+
const logger_1 = require("../utils/logger");
|
|
42
|
+
function createInterruptSessionManager() {
|
|
43
|
+
const { runLocally } = (0, config_1.getConfig)();
|
|
44
|
+
if (runLocally) {
|
|
45
|
+
logger_1.logger.info({ message: 'Using memory interrupt session manager' });
|
|
46
|
+
return new MemoryInterruptSessionManager_1.MemoryInterruptSessionManager();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
if (!mindedConnection.isConnected()) {
|
|
50
|
+
throw new Error('MindedConnection is required for platform interrupt session manager');
|
|
51
|
+
}
|
|
52
|
+
logger_1.logger.info({ message: 'Using Minded interrupt session manager' });
|
|
53
|
+
return new MindedInterruptSessionManager_1.MindedInterruptSessionManager();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=interruptSessionManagerFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interruptSessionManagerFactory.js","sourceRoot":"","sources":["../../src/interrupts/interruptSessionManagerFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,sEAYC;AAlBD,mFAAgF;AAChF,mFAAgF;AAChF,+EAAiE;AACjE,+CAA+C;AAC/C,4CAAyC;AAEzC,SAAgB,6BAA6B;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;IACnC,IAAI,UAAU,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,6DAA6B,EAAE,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,6DAA6B,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC"}
|
|
@@ -12,7 +12,7 @@ const addAppToolNode = async ({ graph, node, llm, agent, }) => {
|
|
|
12
12
|
const cleanedParameters = Object.fromEntries(Object.entries(node.parameters || {}).filter(([, value]) => value !== ''));
|
|
13
13
|
const appRunnerTool = (0, appActionRunnerTool_1.getAppActionRunnerTool)(node.displayName);
|
|
14
14
|
const callback = async (state) => {
|
|
15
|
-
logger_1.logger.info(`Executing tool node ${appRunnerTool.name}`);
|
|
15
|
+
logger_1.logger.info({ message: `Executing tool node ${appRunnerTool.name}` });
|
|
16
16
|
const executeWrapper = async (input) => {
|
|
17
17
|
try {
|
|
18
18
|
const response = await appRunnerTool.execute({ input, state, agent });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":";;;AAAA,sDAA6D;AAC7D,iDAA8D;AAE9D,uDAAyD;AAIzD,8EAA8E;AAG9E,4CAAyC;AACzC,sDAA0D;AAC1D,8CAAqD;AAE9C,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,IAAI,EACJ,GAAG,EACH,KAAK,GAMN,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;IACxH,MAAM,aAAa,GAAG,IAAA,4CAAsB,EAAC,IAAI,CAAC,WAAY,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,uBAAuB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"addAppToolNode.js","sourceRoot":"","sources":["../../src/nodes/addAppToolNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addHumanInTheLoopNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addHumanInTheLoopNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"addHumanInTheLoopNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addHumanInTheLoopNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAM7E,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,WAA0D,CAAC;AAEvH,eAAO,MAAM,qBAAqB,GAAU,+BAA+B,2BAA2B,kBAWrG,CAAC"}
|
|
@@ -4,13 +4,14 @@ exports.addHumanInTheLoopNode = exports.buildHumanInTheLoopNodeName = void 0;
|
|
|
4
4
|
const langgraph_1 = require("@langchain/langgraph");
|
|
5
5
|
const logger_1 = require("../utils/logger");
|
|
6
6
|
const Flows_types_1 = require("../types/Flows.types");
|
|
7
|
+
const InterruptSessionManager_types_1 = require("../interrupts/InterruptSessionManager.types");
|
|
7
8
|
const buildHumanInTheLoopNodeName = (nodeName) => `${nodeName}${Flows_types_1.internalNodesSuffix.HUMAN_IN_THE_LOOP}`;
|
|
8
9
|
exports.buildHumanInTheLoopNodeName = buildHumanInTheLoopNodeName;
|
|
9
10
|
const addHumanInTheLoopNode = async ({ graph, attachedToNodeName }) => {
|
|
10
11
|
const callback = async (state) => {
|
|
11
|
-
logger_1.logger.info(`Executing "human in the loop" node for the attached node${attachedToNodeName}`);
|
|
12
|
+
logger_1.logger.info({ message: `Executing "human in the loop" node for the attached node${attachedToNodeName}` });
|
|
12
13
|
if (state.messages[state.messages.length - 1].getType() === 'ai') {
|
|
13
|
-
const value = (0, langgraph_1.interrupt)(
|
|
14
|
+
const value = (0, langgraph_1.interrupt)({ type: InterruptSessionManager_types_1.InterruptType.HUMAN_IN_THE_LOOP });
|
|
14
15
|
return value;
|
|
15
16
|
}
|
|
16
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addHumanInTheLoopNode.js","sourceRoot":"","sources":["../../src/nodes/addHumanInTheLoopNode.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAGjD,4CAAyC;AACzC,sDAA2D;
|
|
1
|
+
{"version":3,"file":"addHumanInTheLoopNode.js","sourceRoot":"","sources":["../../src/nodes/addHumanInTheLoopNode.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAGjD,4CAAyC;AACzC,sDAA2D;AAC3D,+FAA4E;AAOrE,MAAM,2BAA2B,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,iCAAmB,CAAC,iBAAiB,EAAE,CAAC;AAA1G,QAAA,2BAA2B,+BAA+E;AAEhH,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAA+B,EAAE,EAAE;IACxG,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2DAA2D,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAE1G,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,6CAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAA,mCAA2B,EAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,KAAK,CAAC,OAAO,CAAC,kBAAyB,EAAE,IAAA,mCAA2B,EAAC,kBAAkB,CAAQ,CAAC,CAAC;AACnG,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
|
|
@@ -6,7 +6,7 @@ const logger_1 = require("../utils/logger");
|
|
|
6
6
|
const history_1 = require("../utils/history");
|
|
7
7
|
const addJumpToNode = async ({ graph, node }) => {
|
|
8
8
|
const callback = async (state) => {
|
|
9
|
-
logger_1.logger.info(`Executing jump node ${node.displayName} – jumping to ${node.targetNodeId}`);
|
|
9
|
+
logger_1.logger.info({ message: `Executing jump node ${node.displayName} – jumping to ${node.targetNodeId}` });
|
|
10
10
|
// No state modifications are necessary; control flow is handled via edges.
|
|
11
11
|
return {
|
|
12
12
|
history: (0, history_1.createHistoryStep)(state.history, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addJumpToNode.js","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":";;;AAEA,sDAA4D;AAC5D,4CAAyC;AAEzC,8CAAqD;AAE9C,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAiD,EAAE,EAAE;IACpG,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"addJumpToNode.js","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":";;;AAEA,sDAA4D;AAC5D,4CAAyC;AAEzC,8CAAqD;AAE9C,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAiD,EAAE,EAAE;IACpG,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,uBAAuB,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtG,2EAA2E;QAC3E,OAAO;YACL,OAAO,EAAE,IAAA,2BAAiB,EAAc,KAAK,CAAC,OAAO,EAAE;gBACrD,IAAI,EAAE,sBAAQ,CAAC,YAAY;gBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,eAAe,EAAE,IAAI,CAAC,WAAW;gBACjC,GAAG,EAAE,EAAE;aACR,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAW,EAAE,IAAI,CAAC,YAAmB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,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;AAGlE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"addPromptNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addPromptNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,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;AAGlE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAMjC,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,kBAuIhG,CAAC"}
|
|
@@ -13,9 +13,12 @@ const extractStateMemoryResponse_1 = __importDefault(require("../utils/extractSt
|
|
|
13
13
|
const logger_1 = require("../utils/logger");
|
|
14
14
|
const playbooks_1 = require("../playbooks/playbooks");
|
|
15
15
|
const history_1 = require("../utils/history");
|
|
16
|
+
const uuid_1 = require("uuid");
|
|
17
|
+
const wait = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
16
18
|
const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
17
19
|
const callback = async (state) => {
|
|
18
|
-
|
|
20
|
+
await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId);
|
|
21
|
+
logger_1.logger.info({ message: `Executing prompt node ${node.displayName}` });
|
|
19
22
|
const llmToUse = node.llmConfig ? (0, createLlmInstance_1.createLlmInstance)(node.llmConfig) : llm;
|
|
20
23
|
const globalTools = tools
|
|
21
24
|
.filter((tool) => tool.isGlobal)
|
|
@@ -35,6 +38,7 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
35
38
|
${compiledPlaybooks ? `# General guidelines:\n${compiledPlaybooks}\n\n` : ''}
|
|
36
39
|
`;
|
|
37
40
|
const result = await llmToUse.bindTools(globalTools).invoke([...state.messages, new messages_1.SystemMessage(message)]);
|
|
41
|
+
await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId);
|
|
38
42
|
// Check if the result contains tool calls
|
|
39
43
|
if (result.tool_calls && result.tool_calls.length > 0) {
|
|
40
44
|
// Execute the tools
|
|
@@ -47,6 +51,28 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
47
51
|
try {
|
|
48
52
|
// Invoke the LangChain tool directly
|
|
49
53
|
const toolResult = await matchedTool.invoke(toolCall);
|
|
54
|
+
console.log('after invoke?');
|
|
55
|
+
//check for queue after tool call
|
|
56
|
+
const systemMessageId = (0, uuid_1.v4)();
|
|
57
|
+
await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId, {
|
|
58
|
+
messages: [
|
|
59
|
+
result,
|
|
60
|
+
toolResult,
|
|
61
|
+
new messages_1.SystemMessage({
|
|
62
|
+
id: systemMessageId,
|
|
63
|
+
content: 'you called tool when the user send a new message, Consider calling the function again after user message is processed',
|
|
64
|
+
}),
|
|
65
|
+
],
|
|
66
|
+
history: [
|
|
67
|
+
(0, history_1.createHistoryStep)(state.history, {
|
|
68
|
+
type: Flows_types_1.NodeType.TOOL,
|
|
69
|
+
nodeId: node.name,
|
|
70
|
+
nodeDisplayName: node.displayName,
|
|
71
|
+
raw: toolResult,
|
|
72
|
+
messageIds: [toolResult.id, systemMessageId],
|
|
73
|
+
}),
|
|
74
|
+
],
|
|
75
|
+
});
|
|
50
76
|
const toolStateUpdate = (0, extractStateMemoryResponse_1.default)(toolResult);
|
|
51
77
|
// Properly merge memory and other state updates
|
|
52
78
|
stateUpdates = {
|
|
@@ -57,6 +83,8 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
57
83
|
toolResults.push(toolResult);
|
|
58
84
|
}
|
|
59
85
|
catch (error) {
|
|
86
|
+
if ((error === null || error === void 0 ? void 0 : error.name) === 'GraphInterrupt')
|
|
87
|
+
throw error;
|
|
60
88
|
logger_1.logger.error({ msg: `Error executing tool ${toolCall.name}:`, error });
|
|
61
89
|
const errorMessage = new messages_1.ToolMessage({
|
|
62
90
|
content: JSON.stringify({ error: error instanceof Error ? error.message : String(error) }),
|
|
@@ -69,10 +97,27 @@ const addPromptNode = async ({ graph, node, llm, tools, emit, agent }) => {
|
|
|
69
97
|
logger_1.logger.error({ msg: `Model tried to call tool ${toolCall.name} but it was not found` });
|
|
70
98
|
}
|
|
71
99
|
}
|
|
100
|
+
// await agent.interruptSessionManager.checkQueueAndInterrupt(state.sessionId);
|
|
72
101
|
// Return the tool call message and tool results with state updates spread at top level
|
|
73
102
|
return {
|
|
74
103
|
...stateUpdates,
|
|
75
104
|
messages: [result, ...toolResults],
|
|
105
|
+
history: [
|
|
106
|
+
(0, history_1.createHistoryStep)(state.history, {
|
|
107
|
+
type: Flows_types_1.NodeType.TOOL,
|
|
108
|
+
nodeId: node.name,
|
|
109
|
+
nodeDisplayName: node.displayName,
|
|
110
|
+
raw: result,
|
|
111
|
+
messageIds: [result.id],
|
|
112
|
+
}),
|
|
113
|
+
...toolResults.map((toolResult) => (0, history_1.createHistoryStep)(state.history, {
|
|
114
|
+
type: Flows_types_1.NodeType.TOOL,
|
|
115
|
+
nodeId: node.name,
|
|
116
|
+
nodeDisplayName: node.displayName,
|
|
117
|
+
raw: toolResult,
|
|
118
|
+
messageIds: [toolResult.id],
|
|
119
|
+
})),
|
|
120
|
+
],
|
|
76
121
|
};
|
|
77
122
|
}
|
|
78
123
|
if (result.getType() === 'ai') {
|