1// A second, genuinely distinct entry module for RpcSpawner.test.ts: children
2// are keyed by serverEntryUrl, so pinning "distinct entries → distinct
3// children" needs two separate files that boot the same server shape.
4import * as Context from "effect/Context";
5import * as Effect from "effect/Effect";
6import * as Layer from "effect/Layer";
7import { launch } from "../../../src/Local/RpcServer.ts";
8
9export class TestEchoB extends Context.Service<
10 TestEchoB,
11 {
12 echo: (msg: string) => Effect.Effect<string>;
13 }
14>()("Test.Echo") {}
15
16const TestEchoBLive = Layer.succeed(TestEchoB, {
17 echo: (msg) => Effect.succeed(`echo:${msg}`),
18});
19
20launch(TestEchoBLive);