wave-agent-sdk 0.19.0 → 0.19.2

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.
@@ -23,7 +23,7 @@ Wave uses several environment variables to control its core functionality.
23
23
  | :--- | :--- | :--- |
24
24
  | `WAVE_API_KEY` | API key for the AI gateway. | - |
25
25
  | `WAVE_BASE_URL` | Base URL for the AI gateway. | - |
26
- | `WAVE_SERVER_URL` | Server URL for SSO authentication. | - |
26
+ | `WAVE_SERVER_URL` | Server URL for SSO authentication. | `https://codechat.codewave.163.com` |
27
27
  | `WAVE_CUSTOM_HEADERS` | Custom HTTP headers for the AI gateway. Newline-separated `Key: Value` pairs (e.g., `"X-Foo: bar\nAuthorization: Bearer xxx"`). | - |
28
28
  | `WAVE_MODEL` | The primary AI model to use for the agent. | `gemini-3-flash` |
29
29
  | `WAVE_FAST_MODEL` | The fast AI model to use for quick tasks. | `gemini-2.5-flash` |
@@ -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
- "thinking": {
14
- "type": "enabled",
15
- "budget_tokens": 1024
16
- },
17
- "temperature": 1.0
13
+ "options": {
14
+ "thinking": {
15
+ "type": "enabled",
16
+ "budget_tokens": 1024
17
+ },
18
+ "temperature": 1.0
19
+ }
18
20
  },
19
21
  "o3-mini": {
20
- "reasoning_effort": "high"
22
+ "options": {
23
+ "reasoning_effort": "high"
24
+ }
21
25
  },
22
26
  "gpt-4o": {
23
- "temperature": 0.5
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
- "temperature": null
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
- "thinking": {
67
- "type": "enabled",
68
- "budget_tokens": 1024
66
+ "options": {
67
+ "thinking": {
68
+ "type": "enabled",
69
+ "budget_tokens": 1024
70
+ }
69
71
  }
70
72
  },
71
73
  "o3-mini": {
72
- "reasoning_effort": "high"
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":"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"}
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
- ...extraParams,
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
- // Get model configuration - use injected agent model
526
- const { model: _model, fastModel: _fastModel, maxTokens: _maxTokens, permissionMode: _permissionMode, capabilities: _capabilities, fastModelConfig: _fastModelConfig, ...extraParams } = modelConfig;
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
- ? _fastModelConfig || {}
536
- : extraParams;
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
- // Get model configuration - use injected agent model
604
- const { model: _model, fastModel: _fastModel, maxTokens: _maxTokens, permissionMode: _permissionMode, capabilities: _capabilities, fastModelConfig: _fastModelConfig, ...extraParams } = modelConfig;
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
- ? _fastModelConfig || {}
614
- : extraParams;
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
- ...extraParams,
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
- ...activeExtraParams,
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":"authService.d.ts","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAM5E,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,qBAAqB,CAEtB;IACP,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IAE1D,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACH,YAAY,CACV,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5D,MAAM,IAAI;YASC,gBAAgB;IAU9B,WAAW,IAAI,MAAM;IAKrB,QAAQ,IAAI,UAAU;IAmBtB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgB5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM,GAAG,SAAS;IAKjC,YAAY,IAAI,MAAM;IAUhB,KAAK,CAAC,OAAO,CAAC,EAAE;QACpB,6DAA6D;QAC7D,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,mGAAmG;QACnG,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,oFAAoF;QACpF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCnB;;;OAGG;YACW,YAAY;IAyB1B,OAAO,CAAC,oBAAoB;IA6F5B,kBAAkB,IAAI,OAAO;IAW7B;;;OAGG;IACH,cAAc,IAAI,OAAO;IAgBzB;;;OAGG;IACG,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBtD;;;OAGG;YACW,YAAY;IA4D1B;;;OAGG;IACH,yEAAyE;IACzE,6BAA6B,IAAI,OAAO;IAwBxC,WAAW,IAAI,QAAQ,GAAG,SAAS;CAIpC;AAED,eAAO,MAAM,WAAW,aAA4B,CAAC;AAErD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,CA+C3E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAsC/C;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
1
+ {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAO5E,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,qBAAqB,CAEtB;IACP,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;IAE1D,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACH,YAAY,CACV,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5D,MAAM,IAAI;YASC,gBAAgB;IAU9B,WAAW,IAAI,MAAM;IAKrB,QAAQ,IAAI,UAAU;IAmBtB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgB5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhC,WAAW,IAAI,MAAM,GAAG,SAAS;IAKjC,YAAY,IAAI,MAAM;IAIhB,KAAK,CAAC,OAAO,CAAC,EAAE;QACpB,6DAA6D;QAC7D,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,mGAAmG;QACnG,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,oFAAoF;QACpF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCnB;;;OAGG;YACW,YAAY;IAyB1B,OAAO,CAAC,oBAAoB;IA6F5B,kBAAkB,IAAI,OAAO;IAW7B;;;OAGG;IACH,cAAc,IAAI,OAAO;IAgBzB;;;OAGG;IACG,4BAA4B,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBtD;;;OAGG;YACW,YAAY;IA4D1B;;;OAGG;IACH,yEAAyE;IACzE,6BAA6B,IAAI,OAAO;IAwBxC,WAAW,IAAI,QAAQ,GAAG,SAAS;CAIpC;AAED,eAAO,MAAM,WAAW,aAA4B,CAAC;AAErD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,CA+C3E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAsC/C;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -11,6 +11,7 @@ import { randomBytes } from "crypto";
11
11
  import { createServer } from "http";
12
12
  import { URL } from "url";
13
13
  import { logger } from "../utils/globalLogger.js";
14
+ import { DEFAULT_SERVER_URL } from "../utils/constants.js";
14
15
  /** Persistent anonymous ID for telemetry fallback when SSO is not authenticated. */
15
16
  let _anonymousId;
16
17
  export class AuthService {
@@ -113,11 +114,7 @@ export class AuthService {
113
114
  return config.SSO_TOKEN;
114
115
  }
115
116
  getServerUrl() {
116
- const url = this._serverUrl || process.env.WAVE_SERVER_URL;
117
- if (!url) {
118
- throw new Error("WAVE_SERVER_URL environment variable is not set. SSO authentication requires this to be configured.");
119
- }
120
- return url;
117
+ return this._serverUrl || process.env.WAVE_SERVER_URL || DEFAULT_SERVER_URL;
121
118
  }
122
119
  async login(options) {
123
120
  const serverUrl = options?.serverUrl || this.getServerUrl();
@@ -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;IA8Dd;;;;;OAKG;IACH,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAwBxD;;;;;OAKG;IACH,eAAe,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAmBjE;;;;OAIG;IACH,wBAAwB,IAAI,OAAO;IAkBnC;;;;OAIG;IACH,0BAA0B,IAAI,MAAM;IAqBpC;;;;;OAKG;IACH,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAwBzD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;YAKf,sBAAsB;IAqBpC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAwB/B;;OAEG;IACH,sBAAsB,IAClB,OAAO,CAAC,OAAO,uBAAuB,EAAE,eAAe,CAAC,GACxD,SAAS;IAIb;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAa1D;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiClE;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAuChB;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAKzE;;OAEG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAapC;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;IACG,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKjE;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;CAGnE;AAKD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,2BAA2B,CAsD7B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC9C,OAAO,GAAE,uBAA4B,GACpC,wBAAwB,CAoC1B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,iBAAiB,GAAG,IAAI,CA4C1B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GACd,iBAAiB,GAAG,IAAI,CA0K1B"}
1
+ {"version":3,"file":"configurationService.d.ts","sourceRoot":"","sources":["../../src/services/configurationService.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { isValidHookEvent } from "../types/hooks.js";
11
11
  import { logger } from "../utils/globalLogger.js";
12
12
  import { getAllConfigPaths, getExistingConfigPaths, getUserConfigPaths, getProjectConfigPaths, } from "../utils/configPaths.js";
13
13
  import { isValidEnvironmentVars, } from "../types/environment.js";
14
- import { DEFAULT_WAVE_MAX_INPUT_TOKENS, DEFAULT_WAVE_MAX_OUTPUT_TOKENS, } from "../utils/constants.js";
14
+ import { DEFAULT_WAVE_MAX_INPUT_TOKENS, DEFAULT_WAVE_MAX_OUTPUT_TOKENS, DEFAULT_SERVER_URL, } from "../utils/constants.js";
15
15
  import { parseCustomHeaders } from "../utils/stringUtils.js";
16
16
  import { getRemoteSettingsSync, mergeRemoteSettings, } from "./remoteSettingsService.js";
17
17
  import { createAuthAwareFetch } from "./authService.js";
@@ -325,9 +325,11 @@ export class ConfigurationService {
325
325
  */
326
326
  resolveGatewayConfig(apiKey, baseURL, defaultHeaders, fetchOptions, fetch) {
327
327
  // Check for SSO token first - if present and server URL is available, use SSO mode
328
- // Server URL resolution: options > process.env
328
+ // Server URL resolution: options > process.env > default
329
329
  const ssoToken = this.readSSOToken();
330
- const serverUrl = this.options.serverUrl || process.env.WAVE_SERVER_URL;
330
+ const serverUrl = this.options.serverUrl ||
331
+ process.env.WAVE_SERVER_URL ||
332
+ DEFAULT_SERVER_URL;
331
333
  if (ssoToken && serverUrl) {
332
334
  const baseFetch = fetch ?? this.options.fetch ?? globalThis.fetch;
333
335
  const authAwareFetch = createAuthAwareFetch(baseFetch);
@@ -420,19 +422,12 @@ export class ConfigurationService {
420
422
  maxTokens: resolvedMaxTokens,
421
423
  permissionMode: permissionMode ?? this.options.permissionMode,
422
424
  };
423
- // Resolve fast model hyperparams from models[fastModel], stripping
424
- // structural fields so only hyperparameters remain. Set on baseConfig
425
- // before the modelSpecificConfig spread so it isn't overwritten.
426
- const fastModelConfigSource = resolvedFastModel &&
425
+ // Resolve fast model generation params from models[fastModel].options.
426
+ // Set on baseConfig before the modelSpecificConfig spread so it isn't overwritten.
427
+ const fastModelSource = resolvedFastModel &&
427
428
  this.currentConfiguration?.models?.[resolvedFastModel];
428
- if (fastModelConfigSource) {
429
- const { model: _fm, fastModel: _ffm, maxTokens: _fmt, permissionMode: _fpm, capabilities: _fcap, ...fastHyperparams } = fastModelConfigSource;
430
- void _fm;
431
- void _ffm;
432
- void _fmt;
433
- void _fpm;
434
- void _fcap;
435
- baseConfig.fastModelConfig = fastHyperparams;
429
+ if (fastModelSource && fastModelSource.options) {
430
+ baseConfig.fastModelOptions = fastModelSource.options;
436
431
  }
437
432
  // Merge model-specific settings from configuration
438
433
  const modelSpecificConfig = resolvedAgentModel &&
@@ -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
- [key: string]: unknown;
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,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
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"}
@@ -23,4 +23,9 @@ export declare const USER_MEMORY_FILE: string;
23
23
  */
24
24
  export declare const DEFAULT_WAVE_MAX_INPUT_TOKENS = 200000;
25
25
  export declare const DEFAULT_WAVE_MAX_OUTPUT_TOKENS = 32000;
26
+ /**
27
+ * Default server URL for SSO authentication.
28
+ * Overridden by WAVE_SERVER_URL env var or programmatic AgentOptions.serverUrl.
29
+ */
30
+ export declare const DEFAULT_SERVER_URL = "https://codechat.codewave.163.com";
26
31
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA6C,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,6BAA6B,SAAS,CAAC;AACpD,eAAO,MAAM,8BAA8B,QAAQ,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAmC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA6C,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAyC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,6BAA6B,SAAS,CAAC;AACpD,eAAO,MAAM,8BAA8B,QAAQ,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC"}
@@ -25,3 +25,8 @@ export const USER_MEMORY_FILE = path.join(DATA_DIRECTORY, "AGENTS.md");
25
25
  */
26
26
  export const DEFAULT_WAVE_MAX_INPUT_TOKENS = 200000; // Default token limit
27
27
  export const DEFAULT_WAVE_MAX_OUTPUT_TOKENS = 32000; // Default output token limit (aligned with Claude Code)
28
+ /**
29
+ * Default server URL for SSO authentication.
30
+ * Overridden by WAVE_SERVER_URL env var or programmatic AgentOptions.serverUrl.
31
+ */
32
+ export const DEFAULT_SERVER_URL = "https://codechat.codewave.163.com";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wave-agent-sdk",
3
- "version": "0.19.0",
3
+ "version": "0.19.2",
4
4
  "description": "SDK for building AI-powered development tools and agents",
5
5
  "keywords": [
6
6
  "ai",
@@ -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
- ...extraParams,
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
- // Get model configuration - use injected agent model
865
- const {
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
- ? _fastModelConfig || {}
884
- : extraParams;
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
- // Get model configuration - use injected agent model
990
- const {
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
- ? _fastModelConfig || {}
1009
- : extraParams;
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
- ...extraParams,
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
- ...activeExtraParams,
1158
+ ...(modelConfig.fastModelOptions || {}),
1236
1159
  });
1237
1160
 
1238
1161
  // Strip images from messages to reduce token usage (same as compact)
@@ -21,6 +21,7 @@ import { createServer, Server } from "http";
21
21
  import { URL } from "url";
22
22
  import type { AuthConfig, AuthUser, TokenResponse } from "../types/auth.js";
23
23
  import { logger } from "../utils/globalLogger.js";
24
+ import { DEFAULT_SERVER_URL } from "../utils/constants.js";
24
25
 
25
26
  /** Persistent anonymous ID for telemetry fallback when SSO is not authenticated. */
26
27
  let _anonymousId: string | undefined;
@@ -137,13 +138,7 @@ export class AuthService {
137
138
  }
138
139
 
139
140
  getServerUrl(): string {
140
- const url = this._serverUrl || process.env.WAVE_SERVER_URL;
141
- if (!url) {
142
- throw new Error(
143
- "WAVE_SERVER_URL environment variable is not set. SSO authentication requires this to be configured.",
144
- );
145
- }
146
- return url;
141
+ return this._serverUrl || process.env.WAVE_SERVER_URL || DEFAULT_SERVER_URL;
147
142
  }
148
143
 
149
144
  async login(options?: {
@@ -39,6 +39,7 @@ import {
39
39
  import {
40
40
  DEFAULT_WAVE_MAX_INPUT_TOKENS,
41
41
  DEFAULT_WAVE_MAX_OUTPUT_TOKENS,
42
+ DEFAULT_SERVER_URL,
42
43
  } from "../utils/constants.js";
43
44
  import { ClientOptions } from "openai";
44
45
  import { parseCustomHeaders } from "../utils/stringUtils.js";
@@ -420,9 +421,12 @@ export class ConfigurationService {
420
421
  fetch?: ClientOptions["fetch"],
421
422
  ): GatewayConfig {
422
423
  // Check for SSO token first - if present and server URL is available, use SSO mode
423
- // Server URL resolution: options > process.env
424
+ // Server URL resolution: options > process.env > default
424
425
  const ssoToken = this.readSSOToken();
425
- const serverUrl = this.options.serverUrl || process.env.WAVE_SERVER_URL;
426
+ const serverUrl =
427
+ this.options.serverUrl ||
428
+ process.env.WAVE_SERVER_URL ||
429
+ DEFAULT_SERVER_URL;
426
430
  if (ssoToken && serverUrl) {
427
431
  const baseFetch = fetch ?? this.options.fetch ?? globalThis.fetch;
428
432
  const authAwareFetch = createAuthAwareFetch(
@@ -534,27 +538,13 @@ export class ConfigurationService {
534
538
  permissionMode: permissionMode ?? this.options.permissionMode,
535
539
  };
536
540
 
537
- // Resolve fast model hyperparams from models[fastModel], stripping
538
- // structural fields so only hyperparameters remain. Set on baseConfig
539
- // before the modelSpecificConfig spread so it isn't overwritten.
540
- const fastModelConfigSource =
541
+ // Resolve fast model generation params from models[fastModel].options.
542
+ // Set on baseConfig before the modelSpecificConfig spread so it isn't overwritten.
543
+ const fastModelSource =
541
544
  resolvedFastModel &&
542
545
  this.currentConfiguration?.models?.[resolvedFastModel];
543
- if (fastModelConfigSource) {
544
- const {
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;
546
+ if (fastModelSource && fastModelSource.options) {
547
+ baseConfig.fastModelOptions = fastModelSource.options;
558
548
  }
559
549
 
560
550
  // Merge model-specific settings from configuration
@@ -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
- [key: string]: unknown;
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
  }
@@ -31,3 +31,9 @@ export const USER_MEMORY_FILE = path.join(DATA_DIRECTORY, "AGENTS.md");
31
31
  */
32
32
  export const DEFAULT_WAVE_MAX_INPUT_TOKENS = 200000; // Default token limit
33
33
  export const DEFAULT_WAVE_MAX_OUTPUT_TOKENS = 32000; // Default output token limit (aligned with Claude Code)
34
+
35
+ /**
36
+ * Default server URL for SSO authentication.
37
+ * Overridden by WAVE_SERVER_URL env var or programmatic AgentOptions.serverUrl.
38
+ */
39
+ export const DEFAULT_SERVER_URL = "https://codechat.codewave.163.com";