/* Hindsight HTTP API HTTP API for Hindsight API version: 0.4.13 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package hindsight import ( "encoding/json" ) // checks if the TokenUsage type satisfies the MappedNullable interface at compile time var _ MappedNullable = &TokenUsage{} // TokenUsage Token usage metrics for LLM calls. Tracks input/output tokens for a single request to enable per-request cost tracking and monitoring. type TokenUsage struct { // Number of input/prompt tokens consumed InputTokens *int32 `json:"input_tokens,omitempty"` // Number of output/completion tokens generated OutputTokens *int32 `json:"output_tokens,omitempty"` // Total tokens (input + output) TotalTokens *int32 `json:"total_tokens,omitempty"` } // NewTokenUsage instantiates a new TokenUsage object // This constructor will assign default values to properties that have it defined, // and makes sure properties required by API are set, but the set of arguments // will change when the set of required properties is changed func NewTokenUsage() *TokenUsage { this := TokenUsage{} var inputTokens int32 = 0 this.InputTokens = &inputTokens var outputTokens int32 = 0 this.OutputTokens = &outputTokens var totalTokens int32 = 0 this.TotalTokens = &totalTokens return &this } // NewTokenUsageWithDefaults instantiates a new TokenUsage object // This constructor will only assign default values to properties that have it defined, // but it doesn't guarantee that properties required by API are set func NewTokenUsageWithDefaults() *TokenUsage { this := TokenUsage{} var inputTokens int32 = 0 this.InputTokens = &inputTokens var outputTokens int32 = 0 this.OutputTokens = &outputTokens var totalTokens int32 = 0 this.TotalTokens = &totalTokens return &this } // GetInputTokens returns the InputTokens field value if set, zero value otherwise. func (o *TokenUsage) GetInputTokens() int32 { if o == nil || IsNil(o.InputTokens) { var ret int32 return ret } return *o.InputTokens } // GetInputTokensOk returns a tuple with the InputTokens field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *TokenUsage) GetInputTokensOk() (*int32, bool) { if o == nil || IsNil(o.InputTokens) { return nil, false } return o.InputTokens, true } // HasInputTokens returns a boolean if a field has been set. func (o *TokenUsage) HasInputTokens() bool { if o != nil && !IsNil(o.InputTokens) { return true } return false } // SetInputTokens gets a reference to the given int32 and assigns it to the InputTokens field. func (o *TokenUsage) SetInputTokens(v int32) { o.InputTokens = &v } // GetOutputTokens returns the OutputTokens field value if set, zero value otherwise. func (o *TokenUsage) GetOutputTokens() int32 { if o == nil || IsNil(o.OutputTokens) { var ret int32 return ret } return *o.OutputTokens } // GetOutputTokensOk returns a tuple with the OutputTokens field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *TokenUsage) GetOutputTokensOk() (*int32, bool) { if o == nil || IsNil(o.OutputTokens) { return nil, false } return o.OutputTokens, true } // HasOutputTokens returns a boolean if a field has been set. func (o *TokenUsage) HasOutputTokens() bool { if o != nil && !IsNil(o.OutputTokens) { return true } return false } // SetOutputTokens gets a reference to the given int32 and assigns it to the OutputTokens field. func (o *TokenUsage) SetOutputTokens(v int32) { o.OutputTokens = &v } // GetTotalTokens returns the TotalTokens field value if set, zero value otherwise. func (o *TokenUsage) GetTotalTokens() int32 { if o == nil || IsNil(o.TotalTokens) { var ret int32 return ret } return *o.TotalTokens } // GetTotalTokensOk returns a tuple with the TotalTokens field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *TokenUsage) GetTotalTokensOk() (*int32, bool) { if o == nil || IsNil(o.TotalTokens) { return nil, false } return o.TotalTokens, true } // HasTotalTokens returns a boolean if a field has been set. func (o *TokenUsage) HasTotalTokens() bool { if o != nil && !IsNil(o.TotalTokens) { return true } return false } // SetTotalTokens gets a reference to the given int32 and assigns it to the TotalTokens field. func (o *TokenUsage) SetTotalTokens(v int32) { o.TotalTokens = &v } func (o TokenUsage) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err } return json.Marshal(toSerialize) } func (o TokenUsage) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if !IsNil(o.InputTokens) { toSerialize["input_tokens"] = o.InputTokens } if !IsNil(o.OutputTokens) { toSerialize["output_tokens"] = o.OutputTokens } if !IsNil(o.TotalTokens) { toSerialize["total_tokens"] = o.TotalTokens } return toSerialize, nil } type NullableTokenUsage struct { value *TokenUsage isSet bool } func (v NullableTokenUsage) Get() *TokenUsage { return v.value } func (v *NullableTokenUsage) Set(val *TokenUsage) { v.value = val v.isSet = true } func (v NullableTokenUsage) IsSet() bool { return v.isSet } func (v *NullableTokenUsage) Unset() { v.value = nil v.isSet = false } func NewNullableTokenUsage(val *TokenUsage) *NullableTokenUsage { return &NullableTokenUsage{value: val, isSet: true} } func (v NullableTokenUsage) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableTokenUsage) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }