# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: tars/insights/v1/request_logs.proto
# Protobuf Python Version: 6.32.0
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    32,
    0,
    '',
    'tars/insights/v1/request_logs.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from tars.auth.v1 import auth_options_pb2 as tars_dot_auth_dot_v1_dot_auth__options__pb2
from tars.cli.v1 import cli_pb2 as tars_dot_cli_dot_v1_dot_cli__pb2
from tars.docs.v1 import docs_pb2 as tars_dot_docs_dot_v1_dot_docs__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#tars/insights/v1/request_logs.proto\x12\x10tars.insights.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ftars/auth/v1/auth_options.proto\x1a\x15tars/cli/v1/cli.proto\x1a\x17tars/docs/v1/docs.proto\"\x98\x04\n\x1eListCustomerRequestLogsRequest\x12\x1f\n\x0b\x63ustomer_id\x18\x01 \x01(\tR\ncustomerId\x12\x1d\n\nproject_id\x18\x02 \x01(\tR\tprojectId\x12\x1c\n\napi_key_id\x18\x03 \x01(\tR\x08\x61piKeyId\x12\x1d\n\nmodel_name\x18\x04 \x01(\tR\tmodelName\x12\x16\n\x06status\x18\x05 \x01(\tR\x06status\x12\x1f\n\x0bstatus_code\x18\x06 \x01(\x05R\nstatusCode\x12\x39\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12&\n\x0fmin_duration_ms\x18\t \x01(\x05R\rminDurationMs\x12&\n\x0fmax_duration_ms\x18\n \x01(\x05R\rmaxDurationMs\x12\x1b\n\tpage_size\x18\x0b \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x0c \x01(\tR\tpageToken\x12\x19\n\x08order_by\x18\r \x01(\tR\x07orderBy\x12\'\n\x0forder_direction\x18\x0e \x01(\tR\x0eorderDirection\"\x9c\x01\n\x1fListCustomerRequestLogsResponse\x12\x30\n\x04logs\x18\x01 \x03(\x0b\x32\x1c.tars.insights.v1.RequestLogR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x03R\ntotalCount\"\x82\x01\n\x1cGetCustomerRequestLogRequest\x12\x1f\n\x0b\x63ustomer_id\x18\x01 \x01(\tR\ncustomerId\x12\x1d\n\nproject_id\x18\x02 \x01(\tR\tprojectId\x12\"\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\trequestId\"\xa7\x02\n!GetCustomerRequestLogStatsRequest\x12\x1f\n\x0b\x63ustomer_id\x18\x01 \x01(\tR\ncustomerId\x12\x1d\n\nproject_id\x18\x02 \x01(\tR\tprojectId\x12\x1d\n\nmodel_name\x18\x03 \x01(\tR\tmodelName\x12\x39\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12\x19\n\x08group_by\x18\x06 \x01(\tR\x07groupBy\x12\x16\n\x06metric\x18\x07 \x01(\tR\x06metric\"\xea\x03\n\x17QueryRequestLogsRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1c\n\napi_key_id\x18\x02 \x01(\tR\x08\x61piKeyId\x12\x1d\n\nmodel_name\x18\x03 \x01(\tR\tmodelName\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x1f\n\x0bstatus_code\x18\x05 \x01(\x05R\nstatusCode\x12\x39\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12&\n\x0fmin_duration_ms\x18\x08 \x01(\x05R\rminDurationMs\x12&\n\x0fmax_duration_ms\x18\t \x01(\x05R\rmaxDurationMs\x12\x1b\n\tpage_size\x18\n \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x0b \x01(\tR\tpageToken\x12\x19\n\x08order_by\x18\x0c \x01(\tR\x07orderBy\x12\'\n\x0forder_direction\x18\r \x01(\tR\x0eorderDirection\"\x95\x01\n\x18QueryRequestLogsResponse\x12\x30\n\x04logs\x18\x01 \x03(\x0b\x32\x1c.tars.insights.v1.RequestLogR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x03R\ntotalCount\"5\n\x14GetRequestLogRequest\x12\x1d\n\nrequest_id\x18\x01 \x01(\tR\trequestId\"\xeb\x0e\n\nRequestLog\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x38\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp\x12\x17\n\x07user_id\x18\x03 \x01(\tR\x06userId\x12\x1c\n\napi_key_id\x18\x04 \x01(\tR\x08\x61piKeyId\x12$\n\x0e\x61pi_key_prefix\x18\x05 \x01(\tR\x0c\x61piKeyPrefix\x12 \n\x0c\x61pi_key_hash\x18\x06 \x01(\tR\napiKeyHash\x12&\n\x0f\x61pi_key_address\x18\x07 \x01(\tR\rapiKeyAddress\x12 \n\x0c\x61pi_key_name\x18\x08 \x01(\tR\napiKeyName\x12\x1d\n\nmodel_name\x18\t \x01(\tR\tmodelName\x12!\n\x0cinput_tokens\x18\n \x01(\x05R\x0binputTokens\x12#\n\routput_tokens\x18\x0b \x01(\x05R\x0coutputTokens\x12\x41\n\x1dinput_tokens_cost_microdollar\x18\x0c \x01(\x03R\x1ainputTokensCostMicrodollar\x12*\n\x11input_tokens_cost\x18\r \x01(\tR\x0finputTokensCost\x12>\n\x1cinput_tokens_cost_before_fee\x18\x0e \x01(\tR\x18inputTokensCostBeforeFee\x12\x43\n\x1eoutput_tokens_cost_microdollar\x18\x0f \x01(\x03R\x1boutputTokensCostMicrodollar\x12,\n\x12output_tokens_cost\x18\x10 \x01(\tR\x10outputTokensCost\x12@\n\x1doutput_tokens_cost_before_fee\x18\x11 \x01(\tR\x19outputTokensCostBeforeFee\x12\x16\n\x06status\x18\x12 \x01(\tR\x06status\x12\x1f\n\x0bstatus_code\x18\x13 \x01(\x05R\nstatusCode\x12@\n\x0frequest_headers\x18\x14 \x01(\x0b\x32\x17.google.protobuf.StructR\x0erequestHeaders\x12:\n\x0crequest_body\x18\x15 \x01(\x0b\x32\x17.google.protobuf.StructR\x0brequestBody\x12\x42\n\x10response_headers\x18\x16 \x01(\x0b\x32\x17.google.protobuf.StructR\x0fresponseHeaders\x12#\n\rresponse_body\x18\x17 \x01(\tR\x0cresponseBody\x12*\n\x11response_body_raw\x18\x18 \x01(\x0cR\x0fresponseBodyRaw\x12>\n\x0ellm_parameters\x18\x19 \x01(\x0b\x32\x17.google.protobuf.StructR\rllmParameters\x12\x30\n\x14upstream_duration_ms\x18\x1a \x01(\x05R\x12upstreamDurationMs\x12\x1f\n\x0b\x64uration_ms\x18\x1b \x01(\x05R\ndurationMs\x12\x1d\n\nrequest_id\x18\x1c \x01(\tR\trequestId\x12\x39\n\ncreated_at\x18\x1d \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12)\n\x10storage_location\x18\x1e \x01(\tR\x0fstorageLocation\x12*\n\x11storage_row_index\x18\x1f \x01(\x05R\x0fstorageRowIndex\x12(\n\x10storage_batch_id\x18  \x01(\tR\x0estorageBatchId\x12,\n\x12use_object_storage\x18! \x01(\x08R\x10useObjectStorage\x12.\n\x13\x63\x61\x63hed_input_tokens\x18\" \x01(\x05R\x11\x63\x61\x63hedInputTokens\x12\x37\n\x18\x63\x61\x63hed_input_tokens_cost\x18# \x01(\tR\x15\x63\x61\x63hedInputTokensCost\x12K\n#cached_input_tokens_cost_before_fee\x18$ \x01(\tR\x1e\x63\x61\x63hedInputTokensCostBeforeFee\x12=\n\x1b\x63\x61\x63he_creation_input_tokens\x18% \x01(\x05R\x18\x63\x61\x63heCreationInputTokens\x12\x46\n cache_creation_input_tokens_cost\x18& \x01(\tR\x1c\x63\x61\x63heCreationInputTokensCost\x12Z\n+cache_creation_input_tokens_cost_before_fee\x18\' \x01(\tR%cacheCreationInputTokensCostBeforeFee\"\xf8\x01\n\x19GetRequestLogStatsRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x1d\n\nmodel_name\x18\x02 \x01(\tR\tmodelName\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12\x19\n\x08group_by\x18\x05 \x01(\tR\x07groupBy\x12\x16\n\x06metric\x18\x06 \x01(\tR\x06metric\"\xb3\x02\n\x17RequestLogStatsResponse\x12\x31\n\x05stats\x18\x01 \x03(\x0b\x32\x1b.tars.insights.v1.StatEntryR\x05stats\x12\x1f\n\x0btotal_count\x18\x02 \x01(\x03R\ntotalCount\x12,\n\x12total_input_tokens\x18\x03 \x01(\x03R\x10totalInputTokens\x12.\n\x13total_output_tokens\x18\x04 \x01(\x03R\x11totalOutputTokens\x12\x1d\n\ntotal_cost\x18\x05 \x01(\tR\ttotalCost\x12&\n\x0f\x61vg_duration_ms\x18\x06 \x01(\x01R\ravgDurationMs\x12\x1f\n\x0b\x65rror_count\x18\x07 \x01(\x03R\nerrorCount\"\xee\x03\n\tStatEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05\x63ount\x18\x02 \x01(\x03R\x05\x63ount\x12\x1f\n\x0b\x65rror_count\x18\x03 \x01(\x03R\nerrorCount\x12!\n\x0cinput_tokens\x18\x04 \x01(\x03R\x0binputTokens\x12#\n\routput_tokens\x18\x05 \x01(\x03R\x0coutputTokens\x12!\n\x0ctotal_tokens\x18\x06 \x01(\x03R\x0btotalTokens\x12\x12\n\x04\x63ost\x18\x07 \x01(\tR\x04\x63ost\x12)\n\x10\x63ost_microdollar\x18\x08 \x01(\x03R\x0f\x63ostMicrodollar\x12&\n\x0f\x61vg_duration_ms\x18\t \x01(\x03R\ravgDurationMs\x12&\n\x0fmin_duration_ms\x18\n \x01(\x03R\rminDurationMs\x12&\n\x0fmax_duration_ms\x18\x0b \x01(\x03R\rmaxDurationMs\x12&\n\x0fp50_duration_ms\x18\x0c \x01(\x03R\rp50DurationMs\x12&\n\x0fp95_duration_ms\x18\r \x01(\x03R\rp95DurationMs\x12&\n\x0fp99_duration_ms\x18\x0e \x01(\x03R\rp99DurationMs2\x8f\x07\n\x1a\x43ustomerRequestLogsService\x12\xac\x02\n\x17ListCustomerRequestLogs\x12\x30.tars.insights.v1.ListCustomerRequestLogsRequest\x1a\x31.tars.insights.v1.ListCustomerRequestLogsResponse\"\xab\x01\x90\x02\x01\x8a\xb5\x18\x04\n\x02\x03\x01\x92\xb5\x18\x16:\x08insights:\x04logs:\x04list\xa2\xb5\x18,List request logs scoped to the calling user\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02@\x12>/v1/customers/{customer_id}/projects/{project_id}/request-logs\x12\x8b\x02\n\x15GetCustomerRequestLog\x12..tars.insights.v1.GetCustomerRequestLogRequest\x1a\x1c.tars.insights.v1.RequestLog\"\xa3\x01\x90\x02\x01\x8a\xb5\x18\x04\n\x02\x03\x01\x92\xb5\x18\x15:\x08insights:\x04logs:\x03get\xa2\xb5\x18\x18Get a single request log\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02M\x12K/v1/customers/{customer_id}/projects/{project_id}/request-logs/{request_id}\x12\xb3\x02\n\x1aGetCustomerRequestLogStats\x12\x33.tars.insights.v1.GetCustomerRequestLogStatsRequest\x1a).tars.insights.v1.RequestLogStatsResponse\"\xb4\x01\x90\x02\x01\x8a\xb5\x18\x04\n\x02\x03\x01\x92\xb5\x18\x17:\x08insights:\x04logs:\x05stats\xa2\xb5\x18.Aggregate stats over the caller\'s request logs\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/customers/{customer_id}/projects/{project_id}/request-logs/stats2\x8b\x04\n\x12RequestLogsService\x12\xa4\x01\n\x10QueryRequestLogs\x12).tars.insights.v1.QueryRequestLogsRequest\x1a*.tars.insights.v1.QueryRequestLogsResponse\"9\x90\x02\x01\x8a\xb5\x18\n\n\x01\x01\x12\x05\x61\x64min\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02\x12\x12\x10/v1/request-logs\x12\x9d\x01\n\rGetRequestLog\x12&.tars.insights.v1.GetRequestLogRequest\x1a\x1c.tars.insights.v1.RequestLog\"F\x90\x02\x01\x8a\xb5\x18\n\n\x01\x01\x12\x05\x61\x64min\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v1/request-logs/{request_id}\x12\xad\x01\n\x12GetRequestLogStats\x12+.tars.insights.v1.GetRequestLogStatsRequest\x1a).tars.insights.v1.RequestLogStatsResponse\"?\x90\x02\x01\x8a\xb5\x18\n\n\x01\x01\x12\x05\x61\x64min\xaa\xb5\x18\x0cRequest Logs\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/request-logs/statsB\xc7\x01\n\x14\x63om.tars.insights.v1B\x10RequestLogsProtoP\x01Z;github.com/tetrateio/fraser/api/tars/insights/v1;insightsv1\xa2\x02\x03TIX\xaa\x02\x10Tars.Insights.V1\xca\x02\x10Tars\\Insights\\V1\xe2\x02\x1cTars\\Insights\\V1\\GPBMetadata\xea\x02\x12Tars::Insights::V1b\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tars.insights.v1.request_logs_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\024com.tars.insights.v1B\020RequestLogsProtoP\001Z;github.com/tetrateio/fraser/api/tars/insights/v1;insightsv1\242\002\003TIX\252\002\020Tars.Insights.V1\312\002\020Tars\\Insights\\V1\342\002\034Tars\\Insights\\V1\\GPBMetadata\352\002\022Tars::Insights::V1'
  _globals['_GETCUSTOMERREQUESTLOGREQUEST'].fields_by_name['request_id']._loaded_options = None
  _globals['_GETCUSTOMERREQUESTLOGREQUEST'].fields_by_name['request_id']._serialized_options = b'\340A\002'
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['ListCustomerRequestLogs']._loaded_options = None
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['ListCustomerRequestLogs']._serialized_options = b'\220\002\001\212\265\030\004\n\002\003\001\222\265\030\026:\010insights:\004logs:\004list\242\265\030,List request logs scoped to the calling user\252\265\030\014Request Logs\202\323\344\223\002@\022>/v1/customers/{customer_id}/projects/{project_id}/request-logs'
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['GetCustomerRequestLog']._loaded_options = None
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['GetCustomerRequestLog']._serialized_options = b'\220\002\001\212\265\030\004\n\002\003\001\222\265\030\025:\010insights:\004logs:\003get\242\265\030\030Get a single request log\252\265\030\014Request Logs\202\323\344\223\002M\022K/v1/customers/{customer_id}/projects/{project_id}/request-logs/{request_id}'
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['GetCustomerRequestLogStats']._loaded_options = None
  _globals['_CUSTOMERREQUESTLOGSSERVICE'].methods_by_name['GetCustomerRequestLogStats']._serialized_options = b'\220\002\001\212\265\030\004\n\002\003\001\222\265\030\027:\010insights:\004logs:\005stats\242\265\030.Aggregate stats over the caller\'s request logs\252\265\030\014Request Logs\202\323\344\223\002F\022D/v1/customers/{customer_id}/projects/{project_id}/request-logs/stats'
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['QueryRequestLogs']._loaded_options = None
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['QueryRequestLogs']._serialized_options = b'\220\002\001\212\265\030\n\n\001\001\022\005admin\252\265\030\014Request Logs\202\323\344\223\002\022\022\020/v1/request-logs'
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['GetRequestLog']._loaded_options = None
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['GetRequestLog']._serialized_options = b'\220\002\001\212\265\030\n\n\001\001\022\005admin\252\265\030\014Request Logs\202\323\344\223\002\037\022\035/v1/request-logs/{request_id}'
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['GetRequestLogStats']._loaded_options = None
  _globals['_REQUESTLOGSSERVICE'].methods_by_name['GetRequestLogStats']._serialized_options = b'\220\002\001\212\265\030\n\n\001\001\022\005admin\252\265\030\014Request Logs\202\323\344\223\002\030\022\026/v1/request-logs/stats'
  _globals['_LISTCUSTOMERREQUESTLOGSREQUEST']._serialized_start=265
  _globals['_LISTCUSTOMERREQUESTLOGSREQUEST']._serialized_end=801
  _globals['_LISTCUSTOMERREQUESTLOGSRESPONSE']._serialized_start=804
  _globals['_LISTCUSTOMERREQUESTLOGSRESPONSE']._serialized_end=960
  _globals['_GETCUSTOMERREQUESTLOGREQUEST']._serialized_start=963
  _globals['_GETCUSTOMERREQUESTLOGREQUEST']._serialized_end=1093
  _globals['_GETCUSTOMERREQUESTLOGSTATSREQUEST']._serialized_start=1096
  _globals['_GETCUSTOMERREQUESTLOGSTATSREQUEST']._serialized_end=1391
  _globals['_QUERYREQUESTLOGSREQUEST']._serialized_start=1394
  _globals['_QUERYREQUESTLOGSREQUEST']._serialized_end=1884
  _globals['_QUERYREQUESTLOGSRESPONSE']._serialized_start=1887
  _globals['_QUERYREQUESTLOGSRESPONSE']._serialized_end=2036
  _globals['_GETREQUESTLOGREQUEST']._serialized_start=2038
  _globals['_GETREQUESTLOGREQUEST']._serialized_end=2091
  _globals['_REQUESTLOG']._serialized_start=2094
  _globals['_REQUESTLOG']._serialized_end=3993
  _globals['_GETREQUESTLOGSTATSREQUEST']._serialized_start=3996
  _globals['_GETREQUESTLOGSTATSREQUEST']._serialized_end=4244
  _globals['_REQUESTLOGSTATSRESPONSE']._serialized_start=4247
  _globals['_REQUESTLOGSTATSRESPONSE']._serialized_end=4554
  _globals['_STATENTRY']._serialized_start=4557
  _globals['_STATENTRY']._serialized_end=5051
  _globals['_CUSTOMERREQUESTLOGSSERVICE']._serialized_start=5054
  _globals['_CUSTOMERREQUESTLOGSSERVICE']._serialized_end=5965
  _globals['_REQUESTLOGSSERVICE']._serialized_start=5968
  _globals['_REQUESTLOGSSERVICE']._serialized_end=6491
# @@protoc_insertion_point(module_scope)
