@minded-ai/mindedjs 1.0.0-ec2-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 (454) hide show
  1. package/README.md +6 -0
  2. package/dist/agent.d.ts +256 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +896 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/browserTask/README.md +419 -0
  7. package/dist/browserTask/browserAgent.py +632 -0
  8. package/dist/browserTask/captcha_isolated.png +0 -0
  9. package/dist/browserTask/executeBrowserTask.d.ts +14 -0
  10. package/dist/browserTask/executeBrowserTask.d.ts.map +1 -0
  11. package/dist/browserTask/executeBrowserTask.js +195 -0
  12. package/dist/browserTask/executeBrowserTask.js.map +1 -0
  13. package/dist/browserTask/executeBrowserTask.py +153 -0
  14. package/dist/browserTask/executeBrowserTask.ts +79 -0
  15. package/dist/browserTask/localBrowserTask.d.ts +49 -0
  16. package/dist/browserTask/localBrowserTask.d.ts.map +1 -0
  17. package/dist/browserTask/localBrowserTask.js +284 -0
  18. package/dist/browserTask/localBrowserTask.js.map +1 -0
  19. package/dist/browserTask/requirements.txt +8 -0
  20. package/dist/browserTask/setup.sh +144 -0
  21. package/dist/browserTask/types.d.ts +35 -0
  22. package/dist/browserTask/types.d.ts.map +1 -0
  23. package/dist/browserTask/types.js +10 -0
  24. package/dist/browserTask/types.js.map +1 -0
  25. package/dist/checkpointer/checkpointSaverFactory.d.ts +7 -0
  26. package/dist/checkpointer/checkpointSaverFactory.d.ts.map +1 -0
  27. package/dist/checkpointer/checkpointSaverFactory.js +53 -0
  28. package/dist/checkpointer/checkpointSaverFactory.js.map +1 -0
  29. package/dist/cli/index.d.ts +3 -0
  30. package/dist/cli/index.d.ts.map +1 -0
  31. package/dist/cli/index.js +209 -0
  32. package/dist/cli/index.js.map +1 -0
  33. package/dist/cli/lambdaHandlerTemplate.d.ts +10 -0
  34. package/dist/cli/lambdaHandlerTemplate.d.ts.map +1 -0
  35. package/dist/cli/lambdaHandlerTemplate.js +76 -0
  36. package/dist/cli/lambdaHandlerTemplate.js.map +1 -0
  37. package/dist/cli/lambdaHandlerTemplate.ts +78 -0
  38. package/dist/cli/localOperatorSetup.d.ts +6 -0
  39. package/dist/cli/localOperatorSetup.d.ts.map +1 -0
  40. package/dist/cli/localOperatorSetup.js +310 -0
  41. package/dist/cli/localOperatorSetup.js.map +1 -0
  42. package/dist/debugging/index.d.ts +2 -0
  43. package/dist/debugging/index.d.ts.map +1 -0
  44. package/dist/debugging/index.js +6 -0
  45. package/dist/debugging/index.js.map +1 -0
  46. package/dist/debugging/llmCallbackHandler.d.ts +36 -0
  47. package/dist/debugging/llmCallbackHandler.d.ts.map +1 -0
  48. package/dist/debugging/llmCallbackHandler.js +101 -0
  49. package/dist/debugging/llmCallbackHandler.js.map +1 -0
  50. package/dist/edges/createDirectEdge.d.ts +4 -0
  51. package/dist/edges/createDirectEdge.d.ts.map +1 -0
  52. package/dist/edges/createDirectEdge.js +24 -0
  53. package/dist/edges/createDirectEdge.js.map +1 -0
  54. package/dist/edges/createLogicalRouter.d.ts +8 -0
  55. package/dist/edges/createLogicalRouter.d.ts.map +1 -0
  56. package/dist/edges/createLogicalRouter.js +194 -0
  57. package/dist/edges/createLogicalRouter.js.map +1 -0
  58. package/dist/edges/createPromptRouter.d.ts +12 -0
  59. package/dist/edges/createPromptRouter.d.ts.map +1 -0
  60. package/dist/edges/createPromptRouter.js +176 -0
  61. package/dist/edges/createPromptRouter.js.map +1 -0
  62. package/dist/edges/edgeFactory.d.ts +14 -0
  63. package/dist/edges/edgeFactory.d.ts.map +1 -0
  64. package/dist/edges/edgeFactory.js +125 -0
  65. package/dist/edges/edgeFactory.js.map +1 -0
  66. package/dist/events/AgentEvents.d.ts +56 -0
  67. package/dist/events/AgentEvents.d.ts.map +1 -0
  68. package/dist/events/AgentEvents.js +13 -0
  69. package/dist/events/AgentEvents.js.map +1 -0
  70. package/dist/events/index.d.ts +3 -0
  71. package/dist/events/index.d.ts.map +1 -0
  72. package/dist/events/index.js +5 -0
  73. package/dist/events/index.js.map +1 -0
  74. package/dist/index.d.ts +35 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +98 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/interfaces/zendesk.d.ts +35 -0
  79. package/dist/interfaces/zendesk.d.ts.map +1 -0
  80. package/dist/interfaces/zendesk.js +219 -0
  81. package/dist/interfaces/zendesk.js.map +1 -0
  82. package/dist/internalTools/appActionRunnerTool.d.ts +5 -0
  83. package/dist/internalTools/appActionRunnerTool.d.ts.map +1 -0
  84. package/dist/internalTools/appActionRunnerTool.js +88 -0
  85. package/dist/internalTools/appActionRunnerTool.js.map +1 -0
  86. package/dist/internalTools/documentExtraction/documentExtraction.d.ts +129 -0
  87. package/dist/internalTools/documentExtraction/documentExtraction.d.ts.map +1 -0
  88. package/dist/internalTools/documentExtraction/documentExtraction.js +736 -0
  89. package/dist/internalTools/documentExtraction/documentExtraction.js.map +1 -0
  90. package/dist/internalTools/documentExtraction/types.d.ts +29 -0
  91. package/dist/internalTools/documentExtraction/types.d.ts.map +1 -0
  92. package/dist/internalTools/documentExtraction/types.js +35 -0
  93. package/dist/internalTools/documentExtraction/types.js.map +1 -0
  94. package/dist/internalTools/libraryActionRunnerTool.d.ts +4 -0
  95. package/dist/internalTools/libraryActionRunnerTool.d.ts.map +1 -0
  96. package/dist/internalTools/libraryActionRunnerTool.js +53 -0
  97. package/dist/internalTools/libraryActionRunnerTool.js.map +1 -0
  98. package/dist/internalTools/retell.d.ts +12 -0
  99. package/dist/internalTools/retell.d.ts.map +1 -0
  100. package/dist/internalTools/retell.js +54 -0
  101. package/dist/internalTools/retell.js.map +1 -0
  102. package/dist/internalTools/sendPlaceholderMessage.d.ts +14 -0
  103. package/dist/internalTools/sendPlaceholderMessage.d.ts.map +1 -0
  104. package/dist/internalTools/sendPlaceholderMessage.js +61 -0
  105. package/dist/internalTools/sendPlaceholderMessage.js.map +1 -0
  106. package/dist/internalTools/timer.d.ts +99 -0
  107. package/dist/internalTools/timer.d.ts.map +1 -0
  108. package/dist/internalTools/timer.js +139 -0
  109. package/dist/internalTools/timer.js.map +1 -0
  110. package/dist/internalTools/voice/escalateVoiceCall.d.ts +2 -0
  111. package/dist/internalTools/voice/escalateVoiceCall.d.ts.map +1 -0
  112. package/dist/internalTools/voice/escalateVoiceCall.js +52 -0
  113. package/dist/internalTools/voice/escalateVoiceCall.js.map +1 -0
  114. package/dist/internalTools/voice/retell.d.ts +12 -0
  115. package/dist/internalTools/voice/retell.d.ts.map +1 -0
  116. package/dist/internalTools/voice/retell.js +54 -0
  117. package/dist/internalTools/voice/retell.js.map +1 -0
  118. package/dist/internalTools/voice/sendPlaceholderMessage.d.ts +14 -0
  119. package/dist/internalTools/voice/sendPlaceholderMessage.d.ts.map +1 -0
  120. package/dist/internalTools/voice/sendPlaceholderMessage.js +61 -0
  121. package/dist/internalTools/voice/sendPlaceholderMessage.js.map +1 -0
  122. package/dist/interrupts/BaseInterruptSessionManager.d.ts +49 -0
  123. package/dist/interrupts/BaseInterruptSessionManager.d.ts.map +1 -0
  124. package/dist/interrupts/BaseInterruptSessionManager.js +34 -0
  125. package/dist/interrupts/BaseInterruptSessionManager.js.map +1 -0
  126. package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
  127. package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
  128. package/dist/interrupts/MemoryInterruptSessionManager.js +60 -0
  129. package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
  130. package/dist/interrupts/MindedInterruptSessionManager.d.ts +13 -0
  131. package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
  132. package/dist/interrupts/MindedInterruptSessionManager.js +162 -0
  133. package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
  134. package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
  135. package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
  136. package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
  137. package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
  138. package/dist/llm/createLlmInstance.d.ts +3 -0
  139. package/dist/llm/createLlmInstance.d.ts.map +1 -0
  140. package/dist/llm/createLlmInstance.js +31 -0
  141. package/dist/llm/createLlmInstance.js.map +1 -0
  142. package/dist/nodes/addAppToolNode.d.ts +13 -0
  143. package/dist/nodes/addAppToolNode.d.ts.map +1 -0
  144. package/dist/nodes/addAppToolNode.js +87 -0
  145. package/dist/nodes/addAppToolNode.js.map +1 -0
  146. package/dist/nodes/addBrowserTaskNode.d.ts +13 -0
  147. package/dist/nodes/addBrowserTaskNode.d.ts.map +1 -0
  148. package/dist/nodes/addBrowserTaskNode.js +167 -0
  149. package/dist/nodes/addBrowserTaskNode.js.map +1 -0
  150. package/dist/nodes/addBrowserTaskRunNode.d.ts +13 -0
  151. package/dist/nodes/addBrowserTaskRunNode.d.ts.map +1 -0
  152. package/dist/nodes/addBrowserTaskRunNode.js +167 -0
  153. package/dist/nodes/addBrowserTaskRunNode.js.map +1 -0
  154. package/dist/nodes/addHumanInTheLoopNode.d.ts +9 -0
  155. package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -0
  156. package/dist/nodes/addHumanInTheLoopNode.js +22 -0
  157. package/dist/nodes/addHumanInTheLoopNode.js.map +1 -0
  158. package/dist/nodes/addJumpToNode.d.ts +7 -0
  159. package/dist/nodes/addJumpToNode.d.ts.map +1 -0
  160. package/dist/nodes/addJumpToNode.js +24 -0
  161. package/dist/nodes/addJumpToNode.js.map +1 -0
  162. package/dist/nodes/addJunctionNode.d.ts +7 -0
  163. package/dist/nodes/addJunctionNode.d.ts.map +1 -0
  164. package/dist/nodes/addJunctionNode.js +20 -0
  165. package/dist/nodes/addJunctionNode.js.map +1 -0
  166. package/dist/nodes/addPromptNode.d.ts +18 -0
  167. package/dist/nodes/addPromptNode.d.ts.map +1 -0
  168. package/dist/nodes/addPromptNode.js +253 -0
  169. package/dist/nodes/addPromptNode.js.map +1 -0
  170. package/dist/nodes/addRpaNode.d.ts +18 -0
  171. package/dist/nodes/addRpaNode.d.ts.map +1 -0
  172. package/dist/nodes/addRpaNode.js +180 -0
  173. package/dist/nodes/addRpaNode.js.map +1 -0
  174. package/dist/nodes/addToolNode.d.ts +13 -0
  175. package/dist/nodes/addToolNode.d.ts.map +1 -0
  176. package/dist/nodes/addToolNode.js +67 -0
  177. package/dist/nodes/addToolNode.js.map +1 -0
  178. package/dist/nodes/addToolRunNode.d.ts +17 -0
  179. package/dist/nodes/addToolRunNode.d.ts.map +1 -0
  180. package/dist/nodes/addToolRunNode.js +59 -0
  181. package/dist/nodes/addToolRunNode.js.map +1 -0
  182. package/dist/nodes/addTriggerNode.d.ts +7 -0
  183. package/dist/nodes/addTriggerNode.d.ts.map +1 -0
  184. package/dist/nodes/addTriggerNode.js +25 -0
  185. package/dist/nodes/addTriggerNode.js.map +1 -0
  186. package/dist/nodes/compilePrompt.d.ts +5 -0
  187. package/dist/nodes/compilePrompt.d.ts.map +1 -0
  188. package/dist/nodes/compilePrompt.js +76 -0
  189. package/dist/nodes/compilePrompt.js.map +1 -0
  190. package/dist/nodes/nodeFactory.d.ts +16 -0
  191. package/dist/nodes/nodeFactory.d.ts.map +1 -0
  192. package/dist/nodes/nodeFactory.js +45 -0
  193. package/dist/nodes/nodeFactory.js.map +1 -0
  194. package/dist/nodes/rpaStepsExecutor.d.ts +5 -0
  195. package/dist/nodes/rpaStepsExecutor.d.ts.map +1 -0
  196. package/dist/nodes/rpaStepsExecutor.js +156 -0
  197. package/dist/nodes/rpaStepsExecutor.js.map +1 -0
  198. package/dist/platform/config.d.ts +16 -0
  199. package/dist/platform/config.d.ts.map +1 -0
  200. package/dist/platform/config.js +80 -0
  201. package/dist/platform/config.js.map +1 -0
  202. package/dist/platform/mindedCheckpointSaver.d.ts +10 -0
  203. package/dist/platform/mindedCheckpointSaver.d.ts.map +1 -0
  204. package/dist/platform/mindedCheckpointSaver.js +137 -0
  205. package/dist/platform/mindedCheckpointSaver.js.map +1 -0
  206. package/dist/platform/mindedConnection.d.ts +15 -0
  207. package/dist/platform/mindedConnection.d.ts.map +1 -0
  208. package/dist/platform/mindedConnection.js +254 -0
  209. package/dist/platform/mindedConnection.js.map +1 -0
  210. package/dist/platform/mindedConnectionTypes.d.ts +404 -0
  211. package/dist/platform/mindedConnectionTypes.d.ts.map +1 -0
  212. package/dist/platform/mindedConnectionTypes.js +51 -0
  213. package/dist/platform/mindedConnectionTypes.js.map +1 -0
  214. package/dist/platform/models/mindedChatOpenAI.d.ts +20 -0
  215. package/dist/platform/models/mindedChatOpenAI.d.ts.map +1 -0
  216. package/dist/platform/models/mindedChatOpenAI.js +32 -0
  217. package/dist/platform/models/mindedChatOpenAI.js.map +1 -0
  218. package/dist/platform/models/parallelWrapper.d.ts +17 -0
  219. package/dist/platform/models/parallelWrapper.d.ts.map +1 -0
  220. package/dist/platform/models/parallelWrapper.js +105 -0
  221. package/dist/platform/models/parallelWrapper.js.map +1 -0
  222. package/dist/platform/piiGateway/gateway.d.ts +14 -0
  223. package/dist/platform/piiGateway/gateway.d.ts.map +1 -0
  224. package/dist/platform/piiGateway/gateway.js +117 -0
  225. package/dist/platform/piiGateway/gateway.js.map +1 -0
  226. package/dist/platform/piiGateway/index.d.ts +3 -0
  227. package/dist/platform/piiGateway/index.d.ts.map +1 -0
  228. package/dist/platform/piiGateway/index.js +7 -0
  229. package/dist/platform/piiGateway/index.js.map +1 -0
  230. package/dist/platform/piiGateway/types.d.ts +27 -0
  231. package/dist/platform/piiGateway/types.d.ts.map +1 -0
  232. package/dist/platform/piiGateway/types.js +3 -0
  233. package/dist/platform/piiGateway/types.js.map +1 -0
  234. package/dist/platform/toolExecutor.d.ts +29 -0
  235. package/dist/platform/toolExecutor.d.ts.map +1 -0
  236. package/dist/platform/toolExecutor.js +84 -0
  237. package/dist/platform/toolExecutor.js.map +1 -0
  238. package/dist/platform/utils/parseAttachments.d.ts +14 -0
  239. package/dist/platform/utils/parseAttachments.d.ts.map +1 -0
  240. package/dist/platform/utils/parseAttachments.js +53 -0
  241. package/dist/platform/utils/parseAttachments.js.map +1 -0
  242. package/dist/platform/utils/tools.d.ts +6 -0
  243. package/dist/platform/utils/tools.d.ts.map +1 -0
  244. package/dist/platform/utils/tools.js +57 -0
  245. package/dist/platform/utils/tools.js.map +1 -0
  246. package/dist/playbooks/playbooks.d.ts +15 -0
  247. package/dist/playbooks/playbooks.d.ts.map +1 -0
  248. package/dist/playbooks/playbooks.js +208 -0
  249. package/dist/playbooks/playbooks.js.map +1 -0
  250. package/dist/toolsLibrary/classifier.d.ts +74 -0
  251. package/dist/toolsLibrary/classifier.d.ts.map +1 -0
  252. package/dist/toolsLibrary/classifier.js +256 -0
  253. package/dist/toolsLibrary/classifier.js.map +1 -0
  254. package/dist/toolsLibrary/extraction.d.ts +83 -0
  255. package/dist/toolsLibrary/extraction.d.ts.map +1 -0
  256. package/dist/toolsLibrary/extraction.js +328 -0
  257. package/dist/toolsLibrary/extraction.js.map +1 -0
  258. package/dist/toolsLibrary/index.d.ts +9 -0
  259. package/dist/toolsLibrary/index.d.ts.map +1 -0
  260. package/dist/toolsLibrary/index.js +46 -0
  261. package/dist/toolsLibrary/index.js.map +1 -0
  262. package/dist/toolsLibrary/parseDocument.d.ts +30 -0
  263. package/dist/toolsLibrary/parseDocument.d.ts.map +1 -0
  264. package/dist/toolsLibrary/parseDocument.js +119 -0
  265. package/dist/toolsLibrary/parseDocument.js.map +1 -0
  266. package/dist/triggers/triggerTypeToDefaultMessage.d.ts +4 -0
  267. package/dist/triggers/triggerTypeToDefaultMessage.d.ts.map +1 -0
  268. package/dist/triggers/triggerTypeToDefaultMessage.js +10 -0
  269. package/dist/triggers/triggerTypeToDefaultMessage.js.map +1 -0
  270. package/dist/types/Agent.types.d.ts +60 -0
  271. package/dist/types/Agent.types.d.ts.map +1 -0
  272. package/dist/types/Agent.types.js +9 -0
  273. package/dist/types/Agent.types.js.map +1 -0
  274. package/dist/types/Flows.types.d.ts +232 -0
  275. package/dist/types/Flows.types.d.ts.map +1 -0
  276. package/dist/types/Flows.types.js +65 -0
  277. package/dist/types/Flows.types.js.map +1 -0
  278. package/dist/types/LLM.types.d.ts +7 -0
  279. package/dist/types/LLM.types.d.ts.map +1 -0
  280. package/dist/types/LLM.types.js +11 -0
  281. package/dist/types/LLM.types.js.map +1 -0
  282. package/dist/types/LangGraph.types.d.ts +45 -0
  283. package/dist/types/LangGraph.types.d.ts.map +1 -0
  284. package/dist/types/LangGraph.types.js +77 -0
  285. package/dist/types/LangGraph.types.js.map +1 -0
  286. package/dist/types/Platform.types.d.ts +7 -0
  287. package/dist/types/Platform.types.d.ts.map +1 -0
  288. package/dist/types/Platform.types.js +11 -0
  289. package/dist/types/Platform.types.js.map +1 -0
  290. package/dist/types/Tools.types.d.ts +26 -0
  291. package/dist/types/Tools.types.d.ts.map +1 -0
  292. package/dist/types/Tools.types.js +3 -0
  293. package/dist/types/Tools.types.js.map +1 -0
  294. package/dist/types/Voice.types.d.ts +5 -0
  295. package/dist/types/Voice.types.d.ts.map +1 -0
  296. package/dist/types/Voice.types.js +3 -0
  297. package/dist/types/Voice.types.js.map +1 -0
  298. package/dist/utils/agentUtils.d.ts +5 -0
  299. package/dist/utils/agentUtils.d.ts.map +1 -0
  300. package/dist/utils/agentUtils.js +97 -0
  301. package/dist/utils/agentUtils.js.map +1 -0
  302. package/dist/utils/extractStateMemoryResponse.d.ts +5 -0
  303. package/dist/utils/extractStateMemoryResponse.d.ts.map +1 -0
  304. package/dist/utils/extractStateMemoryResponse.js +91 -0
  305. package/dist/utils/extractStateMemoryResponse.js.map +1 -0
  306. package/dist/utils/history.d.ts +4 -0
  307. package/dist/utils/history.d.ts.map +1 -0
  308. package/dist/utils/history.js +33 -0
  309. package/dist/utils/history.js.map +1 -0
  310. package/dist/utils/logger.d.ts +3 -0
  311. package/dist/utils/logger.d.ts.map +1 -0
  312. package/dist/utils/logger.js +39 -0
  313. package/dist/utils/logger.js.map +1 -0
  314. package/dist/utils/schemaUtils.d.ts +15 -0
  315. package/dist/utils/schemaUtils.d.ts.map +1 -0
  316. package/dist/utils/schemaUtils.js +56 -0
  317. package/dist/utils/schemaUtils.js.map +1 -0
  318. package/dist/utils/wait.d.ts +2 -0
  319. package/dist/utils/wait.d.ts.map +1 -0
  320. package/dist/utils/wait.js +6 -0
  321. package/dist/utils/wait.js.map +1 -0
  322. package/dist/voice/elevenLabsUtils.d.ts +65 -0
  323. package/dist/voice/elevenLabsUtils.d.ts.map +1 -0
  324. package/dist/voice/elevenLabsUtils.js +4 -0
  325. package/dist/voice/elevenLabsUtils.js.map +1 -0
  326. package/dist/voice/voiceSession.d.ts +37 -0
  327. package/dist/voice/voiceSession.d.ts.map +1 -0
  328. package/dist/voice/voiceSession.js +306 -0
  329. package/dist/voice/voiceSession.js.map +1 -0
  330. package/docs/.gitbook/assets/ADLC.png +0 -0
  331. package/docs/.gitbook/assets/PII-masking.png +0 -0
  332. package/docs/.gitbook/assets/image.png +0 -0
  333. package/docs/.gitbook/assets/on-prem.svg +4 -0
  334. package/docs/README.md +54 -0
  335. package/docs/SUMMARY.md +56 -0
  336. package/docs/examples/order-refund-flow.md +566 -0
  337. package/docs/getting-started/environment-configuration.md +158 -0
  338. package/docs/getting-started/installation.md +44 -0
  339. package/docs/getting-started/project-configuration.md +206 -0
  340. package/docs/getting-started/quick-start.md +262 -0
  341. package/docs/integrations/zendesk.md +554 -0
  342. package/docs/low-code-editor/edges.md +396 -0
  343. package/docs/low-code-editor/flows.md +74 -0
  344. package/docs/low-code-editor/nodes.md +367 -0
  345. package/docs/low-code-editor/playbooks.md +280 -0
  346. package/docs/low-code-editor/tools.md +358 -0
  347. package/docs/low-code-editor/triggers.md +182 -0
  348. package/docs/platform/on-prem.md +182 -0
  349. package/docs/platform/operator.md +89 -0
  350. package/docs/platform/pii-masking.md +221 -0
  351. package/docs/platform/scenarios.md +43 -0
  352. package/docs/platform/secrets.md +99 -0
  353. package/docs/platform/sso.md +27 -0
  354. package/docs/resources/your-first-eval.md +108 -0
  355. package/docs/sdk/agent-api.md +540 -0
  356. package/docs/sdk/debugging.md +80 -0
  357. package/docs/sdk/events.md +595 -0
  358. package/docs/sdk/logging.md +72 -0
  359. package/docs/sdk/memory.md +271 -0
  360. package/docs/sdk/parallel-llm.md +242 -0
  361. package/docs/sdk/vectorstore-query.md +60 -0
  362. package/docs/tooling/classifier.md +217 -0
  363. package/docs/tooling/document-processing.md +389 -0
  364. package/docs/tooling/extraction.md +78 -0
  365. package/docs/tooling/timers.md +61 -0
  366. package/package.json +73 -0
  367. package/src/agent.ts +1019 -0
  368. package/src/browserTask/executeBrowserTask.py +153 -0
  369. package/src/browserTask/executeBrowserTask.ts +253 -0
  370. package/src/browserTask/localBrowserTask.ts +300 -0
  371. package/src/browserTask/profile/Default/Extension Rules/000003.log +0 -0
  372. package/src/browserTask/profile/Default/Extension Scripts/000003.log +0 -0
  373. package/src/browserTask/profile/Default/Extension State/000003.log +0 -0
  374. package/src/browserTask/profile/Default/GCM Store/000003.log +0 -0
  375. package/src/browserTask/profile/Default/Local Storage/leveldb/000004.log +0 -0
  376. package/src/browserTask/profile/Default/Session Storage/000003.log +0 -0
  377. package/src/browserTask/profile/Default/Site Characteristics Database/000003.log +0 -0
  378. package/src/browserTask/profile/Default/Sync Data/LevelDB/000003.log +0 -0
  379. package/src/browserTask/profile/Default/shared_proto_db/000003.log +0 -0
  380. package/src/browserTask/profile/Default/shared_proto_db/metadata/000003.log +0 -0
  381. package/src/browserTask/types.ts +37 -0
  382. package/src/checkpointer/checkpointSaverFactory.ts +18 -0
  383. package/src/cli/index.ts +188 -0
  384. package/src/cli/lambdaHandlerTemplate.ts +78 -0
  385. package/src/cli/localOperatorSetup.ts +308 -0
  386. package/src/debugging/index.ts +1 -0
  387. package/src/debugging/llmCallbackHandler.ts +125 -0
  388. package/src/edges/createDirectEdge.ts +22 -0
  389. package/src/edges/createLogicalRouter.ts +182 -0
  390. package/src/edges/createPromptRouter.ts +213 -0
  391. package/src/edges/edgeFactory.ts +167 -0
  392. package/src/events/AgentEvents.ts +58 -0
  393. package/src/events/index.ts +3 -0
  394. package/src/index.ts +105 -0
  395. package/src/interfaces/zendesk.ts +212 -0
  396. package/src/internalTools/appActionRunnerTool.ts +68 -0
  397. package/src/internalTools/documentExtraction/documentExtraction.ts +804 -0
  398. package/src/internalTools/documentExtraction/types.ts +59 -0
  399. package/src/internalTools/libraryActionRunnerTool.ts +62 -0
  400. package/src/internalTools/timer.ts +125 -0
  401. package/src/internalTools/voice/escalateVoiceCall.ts +15 -0
  402. package/src/internalTools/voice/retell.ts +28 -0
  403. package/src/internalTools/voice/sendPlaceholderMessage.ts +27 -0
  404. package/src/interrupts/BaseInterruptSessionManager.ts +80 -0
  405. package/src/interrupts/MemoryInterruptSessionManager.ts +63 -0
  406. package/src/interrupts/MindedInterruptSessionManager.ts +163 -0
  407. package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
  408. package/src/llm/createLlmInstance.ts +33 -0
  409. package/src/nodes/addAppToolNode.ts +111 -0
  410. package/src/nodes/addBrowserTaskNode.ts +191 -0
  411. package/src/nodes/addBrowserTaskRunNode.ts +190 -0
  412. package/src/nodes/addHumanInTheLoopNode.ts +26 -0
  413. package/src/nodes/addJumpToNode.ts +26 -0
  414. package/src/nodes/addJunctionNode.ts +21 -0
  415. package/src/nodes/addPromptNode.ts +305 -0
  416. package/src/nodes/addRpaNode.ts +217 -0
  417. package/src/nodes/addToolNode.ts +84 -0
  418. package/src/nodes/addToolRunNode.ts +80 -0
  419. package/src/nodes/addTriggerNode.ts +27 -0
  420. package/src/nodes/compilePrompt.ts +44 -0
  421. package/src/nodes/nodeFactory.ts +61 -0
  422. package/src/nodes/rpaStepsExecutor.ts +175 -0
  423. package/src/platform/config.ts +89 -0
  424. package/src/platform/mindedCheckpointSaver.ts +146 -0
  425. package/src/platform/mindedConnection.ts +250 -0
  426. package/src/platform/mindedConnectionTypes.ts +495 -0
  427. package/src/platform/models/mindedChatOpenAI.ts +49 -0
  428. package/src/platform/models/parallelWrapper.ts +141 -0
  429. package/src/platform/piiGateway/gateway.ts +103 -0
  430. package/src/platform/piiGateway/index.ts +5 -0
  431. package/src/platform/piiGateway/types.ts +29 -0
  432. package/src/platform/toolExecutor.ts +106 -0
  433. package/src/platform/utils/parseAttachments.ts +56 -0
  434. package/src/platform/utils/tools.ts +55 -0
  435. package/src/playbooks/playbooks.ts +200 -0
  436. package/src/toolsLibrary/classifier.ts +326 -0
  437. package/src/toolsLibrary/extraction.ts +393 -0
  438. package/src/toolsLibrary/index.ts +10 -0
  439. package/src/toolsLibrary/parseDocument.ts +129 -0
  440. package/src/triggers/triggerTypeToDefaultMessage.ts +9 -0
  441. package/src/types/Agent.types.ts +73 -0
  442. package/src/types/Flows.types.ts +262 -0
  443. package/src/types/LLM.types.ts +15 -0
  444. package/src/types/LangGraph.types.ts +86 -0
  445. package/src/types/Platform.types.ts +6 -0
  446. package/src/types/Tools.types.ts +28 -0
  447. package/src/types/Voice.types.ts +4 -0
  448. package/src/utils/agentUtils.ts +69 -0
  449. package/src/utils/history.ts +38 -0
  450. package/src/utils/logger.ts +38 -0
  451. package/src/utils/schemaUtils.ts +68 -0
  452. package/src/utils/wait.ts +1 -0
  453. package/src/voice/elevenLabsUtils.ts +81 -0
  454. package/src/voice/voiceSession.ts +309 -0
@@ -0,0 +1,495 @@
1
+ import type {
2
+ CheckpointListOptions,
3
+ CheckpointMetadata,
4
+ PendingWrite,
5
+ Checkpoint,
6
+ ChannelVersions,
7
+ CheckpointTuple,
8
+ } from '@langchain/langgraph-checkpoint';
9
+ import type { RunnableConfig } from '@langchain/core/runnables';
10
+ import { AgentInvokeParams, TriggerEvent } from '../types/Agent.types';
11
+ import { stateAnnotation } from '../types/LangGraph.types';
12
+
13
+ export enum mindedConnectionSocketMessageType {
14
+ OnAppAction = 'on-app-action',
15
+ GET_SECRETS = 'get-secrets',
16
+ GET_FLOWS = 'get-flows',
17
+ GET_PLAYBOOKS = 'get-playbooks',
18
+ INVOKE = 'invoke',
19
+ PII_HTTP_REQUEST = 'pii-http-request',
20
+ // Checkpoints
21
+ CHECKPOINT_GET_TUPLE = 'checkpoint-get-tuple',
22
+ CHECKPOINT_PUT = 'checkpoint-put',
23
+ CHECKPOINT_LIST = 'checkpoint-list',
24
+ CHECKPOINT_PUT_WRITES = 'checkpoint-put-writes',
25
+ RESTORE_CHECKPOINT = 'restore-checkpoint',
26
+ // Voice
27
+ VOICE_USER_AUDIO = 'voice-user-audio',
28
+ VOICE_AGENT_AUDIO = 'voice-agent-audio',
29
+ VOICE_SESSION_START = 'voice-session-start',
30
+ VOICE_SESSION_END = 'voice-session-end',
31
+ VOICE_INTERRUPTION = 'voice-interruption',
32
+ VOICE_PLACEHOLDER_MESSAGES = 'voice-placeholder-messages',
33
+ VOICE_ESCALATE = 'voice-escalate',
34
+ // Update state
35
+ UPDATE_STATE = 'update-state',
36
+ INTERFACE_FUNCTION_CALL = 'interface-function-call',
37
+ TIMER_RESET = 'timer-reset',
38
+ TIMER_CANCEL = 'timer-cancel',
39
+ TIMER_TRIGGER = 'timer-trigger',
40
+ RETELL_CALL = 'retell-call',
41
+ RETELL_GET_CALL = 'retell-get-call',
42
+ SDK_VERSION_MISMATCH = 'sdk-version-mismatch', // Browser Task
43
+ CREATE_BROWSER_SESSION = 'create-browser-session',
44
+ INVOKE_BROWSER_TASK = 'invoke-browser-task',
45
+ DESTROY_BROWSER_SESSION = 'destroy-browser-session',
46
+ // Interrupt Session Management
47
+ INTERRUPT_SESSION_IS_PROCESSED = 'interrupt-session-is-processed',
48
+ INTERRUPT_SESSION_LOCK = 'interrupt-session-lock',
49
+ INTERRUPT_SESSION_RELEASE = 'interrupt-session-release',
50
+ INTERRUPT_SESSION_ENQUEUE = 'interrupt-session-enqueue',
51
+ INTERRUPT_SESSION_DEQUEUE_ALL = 'interrupt-session-dequeue-all',
52
+ INTERRUPT_SESSION_DEQUEUE = 'interrupt-session-dequeue',
53
+ INTERRUPT_SESSION_HAS_MESSAGES = 'interrupt-session-has-messages',
54
+ INTERRUPT_SESSION_GET_MESSAGES = 'interrupt-session-get-messages',
55
+ // Tool execution
56
+ EXECUTE_TOOL = 'execute-tool',
57
+ VECTORSTORE_QUERY = 'vectorstore-query',
58
+ }
59
+
60
+ export type mindedConnectionSocketMessageTypeMap = {
61
+ [mindedConnectionSocketMessageType.OnAppAction]: BasemindedConnectionSocketMessage;
62
+ [mindedConnectionSocketMessageType.GET_SECRETS]: BasemindedConnectionSocketMessage;
63
+ [mindedConnectionSocketMessageType.GET_FLOWS]: BasemindedConnectionSocketMessage;
64
+ [mindedConnectionSocketMessageType.GET_PLAYBOOKS]: BasemindedConnectionSocketMessage;
65
+ [mindedConnectionSocketMessageType.INVOKE]: InvokeMessage;
66
+ [mindedConnectionSocketMessageType.CHECKPOINT_GET_TUPLE]: OnCheckpointGetTuple;
67
+ [mindedConnectionSocketMessageType.CHECKPOINT_PUT]: OnCheckpointPut;
68
+ [mindedConnectionSocketMessageType.CHECKPOINT_LIST]: OnCheckpointList;
69
+ [mindedConnectionSocketMessageType.CHECKPOINT_PUT_WRITES]: OnCheckpointPutWrites;
70
+ [mindedConnectionSocketMessageType.VOICE_USER_AUDIO]: OnVoiceAudioIn;
71
+ [mindedConnectionSocketMessageType.VOICE_AGENT_AUDIO]: OnVoiceAudioOut;
72
+ [mindedConnectionSocketMessageType.VOICE_SESSION_START]: OnVoiceSessionStart;
73
+ [mindedConnectionSocketMessageType.VOICE_SESSION_END]: OnVoiceSessionEnd;
74
+ [mindedConnectionSocketMessageType.VOICE_INTERRUPTION]: OnVoiceInterruption;
75
+ [mindedConnectionSocketMessageType.VOICE_ESCALATE]: VoiceEscalate;
76
+ [mindedConnectionSocketMessageType.VOICE_PLACEHOLDER_MESSAGES]: VoicePlaceholderMessage;
77
+ [mindedConnectionSocketMessageType.PII_HTTP_REQUEST]: OnPiiHttpRequest;
78
+ [mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL]: InterfaceFunctionCall;
79
+ [mindedConnectionSocketMessageType.TIMER_RESET]: TimerResetRequest;
80
+ [mindedConnectionSocketMessageType.TIMER_CANCEL]: TimerCancelRequest;
81
+ [mindedConnectionSocketMessageType.TIMER_TRIGGER]: TimerTriggerRequest;
82
+ [mindedConnectionSocketMessageType.RESTORE_CHECKPOINT]: RestoreCheckpointRequest;
83
+ [mindedConnectionSocketMessageType.RETELL_CALL]: RetellCall;
84
+ [mindedConnectionSocketMessageType.RETELL_GET_CALL]: RetellGetCall;
85
+ [mindedConnectionSocketMessageType.SDK_VERSION_MISMATCH]: SdkVersionMismatchMessage;
86
+ [mindedConnectionSocketMessageType.UPDATE_STATE]: UpdateStateRequest;
87
+ [mindedConnectionSocketMessageType.CREATE_BROWSER_SESSION]: CreateBrowserSessionRequest;
88
+ [mindedConnectionSocketMessageType.INVOKE_BROWSER_TASK]: InvokeBrowserTaskRequest;
89
+ [mindedConnectionSocketMessageType.DESTROY_BROWSER_SESSION]: DestroyBrowserSessionRequest;
90
+ // Interrupt Session Management
91
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_IS_PROCESSED]: InterruptSessionIsProcessedRequest;
92
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_LOCK]: InterruptSessionLockRequest;
93
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_RELEASE]: InterruptSessionReleaseRequest;
94
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_ENQUEUE]: InterruptSessionEnqueueRequest;
95
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE_ALL]: InterruptSessionDequeueAllRequest;
96
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_DEQUEUE]: InterruptSessionDequeueRequest;
97
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_HAS_MESSAGES]: InterruptSessionHasMessagesRequest;
98
+ [mindedConnectionSocketMessageType.INTERRUPT_SESSION_GET_MESSAGES]: InterruptSessionGetMessagesRequest;
99
+ [mindedConnectionSocketMessageType.EXECUTE_TOOL]: ExecuteToolRequest;
100
+ [mindedConnectionSocketMessageType.VECTORSTORE_QUERY]: VectorStoreQueryRequest;
101
+ };
102
+
103
+ export interface BasemindedConnectionSocketMessage {
104
+ type: mindedConnectionSocketMessageType;
105
+ }
106
+
107
+ export interface VoiceEscalate extends BaseVoiceMessage {
108
+ parameters: any;
109
+ }
110
+
111
+ export interface BaseSdkConnectionSocketMessageResponseCallbackAck {
112
+ error?: string;
113
+ }
114
+
115
+ export interface OnCheckpointPut extends BasemindedConnectionSocketMessage {
116
+ config: RunnableConfig;
117
+ checkpoint: Checkpoint;
118
+ metadata: CheckpointMetadata;
119
+ newVersions: ChannelVersions;
120
+ }
121
+
122
+ export interface OnCheckpointPutResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
123
+ config: RunnableConfig;
124
+ }
125
+ export interface OnCheckpointPutWrites extends BasemindedConnectionSocketMessage {
126
+ config: RunnableConfig;
127
+ writes: PendingWrite[];
128
+ taskId: string;
129
+ }
130
+
131
+ export interface OnCheckpointGetTupleResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
132
+ tuple?: CheckpointTuple | undefined;
133
+ }
134
+
135
+ export interface OnCheckpointGetTuple extends BasemindedConnectionSocketMessage {
136
+ config: RunnableConfig;
137
+ }
138
+
139
+ export interface OnCheckpointList extends BasemindedConnectionSocketMessage {
140
+ config: RunnableConfig;
141
+ options?: CheckpointListOptions;
142
+ }
143
+
144
+ export interface OnCheckpointListResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
145
+ checkpoints?: CheckpointTuple[];
146
+ }
147
+
148
+ export interface BaseVoiceMessage extends BasemindedConnectionSocketMessage {
149
+ sessionId: string;
150
+ timestamp: number;
151
+ }
152
+
153
+ export interface OnVoiceSessionStart extends BaseVoiceMessage {
154
+ metadata?: Record<string, any>;
155
+ }
156
+
157
+ // Voice/Audio event interfaces
158
+ export interface OnVoiceAudioIn extends BaseVoiceMessage {
159
+ audioData: string; // base64 encoded audio data
160
+ }
161
+
162
+ export interface OnVoiceAudioOut extends BaseVoiceMessage {
163
+ audioData: string; // base64 encoded audio data
164
+ }
165
+
166
+ export interface VoicePlaceholderMessage extends BaseVoiceMessage {
167
+ message: string;
168
+ }
169
+
170
+ export interface OnVoiceInterruption extends BasemindedConnectionSocketMessage {
171
+ sessionId: string;
172
+ timestamp: number;
173
+ }
174
+ export interface OnVoiceSessionEnd extends BasemindedConnectionSocketMessage {
175
+ sessionId: string;
176
+ timestamp: number;
177
+ }
178
+
179
+ export interface InvokeMessage extends BasemindedConnectionSocketMessage, AgentInvokeParams {
180
+ type: mindedConnectionSocketMessageType.INVOKE;
181
+ }
182
+ export interface OnPiiHttpRequest extends BasemindedConnectionSocketMessage {
183
+ sessionId: string;
184
+ requestId: string;
185
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
186
+ url: string;
187
+ headers?: Record<string, string>;
188
+ params?: Record<string, any>;
189
+ data?: any;
190
+ }
191
+
192
+ export interface OnPiiHttpResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
193
+ requestId: string;
194
+ data?: any;
195
+ status?: number;
196
+ statusText?: string;
197
+ headers?: Record<string, string>;
198
+ }
199
+
200
+ export interface InterfaceFunctionCall extends BasemindedConnectionSocketMessage {
201
+ sessionId: string;
202
+ interfaceName: string;
203
+ functionName: string;
204
+ functionArgs: Record<string, any>;
205
+ interfaceParameters: Record<string, any>;
206
+ }
207
+
208
+ export interface TimerResetRequest extends BasemindedConnectionSocketMessage {
209
+ sessionId: string;
210
+ seconds: number;
211
+ timerName: string;
212
+ eventArgs: Record<string, any>;
213
+ }
214
+
215
+ export interface TimerResetResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
216
+ success?: boolean;
217
+ }
218
+
219
+ export interface TimerCancelRequest extends BasemindedConnectionSocketMessage {
220
+ sessionId: string;
221
+ timerName: string;
222
+ }
223
+
224
+ export interface TimerCancelResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
225
+ success?: boolean;
226
+ }
227
+
228
+ export interface TimerTriggerRequest extends BasemindedConnectionSocketMessage {
229
+ sessionId: string;
230
+ timerName: string;
231
+ eventArgs: Record<string, any>;
232
+ }
233
+
234
+ // Interrupt Session Management Interfaces
235
+ export interface InterruptSessionIsProcessedRequest extends BasemindedConnectionSocketMessage {
236
+ sessionId: string;
237
+ }
238
+
239
+ export interface InterruptSessionIsProcessedResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
240
+ isProcessed?: boolean;
241
+ }
242
+
243
+ export interface InterruptSessionLockRequest extends BasemindedConnectionSocketMessage {
244
+ sessionId: string;
245
+ }
246
+
247
+ export interface InterruptSessionLockResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
248
+ lockAcquired?: boolean;
249
+ }
250
+
251
+ export interface InterruptSessionReleaseRequest extends BasemindedConnectionSocketMessage {
252
+ sessionId: string;
253
+ }
254
+
255
+ export interface InterruptSessionReleaseResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
256
+ success?: boolean;
257
+ }
258
+
259
+ export interface InterruptSessionEnqueueRequest extends BasemindedConnectionSocketMessage {
260
+ sessionId: string;
261
+ message: TriggerEvent;
262
+ }
263
+
264
+ export interface InterruptSessionEnqueueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
265
+ success?: boolean;
266
+ }
267
+
268
+ export interface InterruptSessionDequeueAllRequest extends BasemindedConnectionSocketMessage {
269
+ sessionId: string;
270
+ }
271
+
272
+ export interface InterruptSessionDequeueAllResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
273
+ messages?: Array<TriggerEvent>;
274
+ }
275
+
276
+ export interface InterruptSessionDequeueRequest extends BasemindedConnectionSocketMessage {
277
+ sessionId: string;
278
+ }
279
+
280
+ export interface InterruptSessionDequeueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
281
+ message?: TriggerEvent | null;
282
+ }
283
+
284
+ export interface InterruptSessionHasMessagesRequest extends BasemindedConnectionSocketMessage {
285
+ sessionId: string;
286
+ }
287
+
288
+ export interface InterruptSessionHasMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
289
+ hasMessages?: boolean;
290
+ }
291
+
292
+ export interface InterruptSessionGetMessagesRequest extends BasemindedConnectionSocketMessage {
293
+ sessionId: string;
294
+ }
295
+
296
+ export interface InterruptSessionGetMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
297
+ messages?: Array<TriggerEvent>;
298
+ }
299
+
300
+ // Interrupt Session Management Interfaces
301
+ export interface InterruptSessionIsProcessedRequest extends BasemindedConnectionSocketMessage {
302
+ sessionId: string;
303
+ }
304
+
305
+ export interface InterruptSessionIsProcessedResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
306
+ isProcessed?: boolean;
307
+ }
308
+
309
+ export interface InterruptSessionLockRequest extends BasemindedConnectionSocketMessage {
310
+ sessionId: string;
311
+ }
312
+
313
+ export interface InterruptSessionReleaseRequest extends BasemindedConnectionSocketMessage {
314
+ sessionId: string;
315
+ }
316
+
317
+ export interface InterruptSessionReleaseResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
318
+ success?: boolean;
319
+ }
320
+
321
+ export interface InterruptSessionEnqueueRequest extends BasemindedConnectionSocketMessage {
322
+ sessionId: string;
323
+ message: TriggerEvent;
324
+ }
325
+
326
+ export interface InterruptSessionEnqueueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
327
+ success?: boolean;
328
+ }
329
+
330
+ export interface InterruptSessionDequeueAllRequest extends BasemindedConnectionSocketMessage {
331
+ sessionId: string;
332
+ }
333
+
334
+ export interface InterruptSessionDequeueAllResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
335
+ messages?: Array<TriggerEvent>;
336
+ }
337
+
338
+ export interface InterruptSessionDequeueRequest extends BasemindedConnectionSocketMessage {
339
+ sessionId: string;
340
+ }
341
+
342
+ export interface InterruptSessionDequeueResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
343
+ message?: TriggerEvent | null;
344
+ }
345
+
346
+ export interface InterruptSessionHasMessagesRequest extends BasemindedConnectionSocketMessage {
347
+ sessionId: string;
348
+ }
349
+
350
+ export interface InterruptSessionHasMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
351
+ hasMessages?: boolean;
352
+ }
353
+
354
+ export interface InterruptSessionGetMessagesRequest extends BasemindedConnectionSocketMessage {
355
+ sessionId: string;
356
+ }
357
+
358
+ export interface InterruptSessionGetMessagesResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
359
+ messages?: Array<TriggerEvent>;
360
+ }
361
+
362
+ export interface RestoreCheckpointRequest extends BasemindedConnectionSocketMessage {
363
+ sessionId: string;
364
+ checkpointId: string;
365
+ }
366
+
367
+ export interface RestoreCheckpointResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
368
+ success?: boolean;
369
+ }
370
+
371
+ export interface RestoreCheckpointRequest extends BasemindedConnectionSocketMessage {
372
+ sessionId: string;
373
+ checkpointId: string;
374
+ }
375
+
376
+ export interface RestoreCheckpointResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
377
+ success?: boolean;
378
+ }
379
+
380
+ export interface RetellCall extends BasemindedConnectionSocketMessage {
381
+ sessionId: string;
382
+ callName: string;
383
+ callAgentId: string;
384
+ vars: Record<string, any>;
385
+ }
386
+
387
+ export interface RetellCallResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
388
+ result?: any;
389
+ error?: string;
390
+ }
391
+
392
+ export interface RetellGetCall extends BasemindedConnectionSocketMessage {
393
+ sessionId: string;
394
+ callId: string;
395
+ }
396
+
397
+ export interface RetellGetCallResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
398
+ result?: {
399
+ isFinish?: boolean;
400
+ callTranscript?: string;
401
+ };
402
+ error?: string;
403
+ }
404
+
405
+ export interface SdkVersionMismatchMessage extends BasemindedConnectionSocketMessage {
406
+ type: mindedConnectionSocketMessageType.SDK_VERSION_MISMATCH;
407
+ currentVersion: string;
408
+ requiredVersion: string;
409
+ }
410
+ export interface UpdateStateRequest extends BasemindedConnectionSocketMessage {
411
+ sessionId: string;
412
+ state: Partial<typeof stateAnnotation.State>;
413
+ }
414
+
415
+ // Browser Task Messages
416
+ export interface CreateBrowserSessionRequest extends BasemindedConnectionSocketMessage {
417
+ type: mindedConnectionSocketMessageType.CREATE_BROWSER_SESSION;
418
+ proxy?: string; // 2-digit country code like 'IL'
419
+ onPrem?: boolean;
420
+ }
421
+
422
+ export interface CreateBrowserSessionResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
423
+ sessionId?: string;
424
+ cdpUrl?: string;
425
+ liveViewUrl?: string;
426
+ }
427
+
428
+ export interface DestroyBrowserSessionRequest extends BasemindedConnectionSocketMessage {
429
+ type: mindedConnectionSocketMessageType.DESTROY_BROWSER_SESSION;
430
+ sessionId: string;
431
+ onPrem?: boolean;
432
+ }
433
+
434
+ export interface DestroyBrowserSessionResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
435
+ success?: boolean;
436
+ }
437
+
438
+ export interface InvokeBrowserTaskRequest extends BasemindedConnectionSocketMessage {
439
+ type: mindedConnectionSocketMessageType.INVOKE_BROWSER_TASK;
440
+ cdpUrl: string;
441
+ task: string;
442
+ sessionId: string;
443
+ keepAlive?: boolean;
444
+ hooks?: {
445
+ name: string;
446
+ lifecycle_phases?: string[];
447
+ config?: Record<string, any>;
448
+ }[]; // Array of hooks to be passed to the browser-use lambda
449
+ onPrem?: boolean;
450
+ toolSchemas?: any[];
451
+ outputSchema?: {
452
+ name: string;
453
+ type: 'string' | 'number';
454
+ description?: string;
455
+ required?: boolean;
456
+ }[];
457
+ }
458
+
459
+ export interface InvokeBrowserTaskResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
460
+ result?: any;
461
+ steps?: any[];
462
+ recordings?: any[];
463
+ }
464
+
465
+ export interface ExecuteToolRequest extends BasemindedConnectionSocketMessage {
466
+ type: mindedConnectionSocketMessageType.EXECUTE_TOOL;
467
+ toolName: string;
468
+ toolParams: any;
469
+ sessionId: string;
470
+ requestId: string;
471
+ error?: string;
472
+ cdpUrl?: string; // Optional CDP URL for browser context
473
+ }
474
+
475
+ export interface ExecuteToolResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
476
+ requestId: string;
477
+ result?: any;
478
+ state?: any;
479
+ }
480
+
481
+ export interface VectorStoreQueryRequest extends BasemindedConnectionSocketMessage {
482
+ type: mindedConnectionSocketMessageType.VECTORSTORE_QUERY;
483
+ collectionName: string;
484
+ query: string;
485
+ filter?: any;
486
+ numChunks?: number;
487
+ minScore?: number;
488
+ }
489
+
490
+ export interface VectorStoreQueryResponse extends BaseSdkConnectionSocketMessageResponseCallbackAck {
491
+ documents?: Array<{
492
+ pageContent: string;
493
+ metadata: Record<string, any>;
494
+ }>;
495
+ }
@@ -0,0 +1,49 @@
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
+ }
@@ -0,0 +1,141 @@
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
+ }