Files
AzerothAI/app/api/bridge/ale/result/route.ts
T
Richard Clark 5f0fc86cf9
Core tests / core (push) Successful in 9m57s
Full verification / application (push) Failing after 5m16s
Full verification / local-brain (push) Failing after 6m15s
Realm simulation / simulated-live-world (push) Failing after 5m32s
WoW integration lab / real-worldserver (push) Canceled after 17m23s
Import verified AzerothAI snapshot from GitHub
Source branch: feature/ai-brain-router
Source commit: c2a09e0460465201a58aaab56c71424e9a96405e
2026-09-22 13:12:54 -04:00

22 lines
901 B
TypeScript

import { env } from 'cloudflare:workers';
import { z } from 'zod';
import { requireAleBridge } from '@/core/ale-auth';
import { completeAleCommand } from '@/core/ale-store';
import type { RuntimeConfig } from '@/core/types';
const schema=z.object({id:z.string().uuid(),ok:z.boolean(),result:z.string().max(16000)}).strict();
export async function POST(request:Request){
const config=env as unknown as RuntimeConfig;
try{
requireAleBridge(request,config);
const text=await request.text();if(text.length>20000)return Response.json({error:'Result too large'},{status:413});
const body=schema.parse(JSON.parse(text));
await completeAleCommand(env.DB!,body.id,body.ok,body.result);
return Response.json({ok:true});
}catch(e){
const message=e instanceof Error?e.message:'ALE result failure';
return Response.json({error:message},{status:message.startsWith('Unauthorized')?401:400});
}
}