Skip to content

AIDK API Reference / aidk-shared

aidk-shared ​

AIDK Shared Types ​

Platform-independent type definitions shared across all AIDK packages. These types define the core data structures for messages, content blocks, tools, and streaming.

Content Blocks ​

Content blocks are discriminated unions representing all content types:

  • Text - Plain text content
  • Image/Audio/Video - Media content with base64 or URL sources
  • ToolUse/ToolResult - Tool call requests and responses
  • Code - Executable code blocks

Messages ​

Messages represent conversation entries with roles:

  • user - Human input
  • assistant - Model responses
  • system - System prompts
  • tool_result - Tool execution results

Usage ​

typescript
import type { Message, ContentBlock, ToolDefinition } from 'aidk-shared';

const message: Message = {
  role: 'user',
  content: [{ type: 'text', text: 'Hello!' }]
};

See ​

Enumerations ​

EnumerationDescription
ToolExecutionTypeTool execution type determines how and where the tool is CONFIGURED to execute. This is the tool's definition - where it SHOULD run.
ToolIntentTool intent describes WHAT the tool does, independent of WHERE it runs. Used by clients to determine how to render/handle tool calls.

Classes ​

ClassDescription
AbortErrorError thrown when an operation is aborted or cancelled.
AdapterErrorError thrown by model adapters for provider-specific errors.
AIDKErrorBase class for all AIDK errors. Provides consistent structure, serialization, and type identification.
ContextErrorError thrown when context is missing or invalid.
NotFoundErrorError thrown when a required resource cannot be found.
ReactivityErrorError thrown for reactivity/signal system issues.
StateErrorError thrown when an operation is attempted in an invalid state.
TransportErrorError thrown for network/transport failures.
ValidationErrorError thrown when input validation fails.

Interfaces ​

InterfaceDescription
ClientToolDefinitionClient tool definition - sent by clients to declare available tools. Simplified interface for client-provided tools.
DevToolsConfigConfiguration for DevTools integration in the engine
DevToolsEventBaseBase fields present on all DevTools events
DTCompiledEventBase fields present on all DevTools events
DTContentDeltaEventBase fields present on all DevTools events
DTExecutionEndEventBase fields present on all DevTools events
DTExecutionStartEventBase fields present on all DevTools events
DTModelRequestEventBase fields present on all DevTools events
DTModelResponseEventBase fields present on all DevTools events
DTModelStartEventBase fields present on all DevTools events
DTProcedureEndEventEmitted when a procedure completes successfully.
DTProcedureErrorEventEmitted when a procedure fails with an error.
DTProcedureStartEventEmitted when any procedure starts execution. This captures model calls, tool executions, engine operations, etc.
DTProviderRequestEventBase fields present on all DevTools events
DTProviderResponseEventBase fields present on all DevTools events
DTReasoningDeltaEventBase fields present on all DevTools events
DTStateChangeEventBase fields present on all DevTools events
DTTickEndEventBase fields present on all DevTools events
DTTickStartEventBase fields present on all DevTools events
DTToolCallEventBase fields present on all DevTools events
DTToolConfirmationEventBase fields present on all DevTools events
DTToolResultEventBase fields present on all DevTools events
ExecutionContextFieldsExecution context fields for events in an execution tree
ModelConfigModel configuration - simplified platform-independent structure.
ModelInputModel input - simplified platform-independent structure.
ModelOutputModel output - simplified platform-independent structure.
SerializedAIDKErrorSerialized error format for transport
TimelineEntryTimeline entry - represents a message or event in the conversation.
TokenUsageToken usage information (normalized across providers).
ToolCallTool call - represents a tool call made by the model.
ToolConfirmationResponseResponse from client when confirming/denying a tool execution. Sent via POST /api/channels/tool-confirmation.
ToolConfirmationResultResult of a tool confirmation, includes tool metadata for hooks/events. Used internally and in stream events.
ToolDefinitionSimplified tool definition - platform-independent base structure. Used for direct tool execution from clients.
ToolResultTool result - represents the result of a tool execution.

Type Aliases ​

Type AliasDescription
AgentToolCall-
AgentToolResult-
AIDKErrorCodeError codes for programmatic error handling. Format: CATEGORY_SPECIFIC (e.g., ABORT_CANCELLED, NOT_FOUND_MODEL)
DevToolsBatchSubscriberBatch subscriber callback type
DevToolsEventAll DevTools event types
DevToolsSubscriberSubscriber callback type
ModelToolCall-
ModelToolReferenceReference to a tool that can be used with a model. Can be a string (tool name/id), ToolDefinition, or ClientToolDefinition.
ResourceTypeResource types that can be "not found"
ToolExecutorTool executor identifies WHO actually executed a tool.

Variables ​

VariableDescription
CONTENT_COMPONENT_SYMBOLSymbol used to mark content components.
DEVTOOLS_CHANNELDevTools channel name - used for engine to emit events
devToolsEmitterSingleton DevTools emitter instance.
HOST_PRIMITIVE_SYMBOLSymbol used to mark host primitive components. These are structural primitives that should be handled by the renderer, not executed as functions.
SEMANTIC_COMPONENT_SYMBOLSymbol used to mark semantic components.

Functions ​

FunctionDescription
ensureErrorEnsure a value is an Error, wrapping if necessary. Useful for catch blocks that might receive non-Error values.
hasSymbolCheck if a value has a specific symbol marker.
isAbortErrorCheck if error is an AbortError
isAdapterErrorCheck if error is an AdapterError
isAIDKErrorCheck if error is any AIDK error
isContentBlockCheck if value is a ContentBlock. Validates that type is a known block type, not just any object with a type property.
isContentComponentCheck if a value is a content component.
isContextErrorCheck if error is a ContextError
isHostPrimitiveCheck if a value is a host primitive component. Minification-safe - uses symbol identity, not function name.
isMessageCheck if value is a Message
isNotFoundErrorCheck if error is a NotFoundError
isReactivityErrorCheck if error is a ReactivityError
isSemanticComponentCheck if a value is a semantic component.
isStateErrorCheck if error is a StateError
isTransportErrorCheck if error is a TransportError
isValidationErrorCheck if error is a ValidationError
markAsContentComponentMark a function as a content component.
markAsHostPrimitiveMark a function as a host primitive. Host primitives are structural components that should be handled by the renderer directly, not executed as functions.
markAsSemanticComponentMark a function as a semantic component.
markWithSymbolMark a function with a symbol for identity checking. Returns the same function with the symbol attached.
normalizeContentArrayNormalize ContentInputArray to ContentBlock[]
normalizeContentInputNormalize ContentInput to ContentBlock
normalizeDevToolsConfigNormalize DevTools config from various input formats.
normalizeMessageInputNormalize MessageInput to Message[]
wrapAsAIDKErrorWrap any error as an AIDK error if it isn't already.

References ​

AssistantAllowedBlock ​

Re-exports AssistantAllowedBlock


AssistantMessage ​

Re-exports AssistantMessage


AudioBlock ​

Re-exports AudioBlock


AudioMimeType ​

Re-exports AudioMimeType


Base64Source ​

Re-exports Base64Source


base64SourceToBuffer ​

Re-exports base64SourceToBuffer


BaseContentBlock ​

Re-exports BaseContentBlock


BaseMediaSource ​

Re-exports BaseMediaSource


BlockType ​

Re-exports BlockType


BlockTypes ​

Re-exports BlockTypes


bufferToBase64Source ​

Re-exports bufferToBase64Source


CodeBlock ​

Re-exports CodeBlock


CodeExecutionResultBlock ​

Re-exports CodeExecutionResultBlock


CodeLanguage ​

Re-exports CodeLanguage


ContentBlock ​

Re-exports ContentBlock


ContentDeltaEvent ​

Re-exports ContentDeltaEvent


ContentEndEvent ​

Re-exports ContentEndEvent


ContentEvent ​

Re-exports ContentEvent


ContentInput ​

Re-exports ContentInput


ContentInputArray ​

Re-exports ContentInputArray


ContentStartEvent ​

Re-exports ContentStartEvent


createAssistantMessage ​

Re-exports createAssistantMessage


createEventMessage ​

Re-exports createEventMessage


createSystemMessage ​

Re-exports createSystemMessage


createToolMessage ​

Re-exports createToolMessage


createUserMessage ​

Re-exports createUserMessage


CsvBlock ​

Re-exports CsvBlock


DataBlock ​

Re-exports DataBlock


DocumentBlock ​

Re-exports DocumentBlock


DocumentMimeType ​

Re-exports DocumentMimeType


EngineErrorEvent ​

Re-exports EngineErrorEvent


EngineEvent ​

Re-exports EngineEvent


EngineStreamEvent ​

Re-exports EngineStreamEvent


EventAllowedBlock ​

Re-exports EventAllowedBlock


EventBlock ​

Re-exports EventBlock


EventMessage ​

Re-exports EventMessage


ExecutableCodeBlock ​

Re-exports ExecutableCodeBlock


ExecutionEndEvent ​

Re-exports ExecutionEndEvent


ExecutionEvent ​

Re-exports ExecutionEvent


ExecutionStartEvent ​

Re-exports ExecutionStartEvent


extractText ​

Re-exports extractText


extractToolUses ​

Re-exports extractToolUses


FileIdSource ​

Re-exports FileIdSource


ForkEndEvent ​

Re-exports ForkEndEvent


ForkStartEvent ​

Re-exports ForkStartEvent


GCSSource ​

Re-exports GCSSource


GeneratedFileBlock ​

Re-exports GeneratedFileBlock


GeneratedImageBlock ​

Re-exports GeneratedImageBlock


HtmlBlock ​

Re-exports HtmlBlock


ImageBlock ​

Re-exports ImageBlock


ImageMimeType ​

Re-exports ImageMimeType


isAssistantMessage ​

Re-exports isAssistantMessage


isDeltaEvent ​

Re-exports isDeltaEvent


isEngineEvent ​

Re-exports isEngineEvent


isEventBlock ​

Re-exports isEventBlock


isEventMessage ​

Re-exports isEventMessage


isFinalEvent ​

Re-exports isFinalEvent


isForkEvent ​

Re-exports isForkEvent


isMediaBlock ​

Re-exports isMediaBlock


isSpawnEvent ​

Re-exports isSpawnEvent


isStateChangeBlock ​

Re-exports isStateChangeBlock


isStreamEvent ​

Re-exports isStreamEvent


isSystemEventBlock ​

Re-exports isSystemEventBlock


isSystemMessage ​

Re-exports isSystemMessage


isTextBlock ​

Re-exports isTextBlock


isToolMessage ​

Re-exports isToolMessage


isToolResultBlock ​

Re-exports isToolResultBlock


isToolUseBlock ​

Re-exports isToolUseBlock


isUrlString ​

Re-exports isUrlString


isUserActionBlock ​

Re-exports isUserActionBlock


isUserMessage ​

Re-exports isUserMessage


JsonBlock ​

Re-exports JsonBlock


MediaBlock ​

Re-exports MediaBlock


MediaSource ​

Re-exports MediaSource


MediaSourceType ​

Re-exports MediaSourceType


Message ​

Re-exports Message


MessageEndEvent ​

Re-exports MessageEndEvent


MessageEvent ​

Re-exports MessageEvent


MessageInput ​

Re-exports MessageInput


MessageRole ​

Re-exports MessageRole


MessageRoles ​

Re-exports MessageRoles


MessageStartEvent ​

Re-exports MessageStartEvent


ReasoningBlock ​

Re-exports ReasoningBlock


ReasoningDeltaEvent ​

Re-exports ReasoningDeltaEvent


ReasoningEndEvent ​

Re-exports ReasoningEndEvent


ReasoningEvent ​

Re-exports ReasoningEvent


ReasoningStartEvent ​

Re-exports ReasoningStartEvent


S3Source ​

Re-exports S3Source


SpawnEndEvent ​

Re-exports SpawnEndEvent


SpawnStartEvent ​

Re-exports SpawnStartEvent


StateChangeBlock ​

Re-exports StateChangeBlock


StopReason ​

Re-exports StopReason


StreamChunk ​

Re-exports StreamChunk


StreamChunkType ​

Re-exports StreamChunkType


StreamErrorEvent ​

Re-exports StreamErrorEvent


StreamEvent ​

Re-exports StreamEvent


StreamEventBase ​

Re-exports StreamEventBase


stringToMediaSource ​

Re-exports stringToMediaSource


SystemAllowedBlock ​

Re-exports SystemAllowedBlock


SystemEventBlock ​

Re-exports SystemEventBlock


SystemMessage ​

Re-exports SystemMessage


TextBlock ​

Re-exports TextBlock


TickEndEvent ​

Re-exports TickEndEvent


TickEvent ​

Re-exports TickEvent


TickStartEvent ​

Re-exports TickStartEvent


ToolAllowedBlock ​

Re-exports ToolAllowedBlock


ToolBlock ​

Re-exports ToolBlock


ToolCallDeltaEvent ​

Re-exports ToolCallDeltaEvent


ToolCallEndEvent ​

Re-exports ToolCallEndEvent


ToolCallEvent ​

Re-exports ToolCallEvent


ToolCallStartEvent ​

Re-exports ToolCallStartEvent


ToolConfirmationRequiredEvent ​

Re-exports ToolConfirmationRequiredEvent


ToolConfirmationResultEvent ​

Re-exports ToolConfirmationResultEvent


ToolMessage ​

Re-exports ToolMessage


ToolResultBlock ​

Re-exports ToolResultBlock


ToolResultEvent ​

Re-exports ToolResultEvent


ToolUseBlock ​

Re-exports ToolUseBlock


UrlSource ​

Re-exports UrlSource


UserActionBlock ​

Re-exports UserActionBlock


UserAllowedBlock ​

Re-exports UserAllowedBlock


UserMessage ​

Re-exports UserMessage


VideoBlock ​

Re-exports VideoBlock


VideoMimeType ​

Re-exports VideoMimeType


XmlBlock ​

Re-exports XmlBlock

Released under the MIT License.