@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,167 @@
1
+ import {
2
+ Edge,
3
+ EdgeType,
4
+ Node,
5
+ PromptConditionEdge,
6
+ LogicalConditionEdge,
7
+ StepForwardEdge,
8
+ NodeType,
9
+ ToolNode,
10
+ BrowserTaskNode,
11
+ } from '../types/Flows.types';
12
+ import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
13
+ import { BaseLanguageModel } from '@langchain/core/language_models/base';
14
+ import { createPromptRouter } from './createPromptRouter';
15
+ import { createLogicalRouter } from './createLogicalRouter';
16
+ import { createDirectEdge } from './createDirectEdge';
17
+ import { addHumanInTheLoopNode, buildHumanInTheLoopNodeName } from '../nodes/addHumanInTheLoopNode';
18
+ import { addToolRunNode, buildToolRunNodeName } from '../nodes/addToolRunNode';
19
+ import { addBrowserTaskRunNode, buildBrowserTaskRunNodeName } from '../nodes/addBrowserTaskRunNode';
20
+ import { Tool } from '../types/Tools.types';
21
+ import { Agent } from '../agent';
22
+ import { logger } from '../utils/logger';
23
+
24
+ type EdgesBySource = {
25
+ stepForward?: StepForwardEdge;
26
+ logical: LogicalConditionEdge[];
27
+ prompt: PromptConditionEdge[];
28
+ };
29
+
30
+ export const edgeFactory = ({
31
+ graph,
32
+ edges,
33
+ nodes,
34
+ tools,
35
+ llm,
36
+ agent,
37
+ }: {
38
+ graph: PreCompiledGraph;
39
+ edges: Edge[];
40
+ nodes: Record<string, Node>;
41
+ tools: Tool<any, any>[];
42
+ llm: BaseLanguageModel;
43
+ agent: Agent;
44
+ }) => {
45
+ /**
46
+ * Creates a combined router that handles edge priority: step forward > logical > prompt
47
+ */
48
+ const createCombinedRouter = (sourceNode: string, edgesBySource: EdgesBySource, originalNode: Node) => {
49
+ return async (state: typeof stateAnnotation.State) => {
50
+ // Priority 1: Step forward edge (max 1)
51
+ if (edgesBySource.stepForward) {
52
+ const directRouter = createDirectEdge(edgesBySource.stepForward);
53
+ return await directRouter(state);
54
+ }
55
+
56
+ // Priority 2: Logical condition edges
57
+ if (edgesBySource.logical.length > 0) {
58
+ const logicalRouter = createLogicalRouter({ edges: edgesBySource.logical, agent });
59
+ const result = await logicalRouter(state);
60
+ if (result) {
61
+ return result;
62
+ } else {
63
+ logger.debug({
64
+ msg: 'No logical conditions matched, continuing to prompt conditions',
65
+ sessionId: state.sessionId,
66
+ originalNode: originalNode?.displayName,
67
+ sourceNode: sourceNode,
68
+ });
69
+ }
70
+ }
71
+
72
+ // Priority 3: Prompt condition edges
73
+ if (edgesBySource.prompt.length > 0) {
74
+ // Use the original node to check canStayOnNode property
75
+ // For PROMPT_NODE: default to true when undefined
76
+ // For other types: default to false when undefined
77
+ let canStayInCurrentNode = originalNode?.canStayOnNode;
78
+ if (canStayInCurrentNode === undefined) {
79
+ canStayInCurrentNode = originalNode?.type === NodeType.PROMPT_NODE;
80
+ }
81
+
82
+ const promptRouter = createPromptRouter({
83
+ edges: edgesBySource.prompt,
84
+ llm,
85
+ canStayInCurrentNode,
86
+ currentNodeName: originalNode?.name || sourceNode,
87
+ });
88
+ return await promptRouter(state);
89
+ }
90
+
91
+ // Fallback: stay at current source node
92
+ const source = originalNode?.name || sourceNode;
93
+
94
+ if (originalNode.type !== NodeType.PROMPT_NODE || originalNode.canStayOnNode == false) {
95
+ logger.error({
96
+ msg: `No conditions matched but cannot stay on current node`,
97
+ sessionId: state.sessionId,
98
+ originalNode: originalNode,
99
+ sourceNode: sourceNode,
100
+ });
101
+ throw new Error('Tried to stay on current node but but current node is not a prompt node or canStayOnNode is false');
102
+ }
103
+
104
+ logger.info({
105
+ msg: `No conditions matched, returning to source: ${source}`,
106
+ sessionId: state.sessionId,
107
+ originalNode: originalNode?.displayName,
108
+ sourceNode: sourceNode,
109
+ });
110
+ return source;
111
+ };
112
+ };
113
+
114
+ /**
115
+ * Processes all edges for a specific source node with enhanced capabilities
116
+ */
117
+ const processEdgesForNode = (source: string, edgesBySource: EdgesBySource): void => {
118
+ let effectiveSource = source;
119
+ const originalNode = nodes[source];
120
+
121
+ // Handle human-in-the-loop enhancement
122
+ if (originalNode?.humanInTheLoop) {
123
+ addHumanInTheLoopNode({ graph, attachedToNodeName: source });
124
+ effectiveSource = buildHumanInTheLoopNodeName(source);
125
+ }
126
+
127
+ if (originalNode?.type === NodeType.TOOL) {
128
+ addToolRunNode({ graph, tools, llm, toolNode: originalNode as ToolNode, attachedToNodeName: source, agent });
129
+ effectiveSource = buildToolRunNodeName(source);
130
+ }
131
+
132
+ if (originalNode?.type === NodeType.BROWSER_TASK) {
133
+ addBrowserTaskRunNode({ graph, browserTaskNode: originalNode as BrowserTaskNode, attachedToNodeName: source, agent });
134
+ effectiveSource = buildBrowserTaskRunNodeName(source);
135
+ }
136
+
137
+ // Create and add the combined conditional edge with original node reference
138
+ const combinedRouter = createCombinedRouter(effectiveSource, edgesBySource, originalNode);
139
+ graph.addConditionalEdges(effectiveSource as any, combinedRouter);
140
+ };
141
+
142
+ // Get all unique source nodes and categorize their edges in a single pass
143
+ const edgesBySource = edges.reduce((acc, edge) => {
144
+ if (!acc[edge.source]) {
145
+ acc[edge.source] = {
146
+ stepForward: undefined,
147
+ logical: [],
148
+ prompt: [],
149
+ };
150
+ }
151
+
152
+ if (edge.type === EdgeType.STEP_FORWARD) {
153
+ acc[edge.source].stepForward = edge as StepForwardEdge;
154
+ } else if (edge.type === EdgeType.LOGICAL_CONDITION) {
155
+ acc[edge.source].logical.push(edge as LogicalConditionEdge);
156
+ } else if (edge.type === EdgeType.PROMPT_CONDITION) {
157
+ acc[edge.source].prompt.push(edge as PromptConditionEdge);
158
+ }
159
+
160
+ return acc;
161
+ }, {} as Record<string, EdgesBySource>);
162
+
163
+ // Process edges for each source node
164
+ Object.entries(edgesBySource).forEach(([source, categorizedEdges]) => {
165
+ processEdgesForNode(source, categorizedEdges);
166
+ });
167
+ };
@@ -0,0 +1,58 @@
1
+ import { State } from '../types/LangGraph.types';
2
+ import { LogicalConditionEdge } from '../types/Flows.types';
3
+ import { TriggerEvent } from '../types/Agent.types';
4
+
5
+ export enum AgentEvents {
6
+ AI_MESSAGE = 'AI_MESSAGE',
7
+ TRIGGER_EVENT = 'TRIGGER_EVENT',
8
+ VOICE_SESSION_START = 'VOICE_SESSION_START',
9
+ ERROR = 'ERROR',
10
+ ON_LOGICAL_CONDITION = 'ON_LOGICAL_CONDITION',
11
+ ON_LOGICAL_CONDITION_RESULT = 'ON_LOGICAL_CONDITION_RESULT',
12
+ }
13
+
14
+ export type AgentEventRequestPayloads<Memory> = {
15
+ [AgentEvents.AI_MESSAGE]: {
16
+ message: string;
17
+ state: State<Memory>;
18
+ };
19
+ [AgentEvents.TRIGGER_EVENT]: TriggerEvent & {
20
+ state: State<Memory>;
21
+ };
22
+ [AgentEvents.VOICE_SESSION_START]: {
23
+ metadata?: Record<string, any>;
24
+ state: State<Memory>;
25
+ };
26
+ [AgentEvents.ERROR]: {
27
+ error: Error;
28
+ state: State<Memory>;
29
+ };
30
+ [AgentEvents.ON_LOGICAL_CONDITION]: {
31
+ edge: LogicalConditionEdge;
32
+ state: State<Memory>;
33
+ condition: string;
34
+ };
35
+ [AgentEvents.ON_LOGICAL_CONDITION_RESULT]: {
36
+ edge: LogicalConditionEdge;
37
+ state: State<Memory>;
38
+ condition: string;
39
+ result: boolean;
40
+ executionTimeMs: number;
41
+ error?: Error;
42
+ };
43
+ };
44
+
45
+ export type AgentEventResponsePayloads = {
46
+ [AgentEvents.AI_MESSAGE]: void;
47
+ [AgentEvents.TRIGGER_EVENT]: {
48
+ isQualified: boolean;
49
+ };
50
+ [AgentEvents.VOICE_SESSION_START]: void;
51
+ [AgentEvents.ERROR]: {
52
+ throwError: boolean;
53
+ };
54
+ [AgentEvents.ON_LOGICAL_CONDITION]: void;
55
+ [AgentEvents.ON_LOGICAL_CONDITION_RESULT]: {
56
+ throwError: boolean;
57
+ };
58
+ };
@@ -0,0 +1,3 @@
1
+ import { AgentEvents } from './AgentEvents';
2
+
3
+ export default AgentEvents;
package/src/index.ts ADDED
@@ -0,0 +1,105 @@
1
+ import { Agent } from './agent';
2
+ import events from './events';
3
+ import { logger } from './utils/logger';
4
+ import { sendPlaceholderMessage } from './internalTools/voice/sendPlaceholderMessage';
5
+ import { resetTimer, cancelTimer, onTimer } from './internalTools/timer';
6
+ import { retellCall, retellGetCall } from './internalTools/voice/retell';
7
+ import { escalateVoiceCall } from './internalTools/voice/escalateVoiceCall';
8
+ import { mindedConnectionSocketMessageType } from './platform/mindedConnectionTypes';
9
+
10
+ export type { ElevenLabsContext } from './types/Voice.types';
11
+ export {
12
+ Agent,
13
+ events,
14
+ logger,
15
+ sendPlaceholderMessage,
16
+ resetTimer,
17
+ cancelTimer,
18
+ onTimer,
19
+ retellCall,
20
+ retellGetCall,
21
+ escalateVoiceCall,
22
+ mindedConnectionSocketMessageType,
23
+ };
24
+
25
+ // Export LLM implementations
26
+ export { MindedChatOpenAI } from './platform/models/mindedChatOpenAI';
27
+ export { createParallelWrapper } from './platform/models/parallelWrapper';
28
+ export type { MindedChatOpenAIFields, BaseParallelChatFields } from './platform/models/mindedChatOpenAI';
29
+ export type { BaseParallelChatFields as ParallelWrapperFields } from './platform/models/parallelWrapper';
30
+
31
+ // HTTP module for PII masking - only public API
32
+ export type { PIIGatewayInstance, HttpRequestConfig, HttpResponse } from './platform/piiGateway';
33
+
34
+ export type {
35
+ Flow,
36
+ Node,
37
+ Edge,
38
+ TriggerNode,
39
+ AppTriggerNode,
40
+ PromptNode,
41
+ PromptConditionEdge,
42
+ LogicalConditionEdge,
43
+ StepForwardEdge,
44
+ ManualTriggerNode,
45
+ JunctionNode,
46
+ ToolNode,
47
+ AppToolNode,
48
+ VoiceTriggerNode,
49
+ WebhookTriggerNode,
50
+ InterfaceTriggerNode,
51
+ RpaNode,
52
+ RpaStep,
53
+ } from './types/Flows.types';
54
+ export {
55
+ NodeType,
56
+ TriggerType,
57
+ EdgeType,
58
+ AppNodeMetadata,
59
+ AppNodeMetadataType,
60
+ NodeMetadata,
61
+ KnownTriggerNames,
62
+ RpaActionType,
63
+ } from './types/Flows.types';
64
+ export type { Tool, ToolExecuteInput } from './types/Tools.types';
65
+
66
+ // Document processing utilities
67
+ export { DocumentProcessor, extractFromDocument } from './internalTools/documentExtraction/documentExtraction';
68
+ export type {
69
+ DocumentProcessorConfig,
70
+ DocumentExtractionOptions,
71
+ DocumentProcessingResult,
72
+ } from './internalTools/documentExtraction/types';
73
+
74
+ export {
75
+ HistoryStep,
76
+ TriggerHistoryStep,
77
+ AppActionInvocationHistoryStep,
78
+ AppTriggerHistoryStep,
79
+ CustomActionInvocationHistoryStep,
80
+ SessionType,
81
+ TriggerEvent,
82
+ } from './types/Agent.types';
83
+ export type { AgentInvokeParams, MindedSDKConfig } from './types/Agent.types';
84
+ export type { Environment } from './types/Platform.types';
85
+ export type { State } from './types/LangGraph.types';
86
+ export { zendesk } from './interfaces/zendesk';
87
+
88
+ // Export tools library
89
+ export * as toolsLibrary from './toolsLibrary';
90
+
91
+ // Export classifier utilities
92
+ export { classify, createClassifier, multiClassify } from './toolsLibrary/classifier';
93
+ export type { ClassDefinition, ClassifierConfig, ClassificationResult } from './toolsLibrary/classifier';
94
+
95
+ // Export extraction utilities
96
+ export { extract, createExtractor } from './toolsLibrary/extraction';
97
+ export type { ExtractionSchema, ExtractionConfig, ExtractionResult } from './toolsLibrary/extraction';
98
+
99
+ // Export event types
100
+ export { AgentEvents } from './events/AgentEvents';
101
+ export type { AgentEventRequestPayloads, AgentEventResponsePayloads } from './events/AgentEvents';
102
+
103
+ export { createBrowserSession, destroyBrowserSession } from './browserTask/executeBrowserTask';
104
+
105
+ export { LLMDebugCallbackHandler } from './debugging';
@@ -0,0 +1,212 @@
1
+ import { Agent } from '../agent';
2
+ import * as mindedConnection from '../platform/mindedConnection';
3
+ import { mindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
4
+ import { InterfaceTriggerNode } from '../types/Flows.types';
5
+
6
+ const getZendeskMindedNode = async (agent: Agent | null) => {
7
+ if (!agent) {
8
+ throw new Error('Agent is not initialized');
9
+ }
10
+ const node = agent.flows
11
+ .flatMap((flow) => flow.nodes)
12
+ .find((node) => (node as InterfaceTriggerNode).actionName === 'Zendesk Minded Conversation');
13
+ if (!node) {
14
+ throw new Error('Zendesk Minded Conversation node not found');
15
+ }
16
+ return node as InterfaceTriggerNode;
17
+ };
18
+
19
+ const getInterfaceParameters = async (agent: Agent | null) => {
20
+ const zendeskMindedNode = await getZendeskMindedNode(agent);
21
+ return zendeskMindedNode?.parameters;
22
+ };
23
+
24
+ export const zendesk = {
25
+ agent: null as Agent | null,
26
+ init: async (agent: Agent) => {
27
+ zendesk.agent = agent;
28
+ },
29
+
30
+ sendMessage: async (sessionId: string, message: string) => {
31
+ if (!mindedConnection.isConnected()) return;
32
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
33
+
34
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
35
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
36
+ interfaceName: 'zendesk',
37
+ sessionId,
38
+ functionName: 'sendMessage',
39
+ functionArgs: { message },
40
+ interfaceParameters,
41
+ });
42
+ },
43
+
44
+ sendComment: async (sessionId: string, comment: string) => {
45
+ if (!mindedConnection.isConnected()) return;
46
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
47
+
48
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
49
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
50
+ interfaceName: 'zendesk',
51
+ sessionId,
52
+ functionName: 'sendComment',
53
+ functionArgs: { comment },
54
+ interfaceParameters,
55
+ });
56
+ },
57
+
58
+ sendPublicComment: async (sessionId: string, comment: string) => {
59
+ if (!mindedConnection.isConnected()) return;
60
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
61
+
62
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
63
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
64
+ interfaceName: 'zendesk',
65
+ sessionId,
66
+ functionName: 'sendPublicComment',
67
+ functionArgs: { comment },
68
+ interfaceParameters,
69
+ });
70
+ },
71
+
72
+ getConversation: async (sessionId: string) => {
73
+ if (!mindedConnection.isConnected()) return;
74
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
75
+
76
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
77
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
78
+ interfaceName: 'zendesk',
79
+ sessionId,
80
+ functionName: 'getConversation',
81
+ functionArgs: {},
82
+ interfaceParameters,
83
+ });
84
+ },
85
+
86
+ getConversationMessages: async (sessionId: string) => {
87
+ if (!mindedConnection.isConnected()) return;
88
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
89
+
90
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
91
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
92
+ interfaceName: 'zendesk',
93
+ sessionId,
94
+ functionName: 'getConversationMessages',
95
+ functionArgs: {},
96
+ interfaceParameters,
97
+ });
98
+ },
99
+
100
+ addTag: async (sessionId: string, tag: string) => {
101
+ if (!mindedConnection.isConnected()) return;
102
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
103
+
104
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
105
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
106
+ interfaceName: 'zendesk',
107
+ sessionId,
108
+ functionName: 'addTag',
109
+ functionArgs: { tag },
110
+ interfaceParameters,
111
+ });
112
+ },
113
+
114
+ getTicket: async (sessionId: string) => {
115
+ if (!mindedConnection.isConnected()) return;
116
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
117
+
118
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
119
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
120
+ interfaceName: 'zendesk',
121
+ sessionId,
122
+ functionName: 'getTicket',
123
+ functionArgs: {
124
+ sessionId,
125
+ },
126
+ interfaceParameters,
127
+ });
128
+ },
129
+
130
+ createTicket: async ({
131
+ sessionId,
132
+ subject,
133
+ ticketBody,
134
+ priority,
135
+ tags,
136
+ customFields,
137
+ }: {
138
+ sessionId: string;
139
+ subject: string;
140
+ ticketBody: string;
141
+ priority: string;
142
+ tags: string[];
143
+ customFields: any[];
144
+ }) => {
145
+ if (!mindedConnection.isConnected()) return;
146
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
147
+
148
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
149
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
150
+ interfaceName: 'zendesk',
151
+ sessionId,
152
+ functionName: 'createTicket',
153
+ functionArgs: { subject, ticketBody, priority, tags, customFields },
154
+ interfaceParameters,
155
+ });
156
+ },
157
+ markTicketAsSolved: async ({ sessionId }: { sessionId: string }) => {
158
+ if (!mindedConnection.isConnected()) return;
159
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
160
+
161
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
162
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
163
+ interfaceName: 'zendesk',
164
+ sessionId,
165
+ functionName: 'markTicketAsSolved',
166
+ functionArgs: { sessionId },
167
+ interfaceParameters,
168
+ });
169
+ },
170
+
171
+ markTicketAsOpen: async ({ sessionId }: { sessionId: string }) => {
172
+ if (!mindedConnection.isConnected()) return;
173
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
174
+
175
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
176
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
177
+ interfaceName: 'zendesk',
178
+ sessionId,
179
+ functionName: 'markTicketAsOpen',
180
+ functionArgs: { sessionId },
181
+ interfaceParameters,
182
+ });
183
+ },
184
+
185
+ setCustomFields: async ({ sessionId, fields }: { sessionId: string; fields: any[] }) => {
186
+ if (!mindedConnection.isConnected()) return;
187
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
188
+
189
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
190
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
191
+ interfaceName: 'zendesk',
192
+ sessionId,
193
+ functionName: 'setCustomFieldsAPI',
194
+ functionArgs: { sessionId, fields },
195
+ interfaceParameters,
196
+ });
197
+ },
198
+
199
+ search: async ({ sessionId, query }: { sessionId: string; query: string }) => {
200
+ if (!mindedConnection.isConnected()) return;
201
+ const interfaceParameters = await getInterfaceParameters(zendesk.agent);
202
+
203
+ return await mindedConnection.awaitEmit(mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL, {
204
+ type: mindedConnectionSocketMessageType.INTERFACE_FUNCTION_CALL,
205
+ interfaceName: 'zendesk',
206
+ sessionId,
207
+ functionName: 'search',
208
+ functionArgs: { query },
209
+ interfaceParameters,
210
+ });
211
+ },
212
+ };
@@ -0,0 +1,68 @@
1
+ import * as mindedConnection from '../platform/mindedConnection';
2
+ import { mindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
3
+ import { ActionInputParam } from '../types/Flows.types';
4
+ import { Tool, ToolExecuteInput } from '../types/Tools.types';
5
+ import { z } from 'zod';
6
+
7
+ const typeToZodMap = {
8
+ string: z.string(),
9
+ number: z.number(),
10
+ boolean: z.boolean(),
11
+ array: z.array(z.any()),
12
+ object: z.record(z.any()),
13
+ any: z.any(),
14
+ } as const;
15
+
16
+ const convertToZodSchema = (schema: Record<string, { type: string; example?: any }>) => {
17
+ const zodSchema: Record<string, z.ZodType> = {};
18
+ for (const [key, { type }] of Object.entries(schema)) {
19
+ const zodType = typeToZodMap[type.toLowerCase() as keyof typeof typeToZodMap] ?? z.string();
20
+ zodSchema[key] = zodType;
21
+ }
22
+ return z.object(zodSchema);
23
+ };
24
+
25
+ const appActionRunnerToolCreator = (schema: ActionInputParam[], nodeTitle: string): Tool<any, any> => {
26
+ const zodSchema = convertToZodSchema(
27
+ schema.reduce((acc, param) => {
28
+ if (param.required) {
29
+ acc[param.name] = { type: param.type, example: param.example };
30
+ }
31
+ return acc;
32
+ }, {} as Record<string, { type: string; example?: any }>),
33
+ );
34
+ // Create a description that includes examples
35
+ const description = `Run ${nodeTitle} action. Example input: ${JSON.stringify(
36
+ schema.reduce((acc, param) => {
37
+ if (param.example !== undefined) {
38
+ acc[param.name] = param.example;
39
+ }
40
+ return acc;
41
+ }, {} as Record<string, any>),
42
+ null,
43
+ 2,
44
+ )}`;
45
+
46
+ const tool = {
47
+ name: nodeTitle,
48
+ description,
49
+ input: zodSchema,
50
+ execute: async ({ input, state }: ToolExecuteInput<typeof zodSchema>) => {
51
+ const response = await mindedConnection.awaitEmit(
52
+ mindedConnectionSocketMessageType.OnAppAction,
53
+ {
54
+ nodeTitle,
55
+ actionInput: input,
56
+ },
57
+ 20000,
58
+ );
59
+ return {
60
+ state,
61
+ result: response as { result?: any },
62
+ };
63
+ },
64
+ };
65
+ return tool;
66
+ };
67
+
68
+ export default appActionRunnerToolCreator;