@mastra/code-sdk 1.12.0-alpha.3 → 1.12.0-alpha.5

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 (51) hide show
  1. package/dist/acp/agent.d.ts.map +1 -1
  2. package/dist/acp/agent.js +0 -6
  3. package/dist/acp/agent.js.map +1 -1
  4. package/dist/acp/runtime.js +1 -1
  5. package/dist/agents/mastracode-gateway.d.ts.map +1 -1
  6. package/dist/agents/mastracode-gateway.js +9 -5
  7. package/dist/agents/mastracode-gateway.js.map +1 -1
  8. package/dist/agents/memory.d.ts +2 -1
  9. package/dist/agents/memory.d.ts.map +1 -1
  10. package/dist/agents/memory.js +92 -34
  11. package/dist/agents/memory.js.map +1 -1
  12. package/dist/agents/model.d.ts +33 -2
  13. package/dist/agents/model.d.ts.map +1 -1
  14. package/dist/agents/model.js +32 -4
  15. package/dist/agents/model.js.map +1 -1
  16. package/dist/index.d.ts +17 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +80 -22
  19. package/dist/index.js.map +1 -1
  20. package/dist/knowledge-inspector.d.ts +4 -0
  21. package/dist/knowledge-inspector.d.ts.map +1 -1
  22. package/dist/knowledge-inspector.js +10 -1
  23. package/dist/knowledge-inspector.js.map +1 -1
  24. package/dist/onboarding/om-settings.d.ts +29 -8
  25. package/dist/onboarding/om-settings.d.ts.map +1 -1
  26. package/dist/onboarding/om-settings.js +42 -15
  27. package/dist/onboarding/om-settings.js.map +1 -1
  28. package/dist/onboarding/packs.d.ts +12 -3
  29. package/dist/onboarding/packs.d.ts.map +1 -1
  30. package/dist/onboarding/packs.js +20 -2
  31. package/dist/onboarding/packs.js.map +1 -1
  32. package/dist/onboarding/settings.d.ts +5 -0
  33. package/dist/onboarding/settings.d.ts.map +1 -1
  34. package/dist/onboarding/settings.js +7 -2
  35. package/dist/onboarding/settings.js.map +1 -1
  36. package/dist/providers/claude-max.js +1 -1
  37. package/dist/providers/deepseek-thinking.d.ts +4 -0
  38. package/dist/providers/deepseek-thinking.d.ts.map +1 -0
  39. package/dist/providers/deepseek-thinking.js +16 -0
  40. package/dist/providers/deepseek-thinking.js.map +1 -0
  41. package/dist/providers/openai-codex.js +1 -1
  42. package/dist/providers/provider-thinking.d.ts +18 -0
  43. package/dist/providers/provider-thinking.d.ts.map +1 -0
  44. package/dist/providers/provider-thinking.js +34 -0
  45. package/dist/providers/provider-thinking.js.map +1 -0
  46. package/dist/schema.d.ts +199 -6
  47. package/dist/schema.d.ts.map +1 -1
  48. package/dist/schema.js +10 -4
  49. package/dist/schema.js.map +1 -1
  50. package/dist/thinking.js +1 -1
  51. package/package.json +11 -11
package/dist/schema.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { OMModel } from '@mastra/core/agent-controller';
1
2
  import { z } from 'zod';
2
3
  import type { ThinkingLevelSetting } from './thinking.js';
3
4
  export type PermissionPolicy = 'allow' | 'ask' | 'deny';
@@ -67,8 +68,10 @@ export interface MastraCodeState {
67
68
  homeDir?: string;
68
69
  gitBranch?: string;
69
70
  lastCommand?: string;
70
- observerModelId: string;
71
- reflectorModelId: string;
71
+ observerModelId?: string;
72
+ reflectorModelId?: string;
73
+ observerModelSelection: OMModel;
74
+ reflectorModelSelection: OMModel;
72
75
  observationThreshold: number;
73
76
  reflectionThreshold: number;
74
77
  cavemanObservations: boolean;
@@ -134,7 +137,7 @@ export interface MastraCodeState {
134
137
  viaCodexOAuth: boolean;
135
138
  };
136
139
  }
137
- export declare const stateSchema: z.ZodObject<{
140
+ export declare const stateSchema: z.ZodPipe<z.ZodObject<{
138
141
  currentModelId: z.ZodOptional<z.ZodString>;
139
142
  modeId: z.ZodOptional<z.ZodString>;
140
143
  modelRoute: z.ZodOptional<z.ZodObject<{
@@ -161,8 +164,10 @@ export declare const stateSchema: z.ZodObject<{
161
164
  homeDir: z.ZodOptional<z.ZodString>;
162
165
  gitBranch: z.ZodOptional<z.ZodString>;
163
166
  lastCommand: z.ZodOptional<z.ZodString>;
164
- observerModelId: z.ZodDefault<z.ZodString>;
165
- reflectorModelId: z.ZodDefault<z.ZodString>;
167
+ observerModelId: z.ZodOptional<z.ZodString>;
168
+ reflectorModelId: z.ZodOptional<z.ZodString>;
169
+ observerModelSelection: z.ZodOptional<z.ZodString>;
170
+ reflectorModelSelection: z.ZodOptional<z.ZodString>;
166
171
  observationThreshold: z.ZodDefault<z.ZodNumber>;
167
172
  reflectionThreshold: z.ZodDefault<z.ZodNumber>;
168
173
  cavemanObservations: z.ZodDefault<z.ZodBoolean>;
@@ -270,5 +275,193 @@ export declare const stateSchema: z.ZodObject<{
270
275
  }>;
271
276
  viaCodexOAuth: z.ZodBoolean;
272
277
  }, z.core.$strip>>;
273
- }, z.core.$strip>;
278
+ }, z.core.$strip>, z.ZodTransform<{
279
+ observerModelSelection: string;
280
+ reflectorModelSelection: string;
281
+ configDir: string;
282
+ observationThreshold: number;
283
+ reflectionThreshold: number;
284
+ cavemanObservations: boolean;
285
+ observeAttachments: boolean | "auto";
286
+ yolo: boolean;
287
+ permissionRules: {
288
+ categories: Record<string, "allow" | "ask" | "deny">;
289
+ tools: Record<string, "allow" | "ask" | "deny">;
290
+ };
291
+ smartEditing: boolean;
292
+ notifications: "off" | "bell" | "system" | "both";
293
+ tasks: {
294
+ content: string;
295
+ status: "pending" | "in_progress" | "completed";
296
+ activeForm: string;
297
+ id?: string | undefined;
298
+ }[];
299
+ sandboxAllowedPaths: string[];
300
+ pluginSkillPaths: string[];
301
+ pluginCommandPaths: string[];
302
+ pluginInstructions: string[];
303
+ activePlan: {
304
+ title: string;
305
+ plan: string;
306
+ approvedAt: string;
307
+ } | null;
308
+ currentModelId?: string | undefined;
309
+ modeId?: string | undefined;
310
+ modelRoute?: {
311
+ entries: {
312
+ id: string;
313
+ label: string;
314
+ modelId: string;
315
+ accountId?: string | undefined;
316
+ memoryModelId?: string | undefined;
317
+ }[];
318
+ } | undefined;
319
+ subagentModelId?: string | undefined;
320
+ projectPath?: string | undefined;
321
+ projectName?: string | undefined;
322
+ factoryProjectId?: string | undefined;
323
+ factoryOrgId?: string | undefined;
324
+ factoryOrgUnresolved?: boolean | undefined;
325
+ projectRepositoryId?: string | undefined;
326
+ branch?: string | undefined;
327
+ untrustedCheckout?: boolean | undefined;
328
+ baseRef?: string | undefined;
329
+ skipGlobalInstructions?: boolean | undefined;
330
+ homeDir?: string | undefined;
331
+ gitBranch?: string | undefined;
332
+ lastCommand?: string | undefined;
333
+ observerModelId?: string | undefined;
334
+ reflectorModelId?: string | undefined;
335
+ omScope?: "thread" | "resource" | undefined;
336
+ thinkingLevel?: "off" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
337
+ mastracodePendingModelFallback?: {
338
+ fromEntryId: string;
339
+ toEntryId: string;
340
+ toModelId: string;
341
+ reason: "pool-exhausted" | "persistent-outage";
342
+ at: string;
343
+ threadId?: string | undefined;
344
+ } | null | undefined;
345
+ activeBrowserSettings?: {
346
+ enabled: boolean;
347
+ provider: "stagehand" | "agent-browser";
348
+ headless?: boolean | undefined;
349
+ viewport?: "window" | {
350
+ width: number;
351
+ height: number;
352
+ } | undefined;
353
+ cdpUrl?: string | undefined;
354
+ profile?: string | undefined;
355
+ executablePath?: string | undefined;
356
+ scope?: "thread" | "shared" | undefined;
357
+ stagehand?: {
358
+ env: "LOCAL" | "BROWSERBASE";
359
+ projectId?: string | undefined;
360
+ model?: string | undefined;
361
+ preserveUserDataDir?: boolean | undefined;
362
+ } | undefined;
363
+ agentBrowser?: {
364
+ storageState?: string | undefined;
365
+ } | undefined;
366
+ } | undefined;
367
+ activeBrowserModel?: {
368
+ source: "settings" | "chat-model" | "codex-oauth" | "stagehand-default";
369
+ viaCodexOAuth: boolean;
370
+ modelName?: string | undefined;
371
+ } | undefined;
372
+ }, {
373
+ configDir: string;
374
+ observationThreshold: number;
375
+ reflectionThreshold: number;
376
+ cavemanObservations: boolean;
377
+ observeAttachments: boolean | "auto";
378
+ yolo: boolean;
379
+ permissionRules: {
380
+ categories: Record<string, "allow" | "ask" | "deny">;
381
+ tools: Record<string, "allow" | "ask" | "deny">;
382
+ };
383
+ smartEditing: boolean;
384
+ notifications: "off" | "bell" | "system" | "both";
385
+ tasks: {
386
+ content: string;
387
+ status: "pending" | "in_progress" | "completed";
388
+ activeForm: string;
389
+ id?: string | undefined;
390
+ }[];
391
+ sandboxAllowedPaths: string[];
392
+ pluginSkillPaths: string[];
393
+ pluginCommandPaths: string[];
394
+ pluginInstructions: string[];
395
+ activePlan: {
396
+ title: string;
397
+ plan: string;
398
+ approvedAt: string;
399
+ } | null;
400
+ currentModelId?: string | undefined;
401
+ modeId?: string | undefined;
402
+ modelRoute?: {
403
+ entries: {
404
+ id: string;
405
+ label: string;
406
+ modelId: string;
407
+ accountId?: string | undefined;
408
+ memoryModelId?: string | undefined;
409
+ }[];
410
+ } | undefined;
411
+ subagentModelId?: string | undefined;
412
+ projectPath?: string | undefined;
413
+ projectName?: string | undefined;
414
+ factoryProjectId?: string | undefined;
415
+ factoryOrgId?: string | undefined;
416
+ factoryOrgUnresolved?: boolean | undefined;
417
+ projectRepositoryId?: string | undefined;
418
+ branch?: string | undefined;
419
+ untrustedCheckout?: boolean | undefined;
420
+ baseRef?: string | undefined;
421
+ skipGlobalInstructions?: boolean | undefined;
422
+ homeDir?: string | undefined;
423
+ gitBranch?: string | undefined;
424
+ lastCommand?: string | undefined;
425
+ observerModelId?: string | undefined;
426
+ reflectorModelId?: string | undefined;
427
+ observerModelSelection?: string | undefined;
428
+ reflectorModelSelection?: string | undefined;
429
+ omScope?: "thread" | "resource" | undefined;
430
+ thinkingLevel?: "off" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
431
+ mastracodePendingModelFallback?: {
432
+ fromEntryId: string;
433
+ toEntryId: string;
434
+ toModelId: string;
435
+ reason: "pool-exhausted" | "persistent-outage";
436
+ at: string;
437
+ threadId?: string | undefined;
438
+ } | null | undefined;
439
+ activeBrowserSettings?: {
440
+ enabled: boolean;
441
+ provider: "stagehand" | "agent-browser";
442
+ headless?: boolean | undefined;
443
+ viewport?: "window" | {
444
+ width: number;
445
+ height: number;
446
+ } | undefined;
447
+ cdpUrl?: string | undefined;
448
+ profile?: string | undefined;
449
+ executablePath?: string | undefined;
450
+ scope?: "thread" | "shared" | undefined;
451
+ stagehand?: {
452
+ env: "LOCAL" | "BROWSERBASE";
453
+ projectId?: string | undefined;
454
+ model?: string | undefined;
455
+ preserveUserDataDir?: boolean | undefined;
456
+ } | undefined;
457
+ agentBrowser?: {
458
+ storageState?: string | undefined;
459
+ } | undefined;
460
+ } | undefined;
461
+ activeBrowserModel?: {
462
+ source: "settings" | "chat-model" | "codex-oauth" | "stagehand-default";
463
+ viaCodexOAuth: boolean;
464
+ modelName?: string | undefined;
465
+ } | undefined;
466
+ }>>;
274
467
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEFAULT_CONFIG_DIR, DEFAULT_OM_MODEL_ID } from "./constants.js";
1
+ import { DEFAULT_CONFIG_DIR } from "./constants.js";
2
2
  import { THINKING_LEVEL_VALUES } from "./thinking.js";
3
3
  import { z } from "zod";
4
4
  //#region src/schema.ts
@@ -27,8 +27,10 @@ const stateSchema = z.object({
27
27
  homeDir: z.string().optional(),
28
28
  gitBranch: z.string().optional(),
29
29
  lastCommand: z.string().optional(),
30
- observerModelId: z.string().default(DEFAULT_OM_MODEL_ID),
31
- reflectorModelId: z.string().default(DEFAULT_OM_MODEL_ID),
30
+ observerModelId: z.string().optional(),
31
+ reflectorModelId: z.string().optional(),
32
+ observerModelSelection: z.string().optional(),
33
+ reflectorModelSelection: z.string().optional(),
32
34
  observationThreshold: z.number().default(3e4),
33
35
  reflectionThreshold: z.number().default(4e4),
34
36
  cavemanObservations: z.boolean().default(false),
@@ -115,7 +117,11 @@ const stateSchema = z.object({
115
117
  ]),
116
118
  viaCodexOAuth: z.boolean()
117
119
  }).optional()
118
- });
120
+ }).transform((state) => ({
121
+ ...state,
122
+ observerModelSelection: state.observerModelSelection ?? state.observerModelId ?? "auto",
123
+ reflectorModelSelection: state.reflectorModelSelection ?? state.reflectorModelId ?? "auto"
124
+ }));
119
125
  //#endregion
120
126
  export { stateSchema };
121
127
 
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":[],"sources":["../src/schema.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n DEFAULT_CONFIG_DIR,\n DEFAULT_OM_MODEL_ID,\n MODEL_ROUTE_MAX_ENTRIES,\n MODEL_ROUTE_MAX_FIELD_LENGTH,\n} from './constants.js';\nimport { THINKING_LEVEL_VALUES } from './thinking.js';\nimport type { ThinkingLevelSetting } from './thinking.js';\n\nexport type PermissionPolicy = 'allow' | 'ask' | 'deny';\n\nexport type MastraCodeSessionState = {\n currentModelId: string;\n modeId: string;\n};\n\nexport type MastraCodeComposedState = MastraCodeState & MastraCodeSessionState;\n\nexport interface ModelRouteEntry {\n id: string;\n label: string;\n modelId: string;\n accountId?: string;\n memoryModelId?: string;\n}\n\nexport interface ModelRoute {\n entries: ModelRouteEntry[];\n}\n\nexport interface PendingModelFallback {\n fromEntryId: string;\n toEntryId: string;\n toModelId: string;\n threadId?: string;\n reason: 'pool-exhausted' | 'persistent-outage';\n at: string;\n}\n\nexport interface MastraCodeState {\n [key: string]: unknown;\n [key: `subagentModelId_${string}`]: string | undefined;\n subagentModelId?: string;\n projectPath?: string;\n projectName?: string;\n /** Factory project that owns this session. */\n factoryProjectId?: string;\n /** Authoritative organization id seeded by factory at session construction. */\n factoryOrgId?: string;\n /**\n * Factory owns this session but could not resolve its organization. Knowledge\n * capture refuses rather than filing under a substituted identity; without the\n * marker a projectless factory session is indistinguishable from a local one.\n */\n factoryOrgUnresolved?: boolean;\n /** Linked repository used by this session when source-control execution is required. */\n projectRepositoryId?: string;\n /** Active feature branch checked out in the session workdir. */\n branch?: string;\n /**\n * The session's checkout contains third-party content (e.g. a PR branch\n * under review). Project-level instruction files (AGENTS.md, CLAUDE.md)\n * are attacker-writable there and must not be ingested into the system\n * prompt or injected as reminders.\n */\n untrustedCheckout?: boolean;\n /**\n * Trusted git ref (typically the PR's base branch) to serve project\n * instruction files from when the checkout is untrusted. Without it,\n * project-scope instruction files are skipped entirely.\n */\n baseRef?: string;\n /**\n * Skip the home-directory instruction files (~/.claude/AGENTS.md and\n * friends). Hosts running sessions for someone else set this so a run never\n * inherits the machine owner's personal configuration.\n */\n skipGlobalInstructions?: boolean;\n configDir: string;\n homeDir?: string;\n gitBranch?: string;\n lastCommand?: string;\n observerModelId: string;\n reflectorModelId: string;\n observationThreshold: number;\n reflectionThreshold: number;\n cavemanObservations: boolean;\n observeAttachments: 'auto' | boolean;\n omScope?: 'thread' | 'resource';\n /** Ordered host-supplied model and account fallback route for this thread. */\n modelRoute?: ModelRoute;\n /** One-hop fallback intent written by account rotation and consumed by the host. */\n mastracodePendingModelFallback?: PendingModelFallback | null;\n /**\n * Session-level reasoning-effort override. When unset, the effective level is\n * resolved at request time from settings (`models.modeThinkingDefaults[mode]`\n * falling back to `preferences.thinkingLevel`).\n */\n thinkingLevel?: ThinkingLevelSetting;\n yolo: boolean;\n permissionRules: {\n categories: Record<string, PermissionPolicy>;\n tools: Record<string, PermissionPolicy>;\n };\n smartEditing: boolean;\n notifications: 'bell' | 'system' | 'both' | 'off';\n tasks: Array<{\n id?: string;\n content: string;\n status: 'pending' | 'in_progress' | 'completed';\n activeForm: string;\n }>;\n sandboxAllowedPaths: string[];\n pluginSkillPaths: string[];\n pluginCommandPaths: string[];\n pluginInstructions: string[];\n activePlan: {\n title: string;\n plan: string;\n approvedAt: string;\n } | null;\n activeBrowserSettings?: {\n enabled: boolean;\n provider: 'stagehand' | 'agent-browser';\n headless?: boolean;\n viewport?: { width: number; height: number } | 'window';\n cdpUrl?: string;\n profile?: string;\n executablePath?: string;\n scope?: 'shared' | 'thread';\n stagehand?: {\n env: 'LOCAL' | 'BROWSERBASE';\n projectId?: string;\n model?: string;\n preserveUserDataDir?: boolean;\n };\n agentBrowser?: {\n storageState?: string;\n };\n };\n activeBrowserModel?: {\n modelName?: string;\n source: 'settings' | 'chat-model' | 'codex-oauth' | 'stagehand-default';\n viaCodexOAuth: boolean;\n };\n}\n\nexport const stateSchema = z.object({\n // Session-scoped selection. The controller validates state against this\n // schema, so these keys must be declared here — Zod strips unknown keys.\n currentModelId: z.string().optional(),\n modeId: z.string().optional(),\n modelRoute: z\n .object({\n entries: z\n .array(\n z.object({\n id: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n label: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n modelId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n accountId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH).optional(),\n memoryModelId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH).optional(),\n }),\n )\n .max(MODEL_ROUTE_MAX_ENTRIES),\n })\n .optional(),\n subagentModelId: z.string().optional(),\n projectPath: z.string().optional(),\n projectName: z.string().optional(),\n factoryProjectId: z.string().optional(),\n factoryOrgId: z.string().optional(),\n factoryOrgUnresolved: z.boolean().optional(),\n projectRepositoryId: z.string().optional(),\n branch: z.string().optional(),\n // Session operates on an untrusted checkout — suppress AGENTS.md ingestion.\n untrustedCheckout: z.boolean().optional(),\n // Trusted ref to serve instruction files from on untrusted checkouts.\n baseRef: z.string().optional(),\n // Skip the operator machine's home-directory instruction files.\n skipGlobalInstructions: z.boolean().optional(),\n configDir: z.string().default(DEFAULT_CONFIG_DIR),\n homeDir: z.string().optional(),\n gitBranch: z.string().optional(),\n lastCommand: z.string().optional(),\n // Observational Memory model settings\n observerModelId: z.string().default(DEFAULT_OM_MODEL_ID),\n reflectorModelId: z.string().default(DEFAULT_OM_MODEL_ID),\n // Observational Memory threshold settings\n observationThreshold: z.number().default(30_000),\n reflectionThreshold: z.number().default(40_000),\n // Whether observations and reflections use the terse caveman-style instruction.\n // Off by default — caveman style is opt-in via `/om` settings; observers and\n // reflectors fall back to their built-in (prose) behavior unless enabled.\n cavemanObservations: z.boolean().default(false),\n // Whether OM forwards image/file attachment parts to the Observer LLM.\n // 'auto' (default) checks the provider capabilities registry to decide.\n // true/false forces the setting regardless of model capabilities.\n observeAttachments: z.union([z.literal('auto'), z.boolean()]).default('auto'),\n // Observational Memory scope — 'thread' (per-conversation) or 'resource' (shared across threads)\n omScope: z.enum(['thread', 'resource']).optional(),\n // Thinking level for model reasoning effort. Optional: absent means \"no\n // session override\" — the effective level is resolved from settings\n // (per-mode defaults, then the global preference) at request time.\n thinkingLevel: z.preprocess(value => (value === null ? undefined : value), z.enum(THINKING_LEVEL_VALUES).optional()),\n // YOLO mode — auto-approve all tool calls\n yolo: z.boolean().default(false),\n // Permission rules — per-category and per-tool approval policies\n permissionRules: z\n .object({\n categories: z.record(z.string(), z.enum(['allow', 'ask', 'deny'])).default({}),\n tools: z.record(z.string(), z.enum(['allow', 'ask', 'deny'])).default({}),\n })\n .default({ categories: {}, tools: {} }),\n // Smart editing mode — use AST-based analysis for code edits\n smartEditing: z.boolean().default(true),\n // Notification mode — alert when TUI needs user attention\n notifications: z.enum(['bell', 'system', 'both', 'off']).default('off'),\n // Task list (ephemeral per-thread, cleared on thread switch/creation)\n tasks: z\n .array(\n z.object({\n id: z.string().optional(),\n content: z.string(),\n status: z.enum(['pending', 'in_progress', 'completed']),\n activeForm: z.string(),\n }),\n )\n .default([]),\n // Sandbox allowed paths (per-thread, absolute paths allowed in addition to project root)\n sandboxAllowedPaths: z.array(z.string()).default([]),\n // Pending route hop written by account rotation. The host consumes it on\n // `state_changed` to apply thread stickiness, then clears it back to null.\n mastracodePendingModelFallback: z\n .object({\n fromEntryId: z.string(),\n toEntryId: z.string(),\n toModelId: z.string(),\n threadId: z.string().optional(),\n reason: z.enum(['pool-exhausted', 'persistent-outage']),\n at: z.string(),\n })\n .nullish(),\n // Asset directories contributed by active plugins.\n pluginSkillPaths: z.array(z.string()).default([]),\n pluginCommandPaths: z.array(z.string()).default([]),\n pluginInstructions: z.array(z.string()).default([]),\n // Active plan (set when a plan is approved in Plan mode)\n activePlan: z\n .object({\n title: z.string(),\n plan: z.string(),\n approvedAt: z.string(),\n })\n .nullable()\n .default(null),\n // Active browser settings (tracks what's actually running vs. what's in the settings file)\n activeBrowserSettings: z\n .object({\n enabled: z.boolean(),\n provider: z.enum(['stagehand', 'agent-browser']),\n headless: z.boolean().optional(),\n viewport: z\n .union([\n z.object({\n width: z.number(),\n height: z.number(),\n }),\n z.literal('window'),\n ])\n .optional(),\n cdpUrl: z.string().optional(),\n profile: z.string().optional(),\n executablePath: z.string().optional(),\n scope: z.enum(['shared', 'thread']).optional(),\n stagehand: z\n .object({\n env: z.enum(['LOCAL', 'BROWSERBASE']),\n projectId: z.string().optional(),\n model: z.string().optional(),\n preserveUserDataDir: z.boolean().optional(),\n })\n .optional(),\n agentBrowser: z\n .object({\n storageState: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n // Model the active Stagehand browser was created with. Resolved once at\n // launch so /browser status reports what is really running even if the\n // user signs in/out of Codex afterwards.\n activeBrowserModel: z\n .object({\n modelName: z.string().optional(),\n source: z.enum(['settings', 'chat-model', 'codex-oauth', 'stagehand-default']),\n viaCodexOAuth: z.boolean(),\n })\n .optional(),\n});\n"],"mappings":";;;;AAoJA,MAAa,cAAc,EAAE,OAAO;CAGlC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS;CACpC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,YAAY,EACT,OAAO,EACN,SAAS,EACN,MACC,EAAE,OAAO;EACP,IAAI,EAAE,OAAO,CAAC,CAAC,IAAA,GAAgC;EAC/C,OAAO,EAAE,OAAO,CAAC,CAAC,IAAA,GAAgC;EAClD,SAAS,EAAE,OAAO,CAAC,CAAC,IAAA,GAAgC;EACpD,WAAW,EAAE,OAAO,CAAC,CAAC,IAAA,GAAgC,CAAC,CAAC,SAAS;EACjE,eAAe,EAAE,OAAO,CAAC,CAAC,IAAA,GAAgC,CAAC,CAAC,SAAS;CACvE,CAAC,CACH,CAAC,CACA,IAAA,EAA2B,EAChC,CAAC,CAAC,CACD,SAAS;CACZ,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS;CACrC,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS;CACtC,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS;CAClC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC3C,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS;CACzC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;CAE5B,mBAAmB,EAAE,QAAQ,CAAC,CAAC,SAAS;CAExC,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAE7B,wBAAwB,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC7C,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,kBAAkB;CAChD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CAEjC,iBAAiB,EAAE,OAAO,CAAC,CAAC,QAAQ,mBAAmB;CACvD,kBAAkB,EAAE,OAAO,CAAC,CAAC,QAAQ,mBAAmB;CAExD,sBAAsB,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAM;CAC/C,qBAAqB,EAAE,OAAO,CAAC,CAAC,QAAQ,GAAM;CAI9C,qBAAqB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK;CAI9C,oBAAoB,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAM;CAE5E,SAAS,EAAE,KAAK,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS;CAIjD,eAAe,EAAE,YAAW,UAAU,UAAU,OAAO,KAAA,IAAY,OAAQ,EAAE,KAAK,qBAAqB,CAAC,CAAC,SAAS,CAAC;CAEnH,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK;CAE/B,iBAAiB,EACd,OAAO;EACN,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,KAAK;GAAC;GAAS;GAAO;EAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;EAC7E,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,KAAK;GAAC;GAAS;GAAO;EAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC1E,CAAC,CAAC,CACD,QAAQ;EAAE,YAAY,CAAC;EAAG,OAAO,CAAC;CAAE,CAAC;CAExC,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAEtC,eAAe,EAAE,KAAK;EAAC;EAAQ;EAAU;EAAQ;CAAK,CAAC,CAAC,CAAC,QAAQ,KAAK;CAEtE,OAAO,EACJ,MACC,EAAE,OAAO;EACP,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS;EACxB,SAAS,EAAE,OAAO;EAClB,QAAQ,EAAE,KAAK;GAAC;GAAW;GAAe;EAAW,CAAC;EACtD,YAAY,EAAE,OAAO;CACvB,CAAC,CACH,CAAC,CACA,QAAQ,CAAC,CAAC;CAEb,qBAAqB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAGnD,gCAAgC,EAC7B,OAAO;EACN,aAAa,EAAE,OAAO;EACtB,WAAW,EAAE,OAAO;EACpB,WAAW,EAAE,OAAO;EACpB,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS;EAC9B,QAAQ,EAAE,KAAK,CAAC,kBAAkB,mBAAmB,CAAC;EACtD,IAAI,EAAE,OAAO;CACf,CAAC,CAAC,CACD,QAAQ;CAEX,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChD,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAClD,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAElD,YAAY,EACT,OAAO;EACN,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,OAAO;EACf,YAAY,EAAE,OAAO;CACvB,CAAC,CAAC,CACD,SAAS,CAAC,CACV,QAAQ,IAAI;CAEf,uBAAuB,EACpB,OAAO;EACN,SAAS,EAAE,QAAQ;EACnB,UAAU,EAAE,KAAK,CAAC,aAAa,eAAe,CAAC;EAC/C,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS;EAC/B,UAAU,EACP,MAAM,CACL,EAAE,OAAO;GACP,OAAO,EAAE,OAAO;GAChB,QAAQ,EAAE,OAAO;EACnB,CAAC,GACD,EAAE,QAAQ,QAAQ,CACpB,CAAC,CAAC,CACD,SAAS;EACZ,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS;EAC5B,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;EAC7B,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS;EACpC,OAAO,EAAE,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,SAAS;EAC7C,WAAW,EACR,OAAO;GACN,KAAK,EAAE,KAAK,CAAC,SAAS,aAAa,CAAC;GACpC,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;GAC/B,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;GAC3B,qBAAqB,EAAE,QAAQ,CAAC,CAAC,SAAS;EAC5C,CAAC,CAAC,CACD,SAAS;EACZ,cAAc,EACX,OAAO,EACN,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,EACpC,CAAC,CAAC,CACD,SAAS;CACd,CAAC,CAAC,CACD,SAAS;CAIZ,oBAAoB,EACjB,OAAO;EACN,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;EAC/B,QAAQ,EAAE,KAAK;GAAC;GAAY;GAAc;GAAe;EAAmB,CAAC;EAC7E,eAAe,EAAE,QAAQ;CAC3B,CAAC,CAAC,CACD,SAAS;AACd,CAAC"}
1
+ {"version":3,"file":"schema.js","names":[],"sources":["../src/schema.ts"],"sourcesContent":["import type { OMModel } from '@mastra/core/agent-controller';\nimport { z } from 'zod';\nimport { DEFAULT_CONFIG_DIR, MODEL_ROUTE_MAX_ENTRIES, MODEL_ROUTE_MAX_FIELD_LENGTH } from './constants.js';\nimport { THINKING_LEVEL_VALUES } from './thinking.js';\nimport type { ThinkingLevelSetting } from './thinking.js';\n\nexport type PermissionPolicy = 'allow' | 'ask' | 'deny';\n\nexport type MastraCodeSessionState = {\n currentModelId: string;\n modeId: string;\n};\n\nexport type MastraCodeComposedState = MastraCodeState & MastraCodeSessionState;\n\nexport interface ModelRouteEntry {\n id: string;\n label: string;\n modelId: string;\n accountId?: string;\n memoryModelId?: string;\n}\n\nexport interface ModelRoute {\n entries: ModelRouteEntry[];\n}\n\nexport interface PendingModelFallback {\n fromEntryId: string;\n toEntryId: string;\n toModelId: string;\n threadId?: string;\n reason: 'pool-exhausted' | 'persistent-outage';\n at: string;\n}\n\nexport interface MastraCodeState {\n [key: string]: unknown;\n [key: `subagentModelId_${string}`]: string | undefined;\n subagentModelId?: string;\n projectPath?: string;\n projectName?: string;\n /** Factory project that owns this session. */\n factoryProjectId?: string;\n /** Authoritative organization id seeded by factory at session construction. */\n factoryOrgId?: string;\n /**\n * Factory owns this session but could not resolve its organization. Knowledge\n * capture refuses rather than filing under a substituted identity; without the\n * marker a projectless factory session is indistinguishable from a local one.\n */\n factoryOrgUnresolved?: boolean;\n /** Linked repository used by this session when source-control execution is required. */\n projectRepositoryId?: string;\n /** Active feature branch checked out in the session workdir. */\n branch?: string;\n /**\n * The session's checkout contains third-party content (e.g. a PR branch\n * under review). Project-level instruction files (AGENTS.md, CLAUDE.md)\n * are attacker-writable there and must not be ingested into the system\n * prompt or injected as reminders.\n */\n untrustedCheckout?: boolean;\n /**\n * Trusted git ref (typically the PR's base branch) to serve project\n * instruction files from when the checkout is untrusted. Without it,\n * project-scope instruction files are skipped entirely.\n */\n baseRef?: string;\n /**\n * Skip the home-directory instruction files (~/.claude/AGENTS.md and\n * friends). Hosts running sessions for someone else set this so a run never\n * inherits the machine owner's personal configuration.\n */\n skipGlobalInstructions?: boolean;\n configDir: string;\n homeDir?: string;\n gitBranch?: string;\n lastCommand?: string;\n observerModelId?: string;\n reflectorModelId?: string;\n observerModelSelection: OMModel;\n reflectorModelSelection: OMModel;\n observationThreshold: number;\n reflectionThreshold: number;\n cavemanObservations: boolean;\n observeAttachments: 'auto' | boolean;\n omScope?: 'thread' | 'resource';\n /** Ordered host-supplied model and account fallback route for this thread. */\n modelRoute?: ModelRoute;\n /** One-hop fallback intent written by account rotation and consumed by the host. */\n mastracodePendingModelFallback?: PendingModelFallback | null;\n /**\n * Session-level reasoning-effort override. When unset, the effective level is\n * resolved at request time from settings (`models.modeThinkingDefaults[mode]`\n * falling back to `preferences.thinkingLevel`).\n */\n thinkingLevel?: ThinkingLevelSetting;\n yolo: boolean;\n permissionRules: {\n categories: Record<string, PermissionPolicy>;\n tools: Record<string, PermissionPolicy>;\n };\n smartEditing: boolean;\n notifications: 'bell' | 'system' | 'both' | 'off';\n tasks: Array<{\n id?: string;\n content: string;\n status: 'pending' | 'in_progress' | 'completed';\n activeForm: string;\n }>;\n sandboxAllowedPaths: string[];\n pluginSkillPaths: string[];\n pluginCommandPaths: string[];\n pluginInstructions: string[];\n activePlan: {\n title: string;\n plan: string;\n approvedAt: string;\n } | null;\n activeBrowserSettings?: {\n enabled: boolean;\n provider: 'stagehand' | 'agent-browser';\n headless?: boolean;\n viewport?: { width: number; height: number } | 'window';\n cdpUrl?: string;\n profile?: string;\n executablePath?: string;\n scope?: 'shared' | 'thread';\n stagehand?: {\n env: 'LOCAL' | 'BROWSERBASE';\n projectId?: string;\n model?: string;\n preserveUserDataDir?: boolean;\n };\n agentBrowser?: {\n storageState?: string;\n };\n };\n activeBrowserModel?: {\n modelName?: string;\n source: 'settings' | 'chat-model' | 'codex-oauth' | 'stagehand-default';\n viaCodexOAuth: boolean;\n };\n}\n\nexport const stateSchema = z\n .object({\n // Session-scoped selection. The controller validates state against this\n // schema, so these keys must be declared here — Zod strips unknown keys.\n currentModelId: z.string().optional(),\n modeId: z.string().optional(),\n modelRoute: z\n .object({\n entries: z\n .array(\n z.object({\n id: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n label: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n modelId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH),\n accountId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH).optional(),\n memoryModelId: z.string().max(MODEL_ROUTE_MAX_FIELD_LENGTH).optional(),\n }),\n )\n .max(MODEL_ROUTE_MAX_ENTRIES),\n })\n .optional(),\n subagentModelId: z.string().optional(),\n projectPath: z.string().optional(),\n projectName: z.string().optional(),\n factoryProjectId: z.string().optional(),\n factoryOrgId: z.string().optional(),\n factoryOrgUnresolved: z.boolean().optional(),\n projectRepositoryId: z.string().optional(),\n branch: z.string().optional(),\n // Session operates on an untrusted checkout — suppress AGENTS.md ingestion.\n untrustedCheckout: z.boolean().optional(),\n // Trusted ref to serve instruction files from on untrusted checkouts.\n baseRef: z.string().optional(),\n // Skip the operator machine's home-directory instruction files.\n skipGlobalInstructions: z.boolean().optional(),\n configDir: z.string().default(DEFAULT_CONFIG_DIR),\n homeDir: z.string().optional(),\n gitBranch: z.string().optional(),\n lastCommand: z.string().optional(),\n // Observational Memory model settings. Concrete IDs are legacy/explicit\n // compatibility fields; fresh sessions preserve auto selection intent.\n observerModelId: z.string().optional(),\n reflectorModelId: z.string().optional(),\n observerModelSelection: z.string().optional(),\n reflectorModelSelection: z.string().optional(),\n // Observational Memory threshold settings\n observationThreshold: z.number().default(30_000),\n reflectionThreshold: z.number().default(40_000),\n // Whether observations and reflections use the terse caveman-style instruction.\n // Off by default — caveman style is opt-in via `/om` settings; observers and\n // reflectors fall back to their built-in (prose) behavior unless enabled.\n cavemanObservations: z.boolean().default(false),\n // Whether OM forwards image/file attachment parts to the Observer LLM.\n // 'auto' (default) checks the provider capabilities registry to decide.\n // true/false forces the setting regardless of model capabilities.\n observeAttachments: z.union([z.literal('auto'), z.boolean()]).default('auto'),\n // Observational Memory scope — 'thread' (per-conversation) or 'resource' (shared across threads)\n omScope: z.enum(['thread', 'resource']).optional(),\n // Thinking level for model reasoning effort. Optional: absent means \"no\n // session override\" — the effective level is resolved from settings\n // (per-mode defaults, then the global preference) at request time.\n thinkingLevel: z.preprocess(\n value => (value === null ? undefined : value),\n z.enum(THINKING_LEVEL_VALUES).optional(),\n ),\n // YOLO mode — auto-approve all tool calls\n yolo: z.boolean().default(false),\n // Permission rules — per-category and per-tool approval policies\n permissionRules: z\n .object({\n categories: z.record(z.string(), z.enum(['allow', 'ask', 'deny'])).default({}),\n tools: z.record(z.string(), z.enum(['allow', 'ask', 'deny'])).default({}),\n })\n .default({ categories: {}, tools: {} }),\n // Smart editing mode — use AST-based analysis for code edits\n smartEditing: z.boolean().default(true),\n // Notification mode — alert when TUI needs user attention\n notifications: z.enum(['bell', 'system', 'both', 'off']).default('off'),\n // Task list (ephemeral per-thread, cleared on thread switch/creation)\n tasks: z\n .array(\n z.object({\n id: z.string().optional(),\n content: z.string(),\n status: z.enum(['pending', 'in_progress', 'completed']),\n activeForm: z.string(),\n }),\n )\n .default([]),\n // Sandbox allowed paths (per-thread, absolute paths allowed in addition to project root)\n sandboxAllowedPaths: z.array(z.string()).default([]),\n // Pending route hop written by account rotation. The host consumes it on\n // `state_changed` to apply thread stickiness, then clears it back to null.\n mastracodePendingModelFallback: z\n .object({\n fromEntryId: z.string(),\n toEntryId: z.string(),\n toModelId: z.string(),\n threadId: z.string().optional(),\n reason: z.enum(['pool-exhausted', 'persistent-outage']),\n at: z.string(),\n })\n .nullish(),\n // Asset directories contributed by active plugins.\n pluginSkillPaths: z.array(z.string()).default([]),\n pluginCommandPaths: z.array(z.string()).default([]),\n pluginInstructions: z.array(z.string()).default([]),\n // Active plan (set when a plan is approved in Plan mode)\n activePlan: z\n .object({\n title: z.string(),\n plan: z.string(),\n approvedAt: z.string(),\n })\n .nullable()\n .default(null),\n // Active browser settings (tracks what's actually running vs. what's in the settings file)\n activeBrowserSettings: z\n .object({\n enabled: z.boolean(),\n provider: z.enum(['stagehand', 'agent-browser']),\n headless: z.boolean().optional(),\n viewport: z\n .union([\n z.object({\n width: z.number(),\n height: z.number(),\n }),\n z.literal('window'),\n ])\n .optional(),\n cdpUrl: z.string().optional(),\n profile: z.string().optional(),\n executablePath: z.string().optional(),\n scope: z.enum(['shared', 'thread']).optional(),\n stagehand: z\n .object({\n env: z.enum(['LOCAL', 'BROWSERBASE']),\n projectId: z.string().optional(),\n model: z.string().optional(),\n preserveUserDataDir: z.boolean().optional(),\n })\n .optional(),\n agentBrowser: z\n .object({\n storageState: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n // Model the active Stagehand browser was created with. Resolved once at\n // launch so /browser status reports what is really running even if the\n // user signs in/out of Codex afterwards.\n activeBrowserModel: z\n .object({\n modelName: z.string().optional(),\n source: z.enum(['settings', 'chat-model', 'codex-oauth', 'stagehand-default']),\n viaCodexOAuth: z.boolean(),\n })\n .optional(),\n })\n .transform(state => ({\n ...state,\n observerModelSelection: state.observerModelSelection ?? state.observerModelId ?? 'auto',\n reflectorModelSelection: state.reflectorModelSelection ?? state.reflectorModelId ?? 'auto',\n }));\n"],"mappings":"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"}
package/dist/thinking.js CHANGED
@@ -1,6 +1,6 @@
1
- import { normalizeAnthropicModelId, stripMastraGatewayPrefix } from "./providers/model-ids.js";
2
1
  import { ANTHROPIC_THINKING_BUDGET_TOKENS, getAnthropicThinkingCapability, supportsAnthropicXhighEffort } from "./providers/anthropic-thinking.js";
3
2
  import { runGeminiThinkingLevel } from "./providers/google-thinking.js";
3
+ import { normalizeAnthropicModelId, stripMastraGatewayPrefix } from "./providers/model-ids.js";
4
4
  //#region src/thinking.ts
5
5
  const THINKING_LEVEL_VALUES = [
6
6
  "off",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/code-sdk",
3
- "version": "1.12.0-alpha.3",
3
+ "version": "1.12.0-alpha.5",
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": {
@@ -63,19 +63,19 @@
63
63
  "yaml": "^2.7.1",
64
64
  "zod": "^4.6.4",
65
65
  "@mastra/agent-browser": "0.5.3",
66
- "@mastra/core": "1.76.0-alpha.3",
67
66
  "@mastra/fastembed": "1.3.2",
68
- "@mastra/github-signals": "0.5.1",
69
- "@mastra/libsql": "1.25.2-alpha.1",
70
- "@mastra/mcp": "2.2.1-alpha.0",
71
67
  "@mastra/duckdb": "1.14.0-alpha.0",
72
- "@mastra/memory": "1.37.0-alpha.1",
73
- "@mastra/observability": "1.19.0-alpha.1",
68
+ "@mastra/libsql": "1.26.0-alpha.2",
69
+ "@mastra/mcp": "2.2.1-alpha.0",
70
+ "@mastra/core": "1.76.0-alpha.5",
71
+ "@mastra/github-signals": "0.5.1",
72
+ "@mastra/memory": "1.37.0-alpha.2",
74
73
  "@mastra/parallel": "0.1.2",
75
- "@mastra/pg": "1.31.0-alpha.2",
76
- "@mastra/stagehand": "0.3.5",
77
74
  "@mastra/schema-compat": "1.3.13",
78
- "@mastra/tavily": "1.1.2"
75
+ "@mastra/pg": "1.31.0-alpha.3",
76
+ "@mastra/stagehand": "0.3.5",
77
+ "@mastra/tavily": "1.1.2",
78
+ "@mastra/observability": "1.19.0-alpha.2"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@libsql/client": "^0.18.0",
@@ -86,8 +86,8 @@
86
86
  "typescript": "^6.0.3",
87
87
  "typescript-eslint": "^8.57.0",
88
88
  "vitest": "4.1.11",
89
- "@internal/types-builder": "0.0.116",
90
89
  "@internal/lint": "0.0.141",
90
+ "@internal/types-builder": "0.0.116",
91
91
  "@internal/workspace-test-utils": "0.0.85"
92
92
  },
93
93
  "engines": {