@mastra/code-sdk 1.13.0-alpha.3 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schema.d.ts CHANGED
@@ -64,6 +64,13 @@ export interface MastraCodeState {
64
64
  * inherits the machine owner's personal configuration.
65
65
  */
66
66
  skipGlobalInstructions?: boolean;
67
+ /**
68
+ * Directories under the working directory whose project instruction files
69
+ * (AGENTS.md, CLAUDE.md) load, the session's own checkout first. Hosts that
70
+ * boot several checkouts under one working directory set it; unset, the
71
+ * working directory itself is the only root.
72
+ */
73
+ instructionRoots?: string[];
67
74
  configDir: string;
68
75
  homeDir?: string;
69
76
  gitBranch?: string;
@@ -163,6 +170,7 @@ export declare const stateSchema: z.ZodPipe<z.ZodObject<{
163
170
  untrustedCheckout: z.ZodOptional<z.ZodBoolean>;
164
171
  baseRef: z.ZodOptional<z.ZodString>;
165
172
  skipGlobalInstructions: z.ZodOptional<z.ZodBoolean>;
173
+ instructionRoots: z.ZodOptional<z.ZodArray<z.ZodString>>;
166
174
  configDir: z.ZodDefault<z.ZodString>;
167
175
  homeDir: z.ZodOptional<z.ZodString>;
168
176
  gitBranch: z.ZodOptional<z.ZodString>;
@@ -333,6 +341,7 @@ export declare const stateSchema: z.ZodPipe<z.ZodObject<{
333
341
  untrustedCheckout?: boolean | undefined;
334
342
  baseRef?: string | undefined;
335
343
  skipGlobalInstructions?: boolean | undefined;
344
+ instructionRoots?: string[] | undefined;
336
345
  homeDir?: string | undefined;
337
346
  gitBranch?: string | undefined;
338
347
  lastCommand?: string | undefined;
@@ -428,6 +437,7 @@ export declare const stateSchema: z.ZodPipe<z.ZodObject<{
428
437
  untrustedCheckout?: boolean | undefined;
429
438
  baseRef?: string | undefined;
430
439
  skipGlobalInstructions?: boolean | undefined;
440
+ instructionRoots?: string[] | undefined;
431
441
  homeDir?: string | undefined;
432
442
  gitBranch?: string | undefined;
433
443
  lastCommand?: string | undefined;
@@ -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
@@ -26,6 +26,7 @@ const stateSchema = z.object({
26
26
  untrustedCheckout: z.boolean().optional(),
27
27
  baseRef: z.string().optional(),
28
28
  skipGlobalInstructions: z.boolean().optional(),
29
+ instructionRoots: z.array(z.string()).optional(),
29
30
  configDir: z.string().default(DEFAULT_CONFIG_DIR),
30
31
  homeDir: z.string().optional(),
31
32
  gitBranch: z.string().optional(),
@@ -1 +1 @@
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 // Per-agentType subagent selections, written by session.subagents.model.set\n // (key shape: subagentModelId_<agentType>). Declared so state validation\n // keeps them — Zod strips unknown keys.\n subagentModelId_explore: z.string().optional(),\n subagentModelId_plan: z.string().optional(),\n subagentModelId_execute: 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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"}
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 /**\n * Directories under the working directory whose project instruction files\n * (AGENTS.md, CLAUDE.md) load, the session's own checkout first. Hosts that\n * boot several checkouts under one working directory set it; unset, the\n * working directory itself is the only root.\n */\n instructionRoots?: string[];\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 // Per-agentType subagent selections, written by session.subagents.model.set\n // (key shape: subagentModelId_<agentType>). Declared so state validation\n // keeps them — Zod strips unknown keys.\n subagentModelId_explore: z.string().optional(),\n subagentModelId_plan: z.string().optional(),\n subagentModelId_execute: 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 // Checkouts whose instruction files load, the session's own first.\n instructionRoots: z.array(z.string()).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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/code-sdk",
3
- "version": "1.13.0-alpha.3",
3
+ "version": "1.13.0",
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/fastembed": "1.3.3",
65
66
  "@mastra/agent-browser": "0.5.3",
66
- "@mastra/core": "1.77.0-alpha.3",
67
- "@mastra/fastembed": "1.3.3-alpha.0",
68
67
  "@mastra/duckdb": "1.14.0",
68
+ "@mastra/core": "1.77.0",
69
69
  "@mastra/github-signals": "0.5.1",
70
- "@mastra/libsql": "1.26.1-alpha.0",
71
- "@mastra/memory": "1.37.1-alpha.2",
72
- "@mastra/parallel": "0.1.2",
73
- "@mastra/observability": "1.20.0-alpha.0",
74
- "@mastra/mcp": "2.4.0-alpha.0",
75
- "@mastra/tavily": "1.1.2",
76
- "@mastra/pg": "1.31.1-alpha.0",
70
+ "@mastra/libsql": "1.26.1",
71
+ "@mastra/mcp": "2.4.0",
72
+ "@mastra/observability": "1.20.0",
73
+ "@mastra/memory": "1.37.1",
74
+ "@mastra/pg": "1.31.1",
77
75
  "@mastra/stagehand": "0.3.5",
78
- "@mastra/schema-compat": "1.3.13"
76
+ "@mastra/schema-compat": "1.3.14",
77
+ "@mastra/parallel": "0.1.2",
78
+ "@mastra/tavily": "1.1.2"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@libsql/client": "^0.18.0",
@@ -86,9 +86,9 @@
86
86
  "typescript": "^6.0.3",
87
87
  "typescript-eslint": "^8.57.0",
88
88
  "vitest": "4.1.11",
89
- "@internal/lint": "0.0.142",
90
- "@internal/types-builder": "0.0.117",
91
- "@internal/workspace-test-utils": "0.0.86"
89
+ "@internal/lint": "0.0.143",
90
+ "@internal/workspace-test-utils": "0.0.87",
91
+ "@internal/types-builder": "0.0.118"
92
92
  },
93
93
  "engines": {
94
94
  "node": ">=22.19.0"