Skip to content

Commit 9bac49d

Browse files
authored
Merge pull request #293 from shivasurya/shiva/vscode-model-updates
feat: update default AI model from Claude 3.5 to Claude 4.5 Sonnet across codebase
2 parents 8b5a4ae + 3c6d531 commit 9bac49d

File tree

17 files changed

+39
-21
lines changed

17 files changed

+39
-21
lines changed

extension/secureflow/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
"properties": {
100100
"secureflow.AIModel": {
101101
"type": "string",
102-
"default": "claude-3-5-sonnet-20241022",
102+
"default": "claude-sonnet-4-5-20250929",
103103
"enum": [
104104
"gpt-4o",
105105
"gpt-4o-mini",
@@ -111,6 +111,7 @@
111111
"gemini-2.5-flash",
112112
"claude-opus-4-1-20250805",
113113
"claude-opus-4-20250514",
114+
"claude-sonnet-4-5-20250929",
114115
"claude-sonnet-4-20250514",
115116
"claude-3-7-sonnet-20250219",
116117
"claude-3-5-sonnet-20241022",
@@ -127,9 +128,10 @@
127128
"Google Gemini 2.5 Flash",
128129
"Anthropic Claude 4.1 Opus (2025 Version)",
129130
"Anthropic Claude 4 Opus (2025 Version)",
131+
"Anthropic Claude 4.5 Sonnet (2025 Version) - RECOMMENDED",
130132
"Anthropic Claude 4 Sonnet (2025 Version)",
131133
"Anthropic Claude 3.7 Sonnet (2025 Version)",
132-
"Anthropic Claude 3.5 Sonnet (2024 Version)",
134+
"Anthropic Claude 3.5 Sonnet (2024 Version) - DEPRECATED, use 4.5 instead",
133135
"Anthropic Claude 3.5 Haiku (2024 Version)"
134136
],
135137
"description": "Select the AI Model to use for security analysis"

extension/secureflow/packages/secureflow-cli/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ secureflow config --show
4040
```
4141

4242
**Supported Models:**
43-
- **Claude**: `claude-3-5-sonnet-20241022`, `claude-3-5-haiku-20241022`, `claude-3-opus-20240229`
43+
- **Claude**: `claude-sonnet-4-5-20250929` (recommended), `claude-3-5-haiku-20241022`, ~~`claude-3-5-sonnet-20241022`~~ (deprecated - use 4.5 instead)
4444
- **OpenAI GPT**: `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`, `gpt-3.5-turbo`
4545
- **Google Gemini**: `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-1.0-pro`
4646
- **Anthropic**: `claude-instant-1.2`
@@ -53,7 +53,7 @@ secureflow config --show
5353
secureflow scan
5454

5555
# Scan specific project with Claude
56-
secureflow scan ./my-project --model claude-3-5-sonnet-20241022
56+
secureflow scan ./my-project --model claude-sonnet-4-5-20250929
5757

5858
# Get project profile first
5959
secureflow profile ./my-project

extension/secureflow/packages/secureflow-cli/config/model-context-limits.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@
6262
"maxOutput": 32000,
6363
"description": "Claude Opus 4 with 200K context window, 32K max output tokens"
6464
},
65+
"claude-sonnet-4-5-20250929": {
66+
"contextWindow": 200000,
67+
"maxOutput": 64000,
68+
"description": "Claude Sonnet 4.5 with 200K context window (1M beta available), 64K max output tokens"
69+
},
6570
"claude-sonnet-4-20250514": {
6671
"contextWindow": 200000,
6772
"maxOutput": 64000,
@@ -75,7 +80,7 @@
7580
"claude-3-5-sonnet-20241022": {
7681
"contextWindow": 200000,
7782
"maxOutput": 8192,
78-
"description": "Claude 3.5 Sonnet with 200K context window, 8K max output tokens (deprecated model)"
83+
"description": "Claude 3.5 Sonnet with 200K context window, 8K max output tokens (DEPRECATED - use Claude 4.5 instead)"
7984
},
8085
"claude-3-5-haiku-20241022": {
8186
"contextWindow": 200000,
@@ -100,7 +105,7 @@
100105
"Some models have beta features with larger context windows",
101106
"Claude Sonnet 4 supports 1M context window in beta with context-1m-2025-08-07 header",
102107
"O1 and O3 models are reasoning models with different token counting behavior",
103-
"Claude 3.5 Sonnet (20241022) is deprecated - use Claude 3.7 Sonnet instead",
108+
"Claude 3.5 Sonnet (20241022) is deprecated - use Claude 4.5 Sonnet instead",
104109
"GPT-4.1 and Gemini models support very large context windows (1M+ tokens)",
105110
"All specifications verified as of September 2025",
106111
"Claude Opus models have 64K max output, not 32K as previously listed",
@@ -117,6 +122,7 @@
117122
"gemini-2.5-flash"
118123
],
119124
"balanced": [
125+
"claude-sonnet-4-5-20250929",
120126
"claude-sonnet-4-20250514",
121127
"gpt-4o",
122128
"claude-3-7-sonnet-20250219"
@@ -135,6 +141,7 @@
135141
"highOutput": [
136142
"o3-mini-2025-01-31",
137143
"claude-opus-4-1-20250805",
144+
"claude-sonnet-4-5-20250929",
138145
"claude-sonnet-4-20250514"
139146
]
140147
}

extension/secureflow/packages/secureflow-cli/lib/ai-client-factory.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ class AIClientFactory {
3333
// Anthropic models
3434
case 'claude-opus-4-1-20250805':
3535
case 'claude-opus-4-20250514':
36+
case 'claude-sonnet-4-5-20250929':
3637
case 'claude-sonnet-4-20250514':
3738
case 'claude-3-7-sonnet-20250219':
38-
case 'claude-3-5-sonnet-20241022':
39+
case 'claude-3-5-sonnet-20241022': // deprecated - use claude-sonnet-4-5-20250929 instead
3940
case 'claude-3-5-haiku-20241022':
4041
return new ClaudeClient();
4142

extension/secureflow/packages/secureflow-cli/lib/claude-client.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class ClaudeClient extends HttpClient {
55
constructor() {
66
super();
77
this.API_URL = 'https://api.anthropic.com/v1/messages';
8-
this.defaultModel = 'claude-3-5-sonnet-20241022';
8+
this.defaultModel = 'claude-sonnet-4-5-20250929';
99
}
1010

1111
/**
@@ -20,10 +20,15 @@ class ClaudeClient extends HttpClient {
2020
throw new Error('Anthropic Claude API key is required');
2121
}
2222

23+
// Show deprecation warning for claude-3-5-sonnet-20241022
24+
if (options.model === 'claude-3-5-sonnet-20241022') {
25+
console.warn('⚠️ WARNING: claude-3-5-sonnet-20241022 is deprecated. Please upgrade to claude-sonnet-4-5-20250929 for better performance and latest features.');
26+
}
27+
2328
const response = await this.post(
2429
this.API_URL,
2530
{
26-
model: "claude-3-5-sonnet-20241022",
31+
model: options.model || "claude-sonnet-4-5-20250929",
2732
messages: messages || [{ role: 'user', content: prompt }],
2833
temperature: options.temperature || 0,
2934
max_tokens: options.maxTokens || 4000,

extension/secureflow/packages/secureflow-cli/lib/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ function loadConfig() {
3838
const env = process.env;
3939

4040
const cfg = {
41-
model: env.SECUREFLOW_MODEL || fileCfg.model || 'claude-3-5-sonnet-20241022',
41+
model: env.SECUREFLOW_MODEL || fileCfg.model || 'claude-sonnet-4-5-20250929',
4242
apiKey:
4343
env.SECUREFLOW_API_KEY || env.ANTHROPIC_API_KEY || env.OPENAI_API_KEY || fileCfg.apiKey || '',
4444
provider: env.SECUREFLOW_PROVIDER || fileCfg.provider || inferProvider(env, fileCfg),

extension/secureflow/packages/secureflow-cli/lib/types.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export type AIModel =
1313
| 'gemini-2.5-flash'
1414
| 'claude-opus-4-1-20250805'
1515
| 'claude-opus-4-20250514'
16+
| 'claude-sonnet-4-5-20250929'
1617
| 'claude-sonnet-4-20250514'
1718
| 'claude-3-7-sonnet-20250219'
1819
| 'claude-3-5-sonnet-20241022'

extension/secureflow/packages/secureflow-cli/lib/types.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44

55
/**
6-
* @typedef {'gpt-4o' | 'gpt-4o-mini' | 'o1-mini' | 'o1' | 'gpt-4.1-2025-04-14' | 'o3-mini-2025-01-31' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'claude-opus-4-1-20250805' | 'claude-opus-4-20250514' | 'claude-sonnet-4-20250514' | 'claude-3-7-sonnet-20250219' | 'claude-3-5-sonnet-20241022' | 'claude-3-5-haiku-20241022' | 'grok-4-fast-reasoning' | 'qwen3:4b'} AIModel
6+
* @typedef {'gpt-4o' | 'gpt-4o-mini' | 'o1-mini' | 'o1' | 'gpt-4.1-2025-04-14' | 'o3-mini-2025-01-31' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'claude-opus-4-1-20250805' | 'claude-opus-4-20250514' | 'claude-sonnet-4-5-20250929' | 'claude-sonnet-4-20250514' | 'claude-3-7-sonnet-20250219' | 'claude-3-5-sonnet-20241022' | 'claude-3-5-haiku-20241022' | 'grok-4-fast-reasoning' | 'qwen3:4b'} AIModel
77
*/
88

99
module.exports = {

extension/secureflow/packages/secureflow-cli/lib/workspace-analyzer/workspace-analyzer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ApplicationProfile {
2727
*/
2828
class WorkspaceAnalyzer {
2929
constructor(options = {}) {
30-
this.selectedModel = options.selectedModel || 'claude-3-5-sonnet-20241022';
30+
this.selectedModel = options.selectedModel || 'claude-sonnet-4-5-20250929';
3131
this.aiClient = AIClientFactory.getClient(this.selectedModel);
3232
this.tokenTracker = new TokenTracker(this.selectedModel);
3333
}

extension/secureflow/packages/secureflow-cli/profiler/cli-profile-command.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class CLIProfileCommand {
4949

5050
// Create profiler instance
5151
const profilerOptions = {
52-
selectedModel: this.selectedModel || config.model || 'claude-3-5-sonnet-20241022'
52+
selectedModel: this.selectedModel || config.model || 'claude-sonnet-4-5-20250929'
5353
};
5454
const profiler = new CLIProjectProfiler(profilerOptions);
5555

0 commit comments

Comments
 (0)