import * as Layer from "effect/Layer";import * as ManagedRuntime from "effect/ManagedRuntime"; import { remoteHttpClientLayer } from "@t3tools/client-runtime"; import { mobileCryptoLayer } from "../features/cloud/dpop";import { mobileManagedRelayClientLayer } from "../features/cloud/managedRelayLayer";import { resolveCloudPublicConfig } from "../features/cloud/publicConfig";import { mobileTracingLayer } from "../features/observability/mobileTracing"; function configuredRelayUrl(): string { return resolveCloudPublicConfig().relay.url ?? "http://relay.invalid";} const mobileHttpClientLayer = remoteHttpClientLayer(fetch); export const mobileRuntime = ManagedRuntime.make( mobileManagedRelayClientLayer(configuredRelayUrl()).pipe( Layer.provideMerge(mobileCryptoLayer), Layer.provideMerge(mobileHttpClientLayer), Layer.provideMerge(mobileTracingLayer.pipe(Layer.provide(mobileHttpClientLayer))), ),); export const mobileRuntimeContextLayer = Layer.effectContext(mobileRuntime.contextEffect);import * as Layer from "effect/Layer";
import * as ManagedRuntime from "effect/ManagedRuntime";
import { remoteHttpClientLayer } from "@t3tools/client-runtime";
import { mobileCryptoLayer } from "../features/cloud/dpop";
import { mobileManagedRelayClientLayer } from "../features/cloud/managedRelayLayer";
import { resolveCloudPublicConfig } from "../features/cloud/publicConfig";
import { mobileTracingLayer } from "../features/observability/mobileTracing";
function configuredRelayUrl(): string {
return resolveCloudPublicConfig().relay.url ?? "http://relay.invalid";
}
const mobileHttpClientLayer = remoteHttpClientLayer(fetch);
export const mobileRuntime = ManagedRuntime.make(
mobileManagedRelayClientLayer(configuredRelayUrl()).pipe(
Layer.provideMerge(mobileCryptoLayer),
Layer.provideMerge(mobileHttpClientLayer),
Layer.provideMerge(mobileTracingLayer.pipe(Layer.provide(mobileHttpClientLayer))),
),
);
export const mobileRuntimeContextLayer = Layer.effectContext(mobileRuntime.contextEffect);