@mastra/code-sdk 1.1.4-alpha.0 → 1.2.0-alpha.10

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 (58) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/dist/agents/credential-resolver.d.ts +6 -0
  3. package/dist/agents/credential-resolver.d.ts.map +1 -1
  4. package/dist/agents/credential-resolver.js +14 -4
  5. package/dist/agents/credential-resolver.js.map +1 -1
  6. package/dist/agents/mastracode-gateway.d.ts.map +1 -1
  7. package/dist/agents/mastracode-gateway.js +27 -13
  8. package/dist/agents/mastracode-gateway.js.map +1 -1
  9. package/dist/agents/model.d.ts +16 -1
  10. package/dist/agents/model.d.ts.map +1 -1
  11. package/dist/agents/model.js +26 -7
  12. package/dist/agents/model.js.map +1 -1
  13. package/dist/headless/flags.js +1 -1
  14. package/dist/headless/flags.js.map +1 -1
  15. package/dist/headless/types.d.ts +2 -2
  16. package/dist/headless/types.d.ts.map +1 -1
  17. package/dist/headless/types.js +2 -1
  18. package/dist/headless/types.js.map +1 -1
  19. package/dist/hooks/executor.d.ts.map +1 -1
  20. package/dist/hooks/executor.js +1 -0
  21. package/dist/hooks/executor.js.map +1 -1
  22. package/dist/hooks/manager.d.ts +9 -2
  23. package/dist/hooks/manager.d.ts.map +1 -1
  24. package/dist/hooks/manager.js +19 -3
  25. package/dist/hooks/manager.js.map +1 -1
  26. package/dist/hooks/types.d.ts +20 -0
  27. package/dist/hooks/types.d.ts.map +1 -1
  28. package/dist/hooks/types.js.map +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/mcp/manager.d.ts +27 -0
  33. package/dist/mcp/manager.d.ts.map +1 -1
  34. package/dist/mcp/manager.js +128 -10
  35. package/dist/mcp/manager.js.map +1 -1
  36. package/dist/mcp/state.d.ts +33 -0
  37. package/dist/mcp/state.d.ts.map +1 -0
  38. package/dist/mcp/state.js +88 -0
  39. package/dist/mcp/state.js.map +1 -0
  40. package/dist/mcp/types.d.ts +13 -0
  41. package/dist/mcp/types.d.ts.map +1 -1
  42. package/dist/onboarding/settings.d.ts +86 -6
  43. package/dist/onboarding/settings.d.ts.map +1 -1
  44. package/dist/onboarding/settings.js +145 -13
  45. package/dist/onboarding/settings.js.map +1 -1
  46. package/dist/providers/claude-max.d.ts +13 -0
  47. package/dist/providers/claude-max.d.ts.map +1 -1
  48. package/dist/providers/claude-max.js +83 -3
  49. package/dist/providers/claude-max.js.map +1 -1
  50. package/dist/providers/openai-codex.d.ts +3 -1
  51. package/dist/providers/openai-codex.d.ts.map +1 -1
  52. package/dist/providers/openai-codex.js +13 -2
  53. package/dist/providers/openai-codex.js.map +1 -1
  54. package/dist/schema.d.ts +11 -5
  55. package/dist/schema.d.ts.map +1 -1
  56. package/dist/schema.js +5 -4
  57. package/dist/schema.js.map +1 -1
  58. package/package.json +17 -17
@@ -55,7 +55,7 @@ export declare const MEMORY_GATEWAY_PROVIDER = "mastra-gateway";
55
55
  /** @deprecated Renamed to {@link MASTRA_GATEWAY_DEFAULT_URL}. */
56
56
  export declare const MEMORY_GATEWAY_DEFAULT_URL = "https://gateway-api.mastra.ai";
57
57
  /** Valid persisted thinking level values. */
58
- export type ThinkingLevelSetting = 'off' | 'low' | 'medium' | 'high' | 'xhigh';
58
+ export type ThinkingLevelSetting = 'off' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
59
59
  /** Browser provider type. */
60
60
  export type BrowserProvider = 'stagehand' | 'agent-browser';
61
61
  /** Direct TUI `!` shell passthrough mode. */
@@ -83,11 +83,55 @@ export interface VoiceSettings {
83
83
  }
84
84
  /** Stagehand environment type. */
85
85
  export type StagehandEnv = 'LOCAL' | 'BROWSERBASE';
86
+ /**
87
+ * Browser viewport: explicit dimensions, or `'window'` to follow the real
88
+ * browser window instead of emulating a fixed size.
89
+ */
90
+ export type BrowserViewport = {
91
+ width: number;
92
+ height: number;
93
+ } | 'window';
94
+ /** Named viewport sizes offered by `/browser set viewport`. */
95
+ export declare const VIEWPORT_PRESETS: {
96
+ readonly desktop: {
97
+ readonly width: 1280;
98
+ readonly height: 720;
99
+ };
100
+ readonly 'desktop-hd': {
101
+ readonly width: 1920;
102
+ readonly height: 1080;
103
+ };
104
+ readonly laptop: {
105
+ readonly width: 1440;
106
+ readonly height: 900;
107
+ };
108
+ readonly tablet: {
109
+ readonly width: 768;
110
+ readonly height: 1024;
111
+ };
112
+ readonly mobile: {
113
+ readonly width: 390;
114
+ readonly height: 844;
115
+ };
116
+ };
117
+ export type ViewportPreset = keyof typeof VIEWPORT_PRESETS;
118
+ /**
119
+ * Parse a `WIDTHxHEIGHT` string (e.g. `1280x720`), a preset name, or `window`.
120
+ * Returns undefined when the input is not a usable viewport.
121
+ */
122
+ export declare function parseViewportInput(input: string): BrowserViewport | undefined;
86
123
  /** Stagehand-specific browser settings. */
87
124
  export interface StagehandSettings {
88
125
  env: StagehandEnv;
89
126
  apiKey?: string;
90
127
  projectId?: string;
128
+ /**
129
+ * Model Stagehand uses for its AI operations, as `provider/model`
130
+ * (for example `anthropic/claude-sonnet-4-5`). Stagehand resolves the
131
+ * provider's API key from the environment (`ANTHROPIC_API_KEY`,
132
+ * `OPENAI_API_KEY`, and so on). Defaults to Stagehand's own default.
133
+ */
134
+ model?: string;
91
135
  /** Whether to preserve the user data directory after the browser closes. */
92
136
  preserveUserDataDir?: boolean;
93
137
  }
@@ -104,11 +148,11 @@ export interface BrowserSettings {
104
148
  provider: BrowserProvider;
105
149
  /** Whether to run headless (no visible browser window). */
106
150
  headless: boolean;
107
- /** Browser viewport dimensions. */
108
- viewport?: {
109
- width: number;
110
- height: number;
111
- };
151
+ /**
152
+ * Browser viewport dimensions, or `'window'` to disable viewport emulation so
153
+ * the page follows the real browser window.
154
+ */
155
+ viewport?: BrowserViewport;
112
156
  /** CDP URL for connecting to an existing browser. */
113
157
  cdpUrl?: string;
114
158
  /** Path to a Chrome/Chromium user data directory (profile). */
@@ -142,6 +186,13 @@ export interface GlobalSettings {
142
186
  activeModelPackId: string | null;
143
187
  /** Explicit per-mode overrides — used when no activeModelPackId is set. */
144
188
  modeDefaults: Record<string, string>;
189
+ /**
190
+ * Per-mode reasoning-effort defaults (e.g. { build: "high", plan: "xhigh" }).
191
+ * Resolved at request time; falls back to `preferences.thinkingLevel` for
192
+ * modes without an entry. Overridden per-session via /think or the session
193
+ * settings panel.
194
+ */
195
+ modeThinkingDefaults: Record<string, ThinkingLevelSetting>;
145
196
  /**
146
197
  * Active OM pack ID (e.g. "gemini", "anthropic", "custom").
147
198
  * When set, the OM model is resolved from the pack at startup so pack
@@ -237,9 +288,22 @@ export declare const OBSERVABILITY_AUTH_PREFIX = "observability:";
237
288
  export declare const STORAGE_DEFAULTS: StorageSettings;
238
289
  /** Default STT engine: on-device macOS recognizer where available, else cloud. */
239
290
  export declare function defaultVoiceEngine(): VoiceEngine;
291
+ export declare const THINKING_LEVEL_VALUES: ThinkingLevelSetting[];
292
+ export declare function isThinkingLevelSetting(value: unknown): value is ThinkingLevelSetting;
240
293
  export declare function getSettingsPath(): string;
241
294
  export declare function getCustomProviderId(name: string): string;
242
295
  export declare function toCustomProviderModelId(providerName: string, modelName: string): string;
296
+ /**
297
+ * The shared gateway catalog namespaces provider keys under their owning
298
+ * gateway id, so a custom provider's models surface in the `/models` catalog
299
+ * as `mastracode/<providerId>/<model>` instead of the canonical
300
+ * `<providerId>/<model>` that model resolution expects. Persisting the
301
+ * gateway-qualified id verbatim breaks lookup later (the provider is parsed
302
+ * as `mastracode`). Strip the prefix before saving — but only when the
303
+ * middle segment matches one of the user's configured custom providers, so
304
+ * legitimate `mastracode/...` gateway-routed ids are left untouched.
305
+ */
306
+ export declare function stripMastraCodeCustomProviderPrefix(modelId: string, customProviders: Array<Pick<CustomProviderSetting, 'name'>>): string;
243
307
  export declare function parseCustomProviders(rawProviders: unknown): CustomProviderSetting[];
244
308
  export declare function migrateLegacyVariedPack(settings: GlobalSettings): boolean;
245
309
  export declare function loadSettings(filePath?: string): GlobalSettings;
@@ -275,6 +339,22 @@ export declare function resolveModelDefaults(settings: GlobalSettings, builtinPa
275
339
  id: string;
276
340
  models: Record<string, string>;
277
341
  }>): Record<string, string>;
342
+ /** Where a resolved default thinking level came from. */
343
+ export type ThinkingLevelSource = 'mode-default' | 'global';
344
+ /**
345
+ * Resolve the default reasoning-effort level for a mode.
346
+ *
347
+ * Lookup order:
348
+ * 1. `models.modeThinkingDefaults[mode]` when set for the mode.
349
+ * 2. The global `preferences.thinkingLevel`.
350
+ *
351
+ * Session-level overrides (via /think or the session settings panel) take
352
+ * precedence over both and are handled by the caller.
353
+ */
354
+ export declare function resolveDefaultThinkingLevel(settings: GlobalSettings, mode?: string | null): {
355
+ level: ThinkingLevelSetting;
356
+ source: ThinkingLevelSource;
357
+ };
278
358
  /**
279
359
  * Resolve the effective model ID for one of the two OM roles.
280
360
  *
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/onboarding/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/onboarding/settings.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,56 @@ const MASTRA_GATEWAY_DEFAULT_URL = "https://gateway-api.mastra.ai";
18
18
  const MEMORY_GATEWAY_PROVIDER = MASTRA_GATEWAY_PROVIDER;
19
19
  /** @deprecated Renamed to {@link MASTRA_GATEWAY_DEFAULT_URL}. */
20
20
  const MEMORY_GATEWAY_DEFAULT_URL = MASTRA_GATEWAY_DEFAULT_URL;
21
+ /** Named viewport sizes offered by `/browser set viewport`. */
22
+ const VIEWPORT_PRESETS = {
23
+ desktop: {
24
+ width: 1280,
25
+ height: 720
26
+ },
27
+ "desktop-hd": {
28
+ width: 1920,
29
+ height: 1080
30
+ },
31
+ laptop: {
32
+ width: 1440,
33
+ height: 900
34
+ },
35
+ tablet: {
36
+ width: 768,
37
+ height: 1024
38
+ },
39
+ mobile: {
40
+ width: 390,
41
+ height: 844
42
+ }
43
+ };
44
+ /**
45
+ * Largest viewport dimension accepted. Guards against typos that would launch a
46
+ * browser far larger than any display.
47
+ */
48
+ const MAX_VIEWPORT_DIMENSION = 1e4;
49
+ function isValidDimension(value) {
50
+ return typeof value === "number" && Number.isInteger(value) && value > 0 && value <= MAX_VIEWPORT_DIMENSION;
51
+ }
52
+ /**
53
+ * Parse a `WIDTHxHEIGHT` string (e.g. `1280x720`), a preset name, or `window`.
54
+ * Returns undefined when the input is not a usable viewport.
55
+ */
56
+ function parseViewportInput(input) {
57
+ const value = input.trim().toLowerCase();
58
+ if (!value) return void 0;
59
+ if (value === "window") return "window";
60
+ if (value in VIEWPORT_PRESETS) return { ...VIEWPORT_PRESETS[value] };
61
+ const match = /^(\d+)\s*[x×]\s*(\d+)$/.exec(value);
62
+ if (!match) return void 0;
63
+ const width = Number(match[1]);
64
+ const height = Number(match[2]);
65
+ if (!isValidDimension(width) || !isValidDimension(height)) return void 0;
66
+ return {
67
+ width,
68
+ height
69
+ };
70
+ }
21
71
  /** Auth key prefix for observability tokens stored per-resource in auth.json */
22
72
  const OBSERVABILITY_AUTH_PREFIX = "observability:";
23
73
  const STORAGE_DEFAULTS = {
@@ -41,6 +91,7 @@ const DEFAULTS = {
41
91
  models: {
42
92
  activeModelPackId: null,
43
93
  modeDefaults: {},
94
+ modeThinkingDefaults: {},
44
95
  activeOmPackId: null,
45
96
  omModelOverride: null,
46
97
  observerModelOverride: null,
@@ -71,10 +122,7 @@ const DEFAULTS = {
71
122
  enabled: false,
72
123
  provider: "stagehand",
73
124
  headless: false,
74
- viewport: {
75
- width: 1280,
76
- height: 720
77
- },
125
+ viewport: { ...VIEWPORT_PRESETS.desktop },
78
126
  stagehand: { env: "LOCAL" }
79
127
  },
80
128
  shellPassthrough: { mode: "default" },
@@ -97,7 +145,8 @@ const THINKING_LEVEL_VALUES = [
97
145
  "low",
98
146
  "medium",
99
147
  "high",
100
- "xhigh"
148
+ "xhigh",
149
+ "max"
101
150
  ];
102
151
  const QUIET_MODE_MAX_TOOL_PREVIEW_LINES_MAX = 8;
103
152
  const loadedSignalSettings = /* @__PURE__ */ new WeakMap();
@@ -114,6 +163,15 @@ function signalSettingsEqual(left, right) {
114
163
  function parseThinkingLevel(value) {
115
164
  return typeof value === "string" && THINKING_LEVEL_VALUES.includes(value) ? value : DEFAULTS.preferences.thinkingLevel;
116
165
  }
166
+ function isThinkingLevelSetting(value) {
167
+ return typeof value === "string" && THINKING_LEVEL_VALUES.includes(value);
168
+ }
169
+ function parseModeThinkingDefaults(value) {
170
+ if (!value || typeof value !== "object") return {};
171
+ const result = {};
172
+ for (const [mode, level] of Object.entries(value)) if (isThinkingLevelSetting(level)) result[mode] = level;
173
+ return result;
174
+ }
117
175
  function parseQuietModeMaxToolPreviewLines(value) {
118
176
  const rawValue = typeof value === "number" && Number.isFinite(value) ? value : DEFAULTS.preferences.quietModeMaxToolPreviewLines;
119
177
  return Math.min(QUIET_MODE_MAX_TOOL_PREVIEW_LINES_MAX, Math.max(0, Math.floor(rawValue)));
@@ -160,6 +218,23 @@ function toCustomProviderModelId(providerName, modelName) {
160
218
  if (trimmedModelName.startsWith(providerPrefix)) return trimmedModelName;
161
219
  return `${providerId}/${trimmedModelName}`;
162
220
  }
221
+ /**
222
+ * The shared gateway catalog namespaces provider keys under their owning
223
+ * gateway id, so a custom provider's models surface in the `/models` catalog
224
+ * as `mastracode/<providerId>/<model>` instead of the canonical
225
+ * `<providerId>/<model>` that model resolution expects. Persisting the
226
+ * gateway-qualified id verbatim breaks lookup later (the provider is parsed
227
+ * as `mastracode`). Strip the prefix before saving — but only when the
228
+ * middle segment matches one of the user's configured custom providers, so
229
+ * legitimate `mastracode/...` gateway-routed ids are left untouched.
230
+ */
231
+ function stripMastraCodeCustomProviderPrefix(modelId, customProviders) {
232
+ if (!modelId.startsWith("mastracode/")) return modelId;
233
+ const rest = modelId.slice(11);
234
+ const [providerId, ...modelParts] = rest.split("/");
235
+ if (!providerId || modelParts.length === 0 || modelParts.some((part) => part.length === 0)) return modelId;
236
+ return customProviders.some((provider) => getCustomProviderId(provider.name) === providerId) ? rest : modelId;
237
+ }
163
238
  function parseCustomProviders(rawProviders) {
164
239
  if (!Array.isArray(rawProviders)) return [];
165
240
  const parsedProviders = [];
@@ -188,13 +263,49 @@ function parseCustomProviders(rawProviders) {
188
263
  const BROWSER_PROVIDERS = /* @__PURE__ */ new Set(["stagehand", "agent-browser"]);
189
264
  const STAGEHAND_ENVS = /* @__PURE__ */ new Set(["LOCAL", "BROWSERBASE"]);
190
265
  /**
266
+ * Normalize a Stagehand model id, which must be provider-qualified.
267
+ *
268
+ * Stagehand reads the segment before the first slash as the provider, so a
269
+ * bare id like `gpt-4.1` is rejected as an unknown provider and a trailing
270
+ * slash leaves an empty model name that only fails once a request is made.
271
+ * Neither is usable, so both are dropped here rather than persisted.
272
+ *
273
+ * The provider name itself is checked where the command is issued, which can
274
+ * name the supported providers in an error; this module is on the startup path
275
+ * and only imports Stagehand lazily.
276
+ *
277
+ * @returns the trimmed model id, or undefined when it is unusable.
278
+ */
279
+ function parseStagehandModel(value) {
280
+ if (typeof value !== "string") return void 0;
281
+ const model = value.trim();
282
+ const separator = model.indexOf("/");
283
+ if (separator <= 0) return void 0;
284
+ return model.slice(separator + 1).trim() ? model : void 0;
285
+ }
286
+ /**
287
+ * Validate a viewport read from settings.json, falling back to the default when
288
+ * it is missing or malformed.
289
+ */
290
+ function parseStoredViewport(raw) {
291
+ if (raw === "window") return "window";
292
+ if (raw && typeof raw === "object") {
293
+ const { width, height } = raw;
294
+ if (isValidDimension(width) && isValidDimension(height)) return {
295
+ width,
296
+ height
297
+ };
298
+ }
299
+ return { ...VIEWPORT_PRESETS.desktop };
300
+ }
301
+ /**
191
302
  * Deep-merge and validate browser settings from JSON.
192
303
  * Explicitly validates types to handle malformed settings.json gracefully.
193
304
  */
194
305
  function parseBrowserSettings(rawBrowser) {
195
306
  const raw = rawBrowser && typeof rawBrowser === "object" ? rawBrowser : {};
196
- const rawViewport = raw.viewport && typeof raw.viewport === "object" ? raw.viewport : {};
197
307
  const rawStagehand = raw.stagehand && typeof raw.stagehand === "object" ? raw.stagehand : {};
308
+ const stagehandModel = parseStagehandModel(rawStagehand.model);
198
309
  const rawAgentBrowser = raw.agentBrowser && typeof raw.agentBrowser === "object" ? raw.agentBrowser : {};
199
310
  return {
200
311
  enabled: typeof raw.enabled === "boolean" ? raw.enabled : DEFAULTS.browser.enabled,
@@ -203,15 +314,13 @@ function parseBrowserSettings(rawBrowser) {
203
314
  cdpUrl: typeof raw.cdpUrl === "string" && raw.cdpUrl.trim() ? raw.cdpUrl.trim() : void 0,
204
315
  profile: typeof raw.profile === "string" && raw.profile.trim() ? raw.profile.trim() : void 0,
205
316
  executablePath: typeof raw.executablePath === "string" && raw.executablePath.trim() ? raw.executablePath.trim() : void 0,
206
- viewport: {
207
- width: typeof rawViewport.width === "number" ? rawViewport.width : DEFAULTS.browser.viewport.width,
208
- height: typeof rawViewport.height === "number" ? rawViewport.height : DEFAULTS.browser.viewport.height
209
- },
317
+ viewport: parseStoredViewport(raw.viewport),
210
318
  scope: typeof raw.scope === "string" && (raw.scope === "shared" || raw.scope === "thread") ? raw.scope : void 0,
211
319
  stagehand: {
212
320
  env: typeof rawStagehand.env === "string" && STAGEHAND_ENVS.has(rawStagehand.env) ? rawStagehand.env : DEFAULTS.browser.stagehand.env,
213
321
  ...typeof rawStagehand.apiKey === "string" && rawStagehand.apiKey.trim() ? { apiKey: rawStagehand.apiKey.trim() } : {},
214
322
  ...typeof rawStagehand.projectId === "string" && rawStagehand.projectId.trim() ? { projectId: rawStagehand.projectId.trim() } : {},
323
+ ...stagehandModel ? { model: stagehandModel } : {},
215
324
  ...typeof rawStagehand.preserveUserDataDir === "boolean" ? { preserveUserDataDir: rawStagehand.preserveUserDataDir } : {}
216
325
  },
217
326
  agentBrowser: typeof rawAgentBrowser.storageState === "string" && rawAgentBrowser.storageState.trim() ? { storageState: rawAgentBrowser.storageState.trim() } : void 0
@@ -384,7 +493,8 @@ function loadSettings(filePath = getSettingsPath()) {
384
493
  },
385
494
  models: {
386
495
  ...DEFAULTS.models,
387
- ...raw.models
496
+ ...raw.models,
497
+ modeThinkingDefaults: parseModeThinkingDefaults(raw.models?.modeThinkingDefaults)
388
498
  },
389
499
  preferences: parsePreferences(raw.preferences),
390
500
  storage: {
@@ -494,6 +604,27 @@ function resolveModelDefaults(settings, builtinPacks) {
494
604
  return modeDefaults;
495
605
  }
496
606
  /**
607
+ * Resolve the default reasoning-effort level for a mode.
608
+ *
609
+ * Lookup order:
610
+ * 1. `models.modeThinkingDefaults[mode]` when set for the mode.
611
+ * 2. The global `preferences.thinkingLevel`.
612
+ *
613
+ * Session-level overrides (via /think or the session settings panel) take
614
+ * precedence over both and are handled by the caller.
615
+ */
616
+ function resolveDefaultThinkingLevel(settings, mode) {
617
+ const modeLevel = mode ? settings.models.modeThinkingDefaults[mode] : void 0;
618
+ if (modeLevel) return {
619
+ level: modeLevel,
620
+ source: "mode-default"
621
+ };
622
+ return {
623
+ level: settings.preferences.thinkingLevel,
624
+ source: "global"
625
+ };
626
+ }
627
+ /**
497
628
  * Resolve the effective model ID for one of the two OM roles.
498
629
  *
499
630
  * Lookup order:
@@ -607,7 +738,8 @@ async function createBrowserFromSettings(settings) {
607
738
  };
608
739
  const authStorage = new AuthStorage();
609
740
  const cred = authStorage.get("openai-codex");
610
- if (cred?.type === "oauth") {
741
+ if (stagehand?.model) stagehandOpts.model = stagehand.model;
742
+ else if (cred?.type === "oauth") {
611
743
  const accountId = cred.accountId;
612
744
  stagehandOpts.model = {
613
745
  modelName: "openai/gpt-5.4-mini",
@@ -651,6 +783,6 @@ async function createBrowserFromSettings(settings) {
651
783
  throw new Error(`Unsupported browser provider: ${provider}`);
652
784
  }
653
785
  //#endregion
654
- export { MASTRA_GATEWAY_DEFAULT_URL, MASTRA_GATEWAY_PROVIDER, MEMORY_GATEWAY_DEFAULT_URL, MEMORY_GATEWAY_PROVIDER, OBSERVABILITY_AUTH_PREFIX, STORAGE_DEFAULTS, THREAD_ACTIVE_MODEL_PACK_ID_KEY, checkProfileProviderMismatch, createBrowserFromSettings, defaultVoiceEngine, getCustomProviderId, getProfileProvider, getSettingsPath, loadSettings, migrateLegacyVariedPack, parseCustomProviders, parseThreadSettings, resolveModelDefaults, resolveOmModel, resolveOmRoleModel, resolveThreadActiveModelPackId, saveSettings, setProfileProvider, toCustomProviderModelId };
786
+ export { MASTRA_GATEWAY_DEFAULT_URL, MASTRA_GATEWAY_PROVIDER, MEMORY_GATEWAY_DEFAULT_URL, MEMORY_GATEWAY_PROVIDER, OBSERVABILITY_AUTH_PREFIX, STORAGE_DEFAULTS, THINKING_LEVEL_VALUES, THREAD_ACTIVE_MODEL_PACK_ID_KEY, VIEWPORT_PRESETS, checkProfileProviderMismatch, createBrowserFromSettings, defaultVoiceEngine, getCustomProviderId, getProfileProvider, getSettingsPath, isThinkingLevelSetting, loadSettings, migrateLegacyVariedPack, parseCustomProviders, parseThreadSettings, parseViewportInput, resolveDefaultThinkingLevel, resolveModelDefaults, resolveOmModel, resolveOmRoleModel, resolveThreadActiveModelPackId, saveSettings, setProfileProvider, stripMastraCodeCustomProviderPrefix, toCustomProviderModelId };
655
787
 
656
788
  //# sourceMappingURL=settings.js.map