unique_sdk 0.10.11__py3-none-any.whl → 0.10.13__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.
unique_sdk/__init__.py CHANGED
@@ -88,6 +88,10 @@ from unique_sdk.api_resources._message_assessment import (
88
88
  )
89
89
  from unique_sdk.api_resources._space import Space as Space
90
90
  from unique_sdk.api_resources._mcp import MCP as MCP
91
+ from unique_sdk.api_resources._message_execution import (
92
+ MessageExecution as MessageExecution,
93
+ )
94
+ from unique_sdk.api_resources._message_log import MessageLog as MessageLog
91
95
 
92
96
  # Unique QL
93
97
  from unique_sdk._unique_ql import UQLOperator as UQLOperator
@@ -230,7 +230,7 @@ class Content(APIResource["Content"]):
230
230
  Content.PaginatedContentInfo,
231
231
  cls._static_request(
232
232
  "post",
233
- "/content/infos",
233
+ "/content/info",
234
234
  user_id,
235
235
  company_id,
236
236
  params=params,
@@ -248,7 +248,7 @@ class Content(APIResource["Content"]):
248
248
  Content.PaginatedContentInfo,
249
249
  await cls._static_request_async(
250
250
  "post",
251
- "/content/infos",
251
+ "/content/info",
252
252
  user_id,
253
253
  company_id,
254
254
  params=params,
@@ -0,0 +1,164 @@
1
+ from typing import ClassVar, Literal, Unpack, cast
2
+
3
+ from unique_sdk._api_resource import APIResource
4
+ from unique_sdk._request_options import RequestOptions
5
+
6
+
7
+ class MessageExecution(APIResource["MessageExecution"]):
8
+ OBJECT_NAME: ClassVar[Literal["message_execution"]] = "message_execution"
9
+ RESOURCE_URL = "/message-execution"
10
+
11
+ class CreateMessageExecutionParams(RequestOptions):
12
+ """
13
+ Parameters for creating a message execution.
14
+ """
15
+
16
+ messageId: str
17
+ chatId: str
18
+ type: Literal["DEEP_RESEARCH"] = "DEEP_RESEARCH"
19
+ secondsRemaining: int | None = None
20
+ percentageCompleted: int | None = None
21
+
22
+ class GetMessageExecutionParams(RequestOptions):
23
+ """
24
+ Parameters for getting a message execution.
25
+ """
26
+
27
+ messageId: str
28
+
29
+ class UpdateMessageExecutionParams(RequestOptions):
30
+ """
31
+ Parameters for updating a message execution.
32
+ """
33
+
34
+ messageId: str
35
+ status: Literal["COMPLETED", "FAILED"]
36
+ secondsRemaining: int | None = None
37
+ percentageCompleted: int | None = None
38
+
39
+ messageExecutionId: str | None
40
+ messageId: str | None
41
+ status: Literal["PENDING", "RUNNING", "COMPLETED", "FAILED"]
42
+ type: Literal["DEEP_RESEARCH"] = "DEEP_RESEARCH"
43
+ secondsRemaining: int | None
44
+ percentageCompleted: int | None
45
+ createdAt: str
46
+ updatedAt: str | None
47
+
48
+ @classmethod
49
+ def create(
50
+ cls,
51
+ user_id: str,
52
+ company_id: str,
53
+ **params: Unpack["MessageExecution.CreateMessageExecutionParams"],
54
+ ) -> "MessageExecution":
55
+ """
56
+ Create a MessageExecution.
57
+ """
58
+ return cast(
59
+ "MessageExecution",
60
+ cls._static_request(
61
+ "post",
62
+ cls.RESOURCE_URL,
63
+ user_id,
64
+ company_id,
65
+ params=params,
66
+ ),
67
+ )
68
+
69
+ @classmethod
70
+ async def create_async(
71
+ cls,
72
+ user_id: str,
73
+ company_id: str,
74
+ **params: Unpack["MessageExecution.CreateMessageExecutionParams"],
75
+ ) -> "MessageExecution":
76
+ """
77
+ Async create a MessageExecution.
78
+ """
79
+ return cast(
80
+ "MessageExecution",
81
+ await cls._static_request_async(
82
+ "post",
83
+ cls.RESOURCE_URL,
84
+ user_id,
85
+ company_id,
86
+ params=params,
87
+ ),
88
+ )
89
+
90
+ @classmethod
91
+ def get(
92
+ cls,
93
+ user_id: str,
94
+ company_id: str,
95
+ **params: Unpack["MessageExecution.GetMessageExecutionParams"],
96
+ ) -> "MessageExecution":
97
+ """
98
+ Get a MessageExecution by its ID.
99
+ """
100
+ return cast(
101
+ "MessageExecution",
102
+ cls._static_request(
103
+ "get", cls.RESOURCE_URL, user_id, company_id, params=params
104
+ ),
105
+ )
106
+
107
+ @classmethod
108
+ async def get_async(
109
+ cls,
110
+ user_id: str,
111
+ company_id: str,
112
+ **params: Unpack["MessageExecution.GetMessageExecutionParams"],
113
+ ) -> "MessageExecution":
114
+ """
115
+ Async get a MessageExecution by its ID.
116
+ """
117
+ return cast(
118
+ "MessageExecution",
119
+ await cls._static_request_async(
120
+ "get", cls.RESOURCE_URL, user_id, company_id, params=params
121
+ ),
122
+ )
123
+
124
+ @classmethod
125
+ def update(
126
+ cls,
127
+ user_id: str,
128
+ company_id: str,
129
+ **params: Unpack["MessageExecution.UpdateMessageExecutionParams"],
130
+ ) -> "MessageExecution":
131
+ """
132
+ Update a MessageExecution.
133
+ """
134
+ return cast(
135
+ "MessageExecution",
136
+ cls._static_request(
137
+ "patch",
138
+ cls.RESOURCE_URL,
139
+ user_id,
140
+ company_id,
141
+ params=params,
142
+ ),
143
+ )
144
+
145
+ @classmethod
146
+ async def update_async(
147
+ cls,
148
+ user_id: str,
149
+ company_id: str,
150
+ **params: Unpack["MessageExecution.UpdateMessageExecutionParams"],
151
+ ) -> "MessageExecution":
152
+ """
153
+ Async update a MessageExecution.
154
+ """
155
+ return cast(
156
+ "MessageExecution",
157
+ await cls._static_request_async(
158
+ "patch",
159
+ cls.RESOURCE_URL,
160
+ user_id,
161
+ company_id,
162
+ params=params,
163
+ ),
164
+ )
@@ -0,0 +1,138 @@
1
+ from typing import ClassVar, Literal, TypedDict, Unpack, cast
2
+
3
+ from unique_sdk._api_resource import APIResource
4
+ from unique_sdk._request_options import RequestOptions
5
+
6
+
7
+ class MessageLog(APIResource["MessageLog"]):
8
+ OBJECT_NAME: ClassVar[Literal["message_log"]] = "message_log"
9
+ RESOURCE_URL = "/message-log"
10
+
11
+ class Reference(TypedDict):
12
+ name: str
13
+ url: str | None
14
+ sequenceNumber: int
15
+ originalIndex: list[int] | None
16
+ sourceId: str
17
+ source: str
18
+
19
+ class CreateMessageLogParams(RequestOptions):
20
+ """
21
+ Parameters for creating a message log.
22
+ """
23
+
24
+ messageId: str
25
+ text: str
26
+ status: Literal["RUNNING", "COMPLETED", "FAILED"]
27
+ order: int
28
+ details: dict | None
29
+ uncitedReferences: dict | None
30
+ references: list["MessageLog.Reference"] | None
31
+
32
+ class UpdateMessageLogParams(RequestOptions):
33
+ """
34
+ Parameters for updating a message log.
35
+ """
36
+
37
+ text: str | None
38
+ status: Literal["RUNNING", "COMPLETED", "FAILED"] | None
39
+ order: int
40
+ details: dict | None
41
+ uncitedReferences: dict | None
42
+ references: list["MessageLog.Reference"] | None
43
+
44
+ messageLogId: str | None
45
+ messageId: str | None
46
+ status: Literal["RUNNING", "COMPLETED", "FAILED"]
47
+ text: str | None
48
+ details: dict
49
+ uncitedReferences: dict
50
+ order: int
51
+ createdAt: str
52
+ updatedAt: str | None
53
+
54
+ @classmethod
55
+ def create(
56
+ cls,
57
+ user_id: str,
58
+ company_id: str,
59
+ **params: Unpack["MessageLog.CreateMessageLogParams"],
60
+ ) -> "MessageLog":
61
+ """
62
+ Create a MessageLog.
63
+ """
64
+ return cast(
65
+ "MessageLog",
66
+ cls._static_request(
67
+ "post",
68
+ cls.RESOURCE_URL,
69
+ user_id,
70
+ company_id,
71
+ params=params,
72
+ ),
73
+ )
74
+
75
+ @classmethod
76
+ async def create_async(
77
+ cls,
78
+ user_id: str,
79
+ company_id: str,
80
+ **params: Unpack["MessageLog.CreateMessageLogParams"],
81
+ ) -> "MessageLog":
82
+ """
83
+ Async create a MessageLog.
84
+ """
85
+ return cast(
86
+ "MessageLog",
87
+ await cls._static_request_async(
88
+ "post",
89
+ cls.RESOURCE_URL,
90
+ user_id,
91
+ company_id,
92
+ params=params,
93
+ ),
94
+ )
95
+
96
+ @classmethod
97
+ def update(
98
+ cls,
99
+ user_id: str,
100
+ company_id: str,
101
+ message_log_id: str,
102
+ **params: Unpack["MessageLog.UpdateMessageLogParams"],
103
+ ) -> "MessageLog":
104
+ """
105
+ Update a MessageLog.
106
+ """
107
+ return cast(
108
+ "MessageLog",
109
+ cls._static_request(
110
+ "patch",
111
+ f"{cls.RESOURCE_URL}/{message_log_id}",
112
+ user_id,
113
+ company_id,
114
+ params=params,
115
+ ),
116
+ )
117
+
118
+ @classmethod
119
+ async def update_async(
120
+ cls,
121
+ user_id: str,
122
+ company_id: str,
123
+ message_log_id: str,
124
+ **params: Unpack["MessageLog.UpdateMessageLogParams"],
125
+ ) -> "MessageLog":
126
+ """
127
+ Async update a MessageLog.
128
+ """
129
+ return cast(
130
+ "MessageLog",
131
+ await cls._static_request_async(
132
+ "patch",
133
+ f"{cls.RESOURCE_URL}/{message_log_id}",
134
+ user_id,
135
+ company_id,
136
+ params=params,
137
+ ),
138
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_sdk
3
- Version: 0.10.11
3
+ Version: 0.10.13
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: Martin Fadler
@@ -1488,7 +1488,11 @@ All notable changes to this project will be documented in this file.
1488
1488
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1489
1489
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1490
1490
 
1491
+ ## [0.10.13] - 2025-08-24
1492
+ - Add functions to create, get and update a message eecution and create and update a message log.
1491
1493
 
1494
+ ## [0.10.12] - 2025-08-24
1495
+ - Switch to using Content get info deprecated endpoint to make sure we support older release versions.
1492
1496
 
1493
1497
  ## [0.10.11] - 2025-08-24
1494
1498
  - Enforce usage of ruff using pipeline
@@ -1,4 +1,4 @@
1
- unique_sdk/__init__.py,sha256=kD6dQiLHr0eJKy5yzN0iRNO7N2v4n9TDv6h6DTHMzoo,3840
1
+ unique_sdk/__init__.py,sha256=iSHCv4LojvIth8YnDhlHvCH6MqeIa3ZQUMFdwj0ipyY,4017
2
2
  unique_sdk/_api_requestor.py,sha256=i4gCpzx8zP95sv-AhJfpQxKvWR0U-I6lclHyV55RPtg,14397
3
3
  unique_sdk/_api_resource.py,sha256=ytjomI-IVJwsbvdPyuZCfF-bl-Abgf66bu1D34YxCu8,6244
4
4
  unique_sdk/_api_version.py,sha256=Ku4JPdeyJtnX5eJJvRCEc1_u44UObdVrvrL1T-WwWCs,46
@@ -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=KnrfH8UFItNjnNejyWpvxBb9kABwjaxSiK9J8CPf67o,10725
20
+ unique_sdk/api_resources/_content.py,sha256=WQiNdBSE7pe9QV15NXy_kqhEHCqrjH7Xzk3eSK-456c,10723
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=rDO3rHNddvVWBhM4gaut9WN1A_hASJHiFiAS6a8MszU,9772
@@ -25,6 +25,8 @@ unique_sdk/api_resources/_integrated.py,sha256=z_DrftwjgVCi10QQqRYnG5_-95kD7Kfjo
25
25
  unique_sdk/api_resources/_mcp.py,sha256=zKh0dyn0QnkKk57N2zlGVN_GQoxEp5T2CS38vVm6jQY,3341
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
+ unique_sdk/api_resources/_message_execution.py,sha256=YzNy7l_BWs8mlEi9TlZL3D_KaecNNRpLmPLUnKeNoQ4,4425
29
+ unique_sdk/api_resources/_message_log.py,sha256=ImBz-b_WDT98NZf8W-gEP4YmjONkpCmX_iZoOjOJQwo,3541
28
30
  unique_sdk/api_resources/_search.py,sha256=GQItZKoGNOVZfkLLltBmsRZYBIreRKU0lGW8Kgpj1_Q,1959
29
31
  unique_sdk/api_resources/_search_string.py,sha256=4Idw6exgZdA8qksz9WkiA68k1hTU-7yFkgT_OLU_GkE,1662
30
32
  unique_sdk/api_resources/_short_term_memory.py,sha256=vPRN-Y0WPx74E6y-A3LocGc0TxJdzT-xGL66WzZwKRg,2820
@@ -34,7 +36,7 @@ unique_sdk/utils/chat_in_space.py,sha256=3NeBjOu7p43V_6PrjwxyaTkgknUS10KE4QRuTlF
34
36
  unique_sdk/utils/file_io.py,sha256=YY8B7VJcTLOPmCXByiOfNerXGlAtjCC5EVNmAbQJ3dQ,4306
35
37
  unique_sdk/utils/sources.py,sha256=DoxxhMLcLhmDfNarjXa41H4JD2GSSDywr71hiC-4pYc,4952
36
38
  unique_sdk/utils/token.py,sha256=AzKuAA1AwBtnvSFxGcsHLpxXr_wWE5Mj4jYBbOz2ljA,1740
37
- unique_sdk-0.10.11.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
38
- unique_sdk-0.10.11.dist-info/METADATA,sha256=EYbdt7yEtpT9fyzaBrRe4EG2hamyPMqm53Ol2glmEBM,50714
39
- unique_sdk-0.10.11.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
40
- unique_sdk-0.10.11.dist-info/RECORD,,
39
+ unique_sdk-0.10.13.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
40
+ unique_sdk-0.10.13.dist-info/METADATA,sha256=m2UzEd84j7UkS2d7kGngeeQ1cXFKM0uCUzo3ICs9r-M,50967
41
+ unique_sdk-0.10.13.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
+ unique_sdk-0.10.13.dist-info/RECORD,,