@mastra/mcp-docs-server 1.1.42-alpha.7 → 1.1.42
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/memory.md +1 -1
- package/.docs/docs/agents/a2a.md +1 -1
- package/.docs/docs/agents/acp.md +4 -4
- package/.docs/docs/agents/adding-voice.md +7 -7
- package/.docs/docs/agents/agent-approval.md +1 -1
- package/.docs/docs/agents/background-tasks.md +2 -2
- package/.docs/docs/agents/channels.md +1 -1
- package/.docs/docs/agents/code-mode.md +3 -3
- package/.docs/docs/agents/guardrails.md +2 -2
- package/.docs/docs/agents/networks.md +1 -1
- package/.docs/docs/agents/overview.md +1 -1
- package/.docs/docs/agents/processors.md +3 -3
- package/.docs/docs/agents/response-caching.md +1 -1
- package/.docs/docs/agents/sdk-agents.md +261 -0
- package/.docs/docs/agents/signals.md +19 -3
- package/.docs/docs/agents/structured-output.md +5 -5
- package/.docs/docs/agents/supervisor-agents.md +2 -2
- package/.docs/docs/agents/using-tools.md +5 -5
- package/.docs/docs/browser/agent-browser.md +1 -1
- package/.docs/docs/browser/browser-viewer.md +1 -1
- package/.docs/docs/browser/overview.md +1 -1
- package/.docs/docs/browser/stagehand.md +5 -5
- package/.docs/docs/editor/overview.md +1 -1
- package/.docs/docs/evals/custom-scorers.md +1 -1
- package/.docs/docs/evals/datasets/running-experiments.md +1 -1
- package/.docs/docs/evals/overview.md +2 -2
- package/.docs/docs/mcp/mcp-apps.md +3 -3
- package/.docs/docs/mcp/overview.md +1 -1
- package/.docs/docs/memory/memory-processors.md +6 -6
- package/.docs/docs/memory/multi-user-threads.md +1 -1
- package/.docs/docs/memory/semantic-recall.md +1 -1
- package/.docs/docs/memory/storage.md +2 -1
- package/.docs/docs/memory/working-memory.md +1 -1
- package/.docs/docs/observability/tracing/exporters/langfuse.md +1 -1
- package/.docs/docs/observability/tracing/exporters/langsmith.md +2 -2
- package/.docs/docs/rag/graph-rag.md +2 -2
- package/.docs/docs/rag/retrieval.md +12 -12
- package/.docs/docs/server/auth/fga.md +2 -0
- package/.docs/docs/server/mastra-client.md +1 -1
- package/.docs/docs/server/request-context.md +3 -3
- package/.docs/docs/streaming/overview.md +1 -1
- package/.docs/docs/streaming/tool-streaming.md +1 -1
- package/.docs/docs/voice/overview.md +25 -25
- package/.docs/docs/voice/speech-to-speech.md +4 -4
- package/.docs/docs/voice/speech-to-text.md +1 -1
- package/.docs/docs/voice/text-to-speech.md +1 -1
- package/.docs/docs/workspace/filesystem.md +2 -2
- package/.docs/docs/workspace/overview.md +1 -1
- package/.docs/docs/workspace/sandbox.md +1 -1
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +1 -1
- package/.docs/guides/guide/ai-recruiter.md +1 -1
- package/.docs/guides/guide/chef-michel.md +1 -1
- package/.docs/guides/guide/code-review-bot.md +1 -1
- package/.docs/guides/guide/dev-assistant.md +1 -1
- package/.docs/guides/guide/docs-manager.md +1 -1
- package/.docs/guides/guide/firecrawl.md +1 -1
- package/.docs/guides/guide/github-actions-pr-description.md +1 -1
- package/.docs/guides/guide/research-assistant.md +1 -1
- package/.docs/guides/guide/research-coordinator.md +2 -2
- package/.docs/guides/guide/slack-assistant.md +1 -1
- package/.docs/guides/guide/stock-agent.md +2 -2
- package/.docs/guides/guide/whatsapp-chat-bot.md +2 -2
- package/.docs/guides/migrations/agentnetwork.md +4 -4
- package/.docs/guides/migrations/upgrade-to-v1/agent.md +1 -1
- package/.docs/guides/migrations/vnext-to-standard-apis.md +2 -2
- package/.docs/reference/agents/agent.md +4 -4
- package/.docs/reference/agents/channels.md +47 -5
- package/.docs/reference/agents/generateLegacy.md +1 -1
- package/.docs/reference/agents/getLLM.md +2 -2
- package/.docs/reference/agents/getMetadata.md +2 -2
- package/.docs/reference/agents/network.md +1 -1
- package/.docs/reference/browser/agent-browser.md +1 -1
- package/.docs/reference/browser/browser-viewer.md +1 -1
- package/.docs/reference/browser/mastra-browser.md +1 -1
- package/.docs/reference/browser/stagehand-browser.md +5 -5
- package/.docs/reference/client-js/agents.md +19 -2
- package/.docs/reference/configuration.md +1 -1
- package/.docs/reference/evals/answer-relevancy.md +1 -1
- package/.docs/reference/evals/answer-similarity.md +1 -1
- package/.docs/reference/evals/bias.md +1 -1
- package/.docs/reference/evals/context-precision.md +3 -3
- package/.docs/reference/evals/context-relevance.md +11 -11
- package/.docs/reference/evals/faithfulness.md +1 -1
- package/.docs/reference/evals/hallucination.md +5 -5
- package/.docs/reference/evals/noise-sensitivity.md +11 -11
- package/.docs/reference/evals/prompt-alignment.md +15 -15
- package/.docs/reference/evals/tool-call-accuracy.md +3 -3
- package/.docs/reference/evals/toxicity.md +1 -1
- package/.docs/reference/memory/memory-class.md +3 -3
- package/.docs/reference/memory/observational-memory.md +4 -4
- package/.docs/reference/observability/tracing/exporters/langfuse.md +1 -1
- package/.docs/reference/processors/batch-parts-processor.md +1 -1
- package/.docs/reference/processors/cost-guard-processor.md +1 -1
- package/.docs/reference/processors/language-detector.md +1 -1
- package/.docs/reference/processors/message-history-processor.md +1 -1
- package/.docs/reference/processors/moderation-processor.md +2 -2
- package/.docs/reference/processors/pii-detector.md +2 -2
- package/.docs/reference/processors/prefill-error-handler.md +2 -2
- package/.docs/reference/processors/processor-interface.md +2 -2
- package/.docs/reference/processors/prompt-injection-detector.md +1 -1
- package/.docs/reference/processors/regex-filter-processor.md +1 -1
- package/.docs/reference/processors/semantic-recall-processor.md +1 -1
- package/.docs/reference/processors/skill-search-processor.md +1 -1
- package/.docs/reference/processors/system-prompt-scrubber.md +1 -1
- package/.docs/reference/processors/token-limiter-processor.md +3 -3
- package/.docs/reference/processors/tool-call-filter.md +2 -2
- package/.docs/reference/processors/tool-search-processor.md +2 -2
- package/.docs/reference/processors/unicode-normalizer.md +1 -1
- package/.docs/reference/processors/working-memory-processor.md +1 -1
- package/.docs/reference/rag/rerank.md +1 -1
- package/.docs/reference/server/nestjs-adapter.md +1 -1
- package/.docs/reference/server/routes.md +40 -13
- package/.docs/reference/storage/dsql.md +1 -1
- package/.docs/reference/storage/mongodb.md +1 -1
- package/.docs/reference/storage/postgresql.md +1 -1
- package/.docs/reference/storage/redis.md +1 -1
- package/.docs/reference/storage/spanner.md +5 -0
- package/.docs/reference/storage/upstash.md +1 -1
- package/.docs/reference/streaming/agents/stream.md +1 -1
- package/.docs/reference/templates/overview.md +1 -1
- package/.docs/reference/tools/mcp-client.md +2 -2
- package/.docs/reference/tools/mcp-server.md +33 -1
- package/.docs/reference/tools/vector-query-tool.md +1 -1
- package/.docs/reference/vectors/libsql.md +1 -1
- package/.docs/reference/vectors/mongodb.md +1 -1
- package/.docs/reference/vectors/pg.md +1 -1
- package/.docs/reference/vectors/upstash.md +1 -1
- package/.docs/reference/voice/google-gemini-live.md +15 -2
- package/.docs/reference/voice/voice.addInstructions.md +1 -1
- package/.docs/reference/workspace/agentfs-filesystem.md +1 -1
- package/.docs/reference/workspace/azure-blob-filesystem.md +1 -1
- package/.docs/reference/workspace/docker-sandbox.md +1 -1
- package/.docs/reference/workspace/e2b-sandbox.md +9 -5
- package/.docs/reference/workspace/files-sdk-filesystem.md +1 -1
- package/.docs/reference/workspace/gcs-filesystem.md +1 -1
- package/.docs/reference/workspace/google-drive-filesystem.md +1 -1
- package/.docs/reference/workspace/local-filesystem.md +1 -1
- package/.docs/reference/workspace/local-sandbox.md +1 -1
- package/.docs/reference/workspace/modal-sandbox.md +1 -1
- package/.docs/reference/workspace/s3-filesystem.md +1 -1
- package/CHANGELOG.md +37 -0
- package/package.json +6 -6
|
@@ -11,7 +11,7 @@ import { Agent } from '@mastra/core/agent'
|
|
|
11
11
|
export const agent = new Agent({
|
|
12
12
|
name: 'test-agent',
|
|
13
13
|
instructions: 'You are an agent with memory.',
|
|
14
|
-
model: 'openai/gpt-5.
|
|
14
|
+
model: 'openai/gpt-5.5',
|
|
15
15
|
memory: new Memory({
|
|
16
16
|
options: {
|
|
17
17
|
workingMemory: {
|
|
@@ -60,7 +60,7 @@ import { LibSQLStore, LibSQLVector } from '@mastra/libsql'
|
|
|
60
60
|
export const agent = new Agent({
|
|
61
61
|
name: 'test-agent',
|
|
62
62
|
instructions: 'You are an agent with memory.',
|
|
63
|
-
model: 'openai/gpt-5.
|
|
63
|
+
model: 'openai/gpt-5.5',
|
|
64
64
|
memory: new Memory({
|
|
65
65
|
storage: new LibSQLStore({
|
|
66
66
|
id: 'test-agent-storage',
|
|
@@ -97,7 +97,7 @@ import { PgStore, PgVector } from '@mastra/pg'
|
|
|
97
97
|
export const agent = new Agent({
|
|
98
98
|
name: 'pg-agent',
|
|
99
99
|
instructions: 'You are an agent with optimized PostgreSQL memory.',
|
|
100
|
-
model: 'openai/gpt-5.
|
|
100
|
+
model: 'openai/gpt-5.5',
|
|
101
101
|
memory: new Memory({
|
|
102
102
|
storage: new PgStore({
|
|
103
103
|
id: 'pg-agent-storage',
|
|
@@ -181,7 +181,7 @@ import { Agent } from '@mastra/core/agent'
|
|
|
181
181
|
export const agent = new Agent({
|
|
182
182
|
name: 'my-agent',
|
|
183
183
|
instructions: 'You are a helpful assistant.',
|
|
184
|
-
model: 'openai/gpt-5.
|
|
184
|
+
model: 'openai/gpt-5.5',
|
|
185
185
|
memory: new Memory({
|
|
186
186
|
options: {
|
|
187
187
|
observationalMemory: {
|
|
@@ -201,7 +201,7 @@ import { Agent } from '@mastra/core/agent'
|
|
|
201
201
|
export const agent = new Agent({
|
|
202
202
|
name: 'my-agent',
|
|
203
203
|
instructions: 'You are a helpful assistant.',
|
|
204
|
-
model: 'openai/gpt-5.
|
|
204
|
+
model: 'openai/gpt-5.5',
|
|
205
205
|
memory: new Memory({
|
|
206
206
|
options: {
|
|
207
207
|
observationalMemory: {
|
|
@@ -228,7 +228,7 @@ import { Agent } from '@mastra/core/agent'
|
|
|
228
228
|
export const agent = new Agent({
|
|
229
229
|
name: 'health-assistant',
|
|
230
230
|
instructions: 'You are a health and wellness assistant.',
|
|
231
|
-
model: 'openai/gpt-5.
|
|
231
|
+
model: 'openai/gpt-5.5',
|
|
232
232
|
memory: new Memory({
|
|
233
233
|
options: {
|
|
234
234
|
observationalMemory: {
|
|
@@ -677,7 +677,7 @@ const selector = new ModelByInputTokens({
|
|
|
677
677
|
upTo: {
|
|
678
678
|
10_000: 'google/gemini-2.5-flash', // Fast for small inputs
|
|
679
679
|
40_000: 'openai/gpt-5-mini', // Stronger for medium inputs
|
|
680
|
-
1_000_000: 'openai/gpt-5.
|
|
680
|
+
1_000_000: 'openai/gpt-5.5', // Most capable for large inputs
|
|
681
681
|
},
|
|
682
682
|
})
|
|
683
683
|
```
|
|
@@ -104,7 +104,7 @@ const prompt = await exporter.client.prompt.get('customer-support', { type: 'tex
|
|
|
104
104
|
const agent = new Agent({
|
|
105
105
|
name: 'support-agent',
|
|
106
106
|
instructions: prompt.compile(),
|
|
107
|
-
model: 'openai/gpt-5.
|
|
107
|
+
model: 'openai/gpt-5.5',
|
|
108
108
|
defaultGenerateOptions: {
|
|
109
109
|
tracingOptions: buildTracingOptions(
|
|
110
110
|
withLangfusePrompt({ name: prompt.name, version: prompt.version }),
|
|
@@ -43,7 +43,7 @@ import { BatchPartsProcessor } from '@mastra/core/processors'
|
|
|
43
43
|
export const agent = new Agent({
|
|
44
44
|
name: 'batched-agent',
|
|
45
45
|
instructions: 'You are a helpful assistant',
|
|
46
|
-
model: 'openai/gpt-5.
|
|
46
|
+
model: 'openai/gpt-5.5',
|
|
47
47
|
outputProcessors: [
|
|
48
48
|
new BatchPartsProcessor({
|
|
49
49
|
batchSize: 5,
|
|
@@ -60,7 +60,7 @@ export const agent = new Agent({
|
|
|
60
60
|
id: 'multilingual-agent',
|
|
61
61
|
name: 'multilingual-agent',
|
|
62
62
|
instructions: 'You are a helpful assistant',
|
|
63
|
-
model: 'openai/gpt-5.
|
|
63
|
+
model: 'openai/gpt-5.5',
|
|
64
64
|
inputProcessors: [
|
|
65
65
|
new LanguageDetector({
|
|
66
66
|
model: 'openrouter/openai/gpt-oss-safeguard-20b',
|
|
@@ -45,7 +45,7 @@ const storage = new PostgresStorage({
|
|
|
45
45
|
export const agent = new Agent({
|
|
46
46
|
name: 'memory-agent',
|
|
47
47
|
instructions: 'You are a helpful assistant with conversation memory',
|
|
48
|
-
model: 'openai/gpt-5.
|
|
48
|
+
model: 'openai/gpt-5.5',
|
|
49
49
|
inputProcessors: [
|
|
50
50
|
new MessageHistory({
|
|
51
51
|
storage,
|
|
@@ -59,7 +59,7 @@ import { ModerationProcessor } from '@mastra/core/processors'
|
|
|
59
59
|
export const agent = new Agent({
|
|
60
60
|
name: 'moderated-agent',
|
|
61
61
|
instructions: 'You are a helpful assistant',
|
|
62
|
-
model: 'openai/gpt-5.
|
|
62
|
+
model: 'openai/gpt-5.5',
|
|
63
63
|
inputProcessors: [
|
|
64
64
|
new ModerationProcessor({
|
|
65
65
|
model: 'openrouter/openai/gpt-oss-safeguard-20b',
|
|
@@ -84,7 +84,7 @@ import { BatchPartsProcessor, ModerationProcessor } from '@mastra/core/processor
|
|
|
84
84
|
export const agent = new Agent({
|
|
85
85
|
name: 'output-moderated-agent',
|
|
86
86
|
instructions: 'You are a helpful assistant',
|
|
87
|
-
model: 'openai/gpt-5.
|
|
87
|
+
model: 'openai/gpt-5.5',
|
|
88
88
|
outputProcessors: [
|
|
89
89
|
// Batch stream parts first to reduce LLM calls
|
|
90
90
|
new BatchPartsProcessor({
|
|
@@ -61,7 +61,7 @@ import { PIIDetector } from '@mastra/core/processors'
|
|
|
61
61
|
export const agent = new Agent({
|
|
62
62
|
name: 'private-agent',
|
|
63
63
|
instructions: 'You are a helpful assistant',
|
|
64
|
-
model: 'openai/gpt-5.
|
|
64
|
+
model: 'openai/gpt-5.5',
|
|
65
65
|
inputProcessors: [
|
|
66
66
|
new PIIDetector({
|
|
67
67
|
model: 'openrouter/openai/gpt-oss-safeguard-20b',
|
|
@@ -89,7 +89,7 @@ import { BatchPartsProcessor, PIIDetector } from '@mastra/core/processors'
|
|
|
89
89
|
export const agent = new Agent({
|
|
90
90
|
name: 'output-pii-agent',
|
|
91
91
|
instructions: 'You are a helpful assistant',
|
|
92
|
-
model: 'openai/gpt-5.
|
|
92
|
+
model: 'openai/gpt-5.5',
|
|
93
93
|
outputProcessors: [
|
|
94
94
|
// Batch stream parts first to reduce LLM calls
|
|
95
95
|
new BatchPartsProcessor({
|
|
@@ -26,7 +26,7 @@ import { PrefillErrorHandler } from '@mastra/core/processors'
|
|
|
26
26
|
export const agent = new Agent({
|
|
27
27
|
name: 'my-agent',
|
|
28
28
|
instructions: 'You are a helpful assistant.',
|
|
29
|
-
model: 'anthropic/claude-opus-4-
|
|
29
|
+
model: 'anthropic/claude-opus-4-7',
|
|
30
30
|
errorProcessors: [new PrefillErrorHandler()],
|
|
31
31
|
})
|
|
32
32
|
```
|
|
@@ -47,7 +47,7 @@ const customErrorHandler: Processor = {
|
|
|
47
47
|
export const agent = new Agent({
|
|
48
48
|
name: 'my-agent',
|
|
49
49
|
instructions: 'You are a helpful assistant.',
|
|
50
|
-
model: 'anthropic/claude-opus-4-
|
|
50
|
+
model: 'anthropic/claude-opus-4-7',
|
|
51
51
|
errorProcessors: [customErrorHandler],
|
|
52
52
|
})
|
|
53
53
|
```
|
|
@@ -318,7 +318,7 @@ processInputStep?<TTripwireMetadata = unknown>(
|
|
|
318
318
|
|
|
319
319
|
The object form can return any combination of these properties:
|
|
320
320
|
|
|
321
|
-
**model** (`LanguageModelV2 | string`): Change the model for this step. Can be a model instance or router ID like '
|
|
321
|
+
**model** (`LanguageModelV2 | string`): Change the model for this step. Can be a model instance or router ID like 'openai/gpt-5.5'.
|
|
322
322
|
|
|
323
323
|
**toolChoice** (`ToolChoice`): Change tool selection behavior for this step.
|
|
324
324
|
|
|
@@ -778,7 +778,7 @@ export class DynamicModelProcessor implements Processor {
|
|
|
778
778
|
|
|
779
779
|
// Switch to powerful model after tool calls
|
|
780
780
|
if (steps.length > 0 && steps[steps.length - 1].toolCalls?.length) {
|
|
781
|
-
return { model: 'openai/gpt-5.
|
|
781
|
+
return { model: 'openai/gpt-5.5' }
|
|
782
782
|
}
|
|
783
783
|
|
|
784
784
|
// Disable tools after 5 steps to force completion
|
|
@@ -53,7 +53,7 @@ import { PromptInjectionDetector } from '@mastra/core/processors'
|
|
|
53
53
|
export const agent = new Agent({
|
|
54
54
|
name: 'secure-agent',
|
|
55
55
|
instructions: 'You are a helpful assistant',
|
|
56
|
-
model: 'openai/gpt-5.
|
|
56
|
+
model: 'openai/gpt-5.5',
|
|
57
57
|
inputProcessors: [
|
|
58
58
|
new PromptInjectionDetector({
|
|
59
59
|
model: 'openrouter/openai/gpt-oss-safeguard-20b',
|
|
@@ -82,7 +82,7 @@ const semanticRecall = new SemanticRecall({
|
|
|
82
82
|
export const agent = new Agent({
|
|
83
83
|
name: 'semantic-memory-agent',
|
|
84
84
|
instructions: 'You are a helpful assistant with semantic memory recall',
|
|
85
|
-
model: 'openai/gpt-5.
|
|
85
|
+
model: 'openai/gpt-5.5',
|
|
86
86
|
inputProcessors: [semanticRecall, new MessageHistory({ storage, lastMessages: 50 })],
|
|
87
87
|
outputProcessors: [semanticRecall, new MessageHistory({ storage })],
|
|
88
88
|
})
|
|
@@ -74,7 +74,7 @@ const agent = new Agent({
|
|
|
74
74
|
name: 'skill-agent',
|
|
75
75
|
instructions:
|
|
76
76
|
'You are a helpful assistant. Use search_skills to find relevant skills, then load_skill to load their instructions.',
|
|
77
|
-
model: 'openai/gpt-5.
|
|
77
|
+
model: 'openai/gpt-5.5',
|
|
78
78
|
workspace,
|
|
79
79
|
inputProcessors: [skillSearch],
|
|
80
80
|
})
|
|
@@ -57,7 +57,7 @@ import { BatchPartsProcessor, SystemPromptScrubber } from '@mastra/core/processo
|
|
|
57
57
|
export const agent = new Agent({
|
|
58
58
|
name: 'scrubbed-agent',
|
|
59
59
|
instructions: 'You are a helpful assistant',
|
|
60
|
-
model: 'openai/gpt-5.
|
|
60
|
+
model: 'openai/gpt-5.5',
|
|
61
61
|
outputProcessors: [
|
|
62
62
|
// Batch stream parts first to reduce LLM calls
|
|
63
63
|
new BatchPartsProcessor({
|
|
@@ -81,7 +81,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
|
|
|
81
81
|
export const agent = new Agent({
|
|
82
82
|
name: 'context-limited-agent',
|
|
83
83
|
instructions: 'You are a helpful assistant',
|
|
84
|
-
model: 'openai/gpt-5.
|
|
84
|
+
model: 'openai/gpt-5.5',
|
|
85
85
|
memory: new Memory({
|
|
86
86
|
/* ... */
|
|
87
87
|
}),
|
|
@@ -102,7 +102,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
|
|
|
102
102
|
export const agent = new Agent({
|
|
103
103
|
name: 'multi-step-agent',
|
|
104
104
|
instructions: 'You are a helpful research assistant with access to tools',
|
|
105
|
-
model: 'openai/gpt-5.
|
|
105
|
+
model: 'openai/gpt-5.5',
|
|
106
106
|
inputProcessors: [
|
|
107
107
|
new TokenLimiterProcessor({ limit: 8000 }), // Applied at every step
|
|
108
108
|
],
|
|
@@ -125,7 +125,7 @@ import { TokenLimiterProcessor } from '@mastra/core/processors'
|
|
|
125
125
|
export const agent = new Agent({
|
|
126
126
|
name: 'response-limited-agent',
|
|
127
127
|
instructions: 'You are a helpful assistant',
|
|
128
|
-
model: 'openai/gpt-5.
|
|
128
|
+
model: 'openai/gpt-5.5',
|
|
129
129
|
outputProcessors: [
|
|
130
130
|
new TokenLimiterProcessor({
|
|
131
131
|
limit: 1000,
|
|
@@ -90,7 +90,7 @@ import { ToolCallFilter } from '@mastra/core/processors'
|
|
|
90
90
|
export const agent = new Agent({
|
|
91
91
|
name: 'filtered-agent',
|
|
92
92
|
instructions: 'You are a helpful assistant',
|
|
93
|
-
model: 'openai/gpt-5.
|
|
93
|
+
model: 'openai/gpt-5.5',
|
|
94
94
|
tools: {
|
|
95
95
|
searchDatabase,
|
|
96
96
|
sendEmail,
|
|
@@ -115,7 +115,7 @@ import { ToolCallFilter } from '@mastra/core/processors'
|
|
|
115
115
|
export const agent = new Agent({
|
|
116
116
|
name: 'no-tools-context-agent',
|
|
117
117
|
instructions: 'You are a helpful assistant',
|
|
118
|
-
model: 'openai/gpt-5.
|
|
118
|
+
model: 'openai/gpt-5.5',
|
|
119
119
|
tools: {
|
|
120
120
|
searchDatabase,
|
|
121
121
|
sendEmail,
|
|
@@ -101,7 +101,7 @@ const agent = new Agent({
|
|
|
101
101
|
name: 'dynamic-tools-agent',
|
|
102
102
|
instructions:
|
|
103
103
|
'You are a helpful assistant with access to many tools. Use search_tools to find relevant tools, then load_tool to make them available.',
|
|
104
|
-
model: 'openai/gpt-5.
|
|
104
|
+
model: 'openai/gpt-5.5',
|
|
105
105
|
inputProcessors: [toolSearch],
|
|
106
106
|
})
|
|
107
107
|
```
|
|
@@ -122,7 +122,7 @@ import { ToolSearchProcessor, TokenLimiter } from '@mastra/core/processors'
|
|
|
122
122
|
|
|
123
123
|
const agent = new Agent({
|
|
124
124
|
name: 'my-agent',
|
|
125
|
-
model: 'openai/gpt-5.
|
|
125
|
+
model: 'openai/gpt-5.5',
|
|
126
126
|
inputProcessors: [
|
|
127
127
|
new ToolSearchProcessor({
|
|
128
128
|
tools: allTools,
|
|
@@ -43,7 +43,7 @@ export const agent = new Agent({
|
|
|
43
43
|
id: 'normalized-agent',
|
|
44
44
|
name: 'normalized-agent',
|
|
45
45
|
instructions: 'You are a helpful assistant',
|
|
46
|
-
model: 'openai/gpt-5.
|
|
46
|
+
model: 'openai/gpt-5.5',
|
|
47
47
|
inputProcessors: [
|
|
48
48
|
new UnicodeNormalizer({
|
|
49
49
|
stripControlChars: true,
|
|
@@ -67,7 +67,7 @@ const storage = new PostgresStorage({
|
|
|
67
67
|
export const agent = new Agent({
|
|
68
68
|
name: 'personalized-agent',
|
|
69
69
|
instructions: 'You are a helpful assistant that remembers user preferences',
|
|
70
|
-
model: 'openai/gpt-5.
|
|
70
|
+
model: 'openai/gpt-5.5',
|
|
71
71
|
inputProcessors: [
|
|
72
72
|
new WorkingMemory({
|
|
73
73
|
storage,
|
|
@@ -16,7 +16,7 @@ function rerank(
|
|
|
16
16
|
```typescript
|
|
17
17
|
import { rerank } from '@mastra/rag'
|
|
18
18
|
|
|
19
|
-
const model = 'openai/gpt-5.
|
|
19
|
+
const model = 'openai/gpt-5.5'
|
|
20
20
|
|
|
21
21
|
const rerankedResults = await rerank(vectorSearchResults, 'How do I deploy to production?', model, {
|
|
22
22
|
weights: {
|
|
@@ -114,7 +114,7 @@ import { Mastra } from '@mastra/core/mastra'
|
|
|
114
114
|
greeter: {
|
|
115
115
|
name: 'greeter',
|
|
116
116
|
description: 'Greets the user',
|
|
117
|
-
model: config.get('MASTRA_MODEL', '
|
|
117
|
+
model: config.get('MASTRA_MODEL', 'openai/gpt-5-mini'),
|
|
118
118
|
},
|
|
119
119
|
},
|
|
120
120
|
}),
|
|
@@ -4,19 +4,20 @@ Server adapters register these routes when you call `server.init()`. All routes
|
|
|
4
4
|
|
|
5
5
|
## Agents
|
|
6
6
|
|
|
7
|
-
| Method | Path | Description
|
|
8
|
-
| ------ | -------------------------------------------- |
|
|
9
|
-
| `GET` | `/api/agents` | List all agents
|
|
10
|
-
| `GET` | `/api/agents/:agentId` | Get agent by ID (supports version query params)
|
|
11
|
-
| `POST` | `/api/agents/:agentId/generate` | Generate agent response
|
|
12
|
-
| `POST` | `/api/agents/:agentId/stream` | Stream agent response
|
|
13
|
-
| `POST` | `/api/agents/:agentId/send-message` | Send a user message to an active or idle thread
|
|
14
|
-
| `POST` | `/api/agents/:agentId/queue-message` | Queue a user message for the next thread turn
|
|
15
|
-
| `POST` | `/api/agents/:agentId/signals` | Send a lower-level signal to an active or idle thread
|
|
16
|
-
| `POST` | `/api/agents/:agentId/subscribe
|
|
17
|
-
| `POST` | `/api/agents/:agentId/
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
7
|
+
| Method | Path | Description |
|
|
8
|
+
| ------ | -------------------------------------------- | ----------------------------------------------------------------------- |
|
|
9
|
+
| `GET` | `/api/agents` | List all agents |
|
|
10
|
+
| `GET` | `/api/agents/:agentId` | Get agent by ID (supports version query params) |
|
|
11
|
+
| `POST` | `/api/agents/:agentId/generate` | Generate agent response |
|
|
12
|
+
| `POST` | `/api/agents/:agentId/stream` | Stream agent response |
|
|
13
|
+
| `POST` | `/api/agents/:agentId/send-message` | Send a user message to an active or idle thread |
|
|
14
|
+
| `POST` | `/api/agents/:agentId/queue-message` | Queue a user message for the next thread turn |
|
|
15
|
+
| `POST` | `/api/agents/:agentId/signals` | Send a lower-level signal to an active or idle thread |
|
|
16
|
+
| `POST` | `/api/agents/:agentId/threads/subscribe` | Subscribe to a thread stream |
|
|
17
|
+
| `POST` | `/api/agents/:agentId/send-tool-approval` | Approve or decline a tool call and resume through a thread subscription |
|
|
18
|
+
| `POST` | `/api/agents/:agentId/resume-stream` | Resume a suspended agent stream with custom data |
|
|
19
|
+
| `GET` | `/api/agents/:agentId/tools` | List agent tools |
|
|
20
|
+
| `POST` | `/api/agents/:agentId/tools/:toolId/execute` | Execute agent tool |
|
|
20
21
|
|
|
21
22
|
### Get agent query parameters
|
|
22
23
|
|
|
@@ -140,6 +141,32 @@ Both routes return:
|
|
|
140
141
|
}
|
|
141
142
|
```
|
|
142
143
|
|
|
144
|
+
### Subscription tool approval routes
|
|
145
|
+
|
|
146
|
+
Use `POST /api/agents/:agentId/send-tool-approval` when the client already has an active thread subscription. The route resumes the run and returns a JSON acknowledgement. Resumed stream chunks are delivered through `POST /api/agents/:agentId/threads/subscribe`.
|
|
147
|
+
|
|
148
|
+
The route accepts this request body:
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
{
|
|
152
|
+
resourceId: string;
|
|
153
|
+
threadId: string;
|
|
154
|
+
toolCallId: string;
|
|
155
|
+
approved: boolean;
|
|
156
|
+
requestContext?: Record<string, unknown>;
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The route returns:
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
{
|
|
164
|
+
accepted: true;
|
|
165
|
+
runId: string;
|
|
166
|
+
toolCallId?: string;
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
143
170
|
## Workflows
|
|
144
171
|
|
|
145
172
|
| Method | Path | Description |
|
|
@@ -241,7 +241,7 @@ export const dsqlAgent = new Agent({
|
|
|
241
241
|
name: 'DSQL Agent',
|
|
242
242
|
instructions:
|
|
243
243
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
244
|
-
model: 'openai/gpt-5.
|
|
244
|
+
model: 'openai/gpt-5.5',
|
|
245
245
|
memory: new Memory({
|
|
246
246
|
storage: new DSQLStore({
|
|
247
247
|
id: 'dsql-agent-storage',
|
|
@@ -206,7 +206,7 @@ export const mongodbAgent = new Agent({
|
|
|
206
206
|
name: 'mongodb-agent',
|
|
207
207
|
instructions:
|
|
208
208
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
209
|
-
model: 'openai/gpt-5.
|
|
209
|
+
model: 'openai/gpt-5.5',
|
|
210
210
|
memory: new Memory({
|
|
211
211
|
storage: new MongoDBStore({
|
|
212
212
|
uri: process.env.MONGODB_URI!,
|
|
@@ -332,7 +332,7 @@ export const pgAgent = new Agent({
|
|
|
332
332
|
name: 'PG Agent',
|
|
333
333
|
instructions:
|
|
334
334
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
335
|
-
model: 'openai/gpt-5.
|
|
335
|
+
model: 'openai/gpt-5.5',
|
|
336
336
|
memory: new Memory({
|
|
337
337
|
storage: new PostgresStore({
|
|
338
338
|
id: 'pg-agent-storage',
|
|
@@ -181,7 +181,7 @@ export const redisAgent = new Agent({
|
|
|
181
181
|
name: 'Redis Agent',
|
|
182
182
|
instructions:
|
|
183
183
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
184
|
-
model: 'openai/gpt-5.
|
|
184
|
+
model: 'openai/gpt-5.5',
|
|
185
185
|
memory: new Memory({
|
|
186
186
|
storage: new RedisStore({
|
|
187
187
|
id: 'redis-agent-storage',
|
|
@@ -122,6 +122,11 @@ The storage adapter creates the following tables, all using the GoogleSQL dialec
|
|
|
122
122
|
- `mastra_prompt_blocks` / `mastra_prompt_block_versions`: prompt block records and versioned content snapshots (template content, rules, request-context schema)
|
|
123
123
|
- `mastra_scorer_definitions` / `mastra_scorer_definition_versions`: scorer definition records and versioned config snapshots (judge instructions, model, score range, preset config, default sampling)
|
|
124
124
|
- `mastra_schedules` / `mastra_schedule_triggers`: cron-driven workflow schedules and trigger history, consumed by Mastra's built-in `WorkflowScheduler`
|
|
125
|
+
- `mastra_workspaces` / `mastra_workspace_versions`: workspace records and versioned configuration snapshots (filesystem, sandbox, mounts, search, skills, tools)
|
|
126
|
+
- `mastra_datasets` / `mastra_dataset_items` / `mastra_dataset_versions`: evaluation datasets, SCD-2 versioned items, and version snapshots
|
|
127
|
+
- `mastra_experiments` / `mastra_experiment_results`: experiment runs and their per-item results
|
|
128
|
+
- `mastra_favorites`: per-user favorites for agents and skills, with denormalized `favoriteCount` maintained on the parent record
|
|
129
|
+
- `mastra_channel_installations` / `mastra_channel_config`: multi-platform channel installations and per-platform configuration
|
|
125
130
|
- `mastra_ai_spans`: AI tracing spans for observability (per-trace and per-span records, used to power the Studio traces UI)
|
|
126
131
|
|
|
127
132
|
Tables are created with `STRING(MAX)` for text and JSON payloads, `INT64`, `FLOAT64`, `BOOL`, and `TIMESTAMP`.
|
|
@@ -103,7 +103,7 @@ export const upstashAgent = new Agent({
|
|
|
103
103
|
name: 'Upstash Agent',
|
|
104
104
|
instructions:
|
|
105
105
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
106
|
-
model: 'openai/gpt-5.
|
|
106
|
+
model: 'openai/gpt-5.5',
|
|
107
107
|
memory: new Memory({
|
|
108
108
|
storage: new UpstashStore({
|
|
109
109
|
id: 'upstash-agent-storage',
|
|
@@ -322,7 +322,7 @@ await agent.stream('message for agent', {
|
|
|
322
322
|
sentiment: z.enum(['positive', 'negative', 'neutral']),
|
|
323
323
|
confidence: z.number(),
|
|
324
324
|
}),
|
|
325
|
-
model: 'openai/gpt-5.
|
|
325
|
+
model: 'openai/gpt-5.5',
|
|
326
326
|
errorStrategy: 'warn',
|
|
327
327
|
},
|
|
328
328
|
// Output processors for streaming response validation
|
|
@@ -192,7 +192,7 @@ import { Agent } from '@mastra/core/agent'
|
|
|
192
192
|
|
|
193
193
|
const agent = new Agent({
|
|
194
194
|
name: 'example-agent',
|
|
195
|
-
model: 'openai/gpt-5.
|
|
195
|
+
model: 'openai/gpt-5.5', // or other provider strings
|
|
196
196
|
instructions: 'Your agent instructions here',
|
|
197
197
|
})
|
|
198
198
|
```
|
|
@@ -890,7 +890,7 @@ const agent = new Agent({
|
|
|
890
890
|
id: 'multi-tool-agent',
|
|
891
891
|
name: 'Multi-tool Agent',
|
|
892
892
|
instructions: 'You have access to multiple tool servers.',
|
|
893
|
-
model: 'openai/gpt-5.
|
|
893
|
+
model: 'openai/gpt-5.5',
|
|
894
894
|
tools: await mcp.listTools(),
|
|
895
895
|
})
|
|
896
896
|
|
|
@@ -941,7 +941,7 @@ const agent = new Agent({
|
|
|
941
941
|
id: 'multi-tool-agent',
|
|
942
942
|
name: 'Multi-tool Agent',
|
|
943
943
|
instructions: 'You help users check stocks and weather.',
|
|
944
|
-
model: 'openai/gpt-5.
|
|
944
|
+
model: 'openai/gpt-5.5',
|
|
945
945
|
})
|
|
946
946
|
|
|
947
947
|
// Later, configure MCP with user-specific settings
|
|
@@ -22,7 +22,7 @@ const myAgent = new Agent({
|
|
|
22
22
|
name: 'MyExampleAgent',
|
|
23
23
|
description: 'A generalist to help with basic questions.',
|
|
24
24
|
instructions: 'You are a helpful assistant.',
|
|
25
|
-
model: 'openai/gpt-5.
|
|
25
|
+
model: 'openai/gpt-5.5',
|
|
26
26
|
})
|
|
27
27
|
|
|
28
28
|
const weatherTool = createTool({
|
|
@@ -67,6 +67,8 @@ The constructor accepts an `MCPServerConfig` object with the following propertie
|
|
|
67
67
|
|
|
68
68
|
**instructions** (`string`): Optional instructions describing how to use the server and its features.
|
|
69
69
|
|
|
70
|
+
**mapAuthInfoToUser** (`({ authInfo, extra, requestContext }) => unknown | null | undefined | Promise<unknown | null | undefined>`): Maps MCP transport auth data from \`extra.authInfo\` into the \`user\` value used by Mastra FGA checks. Use this when an OAuth-protected MCP server is registered on a Mastra instance with an FGA provider.
|
|
71
|
+
|
|
70
72
|
**repository** (`Repository`): Optional repository information for the server's source code.
|
|
71
73
|
|
|
72
74
|
**releaseDate** (`string`): Optional release date of this server version (ISO 8601 string). Defaults to the time of instantiation if not provided.
|
|
@@ -1097,6 +1099,36 @@ Whatever you set on `req.auth` in your HTTP middleware becomes available as `con
|
|
|
1097
1099
|
req.auth = { ... } → context?.mcp?.extra?.authInfo.extra = { ... }
|
|
1098
1100
|
```
|
|
1099
1101
|
|
|
1102
|
+
### Map auth data for FGA
|
|
1103
|
+
|
|
1104
|
+
When an `MCPServer` is registered on a Mastra instance with a fine-grained authorization (FGA) provider, Mastra checks `requestContext.get('user')` before listing or calling tools. HTTP MCP transports pass authenticated data as `extra.authInfo`, so use `mapAuthInfoToUser` to set the user shape expected by your FGA provider.
|
|
1105
|
+
|
|
1106
|
+
```typescript
|
|
1107
|
+
const server = new MCPServer({
|
|
1108
|
+
id: 'my-server',
|
|
1109
|
+
name: 'My Server',
|
|
1110
|
+
version: '1.0.0',
|
|
1111
|
+
tools: { getUserData },
|
|
1112
|
+
mapAuthInfoToUser: ({ authInfo }) => {
|
|
1113
|
+
const user = authInfo as {
|
|
1114
|
+
extra?: {
|
|
1115
|
+
userId?: string
|
|
1116
|
+
organizationMembershipId?: string
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
if (!user.extra?.userId) {
|
|
1121
|
+
return null
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
return {
|
|
1125
|
+
id: user.extra.userId,
|
|
1126
|
+
organizationMembershipId: user.extra.organizationMembershipId,
|
|
1127
|
+
}
|
|
1128
|
+
},
|
|
1129
|
+
})
|
|
1130
|
+
```
|
|
1131
|
+
|
|
1100
1132
|
### Setting Up Authentication Middleware
|
|
1101
1133
|
|
|
1102
1134
|
To pass data to your tools, populate `req.auth` on the Node.js request object in your HTTP server middleware before calling `server.startHTTP()`.
|
|
@@ -142,7 +142,7 @@ const queryTool = createVectorQueryTool({
|
|
|
142
142
|
indexName: 'documentation',
|
|
143
143
|
model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'),
|
|
144
144
|
reranker: {
|
|
145
|
-
model: 'openai/gpt-5.
|
|
145
|
+
model: 'openai/gpt-5.5',
|
|
146
146
|
options: {
|
|
147
147
|
weights: {
|
|
148
148
|
semantic: 0.5, // Semantic relevance weight
|
|
@@ -277,7 +277,7 @@ export const libsqlAgent = new Agent({
|
|
|
277
277
|
name: 'libSQL Agent',
|
|
278
278
|
instructions:
|
|
279
279
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
280
|
-
model: 'openai/gpt-5.
|
|
280
|
+
model: 'openai/gpt-5.5',
|
|
281
281
|
memory: new Memory({
|
|
282
282
|
storage: new LibSQLStore({
|
|
283
283
|
id: 'libsql-agent-storage',
|
|
@@ -263,7 +263,7 @@ export const mongodbAgent = new Agent({
|
|
|
263
263
|
name: 'mongodb-agent',
|
|
264
264
|
instructions:
|
|
265
265
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
266
|
-
model: 'openai/gpt-5.
|
|
266
|
+
model: 'openai/gpt-5.5',
|
|
267
267
|
memory: new Memory({
|
|
268
268
|
storage: new MongoDBStore({
|
|
269
269
|
id: 'mongodb-storage',
|
|
@@ -401,7 +401,7 @@ export const pgAgent = new Agent({
|
|
|
401
401
|
name: 'PG Agent',
|
|
402
402
|
instructions:
|
|
403
403
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
404
|
-
model: 'openai/gpt-5.
|
|
404
|
+
model: 'openai/gpt-5.5',
|
|
405
405
|
memory: new Memory({
|
|
406
406
|
storage: new PostgresStore({
|
|
407
407
|
id: 'pg-agent-storage',
|
|
@@ -265,7 +265,7 @@ export const upstashAgent = new Agent({
|
|
|
265
265
|
name: 'Upstash Agent',
|
|
266
266
|
instructions:
|
|
267
267
|
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
268
|
-
model: 'openai/gpt-5.
|
|
268
|
+
model: 'openai/gpt-5.5',
|
|
269
269
|
memory: new Memory({
|
|
270
270
|
storage: new UpstashStore({
|
|
271
271
|
id: 'upstash-agent-storage',
|