wave-agent-sdk 0.19.0 → 0.19.1
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.
- package/builtin/skills/settings/MODELS.md +19 -11
- package/builtin/skills/settings/SKILL.md +8 -4
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +11 -46
- package/dist/services/configurationService.d.ts.map +1 -1
- package/dist/services/configurationService.js +5 -12
- package/dist/types/config.d.ts +4 -2
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/services/aiService.ts +11 -88
- package/src/services/configurationService.ts +5 -19
- package/src/types/config.ts +4 -2
|
@@ -10,17 +10,23 @@ You can define overrides for specific models in the `models` field. The key shou
|
|
|
10
10
|
{
|
|
11
11
|
"models": {
|
|
12
12
|
"claude-3-7-sonnet-20250219": {
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
"options": {
|
|
14
|
+
"thinking": {
|
|
15
|
+
"type": "enabled",
|
|
16
|
+
"budget_tokens": 1024
|
|
17
|
+
},
|
|
18
|
+
"temperature": 1.0
|
|
19
|
+
}
|
|
18
20
|
},
|
|
19
21
|
"o3-mini": {
|
|
20
|
-
"
|
|
22
|
+
"options": {
|
|
23
|
+
"reasoning_effort": "high"
|
|
24
|
+
}
|
|
21
25
|
},
|
|
22
26
|
"gpt-4o": {
|
|
23
|
-
"
|
|
27
|
+
"options": {
|
|
28
|
+
"temperature": 0.5
|
|
29
|
+
}
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
}
|
|
@@ -28,7 +34,7 @@ You can define overrides for specific models in the `models` field. The key shou
|
|
|
28
34
|
|
|
29
35
|
## Supported Parameters
|
|
30
36
|
|
|
31
|
-
Wave supports passing arbitrary parameters to the underlying AI provider. Common parameters include:
|
|
37
|
+
Generation parameters are nested under the `options` field within each model's configuration. Wave supports passing arbitrary parameters to the underlying AI provider. Common parameters include:
|
|
32
38
|
|
|
33
39
|
- `temperature`: Controls randomness (0.0 to 2.0).
|
|
34
40
|
- `maxTokens`: Maximum number of tokens to generate in the response.
|
|
@@ -39,7 +45,7 @@ Wave supports passing arbitrary parameters to the underlying AI provider. Common
|
|
|
39
45
|
|
|
40
46
|
## Model Capabilities
|
|
41
47
|
|
|
42
|
-
Wave needs to know whether a model supports certain features. Instead of guessing from the model name, you declare these explicitly via the `capabilities` field
|
|
48
|
+
Wave needs to know whether a model supports certain features. Instead of guessing from the model name, you declare these explicitly via the `capabilities` field. Note that `capabilities` is set at the top level of the model configuration, **not** inside the `options` field — `options` is reserved for generation parameters only.
|
|
43
49
|
|
|
44
50
|
- `vision` (default: `true`): Whether the model can accept image inputs. When `false`, images are stripped and replaced with text placeholders.
|
|
45
51
|
- `promptCaching` (default: `false`): Whether the model supports ephemeral prompt caching (e.g., Anthropic's `cache_control` markers). When `true`, Wave injects cache markers on the system prompt and last user message.
|
|
@@ -76,13 +82,15 @@ You can also set `capabilities` at the top level of `settings.json` to apply to
|
|
|
76
82
|
|
|
77
83
|
## Unsetting Default Parameters
|
|
78
84
|
|
|
79
|
-
If a model does not support a default parameter (like `temperature` for some reasoning models), you can explicitly set it to `null` to ensure it is not sent to the provider.
|
|
85
|
+
If a model does not support a default parameter (like `temperature` for some reasoning models), you can explicitly set it to `null` inside the `options` field to ensure it is not sent to the provider.
|
|
80
86
|
|
|
81
87
|
```json
|
|
82
88
|
{
|
|
83
89
|
"models": {
|
|
84
90
|
"o1-preview": {
|
|
85
|
-
"
|
|
91
|
+
"options": {
|
|
92
|
+
"temperature": null
|
|
93
|
+
}
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
}
|
|
@@ -63,13 +63,17 @@ For detailed model configuration, see [MODELS.md](${WAVE_SKILL_DIR}/MODELS.md).
|
|
|
63
63
|
{
|
|
64
64
|
"models": {
|
|
65
65
|
"claude-3-7-sonnet-20250219": {
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
66
|
+
"options": {
|
|
67
|
+
"thinking": {
|
|
68
|
+
"type": "enabled",
|
|
69
|
+
"budget_tokens": 1024
|
|
70
|
+
}
|
|
69
71
|
}
|
|
70
72
|
},
|
|
71
73
|
"o3-mini": {
|
|
72
|
-
"
|
|
74
|
+
"options": {
|
|
75
|
+
"reasoning_effort": "high"
|
|
76
|
+
}
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiService.d.ts","sourceRoot":"","sources":["../../src/services/aiService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAGL,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAuD7B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AA6DD,MAAM,WAAW,gBAAgB;IAE/B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IAGzB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EACP,MAAM,GACN,MAAM,GACN,UAAU,GACV;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAGrD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;KACnD,KAAK,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EACV,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,eAAe,GACf,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAuBD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"aiService.d.ts","sourceRoot":"","sources":["../../src/services/aiService.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,16 +144,9 @@ export async function callAgent(options) {
|
|
|
144
144
|
if (supportsPromptCaching(modelConfig.capabilities)) {
|
|
145
145
|
openaiMessages = transformMessagesForExplicitCache(openaiMessages, modelConfig.capabilities);
|
|
146
146
|
}
|
|
147
|
-
// Get model configuration - use injected modelConfig with optional override
|
|
148
|
-
const { model: _model, fastModel: _fastModel, maxTokens: _maxTokens, permissionMode: _permissionMode, capabilities: _capabilities, ...extraParams } = modelConfig;
|
|
149
|
-
void _model;
|
|
150
|
-
void _fastModel;
|
|
151
|
-
void _maxTokens;
|
|
152
|
-
void _permissionMode;
|
|
153
|
-
void _capabilities;
|
|
154
147
|
const openaiModelConfig = getModelConfig(model || modelConfig.model, {
|
|
155
148
|
max_tokens: resolvedMaxTokens,
|
|
156
|
-
...
|
|
149
|
+
...(modelConfig.options || {}),
|
|
157
150
|
});
|
|
158
151
|
// Determine if streaming is needed
|
|
159
152
|
const isStreaming = !!(onContentUpdate ||
|
|
@@ -522,18 +515,11 @@ export async function compactMessages(options) {
|
|
|
522
515
|
fetchOptions: gatewayConfig.fetchOptions,
|
|
523
516
|
fetch: gatewayConfig.fetch,
|
|
524
517
|
});
|
|
525
|
-
//
|
|
526
|
-
|
|
527
|
-
void _model;
|
|
528
|
-
void _fastModel;
|
|
529
|
-
void _maxTokens;
|
|
530
|
-
void _permissionMode;
|
|
531
|
-
void _capabilities;
|
|
532
|
-
// When a fast model override is provided, use the fast model's hyperparams
|
|
533
|
-
// (if configured); otherwise fall back to the agent model's extraParams.
|
|
518
|
+
// When a fast model override is provided, use the fast model's options
|
|
519
|
+
// (if configured); otherwise fall back to the agent model's options.
|
|
534
520
|
const activeExtraParams = options.model
|
|
535
|
-
?
|
|
536
|
-
:
|
|
521
|
+
? modelConfig.fastModelOptions || {}
|
|
522
|
+
: modelConfig.options || {};
|
|
537
523
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
538
524
|
temperature: 0.1,
|
|
539
525
|
max_tokens: 8192,
|
|
@@ -600,18 +586,11 @@ export async function processWebContent(options) {
|
|
|
600
586
|
fetchOptions: gatewayConfig.fetchOptions,
|
|
601
587
|
fetch: gatewayConfig.fetch,
|
|
602
588
|
});
|
|
603
|
-
//
|
|
604
|
-
|
|
605
|
-
void _model;
|
|
606
|
-
void _fastModel;
|
|
607
|
-
void _maxTokens;
|
|
608
|
-
void _permissionMode;
|
|
609
|
-
void _capabilities;
|
|
610
|
-
// When a fast model override is provided, use the fast model's hyperparams
|
|
611
|
-
// (if configured); otherwise fall back to the agent model's extraParams.
|
|
589
|
+
// When a fast model override is provided, use the fast model's options
|
|
590
|
+
// (if configured); otherwise fall back to the agent model's options.
|
|
612
591
|
const activeExtraParams = options.model
|
|
613
|
-
?
|
|
614
|
-
:
|
|
592
|
+
? modelConfig.fastModelOptions || {}
|
|
593
|
+
: modelConfig.options || {};
|
|
615
594
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
616
595
|
temperature: 0.1,
|
|
617
596
|
max_tokens: 4096,
|
|
@@ -675,17 +654,10 @@ export async function btw(options) {
|
|
|
675
654
|
fetchOptions: gatewayConfig.fetchOptions,
|
|
676
655
|
fetch: gatewayConfig.fetch,
|
|
677
656
|
});
|
|
678
|
-
// Get model configuration - use injected agent model
|
|
679
|
-
const { model: _model, fastModel: _fastModel, maxTokens: _maxTokens, permissionMode: _permissionMode, capabilities: _capabilities, ...extraParams } = modelConfig;
|
|
680
|
-
void _model;
|
|
681
|
-
void _fastModel;
|
|
682
|
-
void _maxTokens;
|
|
683
|
-
void _permissionMode;
|
|
684
|
-
void _capabilities;
|
|
685
657
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
686
658
|
temperature: 0.1,
|
|
687
659
|
max_tokens: 4096,
|
|
688
|
-
...
|
|
660
|
+
...(modelConfig.options || {}),
|
|
689
661
|
});
|
|
690
662
|
try {
|
|
691
663
|
const response = await openai.chat.completions.create({
|
|
@@ -739,17 +711,10 @@ export async function evaluateGoal(options) {
|
|
|
739
711
|
fetchOptions: gatewayConfig.fetchOptions,
|
|
740
712
|
fetch: gatewayConfig.fetch,
|
|
741
713
|
});
|
|
742
|
-
const { model: _model, fastModel: _fastModel, maxTokens: _maxTokens, permissionMode: _permissionMode, fastModelConfig: _fastModelConfig, } = modelConfig;
|
|
743
|
-
void _model;
|
|
744
|
-
void _fastModel;
|
|
745
|
-
void _maxTokens;
|
|
746
|
-
void _permissionMode;
|
|
747
|
-
// evaluateGoal always uses the fast model; use its hyperparams if configured.
|
|
748
|
-
const activeExtraParams = _fastModelConfig || {};
|
|
749
714
|
const openaiModelConfig = getModelConfig(model, {
|
|
750
715
|
temperature: 0,
|
|
751
716
|
max_tokens: 200,
|
|
752
|
-
...
|
|
717
|
+
...(modelConfig.fastModelOptions || {}),
|
|
753
718
|
});
|
|
754
719
|
// Strip images from messages to reduce token usage (same as compact)
|
|
755
720
|
const cleanedMessages = messages.map((msg) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurationService.d.ts","sourceRoot":"","sources":["../../src/services/configurationService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,EACL,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAUvC;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAMvC;;OAEG;IACG,uBAAuB,CAC3B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC;IAkEnC;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB;IAkLlE;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAwC7D;;;OAGG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAcrD;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,EAC5C,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,aAAa;IA8EhB;;;;;;;;OAQG;IACH,kBAAkB,CAChB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,GAC9B,WAAW;
|
|
1
|
+
{"version":3,"file":"configurationService.d.ts","sourceRoot":"","sources":["../../src/services/configurationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -420,19 +420,12 @@ export class ConfigurationService {
|
|
|
420
420
|
maxTokens: resolvedMaxTokens,
|
|
421
421
|
permissionMode: permissionMode ?? this.options.permissionMode,
|
|
422
422
|
};
|
|
423
|
-
// Resolve fast model
|
|
424
|
-
//
|
|
425
|
-
|
|
426
|
-
const fastModelConfigSource = resolvedFastModel &&
|
|
423
|
+
// Resolve fast model generation params from models[fastModel].options.
|
|
424
|
+
// Set on baseConfig before the modelSpecificConfig spread so it isn't overwritten.
|
|
425
|
+
const fastModelSource = resolvedFastModel &&
|
|
427
426
|
this.currentConfiguration?.models?.[resolvedFastModel];
|
|
428
|
-
if (
|
|
429
|
-
|
|
430
|
-
void _fm;
|
|
431
|
-
void _ffm;
|
|
432
|
-
void _fmt;
|
|
433
|
-
void _fpm;
|
|
434
|
-
void _fcap;
|
|
435
|
-
baseConfig.fastModelConfig = fastHyperparams;
|
|
427
|
+
if (fastModelSource && fastModelSource.options) {
|
|
428
|
+
baseConfig.fastModelOptions = fastModelSource.options;
|
|
436
429
|
}
|
|
437
430
|
// Merge model-specific settings from configuration
|
|
438
431
|
const modelSpecificConfig = resolvedAgentModel &&
|
package/dist/types/config.d.ts
CHANGED
|
@@ -22,8 +22,10 @@ export interface ModelConfig {
|
|
|
22
22
|
fastModel?: string;
|
|
23
23
|
maxTokens?: number;
|
|
24
24
|
permissionMode?: PermissionMode;
|
|
25
|
-
fastModelConfig?: Record<string, unknown>;
|
|
26
25
|
capabilities?: ModelCapabilities;
|
|
27
|
-
|
|
26
|
+
/** Generation params passed through to the API provider (temperature, thinking, etc.) */
|
|
27
|
+
options?: Record<string, unknown>;
|
|
28
|
+
/** Fast model generation params (resolved from models[fastModel].options) */
|
|
29
|
+
fastModelOptions?: Record<string, unknown>;
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mGAAmG;IACnG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mGAAmG;IACnG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C"}
|
package/package.json
CHANGED
|
@@ -313,24 +313,9 @@ export async function callAgent(
|
|
|
313
313
|
);
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
// Get model configuration - use injected modelConfig with optional override
|
|
317
|
-
const {
|
|
318
|
-
model: _model,
|
|
319
|
-
fastModel: _fastModel,
|
|
320
|
-
maxTokens: _maxTokens,
|
|
321
|
-
permissionMode: _permissionMode,
|
|
322
|
-
capabilities: _capabilities,
|
|
323
|
-
...extraParams
|
|
324
|
-
} = modelConfig;
|
|
325
|
-
void _model;
|
|
326
|
-
void _fastModel;
|
|
327
|
-
void _maxTokens;
|
|
328
|
-
void _permissionMode;
|
|
329
|
-
void _capabilities;
|
|
330
|
-
|
|
331
316
|
const openaiModelConfig = getModelConfig(model || modelConfig.model, {
|
|
332
317
|
max_tokens: resolvedMaxTokens,
|
|
333
|
-
...
|
|
318
|
+
...(modelConfig.options || {}),
|
|
334
319
|
});
|
|
335
320
|
|
|
336
321
|
// Determine if streaming is needed
|
|
@@ -861,27 +846,11 @@ export async function compactMessages(
|
|
|
861
846
|
fetch: gatewayConfig.fetch,
|
|
862
847
|
});
|
|
863
848
|
|
|
864
|
-
//
|
|
865
|
-
|
|
866
|
-
model: _model,
|
|
867
|
-
fastModel: _fastModel,
|
|
868
|
-
maxTokens: _maxTokens,
|
|
869
|
-
permissionMode: _permissionMode,
|
|
870
|
-
capabilities: _capabilities,
|
|
871
|
-
fastModelConfig: _fastModelConfig,
|
|
872
|
-
...extraParams
|
|
873
|
-
} = modelConfig;
|
|
874
|
-
void _model;
|
|
875
|
-
void _fastModel;
|
|
876
|
-
void _maxTokens;
|
|
877
|
-
void _permissionMode;
|
|
878
|
-
void _capabilities;
|
|
879
|
-
|
|
880
|
-
// When a fast model override is provided, use the fast model's hyperparams
|
|
881
|
-
// (if configured); otherwise fall back to the agent model's extraParams.
|
|
849
|
+
// When a fast model override is provided, use the fast model's options
|
|
850
|
+
// (if configured); otherwise fall back to the agent model's options.
|
|
882
851
|
const activeExtraParams = options.model
|
|
883
|
-
?
|
|
884
|
-
:
|
|
852
|
+
? modelConfig.fastModelOptions || {}
|
|
853
|
+
: modelConfig.options || {};
|
|
885
854
|
|
|
886
855
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
887
856
|
temperature: 0.1,
|
|
@@ -986,27 +955,11 @@ export async function processWebContent(
|
|
|
986
955
|
fetch: gatewayConfig.fetch,
|
|
987
956
|
});
|
|
988
957
|
|
|
989
|
-
//
|
|
990
|
-
|
|
991
|
-
model: _model,
|
|
992
|
-
fastModel: _fastModel,
|
|
993
|
-
maxTokens: _maxTokens,
|
|
994
|
-
permissionMode: _permissionMode,
|
|
995
|
-
capabilities: _capabilities,
|
|
996
|
-
fastModelConfig: _fastModelConfig,
|
|
997
|
-
...extraParams
|
|
998
|
-
} = modelConfig;
|
|
999
|
-
void _model;
|
|
1000
|
-
void _fastModel;
|
|
1001
|
-
void _maxTokens;
|
|
1002
|
-
void _permissionMode;
|
|
1003
|
-
void _capabilities;
|
|
1004
|
-
|
|
1005
|
-
// When a fast model override is provided, use the fast model's hyperparams
|
|
1006
|
-
// (if configured); otherwise fall back to the agent model's extraParams.
|
|
958
|
+
// When a fast model override is provided, use the fast model's options
|
|
959
|
+
// (if configured); otherwise fall back to the agent model's options.
|
|
1007
960
|
const activeExtraParams = options.model
|
|
1008
|
-
?
|
|
1009
|
-
:
|
|
961
|
+
? modelConfig.fastModelOptions || {}
|
|
962
|
+
: modelConfig.options || {};
|
|
1010
963
|
|
|
1011
964
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
1012
965
|
temperature: 0.1,
|
|
@@ -1105,25 +1058,10 @@ export async function btw(options: BtwOptions): Promise<BtwResult> {
|
|
|
1105
1058
|
fetch: gatewayConfig.fetch,
|
|
1106
1059
|
});
|
|
1107
1060
|
|
|
1108
|
-
// Get model configuration - use injected agent model
|
|
1109
|
-
const {
|
|
1110
|
-
model: _model,
|
|
1111
|
-
fastModel: _fastModel,
|
|
1112
|
-
maxTokens: _maxTokens,
|
|
1113
|
-
permissionMode: _permissionMode,
|
|
1114
|
-
capabilities: _capabilities,
|
|
1115
|
-
...extraParams
|
|
1116
|
-
} = modelConfig;
|
|
1117
|
-
void _model;
|
|
1118
|
-
void _fastModel;
|
|
1119
|
-
void _maxTokens;
|
|
1120
|
-
void _permissionMode;
|
|
1121
|
-
void _capabilities;
|
|
1122
|
-
|
|
1123
1061
|
const openaiModelConfig = getModelConfig(options.model || modelConfig.model, {
|
|
1124
1062
|
temperature: 0.1,
|
|
1125
1063
|
max_tokens: 4096,
|
|
1126
|
-
...
|
|
1064
|
+
...(modelConfig.options || {}),
|
|
1127
1065
|
});
|
|
1128
1066
|
|
|
1129
1067
|
try {
|
|
@@ -1214,25 +1152,10 @@ export async function evaluateGoal(
|
|
|
1214
1152
|
fetch: gatewayConfig.fetch,
|
|
1215
1153
|
});
|
|
1216
1154
|
|
|
1217
|
-
const {
|
|
1218
|
-
model: _model,
|
|
1219
|
-
fastModel: _fastModel,
|
|
1220
|
-
maxTokens: _maxTokens,
|
|
1221
|
-
permissionMode: _permissionMode,
|
|
1222
|
-
fastModelConfig: _fastModelConfig,
|
|
1223
|
-
} = modelConfig;
|
|
1224
|
-
void _model;
|
|
1225
|
-
void _fastModel;
|
|
1226
|
-
void _maxTokens;
|
|
1227
|
-
void _permissionMode;
|
|
1228
|
-
|
|
1229
|
-
// evaluateGoal always uses the fast model; use its hyperparams if configured.
|
|
1230
|
-
const activeExtraParams = _fastModelConfig || {};
|
|
1231
|
-
|
|
1232
1155
|
const openaiModelConfig = getModelConfig(model, {
|
|
1233
1156
|
temperature: 0,
|
|
1234
1157
|
max_tokens: 200,
|
|
1235
|
-
...
|
|
1158
|
+
...(modelConfig.fastModelOptions || {}),
|
|
1236
1159
|
});
|
|
1237
1160
|
|
|
1238
1161
|
// Strip images from messages to reduce token usage (same as compact)
|
|
@@ -534,27 +534,13 @@ export class ConfigurationService {
|
|
|
534
534
|
permissionMode: permissionMode ?? this.options.permissionMode,
|
|
535
535
|
};
|
|
536
536
|
|
|
537
|
-
// Resolve fast model
|
|
538
|
-
//
|
|
539
|
-
|
|
540
|
-
const fastModelConfigSource =
|
|
537
|
+
// Resolve fast model generation params from models[fastModel].options.
|
|
538
|
+
// Set on baseConfig before the modelSpecificConfig spread so it isn't overwritten.
|
|
539
|
+
const fastModelSource =
|
|
541
540
|
resolvedFastModel &&
|
|
542
541
|
this.currentConfiguration?.models?.[resolvedFastModel];
|
|
543
|
-
if (
|
|
544
|
-
|
|
545
|
-
model: _fm,
|
|
546
|
-
fastModel: _ffm,
|
|
547
|
-
maxTokens: _fmt,
|
|
548
|
-
permissionMode: _fpm,
|
|
549
|
-
capabilities: _fcap,
|
|
550
|
-
...fastHyperparams
|
|
551
|
-
} = fastModelConfigSource;
|
|
552
|
-
void _fm;
|
|
553
|
-
void _ffm;
|
|
554
|
-
void _fmt;
|
|
555
|
-
void _fpm;
|
|
556
|
-
void _fcap;
|
|
557
|
-
baseConfig.fastModelConfig = fastHyperparams;
|
|
542
|
+
if (fastModelSource && fastModelSource.options) {
|
|
543
|
+
baseConfig.fastModelOptions = fastModelSource.options;
|
|
558
544
|
}
|
|
559
545
|
|
|
560
546
|
// Merge model-specific settings from configuration
|
package/src/types/config.ts
CHANGED
|
@@ -26,7 +26,9 @@ export interface ModelConfig {
|
|
|
26
26
|
fastModel?: string;
|
|
27
27
|
maxTokens?: number;
|
|
28
28
|
permissionMode?: PermissionMode;
|
|
29
|
-
fastModelConfig?: Record<string, unknown>;
|
|
30
29
|
capabilities?: ModelCapabilities;
|
|
31
|
-
|
|
30
|
+
/** Generation params passed through to the API provider (temperature, thinking, etc.) */
|
|
31
|
+
options?: Record<string, unknown>;
|
|
32
|
+
/** Fast model generation params (resolved from models[fastModel].options) */
|
|
33
|
+
fastModelOptions?: Record<string, unknown>;
|
|
32
34
|
}
|