@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,208 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadPlaybooks = loadPlaybooks;
37
+ exports.combinePlaybooks = combinePlaybooks;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const yaml = __importStar(require("js-yaml"));
41
+ const mindedConnection = __importStar(require("../platform/mindedConnection"));
42
+ const mindedConnectionTypes_1 = require("../platform/mindedConnectionTypes");
43
+ const config_1 = require("../platform/config");
44
+ const logger_1 = require("../utils/logger");
45
+ const Platform_types_1 = require("../types/Platform.types");
46
+ /**
47
+ * Decode HTML entities in a string
48
+ */
49
+ function decodeHtmlEntities(text) {
50
+ const entities = {
51
+ '&amp;': '&',
52
+ '&lt;': '<',
53
+ '&gt;': '>',
54
+ '&quot;': '"',
55
+ '&#39;': "'",
56
+ '&apos;': "'",
57
+ '&#x27;': "'",
58
+ '&#x2F;': '/',
59
+ '&#x60;': '`',
60
+ '&#x3D;': '=',
61
+ };
62
+ return text.replace(/&[#\w]+;/g, (entity) => entities[entity] || entity);
63
+ }
64
+ /**
65
+ * Convert EditorJS blocks to markdown
66
+ */
67
+ function editorJsToMarkdown(blocks) {
68
+ if (!blocks || blocks.length === 0) {
69
+ return '';
70
+ }
71
+ return blocks
72
+ .map((block) => {
73
+ var _a, _b, _c, _d, _e, _f, _g, _h;
74
+ try {
75
+ switch (block.type) {
76
+ case 'header': {
77
+ const level = ((_a = block.data) === null || _a === void 0 ? void 0 : _a.level) || 1;
78
+ const headerPrefix = '#'.repeat(level);
79
+ const text = ((_b = block.data) === null || _b === void 0 ? void 0 : _b.text) || '';
80
+ return `${headerPrefix} ${decodeHtmlEntities(text)}`;
81
+ }
82
+ case 'paragraph': {
83
+ const text = ((_c = block.data) === null || _c === void 0 ? void 0 : _c.text) || '';
84
+ return decodeHtmlEntities(text);
85
+ }
86
+ case 'list': {
87
+ const items = ((_d = block.data) === null || _d === void 0 ? void 0 : _d.items) || [];
88
+ const style = ((_e = block.data) === null || _e === void 0 ? void 0 : _e.style) || 'unordered';
89
+ return items
90
+ .map((item, index) => {
91
+ const decodedItem = decodeHtmlEntities(item.content);
92
+ if (style === 'ordered') {
93
+ return `${index + 1}. ${decodedItem}`;
94
+ }
95
+ else {
96
+ return `- ${decodedItem}`;
97
+ }
98
+ })
99
+ .join('\n');
100
+ }
101
+ case 'quote': {
102
+ const text = ((_f = block.data) === null || _f === void 0 ? void 0 : _f.text) || '';
103
+ const caption = ((_g = block.data) === null || _g === void 0 ? void 0 : _g.caption) ? `\n*${decodeHtmlEntities(block.data.caption)}*` : '';
104
+ return `> ${decodeHtmlEntities(text)}${caption}`;
105
+ }
106
+ case 'code': {
107
+ const code = ((_h = block.data) === null || _h === void 0 ? void 0 : _h.code) || '';
108
+ return `\`\`\`\n${decodeHtmlEntities(code)}\n\`\`\``;
109
+ }
110
+ case 'delimiter': {
111
+ return '---';
112
+ }
113
+ default: {
114
+ logger_1.logger.warn(`Unknown playbook block type: ${block.type}`);
115
+ return '';
116
+ }
117
+ }
118
+ }
119
+ catch (err) {
120
+ logger_1.logger.error({ message: 'Error converting EditorJS blocks to markdown', err, block });
121
+ throw err;
122
+ }
123
+ })
124
+ .join('\n\n');
125
+ }
126
+ /**
127
+ * Load playbooks from directories or platform
128
+ */
129
+ async function loadPlaybooks(playbooksDirectories) {
130
+ const { env, isDeployed } = (0, config_1.getConfig)();
131
+ let playbooks = [];
132
+ if ([Platform_types_1.Environment.DEVELOPMENT].includes(env) && isDeployed && mindedConnection.isConnected()) {
133
+ // Load from platform
134
+ const response = await mindedConnection.awaitEmit(mindedConnectionTypes_1.mindedConnectionSocketMessageType.GET_PLAYBOOKS, {});
135
+ if (response === null || response === void 0 ? void 0 : response.error) {
136
+ throw new Error(`Failed to load playbooks from platform: ${response.error}`);
137
+ }
138
+ playbooks = (response === null || response === void 0 ? void 0 : response.playbooks) || [];
139
+ }
140
+ else if (playbooksDirectories) {
141
+ // Load from directories
142
+ playbooks = loadPlaybooksFromDirectories(playbooksDirectories);
143
+ }
144
+ return playbooks;
145
+ }
146
+ /**
147
+ * Load playbooks from local directories
148
+ */
149
+ function loadPlaybooksFromDirectories(directories) {
150
+ const playbooks = [];
151
+ for (const directory of directories) {
152
+ if (!fs.existsSync(directory)) {
153
+ logger_1.logger.info({ msg: `Playbooks directory does not exist: ${directory}` });
154
+ continue;
155
+ }
156
+ const files = getAllYamlFiles(directory);
157
+ for (const file of files) {
158
+ try {
159
+ const fileContent = fs.readFileSync(file, 'utf8');
160
+ const playbook = yaml.load(fileContent);
161
+ if (playbook && playbook.name && playbook.blocks) {
162
+ playbooks.push(playbook);
163
+ logger_1.logger.info({ msg: `Loaded playbook: ${playbook.name} from ${file}` });
164
+ }
165
+ else {
166
+ logger_1.logger.warn({ msg: `Invalid playbook structure in ${file}` });
167
+ }
168
+ }
169
+ catch (err) {
170
+ logger_1.logger.error({ message: `Failed to load playbook file ${file}: ${err}` });
171
+ }
172
+ }
173
+ }
174
+ return playbooks;
175
+ }
176
+ /**
177
+ * Recursively get all YAML files in a directory
178
+ */
179
+ function getAllYamlFiles(dir) {
180
+ const files = [];
181
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
182
+ for (const entry of entries) {
183
+ const fullPath = path.join(dir, entry.name);
184
+ if (entry.isDirectory()) {
185
+ files.push(...getAllYamlFiles(fullPath));
186
+ }
187
+ else if (entry.name.endsWith('.yaml') || entry.name.endsWith('.yml')) {
188
+ files.push(fullPath);
189
+ }
190
+ }
191
+ return files;
192
+ }
193
+ /**
194
+ * Combine playbooks into a single string
195
+ */
196
+ function combinePlaybooks(playbooks) {
197
+ if (playbooks.length === 0) {
198
+ return null;
199
+ }
200
+ // Combine all playbooks into sections
201
+ const sections = playbooks.map((playbook) => {
202
+ const markdownContent = editorJsToMarkdown(playbook.blocks);
203
+ return `# ${playbook.name}\n${markdownContent}`;
204
+ });
205
+ const combinedPlaybooks = sections.join('\n\n');
206
+ return combinedPlaybooks;
207
+ }
208
+ //# sourceMappingURL=playbooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbooks.js","sourceRoot":"","sources":["../../src/playbooks/playbooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { z } from 'zod';
2
+ import { Tool } from '../types/Tools.types';
3
+ import { BaseLanguageModel } from '@langchain/core/language_models/base';
4
+ export interface ClassDefinition {
5
+ name: string;
6
+ description: string;
7
+ }
8
+ export interface ClassifierConfig {
9
+ classes: ClassDefinition[];
10
+ systemPrompt?: string;
11
+ defaultClass: string;
12
+ defaultReason: string;
13
+ }
14
+ export interface ClassificationResult {
15
+ class: string;
16
+ reason: string;
17
+ confidence: number;
18
+ [key: string]: any;
19
+ }
20
+ /**
21
+ * Generic classifier utility that can be used standalone
22
+ * @param content The content to classify
23
+ * @param config The classifier configuration
24
+ * @param llm The language model to use for classification
25
+ * @returns The classification result
26
+ */
27
+ export declare function classify(content: string, config: ClassifierConfig, llm: BaseLanguageModel): Promise<ClassificationResult>;
28
+ /**
29
+ * Create a classifier from a simple class list
30
+ * @param classes Array of class names or [name, description] tuples
31
+ * @param options Configuration options (includeReason, defaultClass, defaultReason are required)
32
+ * @returns A configured classify function
33
+ */
34
+ export declare function createClassifier(classes: string[] | [string, string][], options: Omit<ClassifierConfig, 'classes'>): (content: string, llm: BaseLanguageModel) => Promise<ClassificationResult>;
35
+ export declare const schema: z.ZodObject<{
36
+ content: z.ZodString;
37
+ classes: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodTuple<[z.ZodString, z.ZodString], null>, z.ZodObject<{
38
+ name: z.ZodString;
39
+ description: z.ZodString;
40
+ }, "strip", z.ZodTypeAny, {
41
+ name: string;
42
+ description: string;
43
+ }, {
44
+ name: string;
45
+ description: string;
46
+ }>]>, "many">>;
47
+ systemPrompt: z.ZodOptional<z.ZodString>;
48
+ defaultClass: z.ZodString;
49
+ defaultReason: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ content: string;
52
+ defaultClass: string;
53
+ defaultReason: string;
54
+ systemPrompt?: string | undefined;
55
+ classes?: (string | [string, string] | {
56
+ name: string;
57
+ description: string;
58
+ })[] | undefined;
59
+ }, {
60
+ content: string;
61
+ defaultClass: string;
62
+ defaultReason: string;
63
+ systemPrompt?: string | undefined;
64
+ classes?: (string | [string, string] | {
65
+ name: string;
66
+ description: string;
67
+ })[] | undefined;
68
+ }>;
69
+ declare const classifierTool: Tool<typeof schema, any>;
70
+ export default classifierTool;
71
+ export declare function multiClassify(content: string, config: ClassifierConfig & {
72
+ maxClasses?: number;
73
+ }, llm: BaseLanguageModel): Promise<ClassificationResult[]>;
74
+ //# sourceMappingURL=classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAYzE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA0BD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA4E/H;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAazG,SAAS,MAAM,EAAE,KAAK,iBAAiB,mCAChD;AAGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,GAAG,CA2E5C,CAAC;AAEF,eAAe,cAAc,CAAC;AAG9B,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAsDjC"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.schema = void 0;
4
+ exports.classify = classify;
5
+ exports.createClassifier = createClassifier;
6
+ exports.multiClassify = multiClassify;
7
+ const zod_1 = require("zod");
8
+ const logger_1 = require("../utils/logger");
9
+ const messages_1 = require("@langchain/core/messages");
10
+ function supportsStructuredOutput(llm) {
11
+ return 'withStructuredOutput' in llm && typeof llm.withStructuredOutput === 'function';
12
+ }
13
+ /**
14
+ * Create a dynamic Zod schema for classification result based on valid classes
15
+ */
16
+ function createClassificationSchema(config) {
17
+ const validClassNames = config.classes.map((c) => c.name);
18
+ // Validate that we have at least one class (z.enum requires at least one value)
19
+ if (validClassNames.length === 0) {
20
+ throw new Error('Cannot create classification schema with empty classes array');
21
+ }
22
+ // Create a union type for valid class names
23
+ const classEnum = zod_1.z.enum(validClassNames);
24
+ // Build the schema - always include all fields
25
+ const schemaShape = {
26
+ class: classEnum.describe('The selected classification category'),
27
+ reason: zod_1.z.string().describe('Explanation for the classification'),
28
+ confidence: zod_1.z.number().min(0).max(1).describe('Confidence score between 0 and 1'),
29
+ };
30
+ return zod_1.z.object(schemaShape);
31
+ }
32
+ /**
33
+ * Generic classifier utility that can be used standalone
34
+ * @param content The content to classify
35
+ * @param config The classifier configuration
36
+ * @param llm The language model to use for classification
37
+ * @returns The classification result
38
+ */
39
+ async function classify(content, config, llm) {
40
+ const MAX_RETRIES = 3;
41
+ let lastError = null;
42
+ // Validate that classes array is not empty
43
+ if (!config.classes || config.classes.length === 0) {
44
+ throw new Error('At least one class must be provided for classification');
45
+ }
46
+ // Check if LLM supports structured output upfront
47
+ if (!supportsStructuredOutput(llm)) {
48
+ throw new Error('LLM does not support structured output, which is required for classification');
49
+ }
50
+ for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
51
+ try {
52
+ // Build the classification prompt
53
+ const classesDescription = config.classes.map((c) => `${c.name}: ${c.description}`).join('\n');
54
+ const basePrompt = config.systemPrompt || 'You are a classifier. Your task is to classify the given content into one of the following categories:';
55
+ let prompt = `${basePrompt}\n\n${classesDescription}\n\n`;
56
+ // Add retry feedback if this is not the first attempt
57
+ if (attempt > 1) {
58
+ const validClassNames = config.classes.map((c) => c.name);
59
+ prompt += `\n⚠️ IMPORTANT: Your previous classification attempt failed. `;
60
+ prompt += `You MUST select ONLY from these valid classes:\n${validClassNames.join(', ')}\n\n`;
61
+ }
62
+ // Create dynamic schema based on valid classes
63
+ const classificationSchema = createClassificationSchema(config);
64
+ // Add content to classify to the prompt
65
+ prompt += `\n\nContent to classify:\n${content}`;
66
+ // Use structured output for guaranteed compliance
67
+ const structuredLLM = llm.withStructuredOutput(classificationSchema);
68
+ const messages = [new messages_1.SystemMessage(prompt)];
69
+ const result = (await structuredLLM.invoke(messages));
70
+ // The result is already validated by withStructuredOutput
71
+ logger_1.logger.debug({
72
+ message: 'Classification successful with structured output',
73
+ attempt,
74
+ class: result.class,
75
+ });
76
+ return result;
77
+ }
78
+ catch (err) {
79
+ lastError = err;
80
+ logger_1.logger.warn({
81
+ message: `Classification attempt ${attempt} failed`,
82
+ attempt,
83
+ maxRetries: MAX_RETRIES,
84
+ error: lastError.message,
85
+ });
86
+ }
87
+ }
88
+ // All retries exhausted - fallback to default
89
+ logger_1.logger.warn({
90
+ message: 'Classification failed after max retries, using default class',
91
+ maxRetries: MAX_RETRIES,
92
+ lastError: lastError === null || lastError === void 0 ? void 0 : lastError.message,
93
+ defaultClass: config.defaultClass,
94
+ defaultReason: config.defaultReason,
95
+ });
96
+ // Return default classification
97
+ return {
98
+ class: config.defaultClass,
99
+ reason: config.defaultReason,
100
+ confidence: 0,
101
+ };
102
+ }
103
+ /**
104
+ * Create a classifier from a simple class list
105
+ * @param classes Array of class names or [name, description] tuples
106
+ * @param options Configuration options (includeReason, defaultClass, defaultReason are required)
107
+ * @returns A configured classify function
108
+ */
109
+ function createClassifier(classes, options) {
110
+ const classDefinitions = classes.map((c) => {
111
+ if (typeof c === 'string') {
112
+ return { name: c, description: '' };
113
+ }
114
+ return { name: c[0], description: c[1] };
115
+ });
116
+ const config = {
117
+ ...options,
118
+ classes: classDefinitions,
119
+ };
120
+ return (content, llm) => classify(content, config, llm);
121
+ }
122
+ // Schema for the classifier tool
123
+ exports.schema = zod_1.z.object({
124
+ content: zod_1.z.string().describe('The content to classify'),
125
+ classes: zod_1.z
126
+ .array(zod_1.z.union([
127
+ zod_1.z.string(),
128
+ zod_1.z.tuple([zod_1.z.string(), zod_1.z.string()]),
129
+ zod_1.z.object({
130
+ name: zod_1.z.string(),
131
+ description: zod_1.z.string(),
132
+ }),
133
+ ]))
134
+ .optional()
135
+ .describe('Classes to classify into. Can be strings, [name, description] tuples, or objects with name and description'),
136
+ systemPrompt: zod_1.z.string().optional().describe('Custom system prompt for classification'),
137
+ defaultClass: zod_1.z.string().describe('Default class to use if classification fails'),
138
+ defaultReason: zod_1.z.string().describe('Default reason to use if classification fails'),
139
+ });
140
+ const classifierTool = {
141
+ name: 'minded-classifier',
142
+ description: 'Classify content into predefined categories using AI. Supports custom classes and system prompts. Uses structured output for guaranteed schema compliance. Requires default fallback values.',
143
+ input: exports.schema,
144
+ isGlobal: false,
145
+ execute: async ({ input, state, agent }) => {
146
+ var _a, _b;
147
+ const { content, classes, systemPrompt, defaultClass, defaultReason } = input;
148
+ logger_1.logger.info({
149
+ message: 'Classifying content',
150
+ sessionId: state.sessionId,
151
+ contentLength: content.length,
152
+ classCount: classes === null || classes === void 0 ? void 0 : classes.length,
153
+ });
154
+ // Convert input classes to ClassDefinition format
155
+ let classDefinitions = [];
156
+ if (classes) {
157
+ classDefinitions = classes.map((c) => {
158
+ if (typeof c === 'string') {
159
+ return { name: c, description: '' };
160
+ }
161
+ else if (Array.isArray(c)) {
162
+ return { name: c[0], description: c[1] };
163
+ }
164
+ else {
165
+ return c;
166
+ }
167
+ });
168
+ }
169
+ // If no classes provided, try to get from state memory
170
+ if (classDefinitions.length === 0 && ((_b = (_a = state.memory) === null || _a === void 0 ? void 0 : _a.classifierConfig) === null || _b === void 0 ? void 0 : _b.classes)) {
171
+ classDefinitions = state.memory.classifierConfig.classes;
172
+ }
173
+ if (classDefinitions.length === 0) {
174
+ throw new Error('No classes provided for classification');
175
+ }
176
+ const config = {
177
+ classes: classDefinitions,
178
+ systemPrompt,
179
+ defaultClass,
180
+ defaultReason,
181
+ };
182
+ try {
183
+ const result = await classify(content, config, agent.llm);
184
+ logger_1.logger.info({
185
+ message: 'Classification completed',
186
+ sessionId: state.sessionId,
187
+ class: result.class,
188
+ confidence: result.confidence,
189
+ });
190
+ state.memory.lastClassification = {
191
+ content: content.substring(0, 100) + (content.length > 100 ? '...' : ''),
192
+ result,
193
+ timestamp: new Date().toISOString(),
194
+ };
195
+ return {
196
+ result,
197
+ };
198
+ }
199
+ catch (err) {
200
+ logger_1.logger.error({
201
+ message: 'Classification failed',
202
+ sessionId: state.sessionId,
203
+ err,
204
+ });
205
+ throw err;
206
+ }
207
+ },
208
+ };
209
+ exports.default = classifierTool;
210
+ // Export utility for multi-label classification
211
+ async function multiClassify(content, config, llm) {
212
+ const maxClasses = config.maxClasses || 3;
213
+ // Validate that classes array is not empty
214
+ if (!config.classes || config.classes.length === 0) {
215
+ throw new Error('At least one class must be provided for multi-classification');
216
+ }
217
+ // Check if LLM supports structured output
218
+ if (!supportsStructuredOutput(llm)) {
219
+ throw new Error('LLM does not support structured output, which is required for multi-classification');
220
+ }
221
+ try {
222
+ const classesDescription = config.classes.map((c) => `${c.name}: ${c.description}`).join('\n');
223
+ const validClassNames = config.classes.map((c) => c.name);
224
+ const basePrompt = config.systemPrompt || 'You are a multi-label classifier. Select all applicable categories for the given content:';
225
+ const prompt = `${basePrompt}\n\n${classesDescription}\n\n
226
+ Select up to ${maxClasses} classifications, ordered by relevance.
227
+
228
+ Content to classify:
229
+ ${content}`;
230
+ // Create schema for array of classifications
231
+ const classEnum = zod_1.z.enum(validClassNames);
232
+ const multiClassSchema = zod_1.z
233
+ .array(zod_1.z.object({
234
+ class: classEnum.describe('The selected classification category'),
235
+ reason: zod_1.z.string().describe('Explanation for the classification'),
236
+ confidence: zod_1.z.number().min(0).max(1).describe('Confidence score between 0 and 1'),
237
+ }))
238
+ .min(1)
239
+ .max(maxClasses);
240
+ const structuredLLM = llm.withStructuredOutput(multiClassSchema);
241
+ const messages = [new messages_1.SystemMessage(prompt)];
242
+ const result = (await structuredLLM.invoke(messages));
243
+ return result;
244
+ }
245
+ catch (err) {
246
+ logger_1.logger.error({ message: 'Multi-classification failed', err });
247
+ return [
248
+ {
249
+ class: config.defaultClass,
250
+ reason: config.defaultReason,
251
+ confidence: 0,
252
+ },
253
+ ];
254
+ }
255
+ }
256
+ //# sourceMappingURL=classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/toolsLibrary/classifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { z } from 'zod';
2
+ import { Tool } from '../types/Tools.types';
3
+ import { BaseLanguageModel } from '@langchain/core/language_models/base';
4
+ export type ExtractionSchema = z.ZodTypeAny;
5
+ export interface ExtractionConfig {
6
+ schema: ExtractionSchema;
7
+ systemPrompt?: string;
8
+ examples?: Array<{
9
+ input: string;
10
+ output?: any;
11
+ }>;
12
+ defaultValue?: any;
13
+ maxRetries?: number;
14
+ strictMode?: boolean;
15
+ }
16
+ export type ExtractionResult = z.infer<ExtractionSchema>;
17
+ /**
18
+ * Generic extraction utility that can be used standalone
19
+ *
20
+ * When strictMode is true:
21
+ * - If the LLM supports withStructuredOutput, it will use that for guaranteed schema compliance
22
+ * - Otherwise, it falls back to JSON parsing with Zod validation and retries
23
+ *
24
+ * When strictMode is false:
25
+ * - Uses JSON parsing without validation for more flexibility
26
+ *
27
+ * @param content The content to extract from
28
+ * @param config The extraction configuration
29
+ * @param llm The language model to use for extraction
30
+ * @param attemptNumber Current attempt number (used internally for retries)
31
+ * @returns The extraction result
32
+ */
33
+ export declare function extract(content: string, config: ExtractionConfig, llm: BaseLanguageModel, attemptNumber?: number): Promise<ExtractionResult>;
34
+ /**
35
+ * Create a simple extractor for common use cases
36
+ * @param schemaOrPrompt Either a Zod schema or a simple prompt string
37
+ * @param options Additional configuration options
38
+ * @returns A configured extract function
39
+ */
40
+ export declare function createExtractor(schemaOrPrompt: ExtractionSchema | string, options?: Partial<ExtractionConfig>): (content: string, llm: BaseLanguageModel) => Promise<any>;
41
+ export declare const schema: z.ZodObject<{
42
+ content: z.ZodString;
43
+ schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
44
+ systemPrompt: z.ZodOptional<z.ZodString>;
45
+ examples: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
+ input: z.ZodString;
47
+ output: z.ZodAny;
48
+ }, "strip", z.ZodTypeAny, {
49
+ input: string;
50
+ output?: any;
51
+ }, {
52
+ input: string;
53
+ output?: any;
54
+ }>, "many">>;
55
+ strictMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
56
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
57
+ defaultValue: z.ZodOptional<z.ZodAny>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ maxRetries: number;
60
+ content: string;
61
+ strictMode: boolean;
62
+ schema?: Record<string, any> | undefined;
63
+ systemPrompt?: string | undefined;
64
+ examples?: {
65
+ input: string;
66
+ output?: any;
67
+ }[] | undefined;
68
+ defaultValue?: any;
69
+ }, {
70
+ content: string;
71
+ maxRetries?: number | undefined;
72
+ schema?: Record<string, any> | undefined;
73
+ systemPrompt?: string | undefined;
74
+ examples?: {
75
+ input: string;
76
+ output?: any;
77
+ }[] | undefined;
78
+ defaultValue?: any;
79
+ strictMode?: boolean | undefined;
80
+ }>;
81
+ declare const extractionTool: Tool<typeof schema, any>;
82
+ export default extractionTool;
83
+ //# sourceMappingURL=extraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/toolsLibrary/extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAYzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,UAAU,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AA0EzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,iBAAiB,EACtB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA+G3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,gBAAgB,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAoBpG,SAAS,MAAM,EAAE,KAAK,iBAAiB,kBAChD;AAGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,GAAG,CAyG5C,CAAC;AAEF,eAAe,cAAc,CAAC"}