@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,367 @@
1
+ # Nodes
2
+
3
+ Nodes are the building blocks of MindedJS flows - discrete processing units that handle different aspects of your agent's workflow.
4
+
5
+ ## Node Types Overview
6
+
7
+ | Node Type | Purpose | Description |
8
+ | --------------------------------------- | -------------- | ---------------------------------------- |
9
+ | [**Trigger**](nodes.md#trigger-nodes) | Entry Points | Start flows from various sources |
10
+ | [**Prompt**](nodes.md#prompt-nodes) | LLM Processing | Generate responses using language models |
11
+ | [**Tool**](nodes.md#tool-nodes) | Actions | Execute external functions and APIs |
12
+ | [**Junction**](nodes.md#junction-nodes) | Flow Control | Route and organize flow logic |
13
+ | [**Jump To**](nodes.md#jump-to-nodes) | Flow Control | Jump to specific nodes or subflows |
14
+
15
+ ## Trigger Nodes
16
+
17
+ Trigger nodes are entry points that start your flows and initialize them with memory and messages.
18
+
19
+ ### Trigger Types
20
+
21
+ #### Manual Trigger
22
+
23
+ ```yaml
24
+ - type: trigger
25
+ triggerType: manual
26
+ name: Customer Support Request
27
+ ```
28
+
29
+ #### App Trigger
30
+
31
+ ```yaml
32
+ - type: trigger
33
+ triggerType: app
34
+ name: Zendesk Ticket Created
35
+ appTriggerId: zendesk-new-ticket
36
+ ```
37
+
38
+ #### Webhook Trigger
39
+
40
+ ```yaml
41
+ - type: trigger
42
+ triggerType: webhook
43
+ name: Payment Failed Notification
44
+ ```
45
+
46
+ ### Trigger Implementation
47
+
48
+ ```ts
49
+ import { events } from 'mindedjs/src/index';
50
+ import { HumanMessage } from '@langchain/core/messages';
51
+
52
+ agent.on(events.TRIGGER_EVENT, async ({ triggerName, triggerBody }) => {
53
+ if (triggerName === 'Customer Support Request') {
54
+ return {
55
+ memory: {
56
+ customerQuery: triggerBody,
57
+ timestamp: new Date().toISOString(),
58
+ },
59
+ messages: [new HumanMessage(triggerBody)],
60
+ };
61
+ }
62
+ });
63
+ ```
64
+
65
+ #### Disqualifying Triggers
66
+
67
+ Return an object with `isQualified: false` to prevent flow execution:
68
+
69
+ ```ts
70
+ agent.on(events.TRIGGER_EVENT, async ({ triggerName, triggerBody }) => {
71
+ // Only process during business hours
72
+ const hour = new Date().getHours();
73
+ if (hour < 9 || hour > 17) {
74
+ return { isQualified: false };
75
+ }
76
+
77
+ return {
78
+ isQualified: true,
79
+ memory: { businessHours: true },
80
+ messages: [new HumanMessage(triggerBody)],
81
+ };
82
+ });
83
+ ```
84
+
85
+ ## Prompt Nodes
86
+
87
+ Prompt nodes process input through LLM to generate intelligent responses or invoke tools.
88
+
89
+ **Optional Properties:**
90
+
91
+ - `humanInTheLoop?: boolean` - When `true`, pauses execution after this node for human input before continuing
92
+ - `canStayOnNode?: boolean` - When `true`, allows the node to route back to itself for iterative processing. Usually combined with `humanInTheLoop: true` to allow for iteration over human input.
93
+
94
+ **Example Usage:**
95
+
96
+ ```yaml
97
+ - type: promptNode
98
+ name: Content Reviewer
99
+ prompt: 'Ask user to review the content and approve or request changes.'
100
+ humanInTheLoop: true # Pause for human approval before proceeding
101
+
102
+ - type: promptNode
103
+ name: Research Assistant
104
+ prompt: 'Request user for more information until you have gathered all necessary information.'
105
+ canStayOnNode: true # Allow iterative research until complete
106
+ humanInTheLoop: true # Pause for human approval before proceeding
107
+ ```
108
+
109
+ ### Basic Configuration
110
+
111
+ ```yaml
112
+ - type: promptNode
113
+ name: Customer Service Agent
114
+ prompt: |
115
+ You are a helpful customer service representative.
116
+ Respond to customer inquiries professionally.
117
+
118
+ Customer: {memory.customerName}
119
+ Issue: {memory.issueCategory}
120
+ Current Time: {system.currentTime}
121
+ llmConfig:
122
+ name: ChatOpenAI
123
+ properties:
124
+ model: gpt-4o
125
+ temperature: 0.7
126
+ max_tokens: 500
127
+ ```
128
+
129
+ ### Placeholder Support
130
+
131
+ Prompt nodes support the following placeholder syntax:
132
+
133
+ - **Memory placeholders**: `{memory.propertyName}` - Access values from the agent's memory state
134
+ - **Nested memory values**: `{memory.customer.name}` - Access nested properties in memory
135
+ - **System placeholders**: `{system.currentTime}` - Access system values like the current ISO timestamp
136
+
137
+ ### LLM Configuration Options
138
+
139
+ ```yaml
140
+ # OpenAI
141
+ llmConfig:
142
+ name: ChatOpenAI
143
+ properties:
144
+ model: gpt-4o # or gpt-4o-mini, gpt-3.5-turbo
145
+ temperature: 0.7 # 0.0 (deterministic) to 1.0 (creative)
146
+ max_tokens: 500
147
+
148
+ # Anthropic Claude
149
+ llmConfig:
150
+ name: ChatAnthropic
151
+ properties:
152
+ model: claude-3-sonnet-20240229
153
+ temperature: 0.5
154
+ max_tokens: 1000
155
+ ```
156
+
157
+ ## Tool Nodes
158
+
159
+ Tool nodes execute functions to perform actions like API calls or database queries.
160
+
161
+ ### Basic Tool Node
162
+
163
+ ```yaml
164
+ - type: tool
165
+ name: Lookup Customer Order
166
+ toolName: lookupOrder
167
+ ```
168
+
169
+ ### Tool Implementation
170
+
171
+ ```ts
172
+ import { z } from 'zod';
173
+ import { Tool } from 'mindedjs/src/types/Tools.types';
174
+
175
+ const schema = z.object({
176
+ orderId: z.string(),
177
+ customerEmail: z.string().optional(),
178
+ });
179
+
180
+ const lookupOrderTool: Tool<typeof schema, Memory> = {
181
+ name: 'lookupOrder',
182
+ description: 'Look up order details by order ID',
183
+ input: schema,
184
+ execute: async ({ input, memory }) => {
185
+ const order = await fetchOrderById(input.orderId);
186
+
187
+ if (!order) {
188
+ throw new Error(`Order ${input.orderId} not found`);
189
+ }
190
+
191
+ return {
192
+ memory: {
193
+ orderInfo: order,
194
+ orderStatus: order.status,
195
+ },
196
+ result: `Found order ${order.id} - Status: ${order.status}`,
197
+ };
198
+ },
199
+ };
200
+
201
+ export default lookupOrderTool;
202
+ ```
203
+
204
+ ## Junction Nodes
205
+
206
+ Junction nodes provide flow control without processing, useful for organizing routing logic.
207
+
208
+ ### Basic Junction
209
+
210
+ ```yaml
211
+ - type: junction
212
+ name: Customer Routing Hub
213
+ ```
214
+
215
+ ### Routing Example
216
+
217
+ ```yaml
218
+ nodes:
219
+ - type: junction
220
+ name: Route Customer Request
221
+ - type: promptNode
222
+ name: VIP Support
223
+ - type: promptNode
224
+ name: Standard Support
225
+
226
+ edges:
227
+ - source: Route Customer Request
228
+ target: VIP Support
229
+ type: logicalCondition
230
+ condition: "({ memory }) => memory.customerTier === 'premium'"
231
+
232
+ - source: Route Customer Request
233
+ target: Standard Support
234
+ type: logicalCondition
235
+ condition: "({ memory }) => memory.customerTier === 'standard'"
236
+ ```
237
+
238
+ ## Jump To Nodes
239
+
240
+ Jump To nodes provide direct navigation to specific nodes, enabling flow transitions and subflow execution.
241
+
242
+ ### Basic Jump To Node
243
+
244
+ ```yaml
245
+ - type: jumpToNode
246
+ name: Go To Order Processing
247
+ targetNodeId: Process Customer Order
248
+ ```
249
+
250
+ ### Subflow Navigation
251
+
252
+ Jump To nodes are particularly useful for organizing complex workflows into multiple flows:
253
+
254
+ ```yaml
255
+ # Main flow
256
+ - type: jumpToNode
257
+ name: Jump To Refund Subflow
258
+ targetNodeId: Refund Processing Trigger
259
+
260
+ # In refund subflow
261
+ - type: trigger
262
+ name: Refund Processing Trigger
263
+ triggerType: manual
264
+ ```
265
+
266
+ ### Multi-Flow Example
267
+
268
+ ```yaml
269
+ # flows/mainFlow.yaml
270
+ nodes:
271
+ - type: trigger
272
+ name: Customer Request
273
+ triggerType: manual
274
+
275
+ - type: promptNode
276
+ name: Classify Request
277
+ prompt: |
278
+ Classify the customer request as either 'refund' or 'support'.
279
+ Customer message: {{messages.last.content}}
280
+
281
+ - type: jumpToNode
282
+ name: Go To Refund Flow
283
+ targetNodeId: Refund Processor
284
+
285
+ # flows/refundFlow.yaml
286
+ nodes:
287
+ - type: trigger
288
+ name: Refund Processor
289
+ triggerType: manual
290
+
291
+ - type: tool
292
+ name: Process Refund
293
+ toolName: processRefund
294
+ ```
295
+
296
+ ### Implementation Notes
297
+
298
+ - **Direct Navigation**: Jump To nodes create direct edges to their target nodes
299
+ - **Cross-Flow Support**: Target nodes can exist in different flow files
300
+ - **State Preservation**: Current memory and message state is maintained during jumps
301
+ - **No Processing**: Jump To nodes perform no data processing, only navigation
302
+
303
+ ## Best Practices
304
+
305
+ ### Use Descriptive Names
306
+
307
+ ```yaml
308
+ # ✅ Good
309
+ - type: promptNode
310
+ name: Technical Support Specialist
311
+
312
+ # ❌ Avoid
313
+ - type: promptNode
314
+ name: Agent 1
315
+ ```
316
+
317
+ ### Keep Prompts Focused
318
+
319
+ ```yaml
320
+ # ✅ Good - Specific role and context
321
+ - type: promptNode
322
+ name: Order Refund Processor
323
+ prompt: |
324
+ You process customer refund requests for e-commerce orders.
325
+ Order ID: {{memory.orderId}}
326
+ Determine if refund should be approved based on order status and timing.
327
+
328
+ # ❌ Avoid - Too broad
329
+ - type: promptNode
330
+ name: General Assistant
331
+ prompt: 'Help the customer with anything they need'
332
+ ```
333
+
334
+ ## Browser Task Nodes
335
+
336
+ Browser task nodes allow your agent to interact with web pages using AI-powered automation.
337
+
338
+ ### Basic Browser Task
339
+
340
+ ```yaml
341
+ - type: browserTask
342
+ name: search_products
343
+ displayName: Search Products
344
+ prompt: 'Go to amazon.com and search for wireless headphones under $100'
345
+ ```
346
+
347
+ ### Browser Task with Custom Model
348
+
349
+ You can specify which AI model to use for browser automation:
350
+
351
+ ```yaml
352
+ - type: browserTask
353
+ name: complex_task
354
+ displayName: Complex Web Task
355
+ prompt: 'Navigate to the support page and fill out the contact form'
356
+ model: 'gpt-4o' # Options: gpt-4o (default), gpt-4-turbo, claude-3-opus, etc.
357
+ ```
358
+
359
+ The browser task will execute the prompt using the browser-use CLI tool, which provides AI-powered browser automation capabilities.
360
+
361
+ ## Next Steps
362
+
363
+ - [**Edges**](edges.md) - Connect nodes with intelligent routing
364
+ - [**Tools**](tools.md) - Build powerful tool functions
365
+ - [**Memory Types**](../platform/memory.md) - Design effective state management
366
+
367
+ Nodes are your building blocks - combine them strategically to create powerful AI workflows! 🔧
@@ -0,0 +1,280 @@
1
+ # Playbooks
2
+
3
+ Playbooks are reusable instructions that are automatically included in all prompt and tool nodes of your agent. They help maintain consistency and reduce repetition across your agent's behavior.
4
+
5
+ ## Overview
6
+
7
+ Playbooks are defined using EditorJS blocks format and support:
8
+
9
+ - **[EditorJS blocks](https://editorjs.io/)** for rich content structure
10
+ - **EJS templating** for dynamic content
11
+ - **Placeholders** for runtime values
12
+ - **Multiple files** for better organization
13
+ - **Platform integration** for web-based editing
14
+
15
+ ## Configuration
16
+
17
+ Add the playbooks directory to your `minded.json`:
18
+
19
+ ```json
20
+ {
21
+ "playbooks": ["./src/playbooks"]
22
+ }
23
+ ```
24
+
25
+ ## Creating Playbooks
26
+
27
+ Create YAML files in your playbooks directory using the EditorJS blocks structure:
28
+
29
+ ```yaml
30
+ # src/playbooks/general.yaml
31
+ id: general-playbooks
32
+ name: General Customer Service
33
+ blocks:
34
+ - type: header
35
+ data:
36
+ text: Customer Service Guidelines
37
+ level: 2
38
+ - type: paragraph
39
+ data:
40
+ text: 'You are a helpful customer service agent for {memory.companyName}.'
41
+ - type: paragraph
42
+ data:
43
+ text: 'Always be polite and professional in your responses.'
44
+ - type: paragraph
45
+ data:
46
+ text: 'Current time: {system.currentTime}'
47
+ - type: paragraph
48
+ data:
49
+ text: 'User location: {memory.userLocation}'
50
+ ```
51
+
52
+ ## Block Types
53
+
54
+ Playbooks support various EditorJS block types:
55
+
56
+ ### Header Block
57
+
58
+ ```yaml
59
+ - type: header
60
+ data:
61
+ text: 'Section Title'
62
+ level: 2 # 1-6 for h1-h6
63
+ ```
64
+
65
+ ### Paragraph Block
66
+
67
+ ```yaml
68
+ - type: paragraph
69
+ data:
70
+ text: 'Your paragraph content here'
71
+ ```
72
+
73
+ ### List Block
74
+
75
+ ```yaml
76
+ - type: list
77
+ data:
78
+ style: unordered # or "ordered"
79
+ items:
80
+ - 'First item'
81
+ - 'Second item'
82
+ - 'Third item'
83
+ ```
84
+
85
+ ### Quote Block
86
+
87
+ ```yaml
88
+ - type: quote
89
+ data:
90
+ text: 'Important note or quote'
91
+ caption: 'Optional caption'
92
+ ```
93
+
94
+ ### Code Block
95
+
96
+ ```yaml
97
+ - type: code
98
+ data:
99
+ code: |
100
+ function example() {
101
+ return "code example";
102
+ }
103
+ ```
104
+
105
+ ### Delimiter Block
106
+
107
+ ```yaml
108
+ - type: delimiter
109
+ data: {}
110
+ ```
111
+
112
+ ## Using Templates
113
+
114
+ ### EJS Templates
115
+
116
+ Use EJS syntax (`<%= %>`) for dynamic content evaluated at compile time:
117
+
118
+ ```yaml
119
+ - type: paragraph
120
+ data:
121
+ text: 'Today is <%= new Date().toDateString() %>'
122
+ - type: paragraph
123
+ data:
124
+ text: 'Environment: <%= process.env.NODE_ENV %>'
125
+ ```
126
+
127
+ ### Placeholders
128
+
129
+ Use placeholders for runtime values from the agent's state:
130
+
131
+ **Memory placeholders** (`{memory.key}`):
132
+
133
+ ```yaml
134
+ - type: paragraph
135
+ data:
136
+ text: 'Hello {memory.customerName},'
137
+ - type: paragraph
138
+ data:
139
+ text: 'Your order {memory.orderId} is being processed.'
140
+ ```
141
+
142
+ **System placeholders** (`{system.key}`):
143
+
144
+ ```yaml
145
+ - type: paragraph
146
+ data:
147
+ text: 'Current time: {system.currentTime}' # Returns new Date().toISOString()
148
+ ```
149
+
150
+ These placeholders are automatically replaced with values from the agent's memory and system context when the playbooks are compiled.
151
+
152
+ ## Using Memory Values in Playbooks
153
+
154
+ Placeholders in playbooks are replaced with values from the agent's memory state:
155
+
156
+ ```typescript
157
+ const updateCustomerTool: Tool<typeof inputSchema, any> = {
158
+ name: 'updateCustomer',
159
+ description: 'Update customer information',
160
+ input: inputSchema,
161
+ isGlobal: true,
162
+ execute: async ({ input, state }) => {
163
+ return {
164
+ memory: {
165
+ memory: state.memory,
166
+ customer: input,
167
+ customerName: input.name,
168
+ userLocation: input.location,
169
+ },
170
+ };
171
+ },
172
+ };
173
+ ```
174
+
175
+ ## Nested Values
176
+
177
+ Placeholders support nested object access from the memory state:
178
+
179
+ ```yaml
180
+ - type: paragraph
181
+ data:
182
+ text: 'Customer: {memory.customer.name}'
183
+ - type: paragraph
184
+ data:
185
+ text: 'Email: {memory.customer.email}'
186
+ - type: paragraph
187
+ data:
188
+ text: 'Order status: {memory.order.status}'
189
+ ```
190
+
191
+ These values are resolved from nested properties in the agent's memory, for example: `memory.customer.name`.
192
+
193
+ ## Complete Example
194
+
195
+ ```yaml
196
+ # src/playbooks/customer-service.yaml
197
+ id: customer-service-guidelines
198
+ name: Customer Service Guidelines
199
+ blocks:
200
+ - type: header
201
+ data:
202
+ text: Customer Service Best Practices
203
+ level: 1
204
+ - type: paragraph
205
+ data:
206
+ text: 'You are representing {companyName} as a professional customer service agent.'
207
+ - type: list
208
+ data:
209
+ style: unordered
210
+ items:
211
+ - 'Always greet customers warmly'
212
+ - 'Listen actively to their concerns'
213
+ - 'Provide clear and helpful solutions'
214
+ - 'Follow up to ensure satisfaction'
215
+ - type: quote
216
+ data:
217
+ text: "The customer's experience is our top priority"
218
+ caption: 'Company motto'
219
+ - type: paragraph
220
+ data:
221
+ text: 'Current session started: <%= new Date().toISOString() %>'
222
+ ```
223
+
224
+ ## Best Practices
225
+
226
+ 1. **Organize by purpose**: Create separate files for different aspects (general, domain-specific, compliance, etc.)
227
+ 2. **Use meaningful IDs**: Each playbook must have a unique ID
228
+ 3. **Structure content logically**: Use headers, lists, and quotes to organize information
229
+ 4. **Keep blocks focused**: Each block should contain a single concept or instruction
230
+ 5. **Document placeholders**: Comment which parameters your playbooks expect
231
+ 6. **Test thoroughly**: Verify that all placeholders are being populated correctly
232
+
233
+ ## Example Structure
234
+
235
+ ```
236
+ src/playbooks/
237
+ ├── general.yaml # General behavior guidelines
238
+ ├── compliance.yaml # Regulatory compliance rules
239
+ ├── brand-voice.yaml # Brand-specific communication style
240
+ └── domain-specific.yaml # Domain-specific instructions
241
+ ```
242
+
243
+ ## Platform Integration
244
+
245
+ When using the Minded platform:
246
+
247
+ 1. Playbooks are editable through the web interface using a rich text editor
248
+ 2. Changes are synchronized with your Git repository
249
+ 3. The platform uses the same EditorJS blocks format
250
+ 4. Local YAML files are automatically converted to the blocks format
251
+ 5. All templating features work the same in both local and platform environments
252
+
253
+ ## Migration from Content Format
254
+
255
+ If you have existing playbooks using the old `content` format, convert them to blocks:
256
+
257
+ **Old format:**
258
+
259
+ ```yaml
260
+ content: |
261
+ # Customer Service
262
+ Always be polite and professional.
263
+ Current time: <%= new Date().toISOString() %>
264
+ ```
265
+
266
+ **New format:**
267
+
268
+ ```yaml
269
+ blocks:
270
+ - type: header
271
+ data:
272
+ text: Customer Service
273
+ level: 1
274
+ - type: paragraph
275
+ data:
276
+ text: Always be polite and professional.
277
+ - type: paragraph
278
+ data:
279
+ text: 'Current time: <%= new Date().toISOString() %>'
280
+ ```