Documentation
¶
Overview ¶
Copyright 2026 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2025 Google LLC ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- func ConvertNumbers(data any) (any, error)
- func DecodeJSON(r io.Reader, v interface{}) error
- func InstrumentationFromContext(ctx context.Context) (*telemetry.Instrumentation, error)
- func LoggerFromContext(ctx context.Context) (log.Logger, error)
- func NewStrictDecoder(v interface{}) (*yaml.Decoder, error)
- func UserAgentFromContext(ctx context.Context) (string, error)
- func WithInstrumentation(ctx context.Context, instrumentation *telemetry.Instrumentation) context.Context
- func WithLogger(ctx context.Context, logger log.Logger) context.Context
- func WithUserAgent(ctx context.Context, versionString string) context.Context
- type AgentError
- type ClientServerError
- type DelayedUnmarshaler
- type ErrorCategory
- type ToolboxError
- type UserAgentRoundTripper
Constants ¶
const GDAClientID = "GENAI_TOOLBOX"
GDAClientID is the client ID for Gemini Data Analytics
Variables ¶
This section is empty.
Functions ¶
func ConvertNumbers ¶ added in v0.10.0
ConvertNumbers traverses an interface and converts all json.Number instances to int64 or float64.
func DecodeJSON ¶ added in v0.8.0
DecodeJSON decodes a given reader into an interface using the json decoder.
func InstrumentationFromContext ¶ added in v0.9.0
func InstrumentationFromContext(ctx context.Context) (*telemetry.Instrumentation, error)
InstrumentationFromContext retrieves the instrumentation or return an error
func LoggerFromContext ¶ added in v0.2.0
LoggerFromContext retrieves the logger or return an error
func NewStrictDecoder ¶
func UserAgentFromContext ¶ added in v0.2.1
UserAgentFromContext retrieves the user agent or return an error
func WithInstrumentation ¶ added in v0.9.0
func WithInstrumentation(ctx context.Context, instrumentation *telemetry.Instrumentation) context.Context
WithInstrumentation adds an instrumentation into the context as a value
func WithLogger ¶ added in v0.2.0
WithLogger adds a logger into the context as a value
Types ¶
type AgentError ¶ added in v0.27.0
Agent Errors return 200 to the sender
func NewAgentError ¶ added in v0.27.0
func NewAgentError(msg string, cause error) *AgentError
func (*AgentError) Category ¶ added in v0.27.0
func (e *AgentError) Category() ErrorCategory
func (*AgentError) Error ¶ added in v0.27.0
func (e *AgentError) Error() string
func (*AgentError) Unwrap ¶ added in v0.27.0
func (e *AgentError) Unwrap() error
type ClientServerError ¶ added in v0.27.0
ClientServerError returns 4XX/5XX error code
func NewClientServerError ¶ added in v0.27.0
func NewClientServerError(msg string, code int, cause error) *ClientServerError
func (*ClientServerError) Category ¶ added in v0.27.0
func (e *ClientServerError) Category() ErrorCategory
func (*ClientServerError) Error ¶ added in v0.27.0
func (e *ClientServerError) Error() string
func (*ClientServerError) Unwrap ¶ added in v0.27.0
func (e *ClientServerError) Unwrap() error
type DelayedUnmarshaler ¶
type DelayedUnmarshaler struct {
// contains filtered or unexported fields
}
DelayedUnmarshaler is struct that saves the provided unmarshal function passed to UnmarshalYAML so it can be re-used later once the target interface is known.
func (*DelayedUnmarshaler) Unmarshal ¶
func (d *DelayedUnmarshaler) Unmarshal(v interface{}) error
func (*DelayedUnmarshaler) UnmarshalYAML ¶
func (d *DelayedUnmarshaler) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
type ErrorCategory ¶ added in v0.27.0
type ErrorCategory string
const ( CategoryAgent ErrorCategory = "AGENT_ERROR" CategoryServer ErrorCategory = "SERVER_ERROR" )
type ToolboxError ¶ added in v0.27.0
type ToolboxError interface {
error
Category() ErrorCategory
Error() string
Unwrap() error
}
ToolboxError is the interface all custom errors must satisfy
func ProcessGcpError ¶ added in v0.27.0
func ProcessGcpError(err error) ToolboxError
ProcessGcpError catches auth related errors in GCP requests results and return 401/403 error codes Returns AgentError for all other errors
func ProcessGeneralError ¶ added in v0.27.0
func ProcessGeneralError(err error) ToolboxError
ProcessGeneralError handles generic errors by inspecting the error string for common status code patterns.
type UserAgentRoundTripper ¶ added in v0.25.0
type UserAgentRoundTripper struct {
// contains filtered or unexported fields
}
func NewUserAgentRoundTripper ¶ added in v0.25.0
func NewUserAgentRoundTripper(ua string, next http.RoundTripper) *UserAgentRoundTripper