Skip to main content

AutoGen Adapter Example

This example wraps AutoGen task completion with UAICP verify/policy gates.

Integration Skeleton

async function runAutogenTaskWithUaicp(task: TaskInput) {
const runtime = await autogen.run(task);

const envelope = mapEnvelopeFromTask(task, runtime);
const evidence = normalizeToolEvents(runtime.toolEvents);
const verification = runVerifier(envelope, evidence);

if (!verification.required_checks_passed) {
return failSafe('VERIFICATION_FAILED', verification.reason_codes);
}

const policy = runPolicyGate({
envelope,
writeRisk: classifyWriteRisk(task),
approvalToken: task.approvalToken,
});

if (policy.decision !== 'allow') {
return failSafe('POLICY_BLOCKED', policy.reasons);
}

return deliver(runtime.finalAnswer);
}

Required Checks

  • tool outputs are normalized into evidence objects
  • verification runs before final answer delivery
  • high-risk writes require approval metadata
  • blocked paths return reason-coded fail-safe output

Reference Fixture

  • https://github.com/UAICP/uaicp-reference-impl/blob/main/src/examples/finance/workflow-comparison.ts