mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-06 09:53:07 +00:00
- Changed model identifier from `claude-opus-4-5-20251101` to `claude-opus-4-6` across various files, including documentation and code references. - Updated the SDK to support adaptive thinking for Opus 4.6, allowing the model to determine its own reasoning depth. - Enhanced the thinking level options to include 'adaptive' and adjusted related components to reflect this change. - Updated tests to ensure compatibility with the new model and its features. These changes improve the model's capabilities and user experience by leveraging adaptive reasoning.
136 lines
3.5 KiB
Markdown
136 lines
3.5 KiB
Markdown
# @automaker/model-resolver
|
|
|
|
Claude model resolution and mapping utilities.
|
|
|
|
## Overview
|
|
|
|
This package handles Claude model resolution, converting user-friendly aliases to actual Claude model identifiers and providing default model configurations.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npm install @automaker/model-resolver
|
|
```
|
|
|
|
## Exports
|
|
|
|
### Model Resolution
|
|
|
|
Convert model aliases to full model identifiers.
|
|
|
|
```typescript
|
|
import { resolveModelString, DEFAULT_MODELS } from '@automaker/model-resolver';
|
|
import { CLAUDE_MODEL_MAP } from '@automaker/types';
|
|
|
|
// Resolve model string
|
|
const model = resolveModelString('sonnet');
|
|
// Returns: 'claude-sonnet-4-20250514'
|
|
|
|
const model2 = resolveModelString('haiku');
|
|
// Returns: 'claude-haiku-4-5'
|
|
|
|
const model3 = resolveModelString('opus');
|
|
// Returns: 'claude-opus-4-6'
|
|
|
|
// Use with custom default
|
|
const model4 = resolveModelString(undefined, 'claude-sonnet-4-20250514');
|
|
// Returns: 'claude-sonnet-4-20250514' (default)
|
|
|
|
// Direct model ID passthrough
|
|
const model5 = resolveModelString('claude-opus-4-6');
|
|
// Returns: 'claude-opus-4-6' (unchanged)
|
|
```
|
|
|
|
### Get Effective Model
|
|
|
|
Get the actual model that will be used.
|
|
|
|
```typescript
|
|
import { getEffectiveModel } from '@automaker/model-resolver';
|
|
|
|
// Get effective model with fallback chain
|
|
const model = getEffectiveModel({
|
|
requestedModel: 'sonnet',
|
|
featureModel: undefined,
|
|
defaultModel: 'claude-sonnet-4-20250514',
|
|
});
|
|
```
|
|
|
|
### Model Constants
|
|
|
|
Access model mappings and defaults.
|
|
|
|
```typescript
|
|
import { DEFAULT_MODELS } from '@automaker/model-resolver';
|
|
import { CLAUDE_MODEL_MAP } from '@automaker/types';
|
|
|
|
// Default models for different contexts
|
|
console.log(DEFAULT_MODELS.claude); // 'claude-sonnet-4-20250514'
|
|
console.log(DEFAULT_MODELS.autoMode); // 'claude-sonnet-4-20250514'
|
|
console.log(DEFAULT_MODELS.chat); // 'claude-sonnet-4-20250514'
|
|
|
|
// Model alias mappings
|
|
console.log(CLAUDE_MODEL_MAP.haiku); // 'claude-haiku-4-5'
|
|
console.log(CLAUDE_MODEL_MAP.sonnet); // 'claude-sonnet-4-20250514'
|
|
console.log(CLAUDE_MODEL_MAP.opus); // 'claude-opus-4-6'
|
|
```
|
|
|
|
## Usage Example
|
|
|
|
```typescript
|
|
import { resolveModelString, DEFAULT_MODELS } from '@automaker/model-resolver';
|
|
import type { Feature } from '@automaker/types';
|
|
|
|
function prepareFeatureExecution(feature: Feature) {
|
|
// Resolve model from feature or use default
|
|
const model = resolveModelString(feature.model, DEFAULT_MODELS.autoMode);
|
|
|
|
console.log(`Executing feature with model: ${model}`);
|
|
|
|
return {
|
|
featureId: feature.id,
|
|
model,
|
|
// ... other options
|
|
};
|
|
}
|
|
|
|
// Example usage
|
|
const feature: Feature = {
|
|
id: 'auth-feature',
|
|
category: 'backend',
|
|
description: 'Add authentication',
|
|
model: 'opus', // User-friendly alias
|
|
};
|
|
|
|
prepareFeatureExecution(feature);
|
|
// Output: Executing feature with model: claude-opus-4-6
|
|
```
|
|
|
|
## Supported Models
|
|
|
|
### Current Model Aliases
|
|
|
|
- `haiku` → `claude-haiku-4-5`
|
|
- `sonnet` → `claude-sonnet-4-20250514`
|
|
- `opus` → `claude-opus-4-6`
|
|
|
|
### Model Selection Guide
|
|
|
|
- **Haiku**: Fast responses, simple tasks, lower cost
|
|
- **Sonnet**: Balanced performance, most tasks (recommended default)
|
|
- **Opus**: Maximum capability, complex reasoning, highest cost
|
|
|
|
## Dependencies
|
|
|
|
- `@automaker/types` - Model type definitions and constants
|
|
|
|
## Used By
|
|
|
|
- `@automaker/server` - Feature execution, agent chat, enhancement
|
|
|
|
## Notes
|
|
|
|
- Model strings that don't match aliases are passed through unchanged
|
|
- This allows direct use of specific model versions like `claude-sonnet-4-20250514`
|
|
- Always falls back to a sensible default if no model is specified
|