@mastra/code-sdk 1.11.0 → 1.12.0-alpha.1

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.
Files changed (55) hide show
  1. package/dist/acp/agent.d.ts.map +1 -1
  2. package/dist/acp/agent.js +6 -9
  3. package/dist/acp/agent.js.map +1 -1
  4. package/dist/acp/runtime.d.ts.map +1 -1
  5. package/dist/acp/runtime.js +3 -0
  6. package/dist/acp/runtime.js.map +1 -1
  7. package/dist/agent-connections/ownership.d.ts.map +1 -1
  8. package/dist/agent-connections/ownership.js +1 -1
  9. package/dist/agent-connections/ownership.js.map +1 -1
  10. package/dist/agent-connections/tools.d.ts.map +1 -1
  11. package/dist/agent-connections/tools.js +14 -1
  12. package/dist/agent-connections/tools.js.map +1 -1
  13. package/dist/agents/mastracode-gateway.d.ts.map +1 -1
  14. package/dist/agents/mastracode-gateway.js +3 -3
  15. package/dist/agents/mastracode-gateway.js.map +1 -1
  16. package/dist/agents/model.d.ts.map +1 -1
  17. package/dist/agents/model.js +4 -1
  18. package/dist/agents/model.js.map +1 -1
  19. package/dist/auth/account-rotation-processor.d.ts +4 -3
  20. package/dist/auth/account-rotation-processor.d.ts.map +1 -1
  21. package/dist/auth/account-rotation-processor.js +10 -29
  22. package/dist/auth/account-rotation-processor.js.map +1 -1
  23. package/dist/auth/types.d.ts +7 -0
  24. package/dist/auth/types.d.ts.map +1 -1
  25. package/dist/headless/cli.d.ts.map +1 -1
  26. package/dist/headless/cli.js +3 -0
  27. package/dist/headless/cli.js.map +1 -1
  28. package/dist/index.d.ts +14 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +13 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/providers/anthropic-thinking.d.ts +5 -0
  33. package/dist/providers/anthropic-thinking.d.ts.map +1 -0
  34. package/dist/providers/anthropic-thinking.js +25 -0
  35. package/dist/providers/anthropic-thinking.js.map +1 -0
  36. package/dist/providers/claude-max.d.ts +1 -1
  37. package/dist/providers/claude-max.d.ts.map +1 -1
  38. package/dist/providers/claude-max.js +8 -34
  39. package/dist/providers/claude-max.js.map +1 -1
  40. package/dist/providers/google-thinking.d.ts +4 -2
  41. package/dist/providers/google-thinking.d.ts.map +1 -1
  42. package/dist/providers/google-thinking.js +23 -7
  43. package/dist/providers/google-thinking.js.map +1 -1
  44. package/dist/providers/openai-codex.d.ts.map +1 -1
  45. package/dist/providers/openai-codex.js +3 -3
  46. package/dist/providers/openai-codex.js.map +1 -1
  47. package/dist/thinking-catalog.d.ts +4 -0
  48. package/dist/thinking-catalog.d.ts.map +1 -0
  49. package/dist/thinking-catalog.js +13 -0
  50. package/dist/thinking-catalog.js.map +1 -0
  51. package/dist/thinking.d.ts +4 -1
  52. package/dist/thinking.d.ts.map +1 -1
  53. package/dist/thinking.js +65 -4
  54. package/dist/thinking.js.map +1 -1
  55. package/package.json +11 -11
package/dist/thinking.js CHANGED
@@ -1,3 +1,6 @@
1
+ import { normalizeAnthropicModelId, stripMastraGatewayPrefix } from "./providers/model-ids.js";
2
+ import { ANTHROPIC_THINKING_BUDGET_TOKENS, getAnthropicThinkingCapability, supportsAnthropicXhighEffort } from "./providers/anthropic-thinking.js";
3
+ import { runGeminiThinkingLevel } from "./providers/google-thinking.js";
1
4
  //#region src/thinking.ts
2
5
  const THINKING_LEVEL_VALUES = [
3
6
  "off",
@@ -7,6 +10,13 @@ const THINKING_LEVEL_VALUES = [
7
10
  "xhigh",
8
11
  "max"
9
12
  ];
13
+ const ACTIVE_THINKING_LEVELS = [
14
+ "low",
15
+ "medium",
16
+ "high",
17
+ "xhigh",
18
+ "max"
19
+ ];
10
20
  const THINK_COMMAND_DESCRIPTOR = {
11
21
  name: "think",
12
22
  args: "[status|default|off|low|medium|high|xhigh|max]",
@@ -24,9 +34,60 @@ function supportsMaxReasoningEffort(modelId) {
24
34
  const minor = Number(match[2] ?? 0);
25
35
  return major > 5 || major === 5 && minor >= 6;
26
36
  }
27
- function getAvailableThinkingLevelsForModel(modelId) {
28
- if (!modelId.startsWith("openai/") || supportsMaxReasoningEffort(modelId)) return [...THINKING_LEVEL_VALUES];
29
- return THINKING_LEVEL_VALUES.filter((level) => level !== "max");
37
+ function splitProvider(modelId) {
38
+ const routedModelId = stripMastraGatewayPrefix(modelId);
39
+ const slash = routedModelId.indexOf("/");
40
+ if (slash === -1) return {
41
+ provider: "",
42
+ bareModelId: routedModelId
43
+ };
44
+ return {
45
+ provider: routedModelId.slice(0, slash),
46
+ bareModelId: routedModelId.slice(slash + 1)
47
+ };
48
+ }
49
+ function offeredEffortLevels(reasoningOptions) {
50
+ const effortValues = reasoningOptions?.flatMap((option) => option.type === "effort" ? option.values : []) ?? [];
51
+ return ACTIVE_THINKING_LEVELS.filter((level) => effortValues.includes(level));
52
+ }
53
+ const TOGGLE_ON_LEVEL = "high";
54
+ function onlyTogglesThinking(reasoningOptions) {
55
+ return !!reasoningOptions?.length && reasoningOptions.every((option) => option.type === "toggle");
56
+ }
57
+ function closestOfferedEffort(level, reasoningOptions) {
58
+ const offered = offeredEffortLevels(reasoningOptions);
59
+ const requestedRank = ACTIVE_THINKING_LEVELS.indexOf(level);
60
+ return offered.filter((candidate) => ACTIVE_THINKING_LEVELS.indexOf(candidate) <= requestedRank).at(-1) ?? offered[0];
61
+ }
62
+ function lowestLevelWithSameBudget(level) {
63
+ const budget = ANTHROPIC_THINKING_BUDGET_TOKENS[level];
64
+ return ACTIVE_THINKING_LEVELS.find((candidate) => ANTHROPIC_THINKING_BUDGET_TOKENS[candidate] === budget) ?? level;
65
+ }
66
+ function runAnthropicThinkingLevel(modelId, level, reasoningOptions) {
67
+ const capability = getAnthropicThinkingCapability(modelId);
68
+ if (capability === "none") return "off";
69
+ if (capability === "budget") return lowestLevelWithSameBudget(level);
70
+ const offeredEffort = closestOfferedEffort(level, reasoningOptions);
71
+ if (offeredEffort) return offeredEffort;
72
+ return level === "xhigh" && !supportsAnthropicXhighEffort(modelId) ? "high" : level;
73
+ }
74
+ function runOpenAIThinkingLevel(modelId, level, reasoningOptions) {
75
+ const offeredEffort = closestOfferedEffort(level, reasoningOptions);
76
+ if (offeredEffort) return offeredEffort;
77
+ return level === "max" && !supportsMaxReasoningEffort(modelId) ? "xhigh" : level;
78
+ }
79
+ function runThinkingLevel(modelId, level, reasoningOptions) {
80
+ if (level === "off") return "off";
81
+ const { provider, bareModelId } = splitProvider(modelId);
82
+ if (provider === "google") return runGeminiThinkingLevel(bareModelId, level);
83
+ if (provider === "anthropic") return runAnthropicThinkingLevel(normalizeAnthropicModelId(bareModelId), level, reasoningOptions);
84
+ if (reasoningOptions?.length === 0) return "off";
85
+ if (onlyTogglesThinking(reasoningOptions)) return TOGGLE_ON_LEVEL;
86
+ if (provider === "openai") return runOpenAIThinkingLevel(bareModelId, level, reasoningOptions);
87
+ return closestOfferedEffort(level, reasoningOptions) ?? level;
88
+ }
89
+ function getAvailableThinkingLevelsForModel(modelId, reasoningOptions) {
90
+ return THINKING_LEVEL_VALUES.filter((level) => runThinkingLevel(modelId, level, reasoningOptions) === level);
30
91
  }
31
92
  function parseThinkCommand(input, levels = THINKING_LEVEL_VALUES) {
32
93
  const value = input.trim().toLowerCase();
@@ -53,6 +114,6 @@ function resolveDefaultThinkingLevel(defaults, mode) {
53
114
  };
54
115
  }
55
116
  //#endregion
56
- export { THINKING_LEVEL_VALUES, THINK_COMMAND_DESCRIPTOR, getAvailableThinkingLevelsForModel, isThinkingLevelSetting, parseThinkCommand, resolveDefaultThinkingLevel, supportsMaxReasoningEffort };
117
+ export { THINKING_LEVEL_VALUES, THINK_COMMAND_DESCRIPTOR, getAvailableThinkingLevelsForModel, isThinkingLevelSetting, parseThinkCommand, resolveDefaultThinkingLevel, runThinkingLevel, supportsMaxReasoningEffort };
57
118
 
58
119
  //# sourceMappingURL=thinking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking.js","names":[],"sources":["../src/thinking.ts"],"sourcesContent":["export type ThinkingLevelSetting = 'off' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';\n\nexport type ThinkingLevelSource = 'mode-default' | 'global';\n\nexport interface ThinkingDefaults {\n globalDefault: ThinkingLevelSetting;\n modeDefaults: Readonly<Record<string, ThinkingLevelSetting>>;\n}\n\nexport const THINKING_LEVEL_VALUES: ThinkingLevelSetting[] = ['off', 'low', 'medium', 'high', 'xhigh', 'max'];\n\nexport const THINK_COMMAND_DESCRIPTOR = {\n name: 'think',\n args: '[status|default|off|low|medium|high|xhigh|max]',\n description: 'Show or set session thinking level',\n};\n\nexport type ThinkCommandAction =\n | { kind: 'status' }\n | { kind: 'clear' }\n | { kind: 'set'; level: ThinkingLevelSetting }\n | { kind: 'invalid'; value: string; levels: readonly ThinkingLevelSetting[] };\n\nconst GPT_VERSION_RE = /^gpt-(\\d+)(?:\\.(\\d+))?/;\n\nexport function isThinkingLevelSetting(value: unknown): value is ThinkingLevelSetting {\n return typeof value === 'string' && THINKING_LEVEL_VALUES.some(level => level === value);\n}\n\nexport function supportsMaxReasoningEffort(modelId: string): boolean {\n const bareModelId = modelId.startsWith('openai/') ? modelId.slice('openai/'.length) : modelId;\n const match = GPT_VERSION_RE.exec(bareModelId);\n if (!match) return false;\n const major = Number(match[1]);\n const minor = Number(match[2] ?? 0);\n return major > 5 || (major === 5 && minor >= 6);\n}\n\nexport function getAvailableThinkingLevelsForModel(modelId: string): ThinkingLevelSetting[] {\n if (!modelId.startsWith('openai/') || supportsMaxReasoningEffort(modelId)) {\n return [...THINKING_LEVEL_VALUES];\n }\n return THINKING_LEVEL_VALUES.filter(level => level !== 'max');\n}\n\nexport function parseThinkCommand(\n input: string,\n levels: readonly ThinkingLevelSetting[] = THINKING_LEVEL_VALUES,\n): ThinkCommandAction {\n const value = input.trim().toLowerCase();\n if (!value || value === 'status') return { kind: 'status' };\n if (value === 'default' || value === 'clear') return { kind: 'clear' };\n const level = levels.find(candidate => candidate === value);\n return level ? { kind: 'set', level } : { kind: 'invalid', value, levels };\n}\n\nexport function resolveDefaultThinkingLevel(\n defaults: ThinkingDefaults,\n mode?: string | null,\n): { level: ThinkingLevelSetting; source: ThinkingLevelSource } {\n const modeLevel = mode ? defaults.modeDefaults[mode] : undefined;\n return modeLevel ? { level: modeLevel, source: 'mode-default' } : { level: defaults.globalDefault, source: 'global' };\n}\n"],"mappings":";AASA,MAAa,wBAAgD;CAAC;CAAO;CAAO;CAAU;CAAQ;CAAS;AAAK;AAE5G,MAAa,2BAA2B;CACtC,MAAM;CACN,MAAM;CACN,aAAa;AACf;AAQA,MAAM,iBAAiB;AAEvB,SAAgB,uBAAuB,OAA+C;CACpF,OAAO,OAAO,UAAU,YAAY,sBAAsB,MAAK,UAAS,UAAU,KAAK;AACzF;AAEA,SAAgB,2BAA2B,SAA0B;CACnE,MAAM,cAAc,QAAQ,WAAW,SAAS,IAAI,QAAQ,MAAM,CAAgB,IAAI;CACtF,MAAM,QAAQ,eAAe,KAAK,WAAW;CAC7C,IAAI,CAAC,OAAO,OAAO;CACnB,MAAM,QAAQ,OAAO,MAAM,EAAE;CAC7B,MAAM,QAAQ,OAAO,MAAM,MAAM,CAAC;CAClC,OAAO,QAAQ,KAAM,UAAU,KAAK,SAAS;AAC/C;AAEA,SAAgB,mCAAmC,SAAyC;CAC1F,IAAI,CAAC,QAAQ,WAAW,SAAS,KAAK,2BAA2B,OAAO,GACtE,OAAO,CAAC,GAAG,qBAAqB;CAElC,OAAO,sBAAsB,QAAO,UAAS,UAAU,KAAK;AAC9D;AAEA,SAAgB,kBACd,OACA,SAA0C,uBACtB;CACpB,MAAM,QAAQ,MAAM,KAAK,CAAC,CAAC,YAAY;CACvC,IAAI,CAAC,SAAS,UAAU,UAAU,OAAO,EAAE,MAAM,SAAS;CAC1D,IAAI,UAAU,aAAa,UAAU,SAAS,OAAO,EAAE,MAAM,QAAQ;CACrE,MAAM,QAAQ,OAAO,MAAK,cAAa,cAAc,KAAK;CAC1D,OAAO,QAAQ;EAAE,MAAM;EAAO;CAAM,IAAI;EAAE,MAAM;EAAW;EAAO;CAAO;AAC3E;AAEA,SAAgB,4BACd,UACA,MAC8D;CAC9D,MAAM,YAAY,OAAO,SAAS,aAAa,QAAQ,KAAA;CACvD,OAAO,YAAY;EAAE,OAAO;EAAW,QAAQ;CAAe,IAAI;EAAE,OAAO,SAAS;EAAe,QAAQ;CAAS;AACtH"}
1
+ {"version":3,"file":"thinking.js","names":[],"sources":["../src/thinking.ts"],"sourcesContent":["import type { ModelReasoningOption } from '@mastra/core/llm';\nimport {\n ANTHROPIC_THINKING_BUDGET_TOKENS,\n getAnthropicThinkingCapability,\n supportsAnthropicXhighEffort,\n} from './providers/anthropic-thinking.js';\nimport { runGeminiThinkingLevel } from './providers/google-thinking.js';\nimport { normalizeAnthropicModelId, stripMastraGatewayPrefix } from './providers/model-ids.js';\n\nexport type ThinkingLevelSetting = 'off' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';\n\nexport type ActiveThinkingLevel = Exclude<ThinkingLevelSetting, 'off'>;\n\nexport type ThinkingLevelSource = 'mode-default' | 'global';\n\nexport interface ThinkingDefaults {\n globalDefault: ThinkingLevelSetting;\n modeDefaults: Readonly<Record<string, ThinkingLevelSetting>>;\n}\n\nexport const THINKING_LEVEL_VALUES: ThinkingLevelSetting[] = ['off', 'low', 'medium', 'high', 'xhigh', 'max'];\n\nconst ACTIVE_THINKING_LEVELS: ActiveThinkingLevel[] = ['low', 'medium', 'high', 'xhigh', 'max'];\n\nexport const THINK_COMMAND_DESCRIPTOR = {\n name: 'think',\n args: '[status|default|off|low|medium|high|xhigh|max]',\n description: 'Show or set session thinking level',\n};\n\nexport type ThinkCommandAction =\n | { kind: 'status' }\n | { kind: 'clear' }\n | { kind: 'set'; level: ThinkingLevelSetting }\n | { kind: 'invalid'; value: string; levels: readonly ThinkingLevelSetting[] };\n\nconst GPT_VERSION_RE = /^gpt-(\\d+)(?:\\.(\\d+))?/;\n\nexport function isThinkingLevelSetting(value: unknown): value is ThinkingLevelSetting {\n return typeof value === 'string' && THINKING_LEVEL_VALUES.some(level => level === value);\n}\n\nexport function supportsMaxReasoningEffort(modelId: string): boolean {\n const bareModelId = modelId.startsWith('openai/') ? modelId.slice('openai/'.length) : modelId;\n const match = GPT_VERSION_RE.exec(bareModelId);\n if (!match) return false;\n const major = Number(match[1]);\n const minor = Number(match[2] ?? 0);\n return major > 5 || (major === 5 && minor >= 6);\n}\n\nfunction splitProvider(modelId: string): { provider: string; bareModelId: string } {\n const routedModelId = stripMastraGatewayPrefix(modelId);\n const slash = routedModelId.indexOf('/');\n if (slash === -1) return { provider: '', bareModelId: routedModelId };\n return { provider: routedModelId.slice(0, slash), bareModelId: routedModelId.slice(slash + 1) };\n}\n\nfunction offeredEffortLevels(reasoningOptions: readonly ModelReasoningOption[] | undefined): ActiveThinkingLevel[] {\n const effortValues = reasoningOptions?.flatMap(option => (option.type === 'effort' ? option.values : [])) ?? [];\n return ACTIVE_THINKING_LEVELS.filter(level => effortValues.includes(level));\n}\n\nconst TOGGLE_ON_LEVEL: ActiveThinkingLevel = 'high';\n\nfunction onlyTogglesThinking(reasoningOptions: readonly ModelReasoningOption[] | undefined): boolean {\n return !!reasoningOptions?.length && reasoningOptions.every(option => option.type === 'toggle');\n}\n\nfunction closestOfferedEffort(\n level: ActiveThinkingLevel,\n reasoningOptions: readonly ModelReasoningOption[] | undefined,\n): ActiveThinkingLevel | undefined {\n const offered = offeredEffortLevels(reasoningOptions);\n const requestedRank = ACTIVE_THINKING_LEVELS.indexOf(level);\n const atOrBelow = offered.filter(candidate => ACTIVE_THINKING_LEVELS.indexOf(candidate) <= requestedRank);\n return atOrBelow.at(-1) ?? offered[0];\n}\n\nfunction lowestLevelWithSameBudget(level: ActiveThinkingLevel): ActiveThinkingLevel {\n const budget = ANTHROPIC_THINKING_BUDGET_TOKENS[level];\n return ACTIVE_THINKING_LEVELS.find(candidate => ANTHROPIC_THINKING_BUDGET_TOKENS[candidate] === budget) ?? level;\n}\n\nfunction runAnthropicThinkingLevel(\n modelId: string,\n level: ActiveThinkingLevel,\n reasoningOptions: readonly ModelReasoningOption[] | undefined,\n): ThinkingLevelSetting {\n const capability = getAnthropicThinkingCapability(modelId);\n if (capability === 'none') return 'off';\n if (capability === 'budget') return lowestLevelWithSameBudget(level);\n const offeredEffort = closestOfferedEffort(level, reasoningOptions);\n if (offeredEffort) return offeredEffort;\n return level === 'xhigh' && !supportsAnthropicXhighEffort(modelId) ? 'high' : level;\n}\n\nfunction runOpenAIThinkingLevel(\n modelId: string,\n level: ActiveThinkingLevel,\n reasoningOptions: readonly ModelReasoningOption[] | undefined,\n): ActiveThinkingLevel {\n const offeredEffort = closestOfferedEffort(level, reasoningOptions);\n if (offeredEffort) return offeredEffort;\n return level === 'max' && !supportsMaxReasoningEffort(modelId) ? 'xhigh' : level;\n}\n\nexport function runThinkingLevel(\n modelId: string,\n level: ThinkingLevelSetting,\n reasoningOptions: readonly ModelReasoningOption[] | undefined,\n): ThinkingLevelSetting {\n if (level === 'off') return 'off';\n const { provider, bareModelId } = splitProvider(modelId);\n if (provider === 'google') return runGeminiThinkingLevel(bareModelId, level);\n if (provider === 'anthropic') {\n return runAnthropicThinkingLevel(normalizeAnthropicModelId(bareModelId), level, reasoningOptions);\n }\n const listedWithoutReasoningControls = reasoningOptions?.length === 0;\n if (listedWithoutReasoningControls) return 'off';\n if (onlyTogglesThinking(reasoningOptions)) return TOGGLE_ON_LEVEL;\n if (provider === 'openai') return runOpenAIThinkingLevel(bareModelId, level, reasoningOptions);\n return closestOfferedEffort(level, reasoningOptions) ?? level;\n}\n\nexport function getAvailableThinkingLevelsForModel(\n modelId: string,\n reasoningOptions?: readonly ModelReasoningOption[],\n): ThinkingLevelSetting[] {\n return THINKING_LEVEL_VALUES.filter(level => runThinkingLevel(modelId, level, reasoningOptions) === level);\n}\n\nexport function parseThinkCommand(\n input: string,\n levels: readonly ThinkingLevelSetting[] = THINKING_LEVEL_VALUES,\n): ThinkCommandAction {\n const value = input.trim().toLowerCase();\n if (!value || value === 'status') return { kind: 'status' };\n if (value === 'default' || value === 'clear') return { kind: 'clear' };\n const level = levels.find(candidate => candidate === value);\n return level ? { kind: 'set', level } : { kind: 'invalid', value, levels };\n}\n\nexport function resolveDefaultThinkingLevel(\n defaults: ThinkingDefaults,\n mode?: string | null,\n): { level: ThinkingLevelSetting; source: ThinkingLevelSource } {\n const modeLevel = mode ? defaults.modeDefaults[mode] : undefined;\n return modeLevel ? { level: modeLevel, source: 'mode-default' } : { level: defaults.globalDefault, source: 'global' };\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/code-sdk",
3
- "version": "1.11.0",
3
+ "version": "1.12.0-alpha.1",
4
4
  "description": "Mastra Code SDK: the agent core behind Mastra Code (everything except the TUI) — build your own UIs and surfaces on top of it",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -62,20 +62,20 @@
62
62
  "vscode-languageserver-protocol": "^3.17.5",
63
63
  "yaml": "^2.7.1",
64
64
  "zod": "^4.6.4",
65
- "@mastra/core": "1.75.0",
66
- "@mastra/duckdb": "1.13.0",
67
65
  "@mastra/agent-browser": "0.5.3",
68
- "@mastra/github-signals": "0.5.1",
69
- "@mastra/libsql": "1.25.1",
70
- "@mastra/mcp": "2.2.0",
66
+ "@mastra/core": "1.76.0-alpha.1",
67
+ "@mastra/duckdb": "1.14.0-alpha.0",
71
68
  "@mastra/fastembed": "1.3.2",
72
- "@mastra/memory": "1.36.0",
73
- "@mastra/observability": "1.18.4",
69
+ "@mastra/memory": "1.37.0-alpha.0",
70
+ "@mastra/github-signals": "0.5.1",
71
+ "@mastra/mcp": "2.2.1-alpha.0",
72
+ "@mastra/libsql": "1.25.2-alpha.0",
74
73
  "@mastra/parallel": "0.1.2",
75
- "@mastra/pg": "1.30.0",
76
- "@mastra/stagehand": "0.3.5",
74
+ "@mastra/observability": "1.19.0-alpha.0",
75
+ "@mastra/pg": "1.31.0-alpha.1",
77
76
  "@mastra/schema-compat": "1.3.13",
78
- "@mastra/tavily": "1.1.2"
77
+ "@mastra/tavily": "1.1.2",
78
+ "@mastra/stagehand": "0.3.5"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@libsql/client": "^0.18.0",