gsd-pi 0.2.4 → 0.2.6

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 (2) hide show
  1. package/dist/cli.js +18 -10
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -7,19 +7,27 @@ loadStoredEnvKeys(authStorage);
7
7
  await runWizardIfNeeded(authStorage);
8
8
  const modelRegistry = new ModelRegistry(authStorage);
9
9
  const settingsManager = SettingsManager.create(agentDir);
10
- // Auto-select a default model if none is configured.
11
- // This prevents the "No model configured" error for users who logged in
12
- // but never explicitly ran /model to pick one.
13
- if (!settingsManager.getDefaultModel()) {
14
- const availableModels = modelRegistry.getAvailable();
15
- if (availableModels.length > 0) {
16
- // Prefer a mid-tier Anthropic model (sonnet), then any Anthropic, then first available
17
- const preferred = availableModels.find((m) => m.provider === 'anthropic' && m.id.includes('sonnet')) ||
18
- availableModels.find((m) => m.provider === 'anthropic') ||
19
- availableModels[0];
10
+ // Always ensure defaults: anthropic/claude-sonnet-4-6, thinking off.
11
+ // Validates on every startup catches stale settings from prior installs
12
+ // (e.g. grok-2 which no longer exists) and fresh installs with no settings.
13
+ const configuredProvider = settingsManager.getDefaultProvider();
14
+ const configuredModel = settingsManager.getDefaultModel();
15
+ const allModels = modelRegistry.getAll();
16
+ const configuredExists = configuredProvider && configuredModel &&
17
+ allModels.some((m) => m.provider === configuredProvider && m.id === configuredModel);
18
+ if (!configuredModel || !configuredExists) {
19
+ // Preferred default: anthropic/claude-sonnet-4-6
20
+ const preferred = allModels.find((m) => m.provider === 'anthropic' && m.id === 'claude-sonnet-4-6') ||
21
+ allModels.find((m) => m.provider === 'anthropic' && m.id.includes('sonnet')) ||
22
+ allModels.find((m) => m.provider === 'anthropic');
23
+ if (preferred) {
20
24
  settingsManager.setDefaultModelAndProvider(preferred.provider, preferred.id);
21
25
  }
22
26
  }
27
+ // Default thinking level: off (always reset if not explicitly set)
28
+ if (settingsManager.getDefaultThinkingLevel() !== 'off' && !configuredExists) {
29
+ settingsManager.setDefaultThinkingLevel('off');
30
+ }
23
31
  // GSD always uses quiet startup — the gsd extension renders its own branded header
24
32
  if (!settingsManager.getQuietStartup()) {
25
33
  settingsManager.setQuietStartup(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsd-pi",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "GSD — Get Stuff Done coding agent",
5
5
  "license": "MIT",
6
6
  "repository": {