@minded-ai/mindedjs 1.0.101 → 1.0.103-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 (170) hide show
  1. package/dist/agent.d.ts +4 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +76 -30
  4. package/dist/agent.js.map +1 -1
  5. package/dist/checkpointer/checkpointSaverFactory.js +1 -1
  6. package/dist/checkpointer/checkpointSaverFactory.js.map +1 -1
  7. package/dist/cli/index.js +12 -12
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/edges/createDirectEdge.d.ts +1 -2
  10. package/dist/edges/createDirectEdge.d.ts.map +1 -1
  11. package/dist/edges/createDirectEdge.js +2 -6
  12. package/dist/edges/createDirectEdge.js.map +1 -1
  13. package/dist/edges/createLogicalRouter.d.ts.map +1 -1
  14. package/dist/edges/createLogicalRouter.js +6 -23
  15. package/dist/edges/createLogicalRouter.js.map +1 -1
  16. package/dist/edges/createPromptRouter.d.ts.map +1 -1
  17. package/dist/edges/createPromptRouter.js +6 -12
  18. package/dist/edges/createPromptRouter.js.map +1 -1
  19. package/dist/edges/edgeFactory.d.ts.map +1 -1
  20. package/dist/edges/edgeFactory.js +3 -8
  21. package/dist/edges/edgeFactory.js.map +1 -1
  22. package/dist/index.d.ts +0 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -6
  25. package/dist/index.js.map +1 -1
  26. package/dist/interrupts/BaseInterruptSessionManager.d.ts +51 -0
  27. package/dist/interrupts/BaseInterruptSessionManager.d.ts.map +1 -0
  28. package/dist/interrupts/BaseInterruptSessionManager.js +39 -0
  29. package/dist/interrupts/BaseInterruptSessionManager.js.map +1 -0
  30. package/dist/interrupts/InterruptSessionManager.types.d.ts +36 -0
  31. package/dist/interrupts/InterruptSessionManager.types.d.ts.map +1 -0
  32. package/dist/interrupts/InterruptSessionManager.types.js +40 -0
  33. package/dist/interrupts/InterruptSessionManager.types.js.map +1 -0
  34. package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
  35. package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
  36. package/dist/interrupts/MemoryInterruptSessionManager.js +56 -0
  37. package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
  38. package/dist/interrupts/MindedInterruptSessionManager.d.ts +13 -0
  39. package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
  40. package/dist/interrupts/MindedInterruptSessionManager.js +156 -0
  41. package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
  42. package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
  43. package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
  44. package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
  45. package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
  46. package/dist/llm/createLlmInstance.d.ts +1 -1
  47. package/dist/llm/createLlmInstance.d.ts.map +1 -1
  48. package/dist/llm/createLlmInstance.js +1 -18
  49. package/dist/llm/createLlmInstance.js.map +1 -1
  50. package/dist/nodes/addAppToolNode.d.ts.map +1 -1
  51. package/dist/nodes/addAppToolNode.js +4 -5
  52. package/dist/nodes/addAppToolNode.js.map +1 -1
  53. package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -1
  54. package/dist/nodes/addHumanInTheLoopNode.js +3 -2
  55. package/dist/nodes/addHumanInTheLoopNode.js.map +1 -1
  56. package/dist/nodes/addJumpToNode.d.ts.map +1 -1
  57. package/dist/nodes/addJumpToNode.js +1 -2
  58. package/dist/nodes/addJumpToNode.js.map +1 -1
  59. package/dist/nodes/addJunctionNode.d.ts.map +1 -1
  60. package/dist/nodes/addJunctionNode.js +0 -1
  61. package/dist/nodes/addJunctionNode.js.map +1 -1
  62. package/dist/nodes/addPromptNode.d.ts.map +1 -1
  63. package/dist/nodes/addPromptNode.js +61 -7
  64. package/dist/nodes/addPromptNode.js.map +1 -1
  65. package/dist/nodes/addToolNode.js +4 -2
  66. package/dist/nodes/addToolNode.js.map +1 -1
  67. package/dist/nodes/addToolRunNode.d.ts.map +1 -1
  68. package/dist/nodes/addToolRunNode.js +2 -2
  69. package/dist/nodes/addToolRunNode.js.map +1 -1
  70. package/dist/nodes/addTriggerNode.d.ts.map +1 -1
  71. package/dist/nodes/addTriggerNode.js +1 -2
  72. package/dist/nodes/addTriggerNode.js.map +1 -1
  73. package/dist/nodes/nodeFactory.d.ts.map +1 -1
  74. package/dist/nodes/nodeFactory.js +0 -4
  75. package/dist/nodes/nodeFactory.js.map +1 -1
  76. package/dist/platform/mindedChatOpenAI.d.ts +5 -0
  77. package/dist/platform/mindedChatOpenAI.d.ts.map +1 -0
  78. package/dist/platform/{models/mindedChatOpenAI.js → mindedChatOpenAI.js} +1 -10
  79. package/dist/platform/mindedChatOpenAI.js.map +1 -0
  80. package/dist/platform/mindedConnection.d.ts.map +1 -1
  81. package/dist/platform/mindedConnection.js +12 -12
  82. package/dist/platform/mindedConnection.js.map +1 -1
  83. package/dist/platform/mindedConnectionTypes.d.ts +151 -1
  84. package/dist/platform/mindedConnectionTypes.d.ts.map +1 -1
  85. package/dist/platform/mindedConnectionTypes.js +9 -0
  86. package/dist/platform/mindedConnectionTypes.js.map +1 -1
  87. package/dist/playbooks/playbooks.js +4 -4
  88. package/dist/playbooks/playbooks.js.map +1 -1
  89. package/dist/types/Agent.types.d.ts +2 -0
  90. package/dist/types/Agent.types.d.ts.map +1 -1
  91. package/dist/types/Agent.types.js.map +1 -1
  92. package/dist/types/Flows.types.d.ts +3 -12
  93. package/dist/types/Flows.types.d.ts.map +1 -1
  94. package/dist/types/Flows.types.js +0 -2
  95. package/dist/types/Flows.types.js.map +1 -1
  96. package/dist/types/LLM.types.d.ts.map +1 -1
  97. package/dist/types/LLM.types.js +1 -1
  98. package/dist/types/LLM.types.js.map +1 -1
  99. package/dist/types/LangGraph.types.d.ts +2 -4
  100. package/dist/types/LangGraph.types.d.ts.map +1 -1
  101. package/dist/types/LangGraph.types.js +2 -5
  102. package/dist/types/LangGraph.types.js.map +1 -1
  103. package/dist/utils/logger.d.ts.map +1 -1
  104. package/dist/utils/logger.js +2 -1
  105. package/dist/utils/logger.js.map +1 -1
  106. package/dist/voice/voiceSession.d.ts.map +1 -1
  107. package/dist/voice/voiceSession.js +17 -16
  108. package/dist/voice/voiceSession.js.map +1 -1
  109. package/docs/SUMMARY.md +0 -1
  110. package/docs/getting-started/installation.md +0 -42
  111. package/docs/low-code-editor/nodes.md +0 -27
  112. package/docs/low-code-editor/tools.md +0 -32
  113. package/package.json +1 -2
  114. package/src/agent.ts +93 -32
  115. package/src/checkpointer/checkpointSaverFactory.ts +1 -1
  116. package/src/cli/index.ts +12 -12
  117. package/src/edges/createDirectEdge.ts +2 -7
  118. package/src/edges/createLogicalRouter.ts +6 -23
  119. package/src/edges/createPromptRouter.ts +6 -13
  120. package/src/edges/edgeFactory.ts +4 -20
  121. package/src/index.ts +0 -6
  122. package/src/interrupts/BaseInterruptSessionManager.ts +94 -0
  123. package/src/interrupts/MemoryInterruptSessionManager.ts +57 -0
  124. package/src/interrupts/MindedInterruptSessionManager.ts +155 -0
  125. package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
  126. package/src/llm/createLlmInstance.ts +2 -25
  127. package/src/nodes/addAppToolNode.ts +4 -5
  128. package/src/nodes/addHumanInTheLoopNode.ts +3 -3
  129. package/src/nodes/addJumpToNode.ts +1 -2
  130. package/src/nodes/addJunctionNode.ts +0 -1
  131. package/src/nodes/addPromptNode.ts +65 -10
  132. package/src/nodes/addToolNode.ts +4 -4
  133. package/src/nodes/addToolRunNode.ts +2 -4
  134. package/src/nodes/addTriggerNode.ts +1 -2
  135. package/src/nodes/nodeFactory.ts +0 -4
  136. package/src/platform/mindedChatOpenAI.ts +19 -0
  137. package/src/platform/mindedConnection.ts +15 -25
  138. package/src/platform/mindedConnectionTypes.ts +188 -1
  139. package/src/playbooks/playbooks.ts +4 -4
  140. package/src/types/Agent.types.ts +2 -0
  141. package/src/types/Flows.types.ts +1 -11
  142. package/src/types/LLM.types.ts +5 -5
  143. package/src/types/LangGraph.types.ts +2 -5
  144. package/src/utils/logger.ts +2 -1
  145. package/src/voice/voiceSession.ts +17 -16
  146. package/dist/browserTask/executeBrowserTask.d.ts +0 -12
  147. package/dist/browserTask/executeBrowserTask.d.ts.map +0 -1
  148. package/dist/browserTask/executeBrowserTask.js +0 -181
  149. package/dist/browserTask/executeBrowserTask.js.map +0 -1
  150. package/dist/nodes/addBrowserTaskNode.d.ts +0 -11
  151. package/dist/nodes/addBrowserTaskNode.d.ts.map +0 -1
  152. package/dist/nodes/addBrowserTaskNode.js +0 -98
  153. package/dist/nodes/addBrowserTaskNode.js.map +0 -1
  154. package/dist/nodes/addBrowserTaskRunNode.d.ts +0 -13
  155. package/dist/nodes/addBrowserTaskRunNode.d.ts.map +0 -1
  156. package/dist/nodes/addBrowserTaskRunNode.js +0 -122
  157. package/dist/nodes/addBrowserTaskRunNode.js.map +0 -1
  158. package/dist/platform/models/mindedChatOpenAI.d.ts +0 -20
  159. package/dist/platform/models/mindedChatOpenAI.d.ts.map +0 -1
  160. package/dist/platform/models/mindedChatOpenAI.js.map +0 -1
  161. package/dist/platform/models/parallelWrapper.d.ts +0 -17
  162. package/dist/platform/models/parallelWrapper.d.ts.map +0 -1
  163. package/dist/platform/models/parallelWrapper.js +0 -105
  164. package/dist/platform/models/parallelWrapper.js.map +0 -1
  165. package/docs/platform/parallel-llm.md +0 -242
  166. package/src/browserTask/executeBrowserTask.ts +0 -213
  167. package/src/nodes/addBrowserTaskNode.ts +0 -114
  168. package/src/nodes/addBrowserTaskRunNode.ts +0 -138
  169. package/src/platform/models/mindedChatOpenAI.ts +0 -49
  170. package/src/platform/models/parallelWrapper.ts +0 -141
@@ -1,49 +0,0 @@
1
- import { ChatOpenAI, ChatOpenAIFields } from '@langchain/openai';
2
- import { getConfig } from '../config';
3
-
4
- export interface BaseParallelChatFields {
5
- /**
6
- * Number of parallel requests to make. Defaults to 1 (no parallelization).
7
- * When > 1, multiple identical requests are sent and the fastest response is used.
8
- */
9
- numParallelRequests?: number;
10
-
11
- /**
12
- * Whether to log timing information for parallel requests
13
- */
14
- logTimings?: boolean;
15
- }
16
-
17
- export interface MindedChatOpenAIFields extends ChatOpenAIFields, BaseParallelChatFields {}
18
-
19
- export class MindedChatOpenAI extends ChatOpenAI {
20
- private numParallelRequests: number;
21
- private logTimings: boolean;
22
-
23
- constructor(fields?: MindedChatOpenAIFields) {
24
- const { token, baseUrl } = getConfig();
25
- const mindedBaseUrl = `${baseUrl}/sdk/llmGateway/chatOpenAI`;
26
- if (!token) {
27
- throw new Error('Minded token not found');
28
- }
29
-
30
- // Store parallel configuration
31
- const numParallelRequests = fields?.numParallelRequests || 1;
32
- const logTimings = fields?.logTimings || false;
33
-
34
- super({
35
- ...fields,
36
- apiKey: token,
37
- configuration: {
38
- baseURL: mindedBaseUrl,
39
- defaultHeaders: {
40
- 'X-Parallel-Requests': numParallelRequests.toString(),
41
- 'X-Log-Timings': logTimings.toString(),
42
- },
43
- },
44
- });
45
-
46
- this.numParallelRequests = numParallelRequests;
47
- this.logTimings = logTimings;
48
- }
49
- }
@@ -1,141 +0,0 @@
1
- import { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
- import { BaseMessage } from '@langchain/core/messages';
3
- import { ChatGenerationChunk, ChatResult } from '@langchain/core/outputs';
4
- import { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';
5
- import { logger } from '../../utils/logger';
6
-
7
- export interface BaseParallelChatFields {
8
- /**
9
- * Number of parallel requests to make. Defaults to 1 (no parallelization).
10
- * When > 1, multiple identical requests are sent and the fastest response is used.
11
- */
12
- numParallelRequests?: number;
13
-
14
- /**
15
- * Whether to log timing information for parallel requests
16
- */
17
- logTimings?: boolean;
18
- }
19
-
20
- /**
21
- * Creates a wrapped version of a chat model with parallel request capabilities
22
- */
23
- export function createParallelWrapper<T extends BaseChatModel>(model: T, fields?: BaseParallelChatFields): T {
24
- const numParallelRequests = fields?.numParallelRequests || 1;
25
- const logTimings = fields?.logTimings || false;
26
-
27
- // If parallel requests are disabled, return the original model
28
- if (numParallelRequests <= 1) {
29
- return model;
30
- }
31
-
32
- // Helper function that returns a promise that resolves with the second fulfilled promise
33
- const promiseSecondFulfillment = <T>(promises: Promise<T>[]): Promise<T> => {
34
- return new Promise((resolve) => {
35
- let fulfillCount = 0;
36
-
37
- for (const p of promises) {
38
- Promise.resolve(p)
39
- .then((value) => {
40
- fulfillCount++;
41
- if (fulfillCount === 2) {
42
- resolve(value);
43
- }
44
- })
45
- .catch(() => {
46
- // Ignoring rejections for second fulfillment tracking
47
- });
48
- }
49
- });
50
- };
51
-
52
- // Store original methods
53
- const originalGenerate = model._generate.bind(model);
54
- const originalStream = model._streamResponseChunks.bind(model);
55
-
56
- // Override _generate
57
- model._generate = async function (messages: BaseMessage[], options?: any, runManager?: CallbackManagerForLLMRun): Promise<ChatResult> {
58
- const startTime = Date.now();
59
-
60
- // Create array of identical requests
61
- const requests = Array.from({ length: numParallelRequests }, () => originalGenerate(messages, options, runManager));
62
-
63
- let fastestRequestTime = 0;
64
- let secondFastestRequestTime = 0;
65
-
66
- // Race all requests and return the fastest
67
- const racePromise = Promise.race(requests).then((result) => {
68
- fastestRequestTime = (Date.now() - startTime) / 1000.0;
69
-
70
- if (logTimings) {
71
- logger.debug({
72
- msg: '[Model] Fastest request completed',
73
- requestTime: fastestRequestTime,
74
- numParallelRequests: numParallelRequests,
75
- });
76
- }
77
-
78
- return result;
79
- });
80
-
81
- // Track second fastest if we have 3+ requests
82
- if (requests.length >= 3) {
83
- promiseSecondFulfillment(requests)
84
- .then(() => {
85
- secondFastestRequestTime = (Date.now() - startTime) / 1000.0;
86
- })
87
- .catch(() => {
88
- // Ignore errors in timing tracking
89
- });
90
- }
91
-
92
- // Track all completion times if we have 2+ requests
93
- if (requests.length >= 2 && logTimings) {
94
- Promise.all(requests)
95
- .then(() => {
96
- const allFinishTime = (Date.now() - startTime) / 1000.0;
97
- const timeSaved = allFinishTime - fastestRequestTime;
98
- const timeSavedFromSecond = secondFastestRequestTime > 0 ? secondFastestRequestTime - fastestRequestTime : 0;
99
-
100
- logger.debug({
101
- msg: '[Model] Time saved using parallel requests',
102
- fastestRequestTime,
103
- secondFastestRequestTime: secondFastestRequestTime || 'N/A',
104
- allFinishTime,
105
- timeSaved,
106
- timeSavedFromSecond,
107
- numParallelRequests: numParallelRequests,
108
- });
109
- })
110
- .catch(() => {
111
- // Ignore errors in timing tracking
112
- });
113
- }
114
-
115
- return racePromise;
116
- };
117
-
118
- // Override _streamResponseChunks
119
- model._streamResponseChunks = async function* (
120
- messages: BaseMessage[],
121
- options?: any,
122
- runManager?: CallbackManagerForLLMRun,
123
- ): AsyncGenerator<ChatGenerationChunk> {
124
- // For streaming, we'll use the original implementation
125
- // Parallel streaming is more complex and may not provide the same benefits
126
- if (numParallelRequests > 1 && logTimings) {
127
- logger.debug({
128
- msg: '[Model] Streaming mode - using single request',
129
- reason: 'Parallel streaming not implemented',
130
- });
131
- }
132
-
133
- yield* originalStream(messages, options, runManager);
134
- };
135
-
136
- // Add properties for testing
137
- (model as any).numParallelRequests = numParallelRequests;
138
- (model as any).logTimings = logTimings;
139
-
140
- return model;
141
- }