@minded-ai/mindedjs 1.0.94 → 1.0.95-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.
Files changed (101) hide show
  1. package/dist/agent.d.ts +4 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +72 -15
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli/index.js +12 -12
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/edges/createDirectEdge.js +1 -1
  8. package/dist/edges/createDirectEdge.js.map +1 -1
  9. package/dist/edges/createLogicalRouter.d.ts.map +1 -1
  10. package/dist/edges/createLogicalRouter.js +7 -7
  11. package/dist/edges/createLogicalRouter.js.map +1 -1
  12. package/dist/edges/createPromptRouter.d.ts.map +1 -1
  13. package/dist/edges/createPromptRouter.js +4 -3
  14. package/dist/edges/createPromptRouter.js.map +1 -1
  15. package/dist/edges/edgeFactory.js +2 -2
  16. package/dist/edges/edgeFactory.js.map +1 -1
  17. package/dist/interrupts/BaseInterruptSessionManager.d.ts +36 -0
  18. package/dist/interrupts/BaseInterruptSessionManager.d.ts.map +1 -0
  19. package/dist/interrupts/BaseInterruptSessionManager.js +39 -0
  20. package/dist/interrupts/BaseInterruptSessionManager.js.map +1 -0
  21. package/dist/interrupts/InterruptSessionManager.types.d.ts +36 -0
  22. package/dist/interrupts/InterruptSessionManager.types.d.ts.map +1 -0
  23. package/dist/interrupts/InterruptSessionManager.types.js +40 -0
  24. package/dist/interrupts/InterruptSessionManager.types.js.map +1 -0
  25. package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
  26. package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
  27. package/dist/interrupts/MemoryInterruptSessionManager.js +56 -0
  28. package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
  29. package/dist/interrupts/MindedInterruptSessionManager.d.ts +14 -0
  30. package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
  31. package/dist/interrupts/MindedInterruptSessionManager.js +168 -0
  32. package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
  33. package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
  34. package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
  35. package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
  36. package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
  37. package/dist/nodes/addAppToolNode.js +1 -1
  38. package/dist/nodes/addAppToolNode.js.map +1 -1
  39. package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -1
  40. package/dist/nodes/addHumanInTheLoopNode.js +3 -2
  41. package/dist/nodes/addHumanInTheLoopNode.js.map +1 -1
  42. package/dist/nodes/addJumpToNode.js +1 -1
  43. package/dist/nodes/addJumpToNode.js.map +1 -1
  44. package/dist/nodes/addPromptNode.d.ts.map +1 -1
  45. package/dist/nodes/addPromptNode.js +45 -1
  46. package/dist/nodes/addPromptNode.js.map +1 -1
  47. package/dist/nodes/addToolNode.d.ts.map +1 -1
  48. package/dist/nodes/addToolNode.js +4 -1
  49. package/dist/nodes/addToolNode.js.map +1 -1
  50. package/dist/nodes/addToolRunNode.d.ts.map +1 -1
  51. package/dist/nodes/addToolRunNode.js +1 -0
  52. package/dist/nodes/addToolRunNode.js.map +1 -1
  53. package/dist/nodes/addTriggerNode.js +1 -1
  54. package/dist/nodes/addTriggerNode.js.map +1 -1
  55. package/dist/platform/mindedConnection.d.ts.map +1 -1
  56. package/dist/platform/mindedConnection.js +12 -12
  57. package/dist/platform/mindedConnection.js.map +1 -1
  58. package/dist/platform/mindedConnectionTypes.d.ts +162 -1
  59. package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
  60. package/dist/platform/mindedConnectionTypes.js +10 -0
  61. package/dist/platform/mindedConnectionTypes.js.map +1 -1
  62. package/dist/playbooks/playbooks.js +4 -4
  63. package/dist/playbooks/playbooks.js.map +1 -1
  64. package/dist/types/Agent.types.d.ts +2 -0
  65. package/dist/types/Agent.types.d.ts.map +1 -1
  66. package/dist/types/Agent.types.js.map +1 -1
  67. package/dist/types/LangGraph.types.d.ts +2 -2
  68. package/dist/types/LangGraph.types.d.ts.map +1 -1
  69. package/dist/types/LangGraph.types.js +3 -1
  70. package/dist/types/LangGraph.types.js.map +1 -1
  71. package/dist/utils/logger.d.ts.map +1 -1
  72. package/dist/utils/logger.js +1 -0
  73. package/dist/utils/logger.js.map +1 -1
  74. package/dist/voice/voiceSession.d.ts.map +1 -1
  75. package/dist/voice/voiceSession.js +10 -2
  76. package/dist/voice/voiceSession.js.map +1 -1
  77. package/package.json +2 -2
  78. package/src/agent.ts +106 -35
  79. package/src/cli/index.ts +12 -12
  80. package/src/edges/createDirectEdge.ts +1 -1
  81. package/src/edges/createLogicalRouter.ts +7 -8
  82. package/src/edges/createPromptRouter.ts +4 -3
  83. package/src/edges/edgeFactory.ts +2 -2
  84. package/src/interrupts/BaseInterruptSessionManager.ts +79 -0
  85. package/src/interrupts/MemoryInterruptSessionManager.ts +57 -0
  86. package/src/interrupts/MindedInterruptSessionManager.ts +172 -0
  87. package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
  88. package/src/nodes/addAppToolNode.ts +1 -1
  89. package/src/nodes/addHumanInTheLoopNode.ts +3 -3
  90. package/src/nodes/addJumpToNode.ts +1 -1
  91. package/src/nodes/addPromptNode.ts +51 -6
  92. package/src/nodes/addToolNode.ts +4 -2
  93. package/src/nodes/addToolRunNode.ts +1 -1
  94. package/src/nodes/addTriggerNode.ts +1 -1
  95. package/src/platform/mindedConnection.ts +15 -25
  96. package/src/platform/mindedConnectionTypes.ts +202 -1
  97. package/src/playbooks/playbooks.ts +4 -4
  98. package/src/types/Agent.types.ts +2 -0
  99. package/src/types/LangGraph.types.ts +3 -1
  100. package/src/utils/logger.ts +1 -0
  101. package/src/voice/voiceSession.ts +14 -6
@@ -33,6 +33,16 @@ export enum mindedConnectionSocketMessageType {
33
33
  TIMER_RESET = 'timer-reset',
34
34
  TIMER_CANCEL = 'timer-cancel',
35
35
  TIMER_TRIGGER = 'timer-trigger',
36
+ // Interrupt Session Management
37
+ INTERRUPT_SESSION_IS_PROCESSED = 'interrupt-session-is-processed',
38
+ INTERRUPT_SESSION_LOCK = 'interrupt-session-lock',
39
+ INTERRUPT_SESSION_TRY_LOCK = 'interrupt-session-try-lock',
40
+ INTERRUPT_SESSION_RELEASE = 'interrupt-session-release',
41
+ INTERRUPT_SESSION_ENQUEUE = 'interrupt-session-enqueue',
42
+ INTERRUPT_SESSION_DEQUEUE_ALL = 'interrupt-session-dequeue-all',
43
+ INTERRUPT_SESSION_DEQUEUE = 'interrupt-session-dequeue',
44
+ INTERRUPT_SESSION_HAS_MESSAGES = 'interrupt-session-has-messages',
45
+ INTERRUPT_SESSION_GET_MESSAGES = 'interrupt-session-get-messages',
36
46
  }
37
47
 
38
48
  export type mindedConnectionSocketMessageTypeMap = {
@@ -57,6 +67,16 @@ export type mindedConnectionSocketMessageTypeMap = {
57
67
  [mindedConnectionSocketMessageType.TIMER_CANCEL]: TimerCancelRequest;
58
68
  [mindedConnectionSocketMessageType.TIMER_TRIGGER]: TimerTriggerRequest;
59
69
  [mindedConnectionSocketMessageType.RESTORE_CHECKPOINT]: RestoreCheckpointRequest;
70
+ // Interrupt Session Management
71
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_IS_PROCESSED]: InterruptSessionIsProcessedRequest;
72
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_LOCK]: InterruptSessionLockRequest;
73
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_TRY_LOCK]: InterruptSessionTryLockRequest;
74
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_RELEASE]: InterruptSessionReleaseRequest;
75
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_ENQUEUE]: InterruptSessionEnqueueRequest;
76
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE_ALL]: InterruptSessionDequeueAllRequest;
77
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE]: InterruptSessionDequeueRequest;
78
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_HAS_MESSAGES]: InterruptSessionHasMessagesRequest;
79
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_GET_MESSAGES]: InterruptSessionGetMessagesRequest;
60
80
  };
61
81
 
62
82
  export interface BasemindedConnectionSocketMessage {
@@ -181,6 +201,187 @@ export interface TimerTriggerRequest extends BasemindedConnectionSocketMessage {
181
201
  eventArgs: Record<string, any>;
182
202
  }
183
203
 
204
+ // Interrupt Session Management Interfaces
205
+ export interface InterruptSessionIsProcessedRequest extends BasemindedConnectionSocketMessage {
206
+ sessionId: string;
207
+ }
208
+
209
+ export interface InterruptSessionIsProcessedResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
210
+ isProcessed?: boolean;
211
+ }
212
+
213
+ export interface InterruptSessionLockRequest extends BasemindedConnectionSocketMessage {
214
+ sessionId: string;
215
+ }
216
+
217
+ export interface InterruptSessionLockResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
218
+ success?: boolean;
219
+ }
220
+
221
+ export interface InterruptSessionTryLockRequest extends BasemindedConnectionSocketMessage {
222
+ sessionId: string;
223
+ }
224
+
225
+ export interface InterruptSessionTryLockResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
226
+ lockAcquired?: boolean;
227
+ }
228
+
229
+ export interface InterruptSessionReleaseRequest extends BasemindedConnectionSocketMessage {
230
+ sessionId: string;
231
+ }
232
+
233
+ export interface InterruptSessionReleaseResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
234
+ success?: boolean;
235
+ }
236
+
237
+ export interface InterruptSessionEnqueueRequest extends BasemindedConnectionSocketMessage {
238
+ sessionId: string;
239
+ message: {
240
+ triggerBody: any;
241
+ triggerName: string;
242
+ appName?: string;
243
+ };
244
+ }
245
+
246
+ export interface InterruptSessionEnqueueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
247
+ success?: boolean;
248
+ }
249
+
250
+ export interface InterruptSessionDequeueAllRequest extends BasemindedConnectionSocketMessage {
251
+ sessionId: string;
252
+ }
253
+
254
+ export interface InterruptSessionDequeueAllResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
255
+ messages?: Array<{
256
+ triggerBody: any;
257
+ triggerName: string;
258
+ appName?: string;
259
+ }>;
260
+ }
261
+
262
+ export interface InterruptSessionDequeueRequest extends BasemindedConnectionSocketMessage {
263
+ sessionId: string;
264
+ }
265
+
266
+ export interface InterruptSessionDequeueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
267
+ message?: {
268
+ triggerBody: any;
269
+ triggerName: string;
270
+ appName?: string;
271
+ } | null;
272
+ }
273
+
274
+ export interface InterruptSessionHasMessagesRequest extends BasemindedConnectionSocketMessage {
275
+ sessionId: string;
276
+ }
277
+
278
+ export interface InterruptSessionHasMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
279
+ hasMessages?: boolean;
280
+ }
281
+
282
+ export interface InterruptSessionGetMessagesRequest extends BasemindedConnectionSocketMessage {
283
+ sessionId: string;
284
+ }
285
+
286
+ export interface InterruptSessionGetMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
287
+ messages?: Array<{
288
+ triggerBody: any;
289
+ triggerName: string;
290
+ appName?: string;
291
+ }>;
292
+ }
293
+
294
+ // Interrupt Session Management Interfaces
295
+ export interface InterruptSessionIsProcessedRequest extends BasemindedConnectionSocketMessage {
296
+ sessionId: string;
297
+ }
298
+
299
+ export interface InterruptSessionIsProcessedResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
300
+ isProcessed?: boolean;
301
+ }
302
+
303
+ export interface InterruptSessionLockRequest extends BasemindedConnectionSocketMessage {
304
+ sessionId: string;
305
+ }
306
+
307
+ export interface InterruptSessionLockResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
308
+ success?: boolean;
309
+ }
310
+
311
+ export interface InterruptSessionReleaseRequest extends BasemindedConnectionSocketMessage {
312
+ sessionId: string;
313
+ }
314
+
315
+ export interface InterruptSessionReleaseResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
316
+ success?: boolean;
317
+ }
318
+
319
+ export interface InterruptSessionEnqueueRequest extends BasemindedConnectionSocketMessage {
320
+ sessionId: string;
321
+ message: {
322
+ triggerBody: any;
323
+ triggerName: string;
324
+ appName?: string;
325
+ };
326
+ }
327
+
328
+ export interface InterruptSessionEnqueueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
329
+ success?: boolean;
330
+ }
331
+
332
+ export interface InterruptSessionDequeueAllRequest extends BasemindedConnectionSocketMessage {
333
+ sessionId: string;
334
+ }
335
+
336
+ export interface InterruptSessionDequeueAllResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
337
+ messages?: Array<{
338
+ triggerBody: any;
339
+ triggerName: string;
340
+ appName?: string;
341
+ }>;
342
+ }
343
+
344
+ export interface InterruptSessionDequeueRequest extends BasemindedConnectionSocketMessage {
345
+ sessionId: string;
346
+ }
347
+
348
+ export interface InterruptSessionDequeueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
349
+ message?: {
350
+ triggerBody: any;
351
+ triggerName: string;
352
+ appName?: string;
353
+ } | null;
354
+ }
355
+
356
+ export interface InterruptSessionHasMessagesRequest extends BasemindedConnectionSocketMessage {
357
+ sessionId: string;
358
+ }
359
+
360
+ export interface InterruptSessionHasMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
361
+ hasMessages?: boolean;
362
+ }
363
+
364
+ export interface InterruptSessionGetMessagesRequest extends BasemindedConnectionSocketMessage {
365
+ sessionId: string;
366
+ }
367
+
368
+ export interface InterruptSessionGetMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
369
+ messages?: Array<{
370
+ triggerBody: any;
371
+ triggerName: string;
372
+ appName?: string;
373
+ }>;
374
+ }
375
+
376
+ export interface RestoreCheckpointRequest extends BasemindedConnectionSocketMessage {
377
+ sessionId: string;
378
+ checkpointId: string;
379
+ }
380
+
381
+ export interface RestoreCheckpointResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
382
+ success?: boolean;
383
+ }
384
+
184
385
  export interface RestoreCheckpointRequest extends BasemindedConnectionSocketMessage {
185
386
  sessionId: string;
186
387
  checkpointId: string;
@@ -188,4 +389,4 @@ export interface RestoreCheckpointRequest extends BasemindedConnectionSocketMess
188
389
 
189
390
  export interface RestoreCheckpointResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
190
391
  success?: boolean;
191
- }
392
+ }
@@ -113,7 +113,7 @@ function loadPlaybooksFromDirectories(directories: string[]): Playbook[] {
113
113
 
114
114
  for (const directory of directories) {
115
115
  if (!fs.existsSync(directory)) {
116
- logger.info(`Playbooks directory does not exist: ${directory}`);
116
+ logger.info({ message: `Playbooks directory does not exist: ${directory}` });
117
117
  continue;
118
118
  }
119
119
 
@@ -126,12 +126,12 @@ function loadPlaybooksFromDirectories(directories: string[]): Playbook[] {
126
126
 
127
127
  if (playbook && playbook.name && playbook.blocks) {
128
128
  playbooks.push(playbook);
129
- logger.info(`Loaded playbook: ${playbook.name} from ${file}`);
129
+ logger.info({ message: `Loaded playbook: ${playbook.name} from ${file}` });
130
130
  } else {
131
- logger.warn(`Invalid playbook structure in ${file}`);
131
+ logger.warn({ message: `Invalid playbook structure in ${file}` });
132
132
  }
133
133
  } catch (error) {
134
- logger.error(`Failed to load playbook file ${file}: ${error}`);
134
+ logger.error({ message: `Failed to load playbook file ${file}: ${error}` });
135
135
  }
136
136
  }
137
137
  }
@@ -29,6 +29,8 @@ export interface AgentInvokeParams {
29
29
  sessionId?: string;
30
30
  /** Optional name of the application triggering the agent in case of an app trigger */
31
31
  appName?: string;
32
+ /** Internal flag to bypass session processing check for recursive calls */
33
+ bypassSessionCheck?: boolean;
32
34
  }
33
35
  export interface HistoryStep {
34
36
  type: NodeType;
@@ -29,7 +29,9 @@ export const createStateAnnotation = <Memory = any>() =>
29
29
  default: () => [],
30
30
  reducer: (a, b) => a.concat(b),
31
31
  }),
32
- sessionId: Annotation<string>(),
32
+ sessionId: Annotation<string>({
33
+ reducer: (a, b) => b || a,
34
+ }),
33
35
  sessionType: Annotation<SessionType>({
34
36
  default: () => SessionType.TEXT,
35
37
  reducer: (a, b) => b || a,
@@ -12,6 +12,7 @@ export const logger = pino({
12
12
  colorize: true,
13
13
  crlf: true,
14
14
  translateTime: 'SYS:standard',
15
+ messageKey: 'message', // Use 'message' instead of default 'msg'
15
16
  },
16
17
  },
17
18
  formatters: {
@@ -100,10 +100,10 @@ export class VoiceSession {
100
100
  },
101
101
  ...(this.voiceId
102
102
  ? {
103
- tts: {
104
- voice_id: this.voiceId,
105
- },
106
- }
103
+ tts: {
104
+ voice_id: this.voiceId,
105
+ },
106
+ }
107
107
  : {}),
108
108
  } as ConversationInitiationClientData['conversation_config_override'],
109
109
  };
@@ -135,7 +135,11 @@ export class VoiceSession {
135
135
  }, data.ping_event.ping_ms);
136
136
  break;
137
137
  case 'user_transcript':
138
- logger.debug({ message: 'User transcript received', sessionId: this.sessionId, data: data.user_transcription_event.user_transcript });
138
+ logger.debug({
139
+ message: 'User transcript received',
140
+ sessionId: this.sessionId,
141
+ data: data.user_transcription_event.user_transcript,
142
+ });
139
143
  if (this.onMessageCallback) {
140
144
  this.onMessageCallback(
141
145
  data.user_transcription_event.user_transcript,
@@ -190,7 +194,11 @@ export class VoiceSession {
190
194
  break;
191
195
  case 'agent_response_correction':
192
196
  try {
193
- logger.debug({ message: 'Agent response correction received', sessionId: this.sessionId, data: data.agent_response_correction_event });
197
+ logger.debug({
198
+ message: 'Agent response correction received',
199
+ sessionId: this.sessionId,
200
+ data: data.agent_response_correction_event,
201
+ });
194
202
  await this.updateAgentResponse(
195
203
  data.agent_response_correction_event.original_agent_response,
196
204
  data.agent_response_correction_event.corrected_agent_response,