unique_sdk 0.9.19__tar.gz → 0.9.21__tar.gz

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.

Potentially problematic release.


This version of unique_sdk might be problematic. Click here for more details.

Files changed (36) hide show
  1. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/CHANGELOG.md +6 -0
  2. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/PKG-INFO +11 -3
  3. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/README.md +4 -2
  4. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/pyproject.toml +1 -1
  5. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_api_requestor.py +2 -0
  6. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_message_assessment.py +15 -13
  7. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/LICENSE +0 -0
  8. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/__init__.py +0 -0
  9. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_api_resource.py +0 -0
  10. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_api_version.py +0 -0
  11. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_error.py +0 -0
  12. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_http_client.py +0 -0
  13. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_list_object.py +0 -0
  14. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_object_classes.py +0 -0
  15. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_request_options.py +0 -0
  16. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_unique_object.py +0 -0
  17. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_unique_ql.py +0 -0
  18. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_unique_response.py +0 -0
  19. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_util.py +0 -0
  20. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_version.py +0 -0
  21. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/_webhook.py +0 -0
  22. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/__init__.py +0 -0
  23. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_acronyms.py +0 -0
  24. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_chat_completion.py +0 -0
  25. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_content.py +0 -0
  26. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_embedding.py +0 -0
  27. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_event.py +0 -0
  28. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_integrated.py +0 -0
  29. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_message.py +0 -0
  30. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_search.py +0 -0
  31. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_search_string.py +0 -0
  32. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/api_resources/_short_term_memory.py +0 -0
  33. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/utils/chat_history.py +0 -0
  34. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/utils/file_io.py +0 -0
  35. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/utils/sources.py +0 -0
  36. {unique_sdk-0.9.19 → unique_sdk-0.9.21}/unique_sdk/utils/token.py +0 -0
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.9.21] - 2025-02-21
9
+ - Add title parameter and change labels in `MessageAssessment`
10
+
11
+ ## [0.9.20] - 2025-02-01
12
+ - Add url parameter to `MessageAssessment.create_async` and `MessageAssessment.modify_async`
13
+
8
14
  ## [0.9.19] - 2025-01-31
9
15
  - Add `MessageAssessment` resource
10
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_sdk
3
- Version: 0.9.19
3
+ Version: 0.9.21
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: Martin Fadler
@@ -631,8 +631,9 @@ assessment = unique_sdk.MessageAssessment.create(
631
631
  assistant_message_id="msg_...",
632
632
  status="DONE",
633
633
  explanation="This response contains incorrect information about...",
634
- label="NEGATIVE",
634
+ label="RED",
635
635
  type="HALLUCINATION",
636
+ title="Hallucination detected",
636
637
  isVisible=True
637
638
  )
638
639
  ```
@@ -648,7 +649,8 @@ assessment = unique_sdk.MessageAssessment.modify(
648
649
  assistant_message_id="msg_...",
649
650
  status="DONE",
650
651
  explanation="Updated explanation...",
651
- label="NEGATIVE",
652
+ label="RED",
653
+ title="update title"
652
654
  type="HALLUCINATION"
653
655
  )
654
656
  ```
@@ -938,6 +940,12 @@ All notable changes to this project will be documented in this file.
938
940
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
939
941
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
940
942
 
943
+ ## [0.9.21] - 2025-02-21
944
+ - Add title parameter and change labels in `MessageAssessment`
945
+
946
+ ## [0.9.20] - 2025-02-01
947
+ - Add url parameter to `MessageAssessment.create_async` and `MessageAssessment.modify_async`
948
+
941
949
  ## [0.9.19] - 2025-01-31
942
950
  - Add `MessageAssessment` resource
943
951
 
@@ -616,8 +616,9 @@ assessment = unique_sdk.MessageAssessment.create(
616
616
  assistant_message_id="msg_...",
617
617
  status="DONE",
618
618
  explanation="This response contains incorrect information about...",
619
- label="NEGATIVE",
619
+ label="RED",
620
620
  type="HALLUCINATION",
621
+ title="Hallucination detected",
621
622
  isVisible=True
622
623
  )
623
624
  ```
@@ -633,7 +634,8 @@ assessment = unique_sdk.MessageAssessment.modify(
633
634
  assistant_message_id="msg_...",
634
635
  status="DONE",
635
636
  explanation="Updated explanation...",
636
- label="NEGATIVE",
637
+ label="RED",
638
+ title="update title"
637
639
  type="HALLUCINATION"
638
640
  )
639
641
  ```
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_sdk"
3
- version = "0.9.19"
3
+ version = "0.9.21"
4
4
  description = ""
5
5
  authors = [
6
6
  "Martin Fadler <martin.fadler@unique.ch>",
@@ -376,6 +376,8 @@ class APIRequestor(object):
376
376
 
377
377
  def specific_api_error(self, rbody, rcode, resp, rheaders, error_data):
378
378
  cause = error_data.get("cause", {})
379
+ if isinstance(cause, str):
380
+ cause = {"error": {"message": cause}, "status": rcode}
379
381
  status = cause.get("status", rcode)
380
382
 
381
383
  _util.log_info(
@@ -13,19 +13,21 @@ class MessageAssessment(APIResource["MessageAssessment"]):
13
13
  RESOURCE_URL = "/message-assessment"
14
14
 
15
15
  class CreateParams(RequestOptions):
16
- assistant_message_id: str
16
+ messageId: str
17
17
  status: Literal["PENDING", "DONE", "ERROR"]
18
- explanation: str
19
- label: Literal["POSITIVE", "NEGATIVE", "VERIFIED", "UNVERIFIED"]
20
18
  type: Literal["HALLUCINATION", "COMPLIANCE"]
21
19
  isVisible: bool
20
+ title: str | None
21
+ explanation: str | None
22
+ label: Literal["RED", "YELLOW", "GREEN"] | None
22
23
 
23
24
  class ModifyParams(RequestOptions):
24
- assistant_message_id: str
25
- status: Literal["PENDING", "DONE", "ERROR"]
26
- explanation: str
27
- label: Literal["POSITIVE", "NEGATIVE", "VERIFIED", "UNVERIFIED"]
25
+ messageId: str
28
26
  type: Literal["HALLUCINATION", "COMPLIANCE"]
27
+ status: Literal["PENDING", "DONE", "ERROR"] | None
28
+ title: str | None
29
+ explanation: str | None
30
+ label: Literal["RED", "YELLOW", "GREEN"] | None
29
31
 
30
32
  @classmethod
31
33
  def create(
@@ -45,7 +47,7 @@ class MessageAssessment(APIResource["MessageAssessment"]):
45
47
  company_id: str,
46
48
  **params: Unpack["MessageAssessment.CreateParams"],
47
49
  ) -> "MessageAssessment":
48
- return cls._static_request_async(
50
+ return await cls._static_request_async(
49
51
  "post", cls.RESOURCE_URL, user_id, company_id, params=params
50
52
  )
51
53
 
@@ -56,9 +58,8 @@ class MessageAssessment(APIResource["MessageAssessment"]):
56
58
  company_id: str,
57
59
  **params: Unpack["MessageAssessment.ModifyParams"],
58
60
  ) -> "MessageAssessment":
59
- return cls._static_request(
60
- "patch", cls.RESOURCE_URL, user_id, company_id, params=params
61
- )
61
+ url = f"{cls.RESOURCE_URL}/{params['messageId']}"
62
+ return cls._static_request("patch", url, user_id, company_id, params=params)
62
63
 
63
64
  @classmethod
64
65
  async def modify_async(
@@ -67,6 +68,7 @@ class MessageAssessment(APIResource["MessageAssessment"]):
67
68
  company_id: str,
68
69
  **params: Unpack["MessageAssessment.ModifyParams"],
69
70
  ) -> "MessageAssessment":
70
- return cls._static_request_async(
71
- "patch", cls.RESOURCE_URL, user_id, company_id, params=params
71
+ url = f"{cls.RESOURCE_URL}/{params['messageId']}"
72
+ return await cls._static_request_async(
73
+ "patch", url, user_id, company_id, params=params
72
74
  )
File without changes