unique_toolkit 0.7.42__py3-none-any.whl → 0.8.1__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.
@@ -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"
@@ -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.7.42
3
+ Version: 0.8.1
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.9.40,<0.10.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,12 @@ 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.1] - 2025-08-05
117
+ - Bump SDK version to support the latest features.
118
+
119
+ ## [0.8.0] - 2025-08-04
120
+ - Add MCP support
121
+
116
122
  ## [0.7.42] - 2025-08-01
117
123
  - Added tool definitions
118
124
 
@@ -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=jgwWfu27U911kZE1yRq920ZULGLAQGycD3222YxUvsY,1182
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=cRh5Ye077MqERIK2OKj86wMVhzpkGJ37gEAaan1agyY,5223
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.7.42.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
78
- unique_toolkit-0.7.42.dist-info/METADATA,sha256=k8Y-jEXJg9MGNXVzPkS1-nmaJC_BQPt-4cmcHJNEz0Q,25619
79
- unique_toolkit-0.7.42.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
- unique_toolkit-0.7.42.dist-info/RECORD,,
77
+ unique_toolkit-0.8.1.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
78
+ unique_toolkit-0.8.1.dist-info/METADATA,sha256=mCMbEXB_uaZEQfGplkJMktiMDO45l5QZ2ZfiSlSYY9g,25737
79
+ unique_toolkit-0.8.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
+ unique_toolkit-0.8.1.dist-info/RECORD,,