createAllemAgentHandler
Server-side request handler for agentic workflows with tool calling. Works with Next.js App Router, Remix, and any Web Request/Response framework.
import { createAllemAgentHandler } from "@allem-sdk/agents";Options
| Prop | Type | Default | Description |
|---|---|---|---|
| providers* | Record<string, (modelId?) => LanguageModel> | — | Provider factory map |
| defaultProvider | string | "google" | Default provider name |
| defaultModel | string | — | Default model ID |
| systemPrompt | string | — | Default system prompt |
| tools | ToolSet | — | Tools available to the agent |
Usage
// app/api/agent/route.ts
import { createAllemAgentHandler, createAllemTool } from "@allem-sdk/agents";
import { google } from "@ai-sdk/google";
import { z } from "zod";
const weatherTool = createAllemTool({
description: "Get the current weather for a location",
parameters: z.object({ city: z.string() }),
execute: async ({ city }) => {
return { city, temperature: 72, condition: "sunny" };
},
});
export const POST = createAllemAgentHandler({
providers: {
google: (model) => google(model ?? "gemini-2.0-flash"),
},
tools: { weather: weatherTool },
});Environment variables
Set GOOGLE_GENERATIVE_AI_API_KEY, ANTHROPIC_API_KEY, or OPENAI_API_KEY in your .env.local file.