Skip to content

Commit 864eab1

Browse files
authored
Session.SetModel shouldn't accept a variadic option (#904)
* Session.SetModel shouldn't accept a variadic option * cleanup
1 parent 6c677af commit 864eab1

File tree

3 files changed

+8
-10
lines changed

3 files changed

+8
-10
lines changed

go/internal/e2e/rpc_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,7 @@ func TestSessionRpc(t *testing.T) {
202202
if err != nil {
203203
t.Fatalf("Failed to create session: %v", err)
204204
}
205-
206-
if err := session.SetModel(t.Context(), "gpt-4.1", copilot.SetModelOptions{ReasoningEffort: "high"}); err != nil {
205+
if err := session.SetModel(t.Context(), "gpt-4.1", &copilot.SetModelOptions{ReasoningEffort: copilot.String("high")}); err != nil {
207206
t.Fatalf("SetModel returned error: %v", err)
208207
}
209208
})

go/internal/e2e/session_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ func TestSetModelWithReasoningEffort(t *testing.T) {
966966
}
967967
})
968968

969-
if err := session.SetModel(t.Context(), "gpt-4.1", copilot.SetModelOptions{ReasoningEffort: "high"}); err != nil {
969+
if err := session.SetModel(t.Context(), "gpt-4.1", &copilot.SetModelOptions{ReasoningEffort: copilot.String("high")}); err != nil {
970970
t.Fatalf("SetModel returned error: %v", err)
971971
}
972972

go/session.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -792,25 +792,24 @@ func (s *Session) Abort(ctx context.Context) error {
792792
// SetModelOptions configures optional parameters for SetModel.
793793
type SetModelOptions struct {
794794
// ReasoningEffort sets the reasoning effort level for the new model (e.g., "low", "medium", "high", "xhigh").
795-
ReasoningEffort string
795+
ReasoningEffort *string
796796
}
797797

798798
// SetModel changes the model for this session.
799799
// The new model takes effect for the next message. Conversation history is preserved.
800800
//
801801
// Example:
802802
//
803-
// if err := session.SetModel(context.Background(), "gpt-4.1"); err != nil {
803+
// if err := session.SetModel(context.Background(), "gpt-4.1", nil); err != nil {
804804
// log.Printf("Failed to set model: %v", err)
805805
// }
806-
// if err := session.SetModel(context.Background(), "claude-sonnet-4.6", SetModelOptions{ReasoningEffort: "high"}); err != nil {
806+
// if err := session.SetModel(context.Background(), "claude-sonnet-4.6", &SetModelOptions{ReasoningEffort: new("high")}); err != nil {
807807
// log.Printf("Failed to set model: %v", err)
808808
// }
809-
func (s *Session) SetModel(ctx context.Context, model string, opts ...SetModelOptions) error {
809+
func (s *Session) SetModel(ctx context.Context, model string, opts *SetModelOptions) error {
810810
params := &rpc.SessionModelSwitchToParams{ModelID: model}
811-
if len(opts) > 0 && opts[0].ReasoningEffort != "" {
812-
re := opts[0].ReasoningEffort
813-
params.ReasoningEffort = &re
811+
if opts != nil {
812+
params.ReasoningEffort = opts.ReasoningEffort
814813
}
815814
_, err := s.RPC.Model.SwitchTo(ctx, params)
816815
if err != nil {

0 commit comments

Comments
 (0)