@minded-ai/mindedjs 1.0.91 → 1.0.92-beta-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +4 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +93 -12
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.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 +39 -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 +15 -0
- package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/MindedInterruptSessionManager.js +121 -0
- package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts +4 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.js +19 -0
- package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
- package/dist/nodes/addAppToolNode.d.ts.map +1 -1
- package/dist/nodes/addAppToolNode.js +2 -2
- package/dist/nodes/addAppToolNode.js.map +1 -1
- package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -1
- package/dist/nodes/addHumanInTheLoopNode.js +2 -1
- package/dist/nodes/addHumanInTheLoopNode.js.map +1 -1
- package/dist/nodes/addJumpToNode.d.ts.map +1 -1
- package/dist/nodes/addJumpToNode.js +2 -2
- package/dist/nodes/addJumpToNode.js.map +1 -1
- package/dist/nodes/addJunctionNode.d.ts +7 -0
- package/dist/nodes/addJunctionNode.d.ts.map +1 -0
- package/dist/nodes/addJunctionNode.js +20 -0
- package/dist/nodes/addJunctionNode.js.map +1 -0
- package/dist/nodes/addPromptNode.d.ts.map +1 -1
- package/dist/nodes/addPromptNode.js +42 -2
- package/dist/nodes/addPromptNode.js.map +1 -1
- package/dist/nodes/addToolNode.d.ts.map +1 -1
- package/dist/nodes/addToolNode.js +2 -2
- package/dist/nodes/addToolNode.js.map +1 -1
- package/dist/nodes/addToolRunNode.d.ts.map +1 -1
- package/dist/nodes/addToolRunNode.js +1 -2
- package/dist/nodes/addToolRunNode.js.map +1 -1
- package/dist/nodes/addTriggerNode.d.ts.map +1 -1
- package/dist/nodes/addTriggerNode.js +1 -2
- package/dist/nodes/addTriggerNode.js.map +1 -1
- package/dist/nodes/nodeFactory.d.ts.map +1 -1
- package/dist/nodes/nodeFactory.js +2 -5
- package/dist/nodes/nodeFactory.js.map +1 -1
- package/dist/platform/mindedConnectionTypes.d.ts +82 -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/types/Agent.types.d.ts +11 -13
- package/dist/types/Agent.types.d.ts.map +1 -1
- package/dist/types/Agent.types.js +1 -10
- 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/package.json +2 -2
- package/src/agent.ts +119 -21
- package/src/index.ts +0 -1
- package/src/interrupts/InterruptSessionManager.types.ts +79 -0
- package/src/interrupts/MemoryInterruptSessionManager.ts +56 -0
- package/src/interrupts/MindedInterruptSessionManager.ts +157 -0
- package/src/interrupts/interruptSessionManagerFactory.ts +17 -0
- package/src/nodes/addAppToolNode.ts +3 -3
- package/src/nodes/addHumanInTheLoopNode.ts +2 -1
- package/src/nodes/addJumpToNode.ts +3 -3
- package/src/nodes/addJunctionNode.ts +19 -0
- package/src/nodes/addPromptNode.ts +48 -7
- package/src/nodes/addToolNode.ts +2 -3
- package/src/nodes/addToolRunNode.ts +2 -3
- package/src/nodes/addTriggerNode.ts +3 -3
- package/src/nodes/nodeFactory.ts +2 -7
- package/src/platform/mindedConnectionTypes.ts +100 -0
- package/src/types/Agent.types.ts +12 -15
- package/src/types/LangGraph.types.ts +3 -1
|
@@ -21,7 +21,15 @@ export declare enum MindedConnectionSocketMessageType {
|
|
|
21
21
|
INTERFACE_FUNCTION_CALL = "interface-function-call",
|
|
22
22
|
TIMER_RESET = "timer-reset",
|
|
23
23
|
TIMER_CANCEL = "timer-cancel",
|
|
24
|
-
TIMER_TRIGGER = "timer-trigger"
|
|
24
|
+
TIMER_TRIGGER = "timer-trigger",
|
|
25
|
+
INTERRUPT_SESSION_IS_PROCESSED = "interrupt-session-is-processed",
|
|
26
|
+
INTERRUPT_SESSION_LOCK = "interrupt-session-lock",
|
|
27
|
+
INTERRUPT_SESSION_RELEASE = "interrupt-session-release",
|
|
28
|
+
INTERRUPT_SESSION_ENQUEUE = "interrupt-session-enqueue",
|
|
29
|
+
INTERRUPT_SESSION_DEQUEUE_ALL = "interrupt-session-dequeue-all",
|
|
30
|
+
INTERRUPT_SESSION_DEQUEUE = "interrupt-session-dequeue",
|
|
31
|
+
INTERRUPT_SESSION_HAS_MESSAGES = "interrupt-session-has-messages",
|
|
32
|
+
INTERRUPT_SESSION_GET_MESSAGES = "interrupt-session-get-messages"
|
|
25
33
|
}
|
|
26
34
|
export type MindedConnectionSocketMessageTypeMap = {
|
|
27
35
|
[MindedConnectionSocketMessageType.OnAppAction]: BaseMindedConnectionSocketMessage;
|
|
@@ -44,6 +52,14 @@ export type MindedConnectionSocketMessageTypeMap = {
|
|
|
44
52
|
[MindedConnectionSocketMessageType.TIMER_RESET]: TimerResetRequest;
|
|
45
53
|
[MindedConnectionSocketMessageType.TIMER_CANCEL]: TimerCancelRequest;
|
|
46
54
|
[MindedConnectionSocketMessageType.TIMER_TRIGGER]: TimerTriggerRequest;
|
|
55
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_IS_PROCESSED]: InterruptSessionIsProcessedRequest;
|
|
56
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_LOCK]: InterruptSessionLockRequest;
|
|
57
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_RELEASE]: InterruptSessionReleaseRequest;
|
|
58
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_ENQUEUE]: InterruptSessionEnqueueRequest;
|
|
59
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE_ALL]: InterruptSessionDequeueAllRequest;
|
|
60
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE]: InterruptSessionDequeueRequest;
|
|
61
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_HAS_MESSAGES]: InterruptSessionHasMessagesRequest;
|
|
62
|
+
[MindedConnectionSocketMessageType.INTERRUPT_SESSION_GET_MESSAGES]: InterruptSessionGetMessagesRequest;
|
|
47
63
|
};
|
|
48
64
|
export interface BaseMindedConnectionSocketMessage {
|
|
49
65
|
type: MindedConnectionSocketMessageType;
|
|
@@ -145,4 +161,69 @@ export interface TimerTriggerRequest extends BaseMindedConnectionSocketMessage {
|
|
|
145
161
|
timerName: string;
|
|
146
162
|
eventArgs: Record<string, any>;
|
|
147
163
|
}
|
|
164
|
+
export interface InterruptSessionIsProcessedRequest extends BaseMindedConnectionSocketMessage {
|
|
165
|
+
sessionId: string;
|
|
166
|
+
}
|
|
167
|
+
export interface InterruptSessionIsProcessedResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
168
|
+
isProcessed?: boolean;
|
|
169
|
+
}
|
|
170
|
+
export interface InterruptSessionLockRequest extends BaseMindedConnectionSocketMessage {
|
|
171
|
+
sessionId: string;
|
|
172
|
+
}
|
|
173
|
+
export interface InterruptSessionLockResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
174
|
+
success?: boolean;
|
|
175
|
+
}
|
|
176
|
+
export interface InterruptSessionReleaseRequest extends BaseMindedConnectionSocketMessage {
|
|
177
|
+
sessionId: string;
|
|
178
|
+
}
|
|
179
|
+
export interface InterruptSessionReleaseResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
180
|
+
success?: boolean;
|
|
181
|
+
}
|
|
182
|
+
export interface InterruptSessionEnqueueRequest extends BaseMindedConnectionSocketMessage {
|
|
183
|
+
sessionId: string;
|
|
184
|
+
message: {
|
|
185
|
+
triggerBody: any;
|
|
186
|
+
triggerName: string;
|
|
187
|
+
appName?: string;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export interface InterruptSessionEnqueueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
191
|
+
success?: boolean;
|
|
192
|
+
}
|
|
193
|
+
export interface InterruptSessionDequeueAllRequest extends BaseMindedConnectionSocketMessage {
|
|
194
|
+
sessionId: string;
|
|
195
|
+
}
|
|
196
|
+
export interface InterruptSessionDequeueAllResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
197
|
+
messages?: Array<{
|
|
198
|
+
triggerBody: any;
|
|
199
|
+
triggerName: string;
|
|
200
|
+
appName?: string;
|
|
201
|
+
}>;
|
|
202
|
+
}
|
|
203
|
+
export interface InterruptSessionDequeueRequest extends BaseMindedConnectionSocketMessage {
|
|
204
|
+
sessionId: string;
|
|
205
|
+
}
|
|
206
|
+
export interface InterruptSessionDequeueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
207
|
+
message?: {
|
|
208
|
+
triggerBody: any;
|
|
209
|
+
triggerName: string;
|
|
210
|
+
appName?: string;
|
|
211
|
+
} | null;
|
|
212
|
+
}
|
|
213
|
+
export interface InterruptSessionHasMessagesRequest extends BaseMindedConnectionSocketMessage {
|
|
214
|
+
sessionId: string;
|
|
215
|
+
}
|
|
216
|
+
export interface InterruptSessionHasMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
217
|
+
hasMessages?: boolean;
|
|
218
|
+
}
|
|
219
|
+
export interface InterruptSessionGetMessagesRequest extends BaseMindedConnectionSocketMessage {
|
|
220
|
+
sessionId: string;
|
|
221
|
+
}
|
|
222
|
+
export interface InterruptSessionGetMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
|
|
223
|
+
messages?: Array<{
|
|
224
|
+
triggerBody: any;
|
|
225
|
+
triggerName: string;
|
|
226
|
+
appName?: string;
|
|
227
|
+
}>;
|
|
228
|
+
}
|
|
148
229
|
//# sourceMappingURL=mindedConnectionTypes.d.ts.map
|
|
@@ -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;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,oBAAY,iCAAiC;IAC3C,WAAW,kBAAkB;IAC7B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,gBAAgB,qBAAqB;IAErC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,oCAAoC,yCAAyC;IAC7E,uBAAuB,4BAA4B;IACnD,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;
|
|
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;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,oBAAY,iCAAiC;IAC3C,WAAW,kBAAkB;IAC7B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,gBAAgB,qBAAqB;IAErC,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,oCAAoC,yCAAyC;IAC7E,uBAAuB,4BAA4B;IACnD,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAE/B,8BAA8B,mCAAmC;IACjE,sBAAsB,2BAA2B;IACjD,yBAAyB,8BAA8B;IACvD,yBAAyB,8BAA8B;IACvD,6BAA6B,kCAAkC;IAC/D,yBAAyB,8BAA8B;IACvD,8BAA8B,mCAAmC;IACjE,8BAA8B,mCAAmC;CAClE;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,CAAC,iCAAiC,CAAC,WAAW,CAAC,EAAE,iCAAiC,CAAC;IACnF,CAAC,iCAAiC,CAAC,WAAW,CAAC,EAAE,iCAAiC,CAAC;IACnF,CAAC,iCAAiC,CAAC,SAAS,CAAC,EAAE,iCAAiC,CAAC;IACjF,CAAC,iCAAiC,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC;IACrF,CAAC,iCAAiC,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAC1D,CAAC,iCAAiC,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC/E,CAAC,iCAAiC,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IACpE,CAAC,iCAAiC,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACtE,CAAC,iCAAiC,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACjF,CAAC,iCAAiC,CAAC,0BAA0B,CAAC,EAAE,cAAc,CAAC;IAC/E,CAAC,iCAAiC,CAAC,2BAA2B,CAAC,EAAE,eAAe,CAAC;IACjF,CAAC,iCAAiC,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,CAAC;IACpF,CAAC,iCAAiC,CAAC,2BAA2B,CAAC,EAAE,iBAAiB,CAAC;IACnF,CAAC,iCAAiC,CAAC,4BAA4B,CAAC,EAAE,mBAAmB,CAAC;IACtF,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,EAAE,uBAAuB,CAAC;IAClG,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACvE,CAAC,iCAAiC,CAAC,uBAAuB,CAAC,EAAE,qBAAqB,CAAC;IACnF,CAAC,iCAAiC,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACnE,CAAC,iCAAiC,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IACrE,CAAC,iCAAiC,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEvE,CAAC,iCAAiC,CAAC,8BAA8B,CAAC,EAAE,kCAAkC,CAAC;IACvG,CAAC,iCAAiC,CAAC,sBAAsB,CAAC,EAAE,2BAA2B,CAAC;IACxF,CAAC,iCAAiC,CAAC,yBAAyB,CAAC,EAAE,8BAA8B,CAAC;IAC9F,CAAC,iCAAiC,CAAC,yBAAyB,CAAC,EAAE,8BAA8B,CAAC;IAC9F,CAAC,iCAAiC,CAAC,6BAA6B,CAAC,EAAE,iCAAiC,CAAC;IACrG,CAAC,iCAAiC,CAAC,yBAAyB,CAAC,EAAE,8BAA8B,CAAC;IAC9F,CAAC,iCAAiC,CAAC,8BAA8B,CAAC,EAAE,kCAAkC,CAAC;IACvG,CAAC,iCAAiC,CAAC,8BAA8B,CAAC,EAAE,kCAAkC,CAAC;CACxG,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,iCAAiC,CAAC;CACzC;AAED,MAAM,WAAW,iDAAiD;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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;AAED,MAAM,WAAW,gBAAiB,SAAQ,iCAAiC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iCAAiC;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,iBAAkB,SAAQ,iCAAiC;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,iCAAiC,EAAE,iBAAiB;IACzF,IAAI,EAAE,iCAAiC,CAAC,MAAM,CAAC;CAChD;AACD,MAAM,WAAW,gBAAiB,SAAQ,iCAAiC;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,iBAAkB,SAAQ,iDAAiD;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,iCAAiC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,iCAAiC;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iDAAiD;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iCAAiC;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iDAAiD;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iCAAiC;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAGD,MAAM,WAAW,kCAAmC,SAAQ,iCAAiC;IAC3F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mCAAoC,SAAQ,iDAAiD;IAC5G,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,2BAA4B,SAAQ,iCAAiC;IACpF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA6B,SAAQ,iDAAiD;IACrG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAAgC,SAAQ,iDAAiD;IACxG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,+BAAgC,SAAQ,iDAAiD;IACxG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iCAAkC,SAAQ,iCAAiC;IAC1F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kCAAmC,SAAQ,iDAAiD;IAC3G,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,8BAA+B,SAAQ,iCAAiC;IACvF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAAgC,SAAQ,iDAAiD;IACxG,OAAO,CAAC,EAAE;QACR,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,kCAAmC,SAAQ,iCAAiC;IAC3F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mCAAoC,SAAQ,iDAAiD;IAC5G,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kCAAmC,SAAQ,iCAAiC;IAC3F,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mCAAoC,SAAQ,iDAAiD;IAC5G,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,WAAW,EAAE,GAAG,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ"}
|
|
@@ -25,5 +25,14 @@ var MindedConnectionSocketMessageType;
|
|
|
25
25
|
MindedConnectionSocketMessageType["TIMER_RESET"] = "timer-reset";
|
|
26
26
|
MindedConnectionSocketMessageType["TIMER_CANCEL"] = "timer-cancel";
|
|
27
27
|
MindedConnectionSocketMessageType["TIMER_TRIGGER"] = "timer-trigger";
|
|
28
|
+
// Interrupt Session Management
|
|
29
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_IS_PROCESSED"] = "interrupt-session-is-processed";
|
|
30
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_LOCK"] = "interrupt-session-lock";
|
|
31
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_RELEASE"] = "interrupt-session-release";
|
|
32
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_ENQUEUE"] = "interrupt-session-enqueue";
|
|
33
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_DEQUEUE_ALL"] = "interrupt-session-dequeue-all";
|
|
34
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_DEQUEUE"] = "interrupt-session-dequeue";
|
|
35
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_HAS_MESSAGES"] = "interrupt-session-has-messages";
|
|
36
|
+
MindedConnectionSocketMessageType["INTERRUPT_SESSION_GET_MESSAGES"] = "interrupt-session-get-messages";
|
|
28
37
|
})(MindedConnectionSocketMessageType || (exports.MindedConnectionSocketMessageType = MindedConnectionSocketMessageType = {}));
|
|
29
38
|
//# sourceMappingURL=mindedConnectionTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;AAWA,IAAY,
|
|
1
|
+
{"version":3,"file":"mindedConnectionTypes.js","sourceRoot":"","sources":["../../src/platform/mindedConnectionTypes.ts"],"names":[],"mappings":";;;AAWA,IAAY,iCAgCX;AAhCD,WAAY,iCAAiC;IAC3C,kEAA6B,CAAA;IAC7B,gEAA2B,CAAA;IAC3B,4DAAuB,CAAA;IACvB,oEAA+B,CAAA;IAC/B,sDAAiB,CAAA;IACjB,0EAAqC,CAAA;IACrC,cAAc;IACd,kFAA6C,CAAA;IAC7C,sEAAiC,CAAA;IACjC,wEAAmC,CAAA;IACnC,oFAA+C,CAAA;IAC/C,QAAQ;IACR,8FAAyD,CAAA;IACzD,gGAA2D,CAAA;IAC3D,oGAA+D,CAAA;IAC/D,gGAA2D,CAAA;IAC3D,kGAA6D,CAAA;IAC7D,kHAA6E,CAAA;IAC7E,wFAAmD,CAAA;IACnD,gEAA2B,CAAA;IAC3B,kEAA6B,CAAA;IAC7B,oEAA+B,CAAA;IAC/B,+BAA+B;IAC/B,sGAAiE,CAAA;IACjE,sFAAiD,CAAA;IACjD,4FAAuD,CAAA;IACvD,4FAAuD,CAAA;IACvD,oGAA+D,CAAA;IAC/D,4FAAuD,CAAA;IACvD,sGAAiE,CAAA;IACjE,sGAAiE,CAAA;AACnE,CAAC,EAhCW,iCAAiC,iDAAjC,iCAAiC,QAgC5C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AgentEventRequestPayloads, AgentEventResponsePayloads } from '../events/AgentEvents';
|
|
2
2
|
import { LLMConfig } from './LLM.types';
|
|
3
|
+
import { NodeType } from './Flows.types';
|
|
3
4
|
export type EmitSignature<Memory, E extends keyof AgentEventRequestPayloads<Memory>> = (event: E, payload: AgentEventRequestPayloads<Memory>[E]) => Promise<AgentEventResponsePayloads<Memory>[E][]>;
|
|
4
5
|
export type MindedSDKConfig = {
|
|
5
6
|
flows: string[];
|
|
@@ -22,17 +23,11 @@ export interface AgentInvokeParams {
|
|
|
22
23
|
sessionId?: string;
|
|
23
24
|
/** Optional name of the application triggering the agent in case of an app trigger */
|
|
24
25
|
appName?: string;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
APP_TRIGGER_NODE = "appTriggerNode",
|
|
28
|
-
TRIGGER_NODE = "triggerNode",
|
|
29
|
-
APP_ACTION_NODE = "appActionNode",
|
|
30
|
-
CUSTOM_ACTION_NODE = "customActionNode",
|
|
31
|
-
PROMPT_NODE = "promptNode",
|
|
32
|
-
JUMP_TO_NODE = "jumpToNode"
|
|
26
|
+
/** Internal flag to bypass session processing check for recursive calls */
|
|
27
|
+
bypassSessionCheck?: boolean;
|
|
33
28
|
}
|
|
34
29
|
export interface HistoryStep {
|
|
35
|
-
type:
|
|
30
|
+
type: NodeType;
|
|
36
31
|
step: number;
|
|
37
32
|
raw: any;
|
|
38
33
|
nodeId: string;
|
|
@@ -40,18 +35,21 @@ export interface HistoryStep {
|
|
|
40
35
|
messageIds?: string[];
|
|
41
36
|
}
|
|
42
37
|
export interface AppTriggerHistoryStep extends HistoryStep {
|
|
43
|
-
type:
|
|
38
|
+
type: NodeType.TRIGGER;
|
|
44
39
|
appName: string;
|
|
45
40
|
}
|
|
46
41
|
export interface TriggerHistoryStep extends HistoryStep {
|
|
47
|
-
type:
|
|
42
|
+
type: NodeType.TRIGGER;
|
|
48
43
|
}
|
|
49
44
|
export interface AppActionInvocationHistoryStep extends HistoryStep {
|
|
50
|
-
type:
|
|
45
|
+
type: NodeType.APP_TOOL;
|
|
51
46
|
appName: string;
|
|
52
47
|
}
|
|
53
48
|
export interface CustomActionInvocationHistoryStep extends HistoryStep {
|
|
54
|
-
type:
|
|
49
|
+
type: NodeType.TOOL;
|
|
50
|
+
}
|
|
51
|
+
export interface JunctionHistoryStep extends HistoryStep {
|
|
52
|
+
type: NodeType.JUNCTION;
|
|
55
53
|
}
|
|
56
54
|
export declare enum SessionType {
|
|
57
55
|
VOICE = "voice",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.types.d.ts","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Agent.types.d.ts","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,SAAS,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,CACrF,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1C,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,WAAW,EAAE,GAAG,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,8BAA+B,SAAQ,WAAW;IACjE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAkC,SAAQ,WAAW;IACpE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACzB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;CACd"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionType =
|
|
4
|
-
var HistoryStepType;
|
|
5
|
-
(function (HistoryStepType) {
|
|
6
|
-
HistoryStepType["APP_TRIGGER_NODE"] = "appTriggerNode";
|
|
7
|
-
HistoryStepType["TRIGGER_NODE"] = "triggerNode";
|
|
8
|
-
HistoryStepType["APP_ACTION_NODE"] = "appActionNode";
|
|
9
|
-
HistoryStepType["CUSTOM_ACTION_NODE"] = "customActionNode";
|
|
10
|
-
HistoryStepType["PROMPT_NODE"] = "promptNode";
|
|
11
|
-
HistoryStepType["JUMP_TO_NODE"] = "jumpToNode";
|
|
12
|
-
})(HistoryStepType || (exports.HistoryStepType = HistoryStepType = {}));
|
|
3
|
+
exports.SessionType = void 0;
|
|
13
4
|
var SessionType;
|
|
14
5
|
(function (SessionType) {
|
|
15
6
|
SessionType["VOICE"] = "voice";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":";;;AAiEA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4BAAa,CAAA;AACf,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
|
@@ -5,14 +5,14 @@ export declare const createStateAnnotation: <Memory = any>() => import("@langcha
|
|
|
5
5
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
|
|
6
6
|
memory: import("@langchain/langgraph").BinaryOperatorAggregate<Memory, Memory>;
|
|
7
7
|
history: import("@langchain/langgraph").BinaryOperatorAggregate<HistoryStep[], HistoryStep[]>;
|
|
8
|
-
sessionId: import("@langchain/langgraph").
|
|
8
|
+
sessionId: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
9
9
|
sessionType: import("@langchain/langgraph").BinaryOperatorAggregate<SessionType, SessionType>;
|
|
10
10
|
}>;
|
|
11
11
|
export declare const stateAnnotation: import("@langchain/langgraph").AnnotationRoot<{
|
|
12
12
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
|
|
13
13
|
memory: import("@langchain/langgraph").BinaryOperatorAggregate<any, any>;
|
|
14
14
|
history: import("@langchain/langgraph").BinaryOperatorAggregate<HistoryStep[], HistoryStep[]>;
|
|
15
|
-
sessionId: import("@langchain/langgraph").
|
|
15
|
+
sessionId: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
16
16
|
sessionType: import("@langchain/langgraph").BinaryOperatorAggregate<SessionType, SessionType>;
|
|
17
17
|
}>;
|
|
18
18
|
export type CompiledGraph = CompiledStateGraph<any, any, string>;
|
|
@@ -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,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzD,eAAO,MAAM,qBAAqB,GAAI,MAAM,GAAG,GAAG;;;;;;
|
|
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,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzD,eAAO,MAAM,qBAAqB,GAAI,MAAM,GAAG,GAAG;;;;;;EAkC9C,CAAC;AAGL,eAAO,MAAM,eAAe;;;;;;EAA0B,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;AAC5D,MAAM,MAAM,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -31,7 +31,9 @@ const createStateAnnotation = () => langgraph_1.Annotation.Root({
|
|
|
31
31
|
default: () => [],
|
|
32
32
|
reducer: (a, b) => a.concat(b),
|
|
33
33
|
}),
|
|
34
|
-
sessionId: (0, langgraph_1.Annotation)(
|
|
34
|
+
sessionId: (0, langgraph_1.Annotation)({
|
|
35
|
+
reducer: (a, b) => b || a,
|
|
36
|
+
}),
|
|
35
37
|
sessionType: (0, langgraph_1.Annotation)({
|
|
36
38
|
default: () => Agent_types_1.SessionType.TEXT,
|
|
37
39
|
reducer: (a, b) => b || a,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;AAClF,+CAAyD;AAElD,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,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,
|
|
1
|
+
{"version":3,"file":"LangGraph.types.js","sourceRoot":"","sources":["../../src/types/LangGraph.types.ts"],"names":[],"mappings":";;;AACA,oDAAkF;AAClF,+CAAyD;AAElD,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,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,EAAS;QAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE,IAAA,sBAAU,EAAc;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAW,CAAC,IAAI;QAC/B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KAC1B,CAAC;CACH,CAAC,CAAC;AAlCQ,QAAA,qBAAqB,yBAkC7B;AAEL,gDAAgD;AACnC,QAAA,eAAe,GAAG,IAAA,6BAAqB,GAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minded-ai/mindedjs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92-beta-2",
|
|
4
4
|
"description": "MindedJS is a TypeScript library for building agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -66,4 +66,4 @@
|
|
|
66
66
|
"uuid": "^11.1.0",
|
|
67
67
|
"ws": "^8.15.1"
|
|
68
68
|
}
|
|
69
|
-
}
|
|
69
|
+
}
|
package/src/agent.ts
CHANGED
|
@@ -25,7 +25,6 @@ import {
|
|
|
25
25
|
AgentInvokeParams,
|
|
26
26
|
AppTriggerHistoryStep,
|
|
27
27
|
TriggerHistoryStep,
|
|
28
|
-
HistoryStepType,
|
|
29
28
|
MindedSDKConfig,
|
|
30
29
|
SessionType,
|
|
31
30
|
HistoryStep,
|
|
@@ -33,6 +32,8 @@ import {
|
|
|
33
32
|
import { createLlmInstance } from './llm/createLlmInstance';
|
|
34
33
|
import { createCheckpointSaver } from './checkpointer/checkpointSaverFactory';
|
|
35
34
|
import { getConfig } from './platform/config';
|
|
35
|
+
import { InterruptSessionManager, InterruptType } from './interrupts/InterruptSessionManager.types';
|
|
36
|
+
import { createInterruptSessionManager } from './interrupts/interruptSessionManagerFactory';
|
|
36
37
|
import { BaseMessage, HumanMessage } from '@langchain/core/messages';
|
|
37
38
|
import triggerTypeToDefaultMessage from './triggers/triggerTypeToDefaultMessage';
|
|
38
39
|
import appActionRunnerToolCreator from './internalTools/appActionRunnerTool';
|
|
@@ -49,6 +50,7 @@ type CreateAgentParams<Memory> = {
|
|
|
49
50
|
tools: Tool<any, Memory>[];
|
|
50
51
|
platformToken?: string;
|
|
51
52
|
memorySaver?: BaseCheckpointSaver;
|
|
53
|
+
interruptSessionManager?: InterruptSessionManager;
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
/**
|
|
@@ -77,6 +79,8 @@ export class Agent {
|
|
|
77
79
|
public mindedConnection: MindedConnection | null = null;
|
|
78
80
|
// Langgraph memory saver. In memory for local development, Custom for Platform
|
|
79
81
|
private checkpointer!: BaseCheckpointSaver;
|
|
82
|
+
// Interrupt session manager. In memory for local development, Custom for Platform
|
|
83
|
+
public interruptSessionManager!: InterruptSessionManager;
|
|
80
84
|
// Langgraph compiled graph
|
|
81
85
|
public compiledGraph!: CompiledGraph;
|
|
82
86
|
// Cache for secrets to avoid repeated API calls
|
|
@@ -147,7 +151,7 @@ export class Agent {
|
|
|
147
151
|
|
|
148
152
|
private async init(params: CreateAgentParams<z.infer<typeof this.memorySchema>>): Promise<void> {
|
|
149
153
|
try {
|
|
150
|
-
const { config, tools, memorySaver } = params;
|
|
154
|
+
const { config, tools, memorySaver, interruptSessionManager } = params;
|
|
151
155
|
const { runLocally } = getConfig();
|
|
152
156
|
if (!runLocally) {
|
|
153
157
|
this.mindedConnection = new MindedConnection();
|
|
@@ -187,6 +191,7 @@ export class Agent {
|
|
|
187
191
|
const appActionsRunnerTools = this.initAppActionsRunnerTools();
|
|
188
192
|
this.tools = [...tools, ...appActionsRunnerTools];
|
|
189
193
|
this.checkpointer = memorySaver || createCheckpointSaver(this.mindedConnection);
|
|
194
|
+
this.interruptSessionManager = interruptSessionManager || createInterruptSessionManager(this.mindedConnection);
|
|
190
195
|
|
|
191
196
|
// call here methods that needs environment variables to be loaded
|
|
192
197
|
this.llm = createLlmInstance(config.llm);
|
|
@@ -377,14 +382,14 @@ export class Agent {
|
|
|
377
382
|
|
|
378
383
|
return appName
|
|
379
384
|
? createHistoryStep<AppTriggerHistoryStep>(currentHistory, {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
385
|
+
...baseStep,
|
|
386
|
+
type: NodeType.TRIGGER,
|
|
387
|
+
appName,
|
|
388
|
+
})
|
|
384
389
|
: createHistoryStep<TriggerHistoryStep>(currentHistory, {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
390
|
+
...baseStep,
|
|
391
|
+
type: NodeType.TRIGGER,
|
|
392
|
+
});
|
|
388
393
|
}
|
|
389
394
|
|
|
390
395
|
/**
|
|
@@ -415,10 +420,26 @@ export class Agent {
|
|
|
415
420
|
* });
|
|
416
421
|
* ```
|
|
417
422
|
*/
|
|
418
|
-
public async invoke({ triggerBody, triggerName, sessionId, appName }: AgentInvokeParams) {
|
|
423
|
+
public async invoke({ triggerBody, triggerName, sessionId, appName, bypassSessionCheck }: AgentInvokeParams): Promise<any> {
|
|
419
424
|
sessionId = sessionId ?? uuidv4();
|
|
420
425
|
try {
|
|
421
426
|
await this.waitForInitialization();
|
|
427
|
+
|
|
428
|
+
// Check if session is already being processed (unless bypassing)
|
|
429
|
+
if (!bypassSessionCheck && this.interruptSessionManager.isProcessed(sessionId)) {
|
|
430
|
+
// Enqueue the raw message and return
|
|
431
|
+
console.log({ message: 'Enqueuing message', sessionId, triggerBody, triggerName, appName });
|
|
432
|
+
this.interruptSessionManager.enqueueMessage(sessionId, {
|
|
433
|
+
triggerBody,
|
|
434
|
+
triggerName,
|
|
435
|
+
appName,
|
|
436
|
+
});
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// Lock the session for processing
|
|
441
|
+
this.interruptSessionManager.lock(sessionId);
|
|
442
|
+
|
|
422
443
|
let messages: Array<BaseMessage> = [];
|
|
423
444
|
let memoryUpdate = {};
|
|
424
445
|
let sessionType: SessionType = SessionType.TEXT;
|
|
@@ -447,6 +468,7 @@ export class Agent {
|
|
|
447
468
|
if (handlerResult) {
|
|
448
469
|
if (!handlerResult.isQualified) {
|
|
449
470
|
logger.info(`Trigger ${triggerName} was disqualified`);
|
|
471
|
+
this.interruptSessionManager.release(sessionId);
|
|
450
472
|
return;
|
|
451
473
|
}
|
|
452
474
|
memoryUpdate = handlerResult.memory || {};
|
|
@@ -473,22 +495,90 @@ export class Agent {
|
|
|
473
495
|
|
|
474
496
|
let res;
|
|
475
497
|
// Resume interruption
|
|
476
|
-
if (state.tasks
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
498
|
+
if (state.tasks && state.tasks.length > 0) {
|
|
499
|
+
const lastTask = state.tasks[state.tasks.length - 1];
|
|
500
|
+
if (lastTask?.interrupts?.length > 0) {
|
|
501
|
+
const interrupt = lastTask.interrupts[0];
|
|
502
|
+
const interruptValue = (interrupt as any).value;
|
|
503
|
+
|
|
504
|
+
if (interruptValue?.type === InterruptType.HUMAN_IN_THE_LOOP) {
|
|
505
|
+
// For HUMAN_IN_THE_LOOP, use resume with the full object
|
|
506
|
+
res = await this.compiledGraph.invoke(
|
|
507
|
+
new Command({
|
|
508
|
+
resume: { memory: memoryUpdate, messages, history: historyStep, sessionId, sessionType },
|
|
509
|
+
}),
|
|
510
|
+
langraphConfig,
|
|
511
|
+
);
|
|
512
|
+
} else if (interruptValue?.type === InterruptType.NEW_TRIGGERS) {
|
|
513
|
+
// For NEW_TRIGGERS, check if there's an updateStateObject to apply first
|
|
514
|
+
const finalState = { memory: memoryUpdate, messages, history: [historyStep], sessionId, sessionType };
|
|
515
|
+
if (interruptValue.updateStateObject) {
|
|
516
|
+
finalState.messages = [...interruptValue.updateStateObject.messages, ...messages];
|
|
517
|
+
finalState.history = [...(interruptValue.updateStateObject.history || []), historyStep];
|
|
518
|
+
//add handlers for other state fields as needed
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// Then use update with the full object and empty resume
|
|
522
|
+
res = await this.compiledGraph.invoke(
|
|
523
|
+
new Command({
|
|
524
|
+
update: finalState,
|
|
525
|
+
resume: '',
|
|
526
|
+
}),
|
|
527
|
+
langraphConfig,
|
|
528
|
+
);
|
|
529
|
+
}
|
|
530
|
+
} else {
|
|
531
|
+
res = await this.compiledGraph.invoke(
|
|
532
|
+
{ messages, memory: memoryUpdate, history: historyStep, sessionId, sessionType },
|
|
533
|
+
langraphConfig,
|
|
534
|
+
);
|
|
535
|
+
}
|
|
483
536
|
} else {
|
|
484
537
|
res = await this.compiledGraph.invoke(
|
|
485
538
|
{ messages, memory: memoryUpdate, history: historyStep, sessionId, sessionType },
|
|
486
539
|
langraphConfig,
|
|
487
540
|
);
|
|
488
541
|
}
|
|
542
|
+
|
|
543
|
+
// Check if graph was interrupted with NEW_TRIGGERS flag
|
|
544
|
+
const finalState = await this.compiledGraph.getState(langraphConfig);
|
|
545
|
+
if (finalState.tasks && finalState.tasks.length > 0) {
|
|
546
|
+
const lastTask = finalState.tasks[finalState.tasks.length - 1];
|
|
547
|
+
if (lastTask?.interrupts?.length > 0) {
|
|
548
|
+
const interrupt = lastTask.interrupts[0];
|
|
549
|
+
const interruptValue = (interrupt as any).value;
|
|
550
|
+
|
|
551
|
+
if (interruptValue?.type === InterruptType.NEW_TRIGGERS) {
|
|
552
|
+
// Dequeue the first message and process it recursively
|
|
553
|
+
const nextMessage = await this.interruptSessionManager.dequeue(sessionId);
|
|
554
|
+
if (nextMessage) {
|
|
555
|
+
// Recursively process the next message with bypass flag
|
|
556
|
+
const invokeParams: AgentInvokeParams = {
|
|
557
|
+
triggerBody: nextMessage.triggerBody,
|
|
558
|
+
triggerName: nextMessage.triggerName,
|
|
559
|
+
sessionId: sessionId,
|
|
560
|
+
bypassSessionCheck: true,
|
|
561
|
+
};
|
|
562
|
+
if (nextMessage.appName) {
|
|
563
|
+
invokeParams.appName = nextMessage.appName;
|
|
564
|
+
}
|
|
565
|
+
console.log('Invoking next message RECURSIVELY', invokeParams);
|
|
566
|
+
return await this.invoke(invokeParams);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
// Release the session lock
|
|
573
|
+
this.interruptSessionManager.release(sessionId);
|
|
574
|
+
|
|
489
575
|
return res;
|
|
490
|
-
} catch (error) {
|
|
491
|
-
logger.error({ message: 'Invoke error', error, sessionId });
|
|
576
|
+
} catch (error: any) {
|
|
577
|
+
logger.error({ message: 'Invoke error', errorMessage: error.message, sessionId });
|
|
578
|
+
|
|
579
|
+
// Release the session lock on error
|
|
580
|
+
this.interruptSessionManager.release(sessionId);
|
|
581
|
+
|
|
492
582
|
const state = await this.compiledGraph.getState(this.getLangraphConfig(sessionId));
|
|
493
583
|
this.emit(AgentEvents.ERROR, { error: error instanceof Error ? error : new Error(JSON.stringify(error)), state: state.values });
|
|
494
584
|
throw error;
|
|
@@ -813,7 +903,11 @@ export class Agent {
|
|
|
813
903
|
if (voiceSession) {
|
|
814
904
|
voiceSession.sendAudio(audioMessage.audioData);
|
|
815
905
|
} else {
|
|
816
|
-
logger.trace({
|
|
906
|
+
logger.trace({
|
|
907
|
+
message: 'Audio received; voice session not found for sessionId',
|
|
908
|
+
sessionId: audioMessage.sessionId,
|
|
909
|
+
activeSessions: Array.from(this.voiceSessions.keys()),
|
|
910
|
+
});
|
|
817
911
|
}
|
|
818
912
|
});
|
|
819
913
|
|
|
@@ -825,7 +919,11 @@ export class Agent {
|
|
|
825
919
|
if (voiceSession) {
|
|
826
920
|
voiceSession.hangup();
|
|
827
921
|
} else {
|
|
828
|
-
logger.trace({
|
|
922
|
+
logger.trace({
|
|
923
|
+
message: 'Session ended; voice session not found for sessionId',
|
|
924
|
+
sessionId: hangup.sessionId,
|
|
925
|
+
activeSessions: this.voiceSessions.keys(),
|
|
926
|
+
});
|
|
829
927
|
}
|
|
830
928
|
});
|
|
831
929
|
}
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { State } from '../types/LangGraph.types';
|
|
2
|
+
import { GraphInterrupt } from '@langchain/langgraph';
|
|
3
|
+
|
|
4
|
+
export enum InterruptType {
|
|
5
|
+
NEW_TRIGGERS = 'NEW_TRIGGERS',
|
|
6
|
+
HUMAN_IN_THE_LOOP = 'HUMAN_IN_THE_LOOP',
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface QueuedMessage {
|
|
10
|
+
triggerBody: any;
|
|
11
|
+
triggerName: string;
|
|
12
|
+
appName?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// export interface UpdateStateObject {
|
|
16
|
+
// memory: any;
|
|
17
|
+
// messages: any[];
|
|
18
|
+
// history: any[];
|
|
19
|
+
// sessionId: string;
|
|
20
|
+
// sessionType: SessionType;
|
|
21
|
+
// }
|
|
22
|
+
export interface InterruptPayload {
|
|
23
|
+
type: InterruptType.NEW_TRIGGERS;
|
|
24
|
+
updateStateObject?: Partial<State>;
|
|
25
|
+
id?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface InterruptSessionManager {
|
|
29
|
+
isProcessed(sessionId: string): boolean | Promise<boolean>;
|
|
30
|
+
lock(sessionId: string): void | Promise<void>;
|
|
31
|
+
release(sessionId: string): void | Promise<void>;
|
|
32
|
+
enqueueMessage(sessionId: string, message: QueuedMessage): void | Promise<void>;
|
|
33
|
+
dequeueAll(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
34
|
+
dequeue(sessionId: string): QueuedMessage | null | Promise<QueuedMessage | null>;
|
|
35
|
+
checkQueueAndInterrupt(sessionId: string, updateStateObject?: Partial<State>): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export abstract class BaseInterruptSessionManager implements InterruptSessionManager {
|
|
39
|
+
// Abstract methods that subclasses must implement for queue management
|
|
40
|
+
abstract isProcessed(sessionId: string): boolean | Promise<boolean>;
|
|
41
|
+
abstract lock(sessionId: string): void | Promise<void>;
|
|
42
|
+
abstract release(sessionId: string): void | Promise<void>;
|
|
43
|
+
abstract enqueueMessage(sessionId: string, message: QueuedMessage): void | Promise<void>;
|
|
44
|
+
abstract dequeueAll(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
45
|
+
abstract dequeue(sessionId: string): QueuedMessage | null | Promise<QueuedMessage | null>;
|
|
46
|
+
|
|
47
|
+
// Abstract method to check if queue has messages - this is the only queue-specific part
|
|
48
|
+
protected abstract hasQueuedMessages(sessionId: string): boolean | Promise<boolean>;
|
|
49
|
+
protected abstract getQueuedMessages(sessionId: string): QueuedMessage[] | Promise<QueuedMessage[]>;
|
|
50
|
+
|
|
51
|
+
// Common implementation of checkQueueAndInterrupt
|
|
52
|
+
async checkQueueAndInterrupt(sessionId: string, updateStateObject?: Partial<State>): Promise<boolean> {
|
|
53
|
+
if (await this.hasQueuedMessages(sessionId)) {
|
|
54
|
+
const queue = await this.getQueuedMessages(sessionId);
|
|
55
|
+
console.log({ message: 'Interrupting graph', sessionId, queue, updateStateObject });
|
|
56
|
+
|
|
57
|
+
// Interrupt the graph with NEW_TRIGGERS flag and optional updateStateObject
|
|
58
|
+
const interruptPayload: InterruptPayload = { type: InterruptType.NEW_TRIGGERS };
|
|
59
|
+
if (updateStateObject) {
|
|
60
|
+
interruptPayload.updateStateObject = {
|
|
61
|
+
messages: updateStateObject.messages,
|
|
62
|
+
memory: updateStateObject.memory,
|
|
63
|
+
history: updateStateObject.history,
|
|
64
|
+
sessionId: updateStateObject.sessionId,
|
|
65
|
+
sessionType: updateStateObject.sessionType,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
throw new GraphInterrupt([
|
|
70
|
+
{
|
|
71
|
+
value: interruptPayload,
|
|
72
|
+
when: 'during',
|
|
73
|
+
resumable: true,
|
|
74
|
+
},
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|