© 2026 Hedgehog Software, LLC
export class RpcClientService extends Effect.Service<RpcClientService>()('@prxd/RpcClientService', { effect : Effect.gen(function* () { const baseClient = yield* HttpClient.HttpClient; const config = yield* Effect.orDie(appConfig); const client = baseClient.pipe( HttpClient.filterStatusOk, HttpClient.mapRequest( flow( HttpClientRequest.prependUrl(config.apiEndpoint), HttpClientRequest.setMethod('POST') ) ) ); return HttpRpcResolverNoStream.make<AppRouter>(client) .pipe(RpcResolver.toClient); }).pipe( Effect.provide(FetchHttpClient.layer), ), dependencies: [FetchHttpClient.layer] }) { }
const rpcClient = yield* RpcClientService; yield* rpcClient(new CreateSessionRequest({ apiKeyPublic: config.apiKeyPublic, })).pipe( Effect.tapError((e) => Effect.log("I failed to create session")) )
I failed to create session