UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

18 lines (17 loc) • 758 B
export const TEAM_ROLES = Object.freeze(["lead", "teammate", "none"]); export function teamRoleOf(facts) { if (!facts.isDelegatedChild) return "lead"; return facts.spawnName !== undefined ? "teammate" : "none"; } export const DIRECTION_RELATIONS = Object.freeze(["lead", "peer", "stranger"]); export function mayDirect(sender, self) { const root = (self.rootSessionId ?? self.sessionId).toLowerCase(); const fromSession = sender.fromSession?.toLowerCase(); const fromRoot = sender.fromRoot?.toLowerCase(); if (fromSession !== undefined && fromSession === root && root !== self.sessionId.toLowerCase()) return "lead"; if (fromRoot !== undefined && fromRoot === root) return "peer"; return "stranger"; }