// Code generated by ent, DO NOT EDIT.

package usagedetail

import (
	"time"
	"wechat-api/ent/predicate"

	"entgo.io/ent/dialect/sql"
)

// ID filters vertices based on their ID field.
func ID(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldID, id))
}

// IDEQ applies the EQ predicate on the ID field.
func IDEQ(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldID, id))
}

// IDNEQ applies the NEQ predicate on the ID field.
func IDNEQ(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldID, id))
}

// IDIn applies the In predicate on the ID field.
func IDIn(ids ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldID, ids...))
}

// IDNotIn applies the NotIn predicate on the ID field.
func IDNotIn(ids ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldID, ids...))
}

// IDGT applies the GT predicate on the ID field.
func IDGT(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldID, id))
}

// IDGTE applies the GTE predicate on the ID field.
func IDGTE(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldID, id))
}

// IDLT applies the LT predicate on the ID field.
func IDLT(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldID, id))
}

// IDLTE applies the LTE predicate on the ID field.
func IDLTE(id uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldID, id))
}

// CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ.
func CreatedAt(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldCreatedAt, v))
}

// UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ.
func UpdatedAt(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldUpdatedAt, v))
}

// Status applies equality check predicate on the "status" field. It's identical to StatusEQ.
func Status(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldStatus, v))
}

// Type applies equality check predicate on the "type" field. It's identical to TypeEQ.
func Type(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldType, v))
}

// BotID applies equality check predicate on the "bot_id" field. It's identical to BotIDEQ.
func BotID(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldBotID, v))
}

// ReceiverID applies equality check predicate on the "receiver_id" field. It's identical to ReceiverIDEQ.
func ReceiverID(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldReceiverID, v))
}

// App applies equality check predicate on the "app" field. It's identical to AppEQ.
func App(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldApp, v))
}

// SessionID applies equality check predicate on the "session_id" field. It's identical to SessionIDEQ.
func SessionID(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldSessionID, v))
}

// Request applies equality check predicate on the "request" field. It's identical to RequestEQ.
func Request(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldRequest, v))
}

// Response applies equality check predicate on the "response" field. It's identical to ResponseEQ.
func Response(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldResponse, v))
}

// TotalTokens applies equality check predicate on the "total_tokens" field. It's identical to TotalTokensEQ.
func TotalTokens(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldTotalTokens, v))
}

// PromptTokens applies equality check predicate on the "prompt_tokens" field. It's identical to PromptTokensEQ.
func PromptTokens(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldPromptTokens, v))
}

// CompletionTokens applies equality check predicate on the "completion_tokens" field. It's identical to CompletionTokensEQ.
func CompletionTokens(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldCompletionTokens, v))
}

// OrganizationID applies equality check predicate on the "organization_id" field. It's identical to OrganizationIDEQ.
func OrganizationID(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldOrganizationID, v))
}

// CreatedAtEQ applies the EQ predicate on the "created_at" field.
func CreatedAtEQ(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldCreatedAt, v))
}

// CreatedAtNEQ applies the NEQ predicate on the "created_at" field.
func CreatedAtNEQ(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldCreatedAt, v))
}

// CreatedAtIn applies the In predicate on the "created_at" field.
func CreatedAtIn(vs ...time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldCreatedAt, vs...))
}

// CreatedAtNotIn applies the NotIn predicate on the "created_at" field.
func CreatedAtNotIn(vs ...time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldCreatedAt, vs...))
}

// CreatedAtGT applies the GT predicate on the "created_at" field.
func CreatedAtGT(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldCreatedAt, v))
}

// CreatedAtGTE applies the GTE predicate on the "created_at" field.
func CreatedAtGTE(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldCreatedAt, v))
}

// CreatedAtLT applies the LT predicate on the "created_at" field.
func CreatedAtLT(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldCreatedAt, v))
}

// CreatedAtLTE applies the LTE predicate on the "created_at" field.
func CreatedAtLTE(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldCreatedAt, v))
}

// UpdatedAtEQ applies the EQ predicate on the "updated_at" field.
func UpdatedAtEQ(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldUpdatedAt, v))
}

// UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field.
func UpdatedAtNEQ(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldUpdatedAt, v))
}

// UpdatedAtIn applies the In predicate on the "updated_at" field.
func UpdatedAtIn(vs ...time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldUpdatedAt, vs...))
}

// UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field.
func UpdatedAtNotIn(vs ...time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldUpdatedAt, vs...))
}

// UpdatedAtGT applies the GT predicate on the "updated_at" field.
func UpdatedAtGT(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldUpdatedAt, v))
}

// UpdatedAtGTE applies the GTE predicate on the "updated_at" field.
func UpdatedAtGTE(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldUpdatedAt, v))
}

// UpdatedAtLT applies the LT predicate on the "updated_at" field.
func UpdatedAtLT(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldUpdatedAt, v))
}

// UpdatedAtLTE applies the LTE predicate on the "updated_at" field.
func UpdatedAtLTE(v time.Time) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldUpdatedAt, v))
}

// StatusEQ applies the EQ predicate on the "status" field.
func StatusEQ(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldStatus, v))
}

// StatusNEQ applies the NEQ predicate on the "status" field.
func StatusNEQ(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldStatus, v))
}

// StatusIn applies the In predicate on the "status" field.
func StatusIn(vs ...uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldStatus, vs...))
}

// StatusNotIn applies the NotIn predicate on the "status" field.
func StatusNotIn(vs ...uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldStatus, vs...))
}

// StatusGT applies the GT predicate on the "status" field.
func StatusGT(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldStatus, v))
}

// StatusGTE applies the GTE predicate on the "status" field.
func StatusGTE(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldStatus, v))
}

// StatusLT applies the LT predicate on the "status" field.
func StatusLT(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldStatus, v))
}

// StatusLTE applies the LTE predicate on the "status" field.
func StatusLTE(v uint8) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldStatus, v))
}

// StatusIsNil applies the IsNil predicate on the "status" field.
func StatusIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldStatus))
}

// StatusNotNil applies the NotNil predicate on the "status" field.
func StatusNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldStatus))
}

// TypeEQ applies the EQ predicate on the "type" field.
func TypeEQ(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldType, v))
}

// TypeNEQ applies the NEQ predicate on the "type" field.
func TypeNEQ(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldType, v))
}

// TypeIn applies the In predicate on the "type" field.
func TypeIn(vs ...int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldType, vs...))
}

// TypeNotIn applies the NotIn predicate on the "type" field.
func TypeNotIn(vs ...int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldType, vs...))
}

// TypeGT applies the GT predicate on the "type" field.
func TypeGT(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldType, v))
}

// TypeGTE applies the GTE predicate on the "type" field.
func TypeGTE(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldType, v))
}

// TypeLT applies the LT predicate on the "type" field.
func TypeLT(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldType, v))
}

// TypeLTE applies the LTE predicate on the "type" field.
func TypeLTE(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldType, v))
}

// TypeIsNil applies the IsNil predicate on the "type" field.
func TypeIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldType))
}

// TypeNotNil applies the NotNil predicate on the "type" field.
func TypeNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldType))
}

// BotIDEQ applies the EQ predicate on the "bot_id" field.
func BotIDEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldBotID, v))
}

// BotIDNEQ applies the NEQ predicate on the "bot_id" field.
func BotIDNEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldBotID, v))
}

// BotIDIn applies the In predicate on the "bot_id" field.
func BotIDIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldBotID, vs...))
}

// BotIDNotIn applies the NotIn predicate on the "bot_id" field.
func BotIDNotIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldBotID, vs...))
}

// BotIDGT applies the GT predicate on the "bot_id" field.
func BotIDGT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldBotID, v))
}

// BotIDGTE applies the GTE predicate on the "bot_id" field.
func BotIDGTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldBotID, v))
}

// BotIDLT applies the LT predicate on the "bot_id" field.
func BotIDLT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldBotID, v))
}

// BotIDLTE applies the LTE predicate on the "bot_id" field.
func BotIDLTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldBotID, v))
}

// BotIDContains applies the Contains predicate on the "bot_id" field.
func BotIDContains(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContains(FieldBotID, v))
}

// BotIDHasPrefix applies the HasPrefix predicate on the "bot_id" field.
func BotIDHasPrefix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasPrefix(FieldBotID, v))
}

// BotIDHasSuffix applies the HasSuffix predicate on the "bot_id" field.
func BotIDHasSuffix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasSuffix(FieldBotID, v))
}

// BotIDEqualFold applies the EqualFold predicate on the "bot_id" field.
func BotIDEqualFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEqualFold(FieldBotID, v))
}

// BotIDContainsFold applies the ContainsFold predicate on the "bot_id" field.
func BotIDContainsFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContainsFold(FieldBotID, v))
}

// ReceiverIDEQ applies the EQ predicate on the "receiver_id" field.
func ReceiverIDEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldReceiverID, v))
}

// ReceiverIDNEQ applies the NEQ predicate on the "receiver_id" field.
func ReceiverIDNEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldReceiverID, v))
}

// ReceiverIDIn applies the In predicate on the "receiver_id" field.
func ReceiverIDIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldReceiverID, vs...))
}

// ReceiverIDNotIn applies the NotIn predicate on the "receiver_id" field.
func ReceiverIDNotIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldReceiverID, vs...))
}

// ReceiverIDGT applies the GT predicate on the "receiver_id" field.
func ReceiverIDGT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldReceiverID, v))
}

// ReceiverIDGTE applies the GTE predicate on the "receiver_id" field.
func ReceiverIDGTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldReceiverID, v))
}

// ReceiverIDLT applies the LT predicate on the "receiver_id" field.
func ReceiverIDLT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldReceiverID, v))
}

// ReceiverIDLTE applies the LTE predicate on the "receiver_id" field.
func ReceiverIDLTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldReceiverID, v))
}

// ReceiverIDContains applies the Contains predicate on the "receiver_id" field.
func ReceiverIDContains(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContains(FieldReceiverID, v))
}

// ReceiverIDHasPrefix applies the HasPrefix predicate on the "receiver_id" field.
func ReceiverIDHasPrefix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasPrefix(FieldReceiverID, v))
}

// ReceiverIDHasSuffix applies the HasSuffix predicate on the "receiver_id" field.
func ReceiverIDHasSuffix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasSuffix(FieldReceiverID, v))
}

// ReceiverIDEqualFold applies the EqualFold predicate on the "receiver_id" field.
func ReceiverIDEqualFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEqualFold(FieldReceiverID, v))
}

// ReceiverIDContainsFold applies the ContainsFold predicate on the "receiver_id" field.
func ReceiverIDContainsFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContainsFold(FieldReceiverID, v))
}

// AppEQ applies the EQ predicate on the "app" field.
func AppEQ(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldApp, v))
}

// AppNEQ applies the NEQ predicate on the "app" field.
func AppNEQ(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldApp, v))
}

// AppIn applies the In predicate on the "app" field.
func AppIn(vs ...int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldApp, vs...))
}

// AppNotIn applies the NotIn predicate on the "app" field.
func AppNotIn(vs ...int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldApp, vs...))
}

// AppGT applies the GT predicate on the "app" field.
func AppGT(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldApp, v))
}

// AppGTE applies the GTE predicate on the "app" field.
func AppGTE(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldApp, v))
}

// AppLT applies the LT predicate on the "app" field.
func AppLT(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldApp, v))
}

// AppLTE applies the LTE predicate on the "app" field.
func AppLTE(v int) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldApp, v))
}

// AppIsNil applies the IsNil predicate on the "app" field.
func AppIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldApp))
}

// AppNotNil applies the NotNil predicate on the "app" field.
func AppNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldApp))
}

// SessionIDEQ applies the EQ predicate on the "session_id" field.
func SessionIDEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldSessionID, v))
}

// SessionIDNEQ applies the NEQ predicate on the "session_id" field.
func SessionIDNEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldSessionID, v))
}

// SessionIDIn applies the In predicate on the "session_id" field.
func SessionIDIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldSessionID, vs...))
}

// SessionIDNotIn applies the NotIn predicate on the "session_id" field.
func SessionIDNotIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldSessionID, vs...))
}

// SessionIDGT applies the GT predicate on the "session_id" field.
func SessionIDGT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldSessionID, v))
}

// SessionIDGTE applies the GTE predicate on the "session_id" field.
func SessionIDGTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldSessionID, v))
}

// SessionIDLT applies the LT predicate on the "session_id" field.
func SessionIDLT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldSessionID, v))
}

// SessionIDLTE applies the LTE predicate on the "session_id" field.
func SessionIDLTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldSessionID, v))
}

// SessionIDIsNil applies the IsNil predicate on the "session_id" field.
func SessionIDIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldSessionID))
}

// SessionIDNotNil applies the NotNil predicate on the "session_id" field.
func SessionIDNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldSessionID))
}

// RequestEQ applies the EQ predicate on the "request" field.
func RequestEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldRequest, v))
}

// RequestNEQ applies the NEQ predicate on the "request" field.
func RequestNEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldRequest, v))
}

// RequestIn applies the In predicate on the "request" field.
func RequestIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldRequest, vs...))
}

// RequestNotIn applies the NotIn predicate on the "request" field.
func RequestNotIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldRequest, vs...))
}

// RequestGT applies the GT predicate on the "request" field.
func RequestGT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldRequest, v))
}

// RequestGTE applies the GTE predicate on the "request" field.
func RequestGTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldRequest, v))
}

// RequestLT applies the LT predicate on the "request" field.
func RequestLT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldRequest, v))
}

// RequestLTE applies the LTE predicate on the "request" field.
func RequestLTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldRequest, v))
}

// RequestContains applies the Contains predicate on the "request" field.
func RequestContains(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContains(FieldRequest, v))
}

// RequestHasPrefix applies the HasPrefix predicate on the "request" field.
func RequestHasPrefix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasPrefix(FieldRequest, v))
}

// RequestHasSuffix applies the HasSuffix predicate on the "request" field.
func RequestHasSuffix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasSuffix(FieldRequest, v))
}

// RequestEqualFold applies the EqualFold predicate on the "request" field.
func RequestEqualFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEqualFold(FieldRequest, v))
}

// RequestContainsFold applies the ContainsFold predicate on the "request" field.
func RequestContainsFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContainsFold(FieldRequest, v))
}

// ResponseEQ applies the EQ predicate on the "response" field.
func ResponseEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldResponse, v))
}

// ResponseNEQ applies the NEQ predicate on the "response" field.
func ResponseNEQ(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldResponse, v))
}

// ResponseIn applies the In predicate on the "response" field.
func ResponseIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldResponse, vs...))
}

// ResponseNotIn applies the NotIn predicate on the "response" field.
func ResponseNotIn(vs ...string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldResponse, vs...))
}

// ResponseGT applies the GT predicate on the "response" field.
func ResponseGT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldResponse, v))
}

// ResponseGTE applies the GTE predicate on the "response" field.
func ResponseGTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldResponse, v))
}

// ResponseLT applies the LT predicate on the "response" field.
func ResponseLT(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldResponse, v))
}

// ResponseLTE applies the LTE predicate on the "response" field.
func ResponseLTE(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldResponse, v))
}

// ResponseContains applies the Contains predicate on the "response" field.
func ResponseContains(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContains(FieldResponse, v))
}

// ResponseHasPrefix applies the HasPrefix predicate on the "response" field.
func ResponseHasPrefix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasPrefix(FieldResponse, v))
}

// ResponseHasSuffix applies the HasSuffix predicate on the "response" field.
func ResponseHasSuffix(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldHasSuffix(FieldResponse, v))
}

// ResponseEqualFold applies the EqualFold predicate on the "response" field.
func ResponseEqualFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEqualFold(FieldResponse, v))
}

// ResponseContainsFold applies the ContainsFold predicate on the "response" field.
func ResponseContainsFold(v string) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldContainsFold(FieldResponse, v))
}

// TotalTokensEQ applies the EQ predicate on the "total_tokens" field.
func TotalTokensEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldTotalTokens, v))
}

// TotalTokensNEQ applies the NEQ predicate on the "total_tokens" field.
func TotalTokensNEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldTotalTokens, v))
}

// TotalTokensIn applies the In predicate on the "total_tokens" field.
func TotalTokensIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldTotalTokens, vs...))
}

// TotalTokensNotIn applies the NotIn predicate on the "total_tokens" field.
func TotalTokensNotIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldTotalTokens, vs...))
}

// TotalTokensGT applies the GT predicate on the "total_tokens" field.
func TotalTokensGT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldTotalTokens, v))
}

// TotalTokensGTE applies the GTE predicate on the "total_tokens" field.
func TotalTokensGTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldTotalTokens, v))
}

// TotalTokensLT applies the LT predicate on the "total_tokens" field.
func TotalTokensLT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldTotalTokens, v))
}

// TotalTokensLTE applies the LTE predicate on the "total_tokens" field.
func TotalTokensLTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldTotalTokens, v))
}

// TotalTokensIsNil applies the IsNil predicate on the "total_tokens" field.
func TotalTokensIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldTotalTokens))
}

// TotalTokensNotNil applies the NotNil predicate on the "total_tokens" field.
func TotalTokensNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldTotalTokens))
}

// PromptTokensEQ applies the EQ predicate on the "prompt_tokens" field.
func PromptTokensEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldPromptTokens, v))
}

// PromptTokensNEQ applies the NEQ predicate on the "prompt_tokens" field.
func PromptTokensNEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldPromptTokens, v))
}

// PromptTokensIn applies the In predicate on the "prompt_tokens" field.
func PromptTokensIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldPromptTokens, vs...))
}

// PromptTokensNotIn applies the NotIn predicate on the "prompt_tokens" field.
func PromptTokensNotIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldPromptTokens, vs...))
}

// PromptTokensGT applies the GT predicate on the "prompt_tokens" field.
func PromptTokensGT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldPromptTokens, v))
}

// PromptTokensGTE applies the GTE predicate on the "prompt_tokens" field.
func PromptTokensGTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldPromptTokens, v))
}

// PromptTokensLT applies the LT predicate on the "prompt_tokens" field.
func PromptTokensLT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldPromptTokens, v))
}

// PromptTokensLTE applies the LTE predicate on the "prompt_tokens" field.
func PromptTokensLTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldPromptTokens, v))
}

// PromptTokensIsNil applies the IsNil predicate on the "prompt_tokens" field.
func PromptTokensIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldPromptTokens))
}

// PromptTokensNotNil applies the NotNil predicate on the "prompt_tokens" field.
func PromptTokensNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldPromptTokens))
}

// CompletionTokensEQ applies the EQ predicate on the "completion_tokens" field.
func CompletionTokensEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldCompletionTokens, v))
}

// CompletionTokensNEQ applies the NEQ predicate on the "completion_tokens" field.
func CompletionTokensNEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldCompletionTokens, v))
}

// CompletionTokensIn applies the In predicate on the "completion_tokens" field.
func CompletionTokensIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldCompletionTokens, vs...))
}

// CompletionTokensNotIn applies the NotIn predicate on the "completion_tokens" field.
func CompletionTokensNotIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldCompletionTokens, vs...))
}

// CompletionTokensGT applies the GT predicate on the "completion_tokens" field.
func CompletionTokensGT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldCompletionTokens, v))
}

// CompletionTokensGTE applies the GTE predicate on the "completion_tokens" field.
func CompletionTokensGTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldCompletionTokens, v))
}

// CompletionTokensLT applies the LT predicate on the "completion_tokens" field.
func CompletionTokensLT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldCompletionTokens, v))
}

// CompletionTokensLTE applies the LTE predicate on the "completion_tokens" field.
func CompletionTokensLTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldCompletionTokens, v))
}

// CompletionTokensIsNil applies the IsNil predicate on the "completion_tokens" field.
func CompletionTokensIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldCompletionTokens))
}

// CompletionTokensNotNil applies the NotNil predicate on the "completion_tokens" field.
func CompletionTokensNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldCompletionTokens))
}

// OrganizationIDEQ applies the EQ predicate on the "organization_id" field.
func OrganizationIDEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldEQ(FieldOrganizationID, v))
}

// OrganizationIDNEQ applies the NEQ predicate on the "organization_id" field.
func OrganizationIDNEQ(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNEQ(FieldOrganizationID, v))
}

// OrganizationIDIn applies the In predicate on the "organization_id" field.
func OrganizationIDIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIn(FieldOrganizationID, vs...))
}

// OrganizationIDNotIn applies the NotIn predicate on the "organization_id" field.
func OrganizationIDNotIn(vs ...uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotIn(FieldOrganizationID, vs...))
}

// OrganizationIDGT applies the GT predicate on the "organization_id" field.
func OrganizationIDGT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGT(FieldOrganizationID, v))
}

// OrganizationIDGTE applies the GTE predicate on the "organization_id" field.
func OrganizationIDGTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldGTE(FieldOrganizationID, v))
}

// OrganizationIDLT applies the LT predicate on the "organization_id" field.
func OrganizationIDLT(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLT(FieldOrganizationID, v))
}

// OrganizationIDLTE applies the LTE predicate on the "organization_id" field.
func OrganizationIDLTE(v uint64) predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldLTE(FieldOrganizationID, v))
}

// OrganizationIDIsNil applies the IsNil predicate on the "organization_id" field.
func OrganizationIDIsNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldIsNull(FieldOrganizationID))
}

// OrganizationIDNotNil applies the NotNil predicate on the "organization_id" field.
func OrganizationIDNotNil() predicate.UsageDetail {
	return predicate.UsageDetail(sql.FieldNotNull(FieldOrganizationID))
}

// And groups predicates with the AND operator between them.
func And(predicates ...predicate.UsageDetail) predicate.UsageDetail {
	return predicate.UsageDetail(sql.AndPredicates(predicates...))
}

// Or groups predicates with the OR operator between them.
func Or(predicates ...predicate.UsageDetail) predicate.UsageDetail {
	return predicate.UsageDetail(sql.OrPredicates(predicates...))
}

// Not applies the not operator on the given predicate.
func Not(p predicate.UsageDetail) predicate.UsageDetail {
	return predicate.UsageDetail(sql.NotPredicates(p))
}