@dexwox-labs/a2a-server
Version:
TypeScript server implementation for Google's Agent-to-Agent (A2A) protocol - includes Express/WebSocket handlers, request validation and queue management
21 lines (18 loc) • 705 B
text/typescript
import { Request, Response, NextFunction } from 'express';
import { Task } from '@dexwox-labs/a2a-core';
import { createRequestContext, runInContext } from './request-context';
export function contextMiddleware(agentId: string) {
return (req: Request, res: Response, next: NextFunction) => {
// Create a basic task for the request
const task: Task = {
id: crypto.randomUUID(),
name: `${req.method} ${req.path}`,
status: 'submitted',
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString()
};
// Create and run the request in context
const context = createRequestContext(task, agentId);
runInContext(context, () => next());
};
}