nucliadb-models 6.6.0.post4546__py3-none-any.whl → 6.6.1.post649__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.
nucliadb_models/common.py CHANGED
@@ -88,7 +88,7 @@ class FieldID(BaseModel):
88
88
  class File(BaseModel):
89
89
  filename: Optional[str] = None
90
90
  content_type: str = "application/octet-stream"
91
- payload: Optional[str] = Field(None, description="Base64 encoded file content")
91
+ payload: Optional[str] = Field(default=None, description="Base64 encoded file content")
92
92
  md5: Optional[str] = None
93
93
  # These are to be used for external files
94
94
  uri: Optional[str] = None
@@ -176,7 +176,7 @@ class CloudLink(BaseModel):
176
176
  return DOWNLOAD_URI.format(**url_params).rstrip("/")
177
177
 
178
178
  @field_serializer("uri")
179
- def serialize_uri(uri):
179
+ def serialize_uri(self, uri: str):
180
180
  return CloudLink.format_reader_download_uri(uri)
181
181
 
182
182
 
@@ -14,7 +14,7 @@
14
14
  #
15
15
 
16
16
  import warnings
17
- from typing import Annotated, Literal, Optional, Union
17
+ from typing import Annotated, Any, Literal, Optional, Union
18
18
 
19
19
  from pydantic import BaseModel, Field, create_model
20
20
 
@@ -38,16 +38,14 @@ class KBConfiguration(BaseModel):
38
38
  #
39
39
  # Search configurations
40
40
  #
41
+ def _model_fields(model: type[BaseModel], skip: list[str]) -> dict[str, Any]:
42
+ return {
43
+ name: (field.annotation, field) for name, field in model.model_fields.items() if name not in skip
44
+ }
45
+
41
46
 
42
47
  # FindConfig is a FindConfig without `search_configuration`
43
- FindConfig = create_model(
44
- "FindConfig",
45
- **{
46
- name: (field.annotation, field)
47
- for name, field in FindRequest.model_fields.items()
48
- if name not in ("search_configuration")
49
- },
50
- ) # type: ignore[call-overload]
48
+ FindConfig = create_model("FindConfig", **_model_fields(FindRequest, skip=["search_configuration"]))
51
49
 
52
50
 
53
51
  class FindSearchConfiguration(BaseModel):
@@ -58,13 +56,9 @@ class FindSearchConfiguration(BaseModel):
58
56
  # AskConfig is an AskRequest where `query` is not mandatory and without `search_configuration`
59
57
  AskConfig = create_model(
60
58
  "AskConfig",
61
- **{
62
- name: (field.annotation, field)
63
- for name, field in AskRequest.model_fields.items()
64
- if name not in ("query", "search_configuration")
65
- },
59
+ **_model_fields(AskRequest, skip=["query", "search_configuration"]),
66
60
  query=(Optional[str], None),
67
- ) # type: ignore[call-overload]
61
+ )
68
62
 
69
63
 
70
64
  class AskSearchConfiguration(BaseModel):
@@ -60,6 +60,7 @@ EXTRA_VALID_CONTENT_TYPES = {
60
60
  "text/x-java-source",
61
61
  "text/x-log",
62
62
  "text/x-python-script",
63
+ "text/x-ruby-script",
63
64
  "text/yaml",
64
65
  "video/x-m4v",
65
66
  "video/YouTube",
@@ -18,7 +18,7 @@ from typing import List, Optional
18
18
 
19
19
  from pydantic import BaseModel, Field, field_validator
20
20
 
21
- from nucliadb_models import CloudLink, FieldRef, FileB64
21
+ from nucliadb_models.common import CloudLink, FieldRef, FileB64
22
22
  from nucliadb_models.utils import DateTime
23
23
 
24
24
  # Shared classes
nucliadb_models/file.py CHANGED
@@ -17,7 +17,7 @@ from typing import Optional
17
17
 
18
18
  from pydantic import BaseModel, Field
19
19
 
20
- from nucliadb_models import CloudLink, File
20
+ from nucliadb_models.common import CloudLink, File
21
21
 
22
22
  # Shared classes
23
23
  # - Nothing to see here
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  #
15
15
 
16
+ from collections.abc import Sequence
16
17
  from enum import Enum
17
18
  from typing import Any, Generic, Literal, Optional, TypeVar, Union
18
19
  from uuid import UUID
@@ -31,25 +32,25 @@ F = TypeVar("F", bound=BaseModel)
31
32
  class And(BaseModel, Generic[F], extra="forbid"):
32
33
  """AND of other expressions"""
33
34
 
34
- operands: list[F] = pydantic.Field(
35
+ operands: Sequence[F] = pydantic.Field(
35
36
  serialization_alias="and", validation_alias=AliasChoices("operands", "and"), min_length=1
36
37
  )
37
38
 
38
39
  @pydantic.model_serializer
39
- def serialize_boolean(self) -> dict[str, Any]:
40
- return {"and": [op.model_dump() for op in self.operands]}
40
+ def serialize_boolean(self, info: pydantic.SerializationInfo) -> dict[str, Any]:
41
+ return {"and": [op.model_dump(exclude_unset=info.exclude_unset) for op in self.operands]}
41
42
 
42
43
 
43
44
  class Or(BaseModel, Generic[F], extra="forbid"):
44
45
  """OR of other expressions"""
45
46
 
46
- operands: list[F] = pydantic.Field(
47
+ operands: Sequence[F] = pydantic.Field(
47
48
  serialization_alias="or", validation_alias=AliasChoices("operands", "or"), min_length=1
48
49
  )
49
50
 
50
51
  @pydantic.model_serializer
51
- def serialize_boolean(self) -> dict[str, Any]:
52
- return {"or": [op.model_dump() for op in self.operands]}
52
+ def serialize_boolean(self, info: pydantic.SerializationInfo) -> dict[str, Any]:
53
+ return {"or": [op.model_dump(exclude_unset=info.exclude_unset) for op in self.operands]}
53
54
 
54
55
 
55
56
  class Not(BaseModel, Generic[F], extra="forbid"):
@@ -60,11 +61,21 @@ class Not(BaseModel, Generic[F], extra="forbid"):
60
61
  )
61
62
 
62
63
  @pydantic.model_serializer
63
- def serialize_boolean(self) -> dict[str, Any]:
64
- return {"not": self.operand.model_dump()}
64
+ def serialize_boolean(self, info: pydantic.SerializationInfo) -> dict[str, Any]:
65
+ return {"not": self.operand.model_dump(exclude_unset=info.exclude_unset)}
65
66
 
66
67
 
67
- class Resource(BaseModel, extra="forbid"):
68
+ class FilterProp(BaseModel):
69
+ prop: Any
70
+
71
+ @model_validator(mode="after")
72
+ def set_discriminator(self) -> Self:
73
+ # Ensure discriminator is explicitly set so it's always serialized
74
+ self.prop = self.prop
75
+ return self
76
+
77
+
78
+ class Resource(FilterProp, extra="forbid"):
68
79
  """Matches all fields of a resource given its id or slug"""
69
80
 
70
81
  prop: Literal["resource"] = "resource"
@@ -91,7 +102,7 @@ class Resource(BaseModel, extra="forbid"):
91
102
  return self
92
103
 
93
104
 
94
- class Field(BaseModel, extra="forbid"):
105
+ class Field(FilterProp, extra="forbid"):
95
106
  """Matches a field or set of fields"""
96
107
 
97
108
  prop: Literal["field"] = "field"
@@ -102,14 +113,14 @@ class Field(BaseModel, extra="forbid"):
102
113
  )
103
114
 
104
115
 
105
- class Keyword(BaseModel, extra="forbid"):
116
+ class Keyword(FilterProp, extra="forbid"):
106
117
  """Matches all fields that contain a keyword"""
107
118
 
108
119
  prop: Literal["keyword"] = "keyword"
109
120
  word: str = pydantic.Field(description="Keyword to find")
110
121
 
111
122
 
112
- class DateCreated(BaseModel, extra="forbid"):
123
+ class DateCreated(FilterProp, extra="forbid"):
113
124
  """Matches all fields created in a date range"""
114
125
 
115
126
  prop: Literal["created"] = "created"
@@ -127,7 +138,7 @@ class DateCreated(BaseModel, extra="forbid"):
127
138
  return self
128
139
 
129
140
 
130
- class DateModified(BaseModel, extra="forbid"):
141
+ class DateModified(FilterProp, extra="forbid"):
131
142
  """Matches all fields modified in a date range"""
132
143
 
133
144
  prop: Literal["modified"] = "modified"
@@ -145,7 +156,7 @@ class DateModified(BaseModel, extra="forbid"):
145
156
  return self
146
157
 
147
158
 
148
- class Label(BaseModel, extra="forbid"):
159
+ class Label(FilterProp, extra="forbid"):
149
160
  """Matches fields/paragraphs with a label (or labelset)"""
150
161
 
151
162
  prop: Literal["label"] = "label"
@@ -156,7 +167,7 @@ class Label(BaseModel, extra="forbid"):
156
167
  )
157
168
 
158
169
 
159
- class ResourceMimetype(BaseModel, extra="forbid"):
170
+ class ResourceMimetype(FilterProp, extra="forbid"):
160
171
  """Matches resources with a mimetype.
161
172
 
162
173
  The mimetype of a resource can be assigned independently of the mimetype of its fields.
@@ -175,7 +186,7 @@ class ResourceMimetype(BaseModel, extra="forbid"):
175
186
  )
176
187
 
177
188
 
178
- class FieldMimetype(BaseModel, extra="forbid"):
189
+ class FieldMimetype(FilterProp, extra="forbid"):
179
190
  """Matches fields with a mimetype"""
180
191
 
181
192
  prop: Literal["field_mimetype"] = "field_mimetype"
@@ -191,7 +202,7 @@ class FieldMimetype(BaseModel, extra="forbid"):
191
202
  )
192
203
 
193
204
 
194
- class Entity(BaseModel, extra="forbid"):
205
+ class Entity(FilterProp, extra="forbid"):
195
206
  """Matches fields that contains a detected entity"""
196
207
 
197
208
  prop: Literal["entity"] = "entity"
@@ -202,7 +213,7 @@ class Entity(BaseModel, extra="forbid"):
202
213
  )
203
214
 
204
215
 
205
- class Language(BaseModel, extra="forbid"):
216
+ class Language(FilterProp, extra="forbid"):
206
217
  """Matches the language of the field"""
207
218
 
208
219
  prop: Literal["language"] = "language"
@@ -213,14 +224,14 @@ class Language(BaseModel, extra="forbid"):
213
224
  language: str = pydantic.Field(description="The code of the language to match, e.g: en")
214
225
 
215
226
 
216
- class OriginTag(BaseModel, extra="forbid"):
227
+ class OriginTag(FilterProp, extra="forbid"):
217
228
  """Matches all fields with a given origin tag"""
218
229
 
219
230
  prop: Literal["origin_tag"] = "origin_tag"
220
231
  tag: str = pydantic.Field(description="The tag to match")
221
232
 
222
233
 
223
- class OriginMetadata(BaseModel, extra="forbid"):
234
+ class OriginMetadata(FilterProp, extra="forbid"):
224
235
  """Matches metadata from the origin"""
225
236
 
226
237
  prop: Literal["origin_metadata"] = "origin_metadata"
@@ -231,7 +242,7 @@ class OriginMetadata(BaseModel, extra="forbid"):
231
242
  )
232
243
 
233
244
 
234
- class OriginPath(BaseModel, extra="forbid"):
245
+ class OriginPath(FilterProp, extra="forbid"):
235
246
  """Matches the origin path"""
236
247
 
237
248
  prop: Literal["origin_path"] = "origin_path"
@@ -244,21 +255,21 @@ class OriginPath(BaseModel, extra="forbid"):
244
255
  )
245
256
 
246
257
 
247
- class OriginSource(BaseModel, extra="forbid"):
258
+ class OriginSource(FilterProp, extra="forbid"):
248
259
  """Matches the origin source id"""
249
260
 
250
261
  prop: Literal["origin_source"] = "origin_source"
251
262
  id: Optional[str] = pydantic.Field(default=None, description=("Source ID"))
252
263
 
253
264
 
254
- class OriginCollaborator(BaseModel, extra="forbid"):
265
+ class OriginCollaborator(FilterProp, extra="forbid"):
255
266
  """Matches the origin collaborators"""
256
267
 
257
268
  prop: Literal["origin_collaborator"] = "origin_collaborator"
258
269
  collaborator: str = pydantic.Field(description=("Collaborator"))
259
270
 
260
271
 
261
- class Generated(BaseModel, extra="forbid"):
272
+ class Generated(FilterProp, extra="forbid"):
262
273
  """Matches if the field was generated by the given source"""
263
274
 
264
275
  prop: Literal["generated"] = "generated"
@@ -270,14 +281,14 @@ class Generated(BaseModel, extra="forbid"):
270
281
  )
271
282
 
272
283
 
273
- class Kind(BaseModel, extra="forbid"):
284
+ class Kind(FilterProp, extra="forbid"):
274
285
  """Matches paragraphs of a certain kind"""
275
286
 
276
287
  prop: Literal["kind"] = "kind"
277
288
  kind: Paragraph.TypeParagraph = pydantic.Field(description="The kind of paragraph to match")
278
289
 
279
290
 
280
- class Status(BaseModel, extra="forbid"):
291
+ class Status(FilterProp, extra="forbid"):
281
292
  """Matches resource in a certain processing status"""
282
293
 
283
294
  prop: Literal["status"] = "status"
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  from enum import Enum
16
- from typing import Annotated, Literal, Optional, Union
16
+ from typing import Annotated, Any, Literal, Optional, Union
17
17
 
18
18
  from pydantic import BaseModel, Discriminator, Field, Tag, model_validator
19
19
  from typing_extensions import Self
@@ -25,6 +25,16 @@ from nucliadb_models.security import RequestSecurity
25
25
  ## Models for graph nodes and relations
26
26
 
27
27
 
28
+ class GraphProp(BaseModel):
29
+ prop: Any
30
+
31
+ @model_validator(mode="after")
32
+ def set_discriminator(self) -> Self:
33
+ # Ensure discriminator is explicitly set so it's always serialized
34
+ self.prop = self.prop
35
+ return self
36
+
37
+
28
38
  class NodeMatchKindName(str, Enum):
29
39
  EXACT = "exact"
30
40
  FUZZY = "fuzzy"
@@ -57,23 +67,23 @@ class GraphRelation(BaseModel, extra="forbid"):
57
67
  ## Models for query expressions
58
68
 
59
69
 
60
- class AnyNode(GraphNode):
70
+ class AnyNode(GraphNode, GraphProp):
61
71
  prop: Literal["node"] = "node"
62
72
 
63
73
 
64
- class SourceNode(GraphNode):
74
+ class SourceNode(GraphNode, GraphProp):
65
75
  prop: Literal["source_node"] = "source_node"
66
76
 
67
77
 
68
- class DestinationNode(GraphNode):
78
+ class DestinationNode(GraphNode, GraphProp):
69
79
  prop: Literal["destination_node"] = "destination_node"
70
80
 
71
81
 
72
- class Relation(GraphRelation):
82
+ class Relation(GraphRelation, GraphProp):
73
83
  prop: Literal["relation"] = "relation"
74
84
 
75
85
 
76
- class GraphPath(BaseModel, extra="forbid"):
86
+ class GraphPath(GraphProp, extra="forbid"):
77
87
  prop: Literal["path"] = "path"
78
88
  source: Optional[GraphNode] = None
79
89
  relation: Optional[GraphRelation] = None
@@ -87,7 +97,7 @@ class Generator(str, Enum):
87
97
  USER = "user"
88
98
 
89
99
 
90
- class Generated(BaseModel, extra="forbid"):
100
+ class Generated(GraphProp, extra="forbid"):
91
101
  """Matches if the relation was generated by the given source"""
92
102
 
93
103
  prop: Literal["generated"] = "generated"
@@ -73,7 +73,7 @@ class Relation(BaseModel):
73
73
  label: Optional[str] = None
74
74
  metadata: Optional[RelationMetadata] = None
75
75
 
76
- from_: Optional[RelationEntity] = Field(None, alias="from")
76
+ from_: Optional[RelationEntity] = Field(default=None, alias="from")
77
77
  to: RelationEntity
78
78
 
79
79
  @model_validator(mode="after")
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  from enum import Enum
16
+ from typing import Any
16
17
 
17
18
  from pydantic import BaseModel, Field
18
19
 
@@ -29,7 +30,7 @@ class Notification(BaseModel):
29
30
  title="Notification Type",
30
31
  description="Type of notification.",
31
32
  )
32
- data: BaseModel = Field(
33
+ data: Any = Field(
33
34
  ...,
34
35
  title="Notification Data",
35
36
  description="Notification data.",
nucliadb_models/search.py CHANGED
@@ -42,6 +42,8 @@ from nucliadb_models.internal.shards import ( # noqa isort: skip
42
42
  ShardReplica,
43
43
  KnowledgeboxShards,
44
44
  )
45
+ from nuclia_models.common.consumption import Consumption
46
+
45
47
  from nucliadb_models.filters import CatalogFilterExpression, FilterExpression
46
48
 
47
49
  ANSWER_JSON_SCHEMA_EXAMPLE = {
@@ -353,6 +355,12 @@ class RankFusionName(str, Enum):
353
355
  class _BaseRankFusion(BaseModel):
354
356
  name: str
355
357
 
358
+ @model_validator(mode="after")
359
+ def set_discriminator(self) -> Self:
360
+ # Ensure discriminator is explicitly set so it's always serialized
361
+ self.name = self.name
362
+ return self
363
+
356
364
 
357
365
  class ReciprocalRankFusionWeights(BaseModel):
358
366
  keyword: float = 1.0
@@ -413,6 +421,12 @@ class RerankerName(str, Enum):
413
421
  class _BaseReranker(BaseModel):
414
422
  name: str
415
423
 
424
+ @model_validator(mode="after")
425
+ def set_discriminator(self) -> Self:
426
+ # Ensure discriminator is explicitly set so it's always serialized
427
+ self.name = self.name
428
+ return self
429
+
416
430
 
417
431
  class PredictReranker(_BaseReranker):
418
432
  name: Literal[RerankerName.PREDICT_RERANKER] = RerankerName.PREDICT_RERANKER
@@ -1086,11 +1100,23 @@ class ImageRagStrategyName:
1086
1100
 
1087
1101
 
1088
1102
  class RagStrategy(BaseModel):
1089
- name: str
1103
+ name: Any
1104
+
1105
+ @model_validator(mode="after")
1106
+ def set_discriminator(self) -> Self:
1107
+ # Ensure discriminator is explicitly set so it's always serialized
1108
+ self.name = self.name
1109
+ return self
1090
1110
 
1091
1111
 
1092
1112
  class ImageRagStrategy(BaseModel):
1093
- name: str
1113
+ name: Any
1114
+
1115
+ @model_validator(mode="after")
1116
+ def set_discriminator(self) -> Self:
1117
+ # Ensure discriminator is explicitly set so it's always serialized
1118
+ self.name = self.name
1119
+ return self
1094
1120
 
1095
1121
 
1096
1122
  ALLOWED_FIELD_TYPES: dict[str, str] = {
@@ -1695,8 +1721,6 @@ Using this feature also disables the `citations` parameter. For maximal accuracy
1695
1721
  obj = strategy
1696
1722
  elif isinstance(strategy, BaseModel):
1697
1723
  obj = strategy.model_dump()
1698
- # Explicitly mark the name field as set, so it's always included (even with exclude_unset=True)
1699
- strategy.name = strategy.name
1700
1724
  else:
1701
1725
  raise ValueError(
1702
1726
  "RAG strategies must be defined using a valid RagStrategy object or a dictionary"
@@ -1815,6 +1839,7 @@ class SummarizedResponse(BaseModel):
1815
1839
  title="Summary",
1816
1840
  description="Global summary of all resources combined.",
1817
1841
  )
1842
+ consumption: Optional[Consumption] = None
1818
1843
 
1819
1844
 
1820
1845
  class KnowledgeGraphEntity(BaseModel):
@@ -2064,6 +2089,10 @@ class AugmentedTextBlock(BaseModel):
2064
2089
  text: str = Field(
2065
2090
  description="The text of the augmented text block. It may include additional metadata to enrich the context"
2066
2091
  )
2092
+ position: Optional[TextPosition] = Field(
2093
+ default=None,
2094
+ description="Metadata about the position of the text block in the original document.",
2095
+ )
2067
2096
  parent: Optional[str] = Field(
2068
2097
  default=None, description="The parent text block that was augmented for."
2069
2098
  )
@@ -2200,6 +2229,14 @@ class SyncAskResponse(BaseModel):
2200
2229
  title="Metadata",
2201
2230
  description="Metadata of the query execution. This includes the number of tokens used in the LLM context and answer, and the timings of the generative model.", # noqa: E501
2202
2231
  )
2232
+ consumption: Optional[Consumption] = Field(
2233
+ default=None,
2234
+ title="Consumption",
2235
+ description=(
2236
+ "The consumption of the query execution. Return only if"
2237
+ " 'X-show-consumption' header is set to true in the request."
2238
+ ),
2239
+ )
2203
2240
  error_details: Optional[str] = Field(
2204
2241
  default=None,
2205
2242
  title="Error details",
@@ -2247,6 +2284,18 @@ class MetadataAskResponseItem(BaseModel):
2247
2284
  timings: AskTimings
2248
2285
 
2249
2286
 
2287
+ class TokensDetail(BaseModel):
2288
+ input: float
2289
+ output: float
2290
+ image: float
2291
+
2292
+
2293
+ class ConsumptionResponseItem(BaseModel):
2294
+ type: Literal["consumption"] = "consumption"
2295
+ normalized_tokens: TokensDetail
2296
+ customer_key_tokens: TokensDetail
2297
+
2298
+
2250
2299
  class AugmentedContextResponseItem(BaseModel):
2251
2300
  type: Literal["augmented_context"] = "augmented_context"
2252
2301
  augmented: AugmentedContext = Field(
@@ -2297,6 +2346,7 @@ AskResponseItemType = Union[
2297
2346
  RelationsAskResponseItem,
2298
2347
  DebugAskResponseItem,
2299
2348
  PrequeriesAskResponseItem,
2349
+ ConsumptionResponseItem,
2300
2350
  ]
2301
2351
 
2302
2352
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucliadb_models
3
- Version: 6.6.0.post4546
3
+ Version: 6.6.1.post649
4
4
  Author-email: Nuclia <nucliadb@nuclia.com>
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Homepage, https://nuclia.com
@@ -15,6 +15,6 @@ Classifier: Programming Language :: Python :: 3 :: Only
15
15
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
16
  Requires-Python: <4,>=3.9
17
17
  Description-Content-Type: text/markdown
18
- Requires-Dist: pydantic>=2.6
18
+ Requires-Dist: pydantic!=2.11.5,!=2.11.6,>=2.6
19
19
 
20
20
  # NucliaDB models
@@ -1,22 +1,22 @@
1
1
  nucliadb_models/__init__.py,sha256=3y8-htogKuCZcbhaUZdSjTeEjUSeec9aRWyL8AlKCyM,1077
2
- nucliadb_models/common.py,sha256=E5rYsahuRKgUX3ZASIFHjR6LPBfezh453JbfJ6hbckI,7885
3
- nucliadb_models/configuration.py,sha256=V1d4hhs_1r-_ik7uBpqBHYrpzpMZYI4QeieWpHc8iOM,2508
4
- nucliadb_models/content_types.py,sha256=eMlBhWwzfYJFlErcWsNCvBdypbv8J9eC-MXw727QiBE,3430
5
- nucliadb_models/conversation.py,sha256=bgePP_aLvvnLV9VK4x90Aazlkdc4ajJKFVDYEa9sOJY,3383
2
+ nucliadb_models/common.py,sha256=YW84w1NAQARObs2nXw6YBgdxQJeVCmTZZr5lSqj-IdQ,7904
3
+ nucliadb_models/configuration.py,sha256=aTV5mBwYFlwiV1_nWyVAXaCh7F6lDVTVh28Xfwy8ox8,2448
4
+ nucliadb_models/content_types.py,sha256=36Ga-iGf4ivCqgtXC7imFgegrwHB117s9eqP62JtGv0,3456
5
+ nucliadb_models/conversation.py,sha256=2igXbzF7kfnOd6qjY-b0AZSAjI7O3sLpL0Cp-uSfJvA,3390
6
6
  nucliadb_models/entities.py,sha256=i-7Y8qmFRRTih5zw0ajv1U_iiXexe66M3TK8hUikQZk,2356
7
7
  nucliadb_models/export_import.py,sha256=mNm9IArOLnC6TLupkwqVFhxD5d08mpIVOVFneECv8UA,1073
8
8
  nucliadb_models/external_index_providers.py,sha256=IIKjJjLixWQC1zrbzam2FDcAo5UUxShZfueZSxqZu8Y,1535
9
9
  nucliadb_models/extracted.py,sha256=Zh79jrOcqedVYc36qM4D5qrOn5RutTuJAHusEeyIDiU,6245
10
- nucliadb_models/file.py,sha256=U66oSmywTWqE48mpNv9KG4X--XZtNI9i4Kl3EcYSLLM,1740
11
- nucliadb_models/filters.py,sha256=jRIj0nLupOp8KcS8oXTuC2EwheIJFZd_b4Y9jVwyov8,14251
10
+ nucliadb_models/file.py,sha256=ZfxnXeigmMkoZ5ae22g-JvlYf8UBz4-pkx1t7aOL8Rs,1747
11
+ nucliadb_models/filters.py,sha256=NQI2-4AFzzJuZy8NeY3jXlTbbU5wxiwMCP-5DrD-7lE,14759
12
12
  nucliadb_models/labels.py,sha256=9zqRgkpZuX3kUPwsTTgCH7JyOWK7dM5pwyuHJR86YdU,3949
13
13
  nucliadb_models/link.py,sha256=cfMOwaKDnaYSMxD5QClBu2Ab1orGfuTurFqNozp3KFk,2010
14
- nucliadb_models/metadata.py,sha256=7rCIpeWjvqDk4ytIVP3azR9Qmm5PTGVI1BNkNLXfHVo,8348
15
- nucliadb_models/notifications.py,sha256=3w1HeX9F8nuA7WupHdpXIksX7d0bHO9ofmemYp4RcmM,4019
14
+ nucliadb_models/metadata.py,sha256=MFVYnpXMBoY4ylMg029o7yDKGxhK7NB0c0FSshzJHm4,8356
15
+ nucliadb_models/notifications.py,sha256=mna8-AoD_29Wds0Thl0AF0zpERnJmYGLZX1w1fUopMY,4036
16
16
  nucliadb_models/processing.py,sha256=nhKuHQjqCdb9zJVkYGPTLub23tK9e_lwL5OCDVymZjY,719
17
17
  nucliadb_models/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  nucliadb_models/resource.py,sha256=FkhwmbjoqQBGyKQIqa40WK2Vq3wtryZeIVWmJ4b-84g,9003
19
- nucliadb_models/search.py,sha256=njGUScrDA2Dn1y26lQ9_dVYzHIldkPMVpDgP7zstgXk,90163
19
+ nucliadb_models/search.py,sha256=UtENf6-osZ6TvV7EzqrBN67GfZtrBhCZEo3qBi15ejs,91648
20
20
  nucliadb_models/security.py,sha256=opxaDLfvk3aU0sjesK0jGrYLx5h4YCwlKKN0moYs_ig,1150
21
21
  nucliadb_models/synonyms.py,sha256=afbaVqSQSxGLwi2PusVaLSRpkOtA5AZmWOKd1f4nl2E,690
22
22
  nucliadb_models/text.py,sha256=kY2ub7AaGm-4vNaLX3Ju2VvRw-eKZ2LRdM9z7XCNaG0,2898
@@ -27,12 +27,12 @@ nucliadb_models/vectorsets.py,sha256=XAgg9DfdfLYpfLh9OepJ_KPH0_RqRQNpVZJr74UnNh0
27
27
  nucliadb_models/writer.py,sha256=diwrarp6DxjSUoRmdEljZb68z_ghNvpOgPUGZeKg328,8220
28
28
  nucliadb_models/agents/ingestion.py,sha256=W9cJ0dQT_1vPcjeJ4_Fjb8DylnhQ6qqZrY4v8x1RqUs,3093
29
29
  nucliadb_models/graph/__init__.py,sha256=X538kZPZnndmQeEtnzzPv1hYVGUTDe9U1O7UmAqqxXU,645
30
- nucliadb_models/graph/requests.py,sha256=_J7iocrnb6o4Kgf30O8XmXiGuD7-2_t_obPa6S3TJcE,6874
30
+ nucliadb_models/graph/requests.py,sha256=ppQ7cOnybvrw1wGC7qDps-182PfmicWU6-4vLRfK16w,7169
31
31
  nucliadb_models/graph/responses.py,sha256=Sdq8OgFAL1YT-1lJyLLrkqcScvj7YTEqAUwQ-kFAk9M,1399
32
32
  nucliadb_models/internal/__init__.py,sha256=zG33bUz1rHFPtvqQPWn4rDwBJt3FJodGuQYD45quiQg,583
33
33
  nucliadb_models/internal/predict.py,sha256=Pnx6MmLfK65eExe1XnVxqmSlvMwdowewwks9BOEoqMw,2029
34
34
  nucliadb_models/internal/shards.py,sha256=__y1OZtWGiNcPQEWfSFOj8yw458WGi7mM4vZe0K-L1Y,1691
35
- nucliadb_models-6.6.0.post4546.dist-info/METADATA,sha256=w3uJJknvv8Lg6N4BvLVdj493ADa1TPeZuvjMAndSdug,776
36
- nucliadb_models-6.6.0.post4546.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- nucliadb_models-6.6.0.post4546.dist-info/top_level.txt,sha256=UrY1I8oeovIRwkXLYplssTrxQdUjhSEFDFbnwaIV3tA,16
38
- nucliadb_models-6.6.0.post4546.dist-info/RECORD,,
35
+ nucliadb_models-6.6.1.post649.dist-info/METADATA,sha256=aQDjfCVzxJCAXnx5A41A_rX9EE3x6jsXzo1MbaBXbBs,793
36
+ nucliadb_models-6.6.1.post649.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
+ nucliadb_models-6.6.1.post649.dist-info/top_level.txt,sha256=UrY1I8oeovIRwkXLYplssTrxQdUjhSEFDFbnwaIV3tA,16
38
+ nucliadb_models-6.6.1.post649.dist-info/RECORD,,