From ab1e59deeb45ffd90bf8918b35beee626d988578 Mon Sep 17 00:00:00 2001 From: "Peter.Morton" Date: Fri, 30 May 2025 16:32:21 -0500 Subject: [PATCH] partial commit of AI-Agents work. Need to refactor out keys to commit the rest. --- .../GlobalVariable/request.js | 35 +++++++++++++++++++ .../GlobalVariable/router.js | 28 +++++++++++++++ AI-agents/snippets/agentRouter.js | 15 ++++++++ AI-agents/snippets/updateAgentRouter.js | 2 ++ 4 files changed, 80 insertions(+) create mode 100644 AI-agents/_studio_dependencies/GlobalVariable/request.js create mode 100644 AI-agents/_studio_dependencies/GlobalVariable/router.js create mode 100644 AI-agents/snippets/agentRouter.js create mode 100644 AI-agents/snippets/updateAgentRouter.js diff --git a/AI-agents/_studio_dependencies/GlobalVariable/request.js b/AI-agents/_studio_dependencies/GlobalVariable/request.js new file mode 100644 index 0000000..7f884cf --- /dev/null +++ b/AI-agents/_studio_dependencies/GlobalVariable/request.js @@ -0,0 +1,35 @@ +const exports = {}; +const { recognizedObject: r = {} } = this; +r.logs ??= []; +exports.instance = axios.create({ + baseURL: + "https://svc-892c5370-5fd83b4.apps.okd-1.us-east-1.wrk-1.aws.hydra.verint.com/v1/healthz", +}); +exports.instance.interceptors.request.use( + (config) => { + return { + ...config, + meta: { + requestBody: config.data, + }, + }; + }, + (error) => Promise.reject(error) +); +exports.instance.interceptors.response.use( + (response) => { + r.logs.push({ + request: response.config.meta?.requestBody, + response: response.data, + }); + return response; + }, + (error) => { + r.logs.push({ + request: error.config?.meta?.requestBody, + response: error.response?.data || { error: error.message }, + }); + return Promise.reject(error); + } +); +return exports.instance; diff --git a/AI-agents/_studio_dependencies/GlobalVariable/router.js b/AI-agents/_studio_dependencies/GlobalVariable/router.js new file mode 100644 index 0000000..61375a5 --- /dev/null +++ b/AI-agents/_studio_dependencies/GlobalVariable/router.js @@ -0,0 +1,28 @@ +const { recognizedObject: r = {} } = this; + +class Router { + constructor() { + r.router = { + agents: [], + }; + } + + setAgents(agents) { + r.router.agents = agents; + } + + hasNext() { + return r.router.agents.some((agent) => agent.state === "submitted"); + } + + next() { + return r.router.agents.find((agent) => agent.state === "submitted"); + } + + setState(id, state) { + const agent = r.router.agents.find((agent) => agent.id === id); + if (agent) agent.state = state; + } +} + +return new Router(); diff --git a/AI-agents/snippets/agentRouter.js b/AI-agents/snippets/agentRouter.js new file mode 100644 index 0000000..e043d3b --- /dev/null +++ b/AI-agents/snippets/agentRouter.js @@ -0,0 +1,15 @@ +if (router.hasNext()) { + recognizedObject.goTo = router.next().id; + recognizedObject.input = router.next().input; +} else { + recognizedObject.input = recognizedObject.req.body.input; +} + +console.log({ + agentRouter: { + goTo: recognizedObject.goTo, + input: recognizedObject.input, + }, +}); + +next(); diff --git a/AI-agents/snippets/updateAgentRouter.js b/AI-agents/snippets/updateAgentRouter.js new file mode 100644 index 0000000..a3484bc --- /dev/null +++ b/AI-agents/snippets/updateAgentRouter.js @@ -0,0 +1,2 @@ +router.setState('TimeAndDate', 'working'); +next(); \ No newline at end of file