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