import { z } from "zod"; export interface Request<T> { service: string; subject: string; data?: T; } export const InternalRequestSchema = z.object({ from: z.string(), data: z.optional(z.any()), }); export const InternalResponseSchema = z.object({ data: z.optional(z.any()), statusCode: z.number(), }); export type InternalRequest = z.infer<typeof InternalRequestSchema>; export type InternalResponse = z.infer<typeof InternalResponseSchema>; export interface Response<T> { data?: T; statusCode: number; }