diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 9a3ece4d..1aa7bc97 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.33.0" + ".": "1.34.0" } diff --git a/.stats.yml b/.stats.yml index 2a72eef1..e00ff937 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 72 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic%2Fanthropic-69486316563eb49043ec1ef0b8e1d4164b6fadb58c7ae27477f9971448ede066.yml -openapi_spec_hash: 24c3be07d605d11323afa51c7808fa00 -config_hash: 60af716d2229a28075dace69c52e5aa1 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic%2Fanthropic-d87d3ef6f636c667a0256be82cebef0699d17403d409c26ec15813683cfc3263.yml +openapi_spec_hash: d849fdf2c4dd6631a60c4340e9bc1322 +config_hash: 062be10c6bf39b6719b3a5ea2bf758b3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 66a65e5a..da05eb38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.34.0 (2026-04-09) + +Full Changelog: [v1.33.0...v1.34.0](https://github.com/anthropics/anthropic-sdk-go/compare/v1.33.0...v1.34.0) + +### Features + +* **api:** Add beta advisor tool ([3a6ddba](https://github.com/anthropics/anthropic-sdk-go/commit/3a6ddba23f7763d502c0bdd0842f0f90bb662c7e)) + ## 1.33.0 (2026-04-08) Full Changelog: [v1.32.0...v1.33.0](https://github.com/anthropics/anthropic-sdk-go/compare/v1.32.0...v1.33.0) diff --git a/README.md b/README.md index 2b2afcfe..6c0d8f3c 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Or explicitly add the dependency: ```sh -go get -u 'github.com/anthropics/anthropic-sdk-go@v1.33.0' +go get -u 'github.com/anthropics/anthropic-sdk-go@v1.34.0' ``` diff --git a/api.md b/api.md index 5dea03d7..940a960e 100644 --- a/api.md +++ b/api.md @@ -280,6 +280,11 @@ Methods: Params Types: +- anthropic.BetaAdvisorRedactedResultBlockParam +- anthropic.BetaAdvisorResultBlockParam +- anthropic.BetaAdvisorTool20260301Param +- anthropic.BetaAdvisorToolResultBlockParam +- anthropic.BetaAdvisorToolResultErrorParam - anthropic.BetaAllThinkingTurnsParam - anthropic.BetaBase64ImageSourceParam - anthropic.BetaBase64PDFSourceParam @@ -399,6 +404,11 @@ Params Types: Response Types: +- anthropic.BetaAdvisorMessageIterationUsage +- anthropic.BetaAdvisorRedactedResultBlock +- anthropic.BetaAdvisorResultBlock +- anthropic.BetaAdvisorToolResultBlock +- anthropic.BetaAdvisorToolResultError - anthropic.BetaBase64PDFSource - anthropic.BetaBashCodeExecutionOutputBlock - anthropic.BetaBashCodeExecutionResultBlock diff --git a/beta.go b/beta.go index 7c91a88b..202478ae 100644 --- a/beta.go +++ b/beta.go @@ -70,6 +70,7 @@ const ( AnthropicBetaSkills2025_10_02 AnthropicBeta = "skills-2025-10-02" AnthropicBetaFastMode2026_02_01 AnthropicBeta = "fast-mode-2026-02-01" AnthropicBetaOutput300k2026_03_24 AnthropicBeta = "output-300k-2026-03-24" + AnthropicBetaAdvisorTool2026_03_01 AnthropicBeta = "advisor-tool-2026-03-01" ) type BetaAPIError struct { diff --git a/betamessage.go b/betamessage.go index a5a3e07d..c59cbd53 100644 --- a/betamessage.go +++ b/betamessage.go @@ -112,6 +112,365 @@ func (r *BetaMessageService) CountTokens(ctx context.Context, params BetaMessage return res, err } +// Token usage for an advisor sub-inference iteration. +type BetaAdvisorMessageIterationUsage struct { + // Breakdown of cached tokens by TTL + CacheCreation BetaCacheCreation `json:"cache_creation" api:"required"` + // The number of input tokens used to create the cache entry. + CacheCreationInputTokens int64 `json:"cache_creation_input_tokens" api:"required"` + // The number of input tokens read from the cache. + CacheReadInputTokens int64 `json:"cache_read_input_tokens" api:"required"` + // The number of input tokens which were used. + InputTokens int64 `json:"input_tokens" api:"required"` + // The model that will complete your prompt.\n\nSee + // [models](https://docs.anthropic.com/en/docs/models-overview) for additional + // details and options. + Model Model `json:"model" api:"required"` + // The number of output tokens which were used. + OutputTokens int64 `json:"output_tokens" api:"required"` + // Usage for an advisor sub-inference iteration + Type constant.AdvisorMessage `json:"type" default:"advisor_message"` + // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. + JSON struct { + CacheCreation respjson.Field + CacheCreationInputTokens respjson.Field + CacheReadInputTokens respjson.Field + InputTokens respjson.Field + Model respjson.Field + OutputTokens respjson.Field + Type respjson.Field + ExtraFields map[string]respjson.Field + raw string + } `json:"-"` +} + +// Returns the unmodified JSON received from the API +func (r BetaAdvisorMessageIterationUsage) RawJSON() string { return r.JSON.raw } +func (r *BetaAdvisorMessageIterationUsage) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +type BetaAdvisorRedactedResultBlock struct { + // Opaque blob containing the advisor's output. Round-trip verbatim; do not inspect + // or modify. + EncryptedContent string `json:"encrypted_content" api:"required"` + Type constant.AdvisorRedactedResult `json:"type" default:"advisor_redacted_result"` + // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. + JSON struct { + EncryptedContent respjson.Field + Type respjson.Field + ExtraFields map[string]respjson.Field + raw string + } `json:"-"` +} + +// Returns the unmodified JSON received from the API +func (r BetaAdvisorRedactedResultBlock) RawJSON() string { return r.JSON.raw } +func (r *BetaAdvisorRedactedResultBlock) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// The properties EncryptedContent, Type are required. +type BetaAdvisorRedactedResultBlockParam struct { + // Opaque blob produced by a prior response; must be round-tripped verbatim. + EncryptedContent string `json:"encrypted_content" api:"required"` + // This field can be elided, and will marshal its zero value as + // "advisor_redacted_result". + Type constant.AdvisorRedactedResult `json:"type" default:"advisor_redacted_result"` + paramObj +} + +func (r BetaAdvisorRedactedResultBlockParam) MarshalJSON() (data []byte, err error) { + type shadow BetaAdvisorRedactedResultBlockParam + return param.MarshalObject(r, (*shadow)(&r)) +} +func (r *BetaAdvisorRedactedResultBlockParam) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +type BetaAdvisorResultBlock struct { + Text string `json:"text" api:"required"` + Type constant.AdvisorResult `json:"type" default:"advisor_result"` + // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. + JSON struct { + Text respjson.Field + Type respjson.Field + ExtraFields map[string]respjson.Field + raw string + } `json:"-"` +} + +// Returns the unmodified JSON received from the API +func (r BetaAdvisorResultBlock) RawJSON() string { return r.JSON.raw } +func (r *BetaAdvisorResultBlock) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// The properties Text, Type are required. +type BetaAdvisorResultBlockParam struct { + Text string `json:"text" api:"required"` + // This field can be elided, and will marshal its zero value as "advisor_result". + Type constant.AdvisorResult `json:"type" default:"advisor_result"` + paramObj +} + +func (r BetaAdvisorResultBlockParam) MarshalJSON() (data []byte, err error) { + type shadow BetaAdvisorResultBlockParam + return param.MarshalObject(r, (*shadow)(&r)) +} +func (r *BetaAdvisorResultBlockParam) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// The properties Model, Name, Type are required. +type BetaAdvisorTool20260301Param struct { + // The model that will complete your prompt.\n\nSee + // [models](https://docs.anthropic.com/en/docs/models-overview) for additional + // details and options. + Model Model `json:"model,omitzero" api:"required"` + // Maximum number of times the tool can be used in the API request. + MaxUses param.Opt[int64] `json:"max_uses,omitzero"` + // If true, tool will not be included in initial system prompt. Only loaded when + // returned via tool_reference from tool search. + DeferLoading param.Opt[bool] `json:"defer_loading,omitzero"` + // When true, guarantees schema validation on tool names and inputs + Strict param.Opt[bool] `json:"strict,omitzero"` + // Any of "direct", "code_execution_20250825", "code_execution_20260120". + AllowedCallers []string `json:"allowed_callers,omitzero"` + // Create a cache control breakpoint at this content block. + CacheControl BetaCacheControlEphemeralParam `json:"cache_control,omitzero"` + // Caching for the advisor's own prompt. When set, each advisor call writes a cache + // entry at the given TTL so subsequent calls in the same conversation read the + // stable prefix. When omitted, the advisor prompt is not cached. + Caching BetaCacheControlEphemeralParam `json:"caching,omitzero"` + // Name of the tool. + // + // This is how the tool will be called by the model and in `tool_use` blocks. + // + // This field can be elided, and will marshal its zero value as "advisor". + Name constant.Advisor `json:"name" default:"advisor"` + // This field can be elided, and will marshal its zero value as "advisor_20260301". + Type constant.Advisor20260301 `json:"type" default:"advisor_20260301"` + paramObj +} + +func (r BetaAdvisorTool20260301Param) MarshalJSON() (data []byte, err error) { + type shadow BetaAdvisorTool20260301Param + return param.MarshalObject(r, (*shadow)(&r)) +} +func (r *BetaAdvisorTool20260301Param) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +type BetaAdvisorToolResultBlock struct { + Content BetaAdvisorToolResultBlockContentUnion `json:"content" api:"required"` + ToolUseID string `json:"tool_use_id" api:"required"` + Type constant.AdvisorToolResult `json:"type" default:"advisor_tool_result"` + // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. + JSON struct { + Content respjson.Field + ToolUseID respjson.Field + Type respjson.Field + ExtraFields map[string]respjson.Field + raw string + } `json:"-"` +} + +// Returns the unmodified JSON received from the API +func (r BetaAdvisorToolResultBlock) RawJSON() string { return r.JSON.raw } +func (r *BetaAdvisorToolResultBlock) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// BetaAdvisorToolResultBlockContentUnion contains all possible properties and +// values from [BetaAdvisorToolResultError], [BetaAdvisorResultBlock], +// [BetaAdvisorRedactedResultBlock]. +// +// Use the methods beginning with 'As' to cast the union to one of its variants. +type BetaAdvisorToolResultBlockContentUnion struct { + // This field is from variant [BetaAdvisorToolResultError]. + ErrorCode BetaAdvisorToolResultErrorErrorCode `json:"error_code"` + Type string `json:"type"` + // This field is from variant [BetaAdvisorResultBlock]. + Text string `json:"text"` + // This field is from variant [BetaAdvisorRedactedResultBlock]. + EncryptedContent string `json:"encrypted_content"` + JSON struct { + ErrorCode respjson.Field + Type respjson.Field + Text respjson.Field + EncryptedContent respjson.Field + raw string + } `json:"-"` +} + +func (u BetaAdvisorToolResultBlockContentUnion) AsResponseAdvisorToolResultError() (v BetaAdvisorToolResultError) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +func (u BetaAdvisorToolResultBlockContentUnion) AsResponseAdvisorResultBlock() (v BetaAdvisorResultBlock) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +func (u BetaAdvisorToolResultBlockContentUnion) AsResponseAdvisorRedactedResultBlock() (v BetaAdvisorRedactedResultBlock) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + +// Returns the unmodified JSON received from the API +func (u BetaAdvisorToolResultBlockContentUnion) RawJSON() string { return u.JSON.raw } + +func (r *BetaAdvisorToolResultBlockContentUnion) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// The properties Content, ToolUseID, Type are required. +type BetaAdvisorToolResultBlockParam struct { + Content BetaAdvisorToolResultBlockParamContentUnion `json:"content,omitzero" api:"required"` + ToolUseID string `json:"tool_use_id" api:"required"` + // Create a cache control breakpoint at this content block. + CacheControl BetaCacheControlEphemeralParam `json:"cache_control,omitzero"` + // This field can be elided, and will marshal its zero value as + // "advisor_tool_result". + Type constant.AdvisorToolResult `json:"type" default:"advisor_tool_result"` + paramObj +} + +func (r BetaAdvisorToolResultBlockParam) MarshalJSON() (data []byte, err error) { + type shadow BetaAdvisorToolResultBlockParam + return param.MarshalObject(r, (*shadow)(&r)) +} +func (r *BetaAdvisorToolResultBlockParam) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +// Only one field can be non-zero. +// +// Use [param.IsOmitted] to confirm if a field is set. +type BetaAdvisorToolResultBlockParamContentUnion struct { + OfRequestAdvisorToolResultError *BetaAdvisorToolResultErrorParam `json:",omitzero,inline"` + OfRequestAdvisorResultBlock *BetaAdvisorResultBlockParam `json:",omitzero,inline"` + OfRequestAdvisorRedactedResultBlock *BetaAdvisorRedactedResultBlockParam `json:",omitzero,inline"` + paramUnion +} + +func (u BetaAdvisorToolResultBlockParamContentUnion) MarshalJSON() ([]byte, error) { + return param.MarshalUnion(u, u.OfRequestAdvisorToolResultError, u.OfRequestAdvisorResultBlock, u.OfRequestAdvisorRedactedResultBlock) +} +func (u *BetaAdvisorToolResultBlockParamContentUnion) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, u) +} + +func (u *BetaAdvisorToolResultBlockParamContentUnion) asAny() any { + if !param.IsOmitted(u.OfRequestAdvisorToolResultError) { + return u.OfRequestAdvisorToolResultError + } else if !param.IsOmitted(u.OfRequestAdvisorResultBlock) { + return u.OfRequestAdvisorResultBlock + } else if !param.IsOmitted(u.OfRequestAdvisorRedactedResultBlock) { + return u.OfRequestAdvisorRedactedResultBlock + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaAdvisorToolResultBlockParamContentUnion) GetErrorCode() *string { + if vt := u.OfRequestAdvisorToolResultError; vt != nil { + return (*string)(&vt.ErrorCode) + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaAdvisorToolResultBlockParamContentUnion) GetText() *string { + if vt := u.OfRequestAdvisorResultBlock; vt != nil { + return &vt.Text + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaAdvisorToolResultBlockParamContentUnion) GetEncryptedContent() *string { + if vt := u.OfRequestAdvisorRedactedResultBlock; vt != nil { + return &vt.EncryptedContent + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaAdvisorToolResultBlockParamContentUnion) GetType() *string { + if vt := u.OfRequestAdvisorToolResultError; vt != nil { + return (*string)(&vt.Type) + } else if vt := u.OfRequestAdvisorResultBlock; vt != nil { + return (*string)(&vt.Type) + } else if vt := u.OfRequestAdvisorRedactedResultBlock; vt != nil { + return (*string)(&vt.Type) + } + return nil +} + +type BetaAdvisorToolResultError struct { + // Any of "max_uses_exceeded", "prompt_too_long", "too_many_requests", + // "overloaded", "unavailable", "execution_time_exceeded". + ErrorCode BetaAdvisorToolResultErrorErrorCode `json:"error_code" api:"required"` + Type constant.AdvisorToolResultError `json:"type" default:"advisor_tool_result_error"` + // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. + JSON struct { + ErrorCode respjson.Field + Type respjson.Field + ExtraFields map[string]respjson.Field + raw string + } `json:"-"` +} + +// Returns the unmodified JSON received from the API +func (r BetaAdvisorToolResultError) RawJSON() string { return r.JSON.raw } +func (r *BetaAdvisorToolResultError) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +type BetaAdvisorToolResultErrorErrorCode string + +const ( + BetaAdvisorToolResultErrorErrorCodeMaxUsesExceeded BetaAdvisorToolResultErrorErrorCode = "max_uses_exceeded" + BetaAdvisorToolResultErrorErrorCodePromptTooLong BetaAdvisorToolResultErrorErrorCode = "prompt_too_long" + BetaAdvisorToolResultErrorErrorCodeTooManyRequests BetaAdvisorToolResultErrorErrorCode = "too_many_requests" + BetaAdvisorToolResultErrorErrorCodeOverloaded BetaAdvisorToolResultErrorErrorCode = "overloaded" + BetaAdvisorToolResultErrorErrorCodeUnavailable BetaAdvisorToolResultErrorErrorCode = "unavailable" + BetaAdvisorToolResultErrorErrorCodeExecutionTimeExceeded BetaAdvisorToolResultErrorErrorCode = "execution_time_exceeded" +) + +// The properties ErrorCode, Type are required. +type BetaAdvisorToolResultErrorParam struct { + // Any of "max_uses_exceeded", "prompt_too_long", "too_many_requests", + // "overloaded", "unavailable", "execution_time_exceeded". + ErrorCode BetaAdvisorToolResultErrorParamErrorCode `json:"error_code,omitzero" api:"required"` + // This field can be elided, and will marshal its zero value as + // "advisor_tool_result_error". + Type constant.AdvisorToolResultError `json:"type" default:"advisor_tool_result_error"` + paramObj +} + +func (r BetaAdvisorToolResultErrorParam) MarshalJSON() (data []byte, err error) { + type shadow BetaAdvisorToolResultErrorParam + return param.MarshalObject(r, (*shadow)(&r)) +} +func (r *BetaAdvisorToolResultErrorParam) UnmarshalJSON(data []byte) error { + return apijson.UnmarshalRoot(data, r) +} + +type BetaAdvisorToolResultErrorParamErrorCode string + +const ( + BetaAdvisorToolResultErrorParamErrorCodeMaxUsesExceeded BetaAdvisorToolResultErrorParamErrorCode = "max_uses_exceeded" + BetaAdvisorToolResultErrorParamErrorCodePromptTooLong BetaAdvisorToolResultErrorParamErrorCode = "prompt_too_long" + BetaAdvisorToolResultErrorParamErrorCodeTooManyRequests BetaAdvisorToolResultErrorParamErrorCode = "too_many_requests" + BetaAdvisorToolResultErrorParamErrorCodeOverloaded BetaAdvisorToolResultErrorParamErrorCode = "overloaded" + BetaAdvisorToolResultErrorParamErrorCodeUnavailable BetaAdvisorToolResultErrorParamErrorCode = "unavailable" + BetaAdvisorToolResultErrorParamErrorCodeExecutionTimeExceeded BetaAdvisorToolResultErrorParamErrorCode = "execution_time_exceeded" +) + func NewBetaAllThinkingTurnsParam() BetaAllThinkingTurnsParam { return BetaAllThinkingTurnsParam{ Type: "all", @@ -1833,8 +2192,8 @@ func (r *BetaContainerUploadBlockParam) UnmarshalJSON(data []byte) error { // BetaContentBlockUnion contains all possible properties and values from // [BetaTextBlock], [BetaThinkingBlock], [BetaRedactedThinkingBlock], // [BetaToolUseBlock], [BetaServerToolUseBlock], [BetaWebSearchToolResultBlock], -// [BetaWebFetchToolResultBlock], [BetaCodeExecutionToolResultBlock], -// [BetaBashCodeExecutionToolResultBlock], +// [BetaWebFetchToolResultBlock], [BetaAdvisorToolResultBlock], +// [BetaCodeExecutionToolResultBlock], [BetaBashCodeExecutionToolResultBlock], // [BetaTextEditorCodeExecutionToolResultBlock], [BetaToolSearchToolResultBlock], // [BetaMCPToolUseBlock], [BetaMCPToolResultBlock], [BetaContainerUploadBlock], // [BetaCompactionBlock]. @@ -1848,10 +2207,10 @@ type BetaContentBlockUnion struct { // This field is from variant [BetaTextBlock]. Text string `json:"text"` // Any of "text", "thinking", "redacted_thinking", "tool_use", "server_tool_use", - // "web_search_tool_result", "web_fetch_tool_result", "code_execution_tool_result", - // "bash_code_execution_tool_result", "text_editor_code_execution_tool_result", - // "tool_search_tool_result", "mcp_tool_use", "mcp_tool_result", - // "container_upload", "compaction". + // "web_search_tool_result", "web_fetch_tool_result", "advisor_tool_result", + // "code_execution_tool_result", "bash_code_execution_tool_result", + // "text_editor_code_execution_tool_result", "tool_search_tool_result", + // "mcp_tool_use", "mcp_tool_result", "container_upload", "compaction". Type string `json:"type"` // This field is from variant [BetaThinkingBlock]. Signature string `json:"signature"` @@ -1869,6 +2228,7 @@ type BetaContentBlockUnion struct { Caller BetaContentBlockUnionCaller `json:"caller"` // This field is a union of [BetaWebSearchToolResultBlockContentUnion], // [BetaWebFetchToolResultBlockContentUnion], + // [BetaAdvisorToolResultBlockContentUnion], // [BetaCodeExecutionToolResultBlockContentUnion], // [BetaBashCodeExecutionToolResultBlockContentUnion], // [BetaTextEditorCodeExecutionToolResultBlockContentUnion], @@ -1916,6 +2276,7 @@ func (BetaToolUseBlock) implBetaContentBlockUnion() {} func (BetaServerToolUseBlock) implBetaContentBlockUnion() {} func (BetaWebSearchToolResultBlock) implBetaContentBlockUnion() {} func (BetaWebFetchToolResultBlock) implBetaContentBlockUnion() {} +func (BetaAdvisorToolResultBlock) implBetaContentBlockUnion() {} func (BetaCodeExecutionToolResultBlock) implBetaContentBlockUnion() {} func (BetaBashCodeExecutionToolResultBlock) implBetaContentBlockUnion() {} func (BetaTextEditorCodeExecutionToolResultBlock) implBetaContentBlockUnion() {} @@ -1935,6 +2296,7 @@ func (BetaCompactionBlock) implBetaContentBlockUnion() {} // case anthropic.BetaServerToolUseBlock: // case anthropic.BetaWebSearchToolResultBlock: // case anthropic.BetaWebFetchToolResultBlock: +// case anthropic.BetaAdvisorToolResultBlock: // case anthropic.BetaCodeExecutionToolResultBlock: // case anthropic.BetaBashCodeExecutionToolResultBlock: // case anthropic.BetaTextEditorCodeExecutionToolResultBlock: @@ -1962,6 +2324,8 @@ func (u BetaContentBlockUnion) AsAny() anyBetaContentBlock { return u.AsWebSearchToolResult() case "web_fetch_tool_result": return u.AsWebFetchToolResult() + case "advisor_tool_result": + return u.AsAdvisorToolResult() case "code_execution_tool_result": return u.AsCodeExecutionToolResult() case "bash_code_execution_tool_result": @@ -2017,6 +2381,11 @@ func (u BetaContentBlockUnion) AsWebFetchToolResult() (v BetaWebFetchToolResultB return } +func (u BetaContentBlockUnion) AsAdvisorToolResult() (v BetaAdvisorToolResultBlock) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + func (u BetaContentBlockUnion) AsCodeExecutionToolResult() (v BetaCodeExecutionToolResultBlock) { apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) return @@ -2111,10 +2480,14 @@ type BetaContentBlockUnionContent struct { // This field is from variant [BetaWebFetchToolResultBlockContentUnion]. RetrievedAt string `json:"retrieved_at"` // This field is from variant [BetaWebFetchToolResultBlockContentUnion]. - URL string `json:"url"` - ReturnCode int64 `json:"return_code"` - Stderr string `json:"stderr"` - Stdout string `json:"stdout"` + URL string `json:"url"` + // This field is from variant [BetaAdvisorToolResultBlockContentUnion]. + Text string `json:"text"` + // This field is from variant [BetaAdvisorToolResultBlockContentUnion]. + EncryptedContent string `json:"encrypted_content"` + ReturnCode int64 `json:"return_code"` + Stderr string `json:"stderr"` + Stdout string `json:"stdout"` // This field is from variant [BetaCodeExecutionToolResultBlockContentUnion]. EncryptedStdout string `json:"encrypted_stdout"` ErrorMessage string `json:"error_message"` @@ -2159,6 +2532,8 @@ type BetaContentBlockUnionContent struct { Content respjson.Field RetrievedAt respjson.Field URL respjson.Field + Text respjson.Field + EncryptedContent respjson.Field ReturnCode respjson.Field Stderr respjson.Field Stdout respjson.Field @@ -2336,6 +2711,22 @@ func NewBetaWebFetchToolResultBlock[ return BetaContentBlockParamUnion{OfWebFetchToolResult: &webFetchToolResult} } +func NewBetaAdvisorToolResultBlock[ + T BetaAdvisorToolResultErrorParam | BetaAdvisorResultBlockParam | BetaAdvisorRedactedResultBlockParam, +](content T, toolUseID string) BetaContentBlockParamUnion { + var advisorToolResult BetaAdvisorToolResultBlockParam + switch v := any(content).(type) { + case BetaAdvisorToolResultErrorParam: + advisorToolResult.Content.OfRequestAdvisorToolResultError = &v + case BetaAdvisorResultBlockParam: + advisorToolResult.Content.OfRequestAdvisorResultBlock = &v + case BetaAdvisorRedactedResultBlockParam: + advisorToolResult.Content.OfRequestAdvisorRedactedResultBlock = &v + } + advisorToolResult.ToolUseID = toolUseID + return BetaContentBlockParamUnion{OfAdvisorToolResult: &advisorToolResult} +} + func NewBetaCodeExecutionToolResultBlock[ T BetaCodeExecutionToolResultErrorParam | BetaCodeExecutionResultBlockParam | BetaEncryptedCodeExecutionResultBlockParam, ](content T, toolUseID string) BetaContentBlockParamUnion { @@ -2431,6 +2822,7 @@ type BetaContentBlockParamUnion struct { OfServerToolUse *BetaServerToolUseBlockParam `json:",omitzero,inline"` OfWebSearchToolResult *BetaWebSearchToolResultBlockParam `json:",omitzero,inline"` OfWebFetchToolResult *BetaWebFetchToolResultBlockParam `json:",omitzero,inline"` + OfAdvisorToolResult *BetaAdvisorToolResultBlockParam `json:",omitzero,inline"` OfCodeExecutionToolResult *BetaCodeExecutionToolResultBlockParam `json:",omitzero,inline"` OfBashCodeExecutionToolResult *BetaBashCodeExecutionToolResultBlockParam `json:",omitzero,inline"` OfTextEditorCodeExecutionToolResult *BetaTextEditorCodeExecutionToolResultBlockParam `json:",omitzero,inline"` @@ -2454,6 +2846,7 @@ func (u BetaContentBlockParamUnion) MarshalJSON() ([]byte, error) { u.OfServerToolUse, u.OfWebSearchToolResult, u.OfWebFetchToolResult, + u.OfAdvisorToolResult, u.OfCodeExecutionToolResult, u.OfBashCodeExecutionToolResult, u.OfTextEditorCodeExecutionToolResult, @@ -2490,6 +2883,8 @@ func (u *BetaContentBlockParamUnion) asAny() any { return u.OfWebSearchToolResult } else if !param.IsOmitted(u.OfWebFetchToolResult) { return u.OfWebFetchToolResult + } else if !param.IsOmitted(u.OfAdvisorToolResult) { + return u.OfAdvisorToolResult } else if !param.IsOmitted(u.OfCodeExecutionToolResult) { return u.OfCodeExecutionToolResult } else if !param.IsOmitted(u.OfBashCodeExecutionToolResult) { @@ -2590,6 +2985,8 @@ func (u BetaContentBlockParamUnion) GetType() *string { return (*string)(&vt.Type) } else if vt := u.OfWebFetchToolResult; vt != nil { return (*string)(&vt.Type) + } else if vt := u.OfAdvisorToolResult; vt != nil { + return (*string)(&vt.Type) } else if vt := u.OfCodeExecutionToolResult; vt != nil { return (*string)(&vt.Type) } else if vt := u.OfBashCodeExecutionToolResult; vt != nil { @@ -2652,6 +3049,8 @@ func (u BetaContentBlockParamUnion) GetToolUseID() *string { return (*string)(&vt.ToolUseID) } else if vt := u.OfWebFetchToolResult; vt != nil { return (*string)(&vt.ToolUseID) + } else if vt := u.OfAdvisorToolResult; vt != nil { + return (*string)(&vt.ToolUseID) } else if vt := u.OfCodeExecutionToolResult; vt != nil { return (*string)(&vt.ToolUseID) } else if vt := u.OfBashCodeExecutionToolResult; vt != nil { @@ -2696,6 +3095,8 @@ func (u BetaContentBlockParamUnion) GetCacheControl() *BetaCacheControlEphemeral return &vt.CacheControl } else if vt := u.OfWebFetchToolResult; vt != nil { return &vt.CacheControl + } else if vt := u.OfAdvisorToolResult; vt != nil { + return &vt.CacheControl } else if vt := u.OfCodeExecutionToolResult; vt != nil { return &vt.CacheControl } else if vt := u.OfBashCodeExecutionToolResult; vt != nil { @@ -2867,6 +3268,8 @@ func (u BetaContentBlockParamUnion) GetContent() (res betaContentBlockParamUnion res.any = vt.Content.asAny() } else if vt := u.OfWebFetchToolResult; vt != nil { res.any = vt.Content.asAny() + } else if vt := u.OfAdvisorToolResult; vt != nil { + res.any = vt.Content.asAny() } else if vt := u.OfCodeExecutionToolResult; vt != nil { res.any = vt.Content.asAny() } else if vt := u.OfBashCodeExecutionToolResult; vt != nil { @@ -2886,6 +3289,8 @@ func (u BetaContentBlockParamUnion) GetContent() (res betaContentBlockParamUnion // Can have the runtime types [_[]BetaTextBlockParam], // [_[]BetaToolResultBlockParamContentUnion], [*[]BetaWebSearchResultBlockParam], // [*BetaWebFetchToolResultErrorBlockParam], [*BetaWebFetchBlockParam], +// [*BetaAdvisorToolResultErrorParam], [*BetaAdvisorResultBlockParam], +// [*BetaAdvisorRedactedResultBlockParam], // [*BetaCodeExecutionToolResultErrorParam], [*BetaCodeExecutionResultBlockParam], // [*BetaEncryptedCodeExecutionResultBlockParam], // [*BetaBashCodeExecutionToolResultErrorParam], @@ -2906,6 +3311,9 @@ type betaContentBlockParamUnionContent struct{ any } // case *[]anthropic.BetaWebSearchResultBlockParam: // case *anthropic.BetaWebFetchToolResultErrorBlockParam: // case *anthropic.BetaWebFetchBlockParam: +// case *anthropic.BetaAdvisorToolResultErrorParam: +// case *anthropic.BetaAdvisorResultBlockParam: +// case *anthropic.BetaAdvisorRedactedResultBlockParam: // case *anthropic.BetaCodeExecutionToolResultErrorParam: // case *anthropic.BetaCodeExecutionResultBlockParam: // case *anthropic.BetaEncryptedCodeExecutionResultBlockParam: @@ -2941,6 +3349,24 @@ func (u betaContentBlockParamUnionContent) GetRetrievedAt() *string { return nil } +// Returns a pointer to the underlying variant's property, if present. +func (u betaContentBlockParamUnionContent) GetText() *string { + switch vt := u.any.(type) { + case *BetaAdvisorToolResultBlockParamContentUnion: + return vt.GetText() + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u betaContentBlockParamUnionContent) GetEncryptedContent() *string { + switch vt := u.any.(type) { + case *BetaAdvisorToolResultBlockParamContentUnion: + return vt.GetEncryptedContent() + } + return nil +} + // Returns a pointer to the underlying variant's property, if present. func (u betaContentBlockParamUnionContent) GetEncryptedStdout() *string { switch vt := u.any.(type) { @@ -3067,6 +3493,8 @@ func (u betaContentBlockParamUnionContent) GetErrorCode() *string { } case *BetaWebFetchToolResultBlockParamContentUnion: return vt.GetErrorCode() + case *BetaAdvisorToolResultBlockParamContentUnion: + return vt.GetErrorCode() case *BetaCodeExecutionToolResultBlockParamContentUnion: return vt.GetErrorCode() case *BetaBashCodeExecutionToolResultBlockParamContentUnion: @@ -3088,6 +3516,8 @@ func (u betaContentBlockParamUnionContent) GetType() *string { } case *BetaWebFetchToolResultBlockParamContentUnion: return vt.GetType() + case *BetaAdvisorToolResultBlockParamContentUnion: + return vt.GetType() case *BetaCodeExecutionToolResultBlockParamContentUnion: return vt.GetType() case *BetaBashCodeExecutionToolResultBlockParamContentUnion: @@ -3254,6 +3684,7 @@ func init() { apijson.Discriminator[BetaServerToolUseBlockParam]("server_tool_use"), apijson.Discriminator[BetaWebSearchToolResultBlockParam]("web_search_tool_result"), apijson.Discriminator[BetaWebFetchToolResultBlockParam]("web_fetch_tool_result"), + apijson.Discriminator[BetaAdvisorToolResultBlockParam]("advisor_tool_result"), apijson.Discriminator[BetaCodeExecutionToolResultBlockParam]("code_execution_tool_result"), apijson.Discriminator[BetaBashCodeExecutionToolResultBlockParam]("bash_code_execution_tool_result"), apijson.Discriminator[BetaTextEditorCodeExecutionToolResultBlockParam]("text_editor_code_execution_tool_result"), @@ -3927,7 +4358,8 @@ func (r *BetaInputTokensTriggerParam) UnmarshalJSON(data []byte) error { type BetaIterationsUsage []BetaIterationsUsageItemUnion // BetaIterationsUsageItemUnion contains all possible properties and values from -// [BetaMessageIterationUsage], [BetaCompactionIterationUsage]. +// [BetaMessageIterationUsage], [BetaCompactionIterationUsage], +// [BetaAdvisorMessageIterationUsage]. // // Use the [BetaIterationsUsageItemUnion.AsAny] method to switch on the variant. // @@ -3939,15 +4371,18 @@ type BetaIterationsUsageItemUnion struct { CacheReadInputTokens int64 `json:"cache_read_input_tokens"` InputTokens int64 `json:"input_tokens"` OutputTokens int64 `json:"output_tokens"` - // Any of "message", "compaction". + // Any of "message", "compaction", "advisor_message". Type string `json:"type"` - JSON struct { + // This field is from variant [BetaAdvisorMessageIterationUsage]. + Model Model `json:"model"` + JSON struct { CacheCreation respjson.Field CacheCreationInputTokens respjson.Field CacheReadInputTokens respjson.Field InputTokens respjson.Field OutputTokens respjson.Field Type respjson.Field + Model respjson.Field raw string } `json:"-"` } @@ -3959,14 +4394,16 @@ type anyBetaIterationsUsageItem interface { implBetaIterationsUsageItemUnion() } -func (BetaMessageIterationUsage) implBetaIterationsUsageItemUnion() {} -func (BetaCompactionIterationUsage) implBetaIterationsUsageItemUnion() {} +func (BetaMessageIterationUsage) implBetaIterationsUsageItemUnion() {} +func (BetaCompactionIterationUsage) implBetaIterationsUsageItemUnion() {} +func (BetaAdvisorMessageIterationUsage) implBetaIterationsUsageItemUnion() {} // Use the following switch statement to find the correct variant // // switch variant := BetaIterationsUsageItemUnion.AsAny().(type) { // case anthropic.BetaMessageIterationUsage: // case anthropic.BetaCompactionIterationUsage: +// case anthropic.BetaAdvisorMessageIterationUsage: // default: // fmt.Errorf("no variant present") // } @@ -3976,6 +4413,8 @@ func (u BetaIterationsUsageItemUnion) AsAny() anyBetaIterationsUsageItem { return u.AsMessage() case "compaction": return u.AsCompaction() + case "advisor_message": + return u.AsAdvisorMessage() } return nil } @@ -3990,6 +4429,11 @@ func (u BetaIterationsUsageItemUnion) AsCompaction() (v BetaCompactionIterationU return } +func (u BetaIterationsUsageItemUnion) AsAdvisorMessage() (v BetaAdvisorMessageIterationUsage) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + // Returns the unmodified JSON received from the API func (u BetaIterationsUsageItemUnion) RawJSON() string { return u.JSON.raw } @@ -4981,7 +5425,8 @@ func (r *BetaRawContentBlockStartEvent) UnmarshalJSON(data []byte) error { // and values from [BetaTextBlock], [BetaThinkingBlock], // [BetaRedactedThinkingBlock], [BetaToolUseBlock], [BetaServerToolUseBlock], // [BetaWebSearchToolResultBlock], [BetaWebFetchToolResultBlock], -// [BetaCodeExecutionToolResultBlock], [BetaBashCodeExecutionToolResultBlock], +// [BetaAdvisorToolResultBlock], [BetaCodeExecutionToolResultBlock], +// [BetaBashCodeExecutionToolResultBlock], // [BetaTextEditorCodeExecutionToolResultBlock], [BetaToolSearchToolResultBlock], // [BetaMCPToolUseBlock], [BetaMCPToolResultBlock], [BetaContainerUploadBlock], // [BetaCompactionBlock]. @@ -4996,10 +5441,10 @@ type BetaRawContentBlockStartEventContentBlockUnion struct { // This field is from variant [BetaTextBlock]. Text string `json:"text"` // Any of "text", "thinking", "redacted_thinking", "tool_use", "server_tool_use", - // "web_search_tool_result", "web_fetch_tool_result", "code_execution_tool_result", - // "bash_code_execution_tool_result", "text_editor_code_execution_tool_result", - // "tool_search_tool_result", "mcp_tool_use", "mcp_tool_result", - // "container_upload", "compaction". + // "web_search_tool_result", "web_fetch_tool_result", "advisor_tool_result", + // "code_execution_tool_result", "bash_code_execution_tool_result", + // "text_editor_code_execution_tool_result", "tool_search_tool_result", + // "mcp_tool_use", "mcp_tool_result", "container_upload", "compaction". Type string `json:"type"` // This field is from variant [BetaThinkingBlock]. Signature string `json:"signature"` @@ -5016,6 +5461,7 @@ type BetaRawContentBlockStartEventContentBlockUnion struct { Caller BetaRawContentBlockStartEventContentBlockUnionCaller `json:"caller"` // This field is a union of [BetaWebSearchToolResultBlockContentUnion], // [BetaWebFetchToolResultBlockContentUnion], + // [BetaAdvisorToolResultBlockContentUnion], // [BetaCodeExecutionToolResultBlockContentUnion], // [BetaBashCodeExecutionToolResultBlockContentUnion], // [BetaTextEditorCodeExecutionToolResultBlockContentUnion], @@ -5063,6 +5509,7 @@ func (BetaToolUseBlock) implBetaRawContentBlockStartEventContentBlockUnion() func (BetaServerToolUseBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} func (BetaWebSearchToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} func (BetaWebFetchToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} +func (BetaAdvisorToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} func (BetaCodeExecutionToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} func (BetaBashCodeExecutionToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() {} func (BetaTextEditorCodeExecutionToolResultBlock) implBetaRawContentBlockStartEventContentBlockUnion() { @@ -5083,6 +5530,7 @@ func (BetaCompactionBlock) implBetaRawContentBlockStartEventContentBlockUnion() // case anthropic.BetaServerToolUseBlock: // case anthropic.BetaWebSearchToolResultBlock: // case anthropic.BetaWebFetchToolResultBlock: +// case anthropic.BetaAdvisorToolResultBlock: // case anthropic.BetaCodeExecutionToolResultBlock: // case anthropic.BetaBashCodeExecutionToolResultBlock: // case anthropic.BetaTextEditorCodeExecutionToolResultBlock: @@ -5110,6 +5558,8 @@ func (u BetaRawContentBlockStartEventContentBlockUnion) AsAny() anyBetaRawConten return u.AsWebSearchToolResult() case "web_fetch_tool_result": return u.AsWebFetchToolResult() + case "advisor_tool_result": + return u.AsAdvisorToolResult() case "code_execution_tool_result": return u.AsCodeExecutionToolResult() case "bash_code_execution_tool_result": @@ -5165,6 +5615,11 @@ func (u BetaRawContentBlockStartEventContentBlockUnion) AsWebFetchToolResult() ( return } +func (u BetaRawContentBlockStartEventContentBlockUnion) AsAdvisorToolResult() (v BetaAdvisorToolResultBlock) { + apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) + return +} + func (u BetaRawContentBlockStartEventContentBlockUnion) AsCodeExecutionToolResult() (v BetaCodeExecutionToolResultBlock) { apijson.UnmarshalRoot(json.RawMessage(u.JSON.raw), &v) return @@ -5261,10 +5716,14 @@ type BetaRawContentBlockStartEventContentBlockUnionContent struct { // This field is from variant [BetaWebFetchToolResultBlockContentUnion]. RetrievedAt string `json:"retrieved_at"` // This field is from variant [BetaWebFetchToolResultBlockContentUnion]. - URL string `json:"url"` - ReturnCode int64 `json:"return_code"` - Stderr string `json:"stderr"` - Stdout string `json:"stdout"` + URL string `json:"url"` + // This field is from variant [BetaAdvisorToolResultBlockContentUnion]. + Text string `json:"text"` + // This field is from variant [BetaAdvisorToolResultBlockContentUnion]. + EncryptedContent string `json:"encrypted_content"` + ReturnCode int64 `json:"return_code"` + Stderr string `json:"stderr"` + Stdout string `json:"stdout"` // This field is from variant [BetaCodeExecutionToolResultBlockContentUnion]. EncryptedStdout string `json:"encrypted_stdout"` ErrorMessage string `json:"error_message"` @@ -5309,6 +5768,8 @@ type BetaRawContentBlockStartEventContentBlockUnionContent struct { Content respjson.Field RetrievedAt respjson.Field URL respjson.Field + Text respjson.Field + EncryptedContent respjson.Field ReturnCode respjson.Field Stderr respjson.Field Stdout respjson.Field @@ -6073,8 +6534,9 @@ func (r *BetaServerToolUsage) UnmarshalJSON(data []byte) error { type BetaServerToolUseBlock struct { ID string `json:"id" api:"required"` Input any `json:"input" api:"required"` - // Any of "web_search", "web_fetch", "code_execution", "bash_code_execution", - // "text_editor_code_execution", "tool_search_tool_regex", "tool_search_tool_bm25". + // Any of "advisor", "web_search", "web_fetch", "code_execution", + // "bash_code_execution", "text_editor_code_execution", "tool_search_tool_regex", + // "tool_search_tool_bm25". Name BetaServerToolUseBlockName `json:"name" api:"required"` Type constant.ServerToolUse `json:"type" default:"server_tool_use"` // Tool invocation directly from the model. @@ -6100,6 +6562,7 @@ func (r *BetaServerToolUseBlock) UnmarshalJSON(data []byte) error { type BetaServerToolUseBlockName string const ( + BetaServerToolUseBlockNameAdvisor BetaServerToolUseBlockName = "advisor" BetaServerToolUseBlockNameWebSearch BetaServerToolUseBlockName = "web_search" BetaServerToolUseBlockNameWebFetch BetaServerToolUseBlockName = "web_fetch" BetaServerToolUseBlockNameCodeExecution BetaServerToolUseBlockName = "code_execution" @@ -6185,8 +6648,9 @@ func (r *BetaServerToolUseBlockCallerUnion) UnmarshalJSON(data []byte) error { type BetaServerToolUseBlockParam struct { ID string `json:"id" api:"required"` Input any `json:"input,omitzero" api:"required"` - // Any of "web_search", "web_fetch", "code_execution", "bash_code_execution", - // "text_editor_code_execution", "tool_search_tool_regex", "tool_search_tool_bm25". + // Any of "advisor", "web_search", "web_fetch", "code_execution", + // "bash_code_execution", "text_editor_code_execution", "tool_search_tool_regex", + // "tool_search_tool_bm25". Name BetaServerToolUseBlockParamName `json:"name,omitzero" api:"required"` // Create a cache control breakpoint at this content block. CacheControl BetaCacheControlEphemeralParam `json:"cache_control,omitzero"` @@ -6208,6 +6672,7 @@ func (r *BetaServerToolUseBlockParam) UnmarshalJSON(data []byte) error { type BetaServerToolUseBlockParamName string const ( + BetaServerToolUseBlockParamNameAdvisor BetaServerToolUseBlockParamName = "advisor" BetaServerToolUseBlockParamNameWebSearch BetaServerToolUseBlockParamName = "web_search" BetaServerToolUseBlockParamNameWebFetch BetaServerToolUseBlockParamName = "web_fetch" BetaServerToolUseBlockParamNameCodeExecution BetaServerToolUseBlockParamName = "code_execution" @@ -8701,6 +9166,12 @@ func BetaToolUnionParamOfComputerUseTool20251124(displayHeightPx int64, displayW return BetaToolUnionParam{OfComputerUseTool20251124: &variant} } +func BetaToolUnionParamOfAdvisorTool20260301(model Model) BetaToolUnionParam { + var variant BetaAdvisorTool20260301Param + variant.Model = model + return BetaToolUnionParam{OfAdvisorTool20260301: &variant} +} + func BetaToolUnionParamOfToolSearchToolBm25_20251119(type_ BetaToolSearchToolBm25_20251119Type) BetaToolUnionParam { var variant BetaToolSearchToolBm25_20251119Param variant.Type = type_ @@ -8742,6 +9213,7 @@ type BetaToolUnionParam struct { OfWebSearchTool20260209 *BetaWebSearchTool20260209Param `json:",omitzero,inline"` OfWebFetchTool20260209 *BetaWebFetchTool20260209Param `json:",omitzero,inline"` OfWebFetchTool20260309 *BetaWebFetchTool20260309Param `json:",omitzero,inline"` + OfAdvisorTool20260301 *BetaAdvisorTool20260301Param `json:",omitzero,inline"` OfToolSearchToolBm25_20251119 *BetaToolSearchToolBm25_20251119Param `json:",omitzero,inline"` OfToolSearchToolRegex20251119 *BetaToolSearchToolRegex20251119Param `json:",omitzero,inline"` OfMCPToolset *BetaMCPToolsetParam `json:",omitzero,inline"` @@ -8768,6 +9240,7 @@ func (u BetaToolUnionParam) MarshalJSON() ([]byte, error) { u.OfWebSearchTool20260209, u.OfWebFetchTool20260209, u.OfWebFetchTool20260309, + u.OfAdvisorTool20260301, u.OfToolSearchToolBm25_20251119, u.OfToolSearchToolRegex20251119, u.OfMCPToolset) @@ -8815,6 +9288,8 @@ func (u *BetaToolUnionParam) asAny() any { return u.OfWebFetchTool20260209 } else if !param.IsOmitted(u.OfWebFetchTool20260309) { return u.OfWebFetchTool20260309 + } else if !param.IsOmitted(u.OfAdvisorTool20260301) { + return u.OfAdvisorTool20260301 } else if !param.IsOmitted(u.OfToolSearchToolBm25_20251119) { return u.OfToolSearchToolBm25_20251119 } else if !param.IsOmitted(u.OfToolSearchToolRegex20251119) { @@ -8873,6 +9348,22 @@ func (u BetaToolUnionParam) GetUseCache() *bool { return nil } +// Returns a pointer to the underlying variant's property, if present. +func (u BetaToolUnionParam) GetModel() *Model { + if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.Model + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaToolUnionParam) GetCaching() *BetaCacheControlEphemeralParam { + if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.Caching + } + return nil +} + // Returns a pointer to the underlying variant's property, if present. func (u BetaToolUnionParam) GetMCPServerName() *string { if vt := u.OfMCPToolset; vt != nil { @@ -8937,6 +9428,8 @@ func (u BetaToolUnionParam) GetName() *string { return (*string)(&vt.Name) } else if vt := u.OfWebFetchTool20260309; vt != nil { return (*string)(&vt.Name) + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return (*string)(&vt.Name) } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return (*string)(&vt.Name) } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -8985,6 +9478,8 @@ func (u BetaToolUnionParam) GetDeferLoading() *bool { return &vt.DeferLoading.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.DeferLoading.Valid() { return &vt.DeferLoading.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.DeferLoading.Valid() { + return &vt.DeferLoading.Value } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil && vt.DeferLoading.Valid() { return &vt.DeferLoading.Value } else if vt := u.OfToolSearchToolRegex20251119; vt != nil && vt.DeferLoading.Valid() { @@ -9033,6 +9528,8 @@ func (u BetaToolUnionParam) GetStrict() *bool { return &vt.Strict.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.Strict.Valid() { return &vt.Strict.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.Strict.Valid() { + return &vt.Strict.Value } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil && vt.Strict.Valid() { return &vt.Strict.Value } else if vt := u.OfToolSearchToolRegex20251119; vt != nil && vt.Strict.Valid() { @@ -9081,6 +9578,8 @@ func (u BetaToolUnionParam) GetType() *string { return (*string)(&vt.Type) } else if vt := u.OfWebFetchTool20260309; vt != nil { return (*string)(&vt.Type) + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return (*string)(&vt.Type) } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return (*string)(&vt.Type) } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -9139,6 +9638,8 @@ func (u BetaToolUnionParam) GetMaxUses() *int64 { return &vt.MaxUses.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.MaxUses.Valid() { return &vt.MaxUses.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.MaxUses.Valid() { + return &vt.MaxUses.Value } return nil } @@ -9196,6 +9697,8 @@ func (u BetaToolUnionParam) GetAllowedCallers() []string { return vt.AllowedCallers } else if vt := u.OfWebFetchTool20260309; vt != nil { return vt.AllowedCallers + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return vt.AllowedCallers } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return vt.AllowedCallers } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -9244,6 +9747,8 @@ func (u BetaToolUnionParam) GetCacheControl() *BetaCacheControlEphemeralParam { return &vt.CacheControl } else if vt := u.OfWebFetchTool20260309; vt != nil { return &vt.CacheControl + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.CacheControl } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return &vt.CacheControl } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -11208,6 +11713,7 @@ type BetaMessageCountTokensParamsToolUnion struct { OfWebSearchTool20260209 *BetaWebSearchTool20260209Param `json:",omitzero,inline"` OfWebFetchTool20260209 *BetaWebFetchTool20260209Param `json:",omitzero,inline"` OfWebFetchTool20260309 *BetaWebFetchTool20260309Param `json:",omitzero,inline"` + OfAdvisorTool20260301 *BetaAdvisorTool20260301Param `json:",omitzero,inline"` OfToolSearchToolBm25_20251119 *BetaToolSearchToolBm25_20251119Param `json:",omitzero,inline"` OfToolSearchToolRegex20251119 *BetaToolSearchToolRegex20251119Param `json:",omitzero,inline"` OfMCPToolset *BetaMCPToolsetParam `json:",omitzero,inline"` @@ -11234,6 +11740,7 @@ func (u BetaMessageCountTokensParamsToolUnion) MarshalJSON() ([]byte, error) { u.OfWebSearchTool20260209, u.OfWebFetchTool20260209, u.OfWebFetchTool20260309, + u.OfAdvisorTool20260301, u.OfToolSearchToolBm25_20251119, u.OfToolSearchToolRegex20251119, u.OfMCPToolset) @@ -11281,6 +11788,8 @@ func (u *BetaMessageCountTokensParamsToolUnion) asAny() any { return u.OfWebFetchTool20260209 } else if !param.IsOmitted(u.OfWebFetchTool20260309) { return u.OfWebFetchTool20260309 + } else if !param.IsOmitted(u.OfAdvisorTool20260301) { + return u.OfAdvisorTool20260301 } else if !param.IsOmitted(u.OfToolSearchToolBm25_20251119) { return u.OfToolSearchToolBm25_20251119 } else if !param.IsOmitted(u.OfToolSearchToolRegex20251119) { @@ -11339,6 +11848,22 @@ func (u BetaMessageCountTokensParamsToolUnion) GetUseCache() *bool { return nil } +// Returns a pointer to the underlying variant's property, if present. +func (u BetaMessageCountTokensParamsToolUnion) GetModel() *Model { + if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.Model + } + return nil +} + +// Returns a pointer to the underlying variant's property, if present. +func (u BetaMessageCountTokensParamsToolUnion) GetCaching() *BetaCacheControlEphemeralParam { + if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.Caching + } + return nil +} + // Returns a pointer to the underlying variant's property, if present. func (u BetaMessageCountTokensParamsToolUnion) GetMCPServerName() *string { if vt := u.OfMCPToolset; vt != nil { @@ -11403,6 +11928,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetName() *string { return (*string)(&vt.Name) } else if vt := u.OfWebFetchTool20260309; vt != nil { return (*string)(&vt.Name) + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return (*string)(&vt.Name) } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return (*string)(&vt.Name) } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -11451,6 +11978,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetDeferLoading() *bool { return &vt.DeferLoading.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.DeferLoading.Valid() { return &vt.DeferLoading.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.DeferLoading.Valid() { + return &vt.DeferLoading.Value } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil && vt.DeferLoading.Valid() { return &vt.DeferLoading.Value } else if vt := u.OfToolSearchToolRegex20251119; vt != nil && vt.DeferLoading.Valid() { @@ -11499,6 +12028,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetStrict() *bool { return &vt.Strict.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.Strict.Valid() { return &vt.Strict.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.Strict.Valid() { + return &vt.Strict.Value } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil && vt.Strict.Valid() { return &vt.Strict.Value } else if vt := u.OfToolSearchToolRegex20251119; vt != nil && vt.Strict.Valid() { @@ -11547,6 +12078,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetType() *string { return (*string)(&vt.Type) } else if vt := u.OfWebFetchTool20260309; vt != nil { return (*string)(&vt.Type) + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return (*string)(&vt.Type) } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return (*string)(&vt.Type) } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -11605,6 +12138,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetMaxUses() *int64 { return &vt.MaxUses.Value } else if vt := u.OfWebFetchTool20260309; vt != nil && vt.MaxUses.Valid() { return &vt.MaxUses.Value + } else if vt := u.OfAdvisorTool20260301; vt != nil && vt.MaxUses.Valid() { + return &vt.MaxUses.Value } return nil } @@ -11662,6 +12197,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetAllowedCallers() []string { return vt.AllowedCallers } else if vt := u.OfWebFetchTool20260309; vt != nil { return vt.AllowedCallers + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return vt.AllowedCallers } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return vt.AllowedCallers } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { @@ -11710,6 +12247,8 @@ func (u BetaMessageCountTokensParamsToolUnion) GetCacheControl() *BetaCacheContr return &vt.CacheControl } else if vt := u.OfWebFetchTool20260309; vt != nil { return &vt.CacheControl + } else if vt := u.OfAdvisorTool20260301; vt != nil { + return &vt.CacheControl } else if vt := u.OfToolSearchToolBm25_20251119; vt != nil { return &vt.CacheControl } else if vt := u.OfToolSearchToolRegex20251119; vt != nil { diff --git a/betamessageutil.go b/betamessageutil.go index 1348558b..2ee4755b 100644 --- a/betamessageutil.go +++ b/betamessageutil.go @@ -138,6 +138,18 @@ func (variant BetaContainerUploadBlock) toParamUnion() BetaContentBlockParamUnio return BetaContentBlockParamUnion{OfContainerUpload: &p} } +func (variant BetaAdvisorToolResultBlock) toParamUnion() BetaContentBlockParamUnion { + p := variant.ToParam() + return BetaContentBlockParamUnion{OfAdvisorToolResult: &p} +} + +func (r BetaAdvisorToolResultBlock) ToParam() BetaAdvisorToolResultBlockParam { + var p BetaAdvisorToolResultBlockParam + p.Type = r.Type + p.ToolUseID = r.ToolUseID + return p +} + func (variant BetaMCPToolResultBlock) toParamUnion() BetaContentBlockParamUnion { p := variant.ToParam() return BetaContentBlockParamUnion{OfMCPToolResult: &p} diff --git a/internal/version.go b/internal/version.go index 6d1a6f93..01ac826b 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "1.33.0" // x-release-please-version +const PackageVersion = "1.34.0" // x-release-please-version diff --git a/shared/constant/constants.go b/shared/constant/constants.go index a91bf4b1..c9bddb77 100644 --- a/shared/constant/constants.go +++ b/shared/constant/constants.go @@ -32,6 +32,13 @@ func ValueOf[T Constant[T]]() T { } type Adaptive string // Always "adaptive" +type Advisor string // Always "advisor" +type Advisor20260301 string // Always "advisor_20260301" +type AdvisorMessage string // Always "advisor_message" +type AdvisorRedactedResult string // Always "advisor_redacted_result" +type AdvisorResult string // Always "advisor_result" +type AdvisorToolResult string // Always "advisor_tool_result" +type AdvisorToolResultError string // Always "advisor_tool_result_error" type All string // Always "all" type Any string // Always "any" type APIError string // Always "api_error" @@ -173,19 +180,26 @@ type WebSearchResultLocation string // Always "web_search_result type WebSearchToolResult string // Always "web_search_tool_result" type WebSearchToolResultError string // Always "web_search_tool_result_error" -func (c Adaptive) Default() Adaptive { return "adaptive" } -func (c All) Default() All { return "all" } -func (c Any) Default() Any { return "any" } -func (c APIError) Default() APIError { return "api_error" } -func (c ApplicationPDF) Default() ApplicationPDF { return "application/pdf" } -func (c Approximate) Default() Approximate { return "approximate" } -func (c Assistant) Default() Assistant { return "assistant" } -func (c AuthenticationError) Default() AuthenticationError { return "authentication_error" } -func (c Auto) Default() Auto { return "auto" } -func (c Base64) Default() Base64 { return "base64" } -func (c Bash) Default() Bash { return "bash" } -func (c Bash20241022) Default() Bash20241022 { return "bash_20241022" } -func (c Bash20250124) Default() Bash20250124 { return "bash_20250124" } +func (c Adaptive) Default() Adaptive { return "adaptive" } +func (c Advisor) Default() Advisor { return "advisor" } +func (c Advisor20260301) Default() Advisor20260301 { return "advisor_20260301" } +func (c AdvisorMessage) Default() AdvisorMessage { return "advisor_message" } +func (c AdvisorRedactedResult) Default() AdvisorRedactedResult { return "advisor_redacted_result" } +func (c AdvisorResult) Default() AdvisorResult { return "advisor_result" } +func (c AdvisorToolResult) Default() AdvisorToolResult { return "advisor_tool_result" } +func (c AdvisorToolResultError) Default() AdvisorToolResultError { return "advisor_tool_result_error" } +func (c All) Default() All { return "all" } +func (c Any) Default() Any { return "any" } +func (c APIError) Default() APIError { return "api_error" } +func (c ApplicationPDF) Default() ApplicationPDF { return "application/pdf" } +func (c Approximate) Default() Approximate { return "approximate" } +func (c Assistant) Default() Assistant { return "assistant" } +func (c AuthenticationError) Default() AuthenticationError { return "authentication_error" } +func (c Auto) Default() Auto { return "auto" } +func (c Base64) Default() Base64 { return "base64" } +func (c Bash) Default() Bash { return "bash" } +func (c Bash20241022) Default() Bash20241022 { return "bash_20241022" } +func (c Bash20250124) Default() Bash20250124 { return "bash_20250124" } func (c BashCodeExecutionOutput) Default() BashCodeExecutionOutput { return "bash_code_execution_output" } @@ -352,6 +366,13 @@ func (c WebSearchToolResultError) Default() WebSearchToolResultError { } func (c Adaptive) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c Advisor) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c Advisor20260301) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c AdvisorMessage) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c AdvisorRedactedResult) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c AdvisorResult) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c AdvisorToolResult) MarshalJSON() ([]byte, error) { return marshalString(c) } +func (c AdvisorToolResultError) MarshalJSON() ([]byte, error) { return marshalString(c) } func (c All) MarshalJSON() ([]byte, error) { return marshalString(c) } func (c Any) MarshalJSON() ([]byte, error) { return marshalString(c) } func (c APIError) MarshalJSON() ([]byte, error) { return marshalString(c) }