unique_sdk 0.10.19__py3-none-any.whl → 0.10.71__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.
Potentially problematic release.
This version of unique_sdk might be problematic. Click here for more details.
- unique_sdk/__init__.py +3 -0
- unique_sdk/api_resources/_agentic_table.py +33 -20
- unique_sdk/api_resources/_content.py +192 -42
- unique_sdk/api_resources/_folder.py +308 -46
- unique_sdk/api_resources/_group.py +429 -0
- unique_sdk/api_resources/_integrated.py +49 -48
- unique_sdk/api_resources/_llm_models.py +64 -0
- unique_sdk/api_resources/_mcp.py +2 -0
- unique_sdk/api_resources/_message.py +96 -3
- unique_sdk/api_resources/_message_execution.py +24 -14
- unique_sdk/api_resources/_message_log.py +46 -19
- unique_sdk/api_resources/_search_string.py +0 -1
- unique_sdk/api_resources/_space.py +387 -8
- unique_sdk/api_resources/_user.py +195 -0
- unique_sdk/utils/chat_in_space.py +30 -28
- unique_sdk/utils/file_io.py +42 -1
- unique_sdk-0.10.71.dist-info/METADATA +389 -0
- {unique_sdk-0.10.19.dist-info → unique_sdk-0.10.71.dist-info}/RECORD +20 -17
- unique_sdk-0.10.19.dist-info/METADATA +0 -1774
- {unique_sdk-0.10.19.dist-info → unique_sdk-0.10.71.dist-info}/LICENSE +0 -0
- {unique_sdk-0.10.19.dist-info → unique_sdk-0.10.71.dist-info}/WHEEL +0 -0
|
@@ -29,8 +29,10 @@ class Message(APIResource["Message"]):
|
|
|
29
29
|
|
|
30
30
|
class Reference(TypedDict):
|
|
31
31
|
name: str
|
|
32
|
+
description: Optional[str]
|
|
32
33
|
url: Optional[str]
|
|
33
34
|
sequenceNumber: int
|
|
35
|
+
originalIndex: Optional[list[int]]
|
|
34
36
|
sourceId: str
|
|
35
37
|
source: str
|
|
36
38
|
|
|
@@ -45,10 +47,14 @@ class Message(APIResource["Message"]):
|
|
|
45
47
|
|
|
46
48
|
class ModifyParams(RequestOptions):
|
|
47
49
|
chatId: str
|
|
50
|
+
originalText: NotRequired[str | None]
|
|
48
51
|
text: NotRequired[Optional["str"]]
|
|
49
|
-
references:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
references: NotRequired[List["Message.Reference"] | None]
|
|
53
|
+
gptRequest: NotRequired[Dict[str, Any] | None]
|
|
54
|
+
debugInfo: NotRequired[Dict[str, Any] | None]
|
|
55
|
+
startedStreamingAt: NotRequired[datetime | None]
|
|
56
|
+
stoppedStreamingAt: NotRequired[datetime | None]
|
|
57
|
+
completedAt: NotRequired[datetime | None]
|
|
52
58
|
|
|
53
59
|
class DeleteParams(RequestOptions):
|
|
54
60
|
chatId: str
|
|
@@ -59,11 +65,16 @@ class Message(APIResource["Message"]):
|
|
|
59
65
|
class RetrieveParams(RequestOptions):
|
|
60
66
|
chatId: str
|
|
61
67
|
|
|
68
|
+
class CreateEventParams(ModifyParams):
|
|
69
|
+
messageId: str
|
|
70
|
+
|
|
62
71
|
chatId: str
|
|
63
72
|
text: Optional[str]
|
|
64
73
|
role: Literal["SYSTEM", "USER", "ASSISTANT"]
|
|
65
74
|
gptRequest: Optional[Dict[str, Any]]
|
|
66
75
|
debugInfo: Optional[Dict[str, Any]]
|
|
76
|
+
startedStreamingAt: Optional[datetime]
|
|
77
|
+
stoppedStreamingAt: Optional[datetime]
|
|
67
78
|
|
|
68
79
|
@classmethod
|
|
69
80
|
def list(
|
|
@@ -155,6 +166,12 @@ class Message(APIResource["Message"]):
|
|
|
155
166
|
"""
|
|
156
167
|
Creates a new message object.
|
|
157
168
|
"""
|
|
169
|
+
# Clean up empty descriptions from references
|
|
170
|
+
if "references" in params and params["references"]:
|
|
171
|
+
for ref in params["references"]:
|
|
172
|
+
if "description" in ref and not ref["description"]:
|
|
173
|
+
ref.pop("description")
|
|
174
|
+
|
|
158
175
|
return cast(
|
|
159
176
|
"Message",
|
|
160
177
|
cls._static_request(
|
|
@@ -176,6 +193,12 @@ class Message(APIResource["Message"]):
|
|
|
176
193
|
"""
|
|
177
194
|
Creates a new message object.
|
|
178
195
|
"""
|
|
196
|
+
# Clean up empty descriptions from references
|
|
197
|
+
if "references" in params and params["references"]:
|
|
198
|
+
for ref in params["references"]:
|
|
199
|
+
if "description" in ref and not ref["description"]:
|
|
200
|
+
ref.pop("description")
|
|
201
|
+
|
|
179
202
|
return cast(
|
|
180
203
|
"Message",
|
|
181
204
|
await cls._static_request_async(
|
|
@@ -198,6 +221,12 @@ class Message(APIResource["Message"]):
|
|
|
198
221
|
"""
|
|
199
222
|
Updates an existing message object.
|
|
200
223
|
"""
|
|
224
|
+
# Clean up empty descriptions from references
|
|
225
|
+
if "references" in params and params["references"]:
|
|
226
|
+
for ref in params["references"]:
|
|
227
|
+
if "description" in ref and not ref["description"]:
|
|
228
|
+
ref.pop("description")
|
|
229
|
+
|
|
201
230
|
url = "%s/%s" % (cls.class_url(), quote_plus(id))
|
|
202
231
|
return cast(
|
|
203
232
|
"Message",
|
|
@@ -221,6 +250,12 @@ class Message(APIResource["Message"]):
|
|
|
221
250
|
"""
|
|
222
251
|
Updates an existing message object.
|
|
223
252
|
"""
|
|
253
|
+
# Clean up empty descriptions from references
|
|
254
|
+
if "references" in params and params["references"]:
|
|
255
|
+
for ref in params["references"]:
|
|
256
|
+
if "description" in ref and not ref["description"]:
|
|
257
|
+
ref.pop("description")
|
|
258
|
+
|
|
224
259
|
url = "%s/%s" % (cls.class_url(), quote_plus(id))
|
|
225
260
|
return cast(
|
|
226
261
|
"Message",
|
|
@@ -303,3 +338,61 @@ class Message(APIResource["Message"]):
|
|
|
303
338
|
company_id,
|
|
304
339
|
params=params,
|
|
305
340
|
)
|
|
341
|
+
|
|
342
|
+
@classmethod
|
|
343
|
+
def create_event(
|
|
344
|
+
cls,
|
|
345
|
+
user_id: str,
|
|
346
|
+
company_id: str,
|
|
347
|
+
**params: Unpack["Message.CreateEventParams"],
|
|
348
|
+
) -> "Message":
|
|
349
|
+
"""
|
|
350
|
+
Creates a new message event object.
|
|
351
|
+
"""
|
|
352
|
+
# Clean up empty descriptions from references
|
|
353
|
+
if "references" in params and params["references"]:
|
|
354
|
+
for ref in params["references"]:
|
|
355
|
+
if "description" in ref and not ref["description"]:
|
|
356
|
+
ref.pop("description")
|
|
357
|
+
|
|
358
|
+
message_id = params.get("messageId")
|
|
359
|
+
params.pop("messageId", None)
|
|
360
|
+
return cast(
|
|
361
|
+
"Message",
|
|
362
|
+
cls._static_request(
|
|
363
|
+
"post",
|
|
364
|
+
f"{cls.class_url()}/{message_id}/event",
|
|
365
|
+
user_id,
|
|
366
|
+
company_id,
|
|
367
|
+
params,
|
|
368
|
+
),
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
@classmethod
|
|
372
|
+
async def create_event_async(
|
|
373
|
+
cls,
|
|
374
|
+
user_id: str,
|
|
375
|
+
company_id: str,
|
|
376
|
+
**params: Unpack["Message.CreateEventParams"],
|
|
377
|
+
) -> "Message":
|
|
378
|
+
"""
|
|
379
|
+
Creates a new message event object.
|
|
380
|
+
"""
|
|
381
|
+
# Clean up empty descriptions from references
|
|
382
|
+
if "references" in params and params["references"]:
|
|
383
|
+
for ref in params["references"]:
|
|
384
|
+
if "description" in ref and not ref["description"]:
|
|
385
|
+
ref.pop("description")
|
|
386
|
+
|
|
387
|
+
message_id = params.get("messageId")
|
|
388
|
+
params.pop("messageId", None)
|
|
389
|
+
return cast(
|
|
390
|
+
"Message",
|
|
391
|
+
await cls._static_request_async(
|
|
392
|
+
"post",
|
|
393
|
+
f"{cls.class_url()}/{message_id}/event",
|
|
394
|
+
user_id,
|
|
395
|
+
company_id,
|
|
396
|
+
params,
|
|
397
|
+
),
|
|
398
|
+
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import ClassVar, Literal, Unpack, cast
|
|
1
|
+
from typing import ClassVar, Literal, NotRequired, Unpack, cast
|
|
2
2
|
|
|
3
3
|
from unique_sdk._api_resource import APIResource
|
|
4
4
|
from unique_sdk._request_options import RequestOptions
|
|
@@ -8,16 +8,21 @@ class MessageExecution(APIResource["MessageExecution"]):
|
|
|
8
8
|
OBJECT_NAME: ClassVar[Literal["message_execution"]] = "message_execution"
|
|
9
9
|
RESOURCE_URL = "/message-execution"
|
|
10
10
|
|
|
11
|
+
TypeLiteral = Literal["DEEP_RESEARCH"]
|
|
12
|
+
StatusLiteral = Literal["PENDING", "RUNNING", "COMPLETED", "FAILED"]
|
|
13
|
+
# Only COMPLETED and FAILED statuses are allowed for update
|
|
14
|
+
UpdateStatusLiteral = Literal["COMPLETED", "FAILED"]
|
|
15
|
+
|
|
11
16
|
class CreateMessageExecutionParams(RequestOptions):
|
|
12
17
|
"""
|
|
13
18
|
Parameters for creating a message execution.
|
|
14
19
|
"""
|
|
15
20
|
|
|
16
21
|
messageId: str
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
type: "MessageExecution.TypeLiteral"
|
|
23
|
+
isQueueable: NotRequired[bool | None]
|
|
24
|
+
executionOptions: NotRequired[dict | None]
|
|
25
|
+
progressTitle: NotRequired[str | None]
|
|
21
26
|
|
|
22
27
|
class GetMessageExecutionParams(RequestOptions):
|
|
23
28
|
"""
|
|
@@ -32,18 +37,23 @@ class MessageExecution(APIResource["MessageExecution"]):
|
|
|
32
37
|
"""
|
|
33
38
|
|
|
34
39
|
messageId: str
|
|
35
|
-
status:
|
|
36
|
-
secondsRemaining: int | None
|
|
37
|
-
percentageCompleted: int | None
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
status: NotRequired["MessageExecution.UpdateStatusLiteral | None"]
|
|
41
|
+
secondsRemaining: NotRequired[int | None]
|
|
42
|
+
percentageCompleted: NotRequired[int | None]
|
|
43
|
+
progressTitle: NotRequired[str | None]
|
|
44
|
+
|
|
45
|
+
id: str
|
|
46
|
+
messageId: str
|
|
47
|
+
status: "MessageExecution.StatusLiteral"
|
|
48
|
+
type: "MessageExecution.TypeLiteral"
|
|
43
49
|
secondsRemaining: int | None
|
|
44
50
|
percentageCompleted: int | None
|
|
51
|
+
isQueueable: bool
|
|
52
|
+
executionOptions: dict | None
|
|
53
|
+
progressTitle: str | None
|
|
54
|
+
positionInQueue: int | None
|
|
45
55
|
createdAt: str
|
|
46
|
-
updatedAt: str
|
|
56
|
+
updatedAt: str
|
|
47
57
|
|
|
48
58
|
@classmethod
|
|
49
59
|
def create(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import ClassVar, Literal, TypedDict, Unpack, cast
|
|
1
|
+
from typing import ClassVar, Literal, NotRequired, Optional, TypedDict, Unpack, cast
|
|
2
2
|
|
|
3
3
|
from unique_sdk._api_resource import APIResource
|
|
4
4
|
from unique_sdk._request_options import RequestOptions
|
|
@@ -8,11 +8,14 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
8
8
|
OBJECT_NAME: ClassVar[Literal["message_log"]] = "message_log"
|
|
9
9
|
RESOURCE_URL = "/message-log"
|
|
10
10
|
|
|
11
|
+
StatusLiteral = Literal["RUNNING", "COMPLETED", "FAILED"]
|
|
12
|
+
|
|
11
13
|
class Reference(TypedDict):
|
|
12
14
|
name: str
|
|
13
|
-
|
|
15
|
+
description: Optional[str]
|
|
16
|
+
url: Optional[str]
|
|
14
17
|
sequenceNumber: int
|
|
15
|
-
originalIndex: list[int]
|
|
18
|
+
originalIndex: Optional[list[int]]
|
|
16
19
|
sourceId: str
|
|
17
20
|
source: str
|
|
18
21
|
|
|
@@ -23,33 +26,33 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
23
26
|
|
|
24
27
|
messageId: str
|
|
25
28
|
text: str
|
|
26
|
-
status:
|
|
29
|
+
status: "MessageLog.StatusLiteral"
|
|
27
30
|
order: int
|
|
28
|
-
details: dict | None
|
|
29
|
-
uncitedReferences: dict | None
|
|
30
|
-
references: list["MessageLog.Reference"] | None
|
|
31
|
+
details: NotRequired[dict | None]
|
|
32
|
+
uncitedReferences: NotRequired[dict | None]
|
|
33
|
+
references: NotRequired[list["MessageLog.Reference"] | None]
|
|
31
34
|
|
|
32
35
|
class UpdateMessageLogParams(RequestOptions):
|
|
33
36
|
"""
|
|
34
37
|
Parameters for updating a message log.
|
|
35
38
|
"""
|
|
36
39
|
|
|
37
|
-
text: str | None
|
|
38
|
-
status:
|
|
39
|
-
order: int
|
|
40
|
-
details: dict | None
|
|
41
|
-
uncitedReferences: dict | None
|
|
42
|
-
references: list["MessageLog.Reference"] | None
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
messageId: str
|
|
46
|
-
status:
|
|
47
|
-
text: str
|
|
40
|
+
text: NotRequired[str | None]
|
|
41
|
+
status: NotRequired["MessageLog.StatusLiteral | None"]
|
|
42
|
+
order: NotRequired[int | None]
|
|
43
|
+
details: NotRequired[dict | None]
|
|
44
|
+
uncitedReferences: NotRequired[dict | None]
|
|
45
|
+
references: NotRequired[list["MessageLog.Reference"] | None]
|
|
46
|
+
|
|
47
|
+
id: str
|
|
48
|
+
messageId: str
|
|
49
|
+
status: "MessageLog.StatusLiteral"
|
|
50
|
+
text: str
|
|
48
51
|
details: dict
|
|
49
52
|
uncitedReferences: dict
|
|
50
53
|
order: int
|
|
51
54
|
createdAt: str
|
|
52
|
-
updatedAt: str
|
|
55
|
+
updatedAt: str
|
|
53
56
|
|
|
54
57
|
@classmethod
|
|
55
58
|
def create(
|
|
@@ -61,6 +64,12 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
61
64
|
"""
|
|
62
65
|
Create a MessageLog.
|
|
63
66
|
"""
|
|
67
|
+
# Clean up empty descriptions from references
|
|
68
|
+
if "references" in params and params["references"]:
|
|
69
|
+
for ref in params["references"]:
|
|
70
|
+
if "description" in ref and not ref["description"]:
|
|
71
|
+
ref.pop("description")
|
|
72
|
+
|
|
64
73
|
return cast(
|
|
65
74
|
"MessageLog",
|
|
66
75
|
cls._static_request(
|
|
@@ -82,6 +91,12 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
82
91
|
"""
|
|
83
92
|
Async create a MessageLog.
|
|
84
93
|
"""
|
|
94
|
+
# Clean up empty descriptions from references
|
|
95
|
+
if "references" in params and params["references"]:
|
|
96
|
+
for ref in params["references"]:
|
|
97
|
+
if "description" in ref and not ref["description"]:
|
|
98
|
+
ref.pop("description")
|
|
99
|
+
|
|
85
100
|
return cast(
|
|
86
101
|
"MessageLog",
|
|
87
102
|
await cls._static_request_async(
|
|
@@ -104,6 +119,12 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
104
119
|
"""
|
|
105
120
|
Update a MessageLog.
|
|
106
121
|
"""
|
|
122
|
+
# Clean up empty descriptions from references
|
|
123
|
+
if "references" in params and params["references"]:
|
|
124
|
+
for ref in params["references"]:
|
|
125
|
+
if "description" in ref and not ref["description"]:
|
|
126
|
+
ref.pop("description")
|
|
127
|
+
|
|
107
128
|
return cast(
|
|
108
129
|
"MessageLog",
|
|
109
130
|
cls._static_request(
|
|
@@ -126,6 +147,12 @@ class MessageLog(APIResource["MessageLog"]):
|
|
|
126
147
|
"""
|
|
127
148
|
Async update a MessageLog.
|
|
128
149
|
"""
|
|
150
|
+
# Clean up empty descriptions from references
|
|
151
|
+
if "references" in params and params["references"]:
|
|
152
|
+
for ref in params["references"]:
|
|
153
|
+
if "description" in ref and not ref["description"]:
|
|
154
|
+
ref.pop("description")
|
|
155
|
+
|
|
129
156
|
return cast(
|
|
130
157
|
"MessageLog",
|
|
131
158
|
await cls._static_request_async(
|