unique_toolkit 0.7.42__py3-none-any.whl → 0.8.0__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_toolkit/app/__init__.py +6 -0
- unique_toolkit/app/schemas.py +51 -0
- {unique_toolkit-0.7.42.dist-info → unique_toolkit-0.8.0.dist-info}/METADATA +5 -2
- {unique_toolkit-0.7.42.dist-info → unique_toolkit-0.8.0.dist-info}/RECORD +6 -6
- {unique_toolkit-0.7.42.dist-info → unique_toolkit-0.8.0.dist-info}/LICENSE +0 -0
- {unique_toolkit-0.7.42.dist-info → unique_toolkit-0.8.0.dist-info}/WHEEL +0 -0
unique_toolkit/app/__init__.py
CHANGED
|
@@ -41,5 +41,11 @@ from .schemas import (
|
|
|
41
41
|
from .verification import (
|
|
42
42
|
verify_signature_and_construct_event as verify_signature_and_construct_event,
|
|
43
43
|
)
|
|
44
|
+
from .schemas import (
|
|
45
|
+
McpServer as McpServer,
|
|
46
|
+
)
|
|
47
|
+
from .schemas import (
|
|
48
|
+
McpTool as McpTool,
|
|
49
|
+
)
|
|
44
50
|
|
|
45
51
|
DOMAIN_NAME = "app"
|
unique_toolkit/app/schemas.py
CHANGED
|
@@ -38,6 +38,53 @@ class BaseEvent(BaseModel):
|
|
|
38
38
|
return cls.model_validate(data)
|
|
39
39
|
|
|
40
40
|
|
|
41
|
+
###
|
|
42
|
+
# MCP schemas
|
|
43
|
+
###
|
|
44
|
+
|
|
45
|
+
class McpTool(BaseModel):
|
|
46
|
+
model_config = model_config
|
|
47
|
+
|
|
48
|
+
name: str
|
|
49
|
+
description: Optional[str] = None
|
|
50
|
+
input_schema: dict[str, Any]
|
|
51
|
+
output_schema: Optional[dict[str, Any]] = None
|
|
52
|
+
annotations: Optional[dict[str, Any]] = None
|
|
53
|
+
title: Optional[str] = Field(
|
|
54
|
+
default=None,
|
|
55
|
+
description="The display title for a tool. This is a Unique specific field.",
|
|
56
|
+
)
|
|
57
|
+
icon: Optional[str] = Field(
|
|
58
|
+
default=None,
|
|
59
|
+
description="An icon name from the Lucide icon set for the tool. This is a Unique specific field.",
|
|
60
|
+
)
|
|
61
|
+
system_prompt: Optional[str] = Field(
|
|
62
|
+
default=None,
|
|
63
|
+
description="An optional system prompt for the tool. This is a Unique specific field.",
|
|
64
|
+
)
|
|
65
|
+
user_prompt: Optional[str] = Field(
|
|
66
|
+
default=None,
|
|
67
|
+
description="An optional user prompt for the tool. This is a Unique specific field.",
|
|
68
|
+
)
|
|
69
|
+
is_connected: bool = Field(
|
|
70
|
+
description="Whether the tool is connected to the MCP server. This is a Unique specific field.",
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
class McpServer(BaseModel):
|
|
74
|
+
model_config = model_config
|
|
75
|
+
|
|
76
|
+
id: str
|
|
77
|
+
name: str
|
|
78
|
+
system_prompt: Optional[str] = Field(
|
|
79
|
+
default=None,
|
|
80
|
+
description="An optional system prompt for the MCP server.",
|
|
81
|
+
)
|
|
82
|
+
user_prompt: Optional[str] = Field(
|
|
83
|
+
default=None,
|
|
84
|
+
description="An optional user prompt for the MCP server.",
|
|
85
|
+
)
|
|
86
|
+
tools: list[McpTool] = []
|
|
87
|
+
|
|
41
88
|
###
|
|
42
89
|
# ChatEvent schemas
|
|
43
90
|
###
|
|
@@ -133,6 +180,10 @@ class ChatEventPayload(BaseModel):
|
|
|
133
180
|
default=None,
|
|
134
181
|
description="Raw UniqueQL rule that can be compiled to a metadata filter.",
|
|
135
182
|
)
|
|
183
|
+
mcp_servers: list[McpServer] = Field(
|
|
184
|
+
default_factory=list,
|
|
185
|
+
description="A list of MCP servers with tools available for the chat session.",
|
|
186
|
+
)
|
|
136
187
|
|
|
137
188
|
@field_validator("raw_scope_rules", mode="before")
|
|
138
189
|
def validate_scope_rules(cls, value: dict[str, Any] | None) -> UniqueQL | None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Martin Fadler
|
|
@@ -19,7 +19,7 @@ Requires-Dist: regex (>=2024.5.15,<2025.0.0)
|
|
|
19
19
|
Requires-Dist: sseclient (>=0.0.27,<0.0.28)
|
|
20
20
|
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
|
|
21
21
|
Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
|
|
22
|
-
Requires-Dist: unique-sdk (>=0.
|
|
22
|
+
Requires-Dist: unique-sdk (>=0.10.0,<0.11.0)
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
|
|
25
25
|
# Unique Toolkit
|
|
@@ -113,6 +113,9 @@ All notable changes to this project will be documented in this file.
|
|
|
113
113
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
114
114
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
115
115
|
|
|
116
|
+
## [0.8.0] - 2025-08-04
|
|
117
|
+
- Add MCP support
|
|
118
|
+
|
|
116
119
|
## [0.7.42] - 2025-08-01
|
|
117
120
|
- Added tool definitions
|
|
118
121
|
|
|
@@ -4,13 +4,13 @@ unique_toolkit/_common/_time_utils.py,sha256=ztmTovTvr-3w71Ns2VwXC65OKUUh-sQlzbH
|
|
|
4
4
|
unique_toolkit/_common/exception.py,sha256=caQIE1btsQnpKCHqL2cgWUSbHup06enQu_Pt7uGUTTE,727
|
|
5
5
|
unique_toolkit/_common/validate_required_values.py,sha256=Y_M1ub9gIKP9qZ45F6Zq3ZHtuIqhmOjl8Z2Vd3avg8w,588
|
|
6
6
|
unique_toolkit/_common/validators.py,sha256=l7-hWyRTZ3aF_e73oTQFZdz93s06VhNWVpkERbg2a64,1569
|
|
7
|
-
unique_toolkit/app/__init__.py,sha256=
|
|
7
|
+
unique_toolkit/app/__init__.py,sha256=Vq3RXzrWGZNC0EU9SoheKbUvr8g7Wnc5DLBVazaZBNM,1284
|
|
8
8
|
unique_toolkit/app/event_util.py,sha256=lfI64OcOXJZhh2GcVTmvE8AVc888jPWhi7l1vEzDsgs,535
|
|
9
9
|
unique_toolkit/app/init_logging.py,sha256=Sh26SRxOj8i8dzobKhYha2lLrkrMTHfB1V4jR3h23gQ,678
|
|
10
10
|
unique_toolkit/app/init_sdk.py,sha256=Nv4Now4pMfM0AgRhbtatLpm_39rKxn0WmRLwmPhRl-8,1285
|
|
11
11
|
unique_toolkit/app/performance/async_tasks.py,sha256=H0l3OAcosLwNHZ8d2pd-Di4wHIXfclEvagi5kfqLFPA,1941
|
|
12
12
|
unique_toolkit/app/performance/async_wrapper.py,sha256=yVVcRDkcdyfjsxro-N29SBvi-7773wnfDplef6-y8xw,1077
|
|
13
|
-
unique_toolkit/app/schemas.py,sha256=
|
|
13
|
+
unique_toolkit/app/schemas.py,sha256=fQJWKZVTzIFXDpwSqY0joPX2WFKBuK1HchuMp6VeGLQ,6837
|
|
14
14
|
unique_toolkit/app/sse_client.py,sha256=jtOhB2g_oE-vJBqtVuWnWyYUJYv3oOhN2U8j8wuHJ5Y,668
|
|
15
15
|
unique_toolkit/app/unique_settings.py,sha256=fi3V9Dru1G1YK7Pxju_KBGiNJHkHdx7JzpDglcvMZro,1820
|
|
16
16
|
unique_toolkit/app/verification.py,sha256=GxFFwcJMy25fCA_Xe89wKW7bgqOu8PAs5y8QpHF0GSc,3861
|
|
@@ -74,7 +74,7 @@ unique_toolkit/tools/tool_definitions.py,sha256=YYu53vXMJBeJtuSU1L_FJBsiN52LSA5L
|
|
|
74
74
|
unique_toolkit/tools/tool_definitionsV2.py,sha256=yjLmP85pFGd1QtIVMC3oLQPSQ2NckBj9hIihjIr2FZg,5728
|
|
75
75
|
unique_toolkit/tools/tool_factory.py,sha256=ux11jd7Oobb-6eBeS51T-tviH14k6HKqsKmljA7h6qA,879
|
|
76
76
|
unique_toolkit/tools/tool_progress_reporter.py,sha256=AyPdgxpd48qotJyPB8qJ7h7ghiv2w2EK8nlyqQVFRt4,8048
|
|
77
|
-
unique_toolkit-0.
|
|
78
|
-
unique_toolkit-0.
|
|
79
|
-
unique_toolkit-0.
|
|
80
|
-
unique_toolkit-0.
|
|
77
|
+
unique_toolkit-0.8.0.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
|
|
78
|
+
unique_toolkit-0.8.0.dist-info/METADATA,sha256=93SOZsJ1ZQhWJfZUFmWyXjVv8M6WPYhVa73XIymeOXo,25661
|
|
79
|
+
unique_toolkit-0.8.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
80
|
+
unique_toolkit-0.8.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|