genkit_shelf library

Shelf adapter for Genkit's HTTP serving (package:genkit/io.dart).

import 'package:genkit/io.dart';
import 'package:genkit_shelf/genkit_shelf.dart';

final genkit = GenkitRouter()
  ..addAction(helloFlow)
  ..addAction(secureFlow, contextProvider: bearerAuth);

final app = Router()
  ..get('/health', (Request _) => Response.ok('OK'))
  ..post('/hello', shelfHandler(helloFlow))
  ..mount('/api/', genkit.asShelfHandler());

Extensions

GenkitRouterShelf on GenkitRouter
Mounts a GenkitRouter into a shelf app.

Functions

shelfHandler(Action action, {ContextProvider? contextProvider, bool sendLegacyErrorFrame = false}) → Handler
Serves a single action (flow, model, tool, ...) as a shelf Handler.