@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,262 @@
1
+ import { LLMConfig } from './LLM.types';
2
+ export interface Position {
3
+ x: number;
4
+ y: number;
5
+ }
6
+
7
+ export enum NodeType {
8
+ TRIGGER = 'trigger',
9
+ JUNCTION = 'junction',
10
+ TOOL = 'tool',
11
+ APP_TOOL = 'appTool',
12
+ PROMPT_NODE = 'promptNode',
13
+ JUMP_TO_NODE = 'jumpToNode',
14
+ BROWSER_TASK = 'browserTask',
15
+ RPA = 'rpa',
16
+ }
17
+
18
+ export enum EdgeType {
19
+ LOGICAL_CONDITION = 'logicalCondition',
20
+ PROMPT_CONDITION = 'promptCondition',
21
+ STEP_FORWARD = 'stepForward',
22
+ }
23
+
24
+ export interface BaseNode {
25
+ name: string;
26
+ type: NodeType;
27
+ position?: Position;
28
+ humanInTheLoop?: boolean;
29
+ canStayOnNode?: boolean;
30
+ displayName: string;
31
+ }
32
+
33
+ export enum TriggerType {
34
+ APP = 'app',
35
+ WEBHOOK = 'webhook',
36
+ MANUAL = 'manual',
37
+ VOICE = 'voice',
38
+ INTERFACE = 'interface',
39
+ }
40
+
41
+ export interface BaseTriggerNode extends BaseNode {
42
+ type: NodeType.TRIGGER;
43
+ triggerType: TriggerType;
44
+ }
45
+
46
+ export interface BaseAppNode {
47
+ appName: string;
48
+ appImgSrc: string;
49
+ account?: string;
50
+ mockDataInstructions?: string;
51
+ textSentToModel?: string;
52
+ parameters?: Record<string, any>;
53
+ }
54
+
55
+ export interface AppTriggerNode extends BaseTriggerNode, BaseAppNode {
56
+ triggerType: TriggerType.APP;
57
+ appTriggerId: string;
58
+ appTriggerName: string;
59
+ promptInstructions?: string;
60
+ }
61
+
62
+ export interface WebhookTriggerNode extends BaseTriggerNode {
63
+ triggerType: TriggerType.WEBHOOK;
64
+ autoTrigger?: boolean;
65
+ defaultPayload?: string;
66
+ }
67
+
68
+ export interface InterfaceTriggerNode extends BaseTriggerNode {
69
+ triggerType: TriggerType.INTERFACE;
70
+ parameters: Record<string, any>;
71
+ appName: string;
72
+ appImgSrc: string;
73
+ actionName: string;
74
+ actionKey: string;
75
+ }
76
+
77
+ export interface VoiceTriggerNode extends BaseTriggerNode {
78
+ triggerType: TriggerType.VOICE;
79
+ /**
80
+ * Text that will be spoken as the very first message in a voice interaction.
81
+ */
82
+ firstMessage: string;
83
+ /**
84
+ * Optional ElevenLabs voice ID to be used for TTS.
85
+ */
86
+ voiceId?: string;
87
+ }
88
+
89
+ export interface ManualTriggerNode extends BaseTriggerNode {
90
+ triggerType: TriggerType.MANUAL;
91
+ }
92
+
93
+ export interface PromptNode extends BaseNode {
94
+ type: NodeType.PROMPT_NODE;
95
+ prompt: string;
96
+ llmConfig?: LLMConfig;
97
+ }
98
+
99
+ export interface JumpToNode extends BaseNode {
100
+ type: NodeType.JUMP_TO_NODE;
101
+ targetNodeId: string;
102
+ }
103
+
104
+ export interface BrowserTaskNode extends BaseNode {
105
+ type: NodeType.BROWSER_TASK;
106
+ prompt: string;
107
+ model?: string;
108
+ inputSchema?: {
109
+ name: string;
110
+ type: 'string' | 'number';
111
+ description?: string;
112
+ required?: boolean;
113
+ }[];
114
+ outputSchema?: {
115
+ name: string;
116
+ type: 'string' | 'number';
117
+ description?: string;
118
+ required?: boolean;
119
+ }[];
120
+ autoTrigger?: boolean;
121
+ defaultPayload?: string;
122
+ proxy?: string; // 2-digit country code like 'IL'
123
+ hooks?: { name: string }[]; // Array of hooks to be passed to the browser-use lambda
124
+ }
125
+
126
+ export enum RpaActionType {
127
+ CLICK = 'click',
128
+ TYPE = 'type',
129
+ WAIT = 'wait',
130
+ SCREENSHOT = 'screenshot',
131
+ SELECT = 'select',
132
+ PRESS = 'press',
133
+ GOTO = 'goto',
134
+ EXTRACT_DATA = 'extract_data',
135
+ }
136
+
137
+ export interface RpaStep {
138
+ id: string;
139
+ type: RpaActionType;
140
+ xpath?: string;
141
+ selector?: string;
142
+ text?: string;
143
+ value?: string;
144
+ key?: string;
145
+ url?: string;
146
+ shouldReplaceExistingText?: boolean;
147
+ waitTime?: number;
148
+ description?: string;
149
+ outputSchema?: {
150
+ name: string;
151
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
152
+ description?: string;
153
+ required?: boolean;
154
+ items?: {
155
+ type: 'string' | 'number' | 'boolean' | 'object';
156
+ properties?: any;
157
+ };
158
+ properties?: any;
159
+ }[];
160
+ }
161
+
162
+ export interface RpaNode extends BaseNode {
163
+ type: NodeType.RPA;
164
+ steps: RpaStep[];
165
+ }
166
+
167
+ export type TriggerNode = AppTriggerNode | WebhookTriggerNode | ManualTriggerNode | VoiceTriggerNode | InterfaceTriggerNode;
168
+
169
+ export interface JunctionNode extends BaseNode {
170
+ type: NodeType.JUNCTION;
171
+ }
172
+
173
+ export interface ToolNode extends BaseNode {
174
+ type: NodeType.TOOL;
175
+ toolName: string;
176
+ prompt: string;
177
+ appImgSrc?: string;
178
+ }
179
+
180
+ export interface AppToolNode extends BaseNode, BaseAppNode {
181
+ type: NodeType.APP_TOOL;
182
+ prompt: string;
183
+ appName: string;
184
+ actionName: string;
185
+ metadata: AppNodeMetadata;
186
+ actionKey: string;
187
+ }
188
+
189
+ export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode | JumpToNode | BrowserTaskNode | RpaNode;
190
+
191
+ export interface BaseEdge {
192
+ source: string;
193
+ target: string;
194
+ type: EdgeType;
195
+ }
196
+
197
+ export interface LogicalConditionEdge extends BaseEdge {
198
+ type: EdgeType.LOGICAL_CONDITION;
199
+ condition: string;
200
+ }
201
+
202
+ export interface PromptConditionEdge extends BaseEdge {
203
+ type: EdgeType.PROMPT_CONDITION;
204
+ prompt: string;
205
+ }
206
+
207
+ export interface StepForwardEdge extends BaseEdge {
208
+ type: EdgeType.STEP_FORWARD;
209
+ }
210
+
211
+ export type Edge = LogicalConditionEdge | PromptConditionEdge | StepForwardEdge;
212
+
213
+ export enum AppNodeMetadataType {
214
+ APP_TOOL = 'appTool',
215
+ }
216
+ export interface NodeMetadata {
217
+ type: AppNodeMetadataType;
218
+ }
219
+ export interface AppNodeMetadata extends NodeMetadata {
220
+ type: AppNodeMetadataType.APP_TOOL;
221
+ schema: ActionInputParam[];
222
+ }
223
+
224
+ export type ActionInputParam = {
225
+ name: string;
226
+ type: ActionInputParamType;
227
+ description: string;
228
+ example: string | null;
229
+ required: boolean;
230
+ enum?: string[];
231
+ items?: {
232
+ type: ActionInputParamType;
233
+ properties?: ActionInputParam[];
234
+ };
235
+ };
236
+
237
+ export enum ActionInputParamType {
238
+ String = 'string',
239
+ Number = 'number',
240
+ Boolean = 'boolean',
241
+ Array = 'array',
242
+ Object = 'object',
243
+ Any = 'any',
244
+ }
245
+
246
+ export interface Flow {
247
+ name: string;
248
+ nodes: Node[];
249
+ edges: Edge[];
250
+ }
251
+
252
+ export enum KnownTriggerNames {
253
+ WEBHOOK = 'webhook',
254
+ DASHBOARD_MESSAGE = 'dashboard_message',
255
+ VOICE_MESSAGE = 'voice_message',
256
+ }
257
+
258
+ export enum internalNodesSuffix {
259
+ HUMAN_IN_THE_LOOP = '_humanInTheLoop',
260
+ TOOL_RUN = '_toolRun',
261
+ BROWSER_TASK_RUN = '_browserTaskRun',
262
+ }
@@ -0,0 +1,15 @@
1
+ import { AzureChatOpenAI, ChatOpenAI } from '@langchain/openai';
2
+ import { MindedChatOpenAI } from '../platform/models/mindedChatOpenAI';
3
+
4
+ export type LLMConfig = {
5
+ name: string;
6
+ properties: Record<string, any>;
7
+ };
8
+
9
+ export type LLMProvider = 'ChatOpenAI' | 'AzureChatOpenAI' | 'MindedChatOpenAI';
10
+
11
+ export const LLMProviders: Record<LLMProvider, any> = {
12
+ ChatOpenAI,
13
+ AzureChatOpenAI,
14
+ MindedChatOpenAI,
15
+ };
@@ -0,0 +1,86 @@
1
+ import { BaseMessage } from '@langchain/core/messages';
2
+ import { Annotation, CompiledStateGraph, StateGraph } from '@langchain/langgraph';
3
+ import { HistoryStep, SessionType } from './Agent.types';
4
+ import { z } from 'zod';
5
+ import { logger } from '../utils/logger';
6
+
7
+ export const createStateAnnotation = <Memory = any>(memorySchema?: z.ZodSchema<Memory>) =>
8
+ Annotation.Root({
9
+ messages: Annotation<Array<BaseMessage>>({
10
+ default: () => [] as BaseMessage[],
11
+ // Direct replacement - no reducer, just replace the entire value
12
+ reducer: (_, newValue) => newValue,
13
+ }),
14
+ memory: Annotation<Memory>({
15
+ default: () => {
16
+ if (memorySchema) {
17
+ const parseResult = memorySchema.safeParse({});
18
+ if (!parseResult.success) {
19
+ logger.error({ message: 'Failed to parse memory schema', err: parseResult.error });
20
+ throw new Error('Failed to parse memory schema');
21
+ }
22
+ return parseResult.data;
23
+ }
24
+ return {} as Memory;
25
+ },
26
+ // Direct replacement - no reducer, just replace the entire value
27
+ reducer: (_, newValue) => newValue,
28
+ }),
29
+ history: Annotation<Array<HistoryStep>>({
30
+ default: () => [] as HistoryStep[],
31
+ // Direct replacement - no reducer, just replace the entire value
32
+ reducer: (_, newValue) => newValue,
33
+ }),
34
+ sessionId: Annotation<string>({
35
+ default: () => '',
36
+ // Direct replacement - no reducer, just replace the entire value
37
+ reducer: (_, newValue) => newValue,
38
+ }),
39
+ goto: Annotation<string | null | undefined>({
40
+ default: () => null as string | null | undefined,
41
+ // Direct replacement - no reducer, just replace the entire value
42
+ reducer: (_, newValue) => newValue,
43
+ }),
44
+ sessionType: Annotation<SessionType>({
45
+ default: () => SessionType.TEXT,
46
+ // Direct replacement - no reducer, just replace the entire value
47
+ reducer: (_, newValue) => newValue,
48
+ }),
49
+ scenario: Annotation<Record<string, string | boolean>>({
50
+ default: () => ({} as Record<string, string | boolean>),
51
+ // Direct replacement - no reducer, just replace the entire value
52
+ reducer: (_, newValue) => newValue,
53
+ }),
54
+ // Available only when executing browser-use
55
+ cdp: Annotation<{
56
+ url: string | null;
57
+ liveUrl: string | null | undefined;
58
+ sessionId: string | null | undefined;
59
+ } | null>({
60
+ default: () => null,
61
+ // Direct replacement - no reducer, just replace the entire value
62
+ reducer: (_, newValue) => newValue,
63
+ }),
64
+ });
65
+
66
+ // Default state annotation with any memory type
67
+ export const stateAnnotation = createStateAnnotation();
68
+
69
+ export const getInitialState = <Memory = any>(memorySchema?: z.ZodSchema<Memory>): State<Memory> => {
70
+ const memory = memorySchema ? memorySchema.parse({}) : ({} as Memory);
71
+
72
+ return {
73
+ messages: [],
74
+ history: [],
75
+ sessionId: '',
76
+ goto: null,
77
+ sessionType: SessionType.TEXT,
78
+ scenario: {},
79
+ cdp: null,
80
+ memory,
81
+ } as State<Memory>;
82
+ };
83
+
84
+ export type CompiledGraph = CompiledStateGraph<any, any, string>;
85
+ export type PreCompiledGraph = StateGraph<any, any, string>;
86
+ export type State<Memory = any> = ReturnType<typeof createStateAnnotation<Memory>>['State'];
@@ -0,0 +1,6 @@
1
+ export enum Environment {
2
+ DEVELOPMENT = 'development',
3
+ STAGING = 'staging',
4
+ PRODUCTION = 'production',
5
+ TEST = 'test',
6
+ }
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { Agent } from '../';
3
+ import { State } from './LangGraph.types';
4
+
5
+ // Valid return type for new API
6
+ export type ToolReturnType = { result?: any } | void;
7
+
8
+ export interface Tool<Input extends z.ZodSchema, Memory = any> {
9
+ name: string;
10
+ description: string;
11
+ input: Input;
12
+ isGlobal?: boolean;
13
+ allowExecutionRequests?: boolean;
14
+ execute: (input: ToolExecuteInput<Input, Memory>) => Promise<ToolReturnType>;
15
+ }
16
+
17
+ export interface ToolExecuteInput<Input extends z.ZodSchema, Memory = any> {
18
+ input: z.infer<Input>;
19
+ state: State<Memory>;
20
+ agent: Agent;
21
+ invokedFromPromptNode?: boolean;
22
+ }
23
+
24
+ export interface AppActionRunnerInput {
25
+ appName: string;
26
+ actionName: string;
27
+ actionInput: object;
28
+ }
@@ -0,0 +1,4 @@
1
+ export type ElevenLabsContext = {
2
+ sessionId: string;
3
+ mindedToken: string;
4
+ }
@@ -0,0 +1,69 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as yaml from 'js-yaml';
4
+
5
+ import { getConfig } from '../platform/config';
6
+ import { AppToolNode, Flow, NodeType } from '../types/Flows.types';
7
+ import { mindedConnection } from '../platform/mindedConnection';
8
+ import { mindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
9
+ import libraryActionRunnerToolCreator from '../internalTools/libraryActionRunnerTool';
10
+ import { Environment } from '../types/Platform.types';
11
+
12
+ export async function loadFlows(flowsDirectories: string[]) {
13
+ const { env, isDeployed } = getConfig();
14
+ if ([Environment.DEVELOPMENT].includes(env) && isDeployed) {
15
+ const response = await mindedConnection.awaitEmit<object, { flows: Record<string, Flow> }>(
16
+ mindedConnectionSocketMessageType.GET_FLOWS,
17
+ {},
18
+ );
19
+ if (!response?.flows) {
20
+ throw new Error('Could not load flows from the platform connection');
21
+ }
22
+ return Object.values(response.flows);
23
+ }
24
+ return loadFlowsFromDirectory(flowsDirectories);
25
+ }
26
+
27
+ export function loadFlowsFromDirectory(flowsDirectories: string[]): Flow[] {
28
+ const flows: Flow[] = [];
29
+ for (const flowsDirectory of flowsDirectories) {
30
+ if (!fs.existsSync(flowsDirectory)) {
31
+ throw new Error(`Flows directory does not exist: ${flowsDirectory}`);
32
+ }
33
+
34
+ const files = fs.readdirSync(flowsDirectory);
35
+
36
+ for (const file of files) {
37
+ if (file.endsWith('.yaml') || file.endsWith('.yml')) {
38
+ const filePath = path.join(flowsDirectory, file);
39
+ try {
40
+ const fileContent = fs.readFileSync(filePath, 'utf8');
41
+ const parsedFlow = yaml.load(fileContent) as Flow;
42
+
43
+ // Validate that the parsed flow has the required structure
44
+ if (!parsedFlow.name || !parsedFlow.nodes || !parsedFlow.edges) {
45
+ throw new Error(`Invalid flow structure in ${file}. Flow must have name, nodes, and edges.`);
46
+ }
47
+
48
+ flows.push(parsedFlow);
49
+ } catch (err) {
50
+ throw new Error(`Failed to parse flow file ${file}: ${err}`);
51
+ }
52
+ }
53
+ }
54
+
55
+ if (flows.length === 0) {
56
+ throw new Error(`No YAML flow files found in directory: ${flowsDirectory}`);
57
+ }
58
+ }
59
+
60
+ return flows;
61
+ }
62
+
63
+ export function initLibraryActionsRunnerTools(flows: Flow[]) {
64
+ return flows
65
+ .flatMap((flow) =>
66
+ flow.nodes.filter((node): node is AppToolNode => node.type === NodeType.APP_TOOL && (node as AppToolNode).appName === 'Minded'),
67
+ )
68
+ .map((node) => libraryActionRunnerToolCreator(node.actionKey, node.displayName!));
69
+ }
@@ -0,0 +1,38 @@
1
+ import { AppTriggerHistoryStep, HistoryStep, TriggerHistoryStep } from '../types/Agent.types';
2
+ import { NodeType } from '../types/Flows.types';
3
+
4
+ export const createHistoryStep = <T extends HistoryStep>(currentHistory: HistoryStep[], stepPayload: Omit<T, 'step'>): HistoryStep => {
5
+ const lastHistoryStep = currentHistory?.[currentHistory?.length - 1];
6
+ return {
7
+ ...stepPayload,
8
+ step: lastHistoryStep?.step + 1 || 0,
9
+ } as HistoryStep;
10
+ };
11
+
12
+ export function createTriggerHistoryStep(
13
+ currentHistory: HistoryStep[],
14
+ nodeId: string,
15
+ messageIds: string[],
16
+ triggerName: string,
17
+ triggerBody: any,
18
+ appName?: string,
19
+ ): HistoryStep {
20
+ const baseStep = {
21
+ nodeId: nodeId,
22
+ nodeDisplayName: triggerName,
23
+ messageIds,
24
+ } as HistoryStep;
25
+
26
+ return appName
27
+ ? createHistoryStep<AppTriggerHistoryStep>(currentHistory, {
28
+ ...baseStep,
29
+ type: NodeType.TRIGGER,
30
+ triggerBody,
31
+ appName,
32
+ })
33
+ : createHistoryStep<TriggerHistoryStep>(currentHistory, {
34
+ ...baseStep,
35
+ type: NodeType.TRIGGER,
36
+ triggerBody,
37
+ });
38
+ }
@@ -0,0 +1,38 @@
1
+ import pino from 'pino';
2
+ import dotenv from 'dotenv';
3
+ dotenv.config();
4
+
5
+ // Determine if we're running on Minded Cloud
6
+ const isMindedCloud = process.env.MINDED_CLOUD === 'true' || process.env.IS_DEPLOYED_AGENT === 'true';
7
+
8
+ // Configure transport based on environment
9
+ // In Minded Cloud, use standard JSON output (no transport) for single-line logs
10
+ const transport = isMindedCloud
11
+ ? undefined
12
+ : {
13
+ target: 'pino-pretty',
14
+ options: {
15
+ colorize: true,
16
+ crlf: true,
17
+ translateTime: 'SYS:standard',
18
+ },
19
+ };
20
+
21
+ // Create a Pino logger with a custom log format
22
+ export const logger = pino(
23
+ {
24
+ level: process.env.LOG_LEVEL || 'trace',
25
+ base: null,
26
+ transport,
27
+ formatters: {
28
+ level(label) {
29
+ return { level: label };
30
+ },
31
+ },
32
+ timestamp: () => `,"time":"${new Date().toISOString()}"`,
33
+ serializers: {
34
+ err: pino.stdSerializers.err,
35
+ },
36
+ },
37
+ pino.destination({ sync: true }),
38
+ );
@@ -0,0 +1,68 @@
1
+ import { z } from 'zod';
2
+
3
+ export interface SchemaField {
4
+ name: string;
5
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
6
+ description?: string;
7
+ required?: boolean;
8
+ }
9
+
10
+ /**
11
+ * Converts an array of schema field definitions to a Zod object schema
12
+ * @param fields Array of field definitions
13
+ * @param defaultSchema Optional default schema to use if no fields are provided
14
+ * @returns Zod object schema
15
+ */
16
+ export function createZodSchemaFromFields(
17
+ fields?: SchemaField[],
18
+ defaultSchema?: Record<string, z.ZodTypeAny>
19
+ ): z.ZodObject<Record<string, z.ZodTypeAny>> {
20
+ const schemaFields: Record<string, z.ZodTypeAny> = {};
21
+
22
+ if (fields && fields.length > 0) {
23
+ for (const field of fields) {
24
+ let fieldSchema: z.ZodTypeAny;
25
+
26
+ // Create appropriate Zod type based on field type
27
+ switch (field.type) {
28
+ case 'string':
29
+ fieldSchema = z.string();
30
+ break;
31
+ case 'number':
32
+ fieldSchema = z.number();
33
+ break;
34
+ case 'boolean':
35
+ fieldSchema = z.boolean();
36
+ break;
37
+ case 'array':
38
+ // For arrays, we'll default to array of any unless more specific
39
+ fieldSchema = z.array(z.any());
40
+ break;
41
+ case 'object':
42
+ // For objects, we'll default to record of any unless more specific
43
+ fieldSchema = z.record(z.any());
44
+ break;
45
+ default:
46
+ // Default to string for unknown types
47
+ fieldSchema = z.string();
48
+ }
49
+
50
+ // Add description if available
51
+ if (field.description) {
52
+ fieldSchema = fieldSchema.describe(field.description);
53
+ }
54
+
55
+ // Handle optional fields
56
+ if (field.required === false) {
57
+ fieldSchema = fieldSchema.optional();
58
+ }
59
+
60
+ schemaFields[field.name] = fieldSchema;
61
+ }
62
+ } else if (defaultSchema) {
63
+ // Use default schema if no fields provided
64
+ return z.object(defaultSchema);
65
+ }
66
+
67
+ return z.object(schemaFields);
68
+ }
@@ -0,0 +1 @@
1
+ export const wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -0,0 +1,81 @@
1
+ // ----------------- ElevenLabs WebSocket event types -----------------
2
+
3
+ interface BaseEvent {
4
+ type: string;
5
+ }
6
+
7
+ interface UserTranscriptEvent extends BaseEvent {
8
+ type: 'user_transcript';
9
+ user_transcription_event: {
10
+ user_transcript: string;
11
+ };
12
+ }
13
+
14
+ interface AgentResponseEvent extends BaseEvent {
15
+ type: 'agent_response';
16
+ agent_response_event: {
17
+ agent_response: string;
18
+ };
19
+ }
20
+
21
+ interface AudioResponseEvent extends BaseEvent {
22
+ type: 'audio';
23
+ audio_event: {
24
+ audio_base_64: string;
25
+ event_id: number;
26
+ };
27
+ }
28
+
29
+ interface InterruptionEvent extends BaseEvent {
30
+ type: 'interruption';
31
+ interruption_event: {
32
+ event_id: number;
33
+ };
34
+ }
35
+
36
+ interface PingEvent extends BaseEvent {
37
+ type: 'ping';
38
+ ping_event: {
39
+ event_id: number;
40
+ ping_ms: number;
41
+ };
42
+ }
43
+
44
+ interface ConversationInitiationMetadataEvent extends BaseEvent {
45
+ type: 'conversation_initiation_metadata';
46
+ conversation_initiation_metadata_event: {
47
+ conversation_id: string;
48
+ };
49
+ }
50
+
51
+ export interface AgentResponseCorrectionEvent extends BaseEvent {
52
+ type: 'agent_response_correction';
53
+ agent_response_correction_event: {
54
+ corrected_agent_response: string;
55
+ original_agent_response: string;
56
+ };
57
+ }
58
+
59
+ /** Union of all possible WebSocket events we care about */
60
+ export type ElevenLabsWebSocketEvent =
61
+ | UserTranscriptEvent
62
+ | AgentResponseEvent
63
+ | AudioResponseEvent
64
+ | InterruptionEvent
65
+ | PingEvent
66
+ | ConversationInitiationMetadataEvent
67
+ | AgentResponseCorrectionEvent;
68
+
69
+ /** Shape of the message sent to ElevenLabs when starting a conversation */
70
+ export interface ConversationInitiationClientData {
71
+ type: 'conversation_initiation_client_data';
72
+ conversation_config_override: {
73
+ agent: {
74
+ first_message: string;
75
+ language: string;
76
+ };
77
+ tts?: {
78
+ voice_id: string;
79
+ };
80
+ };
81
+ }