import * as restate from "@restatedev/restate-sdk";
import { z } from "zod";
import { serde } from "@restatedev/restate-sdk-zod";
const Greeting = z.object({
name: z.string(),
});
const GreetingResponse = z.object({
result: z.string(),
});
const greeter = restate.service({
name: "Greeter",
handlers: {
greet: restate.handlers.handler(
{ input: serde.zod(Greeting), output: serde.zod(GreetingResponse) },
async (ctx: restate.Context, { name }) => {
return { result: `You said hi to ${name}!` };
}
),
},
});