Updated router to persist across transactions
This commit is contained in:
68
AI-agents/snippets/routerLogic.js
Normal file
68
AI-agents/snippets/routerLogic.js
Normal file
@@ -0,0 +1,68 @@
|
||||
(async () => {
|
||||
router.setNextAction("Next");
|
||||
|
||||
// Did the Model Respond?
|
||||
if (recognizedObject.answers.length) {
|
||||
// Yes
|
||||
router.log("Model Responded");
|
||||
router.log({ answers: recognizedObject.answers });
|
||||
const activeAgent = router.getActiveAgent();
|
||||
if (activeAgent) {
|
||||
router.log("Model Responded -> Agent Active");
|
||||
router.log(activeAgent);
|
||||
router.setNextAction("ReturnAnswers");
|
||||
} else {
|
||||
router.log("Model Responded -> No Agent Active");
|
||||
if (router.hasNext()) {
|
||||
router.log("Model Responded -> No Agent Active -> Router Has next");
|
||||
// Run Next Agent
|
||||
router.setNextAction("RunNextAgent");
|
||||
} else {
|
||||
router.log("Model Responded -> No Agent Active -> Router Empty");
|
||||
// Return Answers
|
||||
// Run Next Agent
|
||||
router.setNextAction("ReturnAnswers");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
router.log("Model Did Not Respond");
|
||||
// No
|
||||
const activeAgent = router.getActiveAgent();
|
||||
if (activeAgent) {
|
||||
router.log("Model Did Not Respond -> Agent Active");
|
||||
router.log("Deactivate Agent because it didn't respond");
|
||||
// Deactivate Agent because it didn't respond
|
||||
activeAgent.state = "Deactivated Agent because it didn't respond";
|
||||
}
|
||||
if (router.hasNext()) {
|
||||
router.log("Model Did Not Respond -> Router Has next");
|
||||
// Assign Agents
|
||||
// Run Next Agent
|
||||
router.setNextAction("RunNextAgent");
|
||||
} else {
|
||||
router.log("Model Did Not Respond -> Router Empty");
|
||||
router.log("Assign Agents");
|
||||
await router.assignAgents();
|
||||
|
||||
if (router.hasNext()) {
|
||||
router.log(
|
||||
"Model Did Not Respond -> Router was Empty -> Router has next"
|
||||
);
|
||||
router.setNextAction("RunNextAgent");
|
||||
} else {
|
||||
router.log(
|
||||
"Model Did Not Respond -> Router was Empty -> Router still Empty"
|
||||
);
|
||||
// Return Answers
|
||||
router.setNextAction("Next");
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
.catch((e) => {
|
||||
router.log(e);
|
||||
})
|
||||
.finally(() => {
|
||||
router.log("Router Next Action: " + router.getNextAction());
|
||||
next();
|
||||
});
|
||||
Reference in New Issue
Block a user