@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.
- package/README.md +6 -0
- package/dist/agent.d.ts +256 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +896 -0
- package/dist/agent.js.map +1 -0
- package/dist/browserTask/README.md +419 -0
- package/dist/browserTask/browserAgent.py +632 -0
- package/dist/browserTask/captcha_isolated.png +0 -0
- package/dist/browserTask/executeBrowserTask.d.ts +14 -0
- package/dist/browserTask/executeBrowserTask.d.ts.map +1 -0
- package/dist/browserTask/executeBrowserTask.js +195 -0
- package/dist/browserTask/executeBrowserTask.js.map +1 -0
- package/dist/browserTask/executeBrowserTask.py +153 -0
- package/dist/browserTask/executeBrowserTask.ts +79 -0
- package/dist/browserTask/localBrowserTask.d.ts +49 -0
- package/dist/browserTask/localBrowserTask.d.ts.map +1 -0
- package/dist/browserTask/localBrowserTask.js +284 -0
- package/dist/browserTask/localBrowserTask.js.map +1 -0
- package/dist/browserTask/requirements.txt +8 -0
- package/dist/browserTask/setup.sh +144 -0
- package/dist/browserTask/types.d.ts +35 -0
- package/dist/browserTask/types.d.ts.map +1 -0
- package/dist/browserTask/types.js +10 -0
- package/dist/browserTask/types.js.map +1 -0
- package/dist/checkpointer/checkpointSaverFactory.d.ts +7 -0
- package/dist/checkpointer/checkpointSaverFactory.d.ts.map +1 -0
- package/dist/checkpointer/checkpointSaverFactory.js +53 -0
- package/dist/checkpointer/checkpointSaverFactory.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +209 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/lambdaHandlerTemplate.d.ts +10 -0
- package/dist/cli/lambdaHandlerTemplate.d.ts.map +1 -0
- package/dist/cli/lambdaHandlerTemplate.js +76 -0
- package/dist/cli/lambdaHandlerTemplate.js.map +1 -0
- package/dist/cli/lambdaHandlerTemplate.ts +78 -0
- package/dist/cli/localOperatorSetup.d.ts +6 -0
- package/dist/cli/localOperatorSetup.d.ts.map +1 -0
- package/dist/cli/localOperatorSetup.js +310 -0
- package/dist/cli/localOperatorSetup.js.map +1 -0
- package/dist/debugging/index.d.ts +2 -0
- package/dist/debugging/index.d.ts.map +1 -0
- package/dist/debugging/index.js +6 -0
- package/dist/debugging/index.js.map +1 -0
- package/dist/debugging/llmCallbackHandler.d.ts +36 -0
- package/dist/debugging/llmCallbackHandler.d.ts.map +1 -0
- package/dist/debugging/llmCallbackHandler.js +101 -0
- package/dist/debugging/llmCallbackHandler.js.map +1 -0
- package/dist/edges/createDirectEdge.d.ts +4 -0
- package/dist/edges/createDirectEdge.d.ts.map +1 -0
- package/dist/edges/createDirectEdge.js +24 -0
- package/dist/edges/createDirectEdge.js.map +1 -0
- package/dist/edges/createLogicalRouter.d.ts +8 -0
- package/dist/edges/createLogicalRouter.d.ts.map +1 -0
- package/dist/edges/createLogicalRouter.js +194 -0
- package/dist/edges/createLogicalRouter.js.map +1 -0
- package/dist/edges/createPromptRouter.d.ts +12 -0
- package/dist/edges/createPromptRouter.d.ts.map +1 -0
- package/dist/edges/createPromptRouter.js +176 -0
- package/dist/edges/createPromptRouter.js.map +1 -0
- package/dist/edges/edgeFactory.d.ts +14 -0
- package/dist/edges/edgeFactory.d.ts.map +1 -0
- package/dist/edges/edgeFactory.js +125 -0
- package/dist/edges/edgeFactory.js.map +1 -0
- package/dist/events/AgentEvents.d.ts +56 -0
- package/dist/events/AgentEvents.d.ts.map +1 -0
- package/dist/events/AgentEvents.js +13 -0
- package/dist/events/AgentEvents.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +5 -0
- package/dist/events/index.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +98 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/zendesk.d.ts +35 -0
- package/dist/interfaces/zendesk.d.ts.map +1 -0
- package/dist/interfaces/zendesk.js +219 -0
- package/dist/interfaces/zendesk.js.map +1 -0
- package/dist/internalTools/appActionRunnerTool.d.ts +5 -0
- package/dist/internalTools/appActionRunnerTool.d.ts.map +1 -0
- package/dist/internalTools/appActionRunnerTool.js +88 -0
- package/dist/internalTools/appActionRunnerTool.js.map +1 -0
- package/dist/internalTools/documentExtraction/documentExtraction.d.ts +129 -0
- package/dist/internalTools/documentExtraction/documentExtraction.d.ts.map +1 -0
- package/dist/internalTools/documentExtraction/documentExtraction.js +736 -0
- package/dist/internalTools/documentExtraction/documentExtraction.js.map +1 -0
- package/dist/internalTools/documentExtraction/types.d.ts +29 -0
- package/dist/internalTools/documentExtraction/types.d.ts.map +1 -0
- package/dist/internalTools/documentExtraction/types.js +35 -0
- package/dist/internalTools/documentExtraction/types.js.map +1 -0
- package/dist/internalTools/libraryActionRunnerTool.d.ts +4 -0
- package/dist/internalTools/libraryActionRunnerTool.d.ts.map +1 -0
- package/dist/internalTools/libraryActionRunnerTool.js +53 -0
- package/dist/internalTools/libraryActionRunnerTool.js.map +1 -0
- package/dist/internalTools/retell.d.ts +12 -0
- package/dist/internalTools/retell.d.ts.map +1 -0
- package/dist/internalTools/retell.js +54 -0
- package/dist/internalTools/retell.js.map +1 -0
- package/dist/internalTools/sendPlaceholderMessage.d.ts +14 -0
- package/dist/internalTools/sendPlaceholderMessage.d.ts.map +1 -0
- package/dist/internalTools/sendPlaceholderMessage.js +61 -0
- package/dist/internalTools/sendPlaceholderMessage.js.map +1 -0
- package/dist/internalTools/timer.d.ts +99 -0
- package/dist/internalTools/timer.d.ts.map +1 -0
- package/dist/internalTools/timer.js +139 -0
- package/dist/internalTools/timer.js.map +1 -0
- package/dist/internalTools/voice/escalateVoiceCall.d.ts +2 -0
- package/dist/internalTools/voice/escalateVoiceCall.d.ts.map +1 -0
- package/dist/internalTools/voice/escalateVoiceCall.js +52 -0
- package/dist/internalTools/voice/escalateVoiceCall.js.map +1 -0
- package/dist/internalTools/voice/retell.d.ts +12 -0
- package/dist/internalTools/voice/retell.d.ts.map +1 -0
- package/dist/internalTools/voice/retell.js +54 -0
- package/dist/internalTools/voice/retell.js.map +1 -0
- package/dist/internalTools/voice/sendPlaceholderMessage.d.ts +14 -0
- package/dist/internalTools/voice/sendPlaceholderMessage.d.ts.map +1 -0
- package/dist/internalTools/voice/sendPlaceholderMessage.js +61 -0
- package/dist/internalTools/voice/sendPlaceholderMessage.js.map +1 -0
- package/dist/interrupts/BaseInterruptSessionManager.d.ts +49 -0
- package/dist/interrupts/BaseInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/BaseInterruptSessionManager.js +34 -0
- package/dist/interrupts/BaseInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/MemoryInterruptSessionManager.d.ts +14 -0
- package/dist/interrupts/MemoryInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/MemoryInterruptSessionManager.js +60 -0
- package/dist/interrupts/MemoryInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/MindedInterruptSessionManager.d.ts +13 -0
- package/dist/interrupts/MindedInterruptSessionManager.d.ts.map +1 -0
- package/dist/interrupts/MindedInterruptSessionManager.js +162 -0
- package/dist/interrupts/MindedInterruptSessionManager.js.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts +3 -0
- package/dist/interrupts/interruptSessionManagerFactory.d.ts.map +1 -0
- package/dist/interrupts/interruptSessionManagerFactory.js +56 -0
- package/dist/interrupts/interruptSessionManagerFactory.js.map +1 -0
- package/dist/llm/createLlmInstance.d.ts +3 -0
- package/dist/llm/createLlmInstance.d.ts.map +1 -0
- package/dist/llm/createLlmInstance.js +31 -0
- package/dist/llm/createLlmInstance.js.map +1 -0
- package/dist/nodes/addAppToolNode.d.ts +13 -0
- package/dist/nodes/addAppToolNode.d.ts.map +1 -0
- package/dist/nodes/addAppToolNode.js +87 -0
- package/dist/nodes/addAppToolNode.js.map +1 -0
- package/dist/nodes/addBrowserTaskNode.d.ts +13 -0
- package/dist/nodes/addBrowserTaskNode.d.ts.map +1 -0
- package/dist/nodes/addBrowserTaskNode.js +167 -0
- package/dist/nodes/addBrowserTaskNode.js.map +1 -0
- package/dist/nodes/addBrowserTaskRunNode.d.ts +13 -0
- package/dist/nodes/addBrowserTaskRunNode.d.ts.map +1 -0
- package/dist/nodes/addBrowserTaskRunNode.js +167 -0
- package/dist/nodes/addBrowserTaskRunNode.js.map +1 -0
- package/dist/nodes/addHumanInTheLoopNode.d.ts +9 -0
- package/dist/nodes/addHumanInTheLoopNode.d.ts.map +1 -0
- package/dist/nodes/addHumanInTheLoopNode.js +22 -0
- package/dist/nodes/addHumanInTheLoopNode.js.map +1 -0
- package/dist/nodes/addJumpToNode.d.ts +7 -0
- package/dist/nodes/addJumpToNode.d.ts.map +1 -0
- package/dist/nodes/addJumpToNode.js +24 -0
- package/dist/nodes/addJumpToNode.js.map +1 -0
- package/dist/nodes/addJunctionNode.d.ts +7 -0
- package/dist/nodes/addJunctionNode.d.ts.map +1 -0
- package/dist/nodes/addJunctionNode.js +20 -0
- package/dist/nodes/addJunctionNode.js.map +1 -0
- package/dist/nodes/addPromptNode.d.ts +18 -0
- package/dist/nodes/addPromptNode.d.ts.map +1 -0
- package/dist/nodes/addPromptNode.js +253 -0
- package/dist/nodes/addPromptNode.js.map +1 -0
- package/dist/nodes/addRpaNode.d.ts +18 -0
- package/dist/nodes/addRpaNode.d.ts.map +1 -0
- package/dist/nodes/addRpaNode.js +180 -0
- package/dist/nodes/addRpaNode.js.map +1 -0
- package/dist/nodes/addToolNode.d.ts +13 -0
- package/dist/nodes/addToolNode.d.ts.map +1 -0
- package/dist/nodes/addToolNode.js +67 -0
- package/dist/nodes/addToolNode.js.map +1 -0
- package/dist/nodes/addToolRunNode.d.ts +17 -0
- package/dist/nodes/addToolRunNode.d.ts.map +1 -0
- package/dist/nodes/addToolRunNode.js +59 -0
- package/dist/nodes/addToolRunNode.js.map +1 -0
- package/dist/nodes/addTriggerNode.d.ts +7 -0
- package/dist/nodes/addTriggerNode.d.ts.map +1 -0
- package/dist/nodes/addTriggerNode.js +25 -0
- package/dist/nodes/addTriggerNode.js.map +1 -0
- package/dist/nodes/compilePrompt.d.ts +5 -0
- package/dist/nodes/compilePrompt.d.ts.map +1 -0
- package/dist/nodes/compilePrompt.js +76 -0
- package/dist/nodes/compilePrompt.js.map +1 -0
- package/dist/nodes/nodeFactory.d.ts +16 -0
- package/dist/nodes/nodeFactory.d.ts.map +1 -0
- package/dist/nodes/nodeFactory.js +45 -0
- package/dist/nodes/nodeFactory.js.map +1 -0
- package/dist/nodes/rpaStepsExecutor.d.ts +5 -0
- package/dist/nodes/rpaStepsExecutor.d.ts.map +1 -0
- package/dist/nodes/rpaStepsExecutor.js +156 -0
- package/dist/nodes/rpaStepsExecutor.js.map +1 -0
- package/dist/platform/config.d.ts +16 -0
- package/dist/platform/config.d.ts.map +1 -0
- package/dist/platform/config.js +80 -0
- package/dist/platform/config.js.map +1 -0
- package/dist/platform/mindedCheckpointSaver.d.ts +10 -0
- package/dist/platform/mindedCheckpointSaver.d.ts.map +1 -0
- package/dist/platform/mindedCheckpointSaver.js +137 -0
- package/dist/platform/mindedCheckpointSaver.js.map +1 -0
- package/dist/platform/mindedConnection.d.ts +15 -0
- package/dist/platform/mindedConnection.d.ts.map +1 -0
- package/dist/platform/mindedConnection.js +254 -0
- package/dist/platform/mindedConnection.js.map +1 -0
- package/dist/platform/mindedConnectionTypes.d.ts +404 -0
- package/dist/platform/mindedConnectionTypes.d.ts.map +1 -0
- package/dist/platform/mindedConnectionTypes.js +51 -0
- package/dist/platform/mindedConnectionTypes.js.map +1 -0
- package/dist/platform/models/mindedChatOpenAI.d.ts +20 -0
- package/dist/platform/models/mindedChatOpenAI.d.ts.map +1 -0
- package/dist/platform/models/mindedChatOpenAI.js +32 -0
- package/dist/platform/models/mindedChatOpenAI.js.map +1 -0
- package/dist/platform/models/parallelWrapper.d.ts +17 -0
- package/dist/platform/models/parallelWrapper.d.ts.map +1 -0
- package/dist/platform/models/parallelWrapper.js +105 -0
- package/dist/platform/models/parallelWrapper.js.map +1 -0
- package/dist/platform/piiGateway/gateway.d.ts +14 -0
- package/dist/platform/piiGateway/gateway.d.ts.map +1 -0
- package/dist/platform/piiGateway/gateway.js +117 -0
- package/dist/platform/piiGateway/gateway.js.map +1 -0
- package/dist/platform/piiGateway/index.d.ts +3 -0
- package/dist/platform/piiGateway/index.d.ts.map +1 -0
- package/dist/platform/piiGateway/index.js +7 -0
- package/dist/platform/piiGateway/index.js.map +1 -0
- package/dist/platform/piiGateway/types.d.ts +27 -0
- package/dist/platform/piiGateway/types.d.ts.map +1 -0
- package/dist/platform/piiGateway/types.js +3 -0
- package/dist/platform/piiGateway/types.js.map +1 -0
- package/dist/platform/toolExecutor.d.ts +29 -0
- package/dist/platform/toolExecutor.d.ts.map +1 -0
- package/dist/platform/toolExecutor.js +84 -0
- package/dist/platform/toolExecutor.js.map +1 -0
- package/dist/platform/utils/parseAttachments.d.ts +14 -0
- package/dist/platform/utils/parseAttachments.d.ts.map +1 -0
- package/dist/platform/utils/parseAttachments.js +53 -0
- package/dist/platform/utils/parseAttachments.js.map +1 -0
- package/dist/platform/utils/tools.d.ts +6 -0
- package/dist/platform/utils/tools.d.ts.map +1 -0
- package/dist/platform/utils/tools.js +57 -0
- package/dist/platform/utils/tools.js.map +1 -0
- package/dist/playbooks/playbooks.d.ts +15 -0
- package/dist/playbooks/playbooks.d.ts.map +1 -0
- package/dist/playbooks/playbooks.js +208 -0
- package/dist/playbooks/playbooks.js.map +1 -0
- package/dist/toolsLibrary/classifier.d.ts +74 -0
- package/dist/toolsLibrary/classifier.d.ts.map +1 -0
- package/dist/toolsLibrary/classifier.js +256 -0
- package/dist/toolsLibrary/classifier.js.map +1 -0
- package/dist/toolsLibrary/extraction.d.ts +83 -0
- package/dist/toolsLibrary/extraction.d.ts.map +1 -0
- package/dist/toolsLibrary/extraction.js +328 -0
- package/dist/toolsLibrary/extraction.js.map +1 -0
- package/dist/toolsLibrary/index.d.ts +9 -0
- package/dist/toolsLibrary/index.d.ts.map +1 -0
- package/dist/toolsLibrary/index.js +46 -0
- package/dist/toolsLibrary/index.js.map +1 -0
- package/dist/toolsLibrary/parseDocument.d.ts +30 -0
- package/dist/toolsLibrary/parseDocument.d.ts.map +1 -0
- package/dist/toolsLibrary/parseDocument.js +119 -0
- package/dist/toolsLibrary/parseDocument.js.map +1 -0
- package/dist/triggers/triggerTypeToDefaultMessage.d.ts +4 -0
- package/dist/triggers/triggerTypeToDefaultMessage.d.ts.map +1 -0
- package/dist/triggers/triggerTypeToDefaultMessage.js +10 -0
- package/dist/triggers/triggerTypeToDefaultMessage.js.map +1 -0
- package/dist/types/Agent.types.d.ts +60 -0
- package/dist/types/Agent.types.d.ts.map +1 -0
- package/dist/types/Agent.types.js +9 -0
- package/dist/types/Agent.types.js.map +1 -0
- package/dist/types/Flows.types.d.ts +232 -0
- package/dist/types/Flows.types.d.ts.map +1 -0
- package/dist/types/Flows.types.js +65 -0
- package/dist/types/Flows.types.js.map +1 -0
- package/dist/types/LLM.types.d.ts +7 -0
- package/dist/types/LLM.types.d.ts.map +1 -0
- package/dist/types/LLM.types.js +11 -0
- package/dist/types/LLM.types.js.map +1 -0
- package/dist/types/LangGraph.types.d.ts +45 -0
- package/dist/types/LangGraph.types.d.ts.map +1 -0
- package/dist/types/LangGraph.types.js +77 -0
- package/dist/types/LangGraph.types.js.map +1 -0
- package/dist/types/Platform.types.d.ts +7 -0
- package/dist/types/Platform.types.d.ts.map +1 -0
- package/dist/types/Platform.types.js +11 -0
- package/dist/types/Platform.types.js.map +1 -0
- package/dist/types/Tools.types.d.ts +26 -0
- package/dist/types/Tools.types.d.ts.map +1 -0
- package/dist/types/Tools.types.js +3 -0
- package/dist/types/Tools.types.js.map +1 -0
- package/dist/types/Voice.types.d.ts +5 -0
- package/dist/types/Voice.types.d.ts.map +1 -0
- package/dist/types/Voice.types.js +3 -0
- package/dist/types/Voice.types.js.map +1 -0
- package/dist/utils/agentUtils.d.ts +5 -0
- package/dist/utils/agentUtils.d.ts.map +1 -0
- package/dist/utils/agentUtils.js +97 -0
- package/dist/utils/agentUtils.js.map +1 -0
- package/dist/utils/extractStateMemoryResponse.d.ts +5 -0
- package/dist/utils/extractStateMemoryResponse.d.ts.map +1 -0
- package/dist/utils/extractStateMemoryResponse.js +91 -0
- package/dist/utils/extractStateMemoryResponse.js.map +1 -0
- package/dist/utils/history.d.ts +4 -0
- package/dist/utils/history.d.ts.map +1 -0
- package/dist/utils/history.js +33 -0
- package/dist/utils/history.js.map +1 -0
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +39 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/schemaUtils.d.ts +15 -0
- package/dist/utils/schemaUtils.d.ts.map +1 -0
- package/dist/utils/schemaUtils.js +56 -0
- package/dist/utils/schemaUtils.js.map +1 -0
- package/dist/utils/wait.d.ts +2 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +6 -0
- package/dist/utils/wait.js.map +1 -0
- package/dist/voice/elevenLabsUtils.d.ts +65 -0
- package/dist/voice/elevenLabsUtils.d.ts.map +1 -0
- package/dist/voice/elevenLabsUtils.js +4 -0
- package/dist/voice/elevenLabsUtils.js.map +1 -0
- package/dist/voice/voiceSession.d.ts +37 -0
- package/dist/voice/voiceSession.d.ts.map +1 -0
- package/dist/voice/voiceSession.js +306 -0
- package/dist/voice/voiceSession.js.map +1 -0
- package/docs/.gitbook/assets/ADLC.png +0 -0
- package/docs/.gitbook/assets/PII-masking.png +0 -0
- package/docs/.gitbook/assets/image.png +0 -0
- package/docs/.gitbook/assets/on-prem.svg +4 -0
- package/docs/README.md +54 -0
- package/docs/SUMMARY.md +56 -0
- package/docs/examples/order-refund-flow.md +566 -0
- package/docs/getting-started/environment-configuration.md +158 -0
- package/docs/getting-started/installation.md +44 -0
- package/docs/getting-started/project-configuration.md +206 -0
- package/docs/getting-started/quick-start.md +262 -0
- package/docs/integrations/zendesk.md +554 -0
- package/docs/low-code-editor/edges.md +396 -0
- package/docs/low-code-editor/flows.md +74 -0
- package/docs/low-code-editor/nodes.md +367 -0
- package/docs/low-code-editor/playbooks.md +280 -0
- package/docs/low-code-editor/tools.md +358 -0
- package/docs/low-code-editor/triggers.md +182 -0
- package/docs/platform/on-prem.md +182 -0
- package/docs/platform/operator.md +89 -0
- package/docs/platform/pii-masking.md +221 -0
- package/docs/platform/scenarios.md +43 -0
- package/docs/platform/secrets.md +99 -0
- package/docs/platform/sso.md +27 -0
- package/docs/resources/your-first-eval.md +108 -0
- package/docs/sdk/agent-api.md +540 -0
- package/docs/sdk/debugging.md +80 -0
- package/docs/sdk/events.md +595 -0
- package/docs/sdk/logging.md +72 -0
- package/docs/sdk/memory.md +271 -0
- package/docs/sdk/parallel-llm.md +242 -0
- package/docs/sdk/vectorstore-query.md +60 -0
- package/docs/tooling/classifier.md +217 -0
- package/docs/tooling/document-processing.md +389 -0
- package/docs/tooling/extraction.md +78 -0
- package/docs/tooling/timers.md +61 -0
- package/package.json +73 -0
- package/src/agent.ts +1019 -0
- package/src/browserTask/executeBrowserTask.py +153 -0
- package/src/browserTask/executeBrowserTask.ts +253 -0
- package/src/browserTask/localBrowserTask.ts +300 -0
- package/src/browserTask/profile/Default/Extension Rules/000003.log +0 -0
- package/src/browserTask/profile/Default/Extension Scripts/000003.log +0 -0
- package/src/browserTask/profile/Default/Extension State/000003.log +0 -0
- package/src/browserTask/profile/Default/GCM Store/000003.log +0 -0
- package/src/browserTask/profile/Default/Local Storage/leveldb/000004.log +0 -0
- package/src/browserTask/profile/Default/Session Storage/000003.log +0 -0
- package/src/browserTask/profile/Default/Site Characteristics Database/000003.log +0 -0
- package/src/browserTask/profile/Default/Sync Data/LevelDB/000003.log +0 -0
- package/src/browserTask/profile/Default/shared_proto_db/000003.log +0 -0
- package/src/browserTask/profile/Default/shared_proto_db/metadata/000003.log +0 -0
- package/src/browserTask/types.ts +37 -0
- package/src/checkpointer/checkpointSaverFactory.ts +18 -0
- package/src/cli/index.ts +188 -0
- package/src/cli/lambdaHandlerTemplate.ts +78 -0
- package/src/cli/localOperatorSetup.ts +308 -0
- package/src/debugging/index.ts +1 -0
- package/src/debugging/llmCallbackHandler.ts +125 -0
- package/src/edges/createDirectEdge.ts +22 -0
- package/src/edges/createLogicalRouter.ts +182 -0
- package/src/edges/createPromptRouter.ts +213 -0
- package/src/edges/edgeFactory.ts +167 -0
- package/src/events/AgentEvents.ts +58 -0
- package/src/events/index.ts +3 -0
- package/src/index.ts +105 -0
- package/src/interfaces/zendesk.ts +212 -0
- package/src/internalTools/appActionRunnerTool.ts +68 -0
- package/src/internalTools/documentExtraction/documentExtraction.ts +804 -0
- package/src/internalTools/documentExtraction/types.ts +59 -0
- package/src/internalTools/libraryActionRunnerTool.ts +62 -0
- package/src/internalTools/timer.ts +125 -0
- package/src/internalTools/voice/escalateVoiceCall.ts +15 -0
- package/src/internalTools/voice/retell.ts +28 -0
- package/src/internalTools/voice/sendPlaceholderMessage.ts +27 -0
- package/src/interrupts/BaseInterruptSessionManager.ts +80 -0
- package/src/interrupts/MemoryInterruptSessionManager.ts +63 -0
- package/src/interrupts/MindedInterruptSessionManager.ts +163 -0
- package/src/interrupts/interruptSessionManagerFactory.ts +20 -0
- package/src/llm/createLlmInstance.ts +33 -0
- package/src/nodes/addAppToolNode.ts +111 -0
- package/src/nodes/addBrowserTaskNode.ts +191 -0
- package/src/nodes/addBrowserTaskRunNode.ts +190 -0
- package/src/nodes/addHumanInTheLoopNode.ts +26 -0
- package/src/nodes/addJumpToNode.ts +26 -0
- package/src/nodes/addJunctionNode.ts +21 -0
- package/src/nodes/addPromptNode.ts +305 -0
- package/src/nodes/addRpaNode.ts +217 -0
- package/src/nodes/addToolNode.ts +84 -0
- package/src/nodes/addToolRunNode.ts +80 -0
- package/src/nodes/addTriggerNode.ts +27 -0
- package/src/nodes/compilePrompt.ts +44 -0
- package/src/nodes/nodeFactory.ts +61 -0
- package/src/nodes/rpaStepsExecutor.ts +175 -0
- package/src/platform/config.ts +89 -0
- package/src/platform/mindedCheckpointSaver.ts +146 -0
- package/src/platform/mindedConnection.ts +250 -0
- package/src/platform/mindedConnectionTypes.ts +495 -0
- package/src/platform/models/mindedChatOpenAI.ts +49 -0
- package/src/platform/models/parallelWrapper.ts +141 -0
- package/src/platform/piiGateway/gateway.ts +103 -0
- package/src/platform/piiGateway/index.ts +5 -0
- package/src/platform/piiGateway/types.ts +29 -0
- package/src/platform/toolExecutor.ts +106 -0
- package/src/platform/utils/parseAttachments.ts +56 -0
- package/src/platform/utils/tools.ts +55 -0
- package/src/playbooks/playbooks.ts +200 -0
- package/src/toolsLibrary/classifier.ts +326 -0
- package/src/toolsLibrary/extraction.ts +393 -0
- package/src/toolsLibrary/index.ts +10 -0
- package/src/toolsLibrary/parseDocument.ts +129 -0
- package/src/triggers/triggerTypeToDefaultMessage.ts +9 -0
- package/src/types/Agent.types.ts +73 -0
- package/src/types/Flows.types.ts +262 -0
- package/src/types/LLM.types.ts +15 -0
- package/src/types/LangGraph.types.ts +86 -0
- package/src/types/Platform.types.ts +6 -0
- package/src/types/Tools.types.ts +28 -0
- package/src/types/Voice.types.ts +4 -0
- package/src/utils/agentUtils.ts +69 -0
- package/src/utils/history.ts +38 -0
- package/src/utils/logger.ts +38 -0
- package/src/utils/schemaUtils.ts +68 -0
- package/src/utils/wait.ts +1 -0
- package/src/voice/elevenLabsUtils.ts +81 -0
- 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
|
+
```
|