qanswer-sdk 0.660.0.dev0__py3-none-any.whl → 0.689.0.dev0__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.
qanswer_sdk/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "0.660.0.dev0"
17
+ __version__ = "0.689.0.dev0"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -3137,6 +3137,283 @@ class UnitOrganizationsApi:
3137
3137
 
3138
3138
 
3139
3139
 
3140
+ @validate_call
3141
+ def get_org_user_detailed(
3142
+ self,
3143
+ organization_id: StrictInt,
3144
+ user_id: StrictInt,
3145
+ _request_timeout: Union[
3146
+ None,
3147
+ Annotated[StrictFloat, Field(gt=0)],
3148
+ Tuple[
3149
+ Annotated[StrictFloat, Field(gt=0)],
3150
+ Annotated[StrictFloat, Field(gt=0)]
3151
+ ]
3152
+ ] = None,
3153
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3154
+ _content_type: Optional[StrictStr] = None,
3155
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3156
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3157
+ ) -> object:
3158
+ """Returns the detailed information of a user
3159
+
3160
+
3161
+ :param organization_id: (required)
3162
+ :type organization_id: int
3163
+ :param user_id: (required)
3164
+ :type user_id: int
3165
+ :param _request_timeout: timeout setting for this request. If one
3166
+ number provided, it will be total request
3167
+ timeout. It can also be a pair (tuple) of
3168
+ (connection, read) timeouts.
3169
+ :type _request_timeout: int, tuple(int, int), optional
3170
+ :param _request_auth: set to override the auth_settings for an a single
3171
+ request; this effectively ignores the
3172
+ authentication in the spec for a single request.
3173
+ :type _request_auth: dict, optional
3174
+ :param _content_type: force content-type for the request.
3175
+ :type _content_type: str, Optional
3176
+ :param _headers: set to override the headers for a single
3177
+ request; this effectively ignores the headers
3178
+ in the spec for a single request.
3179
+ :type _headers: dict, optional
3180
+ :param _host_index: set to override the host_index for a single
3181
+ request; this effectively ignores the host_index
3182
+ in the spec for a single request.
3183
+ :type _host_index: int, optional
3184
+ :return: Returns the result object.
3185
+ """ # noqa: E501
3186
+
3187
+ _param = self._get_org_user_detailed_serialize(
3188
+ organization_id=organization_id,
3189
+ user_id=user_id,
3190
+ _request_auth=_request_auth,
3191
+ _content_type=_content_type,
3192
+ _headers=_headers,
3193
+ _host_index=_host_index
3194
+ )
3195
+
3196
+ _response_types_map: Dict[str, Optional[str]] = {
3197
+ '200': "object",
3198
+ '422': "HTTPValidationError",
3199
+ }
3200
+ response_data = self.api_client.call_api(
3201
+ *_param,
3202
+ _request_timeout=_request_timeout
3203
+ )
3204
+ response_data.read()
3205
+ return self.api_client.response_deserialize(
3206
+ response_data=response_data,
3207
+ response_types_map=_response_types_map,
3208
+ ).data
3209
+
3210
+
3211
+ @validate_call
3212
+ def get_org_user_detailed_with_http_info(
3213
+ self,
3214
+ organization_id: StrictInt,
3215
+ user_id: StrictInt,
3216
+ _request_timeout: Union[
3217
+ None,
3218
+ Annotated[StrictFloat, Field(gt=0)],
3219
+ Tuple[
3220
+ Annotated[StrictFloat, Field(gt=0)],
3221
+ Annotated[StrictFloat, Field(gt=0)]
3222
+ ]
3223
+ ] = None,
3224
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3225
+ _content_type: Optional[StrictStr] = None,
3226
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3227
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3228
+ ) -> ApiResponse[object]:
3229
+ """Returns the detailed information of a user
3230
+
3231
+
3232
+ :param organization_id: (required)
3233
+ :type organization_id: int
3234
+ :param user_id: (required)
3235
+ :type user_id: int
3236
+ :param _request_timeout: timeout setting for this request. If one
3237
+ number provided, it will be total request
3238
+ timeout. It can also be a pair (tuple) of
3239
+ (connection, read) timeouts.
3240
+ :type _request_timeout: int, tuple(int, int), optional
3241
+ :param _request_auth: set to override the auth_settings for an a single
3242
+ request; this effectively ignores the
3243
+ authentication in the spec for a single request.
3244
+ :type _request_auth: dict, optional
3245
+ :param _content_type: force content-type for the request.
3246
+ :type _content_type: str, Optional
3247
+ :param _headers: set to override the headers for a single
3248
+ request; this effectively ignores the headers
3249
+ in the spec for a single request.
3250
+ :type _headers: dict, optional
3251
+ :param _host_index: set to override the host_index for a single
3252
+ request; this effectively ignores the host_index
3253
+ in the spec for a single request.
3254
+ :type _host_index: int, optional
3255
+ :return: Returns the result object.
3256
+ """ # noqa: E501
3257
+
3258
+ _param = self._get_org_user_detailed_serialize(
3259
+ organization_id=organization_id,
3260
+ user_id=user_id,
3261
+ _request_auth=_request_auth,
3262
+ _content_type=_content_type,
3263
+ _headers=_headers,
3264
+ _host_index=_host_index
3265
+ )
3266
+
3267
+ _response_types_map: Dict[str, Optional[str]] = {
3268
+ '200': "object",
3269
+ '422': "HTTPValidationError",
3270
+ }
3271
+ response_data = self.api_client.call_api(
3272
+ *_param,
3273
+ _request_timeout=_request_timeout
3274
+ )
3275
+ response_data.read()
3276
+ return self.api_client.response_deserialize(
3277
+ response_data=response_data,
3278
+ response_types_map=_response_types_map,
3279
+ )
3280
+
3281
+
3282
+ @validate_call
3283
+ def get_org_user_detailed_without_preload_content(
3284
+ self,
3285
+ organization_id: StrictInt,
3286
+ user_id: StrictInt,
3287
+ _request_timeout: Union[
3288
+ None,
3289
+ Annotated[StrictFloat, Field(gt=0)],
3290
+ Tuple[
3291
+ Annotated[StrictFloat, Field(gt=0)],
3292
+ Annotated[StrictFloat, Field(gt=0)]
3293
+ ]
3294
+ ] = None,
3295
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3296
+ _content_type: Optional[StrictStr] = None,
3297
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3298
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3299
+ ) -> RESTResponseType:
3300
+ """Returns the detailed information of a user
3301
+
3302
+
3303
+ :param organization_id: (required)
3304
+ :type organization_id: int
3305
+ :param user_id: (required)
3306
+ :type user_id: int
3307
+ :param _request_timeout: timeout setting for this request. If one
3308
+ number provided, it will be total request
3309
+ timeout. It can also be a pair (tuple) of
3310
+ (connection, read) timeouts.
3311
+ :type _request_timeout: int, tuple(int, int), optional
3312
+ :param _request_auth: set to override the auth_settings for an a single
3313
+ request; this effectively ignores the
3314
+ authentication in the spec for a single request.
3315
+ :type _request_auth: dict, optional
3316
+ :param _content_type: force content-type for the request.
3317
+ :type _content_type: str, Optional
3318
+ :param _headers: set to override the headers for a single
3319
+ request; this effectively ignores the headers
3320
+ in the spec for a single request.
3321
+ :type _headers: dict, optional
3322
+ :param _host_index: set to override the host_index for a single
3323
+ request; this effectively ignores the host_index
3324
+ in the spec for a single request.
3325
+ :type _host_index: int, optional
3326
+ :return: Returns the result object.
3327
+ """ # noqa: E501
3328
+
3329
+ _param = self._get_org_user_detailed_serialize(
3330
+ organization_id=organization_id,
3331
+ user_id=user_id,
3332
+ _request_auth=_request_auth,
3333
+ _content_type=_content_type,
3334
+ _headers=_headers,
3335
+ _host_index=_host_index
3336
+ )
3337
+
3338
+ _response_types_map: Dict[str, Optional[str]] = {
3339
+ '200': "object",
3340
+ '422': "HTTPValidationError",
3341
+ }
3342
+ response_data = self.api_client.call_api(
3343
+ *_param,
3344
+ _request_timeout=_request_timeout
3345
+ )
3346
+ return response_data.response
3347
+
3348
+
3349
+ def _get_org_user_detailed_serialize(
3350
+ self,
3351
+ organization_id,
3352
+ user_id,
3353
+ _request_auth,
3354
+ _content_type,
3355
+ _headers,
3356
+ _host_index,
3357
+ ) -> RequestSerialized:
3358
+
3359
+ _host = None
3360
+
3361
+ _collection_formats: Dict[str, str] = {
3362
+ }
3363
+
3364
+ _path_params: Dict[str, str] = {}
3365
+ _query_params: List[Tuple[str, str]] = []
3366
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3367
+ _form_params: List[Tuple[str, str]] = []
3368
+ _files: Dict[
3369
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3370
+ ] = {}
3371
+ _body_params: Optional[bytes] = None
3372
+
3373
+ # process the path parameters
3374
+ if organization_id is not None:
3375
+ _path_params['organization_id'] = organization_id
3376
+ if user_id is not None:
3377
+ _path_params['user_id'] = user_id
3378
+ # process the query parameters
3379
+ # process the header parameters
3380
+ # process the form parameters
3381
+ # process the body parameter
3382
+
3383
+
3384
+ # set the HTTP header `Accept`
3385
+ if 'Accept' not in _header_params:
3386
+ _header_params['Accept'] = self.api_client.select_header_accept(
3387
+ [
3388
+ 'application/json'
3389
+ ]
3390
+ )
3391
+
3392
+
3393
+ # authentication setting
3394
+ _auth_settings: List[str] = [
3395
+ 'QAnswer-Api-Key',
3396
+ 'Bearer token'
3397
+ ]
3398
+
3399
+ return self.api_client.param_serialize(
3400
+ method='GET',
3401
+ resource_path='/api/organization{organization_id}/users/{user_id}/detailed',
3402
+ path_params=_path_params,
3403
+ query_params=_query_params,
3404
+ header_params=_header_params,
3405
+ body=_body_params,
3406
+ post_params=_form_params,
3407
+ files=_files,
3408
+ auth_settings=_auth_settings,
3409
+ collection_formats=_collection_formats,
3410
+ _host=_host,
3411
+ _request_auth=_request_auth
3412
+ )
3413
+
3414
+
3415
+
3416
+
3140
3417
  @validate_call
3141
3418
  def get_organization_by_id(
3142
3419
  self,
@@ -5491,6 +5491,268 @@ class UnitUserApi:
5491
5491
 
5492
5492
 
5493
5493
 
5494
+ @validate_call
5495
+ def get_user_detailed(
5496
+ self,
5497
+ user_id: StrictInt,
5498
+ _request_timeout: Union[
5499
+ None,
5500
+ Annotated[StrictFloat, Field(gt=0)],
5501
+ Tuple[
5502
+ Annotated[StrictFloat, Field(gt=0)],
5503
+ Annotated[StrictFloat, Field(gt=0)]
5504
+ ]
5505
+ ] = None,
5506
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5507
+ _content_type: Optional[StrictStr] = None,
5508
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5509
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5510
+ ) -> object:
5511
+ """Returns the detailed information of a user
5512
+
5513
+
5514
+ :param user_id: (required)
5515
+ :type user_id: int
5516
+ :param _request_timeout: timeout setting for this request. If one
5517
+ number provided, it will be total request
5518
+ timeout. It can also be a pair (tuple) of
5519
+ (connection, read) timeouts.
5520
+ :type _request_timeout: int, tuple(int, int), optional
5521
+ :param _request_auth: set to override the auth_settings for an a single
5522
+ request; this effectively ignores the
5523
+ authentication in the spec for a single request.
5524
+ :type _request_auth: dict, optional
5525
+ :param _content_type: force content-type for the request.
5526
+ :type _content_type: str, Optional
5527
+ :param _headers: set to override the headers for a single
5528
+ request; this effectively ignores the headers
5529
+ in the spec for a single request.
5530
+ :type _headers: dict, optional
5531
+ :param _host_index: set to override the host_index for a single
5532
+ request; this effectively ignores the host_index
5533
+ in the spec for a single request.
5534
+ :type _host_index: int, optional
5535
+ :return: Returns the result object.
5536
+ """ # noqa: E501
5537
+
5538
+ _param = self._get_user_detailed_serialize(
5539
+ user_id=user_id,
5540
+ _request_auth=_request_auth,
5541
+ _content_type=_content_type,
5542
+ _headers=_headers,
5543
+ _host_index=_host_index
5544
+ )
5545
+
5546
+ _response_types_map: Dict[str, Optional[str]] = {
5547
+ '200': "object",
5548
+ '422': "HTTPValidationError",
5549
+ }
5550
+ response_data = self.api_client.call_api(
5551
+ *_param,
5552
+ _request_timeout=_request_timeout
5553
+ )
5554
+ response_data.read()
5555
+ return self.api_client.response_deserialize(
5556
+ response_data=response_data,
5557
+ response_types_map=_response_types_map,
5558
+ ).data
5559
+
5560
+
5561
+ @validate_call
5562
+ def get_user_detailed_with_http_info(
5563
+ self,
5564
+ user_id: StrictInt,
5565
+ _request_timeout: Union[
5566
+ None,
5567
+ Annotated[StrictFloat, Field(gt=0)],
5568
+ Tuple[
5569
+ Annotated[StrictFloat, Field(gt=0)],
5570
+ Annotated[StrictFloat, Field(gt=0)]
5571
+ ]
5572
+ ] = None,
5573
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5574
+ _content_type: Optional[StrictStr] = None,
5575
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5576
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5577
+ ) -> ApiResponse[object]:
5578
+ """Returns the detailed information of a user
5579
+
5580
+
5581
+ :param user_id: (required)
5582
+ :type user_id: int
5583
+ :param _request_timeout: timeout setting for this request. If one
5584
+ number provided, it will be total request
5585
+ timeout. It can also be a pair (tuple) of
5586
+ (connection, read) timeouts.
5587
+ :type _request_timeout: int, tuple(int, int), optional
5588
+ :param _request_auth: set to override the auth_settings for an a single
5589
+ request; this effectively ignores the
5590
+ authentication in the spec for a single request.
5591
+ :type _request_auth: dict, optional
5592
+ :param _content_type: force content-type for the request.
5593
+ :type _content_type: str, Optional
5594
+ :param _headers: set to override the headers for a single
5595
+ request; this effectively ignores the headers
5596
+ in the spec for a single request.
5597
+ :type _headers: dict, optional
5598
+ :param _host_index: set to override the host_index for a single
5599
+ request; this effectively ignores the host_index
5600
+ in the spec for a single request.
5601
+ :type _host_index: int, optional
5602
+ :return: Returns the result object.
5603
+ """ # noqa: E501
5604
+
5605
+ _param = self._get_user_detailed_serialize(
5606
+ user_id=user_id,
5607
+ _request_auth=_request_auth,
5608
+ _content_type=_content_type,
5609
+ _headers=_headers,
5610
+ _host_index=_host_index
5611
+ )
5612
+
5613
+ _response_types_map: Dict[str, Optional[str]] = {
5614
+ '200': "object",
5615
+ '422': "HTTPValidationError",
5616
+ }
5617
+ response_data = self.api_client.call_api(
5618
+ *_param,
5619
+ _request_timeout=_request_timeout
5620
+ )
5621
+ response_data.read()
5622
+ return self.api_client.response_deserialize(
5623
+ response_data=response_data,
5624
+ response_types_map=_response_types_map,
5625
+ )
5626
+
5627
+
5628
+ @validate_call
5629
+ def get_user_detailed_without_preload_content(
5630
+ self,
5631
+ user_id: StrictInt,
5632
+ _request_timeout: Union[
5633
+ None,
5634
+ Annotated[StrictFloat, Field(gt=0)],
5635
+ Tuple[
5636
+ Annotated[StrictFloat, Field(gt=0)],
5637
+ Annotated[StrictFloat, Field(gt=0)]
5638
+ ]
5639
+ ] = None,
5640
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
5641
+ _content_type: Optional[StrictStr] = None,
5642
+ _headers: Optional[Dict[StrictStr, Any]] = None,
5643
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
5644
+ ) -> RESTResponseType:
5645
+ """Returns the detailed information of a user
5646
+
5647
+
5648
+ :param user_id: (required)
5649
+ :type user_id: int
5650
+ :param _request_timeout: timeout setting for this request. If one
5651
+ number provided, it will be total request
5652
+ timeout. It can also be a pair (tuple) of
5653
+ (connection, read) timeouts.
5654
+ :type _request_timeout: int, tuple(int, int), optional
5655
+ :param _request_auth: set to override the auth_settings for an a single
5656
+ request; this effectively ignores the
5657
+ authentication in the spec for a single request.
5658
+ :type _request_auth: dict, optional
5659
+ :param _content_type: force content-type for the request.
5660
+ :type _content_type: str, Optional
5661
+ :param _headers: set to override the headers for a single
5662
+ request; this effectively ignores the headers
5663
+ in the spec for a single request.
5664
+ :type _headers: dict, optional
5665
+ :param _host_index: set to override the host_index for a single
5666
+ request; this effectively ignores the host_index
5667
+ in the spec for a single request.
5668
+ :type _host_index: int, optional
5669
+ :return: Returns the result object.
5670
+ """ # noqa: E501
5671
+
5672
+ _param = self._get_user_detailed_serialize(
5673
+ user_id=user_id,
5674
+ _request_auth=_request_auth,
5675
+ _content_type=_content_type,
5676
+ _headers=_headers,
5677
+ _host_index=_host_index
5678
+ )
5679
+
5680
+ _response_types_map: Dict[str, Optional[str]] = {
5681
+ '200': "object",
5682
+ '422': "HTTPValidationError",
5683
+ }
5684
+ response_data = self.api_client.call_api(
5685
+ *_param,
5686
+ _request_timeout=_request_timeout
5687
+ )
5688
+ return response_data.response
5689
+
5690
+
5691
+ def _get_user_detailed_serialize(
5692
+ self,
5693
+ user_id,
5694
+ _request_auth,
5695
+ _content_type,
5696
+ _headers,
5697
+ _host_index,
5698
+ ) -> RequestSerialized:
5699
+
5700
+ _host = None
5701
+
5702
+ _collection_formats: Dict[str, str] = {
5703
+ }
5704
+
5705
+ _path_params: Dict[str, str] = {}
5706
+ _query_params: List[Tuple[str, str]] = []
5707
+ _header_params: Dict[str, Optional[str]] = _headers or {}
5708
+ _form_params: List[Tuple[str, str]] = []
5709
+ _files: Dict[
5710
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
5711
+ ] = {}
5712
+ _body_params: Optional[bytes] = None
5713
+
5714
+ # process the path parameters
5715
+ if user_id is not None:
5716
+ _path_params['user_id'] = user_id
5717
+ # process the query parameters
5718
+ # process the header parameters
5719
+ # process the form parameters
5720
+ # process the body parameter
5721
+
5722
+
5723
+ # set the HTTP header `Accept`
5724
+ if 'Accept' not in _header_params:
5725
+ _header_params['Accept'] = self.api_client.select_header_accept(
5726
+ [
5727
+ 'application/json'
5728
+ ]
5729
+ )
5730
+
5731
+
5732
+ # authentication setting
5733
+ _auth_settings: List[str] = [
5734
+ 'QAnswer-Api-Key',
5735
+ 'Bearer token'
5736
+ ]
5737
+
5738
+ return self.api_client.param_serialize(
5739
+ method='GET',
5740
+ resource_path='/api/user/{user_id}/detailed',
5741
+ path_params=_path_params,
5742
+ query_params=_query_params,
5743
+ header_params=_header_params,
5744
+ body=_body_params,
5745
+ post_params=_form_params,
5746
+ files=_files,
5747
+ auth_settings=_auth_settings,
5748
+ collection_formats=_collection_formats,
5749
+ _host=_host,
5750
+ _request_auth=_request_auth
5751
+ )
5752
+
5753
+
5754
+
5755
+
5494
5756
  @validate_call
5495
5757
  def get_user_info(
5496
5758
  self,
qanswer_sdk/api_client.py CHANGED
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'OpenAPI-Generator/0.660.0.dev0/python'
94
+ self.user_agent = 'OpenAPI-Generator/0.689.0.dev0/python'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  def __enter__(self):
@@ -543,7 +543,7 @@ conf = qanswer_sdk.Configuration(
543
543
  "OS: {env}\n"\
544
544
  "Python Version: {pyversion}\n"\
545
545
  "Version of the API: 2.0.0\n"\
546
- "SDK Package Version: 0.660.0.dev0".\
546
+ "SDK Package Version: 0.689.0.dev0".\
547
547
  format(env=sys.platform, pyversion=sys.version)
548
548
 
549
549
  def get_host_settings(self) -> List[HostSetting]:
@@ -42,7 +42,7 @@ class ConversationMessage(BaseModel):
42
42
  contents: List[ContentItem]
43
43
  message_id: StrictStr
44
44
  parent_message_id: Optional[StrictStr] = None
45
- timestamp: Optional[StrictStr] = '2026-07-01T17:15:21Z'
45
+ timestamp: Optional[StrictStr] = '2026-07-03T15:18:54Z'
46
46
  feedback: Optional[StrictInt] = -1
47
47
  origin: Optional[StrictStr] = None
48
48
  sources: Optional[List[Source]] = Field(default=None, description="All sources referenced in the response")
@@ -191,7 +191,7 @@ class ConversationMessage(BaseModel):
191
191
  "contents": [ContentItem.from_dict(_item) for _item in obj["contents"]] if obj.get("contents") is not None else None,
192
192
  "message_id": obj.get("message_id"),
193
193
  "parent_message_id": obj.get("parent_message_id"),
194
- "timestamp": obj.get("timestamp") if obj.get("timestamp") is not None else '2026-07-01T17:15:21Z',
194
+ "timestamp": obj.get("timestamp") if obj.get("timestamp") is not None else '2026-07-03T15:18:54Z',
195
195
  "feedback": obj.get("feedback") if obj.get("feedback") is not None else -1,
196
196
  "origin": obj.get("origin"),
197
197
  "sources": [Source.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None,
@@ -49,7 +49,7 @@ class SocketConversationMessage(BaseModel):
49
49
  contents: List[ContentItem]
50
50
  message_id: StrictStr
51
51
  parent_message_id: Optional[StrictStr] = None
52
- timestamp: Optional[StrictStr] = '2026-07-01T17:15:21Z'
52
+ timestamp: Optional[StrictStr] = '2026-07-03T15:18:54Z'
53
53
  feedback: Optional[StrictInt] = -1
54
54
  origin: Optional[StrictStr] = None
55
55
  sources: Optional[List[Source]] = Field(default=None, description="All sources referenced in the response")
@@ -205,7 +205,7 @@ class SocketConversationMessage(BaseModel):
205
205
  "contents": [ContentItem.from_dict(_item) for _item in obj["contents"]] if obj.get("contents") is not None else None,
206
206
  "message_id": obj.get("message_id"),
207
207
  "parent_message_id": obj.get("parent_message_id"),
208
- "timestamp": obj.get("timestamp") if obj.get("timestamp") is not None else '2026-07-01T17:15:21Z',
208
+ "timestamp": obj.get("timestamp") if obj.get("timestamp") is not None else '2026-07-03T15:18:54Z',
209
209
  "feedback": obj.get("feedback") if obj.get("feedback") is not None else -1,
210
210
  "origin": obj.get("origin"),
211
211
  "sources": [Source.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qanswer_sdk
3
- Version: 0.660.0.dev0
3
+ Version: 0.689.0.dev0
4
4
  Summary: Official Python SDK for the QAnswer API
5
5
  Home-page:
6
6
  Author: The QA Company
@@ -229,7 +229,7 @@ print(response.answer)
229
229
  ## 📌 Versioning
230
230
 
231
231
  This SDK follows the version of the QAnswer API.
232
- The current version is: `0.660.0.dev0 (branch: main)`
232
+ The current version is: `0.689.0.dev0 (branch: main)`
233
233
 
234
234
  ---
235
235
 
@@ -1,7 +1,7 @@
1
- qanswer_sdk/__init__.py,sha256=WMwgbpVBwq9RF_-AceqM9A1DdvYwrgg1ztj_rCq3_tI,77584
2
- qanswer_sdk/api_client.py,sha256=_yAPhB2P3z3--DiH-XiakERj7iyCAl0SSynbN4cmqo4,27697
1
+ qanswer_sdk/__init__.py,sha256=rHwbqgcryB78Sg3MvzEPJ6t7ao-_zGRPqn5Z81SCz9o,77584
2
+ qanswer_sdk/api_client.py,sha256=XKbcwx6Y1Nhr6tNUVY9bebaaTw4-vf2FtDX5zTMh55E,27697
3
3
  qanswer_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- qanswer_sdk/configuration.py,sha256=MPkzQAI_ezOiGpUCh_fWWKxKyP74CRvBmM-tZUoR5ag,19304
4
+ qanswer_sdk/configuration.py,sha256=SGiCkLFlVxVVde9T34B2VCpSc-Dd045J9WcnDS1hU1g,19304
5
5
  qanswer_sdk/exceptions.py,sha256=eaj3lWJNuiAiJEwjc7WfDofDOtAvCjgq0b8DNcJMubs,6389
6
6
  qanswer_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  qanswer_sdk/rest.py,sha256=R1a7Y8ivt2-6_hXsuXFU1-XYqN07ZzzgKUhAPICah0k,9383
@@ -62,9 +62,9 @@ qanswer_sdk/api/task_text_classification_api.py,sha256=ZoDXDX9vg4uDptXMp5iob3fHp
62
62
  qanswer_sdk/api/tasks_api.py,sha256=SiEZer2mL13wSwMNRfWfEj844tr0fmny_onU6vkCi6A,1022125
63
63
  qanswer_sdk/api/tool_embedder_api.py,sha256=UTZ0cPsM7_BeFymbPnfHFON524lNBDndletBBP6LfRU,208585
64
64
  qanswer_sdk/api/tool_llm_api.py,sha256=mYpaley_mpaR2y8uJUYc7yU8D2D6FYQZs_BRGCo4qEo,238649
65
- qanswer_sdk/api/unit_organizations_api.py,sha256=XjBtTp1KnK47g-Jni_b5pn7ZMXx-Uo8IBBDVsfPW-zs,314298
65
+ qanswer_sdk/api/unit_organizations_api.py,sha256=dwBK3BoSBP2myW06FM3DJ307DWpS6PDXSWTNs7QQpR8,324787
66
66
  qanswer_sdk/api/unit_teams_api.py,sha256=wsY_H_JF9hBRuHfuJ8mUUcQPEZmQ5OJ6_DYkWYImpzs,165622
67
- qanswer_sdk/api/unit_user_api.py,sha256=hcAYLMNprrTqjVA6k-AP4yOcEMSSzT8svnB8L2fYcJc,466278
67
+ qanswer_sdk/api/unit_user_api.py,sha256=ohkH3mNkcsEZ8Waf0qJbacNOOxCaiEG3uhU_EzydQkM,476104
68
68
  qanswer_sdk/models/__init__.py,sha256=wYKmOQu0BDpxTD5p9z0vmdJ2rJrnBmkgTJ3CEQIY148,41596
69
69
  qanswer_sdk/models/access_audio_spans_response_model.py,sha256=xj57ATm0FOyLqB_NQb4coQPoZzabQ4-HJ1KkjBu75kc,2703
70
70
  qanswer_sdk/models/access_pdf_payload_model.py,sha256=g-lFQ2AA3QrfHDmtZXFFpAI6_WF92nrKW_Qt9_r2FYg,3283
@@ -191,7 +191,7 @@ qanswer_sdk/models/connector_type_list_dto.py,sha256=s2NdABUfMV8ZG7lfKLcFXmGCxzi
191
191
  qanswer_sdk/models/content_item.py,sha256=nO92IeDYPUEI2PLQY1OyFGnMsE27_rHqwvkneDD9n_I,3429
192
192
  qanswer_sdk/models/content_item_type.py,sha256=-00UKioLRe4cU9ZI88hSkETMUn57c1xhLnuzvIdEAyc,728
193
193
  qanswer_sdk/models/conversation_aggregations_request.py,sha256=-LbE_8GC6yXfS7jSmNVso6Hpz13CUhq1Jb_u_TLyDhw,3932
194
- qanswer_sdk/models/conversation_message.py,sha256=5498Yi27w98sXUidkRa_qHvvdTJ9pg0ZbZYgedU5VJE,11545
194
+ qanswer_sdk/models/conversation_message.py,sha256=CdGwngDOYvYVROTTn8ws3L2cFVvrueEPM4eLP0sw3bY,11545
195
195
  qanswer_sdk/models/conversation_message_error_key.py,sha256=zy3W1oR5U6MntGIDvWn7oNQk656_peufv6uOB_vKjI4,1370
196
196
  qanswer_sdk/models/conversation_message_search_result.py,sha256=ZRaQWVdQr1lkV-GBi8iLUKu2oiaxz1Tbj_QHc9kY8MM,4069
197
197
  qanswer_sdk/models/conversation_model.py,sha256=dYS4qc-tN2kuSXIF5-BJoE_Ipl1siX0IWsGJ_yWUjY8,6163
@@ -523,7 +523,7 @@ qanswer_sdk/models/slot_info_with_latest_version.py,sha256=cF9n3bK7zsr_3Dx7lwdtQ
523
523
  qanswer_sdk/models/slot_update.py,sha256=Qk7Dng8ptHRE7P6ufqvTtURrRpkvOha59P5z3LLMZW0,5371
524
524
  qanswer_sdk/models/socker_join_user.py,sha256=AGmLM2lMQHLeDdobsftEq88WW40QeXyd9NJ5IJ8muHs,2811
525
525
  qanswer_sdk/models/socket_audio_transcription_status.py,sha256=7RP-l2gJBzeqq-9pPYUgM_6gd_RrulBBLrgoPh8Cu5g,3744
526
- qanswer_sdk/models/socket_conversation_message.py,sha256=VLAvD0uwNg7JUJYg4JXoJALRaZq3yrEHXnsUgxD3Arc,12619
526
+ qanswer_sdk/models/socket_conversation_message.py,sha256=xe6iZDo5rGf7Tg0FUkwnM55l3rTIOr_5C-QXdE93w-s,12619
527
527
  qanswer_sdk/models/socket_dataset_reindexing_status.py,sha256=0pyUJfQFZDY3fPbPVd--xd3OiX-vzIn6acfnKbNS9QE,3653
528
528
  qanswer_sdk/models/socket_events_q_answer.py,sha256=6boOcDBp-fMWcS0VWapA-2JkoHK01pYYHPiIjoOebnA,1665
529
529
  qanswer_sdk/models/socket_feedback_evaluation_progress.py,sha256=sT7grMmkDw4-wHN7CpdnIhVQ507qVPoC5PrEvRX0NqY,4262
@@ -612,7 +612,7 @@ qanswer_sdk/models/website_connector_settings.py,sha256=v6Y-5PhOvbTqNgBIh4BlWDhv
612
612
  qanswer_sdk/models/widget_configs.py,sha256=NIR6dIdvS9HzIF6KDM0KIL45P6G7fxPrONHV_rxQXoM,3772
613
613
  qanswer_sdk/models/x_wiki_add_request.py,sha256=x9slipBe5NFnmhTk9FRGkhBs650nKX7TVmurOlYv-1U,2980
614
614
  qanswer_sdk/models/x_wiki_download_by_ids.py,sha256=8aKZf_nzblUiL6GIYo4P9fgweamqcVQf3FVMxtm_mQY,2778
615
- qanswer_sdk-0.660.0.dev0.dist-info/METADATA,sha256=xW7FSJ0JzWVrWSXTFK8pHnusdEZSaPdQ3m3xFLVr5Zc,6532
616
- qanswer_sdk-0.660.0.dev0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
617
- qanswer_sdk-0.660.0.dev0.dist-info/top_level.txt,sha256=ecFUAGubniI_ARRvzw77tYN2myIRTZ6rR834C4pIccM,12
618
- qanswer_sdk-0.660.0.dev0.dist-info/RECORD,,
615
+ qanswer_sdk-0.689.0.dev0.dist-info/METADATA,sha256=R8F5x1Phb56wAGkKyUcIqZF0i17Ib9t2YLw19kW5kSs,6532
616
+ qanswer_sdk-0.689.0.dev0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
617
+ qanswer_sdk-0.689.0.dev0.dist-info/top_level.txt,sha256=ecFUAGubniI_ARRvzw77tYN2myIRTZ6rR834C4pIccM,12
618
+ qanswer_sdk-0.689.0.dev0.dist-info/RECORD,,