myapplication / src /lib /agents.ts
SNAPKITTYWEST's picture
push from SNAPKITTYWEST/myapplication
7d8aa82 verified
Raw
History Blame Contribute Delete
1.15 kB
const AGENT_NAMES: Record<string, string> = {
bridge: 'RELAY',
finance: 'AXIOM',
treasury: 'VAULT',
crm: 'NEXUS',
procurement: 'FORGE',
bifrost: 'HERALD',
ml: 'TENSOR',
risk: 'SENTINEL',
auditor: 'LEDGE',
operator: 'ATLAS',
scriptwriter: 'QUILL',
}
export function agentName(key: string): string {
return AGENT_NAMES[key] ?? key.toUpperCase()
}
export async function askAgent(agent: string, message: string): Promise<string> {
const base = process.env.SNAPKITTY_API_URL ?? 'http://localhost:3000'
try {
const res = await fetch(`${base}/api/agents/chat`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ agent, message }),
signal: AbortSignal.timeout(35000),
})
if (!res.ok) return `Agent ${agentName(agent)} returned an error. Try the War Room.`
const data = await res.json() as { reply?: string }
return data.reply ?? 'No response.'
} catch {
return `${agentName(agent)} is not responding. Try the War Room at collectivekitty.com`
}
}