Changeset 0.23.0 (#153)

This commit is contained in:
2026-03-05 22:40:26 +00:00
parent 40d9834f64
commit 2fc620e1ac
62 changed files with 6214 additions and 362 deletions

View File

@@ -242,7 +242,7 @@ func (p *OpenAIProvider) ListModels(ctx context.Context, cfg ProviderConfig) ([]
httpReq.Header.Set(k, v)
}
resp, err := http.DefaultClient.Do(httpReq)
resp, err := cfg.Client().Do(httpReq)
if err != nil {
return nil, fmt.Errorf("list models: %w", err)
}
@@ -303,7 +303,7 @@ func (p *OpenAIProvider) Embed(ctx context.Context, cfg ProviderConfig, req Embe
httpReq.Header.Set(k, v)
}
resp, err := http.DefaultClient.Do(httpReq)
resp, err := cfg.Client().Do(httpReq)
if err != nil {
return nil, fmt.Errorf("embedding request: %w", err)
}
@@ -424,6 +424,12 @@ func (p *OpenAIProvider) doRequest(ctx context.Context, cfg ProviderConfig, req
oaiMsg.Name = m.Name
}
// Named messages: pass through for speaker attribution (v0.23.0)
// OpenAI supports "name" on any role to distinguish participants
if m.Name != "" && m.Role != "tool" {
oaiMsg.Name = m.Name
}
oaiReq.Messages = append(oaiReq.Messages, oaiMsg)
}
@@ -453,7 +459,7 @@ func (p *OpenAIProvider) doRequest(ctx context.Context, cfg ProviderConfig, req
httpReq.Header.Set(k, v)
}
resp, err := http.DefaultClient.Do(httpReq)
resp, err := cfg.Client().Do(httpReq)
if err != nil {
return nil, fmt.Errorf("provider request: %w", err)
}
@@ -474,7 +480,7 @@ type openaiMessage struct {
Content interface{} `json:"content,omitempty"` // string or []openaiContentPart
ToolCalls []openaiToolCall `json:"tool_calls,omitempty"` // assistant requesting tools
ToolCallID string `json:"tool_call_id,omitempty"` // role=tool result
Name string `json:"name,omitempty"` // tool name for role=tool
Name string `json:"name,omitempty"` // speaker name (tool or persona attribution)
}
// openaiContentPart represents a single element in a multimodal content array.