/** * @ws-kit/core — Tiny, type-safe WebSocket router * * Public API surface (capability-gated): * - createRouter() → Factory with only heartbeat/limits options * - Router → RouterCore (use/on/route/merge/mount/plugin/onError) * - MessageDescriptor → Stable runtime shape for all validators * - MinimalContext → Base context (clientId, ws, type, data, assignData) * * Plugins add: * - withZod/withValibot → ValidationAPI (rpc method, payload/reply context) * - withPubSub → PubSubAPI (publish, subscribe context) * - withTelemetry → Observer hooks (onMessage, onError, onPublish) * - withHeartbeat/withLimits → Transparent behavior (no API surface) */ export { createRouter } from "./core/createRouter.js"; export { getRouteIndex } from "./core/router.js"; export type { ReadonlyRouteIndex, RouteBuilder, Router, RouterCore, RouterWithExtensions, } from "./core/router.js"; export type { CreateRouterOptions } from "./core/types.js"; export type { PublishRecord, RouterObserver } from "./core/types.js"; export type { MessageDescriptor } from "./protocol/message-descriptor.js"; export { isEventDescriptor, isMessageDescriptor, isRpcDescriptor, } from "./schema/guards.js"; export { getContextExtension, isMinimalContext, } from "./context/base-context.js"; export type { ConnectionData, MinimalContext, WebSocketData, } from "./context/base-context.js"; export type { EventHandler, Middleware } from "./core/types.js"; export type { Plugin } from "./plugin/types.js"; export { CloseError, ERROR_CODE_META, isStandardErrorCode, WsKitError, } from "./error.js"; export type { ErrorCode, ErrorCodeMetadata, ErrorMessage, ErrorPayload, ExtErrorCode, } from "./error.js"; export type { PublishEnvelope, PubSubAdapter, } from "./capabilities/pubsub/adapter.js"; export type { Observer, TelemetryHooks, } from "./capabilities/telemetry/contracts.js"; export type { ValidationContext, ValidatorAdapter, } from "./capabilities/validation/contracts.js"; export type { PublishCapability, PublishError, PublishOptions, PublishResult, } from "./core/router.js"; export { isPublishError } from "./core/types.js"; export type { AnySchema, BrandedSchema, InferMessage, InferMeta, InferPayload, InferResponse, InferType, MessageSchema, RpcSchema, } from "./protocol/schema.js"; export type { AdapterWebSocket, PlatformAdapter, ServerWebSocket, } from "./ws/platform-adapter.js"; export type { EventContext, ProgressOptions, PubSubContext, ReplyOptions, RpcContext, SendOptions, SendOptionsAsync, SendOptionsBase, SendOptionsSync, } from "./context/types.js"; export type { BaseCloseContext, BaseOpenContext, CloseContext, CloseHandler, LifecycleErrorContext, OpenContext, OpenHandler, } from "./context/lifecycle-context.js"; export { SYSTEM_LIFECYCLE } from "./schema/reserved.js"; export { createAdvancedThrottledPublish, createThrottledPublish, } from "./utils/throttle.js"; export type { ThrottledBroadcastConfig } from "./utils/throttle.js"; export * as test from "./testing/index.js"; export { normalizeInboundMessage } from "./internal/normalize.js"; //# sourceMappingURL=index.d.ts.map