@mastra/mcp-docs-server 1.1.8-alpha.0 → 1.1.9-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/agent-memory.md +2 -2
- package/.docs/docs/agents/guardrails.md +3 -3
- package/.docs/docs/agents/network-approval.md +4 -1
- package/.docs/docs/agents/networks.md +1 -1
- package/.docs/docs/agents/overview.md +1 -1
- package/.docs/docs/agents/processors.md +35 -17
- package/.docs/docs/agents/structured-output.md +1 -1
- package/.docs/docs/agents/using-tools.md +2 -2
- package/.docs/docs/build-with-ai/mcp-docs-server.md +4 -4
- package/.docs/docs/build-with-ai/skills.md +1 -1
- package/.docs/docs/community/discord.md +1 -1
- package/.docs/docs/community/licensing.md +1 -1
- package/.docs/docs/deployment/mastra-server.md +1 -1
- package/.docs/docs/deployment/studio.md +2 -2
- package/.docs/docs/deployment/web-framework.md +1 -1
- package/.docs/docs/evals/overview.md +1 -1
- package/.docs/docs/getting-started/build-with-ai.md +1 -1
- package/.docs/docs/getting-started/project-structure.md +1 -1
- package/.docs/docs/index.md +62 -16
- package/.docs/docs/mastra-cloud/deployment.md +1 -1
- package/.docs/docs/mastra-cloud/studio.md +1 -1
- package/.docs/docs/mcp/publishing-mcp-server.md +1 -1
- package/.docs/docs/memory/memory-processors.md +1 -1
- package/.docs/docs/memory/message-history.md +2 -2
- package/.docs/docs/memory/observational-memory.md +6 -2
- package/.docs/docs/memory/semantic-recall.md +2 -2
- package/.docs/docs/memory/storage.md +1 -1
- package/.docs/docs/memory/working-memory.md +6 -6
- package/.docs/docs/observability/tracing/bridges/otel.md +2 -2
- package/.docs/docs/observability/tracing/exporters/default.md +1 -1
- package/.docs/docs/observability/tracing/overview.md +4 -4
- package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +2 -2
- package/.docs/docs/rag/chunking-and-embedding.md +1 -1
- package/.docs/docs/rag/vector-databases.md +2 -2
- package/.docs/docs/server/auth/auth0.md +1 -1
- package/.docs/docs/server/auth/firebase.md +1 -1
- package/.docs/docs/server/auth/simple-auth.md +1 -1
- package/.docs/docs/server/auth.md +1 -1
- package/.docs/docs/server/mastra-client.md +1 -1
- package/.docs/docs/server/mastra-server.md +1 -1
- package/.docs/docs/server/server-adapters.md +2 -2
- package/.docs/docs/streaming/events.md +1 -1
- package/.docs/docs/streaming/overview.md +1 -1
- package/.docs/docs/streaming/tool-streaming.md +44 -30
- package/.docs/docs/streaming/workflow-streaming.md +1 -1
- package/.docs/docs/workflows/control-flow.md +44 -2
- package/.docs/docs/workflows/error-handling.md +1 -1
- package/.docs/docs/workflows/overview.md +3 -3
- package/.docs/docs/workflows/snapshots.md +1 -1
- package/.docs/docs/workflows/time-travel.md +2 -2
- package/.docs/docs/workspace/filesystem.md +2 -2
- package/.docs/docs/workspace/overview.md +52 -7
- package/.docs/docs/workspace/sandbox.md +72 -13
- package/.docs/docs/workspace/skills.md +2 -2
- package/.docs/guides/build-your-ui/copilotkit.md +1 -1
- package/.docs/guides/deployment/inngest.md +4 -4
- package/.docs/guides/guide/ai-recruiter.md +1 -1
- package/.docs/guides/guide/github-actions-pr-description.md +2 -2
- package/.docs/guides/guide/notes-mcp-server.md +1 -1
- package/.docs/guides/guide/stock-agent.md +2 -2
- package/.docs/guides/migrations/agentnetwork.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/client.md +2 -2
- package/.docs/guides/migrations/upgrade-to-v1/deployment.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/memory.md +2 -2
- package/.docs/guides/migrations/upgrade-to-v1/storage.md +1 -1
- package/.docs/guides/migrations/upgrade-to-v1/tools.md +2 -2
- package/.docs/guides/migrations/upgrade-to-v1/workflows.md +5 -5
- package/.docs/guides/migrations/vnext-to-standard-apis.md +2 -2
- package/.docs/models/gateways/netlify.md +1 -2
- package/.docs/models/gateways/openrouter.md +8 -1
- package/.docs/models/gateways/vercel.md +3 -1
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/abacus.md +21 -11
- package/.docs/models/providers/aihubmix.md +7 -2
- package/.docs/models/providers/alibaba-cn.md +80 -71
- package/.docs/models/providers/alibaba-coding-plan-cn.md +78 -0
- package/.docs/models/providers/alibaba-coding-plan.md +78 -0
- package/.docs/models/providers/chutes.md +1 -1
- package/.docs/models/providers/clarifai.md +81 -0
- package/.docs/models/providers/cloudferro-sherlock.md +5 -4
- package/.docs/models/providers/cloudflare-workers-ai.md +3 -2
- package/.docs/models/providers/cortecs.md +7 -5
- package/.docs/models/providers/deepinfra.md +7 -2
- package/.docs/models/providers/deepseek.md +1 -1
- package/.docs/models/providers/drun.md +73 -0
- package/.docs/models/providers/firmware.md +28 -20
- package/.docs/models/providers/google.md +3 -1
- package/.docs/models/providers/inception.md +4 -2
- package/.docs/models/providers/kilo.md +3 -1
- package/.docs/models/providers/nano-gpt.md +519 -40
- package/.docs/models/providers/nebius.md +34 -34
- package/.docs/models/providers/nvidia.md +4 -2
- package/.docs/models/providers/ollama-cloud.md +1 -2
- package/.docs/models/providers/openai.md +3 -1
- package/.docs/models/providers/opencode.md +36 -33
- package/.docs/models/providers/poe.md +8 -2
- package/.docs/models/providers/qiniu-ai.md +20 -5
- package/.docs/models/providers/requesty.md +17 -1
- package/.docs/models/providers/siliconflow-cn.md +7 -1
- package/.docs/models/providers/togetherai.md +1 -3
- package/.docs/models/providers/xai.md +28 -25
- package/.docs/models/providers/xiaomi.md +1 -1
- package/.docs/models/providers/zenmux.md +3 -1
- package/.docs/models/providers.md +4 -0
- package/.docs/reference/agents/getDefaultGenerateOptions.md +1 -1
- package/.docs/reference/agents/getDefaultOptions.md +1 -1
- package/.docs/reference/agents/getDefaultStreamOptions.md +1 -1
- package/.docs/reference/agents/getDescription.md +1 -1
- package/.docs/reference/agents/network.md +3 -1
- package/.docs/reference/ai-sdk/handle-chat-stream.md +2 -0
- package/.docs/reference/ai-sdk/handle-network-stream.md +2 -0
- package/.docs/reference/ai-sdk/network-route.md +2 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +1 -1
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +1 -1
- package/.docs/reference/auth/auth0.md +3 -3
- package/.docs/reference/auth/firebase.md +1 -1
- package/.docs/reference/auth/workos.md +2 -2
- package/.docs/reference/cli/mastra.md +4 -4
- package/.docs/reference/client-js/mastra-client.md +1 -1
- package/.docs/reference/configuration.md +62 -6
- package/.docs/reference/core/getDeployer.md +1 -1
- package/.docs/reference/core/getLogger.md +1 -1
- package/.docs/reference/core/getScorer.md +2 -2
- package/.docs/reference/core/getServer.md +1 -1
- package/.docs/reference/core/getStorage.md +1 -1
- package/.docs/reference/core/getStoredAgentById.md +1 -1
- package/.docs/reference/core/getTelemetry.md +1 -1
- package/.docs/reference/core/getWorkflow.md +1 -1
- package/.docs/reference/core/listAgents.md +1 -1
- package/.docs/reference/core/listMCPServers.md +1 -1
- package/.docs/reference/core/listStoredAgents.md +1 -1
- package/.docs/reference/core/listVectors.md +1 -1
- package/.docs/reference/core/mastra-class.md +1 -1
- package/.docs/reference/core/setLogger.md +1 -1
- package/.docs/reference/core/setStorage.md +1 -1
- package/.docs/reference/datasets/dataset.md +1 -1
- package/.docs/reference/datasets/datasets-manager.md +1 -1
- package/.docs/reference/datasets/get.md +2 -2
- package/.docs/reference/datasets/getDetails.md +1 -1
- package/.docs/reference/datasets/listItems.md +1 -1
- package/.docs/reference/deployer/vercel.md +1 -1
- package/.docs/reference/evals/answer-relevancy.md +1 -1
- package/.docs/reference/evals/completeness.md +1 -1
- package/.docs/reference/evals/context-precision.md +3 -3
- package/.docs/reference/evals/context-relevance.md +1 -1
- package/.docs/reference/evals/hallucination.md +3 -9
- package/.docs/reference/evals/keyword-coverage.md +1 -1
- package/.docs/reference/evals/mastra-scorer.md +1 -1
- package/.docs/reference/evals/noise-sensitivity.md +2 -2
- package/.docs/reference/evals/textual-difference.md +1 -1
- package/.docs/reference/evals/tone-consistency.md +1 -1
- package/.docs/reference/evals/tool-call-accuracy.md +1 -1
- package/.docs/reference/harness/harness-class.md +4 -2
- package/.docs/reference/index.md +2 -0
- package/.docs/reference/memory/cloneThread.md +1 -1
- package/.docs/reference/memory/observational-memory.md +7 -5
- package/.docs/reference/observability/tracing/bridges/otel.md +1 -1
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +1 -1
- package/.docs/reference/observability/tracing/spans.md +2 -0
- package/.docs/reference/processors/message-history-processor.md +1 -1
- package/.docs/reference/processors/processor-interface.md +6 -2
- package/.docs/reference/processors/token-limiter-processor.md +2 -2
- package/.docs/reference/rag/metadata-filters.md +10 -10
- package/.docs/reference/server/create-route.md +2 -0
- package/.docs/reference/server/koa-adapter.md +1 -1
- package/.docs/reference/server/register-api-route.md +2 -2
- package/.docs/reference/storage/cloudflare-d1.md +3 -3
- package/.docs/reference/storage/cloudflare.md +1 -1
- package/.docs/reference/storage/convex.md +1 -1
- package/.docs/reference/storage/dynamodb.md +2 -2
- package/.docs/reference/storage/lance.md +2 -2
- package/.docs/reference/storage/mongodb.md +1 -1
- package/.docs/reference/storage/mssql.md +1 -1
- package/.docs/reference/storage/postgresql.md +2 -2
- package/.docs/reference/storage/upstash.md +1 -1
- package/.docs/reference/streaming/workflows/observeStream.md +1 -1
- package/.docs/reference/templates/overview.md +1 -1
- package/.docs/reference/tools/create-tool.md +1 -1
- package/.docs/reference/tools/mcp-server.md +4 -4
- package/.docs/reference/vectors/chroma.md +2 -2
- package/.docs/reference/vectors/couchbase.md +6 -6
- package/.docs/reference/vectors/pg.md +2 -0
- package/.docs/reference/vectors/s3vectors.md +5 -5
- package/.docs/reference/voice/azure.md +4 -2
- package/.docs/reference/voice/cloudflare.md +4 -2
- package/.docs/reference/voice/elevenlabs.md +1 -1
- package/.docs/reference/voice/google-gemini-live.md +2 -2
- package/.docs/reference/voice/google.md +3 -3
- package/.docs/reference/voice/mastra-voice.md +1 -1
- package/.docs/reference/voice/murf.md +2 -2
- package/.docs/reference/voice/openai-realtime.md +3 -1
- package/.docs/reference/voice/openai.md +7 -3
- package/.docs/reference/voice/playai.md +4 -2
- package/.docs/reference/voice/sarvam.md +3 -1
- package/.docs/reference/voice/speechify.md +6 -4
- package/.docs/reference/voice/voice.addInstructions.md +2 -2
- package/.docs/reference/voice/voice.addTools.md +1 -1
- package/.docs/reference/voice/voice.close.md +2 -2
- package/.docs/reference/voice/voice.connect.md +4 -2
- package/.docs/reference/voice/voice.events.md +2 -2
- package/.docs/reference/voice/voice.getSpeakers.md +1 -1
- package/.docs/reference/voice/voice.listen.md +11 -5
- package/.docs/reference/voice/voice.off.md +2 -2
- package/.docs/reference/voice/voice.on.md +2 -2
- package/.docs/reference/voice/voice.speak.md +14 -4
- package/.docs/reference/voice/voice.updateConfig.md +1 -1
- package/.docs/reference/workflows/run-methods/timeTravel.md +1 -1
- package/.docs/reference/workspace/blaxel-sandbox.md +164 -0
- package/.docs/reference/workspace/daytona-sandbox.md +48 -139
- package/.docs/reference/workspace/e2b-sandbox.md +39 -75
- package/.docs/reference/workspace/filesystem.md +24 -10
- package/.docs/reference/workspace/gcs-filesystem.md +20 -0
- package/.docs/reference/workspace/local-filesystem.md +23 -9
- package/.docs/reference/workspace/local-sandbox.md +23 -98
- package/.docs/reference/workspace/process-manager.md +296 -0
- package/.docs/reference/workspace/s3-filesystem.md +20 -0
- package/.docs/reference/workspace/sandbox.md +9 -1
- package/.docs/reference/workspace/workspace-class.md +93 -25
- package/CHANGELOG.md +16 -0
- package/dist/tools/course.d.ts +7 -27
- package/dist/tools/course.d.ts.map +1 -1
- package/dist/tools/docs.d.ts +6 -18
- package/dist/tools/docs.d.ts.map +1 -1
- package/dist/tools/embedded-docs.d.ts +12 -112
- package/dist/tools/embedded-docs.d.ts.map +1 -1
- package/dist/tools/migration.d.ts +6 -26
- package/dist/tools/migration.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -6,21 +6,19 @@ Sandbox providers give agents the ability to execute shell commands. When you co
|
|
|
6
6
|
|
|
7
7
|
A sandbox provider executes commands in a controlled environment:
|
|
8
8
|
|
|
9
|
-
- **Command execution
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
|
|
15
|
-
When you assign a workspace with a sandbox to an agent, Mastra automatically includes the `execute_command` tool in the agent's toolset.
|
|
9
|
+
- **Command execution**: Run shell commands with arguments
|
|
10
|
+
- **Background processes**: Spawn long-running processes like dev servers and watchers
|
|
11
|
+
- **Working directory**: Commands run from a specific directory
|
|
12
|
+
- **Environment variables**: Control what variables are available
|
|
13
|
+
- **Timeouts**: Prevent long-running commands from hanging
|
|
14
|
+
- **Isolation**: Optional OS-level sandboxing for security
|
|
16
15
|
|
|
17
16
|
## Supported providers
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- [`
|
|
22
|
-
- [`
|
|
23
|
-
- [`E2BSandbox`](https://mastra.ai/reference/workspace/e2b-sandbox) - Executes commands in isolated E2B cloud sandboxes
|
|
18
|
+
- [`LocalSandbox`](https://mastra.ai/reference/workspace/local-sandbox): Executes commands on the local machine
|
|
19
|
+
- [`BlaxelSandbox`](https://mastra.ai/reference/workspace/blaxel-sandbox): Executes commands in isolated Blaxel cloud sandboxes
|
|
20
|
+
- [`DaytonaSandbox`](https://mastra.ai/reference/workspace/daytona-sandbox): Executes commands in isolated Daytona cloud sandboxes
|
|
21
|
+
- [`E2BSandbox`](https://mastra.ai/reference/workspace/e2b-sandbox): Executes commands in isolated E2B cloud sandboxes
|
|
24
22
|
|
|
25
23
|
## Basic usage
|
|
26
24
|
|
|
@@ -54,10 +52,71 @@ See [`LocalSandbox` reference](https://mastra.ai/reference/workspace/local-sandb
|
|
|
54
52
|
|
|
55
53
|
## Agent tools
|
|
56
54
|
|
|
57
|
-
When you configure a sandbox on a workspace, agents receive the `execute_command` tool for running shell commands.
|
|
55
|
+
When you configure a sandbox on a workspace, agents receive the `execute_command` tool for running shell commands.
|
|
56
|
+
|
|
57
|
+
If your sandbox provider supports running processes in the background, the `execute_command` tool also accepts `background: true` for starting long-running processes, and two additional tools are registered:
|
|
58
|
+
|
|
59
|
+
| Tool | Description |
|
|
60
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
61
|
+
| `execute_command` | Run a shell command. Returns stdout, stderr, and exit code. Supports `background: true` to spawn a long-running process and return a PID. |
|
|
62
|
+
| `get_process_output` | Get stdout, stderr, and status of a background process by PID. Supports `tail` to limit output lines and `wait: true` to block until exit. |
|
|
63
|
+
| `kill_process` | Stop a background process by PID. Returns recent output. |
|
|
64
|
+
|
|
65
|
+
These tools are registered automatically. See [Workspace class reference](https://mastra.ai/reference/workspace/workspace-class) for the full tool name list.
|
|
66
|
+
|
|
67
|
+
## Background process callbacks
|
|
68
|
+
|
|
69
|
+
When agents start background processes through the `execute_command` tool, you can receive lifecycle callbacks for stdout, stderr, and process exit. Configure these through the `backgroundProcesses` option on the `execute_command` tool:
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
import { Workspace, LocalSandbox, WORKSPACE_TOOLS } from '@mastra/core/workspace'
|
|
73
|
+
|
|
74
|
+
const workspace = new Workspace({
|
|
75
|
+
sandbox: new LocalSandbox({ workingDirectory: './workspace' }),
|
|
76
|
+
tools: {
|
|
77
|
+
[WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND]: {
|
|
78
|
+
backgroundProcesses: {
|
|
79
|
+
onStdout: (data, { pid }) => console.log(`[${pid}] ${data}`),
|
|
80
|
+
onStderr: (data, { pid }) => console.error(`[${pid}] ${data}`),
|
|
81
|
+
onExit: ({ pid, exitCode }) => console.log(`Process ${pid} exited: ${exitCode}`),
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
})
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
These callbacks fire for all background processes started by the agent through the `execute_command` tool.
|
|
89
|
+
|
|
90
|
+
### Abort signal
|
|
91
|
+
|
|
92
|
+
By default, background processes inherit the agent's abort signal and are killed when the agent disconnects. Control this behavior with the `abortSignal` option:
|
|
93
|
+
|
|
94
|
+
- **`undefined`** (default): Uses the agent's abort signal
|
|
95
|
+
- **`AbortSignal`**: Uses a custom signal
|
|
96
|
+
- **`null` or `false`**: Disables abort — processes persist after agent shutdown
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import { Workspace, LocalSandbox, WORKSPACE_TOOLS } from '@mastra/core/workspace'
|
|
100
|
+
|
|
101
|
+
const workspace = new Workspace({
|
|
102
|
+
sandbox: new LocalSandbox({ workingDirectory: './workspace' }),
|
|
103
|
+
tools: {
|
|
104
|
+
[WORKSPACE_TOOLS.SANDBOX.EXECUTE_COMMAND]: {
|
|
105
|
+
backgroundProcesses: {
|
|
106
|
+
abortSignal: null, // Processes survive agent disconnection
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use `null` or `false` for cloud sandboxes (for example, E2B or Daytona) where processes should outlive the agent.
|
|
114
|
+
|
|
115
|
+
> **Note:** For the full `SandboxProcessManager` API (spawning processes programmatically, reading output, sending stdin), see the [`SandboxProcessManager` reference](https://mastra.ai/reference/workspace/process-manager).
|
|
58
116
|
|
|
59
117
|
## Related
|
|
60
118
|
|
|
119
|
+
- [`SandboxProcessManager` reference](https://mastra.ai/reference/workspace/process-manager)
|
|
61
120
|
- [`LocalSandbox` reference](https://mastra.ai/reference/workspace/local-sandbox)
|
|
62
121
|
- [`DaytonaSandbox` reference](https://mastra.ai/reference/workspace/daytona-sandbox)
|
|
63
122
|
- [`E2BSandbox` reference](https://mastra.ai/reference/workspace/e2b-sandbox)
|
|
@@ -123,7 +123,7 @@ The agent has three skill tools:
|
|
|
123
123
|
|
|
124
124
|
- **`skill`** — Loads a skill's full instructions and returns them in the tool result. The agent calls this whenever it needs a skill's guidance.
|
|
125
125
|
- **`skill_read`** — Reads a file from a skill's `references/`, `scripts/`, or `assets/` directory.
|
|
126
|
-
- **`skill_search`** — Searches across all skill content. Uses BM25 or vector search when configured, otherwise falls back to
|
|
126
|
+
- **`skill_search`** — Searches across all skill content. Uses BM25 or vector search when configured, otherwise falls back to basic text matching.
|
|
127
127
|
|
|
128
128
|
This design is stateless — there is no activation state to track. If the skill instructions leave the conversation context (due to context window limits or compaction), the agent can call `skill` again to reload them.
|
|
129
129
|
|
|
@@ -162,7 +162,7 @@ const workspace = new Workspace({
|
|
|
162
162
|
- **`blobStore`** (`BlobStore`) — A content-addressable blob store instance that holds the actual file contents referenced by hash.
|
|
163
163
|
- **`versionCreatedAt`** (`Date`) — The timestamp when this skill version was published. Used as the modification time for all files in the version.
|
|
164
164
|
|
|
165
|
-
When `skillSource` is provided, it
|
|
165
|
+
When `skillSource` is provided, it's used instead of the workspace filesystem for skill discovery.
|
|
166
166
|
|
|
167
167
|
## Related
|
|
168
168
|
|
|
@@ -274,7 +274,7 @@ Congratulations! You have successfully integrated Mastra with CopilotKit using a
|
|
|
274
274
|
|
|
275
275
|
## Deployment
|
|
276
276
|
|
|
277
|
-
When deploying your Mastra server with CopilotKit, you must exclude `@copilotkit/runtime` from the bundle. This package contains dependencies that
|
|
277
|
+
When deploying your Mastra server with CopilotKit, you must exclude `@copilotkit/runtime` from the bundle. This package contains dependencies that aren't compatible with bundling and will cause 500 errors if included.
|
|
278
278
|
|
|
279
279
|
> **Note:** This issue doesn't occur during development with `mastra dev` since it doesn't require bundling. However, anyone running `mastra build` for deployment will encounter this issue.
|
|
280
280
|
|
|
@@ -105,7 +105,7 @@ const incrementStep = createStep({
|
|
|
105
105
|
|
|
106
106
|
### Creating the workflow
|
|
107
107
|
|
|
108
|
-
Compose the steps into a workflow using the `dountil` loop pattern. The `createWorkflow()` function creates a function on Inngest server that
|
|
108
|
+
Compose the steps into a workflow using the `dountil` loop pattern. The `createWorkflow()` function creates a function on Inngest server that's invocable.
|
|
109
109
|
|
|
110
110
|
```ts
|
|
111
111
|
// workflow that is registered as a function on inngest server
|
|
@@ -169,7 +169,7 @@ export const mastra = new Mastra({
|
|
|
169
169
|
|
|
170
170
|
3. Open the Inngest Dashboard at <http://localhost:8288> and go to the **Apps** section in the sidebar to verify your Mastra workflow is registered
|
|
171
171
|
|
|
172
|
-
4. Invoke the workflow by going to **Functions**, selecting your workflow, and
|
|
172
|
+
4. Invoke the workflow by going to **Functions**, selecting your workflow, and selecting **Invoke** with the following input:
|
|
173
173
|
|
|
174
174
|
```json
|
|
175
175
|
{
|
|
@@ -227,9 +227,9 @@ Before you begin, make sure you have:
|
|
|
227
227
|
vercel --prod
|
|
228
228
|
```
|
|
229
229
|
|
|
230
|
-
5. Sync with the [Inngest dashboard](https://app.inngest.com/env/production/apps) by
|
|
230
|
+
5. Sync with the [Inngest dashboard](https://app.inngest.com/env/production/apps) by selecting **Sync new app with Vercel** and following the instructions
|
|
231
231
|
|
|
232
|
-
6. Invoke the workflow by going to **Functions**, selecting `workflow.increment-workflow`,
|
|
232
|
+
6. Invoke the workflow by going to **Functions**, selecting `workflow.increment-workflow`, selecting **All actions** > **Invoke**, and providing the following input:
|
|
233
233
|
|
|
234
234
|
```json
|
|
235
235
|
{
|
|
@@ -223,4 +223,4 @@ Now, run the workflow and get output in your terminal:
|
|
|
223
223
|
npx tsx src/test-workflow.ts
|
|
224
224
|
```
|
|
225
225
|
|
|
226
|
-
You've
|
|
226
|
+
You've built a workflow to parse a resume and decide which question to ask based on the candidate's technical abilities. Congrats and happy hacking!
|
|
@@ -10,7 +10,7 @@ The setup consists of three parts:
|
|
|
10
10
|
- A GitHub Actions workflow that triggers on pull requests
|
|
11
11
|
- A Node.js script that connects the workflow to the agent
|
|
12
12
|
|
|
13
|
-
The finished action writes a description with summaries in English, Spanish, and Japanese, each marked with a flag emoji for
|
|
13
|
+
The finished action writes a description with summaries in English, Spanish, and Japanese, each marked with a flag emoji for quick scanning. For example:
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
16
|
🇬🇧 English
|
|
@@ -49,7 +49,7 @@ The workflow references this secret as `${{ secrets.OPENAI_API_KEY }}` and makes
|
|
|
49
49
|
|
|
50
50
|
The PR description agent is responsible for turning a git diff into a clear, reviewer-friendly pull request description.
|
|
51
51
|
|
|
52
|
-
This agent receives the raw diff from a pull request. It generates descriptions in the configured languages and formats the output using emoji flags so each language section is
|
|
52
|
+
This agent receives the raw diff from a pull request. It generates descriptions in the configured languages and formats the output using emoji flags so each language section is quick to scan in the PR.
|
|
53
53
|
|
|
54
54
|
```ts
|
|
55
55
|
import { Agent } from '@mastra/core/agent'
|
|
@@ -413,4 +413,4 @@ Open [`http://localhost:4111`](http://localhost:4111) in your browser. In the le
|
|
|
413
413
|
|
|
414
414
|
You'll now be presented with instructions on how to add the MCP server to your IDE. You're able to use this MCP server with any MCP Client. On the right side under **Available Tools** you can also select the **write** tool.
|
|
415
415
|
|
|
416
|
-
Inside the **write** tool, try it out by providing `test` as a name and `this is a test` for the markdown content. After
|
|
416
|
+
Inside the **write** tool, try it out by providing `test` as a name and `this is a test` for the markdown content. After selecting **Submit** you'll have a new `test.md` file inside `notes`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Building an AI Stock Agent
|
|
2
2
|
|
|
3
|
-
In this guide, you're going to create
|
|
3
|
+
In this guide, you're going to create an agent that fetches the last day's closing stock price for a given symbol. You'll learn how to create a tool, add it to an agent, and use the agent to fetch stock prices.
|
|
4
4
|
|
|
5
5
|
[YouTube video player](https://www.youtube-nocookie.com/embed/rIaZ4l7y9wo)
|
|
6
6
|
|
|
@@ -41,7 +41,7 @@ To create an agent in Mastra use the `Agent` class to define it and then registe
|
|
|
41
41
|
|
|
42
42
|
## Creating the Stock Price Tool
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
The Stock Agent doesn't yet know anything about current stock prices. To change this, create a tool and add it to the agent.
|
|
45
45
|
|
|
46
46
|
1. Create a new file `src/mastra/tools/stockPrices.ts`. Inside, add a `stockPrices` tool that will fetch the last day's closing stock price for a given symbol:
|
|
47
47
|
|
|
@@ -6,7 +6,7 @@ As of `v0.20.0` for `@mastra/core`, the following changes apply.
|
|
|
6
6
|
|
|
7
7
|
- Bump all your model provider packages by a major version.
|
|
8
8
|
|
|
9
|
-
> **Note:** This will ensure that they
|
|
9
|
+
> **Note:** This will ensure that they're all v5 models now.
|
|
10
10
|
|
|
11
11
|
## Memory is required
|
|
12
12
|
|
|
@@ -271,9 +271,9 @@ To migrate, use workflow streaming APIs instead of watch.
|
|
|
271
271
|
+ }
|
|
272
272
|
```
|
|
273
273
|
|
|
274
|
-
### Run-related methods
|
|
274
|
+
### Run-related methods can't be called directly on workflow instance
|
|
275
275
|
|
|
276
|
-
Run-related methods
|
|
276
|
+
Run-related methods can't be called directly on workflow instance. You need to create a run instance first using `createRun()` method.
|
|
277
277
|
|
|
278
278
|
```diff
|
|
279
279
|
- const result = await workflow.start({ runId: '123', inputData: { ... } });
|
|
@@ -32,6 +32,6 @@ const deployer = new CloudflareDeployer({
|
|
|
32
32
|
});
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
The `workerNamespace` field has been removed as it
|
|
35
|
+
The `workerNamespace` field has been removed as it's no longer used.
|
|
36
36
|
|
|
37
37
|
For all available configuration options, see the [Wrangler configuration documentation](https://developers.cloudflare.com/workers/wrangler/configuration/).
|
|
@@ -29,7 +29,7 @@ const memory = new Memory({
|
|
|
29
29
|
|
|
30
30
|
### Default memory scope from `thread` to `resource`
|
|
31
31
|
|
|
32
|
-
The default scope for both working memory and semantic recall has changed from `'thread'` to `'resource'`. This change aligns with common use cases where applications want to remember user information across conversations. When semantic recall is enabled, it now defaults to searching across all user conversations rather than
|
|
32
|
+
The default scope for both working memory and semantic recall has changed from `'thread'` to `'resource'`. This change aligns with common use cases where applications want to remember user information across conversations. When semantic recall is enabled, it now defaults to searching across all user conversations rather than the current thread.
|
|
33
33
|
|
|
34
34
|
To migrate, if you want to maintain the old behavior where memory is isolated per conversation thread, explicitly set `scope: 'thread'`.
|
|
35
35
|
|
|
@@ -119,7 +119,7 @@ agent.stream('Hello', {
|
|
|
119
119
|
|
|
120
120
|
### `Memory.query()` renamed to `Memory.recall()`
|
|
121
121
|
|
|
122
|
-
The `Memory.query()` method has been renamed to `Memory.recall()`. The new method returns a simpler format with
|
|
122
|
+
The `Memory.query()` method has been renamed to `Memory.recall()`. The new method returns a simpler format with `{ messages: MastraDBMessage[] }` instead of multiple format variations. This change better describes the action of retrieving messages from memory and simplifies the API.
|
|
123
123
|
|
|
124
124
|
To migrate, rename `query()` to `recall()` and update code that expects the old return format.
|
|
125
125
|
|
|
@@ -23,7 +23,7 @@ ALTER TABLE mastra_scorers DROP COLUMN "runtimeContext";
|
|
|
23
23
|
|
|
24
24
|
### Duplicate spans migration
|
|
25
25
|
|
|
26
|
-
If you're upgrading from an older version of Mastra, you may have duplicate `(traceId, spanId)` entries in your `mastra_spans` table. V1 adds a unique constraint on these columns to ensure data integrity, but this constraint
|
|
26
|
+
If you're upgrading from an older version of Mastra, you may have duplicate `(traceId, spanId)` entries in your `mastra_spans` table. V1 adds a unique constraint on these columns to ensure data integrity, but this constraint can't be added if duplicates exist.
|
|
27
27
|
|
|
28
28
|
> **Who needs this migration:** Only if you have existing spans data from Mastra versions prior to v1 and encounter errors about duplicate key violations or constraint creation failures.
|
|
29
29
|
|
|
@@ -8,7 +8,7 @@ Tool execution signatures have been updated to use separate input and context pa
|
|
|
8
8
|
|
|
9
9
|
All `createTool` execute functions now use a new signature with separate `inputData` and `context` parameters instead of a single destructured object. This change provides clearer separation between tool inputs and execution context.
|
|
10
10
|
|
|
11
|
-
**Note:** This change only applies to `createTool`. If you're using `createStep` for workflows, the signature remains `async (inputData, context)` and
|
|
11
|
+
**Note:** This change only applies to `createTool`. If you're using `createStep` for workflows, the signature remains `async (inputData, context)` and doesn't need to be changed.
|
|
12
12
|
|
|
13
13
|
To migrate, update `createTool` signatures to use `inputData` as the first parameter (typed from `inputSchema`) and `context` as the second parameter.
|
|
14
14
|
|
|
@@ -80,7 +80,7 @@ createTool({
|
|
|
80
80
|
|
|
81
81
|
The `suspendPayload` gets validated against the `suspendSchema` when the tool is executed. If the suspendPayload doesn't match the `suspendSchema`, a warning is logged and the error is returned as tool output, but suspension continues. Also, when the tool is resumed, the `resumeData` gets validated against the `resumeSchema`. If the resumeData doesn't match the `resumeSchema`, the tool will return a `ValidationError`, preventing the tool resumption.
|
|
82
82
|
|
|
83
|
-
To skip the `suspendSchema` or `resumeSchema` validation,
|
|
83
|
+
To skip the `suspendSchema` or `resumeSchema` validation, don't define `suspendSchema` or `resumeSchema` in the tool creation.
|
|
84
84
|
|
|
85
85
|
> **Note:** For MCP-specific tool context changes, see the [MCP migration guide](https://mastra.ai/guides/migrations/upgrade-to-v1/mcp).
|
|
86
86
|
|
|
@@ -84,7 +84,7 @@ createStep({
|
|
|
84
84
|
|
|
85
85
|
### `getInitData` returns unknown
|
|
86
86
|
|
|
87
|
-
The `getInitData` function in the execute function now returns unknown instead of any. You'll need to type it yourself. To
|
|
87
|
+
The `getInitData` function in the execute function now returns unknown instead of any. You'll need to type it yourself. To migrate, change `getInitData()` into `getInitData<any>()`
|
|
88
88
|
|
|
89
89
|
```diff
|
|
90
90
|
createStep({
|
|
@@ -198,7 +198,7 @@ const run = await workflow.createRun();
|
|
|
198
198
|
+ });
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-
> **Note:** The `writer` parameter passed to step `execute` functions
|
|
201
|
+
> **Note:** The `writer` parameter passed to step `execute` functions isn't affected by this change. It remains a `ToolStream` that extends `WritableStream<unknown>` and provides `.write()` and `.custom()` methods:
|
|
202
202
|
>
|
|
203
203
|
> ```ts
|
|
204
204
|
> createStep({
|
|
@@ -240,9 +240,9 @@ See [`Run.stream()`](https://mastra.ai/reference/streaming/workflows/stream), [`
|
|
|
240
240
|
> npx @mastra/codemod@latest v1/workflow-stream-vnext .
|
|
241
241
|
> ```
|
|
242
242
|
|
|
243
|
-
### `suspend` and `setState`
|
|
243
|
+
### `suspend` and `setState` aren't available in step condition functions parameters
|
|
244
244
|
|
|
245
|
-
The `suspend` and `setState` functions
|
|
245
|
+
The `suspend` and `setState` functions aren't available in step condition functions parameters.
|
|
246
246
|
|
|
247
247
|
To migrate, use the `suspend` function in the step execute function instead.
|
|
248
248
|
|
|
@@ -260,7 +260,7 @@ This is the same for `dountil` and `branch` condition functions parameters.
|
|
|
260
260
|
|
|
261
261
|
The `./workflows/legacy` export path has been removed from `@mastra/core`. Legacy workflows are no longer supported.
|
|
262
262
|
|
|
263
|
-
To migrate, use the new workflow API.
|
|
263
|
+
To migrate, use the new workflow API. No direct migration path exists from legacy workflows.
|
|
264
264
|
|
|
265
265
|
```diff
|
|
266
266
|
- import { LegacyWorkflow } from '@mastra/core/workflows/legacy';
|
|
@@ -40,7 +40,7 @@ Choose the migration path that fits your needs:
|
|
|
40
40
|
|
|
41
41
|
- Bump all your model provider packages by a major version.
|
|
42
42
|
|
|
43
|
-
> This will ensure that they
|
|
43
|
+
> This will ensure that they're all v5 models now. Follow the guide below to understand the key differences and update your code accordingly.
|
|
44
44
|
|
|
45
45
|
## Key differences
|
|
46
46
|
|
|
@@ -306,7 +306,7 @@ The following options are available in the standard `.stream()` and `generate()`
|
|
|
306
306
|
|
|
307
307
|
- `output`
|
|
308
308
|
|
|
309
|
-
The `output` property is deprecated in favor of `structuredOutput`, to achieve the same results, omit the model and only pass `structuredOutput.schema`, optionally add `jsonPromptInjection: true` if your model
|
|
309
|
+
The `output` property is deprecated in favor of `structuredOutput`, to achieve the same results, omit the model and only pass `structuredOutput.schema`, optionally add `jsonPromptInjection: true` if your model doesn't natively support `response_format`.
|
|
310
310
|
|
|
311
311
|
```typescript
|
|
312
312
|
const result = await agent.generate(messages, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Netlify
|
|
2
2
|
|
|
3
|
-
Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access
|
|
3
|
+
Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 59 models through Mastra's model router.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Netlify documentation](https://docs.netlify.com/build/ai-gateway/overview/).
|
|
6
6
|
|
|
@@ -57,7 +57,6 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
57
57
|
| `gemini/gemini-2.5-pro` |
|
|
58
58
|
| `gemini/gemini-3-flash-preview` |
|
|
59
59
|
| `gemini/gemini-3-pro-image-preview` |
|
|
60
|
-
| `gemini/gemini-3-pro-preview` |
|
|
61
60
|
| `gemini/gemini-3.1-flash-image-preview` |
|
|
62
61
|
| `gemini/gemini-3.1-flash-lite-preview` |
|
|
63
62
|
| `gemini/gemini-3.1-pro-preview` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenRouter
|
|
2
2
|
|
|
3
|
-
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
3
|
+
OpenRouter aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 193 models through Mastra's model router.
|
|
4
4
|
|
|
5
5
|
Learn more in the [OpenRouter documentation](https://openrouter.ai/models).
|
|
6
6
|
|
|
@@ -91,6 +91,9 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
91
91
|
| `google/gemma-3n-e2b-it:free` |
|
|
92
92
|
| `google/gemma-3n-e4b-it` |
|
|
93
93
|
| `google/gemma-3n-e4b-it:free` |
|
|
94
|
+
| `inception/mercury` |
|
|
95
|
+
| `inception/mercury-2` |
|
|
96
|
+
| `inception/mercury-coder` |
|
|
94
97
|
| `kwaipilot/kat-coder-pro:free` |
|
|
95
98
|
| `liquid/lfm-2.5-1.2b-instruct:free` |
|
|
96
99
|
| `liquid/lfm-2.5-1.2b-thinking:free` |
|
|
@@ -153,6 +156,9 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
153
156
|
| `openai/gpt-5.2-chat` |
|
|
154
157
|
| `openai/gpt-5.2-codex` |
|
|
155
158
|
| `openai/gpt-5.2-pro` |
|
|
159
|
+
| `openai/gpt-5.3-codex` |
|
|
160
|
+
| `openai/gpt-5.4` |
|
|
161
|
+
| `openai/gpt-5.4-pro` |
|
|
156
162
|
| `openai/gpt-oss-120b` |
|
|
157
163
|
| `openai/gpt-oss-120b:exacto` |
|
|
158
164
|
| `openai/gpt-oss-120b:free` |
|
|
@@ -161,6 +167,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
161
167
|
| `openai/gpt-oss-safeguard-20b` |
|
|
162
168
|
| `openai/o4-mini` |
|
|
163
169
|
| `openrouter/aurora-alpha` |
|
|
170
|
+
| `openrouter/free` |
|
|
164
171
|
| `openrouter/sherlock-dash-alpha` |
|
|
165
172
|
| `openrouter/sherlock-think-alpha` |
|
|
166
173
|
| `prime-intellect/intellect-3` |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vercel
|
|
2
2
|
|
|
3
|
-
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
3
|
+
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 201 models through Mastra's model router.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Vercel documentation](https://ai-sdk.dev/providers/ai-sdk-providers).
|
|
6
6
|
|
|
@@ -104,6 +104,8 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
104
104
|
| `google/gemini-3-flash` |
|
|
105
105
|
| `google/gemini-3-pro-image` |
|
|
106
106
|
| `google/gemini-3-pro-preview` |
|
|
107
|
+
| `google/gemini-3.1-flash-image-preview` |
|
|
108
|
+
| `google/gemini-3.1-flash-lite-preview` |
|
|
107
109
|
| `google/gemini-3.1-pro-preview` |
|
|
108
110
|
| `google/gemini-embedding-001` |
|
|
109
111
|
| `google/imagen-4.0-fast-generate-001` |
|
package/.docs/models/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Model Providers
|
|
2
2
|
|
|
3
|
-
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to
|
|
3
|
+
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 3229 models from 92 providers through a single API.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Abacus
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 65 Abacus models through Mastra's model router. Authentication is handled automatically using the `ABACUS_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [Abacus documentation](https://abacus.ai).
|
|
6
6
|
|
|
@@ -39,43 +39,52 @@ for await (const chunk of stream) {
|
|
|
39
39
|
| `abacus/claude-opus-4-1-20250805` | 200K | | | | | | $15 | $75 |
|
|
40
40
|
| `abacus/claude-opus-4-20250514` | 200K | | | | | | $15 | $75 |
|
|
41
41
|
| `abacus/claude-opus-4-5-20251101` | 200K | | | | | | $5 | $25 |
|
|
42
|
+
| `abacus/claude-opus-4-6` | 200K | | | | | | $5 | $25 |
|
|
42
43
|
| `abacus/claude-sonnet-4-20250514` | 200K | | | | | | $3 | $15 |
|
|
43
44
|
| `abacus/claude-sonnet-4-5-20250929` | 200K | | | | | | $3 | $15 |
|
|
45
|
+
| `abacus/claude-sonnet-4-6` | 200K | | | | | | $3 | $15 |
|
|
44
46
|
| `abacus/deepseek-ai/DeepSeek-R1` | 128K | | | | | | $3 | $7 |
|
|
45
47
|
| `abacus/deepseek-ai/DeepSeek-V3.1-Terminus` | 128K | | | | | | $0.27 | $1 |
|
|
46
48
|
| `abacus/deepseek-ai/DeepSeek-V3.2` | 128K | | | | | | $0.27 | $0.40 |
|
|
47
|
-
| `abacus/deepseek/deepseek-v3.1` | 128K | | | | | | $0.
|
|
48
|
-
| `abacus/gemini-2.0-flash-001` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
49
|
-
| `abacus/gemini-2.0-pro-exp-02-05` | 2.0M | | | | | | — | — |
|
|
49
|
+
| `abacus/deepseek/deepseek-v3.1` | 128K | | | | | | $0.55 | $2 |
|
|
50
50
|
| `abacus/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
51
51
|
| `abacus/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
52
52
|
| `abacus/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
53
|
-
| `abacus/gemini-3-
|
|
53
|
+
| `abacus/gemini-3.1-flash-lite-preview` | 1.0M | | | | | | $0.25 | $2 |
|
|
54
|
+
| `abacus/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
54
55
|
| `abacus/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
|
|
55
56
|
| `abacus/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
|
|
56
57
|
| `abacus/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
57
58
|
| `abacus/gpt-4o-2024-11-20` | 128K | | | | | | $3 | $10 |
|
|
58
59
|
| `abacus/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
|
|
59
60
|
| `abacus/gpt-5` | 400K | | | | | | $1 | $10 |
|
|
61
|
+
| `abacus/gpt-5-codex` | 400K | | | | | | $1 | $10 |
|
|
60
62
|
| `abacus/gpt-5-mini` | 400K | | | | | | $0.25 | $2 |
|
|
61
63
|
| `abacus/gpt-5-nano` | 400K | | | | | | $0.05 | $0.40 |
|
|
62
64
|
| `abacus/gpt-5.1` | 400K | | | | | | $1 | $10 |
|
|
63
65
|
| `abacus/gpt-5.1-chat-latest` | 400K | | | | | | $1 | $10 |
|
|
66
|
+
| `abacus/gpt-5.1-codex` | 400K | | | | | | $1 | $10 |
|
|
67
|
+
| `abacus/gpt-5.1-codex-max` | 400K | | | | | | $1 | $10 |
|
|
64
68
|
| `abacus/gpt-5.2` | 400K | | | | | | $2 | $14 |
|
|
65
|
-
| `abacus/gpt-5.2-chat-latest` | 400K | | | | | | $2 | $
|
|
69
|
+
| `abacus/gpt-5.2-chat-latest` | 400K | | | | | | $2 | $14 |
|
|
70
|
+
| `abacus/gpt-5.2-codex` | 400K | | | | | | $2 | $14 |
|
|
71
|
+
| `abacus/gpt-5.3-chat-latest` | 400K | | | | | | $2 | $14 |
|
|
72
|
+
| `abacus/gpt-5.3-codex` | 400K | | | | | | $2 | $14 |
|
|
73
|
+
| `abacus/gpt-5.3-codex-xhigh` | 400K | | | | | | $2 | $14 |
|
|
74
|
+
| `abacus/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
|
|
66
75
|
| `abacus/grok-4-0709` | 256K | | | | | | $3 | $15 |
|
|
67
76
|
| `abacus/grok-4-1-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
68
77
|
| `abacus/grok-4-fast-non-reasoning` | 2.0M | | | | | | $0.20 | $0.50 |
|
|
69
78
|
| `abacus/grok-code-fast-1` | 256K | | | | | | $0.20 | $2 |
|
|
70
79
|
| `abacus/kimi-k2-turbo-preview` | 256K | | | | | | $0.15 | $8 |
|
|
80
|
+
| `abacus/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
71
81
|
| `abacus/llama-3.3-70b-versatile` | 128K | | | | | | $0.59 | $0.79 |
|
|
72
82
|
| `abacus/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 1.0M | | | | | | $0.14 | $0.59 |
|
|
73
83
|
| `abacus/meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo` | 128K | | | | | | $4 | $4 |
|
|
74
|
-
| `abacus/meta-llama/Meta-Llama-3.1-70B-Instruct` | 128K | | | | | | $0.40 | $0.40 |
|
|
75
84
|
| `abacus/meta-llama/Meta-Llama-3.1-8B-Instruct` | 128K | | | | | | $0.02 | $0.05 |
|
|
76
85
|
| `abacus/o3` | 200K | | | | | | $2 | $8 |
|
|
77
86
|
| `abacus/o3-mini` | 200K | | | | | | $1 | $4 |
|
|
78
|
-
| `abacus/o3-pro` | 200K | | | | | | $20 | $
|
|
87
|
+
| `abacus/o3-pro` | 200K | | | | | | $20 | $40 |
|
|
79
88
|
| `abacus/o4-mini` | 200K | | | | | | $1 | $4 |
|
|
80
89
|
| `abacus/openai/gpt-oss-120b` | 128K | | | | | | $0.08 | $0.44 |
|
|
81
90
|
| `abacus/qwen-2.5-coder-32b` | 128K | | | | | | $0.79 | $0.79 |
|
|
@@ -85,10 +94,11 @@ for await (const chunk of stream) {
|
|
|
85
94
|
| `abacus/Qwen/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $0.29 | $1 |
|
|
86
95
|
| `abacus/Qwen/QwQ-32B` | 33K | | | | | | $0.40 | $0.40 |
|
|
87
96
|
| `abacus/qwen3-max` | 131K | | | | | | $1 | $6 |
|
|
88
|
-
| `abacus/route-llm` | 128K | | | | | | $
|
|
97
|
+
| `abacus/route-llm` | 128K | | | | | | $3 | $15 |
|
|
89
98
|
| `abacus/zai-org/glm-4.5` | 128K | | | | | | $0.60 | $2 |
|
|
90
99
|
| `abacus/zai-org/glm-4.6` | 128K | | | | | | $0.60 | $2 |
|
|
91
|
-
| `abacus/zai-org/glm-4.7` | 128K | | | | | | $0.
|
|
100
|
+
| `abacus/zai-org/glm-4.7` | 128K | | | | | | $0.60 | $2 |
|
|
101
|
+
| `abacus/zai-org/glm-5` | 205K | | | | | | $1 | $3 |
|
|
92
102
|
|
|
93
103
|
## Advanced Configuration
|
|
94
104
|
|
|
@@ -118,7 +128,7 @@ const agent = new Agent({
|
|
|
118
128
|
model: ({ requestContext }) => {
|
|
119
129
|
const useAdvanced = requestContext.task === "complex";
|
|
120
130
|
return useAdvanced
|
|
121
|
-
? "abacus/zai-org/glm-
|
|
131
|
+
? "abacus/zai-org/glm-5"
|
|
122
132
|
: "abacus/Qwen/QwQ-32B";
|
|
123
133
|
}
|
|
124
134
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AIHubMix
|
|
2
2
|
|
|
3
|
-
Access
|
|
3
|
+
Access 48 AIHubMix models through Mastra's model router. Authentication is handled automatically using the `AIHUBMIX_API_KEY` environment variable.
|
|
4
4
|
|
|
5
5
|
Learn more in the [AIHubMix documentation](https://docs.aihubmix.com).
|
|
6
6
|
|
|
@@ -44,6 +44,7 @@ for await (const chunk of stream) {
|
|
|
44
44
|
| `aihubmix/claude-sonnet-4-6-think` | 200K | | | | | | $3 | $15 |
|
|
45
45
|
| `aihubmix/coding-glm-4.7` | 205K | | | | | | $0.27 | $1 |
|
|
46
46
|
| `aihubmix/coding-glm-4.7-free` | 205K | | | | | | — | — |
|
|
47
|
+
| `aihubmix/coding-glm-5-free` | 205K | | | | | | — | — |
|
|
47
48
|
| `aihubmix/coding-minimax-m2.1-free` | 205K | | | | | | — | — |
|
|
48
49
|
| `aihubmix/deepseek-v3.2` | 131K | | | | | | $0.30 | $0.45 |
|
|
49
50
|
| `aihubmix/deepseek-v3.2-fast` | 128K | | | | | | $1 | $3 |
|
|
@@ -54,6 +55,7 @@ for await (const chunk of stream) {
|
|
|
54
55
|
| `aihubmix/gemini-3-pro-preview-search` | 1.0M | | | | | | $2 | $12 |
|
|
55
56
|
| `aihubmix/glm-4.6v` | 128K | | | | | | $0.14 | $0.41 |
|
|
56
57
|
| `aihubmix/glm-4.7` | 205K | | | | | | $0.27 | $1 |
|
|
58
|
+
| `aihubmix/glm-5` | 205K | | | | | | $0.88 | $3 |
|
|
57
59
|
| `aihubmix/gpt-4.1` | 1.0M | | | | | | $2 | $8 |
|
|
58
60
|
| `aihubmix/gpt-4.1-mini` | 1.0M | | | | | | $0.40 | $2 |
|
|
59
61
|
| `aihubmix/gpt-4.1-nano` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
@@ -72,11 +74,14 @@ for await (const chunk of stream) {
|
|
|
72
74
|
| `aihubmix/Kimi-K2-0905` | 262K | | | | | | $0.55 | $2 |
|
|
73
75
|
| `aihubmix/kimi-k2.5` | 262K | | | | | | $0.60 | $3 |
|
|
74
76
|
| `aihubmix/minimax-m2.1` | 205K | | | | | | $0.29 | $1 |
|
|
77
|
+
| `aihubmix/minimax-m2.5` | 205K | | | | | | $0.29 | $1 |
|
|
75
78
|
| `aihubmix/o4-mini` | 200K | | | | | | $2 | $6 |
|
|
76
79
|
| `aihubmix/qwen3-235b-a22b-instruct-2507` | 262K | | | | | | $0.28 | $1 |
|
|
77
80
|
| `aihubmix/qwen3-235b-a22b-thinking-2507` | 262K | | | | | | $0.28 | $3 |
|
|
78
81
|
| `aihubmix/qwen3-coder-480b-a35b-instruct` | 262K | | | | | | $0.82 | $3 |
|
|
82
|
+
| `aihubmix/qwen3-coder-next` | 262K | | | | | | $0.14 | $0.55 |
|
|
79
83
|
| `aihubmix/qwen3-max-2026-01-23` | 262K | | | | | | $0.34 | $1 |
|
|
84
|
+
| `aihubmix/qwen3.5-plus` | 1.0M | | | | | | $0.11 | $0.66 |
|
|
80
85
|
|
|
81
86
|
## Advanced Configuration
|
|
82
87
|
|
|
@@ -106,7 +111,7 @@ const agent = new Agent({
|
|
|
106
111
|
model: ({ requestContext }) => {
|
|
107
112
|
const useAdvanced = requestContext.task === "complex";
|
|
108
113
|
return useAdvanced
|
|
109
|
-
? "aihubmix/qwen3-
|
|
114
|
+
? "aihubmix/qwen3.5-plus"
|
|
110
115
|
: "aihubmix/Kimi-K2-0905";
|
|
111
116
|
}
|
|
112
117
|
});
|