API overview
@mastra-effect/core
Tools
| Export | Description |
|---|---|
MastraTool.make | Define a tool with Effect Schema |
Toolkit.make / Toolkit.merge | Build typed toolkits |
toolkit.toLayer | Layer<ToolHandlers, E, R> from Effect-ful handler callback |
toolkit.toMastraTools | Mastra ToolsInput for agent loop |
ToolHandlers | Server handler registry service |
executeEffectTool | Low-level server execute |
HandlerRequirementsFrom<H> | Union of handler R (usually inferred) |
Agent
| Export | Description |
|---|---|
MastraAgent / MastraAgent.layer | Agent context service + layer |
Agent.generate / Agent.stream | Effect wrappers around Mastra agent |
Agent.withTools | Attach tools to stream/generate options |
Memory
| Export | Description |
|---|---|
MastraMemory | Effect service for @mastra/memory instances |
Memory.layer | Construct @mastra/memory |
Memory.recall, getThreadById, listThreads, saveThread, saveMessages, createThread, deleteThread, settled | Effect wrappers |
Stream
| Export | Description |
|---|---|
fromMastraOutput | MastraModelOutput.fullStream → Stream |
fromReadableStream / fromAsyncIterable | Adapters |
runCollect | Collect stream elements |
AiBlock
| Export | Description |
|---|---|
AiBlock.make | Define typed block schema (optional Effect Schema for state/answer) |
AiBlock.withAnswer / AiBlock.resume | Attach resume answer |
AiBlock.toSuspendPayload | Build suspend envelope for client rendering |
AiBlock.fromSuspendArgs | Parse suspend args back into a typed block |
AiBlock.fromToolCallSuspend | Parse tool-call-suspend stream chunk into a block |
AiBlock.parse / AiBlock.parseByTag | Parse tagged payloads |
AiBlock.answersEqual / AiBlock.equalsBy | Answer equality helpers |
Suspend
| Export | Description |
|---|---|
Suspend.withBlock | Suspend a requiredClient tool with an AiBlock.Def payload |
Suspend.forClientTool | Suspend with arbitrary args |
Suspend.isToolCallPart | Guard for tool-call-suspend stream chunks |
Errors
| Export | Description |
|---|---|
MastraError | Bridge failures (agent, memory, stream, handlers) |
ClientToolRequiredError | Server hit a requiredClient tool without client fulfillment |
ClientToolSuspended | Typed suspend error carrying tool id + args |
@mastra-effect/assistant-ui
| Export | Description |
|---|---|
UiToolkit.make | Bind toolkit + client components (all client tools required) |
ui.toComponents() | Assistant UI Toolkit |
toAssistantUiToolkit | Lower-level toolkit mapping |
clientToolIds / serverToolIds | List tool ids by kind |
BlockRegistry.make | Typed dynamic block registry |