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