@mastra/mcp-docs-server 1.2.7-alpha.12 → 1.2.7-alpha.4
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/agent-builder/integrations.md +2 -44
- package/.docs/docs/agent-builder/overview.md +3 -4
- package/.docs/docs/agent-builder/skill-registries.md +3 -1
- package/.docs/docs/agent-controller/overview.md +2 -3
- package/.docs/docs/agent-controller/session.md +3 -1
- package/.docs/docs/agents/a2a.md +1 -2
- package/.docs/docs/agents/channels.md +225 -0
- package/.docs/docs/agents/code-mode.md +1 -1
- package/.docs/docs/agents/file-based-agents.md +297 -0
- package/.docs/docs/agents/guardrails.md +9 -10
- package/.docs/docs/agents/overview.md +4 -4
- package/.docs/docs/agents/skills.md +5 -3
- package/.docs/docs/agents/structured-output.md +1 -1
- package/.docs/docs/agents/supervisor-agents.md +4 -3
- package/.docs/docs/agents/using-tools.md +4 -2
- package/.docs/docs/browser/agent-browser.md +3 -1
- package/.docs/docs/browser/browser-viewer.md +3 -1
- package/.docs/docs/browser/overview.md +1 -2
- package/.docs/docs/browser/stagehand.md +1 -1
- package/.docs/docs/deployment/mastra-server.md +4 -2
- package/.docs/docs/editor/overview.md +6 -2
- package/.docs/docs/editor/prompts.md +1 -1
- package/.docs/docs/editor/tools.md +5 -3
- package/.docs/docs/evals/custom-scorers.md +3 -1
- package/.docs/docs/evals/datasets/overview.md +5 -4
- package/.docs/docs/evals/datasets/running-experiments.md +2 -4
- package/.docs/docs/evals/evals-with-memory.md +3 -1
- package/.docs/docs/evals/gates-and-verdicts.md +3 -1
- package/.docs/docs/evals/overview.md +1 -4
- package/.docs/docs/evals/quick-checks.md +3 -1
- package/.docs/docs/long-running-agents/background-tasks.md +1 -1
- package/.docs/docs/long-running-agents/durable-agents.md +5 -3
- package/.docs/docs/long-running-agents/goals.md +3 -1
- package/.docs/docs/long-running-agents/signal-providers.md +3 -1
- package/.docs/docs/long-running-agents/signals.md +22 -11
- package/.docs/docs/mastra-platform/observability.md +1 -5
- package/.docs/docs/mcp/mcp-apps.md +3 -3
- package/.docs/docs/mcp/overview.md +10 -6
- package/.docs/docs/memory/observational-memory.md +1 -2
- package/.docs/docs/memory/overview.md +4 -6
- package/.docs/docs/memory/semantic-recall.md +1 -1
- package/.docs/docs/memory/working-memory.md +3 -3
- package/.docs/docs/observability/integrations/exporters/mastra-platform.md +3 -1
- package/.docs/docs/observability/logging.md +1 -1
- package/.docs/docs/observability/tracing/overview.md +1 -1
- package/.docs/docs/server/auth/auth0.md +1 -1
- package/.docs/docs/server/auth/better-auth.md +2 -2
- package/.docs/docs/server/auth/clerk.md +1 -1
- package/.docs/docs/server/auth/firebase.md +1 -1
- package/.docs/docs/server/auth/google.md +2 -2
- package/.docs/docs/server/auth/jwt.md +2 -2
- package/.docs/docs/server/auth/okta.md +2 -2
- package/.docs/docs/server/auth/workos.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/pubsub.md +1 -1
- package/.docs/docs/server/request-context.md +4 -4
- package/.docs/docs/server/server-adapters.md +8 -8
- package/.docs/docs/studio/auth.md +3 -1
- package/.docs/docs/studio/overview.md +1 -1
- package/.docs/docs/workflows/agents-and-tools.md +5 -3
- package/.docs/docs/workflows/control-flow.md +3 -1
- package/.docs/docs/workflows/overview.md +7 -6
- package/.docs/docs/workspace/overview.md +1 -2
- package/.docs/docs/workspace/sandbox.md +0 -2
- package/.docs/guides/build-your-ui/assistant-ui.md +1 -1
- package/.docs/guides/build-your-ui/copilotkit/overview.md +1 -1
- package/.docs/guides/concepts/streaming.md +3 -3
- package/.docs/guides/getting-started/quickstart.md +1 -3
- package/.docs/guides/guide/chef-michel.md +2 -0
- package/.docs/guides/guide/slack-assistant.md +2 -2
- package/.docs/guides/guide/stock-agent.md +2 -0
- package/.docs/models/environment-variables.md +0 -6
- package/.docs/models/gateways/netlify.md +1 -4
- package/.docs/models/gateways/openrouter.md +7 -8
- package/.docs/models/gateways/vercel.md +1 -6
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/abacus.md +14 -44
- package/.docs/models/providers/llmgateway.md +181 -185
- package/.docs/models/providers/nano-gpt.md +2 -2
- package/.docs/models/providers/neon.md +29 -40
- package/.docs/models/providers/nvidia.md +3 -1
- package/.docs/models/providers/openai.md +1 -6
- package/.docs/models/providers/opencode.md +2 -5
- package/.docs/models/providers/poolside.md +5 -6
- package/.docs/models/providers/routing-run.md +34 -23
- package/.docs/models/providers/the-grid-ai.md +3 -3
- package/.docs/models/providers.md +0 -6
- package/.docs/reference/agents/channels.md +2 -2
- package/.docs/reference/channels/channel-provider.md +1 -1
- package/.docs/reference/channels/slack-provider.md +2 -2
- package/.docs/reference/cli/mastra.md +10 -117
- package/.docs/reference/evals/create-scorer.md +0 -8
- package/.docs/reference/index.md +0 -15
- package/.docs/reference/memory/memory-class.md +1 -1
- package/.docs/reference/memory/serialized-memory-config.md +1 -1
- package/.docs/reference/project-structure.md +1 -1
- package/.docs/reference/pubsub/lease-provider.md +1 -1
- package/.docs/reference/server/express-adapter.md +3 -1
- package/.docs/reference/server/fastify-adapter.md +3 -1
- package/.docs/reference/server/hono-adapter.md +3 -1
- package/.docs/reference/server/koa-adapter.md +3 -1
- package/.docs/reference/server/nestjs-adapter.md +3 -1
- package/.docs/reference/storage/clickhouse.md +0 -32
- package/.docs/reference/storage/composite.md +1 -27
- package/.docs/reference/storage/retention.md +0 -11
- package/.docs/reference/tools/mcp-client.md +0 -22
- package/.docs/reference/tools/mcp-server.md +4 -161
- package/.docs/reference/workspace/agentcore-runtime-sandbox.md +3 -1
- package/.docs/reference/workspace/agentfs-filesystem.md +3 -1
- package/.docs/reference/workspace/apple-container-sandbox.md +3 -1
- package/.docs/reference/workspace/archil-filesystem.md +3 -1
- package/.docs/reference/workspace/azure-blob-filesystem.md +3 -1
- package/.docs/reference/workspace/blaxel-sandbox.md +3 -1
- package/.docs/reference/workspace/daytona-sandbox.md +3 -1
- package/.docs/reference/workspace/docker-sandbox.md +3 -1
- package/.docs/reference/workspace/e2b-sandbox.md +3 -1
- package/.docs/reference/workspace/files-sdk-filesystem.md +3 -1
- package/.docs/reference/workspace/gcs-filesystem.md +3 -1
- package/.docs/reference/workspace/google-drive-filesystem.md +3 -1
- package/.docs/reference/workspace/local-filesystem.md +3 -1
- package/.docs/reference/workspace/local-sandbox.md +3 -1
- package/.docs/reference/workspace/modal-sandbox.md +3 -1
- package/.docs/reference/workspace/railway-sandbox.md +3 -1
- package/.docs/reference/workspace/s3-filesystem.md +3 -1
- package/.docs/reference/workspace/vercel-sandbox.md +7 -5
- package/.docs/reference/workspace/vercel-serverless.md +3 -1
- package/CHANGELOG.md +0 -29
- package/package.json +4 -4
- package/.docs/docs/capabilities/channels/discord.md +0 -98
- package/.docs/docs/capabilities/channels/other-adapters.md +0 -68
- package/.docs/docs/capabilities/channels/overview.md +0 -255
- package/.docs/docs/capabilities/channels/slack.md +0 -225
- package/.docs/docs/capabilities/channels/teams.md +0 -100
- package/.docs/docs/capabilities/channels/telegram.md +0 -98
- package/.docs/docs/capabilities/channels/whatsapp.md +0 -99
- package/.docs/docs/getting-started/file-based-agents.md +0 -116
- package/.docs/models/providers/crossmodel.md +0 -109
- package/.docs/models/providers/empiriolabs.md +0 -106
- package/.docs/models/providers/meta.md +0 -101
- package/.docs/models/providers/model-oracle-ai.md +0 -87
- package/.docs/models/providers/pioneer.md +0 -148
- package/.docs/models/providers/unorouter.md +0 -95
- package/.docs/reference/file-based-agents/config.md +0 -97
- package/.docs/reference/file-based-agents/instructions.md +0 -54
- package/.docs/reference/file-based-agents/logger.md +0 -26
- package/.docs/reference/file-based-agents/memory.md +0 -58
- package/.docs/reference/file-based-agents/observability.md +0 -32
- package/.docs/reference/file-based-agents/processors.md +0 -56
- package/.docs/reference/file-based-agents/scorers.md +0 -54
- package/.docs/reference/file-based-agents/server.md +0 -37
- package/.docs/reference/file-based-agents/skills.md +0 -56
- package/.docs/reference/file-based-agents/storage.md +0 -30
- package/.docs/reference/file-based-agents/studio.md +0 -56
- package/.docs/reference/file-based-agents/subagents.md +0 -123
- package/.docs/reference/file-based-agents/tools.md +0 -63
- package/.docs/reference/file-based-agents/workflows.md +0 -52
- package/.docs/reference/file-based-agents/workspace.md +0 -74
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Microsoft Teams
|
|
4
|
-
|
|
5
|
-
Microsoft Teams channels let a Mastra agent receive mentions and conversation events from Teams. Mastra handles the agent wiring and webhook route; the Chat SDK Teams adapter docs cover Teams app setup, authentication, and permissions.
|
|
6
|
-
|
|
7
|
-
## Install the adapter
|
|
8
|
-
|
|
9
|
-
Install the Teams adapter from the Chat SDK:
|
|
10
|
-
|
|
11
|
-
**npm**:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @chat-adapter/teams
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**pnpm**:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @chat-adapter/teams
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Yarn**:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
yarn add @chat-adapter/teams
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Bun**:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
bun add @chat-adapter/teams
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Agent configuration
|
|
36
|
-
|
|
37
|
-
Add `createTeamsAdapter()` to the agent's `channels.adapters` object:
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
import { Agent } from '@mastra/core/agent'
|
|
41
|
-
import { createTeamsAdapter } from '@chat-adapter/teams'
|
|
42
|
-
|
|
43
|
-
export const teamsAgent = new Agent({
|
|
44
|
-
id: 'teams-agent',
|
|
45
|
-
name: 'Teams Agent',
|
|
46
|
-
instructions: 'Answer questions and help with tasks in Microsoft Teams.',
|
|
47
|
-
model: 'openai/gpt-5.5',
|
|
48
|
-
channels: {
|
|
49
|
-
adapters: {
|
|
50
|
-
teams: createTeamsAdapter({
|
|
51
|
-
appType: 'SingleTenant',
|
|
52
|
-
}),
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
})
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Register the agent on the Mastra instance:
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
import { Mastra } from '@mastra/core'
|
|
62
|
-
import { teamsAgent } from './agents/teams-agent'
|
|
63
|
-
|
|
64
|
-
export const mastra = new Mastra({
|
|
65
|
-
agents: { teamsAgent },
|
|
66
|
-
})
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Adapter setup
|
|
70
|
-
|
|
71
|
-
Follow the [Chat SDK Teams adapter docs](https://chat-sdk.dev/adapters/official/teams) for Teams-specific setup, including Azure bot registration, Teams CLI usage, authentication options, and required permissions.
|
|
72
|
-
|
|
73
|
-
The adapter reads Teams credentials from environment variables such as:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
TEAMS_APP_ID=your-azure-bot-app-id
|
|
77
|
-
TEAMS_APP_PASSWORD=your-azure-bot-app-password
|
|
78
|
-
TEAMS_APP_TENANT_ID=your-azure-tenant-id
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Webhook URL
|
|
82
|
-
|
|
83
|
-
Mastra generates the Teams webhook route from the agent ID and adapter key:
|
|
84
|
-
|
|
85
|
-
```text
|
|
86
|
-
/api/agents/teams-agent/channels/teams/webhook
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Use your public Mastra server URL as the base URL:
|
|
90
|
-
|
|
91
|
-
```text
|
|
92
|
-
https://your-app.example.com/api/agents/teams-agent/channels/teams/webhook
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Use this URL anywhere the Teams adapter docs ask for the bot endpoint or webhook URL. For local development, expose the Mastra dev server with a tunnel and use the tunnel URL as the base URL.
|
|
96
|
-
|
|
97
|
-
## Related
|
|
98
|
-
|
|
99
|
-
- [Channels overview](https://mastra.ai/docs/capabilities/channels/overview)
|
|
100
|
-
- [More](https://mastra.ai/docs/capabilities/channels/other-adapters)
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# Telegram
|
|
4
|
-
|
|
5
|
-
Telegram channels let a Mastra agent receive direct messages, group messages, and bot mentions from Telegram. Mastra handles the agent wiring and webhook route; the Chat SDK Telegram adapter docs cover bot setup, webhook registration, and polling behavior.
|
|
6
|
-
|
|
7
|
-
## Install the adapter
|
|
8
|
-
|
|
9
|
-
Install the Telegram adapter from the Chat SDK:
|
|
10
|
-
|
|
11
|
-
**npm**:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @chat-adapter/telegram
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**pnpm**:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @chat-adapter/telegram
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Yarn**:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
yarn add @chat-adapter/telegram
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Bun**:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
bun add @chat-adapter/telegram
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Agent configuration
|
|
36
|
-
|
|
37
|
-
Add `createTelegramAdapter()` to the agent's `channels.adapters` object:
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
import { Agent } from '@mastra/core/agent'
|
|
41
|
-
import { createTelegramAdapter } from '@chat-adapter/telegram'
|
|
42
|
-
|
|
43
|
-
export const telegramAgent = new Agent({
|
|
44
|
-
id: 'telegram-agent',
|
|
45
|
-
name: 'Telegram Agent',
|
|
46
|
-
instructions: 'Answer questions and help with tasks in Telegram.',
|
|
47
|
-
model: 'openai/gpt-5.5',
|
|
48
|
-
channels: {
|
|
49
|
-
adapters: {
|
|
50
|
-
telegram: createTelegramAdapter(),
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
})
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Register the agent on the Mastra instance:
|
|
57
|
-
|
|
58
|
-
```typescript
|
|
59
|
-
import { Mastra } from '@mastra/core'
|
|
60
|
-
import { telegramAgent } from './agents/telegram-agent'
|
|
61
|
-
|
|
62
|
-
export const mastra = new Mastra({
|
|
63
|
-
agents: { telegramAgent },
|
|
64
|
-
})
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Adapter setup
|
|
68
|
-
|
|
69
|
-
Follow the [Chat SDK Telegram adapter docs](https://chat-sdk.dev/adapters/official/telegram) for Telegram-specific setup, including BotFather, webhook registration, secret tokens, and polling mode.
|
|
70
|
-
|
|
71
|
-
The adapter reads Telegram credentials from environment variables such as:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
|
|
75
|
-
TELEGRAM_WEBHOOK_SECRET_TOKEN=your-webhook-secret-token
|
|
76
|
-
TELEGRAM_BOT_USERNAME=your_bot_username
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Webhook URL
|
|
80
|
-
|
|
81
|
-
Mastra generates the Telegram webhook route from the agent ID and adapter key:
|
|
82
|
-
|
|
83
|
-
```text
|
|
84
|
-
/api/agents/telegram-agent/channels/telegram/webhook
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Use your public Mastra server URL as the base URL:
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
https://your-app.example.com/api/agents/telegram-agent/channels/telegram/webhook
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Use this URL anywhere the Telegram adapter docs ask for the webhook URL. Telegram also supports polling mode; follow the Chat SDK adapter docs if you want to use polling for local development.
|
|
94
|
-
|
|
95
|
-
## Related
|
|
96
|
-
|
|
97
|
-
- [Channels overview](https://mastra.ai/docs/capabilities/channels/overview)
|
|
98
|
-
- [More](https://mastra.ai/docs/capabilities/channels/other-adapters)
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# WhatsApp
|
|
4
|
-
|
|
5
|
-
WhatsApp channels let a Mastra agent receive customer messages through WhatsApp Business Cloud. Mastra handles the agent wiring and webhook route; the Chat SDK WhatsApp adapter docs cover Meta app setup, credentials, and webhook configuration.
|
|
6
|
-
|
|
7
|
-
## Install the adapter
|
|
8
|
-
|
|
9
|
-
Install the WhatsApp adapter from the Chat SDK:
|
|
10
|
-
|
|
11
|
-
**npm**:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @chat-adapter/whatsapp
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**pnpm**:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @chat-adapter/whatsapp
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Yarn**:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
yarn add @chat-adapter/whatsapp
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Bun**:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
bun add @chat-adapter/whatsapp
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Agent configuration
|
|
36
|
-
|
|
37
|
-
Add `createWhatsAppAdapter()` to the agent's `channels.adapters` object:
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
import { Agent } from '@mastra/core/agent'
|
|
41
|
-
import { createWhatsAppAdapter } from '@chat-adapter/whatsapp'
|
|
42
|
-
|
|
43
|
-
export const whatsappAgent = new Agent({
|
|
44
|
-
id: 'whatsapp-agent',
|
|
45
|
-
name: 'WhatsApp Agent',
|
|
46
|
-
instructions: 'Answer customer questions and help with tasks in WhatsApp.',
|
|
47
|
-
model: 'openai/gpt-5.5',
|
|
48
|
-
channels: {
|
|
49
|
-
adapters: {
|
|
50
|
-
whatsapp: createWhatsAppAdapter(),
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
})
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Register the agent on the Mastra instance:
|
|
57
|
-
|
|
58
|
-
```typescript
|
|
59
|
-
import { Mastra } from '@mastra/core'
|
|
60
|
-
import { whatsappAgent } from './agents/whatsapp-agent'
|
|
61
|
-
|
|
62
|
-
export const mastra = new Mastra({
|
|
63
|
-
agents: { whatsappAgent },
|
|
64
|
-
})
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Adapter setup
|
|
68
|
-
|
|
69
|
-
Follow the [Chat SDK WhatsApp adapter docs](https://chat-sdk.dev/adapters/official/whatsapp) for WhatsApp-specific setup, including Meta app configuration, access tokens, phone number IDs, webhook verification, and message limits.
|
|
70
|
-
|
|
71
|
-
The adapter reads WhatsApp credentials from environment variables such as:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
WHATSAPP_ACCESS_TOKEN=your-meta-access-token
|
|
75
|
-
WHATSAPP_APP_SECRET=your-meta-app-secret
|
|
76
|
-
WHATSAPP_PHONE_NUMBER_ID=your-whatsapp-phone-number-id
|
|
77
|
-
WHATSAPP_VERIFY_TOKEN=your-webhook-verify-token
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Webhook URL
|
|
81
|
-
|
|
82
|
-
Mastra generates the WhatsApp webhook route from the agent ID and adapter key:
|
|
83
|
-
|
|
84
|
-
```text
|
|
85
|
-
/api/agents/whatsapp-agent/channels/whatsapp/webhook
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Use your public Mastra server URL as the base URL:
|
|
89
|
-
|
|
90
|
-
```text
|
|
91
|
-
https://your-app.example.com/api/agents/whatsapp-agent/channels/whatsapp/webhook
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Use this URL for incoming WhatsApp event delivery. The generated Mastra route handles POST events from WhatsApp; follow the Chat SDK WhatsApp adapter docs for the Meta callback and webhook verification flow.
|
|
95
|
-
|
|
96
|
-
## Related
|
|
97
|
-
|
|
98
|
-
- [Channels overview](https://mastra.ai/docs/capabilities/channels/overview)
|
|
99
|
-
- [More](https://mastra.ai/docs/capabilities/channels/other-adapters)
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# File-based agents
|
|
4
|
-
|
|
5
|
-
**Added in:** `@mastra/core@1.50.0`
|
|
6
|
-
|
|
7
|
-
> **Beta:** This feature is in beta. Breaking changes may occur without a major version bump until the API is stable.
|
|
8
|
-
|
|
9
|
-
File-based agents are a new, convention-based way to define Mastra agents and project primitives from a directory structure under `src/mastra/`. You'll like this approach if you want an agent to be self-contained, easy to scan and extend.
|
|
10
|
-
|
|
11
|
-
Adopting this feature is a fundamental decision about how to structure your project. You'll need to follow the file conventions and be aware of its limitations, namely that you can't use dynamic configuration or runtime wiring.
|
|
12
|
-
|
|
13
|
-
However, you can use file-based agents, code-defined agents, or both in the same project. All Mastra docs currently use code-first examples. As file-based agents mature, more examples may use this structure where it makes sense.
|
|
14
|
-
|
|
15
|
-
Under the hood Mastra is assembling code-defined agents and primitives from the files you create. So explanations and concepts you can find on other docs pages apply to file-based agents as well.
|
|
16
|
-
|
|
17
|
-
## Basic layout
|
|
18
|
-
|
|
19
|
-
A small file-based agent looks like this:
|
|
20
|
-
|
|
21
|
-
```text
|
|
22
|
-
src/mastra/
|
|
23
|
-
agents/
|
|
24
|
-
weather/
|
|
25
|
-
config.ts
|
|
26
|
-
instructions.md
|
|
27
|
-
tools/
|
|
28
|
-
get-weather.ts
|
|
29
|
-
skills/
|
|
30
|
-
forecast-review.md
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
The main files in an agent directory are:
|
|
34
|
-
|
|
35
|
-
- [`config.ts`](https://mastra.ai/reference/file-based-agents/config): Model selection and runtime options
|
|
36
|
-
- [`instructions.md`](https://mastra.ai/reference/file-based-agents/instructions): The prompt that applies to every response
|
|
37
|
-
- [`tools/`](https://mastra.ai/reference/file-based-agents/tools): Typed functions the model can call
|
|
38
|
-
- [`skills/`](https://mastra.ai/reference/file-based-agents/skills): Reusable instructions
|
|
39
|
-
|
|
40
|
-
You need to define `config.ts` and `instructions.md` at a minimum. Add optional files as needed. Learn more in the [add capabilities](#add-capabilities) section.
|
|
41
|
-
|
|
42
|
-
## Quickstart
|
|
43
|
-
|
|
44
|
-
Create a folder at `src/mastra/agents/weather`. Inside, add a `config.ts` and an `instructions.md` file with these contents:
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
import { agentConfig } from '@mastra/core/agent'
|
|
48
|
-
|
|
49
|
-
export default agentConfig({
|
|
50
|
-
model: 'openai/gpt-5.5',
|
|
51
|
-
})
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
```markdown
|
|
55
|
-
You are a helpful weather assistant. Answer questions about current conditions and forecasts.
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Start Mastra's development server with `mastra dev`. Inside Studio, you can now call the `weather` agent and ask it about the weather.
|
|
59
|
-
|
|
60
|
-
## Add capabilities
|
|
61
|
-
|
|
62
|
-
Map each primitive or feature to its file convention:
|
|
63
|
-
|
|
64
|
-
| Primitive or feature | File convention |
|
|
65
|
-
| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
66
|
-
| [Agent config](https://mastra.ai/reference/file-based-agents/config) | `src/mastra/agents/<agent-id>/config.ts` |
|
|
67
|
-
| [Agent instructions](https://mastra.ai/reference/file-based-agents/instructions) | `src/mastra/agents/<agent-id>/instructions.md` |
|
|
68
|
-
| [Tools](https://mastra.ai/reference/file-based-agents/tools) | `src/mastra/agents/<agent-id>/tools/` |
|
|
69
|
-
| [Skills](https://mastra.ai/reference/file-based-agents/skills) | `src/mastra/agents/<agent-id>/skills/` |
|
|
70
|
-
| [Memory](https://mastra.ai/reference/file-based-agents/memory) | `src/mastra/agents/<agent-id>/memory.ts` |
|
|
71
|
-
| [Workspace](https://mastra.ai/reference/file-based-agents/workspace) | `src/mastra/agents/<agent-id>/workspace.ts` and `src/mastra/agents/<agent-id>/workspace/` |
|
|
72
|
-
| [Processors](https://mastra.ai/reference/file-based-agents/processors) | `src/mastra/agents/<agent-id>/processors/` |
|
|
73
|
-
| [Scorers](https://mastra.ai/reference/file-based-agents/scorers) | `src/mastra/agents/<agent-id>/scorers/` |
|
|
74
|
-
| [Subagents](https://mastra.ai/reference/file-based-agents/subagents) | `src/mastra/agents/<agent-id>/subagents/` |
|
|
75
|
-
| [Workflows](https://mastra.ai/reference/file-based-agents/workflows) | `src/mastra/workflows/` |
|
|
76
|
-
| [Storage](https://mastra.ai/reference/file-based-agents/storage) | `src/mastra/storage.ts` |
|
|
77
|
-
| [Observability](https://mastra.ai/reference/file-based-agents/observability) | `src/mastra/observability.ts` |
|
|
78
|
-
| [Logger](https://mastra.ai/reference/file-based-agents/logger) | `src/mastra/logger.ts` |
|
|
79
|
-
| [Server config](https://mastra.ai/reference/file-based-agents/server) | `src/mastra/server.ts` |
|
|
80
|
-
| [Studio config](https://mastra.ai/reference/file-based-agents/studio) | `src/mastra/studio.ts` |
|
|
81
|
-
|
|
82
|
-
## Discovery lifecycle
|
|
83
|
-
|
|
84
|
-
File-based primitives are discovered by the Mastra bundler under `mastra dev` and `mastra build`. During discovery, Mastra reads supported files under `src/mastra/`, imports TypeScript and JavaScript modules, reads markdown instructions and skills, copies workspace seed files, and registers the assembled primitives with your Mastra app.
|
|
85
|
-
|
|
86
|
-
After discovery, a file-based agent runs as a normal [`Agent`](https://mastra.ai/reference/agents/agent). Calling it from the Agent API, Studio, workflows, or your application code uses the same runtime as a code-defined agent.
|
|
87
|
-
|
|
88
|
-
Discovery is source-based and conservative. It skips symlinks, ignores test files, treats workflows and singleton project files as file-routed only when they have a default export, and ignores directories that aren't agent directories.
|
|
89
|
-
|
|
90
|
-
Start your app through the Mastra CLI so discovery runs:
|
|
91
|
-
|
|
92
|
-
**npm**:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
npx mastra dev
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**pnpm**:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
pnpm dlx mastra dev
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Yarn**:
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
yarn dlx mastra dev
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**Bun**:
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
bun x mastra dev
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
If you import your `mastra` instance directly, `agents/<name>/` directories and the other conventions aren't discovered. When you consume Mastra as a library, register those primitives in code instead.
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# CrossModel
|
|
4
|
-
|
|
5
|
-
Access 37 CrossModel models through Mastra's model router. Authentication is handled automatically using the `CROSSMODEL_API_KEY` environment variable.
|
|
6
|
-
|
|
7
|
-
Learn more in the [CrossModel documentation](https://www.crossmodel.ai/docs).
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
CROSSMODEL_API_KEY=your-api-key
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { Agent } from "@mastra/core/agent";
|
|
15
|
-
|
|
16
|
-
const agent = new Agent({
|
|
17
|
-
id: "my-agent",
|
|
18
|
-
name: "My Agent",
|
|
19
|
-
instructions: "You are a helpful assistant",
|
|
20
|
-
model: "crossmodel/anthropic/claude-fable-5"
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// Generate a response
|
|
24
|
-
const response = await agent.generate("Hello!");
|
|
25
|
-
|
|
26
|
-
// Stream a response
|
|
27
|
-
const stream = await agent.stream("Tell me a story");
|
|
28
|
-
for await (const chunk of stream) {
|
|
29
|
-
console.log(chunk);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
> **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [CrossModel documentation](https://www.crossmodel.ai/docs) for details.
|
|
34
|
-
|
|
35
|
-
## Models
|
|
36
|
-
|
|
37
|
-
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
-
| ------------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
-
| `crossmodel/anthropic/claude-fable-5` | 1.0M | | | | | | $10 | $50 |
|
|
40
|
-
| `crossmodel/anthropic/claude-haiku-4-5` | 200K | | | | | | $1 | $5 |
|
|
41
|
-
| `crossmodel/anthropic/claude-opus-4-7` | 1.0M | | | | | | $5 | $25 |
|
|
42
|
-
| `crossmodel/anthropic/claude-opus-4-8` | 1.0M | | | | | | $5 | $25 |
|
|
43
|
-
| `crossmodel/anthropic/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
|
|
44
|
-
| `crossmodel/anthropic/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
|
|
45
|
-
| `crossmodel/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.16 | $0.32 |
|
|
46
|
-
| `crossmodel/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.47 | $0.94 |
|
|
47
|
-
| `crossmodel/gemini/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $3 |
|
|
48
|
-
| `crossmodel/gemini/gemini-2.5-flash-lite` | 1.0M | | | | | | $0.10 | $0.40 |
|
|
49
|
-
| `crossmodel/gemini/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
50
|
-
| `crossmodel/gemini/gemini-3-flash-preview` | 1.0M | | | | | | $0.50 | $3 |
|
|
51
|
-
| `crossmodel/gemini/gemini-3.1-pro-preview` | 1.0M | | | | | | $2 | $12 |
|
|
52
|
-
| `crossmodel/gemini/gemini-3.5-flash` | 1.0M | | | | | | $2 | $9 |
|
|
53
|
-
| `crossmodel/minimax/minimax-m2.7` | 205K | | | | | | $0.33 | $1 |
|
|
54
|
-
| `crossmodel/minimax/minimax-m3` | 1.0M | | | | | | $0.33 | $1 |
|
|
55
|
-
| `crossmodel/moonshot/kimi-k2.5` | 262K | | | | | | $0.62 | $3 |
|
|
56
|
-
| `crossmodel/moonshot/kimi-k2.6` | 262K | | | | | | $1 | $4 |
|
|
57
|
-
| `crossmodel/moonshot/kimi-k2.7-code` | 262K | | | | | | $1 | $4 |
|
|
58
|
-
| `crossmodel/openai/gpt-4o-mini` | 128K | | | | | | $0.15 | $0.60 |
|
|
59
|
-
| `crossmodel/openai/gpt-5.4` | 1.1M | | | | | | $3 | $15 |
|
|
60
|
-
| `crossmodel/openai/gpt-5.4-mini` | 400K | | | | | | $0.75 | $5 |
|
|
61
|
-
| `crossmodel/openai/gpt-5.4-nano` | 400K | | | | | | $0.20 | $1 |
|
|
62
|
-
| `crossmodel/openai/gpt-5.5` | 1.1M | | | | | | $5 | $30 |
|
|
63
|
-
| `crossmodel/openai/gpt-5.5-pro` | 1.1M | | | | | | $30 | $180 |
|
|
64
|
-
| `crossmodel/qwen/qwen3.6-flash` | 1.0M | | | | | | $0.19 | $1 |
|
|
65
|
-
| `crossmodel/qwen/qwen3.6-plus` | 1.0M | | | | | | $0.32 | $2 |
|
|
66
|
-
| `crossmodel/qwen/qwen3.7-max` | 1.0M | | | | | | $2 | $6 |
|
|
67
|
-
| `crossmodel/qwen/qwen3.7-plus` | 1.0M | | | | | | $0.32 | $1 |
|
|
68
|
-
| `crossmodel/tencent/hy3-preview` | 256K | | | | | | $0.19 | $0.63 |
|
|
69
|
-
| `crossmodel/xiaomi/mimo-v2.5` | 1.0M | | | | | | $0.16 | $0.32 |
|
|
70
|
-
| `crossmodel/xiaomi/mimo-v2.5-pro` | 1.0M | | | | | | $0.47 | $0.94 |
|
|
71
|
-
| `crossmodel/z-ai/glm-4.7` | 200K | | | | | | $0.47 | $2 |
|
|
72
|
-
| `crossmodel/z-ai/glm-5` | 200K | | | | | | $0.60 | $3 |
|
|
73
|
-
| `crossmodel/z-ai/glm-5-turbo` | 200K | | | | | | $0.90 | $4 |
|
|
74
|
-
| `crossmodel/z-ai/glm-5.1` | 200K | | | | | | $1 | $4 |
|
|
75
|
-
| `crossmodel/z-ai/glm-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
76
|
-
|
|
77
|
-
## Advanced configuration
|
|
78
|
-
|
|
79
|
-
### Custom headers
|
|
80
|
-
|
|
81
|
-
```typescript
|
|
82
|
-
const agent = new Agent({
|
|
83
|
-
id: "custom-agent",
|
|
84
|
-
name: "custom-agent",
|
|
85
|
-
model: {
|
|
86
|
-
url: "https://api.crossmodel.ai/v1",
|
|
87
|
-
id: "crossmodel/anthropic/claude-fable-5",
|
|
88
|
-
apiKey: process.env.CROSSMODEL_API_KEY,
|
|
89
|
-
headers: {
|
|
90
|
-
"X-Custom-Header": "value"
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Dynamic model selection
|
|
97
|
-
|
|
98
|
-
```typescript
|
|
99
|
-
const agent = new Agent({
|
|
100
|
-
id: "dynamic-agent",
|
|
101
|
-
name: "Dynamic Agent",
|
|
102
|
-
model: ({ requestContext }) => {
|
|
103
|
-
const useAdvanced = requestContext.task === "complex";
|
|
104
|
-
return useAdvanced
|
|
105
|
-
? "crossmodel/z-ai/glm-5.2"
|
|
106
|
-
: "crossmodel/anthropic/claude-fable-5";
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
```
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
> Discover all available pages from the documentation index: https://mastra.ai/llms.txt
|
|
2
|
-
|
|
3
|
-
# EmpirioLabs AI
|
|
4
|
-
|
|
5
|
-
Access 34 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
|
|
6
|
-
|
|
7
|
-
Learn more in the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai).
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
EMPIRIOLABS_API_KEY=your-api-key
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
import { Agent } from "@mastra/core/agent";
|
|
15
|
-
|
|
16
|
-
const agent = new Agent({
|
|
17
|
-
id: "my-agent",
|
|
18
|
-
name: "My Agent",
|
|
19
|
-
instructions: "You are a helpful assistant",
|
|
20
|
-
model: "empiriolabs/deepseek-v4-flash"
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// Generate a response
|
|
24
|
-
const response = await agent.generate("Hello!");
|
|
25
|
-
|
|
26
|
-
// Stream a response
|
|
27
|
-
const stream = await agent.stream("Tell me a story");
|
|
28
|
-
for await (const chunk of stream) {
|
|
29
|
-
console.log(chunk);
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
> **Info:** Mastra uses the OpenAI-compatible `/chat/completions` endpoint. Some provider-specific features may not be available. Check the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai) for details.
|
|
34
|
-
|
|
35
|
-
## Models
|
|
36
|
-
|
|
37
|
-
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
38
|
-
| -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
39
|
-
| `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
40
|
-
| `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
41
|
-
| `empiriolabs/fugu-ultra` | 1.0M | | | | | | $8 | $45 |
|
|
42
|
-
| `empiriolabs/gemma-4-26b-a4b` | 262K | | | | | | $0.05 | $0.29 |
|
|
43
|
-
| `empiriolabs/glm-4-5-flash` | 200K | | | | | | — | — |
|
|
44
|
-
| `empiriolabs/glm-4-7-flash` | 200K | | | | | | — | — |
|
|
45
|
-
| `empiriolabs/glm-5-1` | 202K | | | | | | $0.82 | $3 |
|
|
46
|
-
| `empiriolabs/glm-5-2` | 1.0M | | | | | | $1 | $4 |
|
|
47
|
-
| `empiriolabs/kimi-k2-6` | 256K | | | | | | $0.89 | $4 |
|
|
48
|
-
| `empiriolabs/kimi-k2-7-code` | 256K | | | | | | $0.95 | $4 |
|
|
49
|
-
| `empiriolabs/kimi-k2-7-code-highspeed` | 256K | | | | | | $2 | $8 |
|
|
50
|
-
| `empiriolabs/mimo-v2-5` | 1.0M | | | | | | $0.70 | $1 |
|
|
51
|
-
| `empiriolabs/mimo-v2-5-pro` | 1.0M | | | | | | $2 | $4 |
|
|
52
|
-
| `empiriolabs/minimax-m2-7` | 200K | | | | | | $0.15 | $0.60 |
|
|
53
|
-
| `empiriolabs/minimax-m2-7-highspeed` | 200K | | | | | | $0.30 | $1 |
|
|
54
|
-
| `empiriolabs/minimax-m3` | 1.0M | | | | | | $0.23 | $0.90 |
|
|
55
|
-
| `empiriolabs/muse-spark-1-1` | 1.0M | | | | | | $1 | $4 |
|
|
56
|
-
| `empiriolabs/qwen3-5-122b-a10b` | 256K | | | | | | $0.12 | $0.92 |
|
|
57
|
-
| `empiriolabs/qwen3-5-27b` | 256K | | | | | | $0.09 | $0.69 |
|
|
58
|
-
| `empiriolabs/qwen3-5-35b-a3b` | 256K | | | | | | $0.06 | $0.46 |
|
|
59
|
-
| `empiriolabs/qwen3-5-397b-a17b` | 256K | | | | | | $0.17 | $1 |
|
|
60
|
-
| `empiriolabs/qwen3-5-4b` | 262K | | | | | | $0.04 | $0.07 |
|
|
61
|
-
| `empiriolabs/qwen3-5-9b` | 262K | | | | | | $0.09 | $0.13 |
|
|
62
|
-
| `empiriolabs/qwen3-5-plus` | 1.0M | | | | | | $0.36 | $2 |
|
|
63
|
-
| `empiriolabs/qwen3-6-27b` | 256K | | | | | | $0.41 | $2 |
|
|
64
|
-
| `empiriolabs/qwen3-6-flash` | 1.0M | | | | | | $0.25 | $2 |
|
|
65
|
-
| `empiriolabs/qwen3-6-max-preview` | 256K | | | | | | $1 | $8 |
|
|
66
|
-
| `empiriolabs/qwen3-6-plus` | 1.0M | | | | | | $0.50 | $3 |
|
|
67
|
-
| `empiriolabs/qwen3-7-max` | 1.0M | | | | | | $3 | $8 |
|
|
68
|
-
| `empiriolabs/qwen3-7-plus` | 1.0M | | | | | | $0.40 | $2 |
|
|
69
|
-
| `empiriolabs/qwen3-max` | 256K | | | | | | $1 | $6 |
|
|
70
|
-
| `empiriolabs/step-3-5-flash` | 256K | | | | | | $0.10 | $0.30 |
|
|
71
|
-
| `empiriolabs/step-3-5-flash-2603` | 256K | | | | | | $0.10 | $0.30 |
|
|
72
|
-
| `empiriolabs/step-3-7-flash` | 256K | | | | | | $0.20 | $1 |
|
|
73
|
-
|
|
74
|
-
## Advanced configuration
|
|
75
|
-
|
|
76
|
-
### Custom headers
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
const agent = new Agent({
|
|
80
|
-
id: "custom-agent",
|
|
81
|
-
name: "custom-agent",
|
|
82
|
-
model: {
|
|
83
|
-
url: "https://api.empiriolabs.ai/v1",
|
|
84
|
-
id: "empiriolabs/deepseek-v4-flash",
|
|
85
|
-
apiKey: process.env.EMPIRIOLABS_API_KEY,
|
|
86
|
-
headers: {
|
|
87
|
-
"X-Custom-Header": "value"
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Dynamic model selection
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
const agent = new Agent({
|
|
97
|
-
id: "dynamic-agent",
|
|
98
|
-
name: "Dynamic Agent",
|
|
99
|
-
model: ({ requestContext }) => {
|
|
100
|
-
const useAdvanced = requestContext.task === "complex";
|
|
101
|
-
return useAdvanced
|
|
102
|
-
? "empiriolabs/step-3-7-flash"
|
|
103
|
-
: "empiriolabs/deepseek-v4-flash";
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
```
|