weave-python 0.27.0__py3-none-any.whl → 0.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. weave/weaveapi/llmx/v1/architecture_pb2.py +74 -0
  2. weave/weaveapi/llmx/v1/architecture_pb2.pyi +1323 -0
  3. weave/weaveapi/llmx/v1/capabilities_pb2.py +88 -0
  4. weave/weaveapi/llmx/v1/capabilities_pb2.pyi +1613 -0
  5. weave/weaveapi/llmx/v1/model_pb2.py +54 -0
  6. weave/weaveapi/{modex → llmx}/v1/model_pb2.pyi +294 -189
  7. weave/weaveapi/llmx/v1/model_pb2_grpc.py +2 -0
  8. weave/weaveapi/llmx/v1/model_pb2_grpc.pyi +20 -0
  9. weave/weaveapi/llmx/v1/pricing_pb2.py +54 -0
  10. weave/weaveapi/llmx/v1/pricing_pb2.pyi +597 -0
  11. weave/weaveapi/llmx/v1/pricing_pb2_grpc.py +2 -0
  12. weave/weaveapi/llmx/v1/pricing_pb2_grpc.pyi +20 -0
  13. weave/weaveapi/llmx/v1/provider_pb2.py +38 -0
  14. weave/weaveapi/{modex → llmx}/v1/provider_pb2.pyi +31 -19
  15. weave/weaveapi/llmx/v1/provider_pb2_grpc.py +2 -0
  16. weave/weaveapi/llmx/v1/provider_pb2_grpc.pyi +20 -0
  17. weave/weaveapi/llmx/v1/service_pb2.py +180 -0
  18. weave/weaveapi/{modex → llmx}/v1/service_pb2.pyi +174 -44
  19. weave/weaveapi/{modex → llmx}/v1/service_pb2_grpc.py +103 -105
  20. weave/weaveapi/llmx/v1/service_pb2_grpc.pyi +266 -0
  21. {weave_python-0.27.0.dist-info → weave_python-0.28.0.dist-info}/METADATA +1 -1
  22. {weave_python-0.27.0.dist-info → weave_python-0.28.0.dist-info}/RECORD +27 -17
  23. weave/weaveapi/modex/v1/model_pb2.py +0 -58
  24. weave/weaveapi/modex/v1/provider_pb2.py +0 -38
  25. weave/weaveapi/modex/v1/service_pb2.py +0 -180
  26. weave/weaveapi/modex/v1/service_pb2_grpc.pyi +0 -268
  27. weave/weavesql/weavedb/models.py +0 -124
  28. weave/weavesql/weavedb/queries.py +0 -306
  29. /weave/weaveapi/{modex/v1/model_pb2_grpc.py → llmx/v1/architecture_pb2_grpc.py} +0 -0
  30. /weave/weaveapi/{modex/v1/model_pb2_grpc.pyi → llmx/v1/architecture_pb2_grpc.pyi} +0 -0
  31. /weave/weaveapi/{modex/v1/provider_pb2_grpc.py → llmx/v1/capabilities_pb2_grpc.py} +0 -0
  32. /weave/weaveapi/{modex/v1/provider_pb2_grpc.pyi → llmx/v1/capabilities_pb2_grpc.pyi} +0 -0
  33. {weave_python-0.27.0.dist-info → weave_python-0.28.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,20 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import typing
11
+
12
+ _T = typing.TypeVar("_T")
13
+
14
+ class _MaybeAsyncIterator(
15
+ collections.abc.AsyncIterator[_T],
16
+ collections.abc.Iterator[_T],
17
+ metaclass=abc.ABCMeta,
18
+ ): ...
19
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
20
+ ...
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: weaveapi/llmx/v1/provider.proto
5
+ # Protobuf Python Version: 6.32.0
6
+ """Generated protocol buffer code."""
7
+
8
+ from google.protobuf import descriptor as _descriptor
9
+ from google.protobuf import descriptor_pool as _descriptor_pool
10
+ from google.protobuf import runtime_version as _runtime_version
11
+ from google.protobuf import symbol_database as _symbol_database
12
+ from google.protobuf.internal import builder as _builder
13
+
14
+ _runtime_version.ValidateProtobufRuntimeVersion(
15
+ _runtime_version.Domain.PUBLIC, 6, 32, 0, "", "weaveapi/llmx/v1/provider.proto"
16
+ )
17
+ # @@protoc_insertion_point(imports)
18
+
19
+ _sym_db = _symbol_database.Default()
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
23
+ b'\n\x1fweaveapi/llmx/v1/provider.proto\x12\x10weaveapi.llmx.v1"\x8b\x02\n\x08Provider\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bwebsite_url\x18\x05 \x01(\tR\nwebsiteUrl\x12+\n\x11\x64ocumentation_url\x18\x06 \x01(\tR\x10\x64ocumentationUrl\x12\x19\n\x08logo_url\x18\x07 \x01(\tR\x07logoUrl\x12\x1b\n\tis_active\x18\x08 \x01(\x08R\x08isActive\x12\x1f\n\x0bmodel_count\x18\t \x01(\x05R\nmodelCountB\xbd\x01\n\x14\x63om.weaveapi.llmx.v1B\rProviderProtoP\x01Z4github.com/weave-labs/weave-go/weaveapi/llmx/v1;llmx\xa2\x02\x03WLX\xaa\x02\x10Weaveapi.Llmx.V1\xca\x02\x10Weaveapi\\Llmx\\V1\xe2\x02\x1cWeaveapi\\Llmx\\V1\\GPBMetadata\xea\x02\x12Weaveapi::Llmx::V1b\x06proto3'
24
+ )
25
+
26
+ _globals = globals()
27
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
28
+ _builder.BuildTopDescriptorsAndMessages(
29
+ DESCRIPTOR, "weaveapi.llmx.v1.provider_pb2", _globals
30
+ )
31
+ if not _descriptor._USE_C_DESCRIPTORS:
32
+ _globals["DESCRIPTOR"]._loaded_options = None
33
+ _globals[
34
+ "DESCRIPTOR"
35
+ ]._serialized_options = b"\n\024com.weaveapi.llmx.v1B\rProviderProtoP\001Z4github.com/weave-labs/weave-go/weaveapi/llmx/v1;llmx\242\002\003WLX\252\002\020Weaveapi.Llmx.V1\312\002\020Weaveapi\\Llmx\\V1\342\002\034Weaveapi\\Llmx\\V1\\GPBMetadata\352\002\022Weaveapi::Llmx::V1"
36
+ _globals["_PROVIDER"]._serialized_start = 54
37
+ _globals["_PROVIDER"]._serialized_end = 321
38
+ # @@protoc_insertion_point(module_scope)
@@ -6,13 +6,14 @@ isort:skip_file
6
6
  import builtins
7
7
  import google.protobuf.descriptor
8
8
  import google.protobuf.message
9
- import google.protobuf.timestamp_pb2
10
9
  import typing
11
10
 
12
11
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
13
12
 
14
13
  @typing.final
15
14
  class Provider(google.protobuf.message.Message):
15
+ """Provider represents an AI model provider/vendor organization."""
16
+
16
17
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
17
18
 
18
19
  ID_FIELD_NUMBER: builtins.int
@@ -24,21 +25,44 @@ class Provider(google.protobuf.message.Message):
24
25
  LOGO_URL_FIELD_NUMBER: builtins.int
25
26
  IS_ACTIVE_FIELD_NUMBER: builtins.int
26
27
  MODEL_COUNT_FIELD_NUMBER: builtins.int
27
- CREATED_AT_FIELD_NUMBER: builtins.int
28
- UPDATED_AT_FIELD_NUMBER: builtins.int
29
28
  id: builtins.str
29
+ """Unique internal identifier for this provider.
30
+ Example: "pvd_01234567-89ab-cdef-0123-456789abcdef"
31
+ """
30
32
  slug: builtins.str
33
+ """URL-friendly identifier for routing.
34
+ Examples: "openai", "anthropic", "google", "meta"
35
+ Used in paths like /providers/openai
36
+ """
31
37
  name: builtins.str
38
+ """Display name of the provider.
39
+ Examples: "OpenAI", "Anthropic", "Google AI", "Meta AI"
40
+ """
32
41
  description: builtins.str
42
+ """Description of the provider and their focus.
43
+ Example: "OpenAI develops general-purpose AI models including GPT-4,
44
+ DALL-E, and Whisper, focusing on safe and beneficial AI."
45
+ """
33
46
  website_url: builtins.str
47
+ """Main website URL.
48
+ Example: "https://openai.com"
49
+ """
34
50
  documentation_url: builtins.str
51
+ """API documentation URL.
52
+ Example: "https://platform.openai.com/docs"
53
+ """
35
54
  logo_url: builtins.str
55
+ """URL to provider's logo image.
56
+ Example: "https://assets.example.com/logos/openai.svg"
57
+ """
36
58
  is_active: builtins.bool
59
+ """Whether provider is currently operational.
60
+ Example: false if provider has shut down or paused service
61
+ """
37
62
  model_count: builtins.int
38
- @property
39
- def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
40
- @property
41
- def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
63
+ """Number of models offered by this provider.
64
+ Example: 25 for a provider with 25 different models
65
+ """
42
66
  def __init__(
43
67
  self,
44
68
  *,
@@ -51,20 +75,10 @@ class Provider(google.protobuf.message.Message):
51
75
  logo_url: builtins.str = ...,
52
76
  is_active: builtins.bool = ...,
53
77
  model_count: builtins.int = ...,
54
- created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
55
- updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
56
78
  ) -> None: ...
57
- def HasField(
58
- self,
59
- field_name: typing.Literal[
60
- "created_at", b"created_at", "updated_at", b"updated_at"
61
- ],
62
- ) -> builtins.bool: ...
63
79
  def ClearField(
64
80
  self,
65
81
  field_name: typing.Literal[
66
- "created_at",
67
- b"created_at",
68
82
  "description",
69
83
  b"description",
70
84
  "documentation_url",
@@ -81,8 +95,6 @@ class Provider(google.protobuf.message.Message):
81
95
  b"name",
82
96
  "slug",
83
97
  b"slug",
84
- "updated_at",
85
- b"updated_at",
86
98
  "website_url",
87
99
  b"website_url",
88
100
  ],
@@ -0,0 +1,2 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
@@ -0,0 +1,20 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import abc
7
+ import collections.abc
8
+ import grpc
9
+ import grpc.aio
10
+ import typing
11
+
12
+ _T = typing.TypeVar("_T")
13
+
14
+ class _MaybeAsyncIterator(
15
+ collections.abc.AsyncIterator[_T],
16
+ collections.abc.Iterator[_T],
17
+ metaclass=abc.ABCMeta,
18
+ ): ...
19
+ class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
20
+ ...
@@ -0,0 +1,180 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: weaveapi/llmx/v1/service.proto
5
+ # Protobuf Python Version: 6.32.0
6
+ """Generated protocol buffer code."""
7
+
8
+ from google.protobuf import descriptor as _descriptor
9
+ from google.protobuf import descriptor_pool as _descriptor_pool
10
+ from google.protobuf import runtime_version as _runtime_version
11
+ from google.protobuf import symbol_database as _symbol_database
12
+ from google.protobuf.internal import builder as _builder
13
+
14
+ _runtime_version.ValidateProtobufRuntimeVersion(
15
+ _runtime_version.Domain.PUBLIC, 6, 32, 0, "", "weaveapi/llmx/v1/service.proto"
16
+ )
17
+ # @@protoc_insertion_point(imports)
18
+
19
+ _sym_db = _symbol_database.Default()
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
23
+ b'\n\x1eweaveapi/llmx/v1/service.proto\x12\x10weaveapi.llmx.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cweaveapi/llmx/v1/model.proto\x1a\x1fweaveapi/llmx/v1/provider.proto"s\n\x14ListProvidersRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x1f\n\x0b\x61\x63tive_only\x18\x03 \x01(\x08R\nactiveOnly"\x9a\x01\n\x15ListProvidersResponse\x12\x38\n\tproviders\x18\x01 \x03(\x0b\x32\x1a.weaveapi.llmx.v1.ProviderR\tproviders\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount"(\n\x12GetProviderRequest\x12\x12\n\x04slug\x18\x01 \x01(\tR\x04slug"M\n\x13GetProviderResponse\x12\x36\n\x08provider\x18\x01 \x01(\x0b\x32\x1a.weaveapi.llmx.v1.ProviderR\x08provider"\x80\x04\n\x11ListModelsRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x1d\n\nmodel_type\x18\x04 \x01(\tR\tmodelType\x12\x1f\n\x0b\x61\x63tive_only\x18\x05 \x01(\x08R\nactiveOnly\x12\x1f\n\x0bvision_only\x18\x06 \x01(\x08R\nvisionOnly\x12&\n\x0ftool_calls_only\x18\x07 \x01(\x08R\rtoolCallsOnly\x12%\n\x0ereasoning_only\x18\x08 \x01(\x08R\rreasoningOnly\x12(\n\x10open_source_only\x18\t \x01(\x08R\x0eopenSourceOnly\x12&\n\x0fmax_input_price\x18\n \x01(\x01R\rmaxInputPrice\x12(\n\x10max_output_price\x18\x0b \x01(\x01R\x0emaxOutputPrice\x12,\n\x12min_context_window\x18\x0c \x01(\x05R\x10minContextWindow\x12\x19\n\x08order_by\x18\r \x01(\tR\x07orderBy\x12\x1e\n\ndescending\x18\x0e \x01(\x08R\ndescending"\x8e\x01\n\x12ListModelsResponse\x12/\n\x06models\x18\x01 \x03(\x0b\x32\x17.weaveapi.llmx.v1.ModelR\x06models\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount"H\n\x0fGetModelRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x19\n\x08model_id\x18\x02 \x01(\tR\x07modelId"A\n\x10GetModelResponse\x12-\n\x05model\x18\x01 \x01(\x0b\x32\x17.weaveapi.llmx.v1.ModelR\x05model"\x85\x05\n\x13SearchModelsRequest\x12\x14\n\x05query\x18\x01 \x01(\tR\x05query\x12\x1c\n\tproviders\x18\x02 \x03(\tR\tproviders\x12\x1f\n\x0bmodel_types\x18\x03 \x03(\tR\nmodelTypes\x12$\n\rarchitectures\x18\x04 \x03(\tR\rarchitectures\x12\x33\n\x15required_capabilities\x18\x05 \x03(\tR\x14requiredCapabilities\x12:\n\x19required_input_modalities\x18\x06 \x03(\tR\x17requiredInputModalities\x12<\n\x1arequired_output_modalities\x18\x07 \x03(\tR\x18requiredOutputModalities\x12=\n\x0bprice_range\x18\x08 \x01(\x0b\x32\x1c.weaveapi.llmx.v1.PriceRangeR\npriceRange\x12=\n\x0btoken_range\x18\t \x01(\x0b\x32\x1c.weaveapi.llmx.v1.TokenRangeR\ntokenRange\x12O\n\x11performance_range\x18\n \x01(\x0b\x32".weaveapi.llmx.v1.PerformanceRangeR\x10performanceRange\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\x1e\n\ndescending\x18\x0e \x01(\x08R\ndescending"\xb0\x01\n\nPriceRange\x12&\n\x0fmin_input_price\x18\x01 \x01(\x01R\rminInputPrice\x12&\n\x0fmax_input_price\x18\x02 \x01(\x01R\rmaxInputPrice\x12(\n\x10min_output_price\x18\x03 \x01(\x01R\x0eminOutputPrice\x12(\n\x10max_output_price\x18\x04 \x01(\x01R\x0emaxOutputPrice"\xc0\x01\n\nTokenRange\x12,\n\x12min_context_window\x18\x01 \x01(\x05R\x10minContextWindow\x12,\n\x12max_context_window\x18\x02 \x01(\x05R\x10maxContextWindow\x12*\n\x11min_output_tokens\x18\x03 \x01(\x05R\x0fminOutputTokens\x12*\n\x11max_output_tokens\x18\x04 \x01(\x05R\x0fmaxOutputTokens"\xec\x01\n\x10PerformanceRange\x12.\n\x13min_reasoning_score\x18\x01 \x01(\x01R\x11minReasoningScore\x12(\n\x10min_coding_score\x18\x02 \x01(\x01R\x0eminCodingScore\x12,\n\x12min_creative_score\x18\x03 \x01(\x01R\x10minCreativeScore\x12*\n\x11min_factual_score\x18\x04 \x01(\x01R\x0fminFactualScore\x12$\n\x0emin_math_score\x18\x05 \x01(\x01R\x0cminMathScore"\xc7\x01\n\x14SearchModelsResponse\x12/\n\x06models\x18\x01 \x03(\x0b\x32\x17.weaveapi.llmx.v1.ModelR\x06models\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\x12\x1f\n\x0btotal_count\x18\x03 \x01(\x05R\ntotalCount\x12\x35\n\x06\x66\x61\x63\x65ts\x18\x04 \x03(\x0b\x32\x1d.weaveapi.llmx.v1.FacetResultR\x06\x66\x61\x63\x65ts"Y\n\x0b\x46\x61\x63\x65tResult\x12\x14\n\x05\x66ield\x18\x01 \x01(\tR\x05\x66ield\x12\x34\n\x06values\x18\x02 \x03(\x0b\x32\x1c.weaveapi.llmx.v1.FacetValueR\x06values"8\n\nFacetValue\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\x12\x14\n\x05\x63ount\x18\x02 \x01(\x05R\x05\x63ount"O\n\x14\x43ompareModelsRequest\x12\x1f\n\x0bmodel_slugs\x18\x01 \x03(\tR\nmodelSlugs\x12\x16\n\x06\x66ields\x18\x02 \x03(\tR\x06\x66ields"\x9b\x01\n\x15\x43ompareModelsResponse\x12\x43\n\x0b\x63omparisons\x18\x01 \x03(\x0b\x32!.weaveapi.llmx.v1.ModelComparisonR\x0b\x63omparisons\x12=\n\x07summary\x18\x02 \x01(\x0b\x32#.weaveapi.llmx.v1.ComparisonSummaryR\x07summary"\x83\x02\n\x0fModelComparison\x12-\n\x05model\x18\x01 \x01(\x0b\x32\x17.weaveapi.llmx.v1.ModelR\x05model\x12v\n\x17highlighted_differences\x18\x02 \x03(\x0b\x32=.weaveapi.llmx.v1.ModelComparison.HighlightedDifferencesEntryR\x16highlightedDifferences\x1aI\n\x1bHighlightedDifferencesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01"\xf7\x01\n\x11\x43omparisonSummary\x12%\n\x0e\x63heapest_input\x18\x01 \x01(\tR\rcheapestInput\x12\'\n\x0f\x63heapest_output\x18\x02 \x01(\tR\x0e\x63heapestOutput\x12\'\n\x0flargest_context\x18\x03 \x01(\tR\x0elargestContext\x12%\n\x0e\x62\x65st_reasoning\x18\x04 \x01(\tR\rbestReasoning\x12\x1f\n\x0b\x62\x65st_coding\x18\x05 \x01(\tR\nbestCoding\x12!\n\x0cmost_capable\x18\x06 \x01(\tR\x0bmostCapable"h\n\x1bGetModelPriceHistoryRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x19\n\x08model_id\x18\x02 \x01(\tR\x07modelId\x12\x12\n\x04\x64\x61ys\x18\x03 \x01(\x05R\x04\x64\x61ys"\xa5\x01\n\x1cGetModelPriceHistoryResponse\x12\x41\n\rprice_history\x18\x01 \x03(\x0b\x32\x1c.weaveapi.llmx.v1.PricePointR\x0cpriceHistory\x12\x42\n\rlatest_change\x18\x02 \x01(\x0b\x32\x1d.weaveapi.llmx.v1.PriceChangeR\x0clatestChange"\xe0\x01\n\nPricePoint\x12\x38\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1f\n\x0binput_price\x18\x02 \x01(\x01R\ninputPrice\x12!\n\x0coutput_price\x18\x03 \x01(\x01R\x0boutputPrice\x12(\n\x10\x63\x61\x63he_read_price\x18\x04 \x01(\x01R\x0e\x63\x61\x63heReadPrice\x12*\n\x11\x63\x61\x63he_write_price\x18\x05 \x01(\x01R\x0f\x63\x61\x63heWritePrice"\xd2\x02\n\x0bPriceChange\x12\x39\n\nchanged_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tchangedAt\x12&\n\x0fold_input_price\x18\x02 \x01(\x01R\roldInputPrice\x12&\n\x0fnew_input_price\x18\x03 \x01(\x01R\rnewInputPrice\x12(\n\x10old_output_price\x18\x04 \x01(\x01R\x0eoldOutputPrice\x12(\n\x10new_output_price\x18\x05 \x01(\x01R\x0enewOutputPrice\x12\x30\n\x14input_change_percent\x18\x06 \x01(\x01R\x12inputChangePercent\x12\x32\n\x15output_change_percent\x18\x07 \x01(\x01R\x13outputChangePercent"e\n\x16GetModelChangesRequest\x12\x1a\n\x08provider\x18\x01 \x01(\tR\x08provider\x12\x19\n\x08model_id\x18\x02 \x01(\tR\x07modelId\x12\x14\n\x05limit\x18\x03 \x01(\x05R\x05limit"R\n\x17GetModelChangesResponse\x12\x37\n\x07\x63hanges\x18\x01 \x03(\x0b\x32\x1d.weaveapi.llmx.v1.ModelChangeR\x07\x63hanges"\xd4\x01\n\x0bModelChange\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n\nfield_name\x18\x02 \x01(\tR\tfieldName\x12\x1b\n\told_value\x18\x03 \x01(\tR\x08oldValue\x12\x1b\n\tnew_value\x18\x04 \x01(\tR\x08newValue\x12\x1f\n\x0b\x63hange_type\x18\x05 \x01(\tR\nchangeType\x12;\n\x0b\x64\x65tected_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndetectedAt"Q\n\x18GetTrendingModelsRequest\x12\x1f\n\x0bperiod_days\x18\x01 \x01(\x05R\nperiodDays\x12\x14\n\x05limit\x18\x02 \x01(\x05R\x05limit"T\n\x19GetTrendingModelsResponse\x12\x37\n\x06models\x18\x01 \x03(\x0b\x32\x1f.weaveapi.llmx.v1.TrendingModelR\x06models"\xb3\x01\n\rTrendingModel\x12-\n\x05model\x18\x01 \x01(\x0b\x32\x17.weaveapi.llmx.v1.ModelR\x05model\x12\x1b\n\tapi_calls\x18\x02 \x01(\x05R\x08\x61piCalls\x12!\n\x0cunique_users\x18\x03 \x01(\x05R\x0buniqueUsers\x12\x1f\n\x0bgrowth_rate\x18\x04 \x01(\x01R\ngrowthRate\x12\x12\n\x04rank\x18\x05 \x01(\x05R\x04rank"\x86\x01\n\x17GetRecentUpdatesRequest\x12\x14\n\x05hours\x18\x01 \x01(\x05R\x05hours\x12\x1c\n\tproviders\x18\x02 \x03(\tR\tproviders\x12!\n\x0c\x63hange_types\x18\x03 \x03(\tR\x0b\x63hangeTypes\x12\x14\n\x05limit\x18\x04 \x01(\x05R\x05limit"S\n\x18GetRecentUpdatesResponse\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32\x1d.weaveapi.llmx.v1.UpdateEntryR\x07updates"\xc1\x02\n\x0bUpdateEntry\x12\x1d\n\nmodel_slug\x18\x01 \x01(\tR\tmodelSlug\x12\x1d\n\nmodel_name\x18\x02 \x01(\tR\tmodelName\x12#\n\rprovider_name\x18\x03 \x01(\tR\x0cproviderName\x12\x1f\n\x0b\x63hange_type\x18\x04 \x01(\tR\nchangeType\x12\x1d\n\nfield_name\x18\x05 \x01(\tR\tfieldName\x12\x1b\n\told_value\x18\x06 \x01(\tR\x08oldValue\x12\x1b\n\tnew_value\x18\x07 \x01(\tR\x08newValue\x12\x18\n\x07summary\x18\x08 \x01(\tR\x07summary\x12;\n\x0b\x64\x65tected_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndetectedAt"t\n\x11\x45xportDataRequest\x12\x16\n\x06\x66ormat\x18\x01 \x01(\tR\x06\x66ormat\x12\x1c\n\tproviders\x18\x02 \x03(\tR\tproviders\x12)\n\x10include_inactive\x18\x03 \x01(\x08R\x0fincludeInactive"\xc7\x01\n\x12\x45xportDataResponse\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12!\n\x0c\x63ontent_type\x18\x02 \x01(\tR\x0b\x63ontentType\x12\x1a\n\x08\x66ilename\x18\x03 \x01(\tR\x08\x66ilename\x12\x1f\n\x0bmodel_count\x18\x04 \x01(\x05R\nmodelCount\x12=\n\x0cgenerated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bgeneratedAt"\x16\n\x14GetStatisticsRequest"\xce\x02\n\x15GetStatisticsResponse\x12\x38\n\x07overall\x18\x01 \x01(\x0b\x32\x1e.weaveapi.llmx.v1.OverallStatsR\x07overall\x12@\n\x0b\x62y_provider\x18\x02 \x03(\x0b\x32\x1f.weaveapi.llmx.v1.ProviderStatsR\nbyProvider\x12\x34\n\x07\x62y_type\x18\x03 \x03(\x0b\x32\x1b.weaveapi.llmx.v1.TypeStatsR\x06\x62yType\x12\x38\n\x07pricing\x18\x04 \x01(\x0b\x32\x1e.weaveapi.llmx.v1.PricingStatsR\x07pricing\x12I\n\x0frecent_activity\x18\x05 \x03(\x0b\x32 .weaveapi.llmx.v1.RecentActivityR\x0erecentActivity"\x97\x02\n\x0cOverallStats\x12\'\n\x0ftotal_providers\x18\x01 \x01(\x05R\x0etotalProviders\x12!\n\x0ctotal_models\x18\x02 \x01(\x05R\x0btotalModels\x12#\n\ractive_models\x18\x03 \x01(\x05R\x0c\x61\x63tiveModels\x12+\n\x11\x64\x65precated_models\x18\x04 \x01(\x05R\x10\x64\x65precatedModels\x12,\n\x12open_source_models\x18\x05 \x01(\x05R\x10openSourceModels\x12;\n\x0blast_update\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nlastUpdate"\xf8\x01\n\rProviderStats\x12#\n\rprovider_name\x18\x01 \x01(\tR\x0cproviderName\x12\x1f\n\x0bmodel_count\x18\x02 \x01(\x05R\nmodelCount\x12!\n\x0c\x61\x63tive_count\x18\x03 \x01(\x05R\x0b\x61\x63tiveCount\x12&\n\x0f\x61vg_input_price\x18\x04 \x01(\x01R\ravgInputPrice\x12(\n\x10\x61vg_output_price\x18\x05 \x01(\x01R\x0e\x61vgOutputPrice\x12,\n\x12\x61vg_context_window\x18\x06 \x01(\x05R\x10\x61vgContextWindow"`\n\tTypeStats\x12\x1d\n\nmodel_type\x18\x01 \x01(\tR\tmodelType\x12\x14\n\x05\x63ount\x18\x02 \x01(\x05R\x05\x63ount\x12\x1e\n\npercentage\x18\x03 \x01(\x01R\npercentage"\xe2\x02\n\x0cPricingStats\x12&\n\x0fmin_input_price\x18\x01 \x01(\x01R\rminInputPrice\x12&\n\x0fmax_input_price\x18\x02 \x01(\x01R\rmaxInputPrice\x12&\n\x0f\x61vg_input_price\x18\x03 \x01(\x01R\ravgInputPrice\x12,\n\x12median_input_price\x18\x04 \x01(\x01R\x10medianInputPrice\x12(\n\x10min_output_price\x18\x05 \x01(\x01R\x0eminOutputPrice\x12(\n\x10max_output_price\x18\x06 \x01(\x01R\x0emaxOutputPrice\x12(\n\x10\x61vg_output_price\x18\x07 \x01(\x01R\x0e\x61vgOutputPrice\x12.\n\x13median_output_price\x18\x08 \x01(\x01R\x11medianOutputPrice"\x91\x01\n\x0eRecentActivity\x12#\n\ractivity_type\x18\x01 \x01(\tR\x0c\x61\x63tivityType\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x38\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp2\xc5\x0c\n\x04LlmX\x12{\n\rListProviders\x12&.weaveapi.llmx.v1.ListProvidersRequest\x1a\'.weaveapi.llmx.v1.ListProvidersResponse"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/api/v1/providers\x12|\n\x0bGetProvider\x12$.weaveapi.llmx.v1.GetProviderRequest\x1a%.weaveapi.llmx.v1.GetProviderResponse" \x82\xd3\xe4\x93\x02\x1a\x12\x18/api/v1/providers/{slug}\x12o\n\nListModels\x12#.weaveapi.llmx.v1.ListModelsRequest\x1a$.weaveapi.llmx.v1.ListModelsResponse"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/api/v1/models\x12\x7f\n\x08GetModel\x12!.weaveapi.llmx.v1.GetModelRequest\x1a".weaveapi.llmx.v1.GetModelResponse",\x82\xd3\xe4\x93\x02&\x12$/api/v1/models/{provider}/{model_id}\x12\x7f\n\x0cSearchModels\x12%.weaveapi.llmx.v1.SearchModelsRequest\x1a&.weaveapi.llmx.v1.SearchModelsResponse" \x82\xd3\xe4\x93\x02\x1a"\x15/api/v1/models/search:\x01*\x12\x83\x01\n\rCompareModels\x12&.weaveapi.llmx.v1.CompareModelsRequest\x1a\'.weaveapi.llmx.v1.CompareModelsResponse"!\x82\xd3\xe4\x93\x02\x1b"\x16/api/v1/models/compare:\x01*\x12\xb1\x01\n\x14GetModelPriceHistory\x12-.weaveapi.llmx.v1.GetModelPriceHistoryRequest\x1a..weaveapi.llmx.v1.GetModelPriceHistoryResponse":\x82\xd3\xe4\x93\x02\x34\x12\x32/api/v1/models/{provider}/{model_id}/price-history\x12\x9c\x01\n\x0fGetModelChanges\x12(.weaveapi.llmx.v1.GetModelChangesRequest\x1a).weaveapi.llmx.v1.GetModelChangesResponse"4\x82\xd3\xe4\x93\x02.\x12,/api/v1/models/{provider}/{model_id}/changes\x12\x86\x01\n\x11GetTrendingModels\x12*.weaveapi.llmx.v1.GetTrendingModelsRequest\x1a+.weaveapi.llmx.v1.GetTrendingModelsResponse"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/trending\x12\x82\x01\n\x10GetRecentUpdates\x12).weaveapi.llmx.v1.GetRecentUpdatesRequest\x1a*.weaveapi.llmx.v1.GetRecentUpdatesResponse"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/v1/updates\x12o\n\nExportData\x12#.weaveapi.llmx.v1.ExportDataRequest\x1a$.weaveapi.llmx.v1.ExportDataResponse"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/api/v1/export\x12w\n\rGetStatistics\x12&.weaveapi.llmx.v1.GetStatisticsRequest\x1a\'.weaveapi.llmx.v1.GetStatisticsResponse"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/v1/statsB\xbc\x01\n\x14\x63om.weaveapi.llmx.v1B\x0cServiceProtoP\x01Z4github.com/weave-labs/weave-go/weaveapi/llmx/v1;llmx\xa2\x02\x03WLX\xaa\x02\x10Weaveapi.Llmx.V1\xca\x02\x10Weaveapi\\Llmx\\V1\xe2\x02\x1cWeaveapi\\Llmx\\V1\\GPBMetadata\xea\x02\x12Weaveapi::Llmx::V1b\x06proto3'
24
+ )
25
+
26
+ _globals = globals()
27
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
28
+ _builder.BuildTopDescriptorsAndMessages(
29
+ DESCRIPTOR, "weaveapi.llmx.v1.service_pb2", _globals
30
+ )
31
+ if not _descriptor._USE_C_DESCRIPTORS:
32
+ _globals["DESCRIPTOR"]._loaded_options = None
33
+ _globals[
34
+ "DESCRIPTOR"
35
+ ]._serialized_options = b"\n\024com.weaveapi.llmx.v1B\014ServiceProtoP\001Z4github.com/weave-labs/weave-go/weaveapi/llmx/v1;llmx\242\002\003WLX\252\002\020Weaveapi.Llmx.V1\312\002\020Weaveapi\\Llmx\\V1\342\002\034Weaveapi\\Llmx\\V1\\GPBMetadata\352\002\022Weaveapi::Llmx::V1"
36
+ _globals["_MODELCOMPARISON_HIGHLIGHTEDDIFFERENCESENTRY"]._loaded_options = None
37
+ _globals[
38
+ "_MODELCOMPARISON_HIGHLIGHTEDDIFFERENCESENTRY"
39
+ ]._serialized_options = b"8\001"
40
+ _globals["_LLMX"].methods_by_name["ListProviders"]._loaded_options = None
41
+ _globals["_LLMX"].methods_by_name[
42
+ "ListProviders"
43
+ ]._serialized_options = b"\202\323\344\223\002\023\022\021/api/v1/providers"
44
+ _globals["_LLMX"].methods_by_name["GetProvider"]._loaded_options = None
45
+ _globals["_LLMX"].methods_by_name[
46
+ "GetProvider"
47
+ ]._serialized_options = b"\202\323\344\223\002\032\022\030/api/v1/providers/{slug}"
48
+ _globals["_LLMX"].methods_by_name["ListModels"]._loaded_options = None
49
+ _globals["_LLMX"].methods_by_name[
50
+ "ListModels"
51
+ ]._serialized_options = b"\202\323\344\223\002\020\022\016/api/v1/models"
52
+ _globals["_LLMX"].methods_by_name["GetModel"]._loaded_options = None
53
+ _globals["_LLMX"].methods_by_name[
54
+ "GetModel"
55
+ ]._serialized_options = (
56
+ b"\202\323\344\223\002&\022$/api/v1/models/{provider}/{model_id}"
57
+ )
58
+ _globals["_LLMX"].methods_by_name["SearchModels"]._loaded_options = None
59
+ _globals["_LLMX"].methods_by_name[
60
+ "SearchModels"
61
+ ]._serialized_options = b'\202\323\344\223\002\032"\025/api/v1/models/search:\001*'
62
+ _globals["_LLMX"].methods_by_name["CompareModels"]._loaded_options = None
63
+ _globals["_LLMX"].methods_by_name[
64
+ "CompareModels"
65
+ ]._serialized_options = b'\202\323\344\223\002\033"\026/api/v1/models/compare:\001*'
66
+ _globals["_LLMX"].methods_by_name["GetModelPriceHistory"]._loaded_options = None
67
+ _globals["_LLMX"].methods_by_name[
68
+ "GetModelPriceHistory"
69
+ ]._serialized_options = (
70
+ b"\202\323\344\223\0024\0222/api/v1/models/{provider}/{model_id}/price-history"
71
+ )
72
+ _globals["_LLMX"].methods_by_name["GetModelChanges"]._loaded_options = None
73
+ _globals["_LLMX"].methods_by_name[
74
+ "GetModelChanges"
75
+ ]._serialized_options = (
76
+ b"\202\323\344\223\002.\022,/api/v1/models/{provider}/{model_id}/changes"
77
+ )
78
+ _globals["_LLMX"].methods_by_name["GetTrendingModels"]._loaded_options = None
79
+ _globals["_LLMX"].methods_by_name[
80
+ "GetTrendingModels"
81
+ ]._serialized_options = b"\202\323\344\223\002\022\022\020/api/v1/trending"
82
+ _globals["_LLMX"].methods_by_name["GetRecentUpdates"]._loaded_options = None
83
+ _globals["_LLMX"].methods_by_name[
84
+ "GetRecentUpdates"
85
+ ]._serialized_options = b"\202\323\344\223\002\021\022\017/api/v1/updates"
86
+ _globals["_LLMX"].methods_by_name["ExportData"]._loaded_options = None
87
+ _globals["_LLMX"].methods_by_name[
88
+ "ExportData"
89
+ ]._serialized_options = b"\202\323\344\223\002\020\022\016/api/v1/export"
90
+ _globals["_LLMX"].methods_by_name["GetStatistics"]._loaded_options = None
91
+ _globals["_LLMX"].methods_by_name[
92
+ "GetStatistics"
93
+ ]._serialized_options = b"\202\323\344\223\002\017\022\r/api/v1/stats"
94
+ _globals["_LISTPROVIDERSREQUEST"]._serialized_start = 178
95
+ _globals["_LISTPROVIDERSREQUEST"]._serialized_end = 293
96
+ _globals["_LISTPROVIDERSRESPONSE"]._serialized_start = 296
97
+ _globals["_LISTPROVIDERSRESPONSE"]._serialized_end = 450
98
+ _globals["_GETPROVIDERREQUEST"]._serialized_start = 452
99
+ _globals["_GETPROVIDERREQUEST"]._serialized_end = 492
100
+ _globals["_GETPROVIDERRESPONSE"]._serialized_start = 494
101
+ _globals["_GETPROVIDERRESPONSE"]._serialized_end = 571
102
+ _globals["_LISTMODELSREQUEST"]._serialized_start = 574
103
+ _globals["_LISTMODELSREQUEST"]._serialized_end = 1086
104
+ _globals["_LISTMODELSRESPONSE"]._serialized_start = 1089
105
+ _globals["_LISTMODELSRESPONSE"]._serialized_end = 1231
106
+ _globals["_GETMODELREQUEST"]._serialized_start = 1233
107
+ _globals["_GETMODELREQUEST"]._serialized_end = 1305
108
+ _globals["_GETMODELRESPONSE"]._serialized_start = 1307
109
+ _globals["_GETMODELRESPONSE"]._serialized_end = 1372
110
+ _globals["_SEARCHMODELSREQUEST"]._serialized_start = 1375
111
+ _globals["_SEARCHMODELSREQUEST"]._serialized_end = 2020
112
+ _globals["_PRICERANGE"]._serialized_start = 2023
113
+ _globals["_PRICERANGE"]._serialized_end = 2199
114
+ _globals["_TOKENRANGE"]._serialized_start = 2202
115
+ _globals["_TOKENRANGE"]._serialized_end = 2394
116
+ _globals["_PERFORMANCERANGE"]._serialized_start = 2397
117
+ _globals["_PERFORMANCERANGE"]._serialized_end = 2633
118
+ _globals["_SEARCHMODELSRESPONSE"]._serialized_start = 2636
119
+ _globals["_SEARCHMODELSRESPONSE"]._serialized_end = 2835
120
+ _globals["_FACETRESULT"]._serialized_start = 2837
121
+ _globals["_FACETRESULT"]._serialized_end = 2926
122
+ _globals["_FACETVALUE"]._serialized_start = 2928
123
+ _globals["_FACETVALUE"]._serialized_end = 2984
124
+ _globals["_COMPAREMODELSREQUEST"]._serialized_start = 2986
125
+ _globals["_COMPAREMODELSREQUEST"]._serialized_end = 3065
126
+ _globals["_COMPAREMODELSRESPONSE"]._serialized_start = 3068
127
+ _globals["_COMPAREMODELSRESPONSE"]._serialized_end = 3223
128
+ _globals["_MODELCOMPARISON"]._serialized_start = 3226
129
+ _globals["_MODELCOMPARISON"]._serialized_end = 3485
130
+ _globals["_MODELCOMPARISON_HIGHLIGHTEDDIFFERENCESENTRY"]._serialized_start = 3412
131
+ _globals["_MODELCOMPARISON_HIGHLIGHTEDDIFFERENCESENTRY"]._serialized_end = 3485
132
+ _globals["_COMPARISONSUMMARY"]._serialized_start = 3488
133
+ _globals["_COMPARISONSUMMARY"]._serialized_end = 3735
134
+ _globals["_GETMODELPRICEHISTORYREQUEST"]._serialized_start = 3737
135
+ _globals["_GETMODELPRICEHISTORYREQUEST"]._serialized_end = 3841
136
+ _globals["_GETMODELPRICEHISTORYRESPONSE"]._serialized_start = 3844
137
+ _globals["_GETMODELPRICEHISTORYRESPONSE"]._serialized_end = 4009
138
+ _globals["_PRICEPOINT"]._serialized_start = 4012
139
+ _globals["_PRICEPOINT"]._serialized_end = 4236
140
+ _globals["_PRICECHANGE"]._serialized_start = 4239
141
+ _globals["_PRICECHANGE"]._serialized_end = 4577
142
+ _globals["_GETMODELCHANGESREQUEST"]._serialized_start = 4579
143
+ _globals["_GETMODELCHANGESREQUEST"]._serialized_end = 4680
144
+ _globals["_GETMODELCHANGESRESPONSE"]._serialized_start = 4682
145
+ _globals["_GETMODELCHANGESRESPONSE"]._serialized_end = 4764
146
+ _globals["_MODELCHANGE"]._serialized_start = 4767
147
+ _globals["_MODELCHANGE"]._serialized_end = 4979
148
+ _globals["_GETTRENDINGMODELSREQUEST"]._serialized_start = 4981
149
+ _globals["_GETTRENDINGMODELSREQUEST"]._serialized_end = 5062
150
+ _globals["_GETTRENDINGMODELSRESPONSE"]._serialized_start = 5064
151
+ _globals["_GETTRENDINGMODELSRESPONSE"]._serialized_end = 5148
152
+ _globals["_TRENDINGMODEL"]._serialized_start = 5151
153
+ _globals["_TRENDINGMODEL"]._serialized_end = 5330
154
+ _globals["_GETRECENTUPDATESREQUEST"]._serialized_start = 5333
155
+ _globals["_GETRECENTUPDATESREQUEST"]._serialized_end = 5467
156
+ _globals["_GETRECENTUPDATESRESPONSE"]._serialized_start = 5469
157
+ _globals["_GETRECENTUPDATESRESPONSE"]._serialized_end = 5552
158
+ _globals["_UPDATEENTRY"]._serialized_start = 5555
159
+ _globals["_UPDATEENTRY"]._serialized_end = 5876
160
+ _globals["_EXPORTDATAREQUEST"]._serialized_start = 5878
161
+ _globals["_EXPORTDATAREQUEST"]._serialized_end = 5994
162
+ _globals["_EXPORTDATARESPONSE"]._serialized_start = 5997
163
+ _globals["_EXPORTDATARESPONSE"]._serialized_end = 6196
164
+ _globals["_GETSTATISTICSREQUEST"]._serialized_start = 6198
165
+ _globals["_GETSTATISTICSREQUEST"]._serialized_end = 6220
166
+ _globals["_GETSTATISTICSRESPONSE"]._serialized_start = 6223
167
+ _globals["_GETSTATISTICSRESPONSE"]._serialized_end = 6557
168
+ _globals["_OVERALLSTATS"]._serialized_start = 6560
169
+ _globals["_OVERALLSTATS"]._serialized_end = 6839
170
+ _globals["_PROVIDERSTATS"]._serialized_start = 6842
171
+ _globals["_PROVIDERSTATS"]._serialized_end = 7090
172
+ _globals["_TYPESTATS"]._serialized_start = 7092
173
+ _globals["_TYPESTATS"]._serialized_end = 7188
174
+ _globals["_PRICINGSTATS"]._serialized_start = 7191
175
+ _globals["_PRICINGSTATS"]._serialized_end = 7545
176
+ _globals["_RECENTACTIVITY"]._serialized_start = 7548
177
+ _globals["_RECENTACTIVITY"]._serialized_end = 7693
178
+ _globals["_LLMX"]._serialized_start = 7696
179
+ _globals["_LLMX"]._serialized_end = 9301
180
+ # @@protoc_insertion_point(module_scope)