/** * TORUK Dynamic UI — the SDK's copy of Core's wire contract, plus the SDK-side state and * protocol layers built on it. Nothing here imports Solid or touches the DOM. */ export type { Block, BlockWithId, UiComponent, UiComponentType, BlockSplitter, LifecycleBlockSplitter, LifecycleBlockSplitterCallbacks, } from './split-blocks'; export { createBlockSplitter, createLifecycleBlockSplitter, splitBlocks, resolveBlocks, normalizeUiComponent } from './split-blocks'; export type { PendingUiBlock, RenderBlock, ActivityStatus, ActivityStep, MessageActivity, BlockCarrier } from './message-blocks'; export { startBlocks, appendTextBlock, pushPendingBlock, updatePendingBlockType, replaceOrAppendContentBlock, upsertActivityStep, setActivityStepStatus, finalizeActivitySteps, resolveMessageBlocks, } from './message-blocks'; export type { BlockSegment, UiRenderBlock, MdRenderBlock, PendingRenderBlock } from './group-blocks'; export { groupBlocks, GROUPED_SURFACE_TYPES } from './group-blocks'; export type { FlowNodeEvent } from './node-activity'; export { STEP_ID, NODE_STEP_STATUS, upsertNodeActivityStep, countNodeOccurrences, resolveMessageActivity, hasMessageActivity } from './node-activity'; export type { AguiIntent, AguiSidebandField } from './agui'; export { AGUI_STREAM_PROTOCOL, isAguiFrame, interpretAguiFrame } from './agui'; export type { RendererKey } from './renderers'; export { DYNAMIC_UI_TYPES, INTERACTIVE_DYNAMIC_UI_TYPES, resolveRendererKey, isInteractiveType } from './renderers';