hunk.code_window:       - name: Checkout repo
           uses: actions/checkout@v3
           with:
             fetch-depth: 0
         - uses: pnpm/action-setup@v2.2.2
           with:
  
hunk.labels: keep keep keep keep keep replace keep
hunk.after_edit:       - uses: pnpm/action-setup@v2.2.4
  
hunk.file_path: examples/next-prisma-websockets-starter/.github/workflows/main.yml
hunk.type: replace
file: <!-- prettier-ignore -->
  ```ts twoslash
  import { initTRPC } from '@trpc/server';
  import z from 'zod';
  
  // ---cut---
  const t = initTRPC.create();
  
  const router = t.router;
  const publicProcedure = t.procedure;
  
  const appRouter = router({
    greeting: publicProcedure
      .input(z.object({ name: z.string() }))
      .query((req) => {
        const { input } = req;
        //      ^?
  
        return {
          text: `Hello ${input.name}` as const,
        };
    }),
  });
  
  export type AppRouter = typeof appRouter;
  ```
  