@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.
Files changed (88) hide show
  1. package/dist/agent.d.ts +4 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +84 -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/InterruptSessionManager.types.d.ts +36 -0
  18. package/dist/interrupts/InterruptSessionManager.types.d.ts.map +1 -0
  19. package/dist/interrupts/InterruptSessionManager.types.js +40 -0
  20. package/dist/interrupts/InterruptSessionManager.types.js.map +1 -0
  21. package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
  22. package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
  23. package/dist/interrupts/MemoryInterruptSessionManager.js +51 -0
  24. package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
  25. package/dist/interrupts/MindedInterruptSessionManager.d.ts +13 -0
  26. package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
  27. package/dist/interrupts/MindedInterruptSessionManager.js +154 -0
  28. package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
  29. package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
  30. package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
  31. package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
  32. package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
  33. package/dist/nodes/addAppToolNode.js +1 -1
  34. package/dist/nodes/addAppToolNode.js.map +1 -1
  35. package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -1
  36. package/dist/nodes/addHumanInTheLoopNode.js +3 -2
  37. package/dist/nodes/addHumanInTheLoopNode.js.map +1 -1
  38. package/dist/nodes/addJumpToNode.js +1 -1
  39. package/dist/nodes/addJumpToNode.js.map +1 -1
  40. package/dist/nodes/addPromptNode.d.ts.map +1 -1
  41. package/dist/nodes/addPromptNode.js +46 -1
  42. package/dist/nodes/addPromptNode.js.map +1 -1
  43. package/dist/nodes/addToolNode.js +1 -1
  44. package/dist/nodes/addToolNode.js.map +1 -1
  45. package/dist/nodes/addTriggerNode.js +1 -1
  46. package/dist/nodes/addTriggerNode.js.map +1 -1
  47. package/dist/platform/mindedConnection.d.ts.map +1 -1
  48. package/dist/platform/mindedConnection.js +12 -12
  49. package/dist/platform/mindedConnection.js.map +1 -1
  50. package/dist/platform/mindedConnectionTypes.d.ts +154 -1
  51. package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
  52. package/dist/platform/mindedConnectionTypes.js +9 -0
  53. package/dist/platform/mindedConnectionTypes.js.map +1 -1
  54. package/dist/playbooks/playbooks.js +4 -4
  55. package/dist/playbooks/playbooks.js.map +1 -1
  56. package/dist/types/Agent.types.d.ts +2 -0
  57. package/dist/types/Agent.types.d.ts.map +1 -1
  58. package/dist/types/Agent.types.js.map +1 -1
  59. package/dist/types/LangGraph.types.d.ts +2 -2
  60. package/dist/types/LangGraph.types.d.ts.map +1 -1
  61. package/dist/types/LangGraph.types.js +3 -1
  62. package/dist/types/LangGraph.types.js.map +1 -1
  63. package/dist/utils/logger.d.ts.map +1 -1
  64. package/dist/utils/logger.js +1 -0
  65. package/dist/utils/logger.js.map +1 -1
  66. package/package.json +2 -2
  67. package/src/agent.ts +120 -35
  68. package/src/cli/index.ts +12 -12
  69. package/src/edges/createDirectEdge.ts +1 -1
  70. package/src/edges/createLogicalRouter.ts +7 -8
  71. package/src/edges/createPromptRouter.ts +4 -3
  72. package/src/edges/edgeFactory.ts +2 -2
  73. package/src/interrupts/InterruptSessionManager.types.ts +80 -0
  74. package/src/interrupts/MemoryInterruptSessionManager.ts +56 -0
  75. package/src/interrupts/MindedInterruptSessionManager.ts +154 -0
  76. package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
  77. package/src/nodes/addAppToolNode.ts +1 -1
  78. package/src/nodes/addHumanInTheLoopNode.ts +3 -2
  79. package/src/nodes/addJumpToNode.ts +1 -1
  80. package/src/nodes/addPromptNode.ts +51 -5
  81. package/src/nodes/addToolNode.ts +1 -1
  82. package/src/nodes/addTriggerNode.ts +1 -1
  83. package/src/platform/mindedConnection.ts +15 -25
  84. package/src/platform/mindedConnectionTypes.ts +192 -1
  85. package/src/playbooks/playbooks.ts +4 -4
  86. package/src/types/Agent.types.ts +2 -0
  87. package/src/types/LangGraph.types.ts +3 -1
  88. 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;gBACjF,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,wDAAwD;gBACxD,MAAM,oBAAoB,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,MAAK,IAAI,CAAC;gBAElE,MAAM,YAAY,GAAG,IAAA,uCAAkB,EAAC;oBACtC,KAAK,EAAE,aAAa,CAAC,MAAM;oBAC3B,GAAG;oBACH,oBAAoB;oBACpB,eAAe,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,KAAI,UAAU;iBAClD,CAAC,CAAC;gBACH,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAED,wCAAwC;YACxC,MAAM,MAAM,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,KAAI,UAAU,CAAC;YAChD,eAAM,CAAC,IAAI,CAAC,+CAA+C,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,aAA4B,EAAQ,EAAE;QACjF,IAAI,eAAe,GAAG,MAAM,CAAC;QAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnC,uCAAuC;QACvC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC;YACjC,IAAA,6CAAqB,EAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,eAAe,GAAG,IAAA,mDAA2B,EAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,sBAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAwB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7G,eAAe,GAAG,IAAA,qCAAoB,EAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,4EAA4E;QAC5E,MAAM,cAAc,GAAG,oBAAoB,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAC1F,KAAK,CAAC,mBAAmB,CAAC,eAAsB,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF,0EAA0E;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;gBACjB,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,YAAY,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAuB,CAAC;QACzD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,iBAAiB,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAA4B,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAQ,CAAC,gBAAgB,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAA2B,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAmC,CAAC,CAAC;IAExC,qCAAqC;IACrC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,EAAE;QACnE,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA1GW,QAAA,WAAW,eA0GtB"}
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,3 @@
1
+ import { InterruptSessionManager } from './InterruptSessionManager.types';
2
+ export declare function createInterruptSessionManager(): InterruptSessionManager;
3
+ //# sourceMappingURL=interruptSessionManagerFactory.d.ts.map
@@ -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":"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"}
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;AAK7E,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"}
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)('input from human in the loop');
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;AAOpD,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,2DAA2D,kBAAkB,EAAE,CAAC,CAAC;QAE7F,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,8BAA8B,CAAC,CAAC;YACxD,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"}
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;QACzF,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
+ {"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;AAKjC,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,kBA0FhG,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
- logger_1.logger.info(`Executing prompt node ${node.displayName}`);
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') {