export { createRuntimeDirectory } from "../directory/directory.js"; export type { DirectorySnapshot, RuntimeDirectoryHandle, RuntimeDirectoryOptions } from "../directory/directory.js"; export type { RuntimeDirectoryRecoveryHooks, RuntimeDirectoryRetention } from "../directory/recovery.js"; export { entryToChildLike, entryToListedRuntimeObject, entryToListedRuntimeObjectList, isListableFrom, isLiveStatus, isResolvableFrom, mergeAdapterOwnedFields, owningSessionIdOf, parentAddressOf, sessionAddressOf } from "../directory/entries.js"; export { createGlobalMessaging, deriveMessageId } from "./router.js"; export type { GlobalMessagingContext, GlobalMessagingHandle, GlobalMessagingOptions, ReplyRequest } from "./router.js"; export { createWinterMessagingAdapter } from "./winter-adapter.js"; export type { WinterMessagingAdapter, WinterMessagingAdapterDeps } from "./winter-adapter.js"; export { createDispatchingAdapter } from "./dispatch.js"; export type { DispatchDeps, RouterMessagingAdapter } from "./dispatch.js"; export { createInboundPolicy } from "./inbound.js"; export type { InboundPolicy, InboundPolicyDeps, InboundPolicyHooks, InboundVerdict } from "./inbound.js"; export { createAttachedSessionRegistry } from "./sessions.js"; export type { AttachedSession, AttachedSessionRegistry, AttachedWinterSession, LiveSessionStatus } from "./sessions.js"; export { renderAttributedTurn, renderOwnerQualifiedTurn, UnattributableSenderError } from "./attribution.js"; import { type RuntimeDirectoryHandle, type RuntimeDirectoryOptions } from "../directory/directory.js"; import type { SeamContext } from "../seams/context.js"; import { type GlobalMessagingHandle, type GlobalMessagingOptions } from "./router.js"; import type { WinterColdResumeRunHomes } from "./winter-adapter.js"; export interface RuntimeMessaging { directory: RuntimeDirectoryHandle; messaging: GlobalMessagingHandle; } /** * The directory and the router, built together and wired to each other. * * THE ONE WIRE THAT IS EASY TO MISS: the directory's `ChildLike` view delivers through the ROUTER, so * a caller that used `ChildLike.steer`/`resume` (the router core never does — see `entryToChildLike`) * reaches the child's own runtime adapter rather than a stub. It is a late binding on purpose: the * router does not exist yet when the directory is constructed, so the hook closes over a variable * that is assigned one line later. */ export declare function createRuntimeMessaging(context: SeamContext, options?: { directory?: RuntimeDirectoryOptions; messaging?: GlobalMessagingOptions; }, internal?: { winterRunHomes?: WinterColdResumeRunHomes; }): RuntimeMessaging;