/** * @sparkletree/core — the framework-agnostic half of the SparkleTree SDK. * * Everything that touches the wire lives here, and ONLY here. Components * distributed by `sparkletree add` are copied into a customer's repo and are * therefore un-patchable by us; they must stay wire-ignorant, rendering state * this package hands them. That split is what lets a protocol change ship as a * version bump instead of a migration guide. * * Wire types are re-exported so consumers never import the generated contract * directly — that path is an implementation detail and would make the * generated artifacts part of the public API. */ export type { ContentSource, CopyMode, DegradeReason, DoneMeta, FragmentField, FragmentKind, FragmentWarmth, FragmentsResponse, ThemePayload, WireEventName, } from "./wire.js"; export { FRAGMENT_KINDS, FRAGMENT_WARMTHS } from "./wire.js"; export { KEY_PARAM, PROTOCOL_CURRENT, PROTOCOL_DEFAULT, PROTOCOL_HEADER, PROTOCOL_PARAM, PROTOCOL_VERSIONS, SDK_PARAM, SDK_PARAM_VALUE, VARIANT_PARAM, buildContentUrl, buildStreamUrl, negotiatedProtocol, type StreamTarget, } from "./protocol.js"; export { SseParser, readSseStream, type SseMessage } from "./sse.js"; export { isFirstPartyApiBase, isSecureApiBase, safeActionUrl } from "./safeUrl.js"; export { CONTEXT_DAYPARTS, CONTEXT_DAY_TYPES, CONTEXT_DEVICES, CONTEXT_INTENTS, CONTEXT_SURFACE_TYPES, CONTEXT_TEMP_BANDS, CONTEXT_WEATHER, FRAGMENT_KIND_FLOORS, MAX_CUSTOM_DIMS, MAX_FALLBACK_CHARS, MAX_FRAGMENT_FIELDS, MAX_NOTES_LENGTH, canonicalContextString, computeContextHash, computeFieldBudget, computeSchemaHash, declaredToDims, flattenCustomContext, hashDeclaredContext, normalizeDims, normalizeNotes, type CanonicalDims, type DeclaredContext, type NormalizeResult, } from "./context.js"; export { MOBILE_VIEWPORT_QUERY, SERVER_CONTEXT_KEYS, applyServerContext, deviceTypeForViewport, hourInTimeZone, isValidTimeZone, timeOfDayForHour, type DeviceType, type InitialCopy, type ServerContext, type TimeOfDay, } from "./visitorContext.js"; export { COPY_FIELDS, COPY_HOLD_MAX_MS, COPY_HOLD_MS, COPY_MOTION_EASING, COPY_MOTION_MS, CopyChoreographer, RESERVE_FAILSAFE_MS, isClearlyErrorText, keepUnlessClearlyError, type ChoreographerOptions, type CopyField, type CreativeState, type FieldState, type Phase, type UnfinishedCopy, type UnfinishedCopyDecision, type UnfinishedCopyPolicy, } from "./state.js"; export { fetchContent, openStream, type ContentImage, type ContentSnapshot, type StreamHandle, type StreamOptions, } from "./client.js"; export { TOKEN_PREFIX, applyTheme, themeStyle, tokenName, tokenSource, type ResolvedTheme, } from "./theme.js"; export { STANDARD_MODE_KEY, decideChrome, setViewerPrefersStandard, viewerPrefersStandard, type ChromeDecision, } from "./trust.js"; export { ImpressionRecorder, observeVisibility, sessionId, track, type AnalyticsContext, type EventType, type ImpressionDetail, type VisibilityOptions, } from "./analytics.js"; export { RESERVATION_TIMEOUT_MS, VariantRegistry, pageVariants, type FollowerReservation, type LeaderReservation, type ShownCopy, type SlotMemory, type VariantReservation, } from "./variant.js"; export { ISLAND_COPY_FIELDS, LENGTH_PARAM_PREFIX, VISITOR_CHANGE_WINDOW_MS, copyLength, isVisitorChange, lengthBudgets, markVisitorChange, setLengthParams, visitorChangeGeneration, } from "./slots.js"; export { activePlayer, destroyActiveAudio, mountAudio, type AudioBlock, type AudioCapabilities, type AudioEvent, type AudioHandle, type AudioProvider, type AudioState, } from "./audio.js"; export { plainText } from "./text.js"; export { readableTextColor } from "./theme.js"; export { decodePublishableKey, encodePublishableKey, type PublishableKeyEnv, type PublishableKeyPayload, } from "./publishableKey.js"; export { inDevelopment, warnDev } from "./devwarn.js"; export { createClient, expandFieldSpecs, fetchFragments, fragmentSwapPolicy, normalizeFieldSpecs, resolvePublishableConfig, strongestFragmentSource, type CreateClientOptions, type ResolvedPublishableConfig, type FetchFragmentsOptions, type FragmentFieldSpec, type FragmentSwapPolicy, type FragmentsResult, type MintTokenRequest, type MintTokenSource, type NormalizedFragmentField, type SparkletreeClient, } from "./fragments.js"; //# sourceMappingURL=index.d.ts.map