unique_sdk 0.10.29__py3-none-any.whl → 0.10.31__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.
@@ -86,6 +86,19 @@ class Content(APIResource["Content"]):
86
86
  skip: NotRequired[int | None]
87
87
  take: NotRequired[int | None]
88
88
  filePath: NotRequired[str | None]
89
+ contentId: NotRequired[str | None]
90
+ chatId: NotRequired[str | None]
91
+
92
+ class ContentInfosParams(TypedDict):
93
+ """
94
+ Parameters for the content infos endpoint.
95
+ This is used to retrieve information about contents based on various filters.
96
+ """
97
+
98
+ metadataFilter: NotRequired[dict[str, Any] | None]
99
+ skip: NotRequired[int | None]
100
+ take: NotRequired[int | None]
101
+ parentId: NotRequired[str | None]
89
102
 
90
103
  class CustomApiOptions(TypedDict):
91
104
  apiIdentifier: str
@@ -293,7 +306,7 @@ class Content(APIResource["Content"]):
293
306
  cls,
294
307
  user_id: str,
295
308
  company_id: str,
296
- **params: Unpack["Content.ContentInfoParams"],
309
+ **params: Unpack["Content.ContentInfosParams"],
297
310
  ) -> "Content.PaginatedContentInfos":
298
311
  return cast(
299
312
  Content.PaginatedContentInfos,
@@ -311,7 +324,7 @@ class Content(APIResource["Content"]):
311
324
  cls,
312
325
  user_id: str,
313
326
  company_id: str,
314
- **params: Unpack["Content.ContentInfoParams"],
327
+ **params: Unpack["Content.ContentInfosParams"],
315
328
  ) -> "Content.PaginatedContentInfos":
316
329
  return cast(
317
330
  Content.PaginatedContentInfos,
@@ -36,7 +36,7 @@ class MessageLog(APIResource["MessageLog"]):
36
36
 
37
37
  text: NotRequired[str | None]
38
38
  status: NotRequired[Literal["RUNNING", "COMPLETED", "FAILED"] | None]
39
- order: int
39
+ order: NotRequired[int | None]
40
40
  details: NotRequired[dict | None]
41
41
  uncitedReferences: NotRequired[dict | None]
42
42
  references: NotRequired[list["MessageLog.Reference"] | None]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_sdk
3
- Version: 0.10.29
3
+ Version: 0.10.31
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: Martin Fadler
@@ -18,9 +18,9 @@ Description-Content-Type: text/markdown
18
18
 
19
19
  # Unique Python SDK
20
20
 
21
- Unique Unique AI is a tailored solution for the financial industry, designed to increase productivity by automating manual workloads through AI and ChatGPT solutions.
21
+ Unique AI is a tailored solution for the financial industry, designed to increase productivity by automating manual workloads through AI and ChatGPT solutions.
22
22
 
23
- The Unique Python SDK provides access to the public API of Unique Unique AI. It also enables verification of Webhook signatures to ensure the authenticity of incoming Webhook requests.
23
+ The Unique Python SDK provides access to the public API of Unique AI. It also enables verification of Webhook signatures to ensure the authenticity of incoming Webhook requests.
24
24
 
25
25
  ## Table of Contents
26
26
 
@@ -31,6 +31,8 @@ The Unique Python SDK provides access to the public API of Unique Unique AI. It
31
31
  5. [Available API Resources](#available-api-resources)
32
32
  - [Content](#content)
33
33
  - [Message](#message)
34
+ - [Message Log](#message-log)
35
+ - [Message Execution](#message-execution)
34
36
  - [Chat Completion](#chat-completion)
35
37
  - [Embeddings](#embeddings)
36
38
  - [Acronyms](#acronyms)
@@ -226,7 +228,7 @@ This trigger can be used in combination with assistants marked as `external`. Th
226
228
  }
227
229
  ```
228
230
 
229
- This Webhook is triggered when the Unique Unique AI AI selects an external module as the best response to a user message. The module must be marked as `external` and available for the assistant used in the chat to be selected by the AI.
231
+ This Webhook is triggered when the Unique AI selects an external module as the best response to a user message. The module must be marked as `external` and available for the assistant used in the chat to be selected by the AI.
230
232
 
231
233
  Unique's UI will create an empty `assistantMessage` below the user message and update this message with status updates.
232
234
 
@@ -246,6 +248,8 @@ unique_sdk.Message.modify(
246
248
 
247
249
  - [Content](#content)
248
250
  - [Message](#message)
251
+ - [Message Log](#message-log)
252
+ - [Message Execution](#message-execution)
249
253
  - [Chat Completion](#chat-completion)
250
254
  - [Embeddings](#embeddings)
251
255
  - [Acronyms](#acronyms)
@@ -573,7 +577,7 @@ Move the file to a different folder. This can be done by specifying either the `
573
577
  - `parentFolderPath` optional, allows moving the file to a different folder. Represents the path new folder for the file.
574
578
 
575
579
  Metadata update:
576
- - `metadata` optional, allows updating the metadata of the file. Default metadata can not be ovrriden. (Available with release >.40)
580
+ - `metadata` optional, allows updating the metadata of the file. Default metadata can not be overridden. (Available with release >.40)
577
581
 
578
582
  Example of updating the title of a file specified by its path.
579
583
 
@@ -817,11 +821,94 @@ unique_sdk.Integrated.responses_stream(
817
821
 
818
822
  **Warning:** Currently, the deletion of a chat message does not automatically sync with the user UI. Users must refresh the chat page to view the updated state. This issue will be addressed in a future update of our API.
819
823
 
824
+ ### Message Log
825
+
826
+ #### `unique_sdk.MessageLog.create`
827
+
828
+ Create a message log for a provided `messageId`.
829
+
830
+ ```python
831
+ msg_log = unique_sdk.MessageLog.create(
832
+ user_id=user_id,
833
+ company_id=company_id,
834
+ messageId="msg_a0jgnt1jrqv1d3uzr450waxw",
835
+ text="Create message log text",
836
+ order=1,
837
+ status="RUNNING", # one of "RUNNING", "COMPLETED", "FAILED"
838
+ details=None, # optional, details dictionary
839
+ uncitedReferences=None, # optional, references dictionary
840
+ references=None, # optional, list of references
841
+ )
842
+ ```
843
+
844
+ #### `unique_sdk.MessageLog.update`
845
+
846
+ Update a message log for a provided `messageId`.
847
+
848
+ ```python
849
+ msg_log = unique_sdk.MessageLog.update(
850
+ user_id=user_id,
851
+ company_id=company_id,
852
+ message_log_id="message_log_fd7z7gjljo1z2wu5g6l9q7r9",
853
+ text="Update a message log text", # optional
854
+ order=1, # optional
855
+ status="RUNNING", # one of "RUNNING", "COMPLETED", "FAILED"
856
+ details=None, # optional, details dictionary
857
+ uncitedReferences=None, # optional, references dictionary
858
+ references=None,
859
+ )
860
+ ```
861
+
862
+ ### Message Execution
863
+
864
+ #### `unique_sdk.MessageExecution.create`
865
+
866
+ Create a message execution for a provided `messageId` and `chatId`.
867
+
868
+ ```python
869
+ msg_execution = unique_sdk.MessageExecution.create(
870
+ user_id=user_id,
871
+ company_id=company_id,
872
+ messageId="msg_a0jgnt1jrqv143uzr750waxw",
873
+ chatId="chat_nx21havszl1skchd7544oykh",
874
+ type="DEEP_RESEARCH"
875
+ secondsRemaining=None # optional, number defining the seconds remaining
876
+ percentageCompleted=None # optional, number defining the percentage completed
877
+ )
878
+ ```
879
+
880
+ #### `unique_sdk.MessageExecution.get`
881
+
882
+ Get a message execution for a provided `messageId`.
883
+
884
+ ```python
885
+ msg_execution = unique_sdk.MessageExecution.get(
886
+ user_id=user_id,
887
+ company_id=company_id,
888
+ messageId="msg_a0jgnt1jrqv143uzr750waxw",
889
+ )
890
+ ```
891
+
892
+ #### `unique_sdk.MessageExecution.update`
893
+
894
+ Update a message execution for a provided `messageId`.
895
+
896
+ ```python
897
+ msg_execution = unique_sdk.MessageExecution.update(
898
+ user_id=user_id,
899
+ company_id=company_id,
900
+ messageId="msg_a0jgnt1jrqv143uzr750waxw",
901
+ status="COMPLETED", # one of: COMPLETED, FAILED
902
+ secondsRemaining=55 # optional, number defining the seconds remaining
903
+ percentageCompleted=10 # optional, number defining the percentage completed
904
+ )
905
+ ```
906
+
820
907
  ### Chat Completion
821
908
 
822
909
  #### `unique_sdk.ChatCompletion.create`
823
910
 
824
- Send a prompt to an AI model supported by Unique Unique AI and receive a result. The `messages` attribute must follow the [OpenAI API format](https://platform.openai.com/docs/api-reference/chat).
911
+ Send a prompt to an AI model supported by Unique AI and receive a result. The `messages` attribute must follow the [OpenAI API format](https://platform.openai.com/docs/api-reference/chat).
825
912
 
826
913
  ```python
827
914
  chat_completion = unique_sdk.ChatCompletion.create(
@@ -871,7 +958,7 @@ print(result)
871
958
 
872
959
  #### `unique_sdk.Search.create`
873
960
 
874
- Search the Unique Unique AI Knowledge database for RAG (Retrieval-Augmented Generation). The API supports vector search and a `searchType` that combines vector and full-text search, enhancing the precision of search results.
961
+ Search the Unique AI Knowledge database for RAG (Retrieval-Augmented Generation). The API supports vector search and a `searchType` that combines vector and full-text search, enhancing the precision of search results.
875
962
 
876
963
  These are the options are available for `searchType`:
877
964
 
@@ -1662,6 +1749,12 @@ All notable changes to this project will be documented in this file.
1662
1749
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1663
1750
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1664
1751
 
1752
+ ## [0.10.31] - 2025-10-13
1753
+ - Add readme for message log and execution.
1754
+
1755
+ ## [0.10.30] - 2025-10-07
1756
+ - Improve types for content get infos.
1757
+
1665
1758
  ## [0.10.29] - 2025-10-06
1666
1759
  - Switch default model used from `GPT-3.5-turbo (0125)` to `GPT-4o (1120)`
1667
1760
 
@@ -17,7 +17,7 @@ unique_sdk/api_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
17
17
  unique_sdk/api_resources/_acronyms.py,sha256=GIU1XH1flGWQYcpsFqTYwg4ioIGxVmb15tux84nmhEg,891
18
18
  unique_sdk/api_resources/_agentic_table.py,sha256=8-_f7t-m_iiiOj2835iESoxz91YRxl4-tkxpzQbgdcI,9958
19
19
  unique_sdk/api_resources/_chat_completion.py,sha256=ILCAffxkbkfh2iV9L4KKnfe80gZmT9pWfkNmf3mq68U,2172
20
- unique_sdk/api_resources/_content.py,sha256=XKIm5F6MnFGa0B8aTc4okFfBtAJAqtUmKB8-1tXLmrM,16651
20
+ unique_sdk/api_resources/_content.py,sha256=brgl1dqbOTpRK_Q-hj6j2m4mJ66qhcjSZOWgmpup_eQ,17117
21
21
  unique_sdk/api_resources/_embedding.py,sha256=C6qak7cCUBMBINfPhgH8taCJZ9n6w1MUElqDJJ8dG10,1281
22
22
  unique_sdk/api_resources/_event.py,sha256=bpWF9vstdoAWbUzr-iiGP713ceP0zPk77GJXiImf9zg,374
23
23
  unique_sdk/api_resources/_folder.py,sha256=mEKN3llhgi2Zyg-aVyz_LUU55V5ZGOKhgKytlyxBVF8,15679
@@ -26,7 +26,7 @@ unique_sdk/api_resources/_mcp.py,sha256=zKh0dyn0QnkKk57N2zlGVN_GQoxEp5T2CS38vVm6
26
26
  unique_sdk/api_resources/_message.py,sha256=gEDIzg3METZU2k7m69meAuf0IWmZxnYOjbBKPRMwPYE,7688
27
27
  unique_sdk/api_resources/_message_assessment.py,sha256=SSfx6eW7zb_GKe8cFJzCqW-t-_eWEXxKP5cnIb0DhIc,2276
28
28
  unique_sdk/api_resources/_message_execution.py,sha256=qQH9NS8sdWLr55Yzc8pvPpYdfpewtSh6fy2alJjEoZk,4444
29
- unique_sdk/api_resources/_message_log.py,sha256=gV8hhzR_fgS28Ofpir6BjzuSyH6hXZgm8Pt3u0Onv2M,3658
29
+ unique_sdk/api_resources/_message_log.py,sha256=-R8f_WDv7ug5PU4OPktlRlvKEPwsYPtfhf2oAc7zdww,3678
30
30
  unique_sdk/api_resources/_search.py,sha256=GQItZKoGNOVZfkLLltBmsRZYBIreRKU0lGW8Kgpj1_Q,1959
31
31
  unique_sdk/api_resources/_search_string.py,sha256=LZz2_QPZXV1NXucRR06dnDC2miK7J8XBY7dXX2xoDY4,1610
32
32
  unique_sdk/api_resources/_short_term_memory.py,sha256=vPRN-Y0WPx74E6y-A3LocGc0TxJdzT-xGL66WzZwKRg,2820
@@ -36,7 +36,7 @@ unique_sdk/utils/chat_in_space.py,sha256=cdjETBLnjv-OE8qsQpm626ks5yBdfQG_KBeG0WI
36
36
  unique_sdk/utils/file_io.py,sha256=sJS-dJLjogG65mLukDO9pGDpKVTP4LhIgiZASnCvjNI,4330
37
37
  unique_sdk/utils/sources.py,sha256=DoxxhMLcLhmDfNarjXa41H4JD2GSSDywr71hiC-4pYc,4952
38
38
  unique_sdk/utils/token.py,sha256=AzKuAA1AwBtnvSFxGcsHLpxXr_wWE5Mj4jYBbOz2ljA,1740
39
- unique_sdk-0.10.29.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
40
- unique_sdk-0.10.29.dist-info/METADATA,sha256=r3qX4jguspyysAKlven1OVWN7GEwvI_JjO9iyiu9OAE,57969
41
- unique_sdk-0.10.29.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
- unique_sdk-0.10.29.dist-info/RECORD,,
39
+ unique_sdk-0.10.31.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
40
+ unique_sdk-0.10.31.dist-info/METADATA,sha256=7iQ373jDw7EOVisMDJfLbbC-88u52MkElCwkyETZC7s,60911
41
+ unique_sdk-0.10.31.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
+ unique_sdk-0.10.31.dist-info/RECORD,,