mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-03-18 10:23:07 +00:00
feat: Address review comments, add stage/unstage functionality, conflict resolution improvements, support for Sonnet 4.6
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
*
|
||||
* With canonical model IDs:
|
||||
* - Cursor: cursor-auto, cursor-composer-1, cursor-gpt-5.2
|
||||
* - OpenCode: opencode-big-pickle, opencode-grok-code
|
||||
* - OpenCode: opencode-big-pickle, opencode-kimi-k2.5-free
|
||||
* - Copilot: copilot-gpt-5.1, copilot-claude-sonnet-4.5, copilot-gemini-3-pro-preview
|
||||
* - Gemini: gemini-2.5-flash, gemini-2.5-pro
|
||||
* - Claude: claude-haiku, claude-sonnet, claude-opus (also supports legacy aliases)
|
||||
@@ -110,7 +110,7 @@ export function resolveModelString(
|
||||
return resolved;
|
||||
}
|
||||
|
||||
// Full Claude model string (e.g., claude-sonnet-4-5-20250929) - pass through
|
||||
// Full Claude model string (e.g., claude-sonnet-4-6) - pass through
|
||||
if (canonicalKey.includes('claude-')) {
|
||||
console.log(`[ModelResolver] Using full Claude model string: ${canonicalKey}`);
|
||||
return canonicalKey;
|
||||
|
||||
@@ -42,7 +42,7 @@ describe('model-resolver', () => {
|
||||
|
||||
describe('with full Claude model strings', () => {
|
||||
it('should pass through full Claude model string unchanged', () => {
|
||||
const fullModel = 'claude-sonnet-4-20250514';
|
||||
const fullModel = 'claude-sonnet-4-6';
|
||||
const result = resolveModelString(fullModel);
|
||||
|
||||
expect(result).toBe(fullModel);
|
||||
@@ -243,7 +243,7 @@ describe('model-resolver', () => {
|
||||
describe('priority handling', () => {
|
||||
it('should prioritize explicit model over all others', () => {
|
||||
const explicit = 'claude-opus-4-20241113';
|
||||
const session = 'claude-sonnet-4-20250514';
|
||||
const session = 'claude-sonnet-4-6';
|
||||
const defaultModel = 'claude-3-5-haiku-20241022';
|
||||
|
||||
const result = getEffectiveModel(explicit, session, defaultModel);
|
||||
@@ -252,7 +252,7 @@ describe('model-resolver', () => {
|
||||
});
|
||||
|
||||
it('should use session model when explicit is undefined', () => {
|
||||
const session = 'claude-sonnet-4-20250514';
|
||||
const session = 'claude-sonnet-4-6';
|
||||
const defaultModel = 'claude-3-5-haiku-20241022';
|
||||
|
||||
const result = getEffectiveModel(undefined, session, defaultModel);
|
||||
@@ -297,7 +297,7 @@ describe('model-resolver', () => {
|
||||
|
||||
describe('with empty strings', () => {
|
||||
it('should treat empty explicit string as undefined', () => {
|
||||
const session = 'claude-sonnet-4-20250514';
|
||||
const session = 'claude-sonnet-4-6';
|
||||
|
||||
const result = getEffectiveModel('', session);
|
||||
|
||||
@@ -324,7 +324,7 @@ describe('model-resolver', () => {
|
||||
|
||||
describe('integration scenarios', () => {
|
||||
it('should handle user overriding session model with alias', () => {
|
||||
const sessionModel = 'claude-sonnet-4-20250514';
|
||||
const sessionModel = 'claude-sonnet-4-6';
|
||||
const userChoice = 'opus';
|
||||
|
||||
const result = getEffectiveModel(userChoice, sessionModel);
|
||||
@@ -418,7 +418,7 @@ describe('model-resolver', () => {
|
||||
});
|
||||
|
||||
it('should pass through full Claude model string', () => {
|
||||
const fullModel = 'claude-sonnet-4-20250514';
|
||||
const fullModel = 'claude-sonnet-4-6';
|
||||
const result = resolvePhaseModel(fullModel);
|
||||
|
||||
expect(result.model).toBe(fullModel);
|
||||
|
||||
Reference in New Issue
Block a user