anthropics / anthropics/anthropic-sdk-go

BetaManagedAgentsEventParamsOfUserMessage helper omits required Type field

Đang mở
#315 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
1.2k
Fork
213
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
11

Mô tả

## Bug

The helper function `BetaManagedAgentsEventParamsOfUserMessage()` in `betasessionevent.go` does not set the required `Type` field on `BetaManagedAgentsUserMessageEventParams`, resulting in a `400 Bad Request` with `events[0].type: Field required` when calling `POST /v1/sessions/{id}/events`.

## Reproduction

```go
client.Beta.Sessions.Events.Send(ctx, sessionID, anthropic.BetaSessionEventSendParams{
Events: []anthropic.BetaManagedAgentsEventParamsUnion{
anthropic.BetaManagedAgentsEventParamsOfUserMessage(
[]anthropic.BetaManagedAgentsUserMessageEventParamsContentUnion{{
OfText: &anthropic.BetaManagedAgentsTextBlockParam{
Text: "hello",
Type: anthropic.BetaManagedAgentsTextBlockTypeText,
},
}},
),
},
})
```

Returns:
```
400 Bad Request: {"type":"error","error":{"type":"invalid_request_error","message":"Failed to parse request: events[0].type: Field required"}}
```

## Root cause

The helper only sets `Content`, not `Type`:

```go
func BetaManagedAgentsEventParamsOfUserMessage(content []BetaManagedAgentsUserMessageEventParamsContentUnion) BetaManagedAgentsEventParamsUnion {
var userMessage BetaManagedAgentsUserMessageEventParams
userMessage.Content = content // ✅
// userMessage.Type is never set ❌
return BetaManagedAgentsEventParamsUnion{OfUserMessage: &userMessage}
}
```

Compare with the other helpers which DO accept and set their type parameter:

```go
func BetaManagedAgentsEventParamsOfUserInterrupt(type_ ...) { ... userInterrupt.Type = type_ ... }
func BetaManagedAgentsEventParamsOfUserToolConfirmation(result, toolUseID, type_ ...) { ... userToolConfirmation.Type = type_ ... }
```

## Suggested fix

Either set the type automatically (since there's only one valid value):

```go
func BetaManagedAgentsEventParamsOfUserMessage(content []BetaManagedAgentsUserMessageEventParamsContentUnion) BetaManagedAgentsEventParamsUnion {
var userMessage BetaManagedAgentsUserMessageEventParams
userMessage.Content = content
userMessage.Type = BetaManagedAgentsUserMessageEventParamsTypeUserMessage
return BetaManagedAgentsEventParamsUnion{OfUserMessage: &userMessage}
}
```

## Workaround

Construct the struct directly instead of using the helper:

```go
Events: []anthropic.BetaManagedAgentsEventParamsUnion{
{
OfUserMessage: &anthropic.BetaManagedAgentsUserMessageEventParams{
Content: content,
Type: anthropic.BetaManagedAgentsUserMessageEventParamsTypeUserMessage,
},
},
},
```

## Version

`anthropic-sdk-go v1.34.0`

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.