unique_sdk 0.10.12__tar.gz → 0.10.13__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.
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/CHANGELOG.md +3 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/PKG-INFO +4 -1
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/pyproject.toml +1 -1
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/__init__.py +4 -0
- unique_sdk-0.10.13/unique_sdk/api_resources/_message_execution.py +164 -0
- unique_sdk-0.10.13/unique_sdk/api_resources/_message_log.py +138 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/LICENSE +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/README.md +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_api_requestor.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_api_resource.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_api_version.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_error.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_http_client.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_list_object.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_object_classes.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_request_options.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_unique_object.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_unique_ql.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_unique_response.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_util.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_version.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/_webhook.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/__init__.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_acronyms.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_agentic_table.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_chat_completion.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_content.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_embedding.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_event.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_folder.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_integrated.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_mcp.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_message.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_message_assessment.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_search.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_search_string.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_short_term_memory.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/api_resources/_space.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/utils/chat_history.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/utils/chat_in_space.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/utils/file_io.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/utils/sources.py +0 -0
- {unique_sdk-0.10.12 → unique_sdk-0.10.13}/unique_sdk/utils/token.py +0 -0
@@ -5,6 +5,9 @@ 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.10.13] - 2025-08-24
|
9
|
+
- Add functions to create, get and update a message eecution and create and update a message log.
|
10
|
+
|
8
11
|
## [0.10.12] - 2025-08-24
|
9
12
|
- Switch to using Content get info deprecated endpoint to make sure we support older release versions.
|
10
13
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_sdk
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.13
|
4
4
|
Summary:
|
5
5
|
License: MIT
|
6
6
|
Author: Martin Fadler
|
@@ -1488,6 +1488,9 @@ 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.
|
1493
|
+
|
1491
1494
|
## [0.10.12] - 2025-08-24
|
1492
1495
|
- Switch to using Content get info deprecated endpoint to make sure we support older release versions.
|
1493
1496
|
|
@@ -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
|
@@ -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
|
+
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|