/**
 * @wrnexus/csr — the browser reactive runtime.
 *
 * Components are `.wrn` files rendered on the SERVER (see @wrnexus/dev-server)
 * and hydrated in the browser by this single, generic runtime — served once at
 * `/__wrnexus/reactive.js` for any page that contains a `data-scope`. There are
 * no per-component browser bundles: SSR stays cleanly separated from CSR.
 */

import { REACTIVE_RUNTIME } from "./reactive-runtime.ts";
import { NAV_RUNTIME } from "./nav-runtime.ts";
import { REALTIME_RUNTIME } from "./realtime-runtime.ts";

export { REACTIVE_RUNTIME } from "./reactive-runtime.ts";
export { NAV_RUNTIME } from "./nav-runtime.ts";
export { REALTIME_RUNTIME } from "./realtime-runtime.ts";

/** The reactive runtime served at `/__wrnexus/reactive.js` (plain browser JS). */
export function getReactiveRuntime(): string {
  return REACTIVE_RUNTIME;
}

/** The client-side navigation runtime served at `/__wrnexus/nav.js`. */
export function getNavRuntime(): string {
  return NAV_RUNTIME;
}

/** The realtime client runtime served at `/__wrnexus/realtime.js`. */
export function getRealtimeRuntime(): string {
  return REALTIME_RUNTIME;
}
