Something went wrong. Try again.
Monorepo for Aesthetic.Computer aesthetic.computer
Something went wrong. Try again.
JavaScript
123456789101112131415161718192021222324252627282930313233343536373839404142function requestHeader(context, name) { const value = context?.headers?.[name.toLowerCase()]; return Array.isArray(value) ? value[0] : value || "";}
export function loopboyWaitIdentity({ context = {}, env = process.env, requestedContact = "" }) { const contact = String( requestHeader(context, "x-slab-loopboy-contact") || env.SLAB_LOOPBOY_CONTACT || "", ).trim().toLowerCase(); const sessionId = String( requestHeader(context, "x-slab-prompt-session-id") || env.SLAB_PROMPT_SESSION_ID || "", ).trim();
if (!contact) { throw new Error("prox_loopboy_wait is available only inside a SLAB_LOOPBOY_CONTACT session"); } if (!sessionId) { throw new Error("prox_loopboy_wait requires the calling Loopboy session id"); }
const requested = String(requestedContact).trim().toLowerCase(); if (requested && requested !== contact) { throw new Error(`this Loopboy is bound to ${contact}, not ${requested}`); }
return { contact, sessionId };}
export function authorizeLoopboyWait({ context = {}, env = process.env, loops = {}, requestedContact = "" }) { const { contact, sessionId } = loopboyWaitIdentity({ context, env, requestedContact });
const loop = loops[contact]; if (!loop?.sessionId) { throw new Error(`Loopboy ${contact} does not have a bound inbox route`); } if (String(loop.sessionId) !== sessionId) { throw new Error(`this Loopboy session is not the bound ${contact} listener`); }
return { contact, sessionId, loop };}