69 lines
2.1 KiB
JavaScript

(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();
});