@@ -18,6 +18,7 @@ import (
1818 "github.com/google/uuid"
1919 "github.com/wavetermdev/waveterm/pkg/aiusechat/uctypes"
2020 "github.com/wavetermdev/waveterm/pkg/util/utilfn"
21+ "github.com/wavetermdev/waveterm/pkg/wavebase"
2122)
2223
2324// these conversions are based off the anthropic spec
@@ -27,7 +28,7 @@ import (
2728func buildAnthropicHTTPRequest (ctx context.Context , msgs []anthropicInputMessage , chatOpts uctypes.WaveChatOpts ) (* http.Request , error ) {
2829 opts := chatOpts .Config
2930 if opts .Model == "" {
30- return nil , errors .New ("opts. model is required" )
31+ return nil , errors .New ("ai: model is required" )
3132 }
3233 if chatOpts .ClientId == "" {
3334 return nil , errors .New ("chatOpts.ClientId is required" )
@@ -36,12 +37,7 @@ func buildAnthropicHTTPRequest(ctx context.Context, msgs []anthropicInputMessage
3637 // Set defaults
3738 endpoint := opts .Endpoint
3839 if endpoint == "" {
39- return nil , errors .New ("BaseURL is required" )
40- }
41-
42- apiVersion := opts .APIVersion
43- if apiVersion == "" {
44- apiVersion = AnthropicDefaultAPIVersion
40+ return nil , errors .New ("ai:endpoint is required" )
4541 }
4642
4743 maxTokens := opts .MaxTokens
@@ -168,10 +164,20 @@ func buildAnthropicHTTPRequest(ctx context.Context, msgs []anthropicInputMessage
168164 if opts .APIToken != "" {
169165 req .Header .Set ("x-api-key" , opts .APIToken )
170166 }
171- req .Header .Set ("anthropic-version" , apiVersion )
167+ req .Header .Set ("anthropic-version" , AnthropicDefaultAPIVersion )
172168 req .Header .Set ("accept" , "text/event-stream" )
173- req .Header .Set ("X-Wave-ClientId" , chatOpts .ClientId )
174- req .Header .Set ("X-Wave-APIType" , uctypes .APIType_AnthropicMessages )
169+ // Only send Wave-specific headers when using Wave provider
170+ if opts .Provider == uctypes .AIProvider_Wave {
171+ if chatOpts .ClientId != "" {
172+ req .Header .Set ("X-Wave-ClientId" , chatOpts .ClientId )
173+ }
174+ if chatOpts .ChatId != "" {
175+ req .Header .Set ("X-Wave-ChatId" , chatOpts .ChatId )
176+ }
177+ req .Header .Set ("X-Wave-Version" , wavebase .WaveVersion )
178+ req .Header .Set ("X-Wave-APIType" , uctypes .APIType_AnthropicMessages )
179+ req .Header .Set ("X-Wave-RequestType" , chatOpts .GetWaveRequestType ())
180+ }
175181
176182 return req , nil
177183}
0 commit comments