fix: remove circular self-dependency, default to anthropic/claude-sonnet-4-6 with thinking off
- Remove gsd-pi from its own dependencies (circular dep caused ENOTEMPTY install failures) - Auto-select anthropic/claude-sonnet-4-6 as default model for new installs - Reset to valid model if configured model no longer exists in registry - Default thinking level to off
This commit is contained in:
parent
1c714e09e3
commit
b364e369d5
3 changed files with 19 additions and 9 deletions
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "gsd-pi",
|
||||
"version": "0.2.3",
|
||||
"version": "0.2.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gsd-pi",
|
||||
"version": "0.2.3",
|
||||
"version": "0.2.4",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "gsd-pi",
|
||||
"version": "0.2.3",
|
||||
"version": "0.2.4",
|
||||
"description": "GSD — Get Stuff Done coding agent",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
|
|
|
|||
22
src/cli.ts
22
src/cli.ts
|
|
@ -17,14 +17,19 @@ await runWizardIfNeeded(authStorage)
|
|||
const modelRegistry = new ModelRegistry(authStorage)
|
||||
const settingsManager = SettingsManager.create(agentDir)
|
||||
|
||||
// Auto-select a default model if none is configured.
|
||||
// This prevents the "No model configured" error for users who logged in
|
||||
// but never explicitly ran /model to pick one.
|
||||
if (!settingsManager.getDefaultModel()) {
|
||||
const availableModels = modelRegistry.getAvailable()
|
||||
// Auto-select a default model if none is configured, or if the configured
|
||||
// model no longer exists (e.g. stale settings referencing a retired model).
|
||||
const configuredProvider = settingsManager.getDefaultProvider()
|
||||
const configuredModel = settingsManager.getDefaultModel()
|
||||
const availableModels = modelRegistry.getAvailable()
|
||||
const configuredExists = configuredProvider && configuredModel &&
|
||||
availableModels.some((m) => m.provider === configuredProvider && m.id === configuredModel)
|
||||
|
||||
if (!configuredModel || !configuredExists) {
|
||||
if (availableModels.length > 0) {
|
||||
// Prefer a mid-tier Anthropic model (sonnet), then any Anthropic, then first available
|
||||
// Preferred default: anthropic/claude-sonnet-4-6
|
||||
const preferred =
|
||||
availableModels.find((m) => m.provider === 'anthropic' && m.id === 'claude-sonnet-4-6') ||
|
||||
availableModels.find((m) => m.provider === 'anthropic' && m.id.includes('sonnet')) ||
|
||||
availableModels.find((m) => m.provider === 'anthropic') ||
|
||||
availableModels[0]
|
||||
|
|
@ -32,6 +37,11 @@ if (!settingsManager.getDefaultModel()) {
|
|||
}
|
||||
}
|
||||
|
||||
// Default thinking level: off
|
||||
if (!settingsManager.getDefaultThinkingLevel()) {
|
||||
settingsManager.setDefaultThinkingLevel('off')
|
||||
}
|
||||
|
||||
// GSD always uses quiet startup — the gsd extension renders its own branded header
|
||||
if (!settingsManager.getQuietStartup()) {
|
||||
settingsManager.setQuietStartup(true)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue