projectdavid-common 0.21.3__py3-none-any.whl → 0.21.5__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.
- projectdavid_common/schemas/assistants_schema.py +1 -1
- projectdavid_common/schemas/runs_schema.py +0 -4
- projectdavid_common/validation.py +0 -14
- {projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/METADATA +1 -1
- {projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/RECORD +8 -9
- projectdavid_common/schemas/tools_schema.py +0 -65
- {projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/WHEEL +0 -0
- {projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/entry_points.txt +0 -0
- {projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/top_level.txt +0 -0
|
@@ -85,7 +85,7 @@ class AssistantUpdate(BaseModel):
|
|
|
85
85
|
response_format: Optional[str] = None
|
|
86
86
|
|
|
87
87
|
# ─── relationship IDs (lists of strings) ──
|
|
88
|
-
tools: Optional[List[
|
|
88
|
+
tools: Optional[List[dict]] = Field(None, description="OpenAI-style tool specs (dicts).")
|
|
89
89
|
users: Optional[List[str]] = None
|
|
90
90
|
vector_stores: Optional[List[str]] = None
|
|
91
91
|
|
|
@@ -9,7 +9,6 @@ from typing import Any, Dict, List, Literal, Optional
|
|
|
9
9
|
from pydantic import BaseModel, ConfigDict, Field
|
|
10
10
|
|
|
11
11
|
from projectdavid_common.schemas.actions_schema import ActionRead
|
|
12
|
-
from projectdavid_common.schemas.tools_schema import Tool, ToolRead
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
# --------------------------------------------------------------------------- #
|
|
@@ -65,7 +64,6 @@ class Run(BaseModel):
|
|
|
65
64
|
status: RunStatus
|
|
66
65
|
thread_id: str
|
|
67
66
|
tool_choice: str
|
|
68
|
-
tools: List[Tool]
|
|
69
67
|
# Accept 'auto' or None on read
|
|
70
68
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
71
69
|
usage: Optional[Any]
|
|
@@ -106,7 +104,6 @@ class RunCreate(BaseModel):
|
|
|
106
104
|
status: RunStatus = RunStatus.pending
|
|
107
105
|
thread_id: str
|
|
108
106
|
tool_choice: str = "none"
|
|
109
|
-
tools: List[Tool] = Field(default_factory=list)
|
|
110
107
|
# Optional so callers can omit and let DB default 'auto' apply
|
|
111
108
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
112
109
|
usage: Optional[Any] = None
|
|
@@ -143,7 +140,6 @@ class RunReadDetailed(BaseModel):
|
|
|
143
140
|
status: RunStatus
|
|
144
141
|
thread_id: str
|
|
145
142
|
tool_choice: Optional[str] = None
|
|
146
|
-
tools: List[ToolRead]
|
|
147
143
|
# Accept 'auto' or None on read
|
|
148
144
|
truncation_strategy: Optional[TruncationStrategy] = None
|
|
149
145
|
usage: Optional[Any] = None
|
|
@@ -53,14 +53,6 @@ from projectdavid_common.schemas.threads_schema import (
|
|
|
53
53
|
ThreadReadDetailed,
|
|
54
54
|
ThreadUpdate,
|
|
55
55
|
)
|
|
56
|
-
from projectdavid_common.schemas.tools_schema import (
|
|
57
|
-
Tool,
|
|
58
|
-
ToolCreate,
|
|
59
|
-
ToolFunction,
|
|
60
|
-
ToolList,
|
|
61
|
-
ToolRead,
|
|
62
|
-
ToolUpdate,
|
|
63
|
-
)
|
|
64
56
|
from projectdavid_common.schemas.users_schema import (
|
|
65
57
|
UserBase,
|
|
66
58
|
UserCreate,
|
|
@@ -159,12 +151,6 @@ class ValidationInterface:
|
|
|
159
151
|
ThreadDeleted = ThreadDeleted
|
|
160
152
|
|
|
161
153
|
# Tools schemas
|
|
162
|
-
ToolFunction = ToolFunction
|
|
163
|
-
Tool = Tool
|
|
164
|
-
ToolCreate = ToolCreate
|
|
165
|
-
ToolRead = ToolRead
|
|
166
|
-
ToolUpdate = ToolUpdate
|
|
167
|
-
ToolList = ToolList
|
|
168
154
|
|
|
169
155
|
# Users schemas
|
|
170
156
|
UserBase = UserBase
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
projectdavid_common/__init__.py,sha256=qGbd7vBnhtG4f3ppij8IEMbmzSDSHoIYLIEB_u5weaE,142
|
|
2
2
|
projectdavid_common/utils.py,sha256=Q-GpA6R4QbStLFxNNft_sYEA25bVzYqOcsNy8VRHrxs,657
|
|
3
|
-
projectdavid_common/validation.py,sha256=
|
|
3
|
+
projectdavid_common/validation.py,sha256=81CsNp7LeEHXKk7pdtxeHmRs6bxKqKAXlH-T1xyhIdg,5490
|
|
4
4
|
projectdavid_common/constants/__init__.py,sha256=i2JnKwAKnlH8A49bQErfbZHP-PtSdJMl3TMTnup9x1M,250
|
|
5
5
|
projectdavid_common/constants/ai_model_map.py,sha256=7Pn_r9VblbvKnmPi55NYWbttfPMHsQw0rI-f3Es6zKM,5854
|
|
6
6
|
projectdavid_common/constants/assistant_map.py,sha256=sKCC5Rxm5HnsrkzlbLystRJUOVMQQxhq4OVeFZ9p7vo,141
|
|
@@ -11,23 +11,22 @@ projectdavid_common/constants/tools.py,sha256=FOsrnmwccklDrxRP1OUr22Xx5Uswg80LFa
|
|
|
11
11
|
projectdavid_common/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
projectdavid_common/schemas/actions_schema.py,sha256=qvMQaM5AH6DGmOfRj8nuFpFrnZHDAgdExu3GAEVGTPQ,2630
|
|
13
13
|
projectdavid_common/schemas/api_key_schemas.py,sha256=PM6WOlzE-Y06v5YXLYXH5B2EmttMc8oiWbHd4Su81p4,4031
|
|
14
|
-
projectdavid_common/schemas/assistants_schema.py,sha256=
|
|
14
|
+
projectdavid_common/schemas/assistants_schema.py,sha256=Iii12EMMMbBJAWSml4VC9bXQyQhXJg-ViUIWzE-dx5k,4457
|
|
15
15
|
projectdavid_common/schemas/enums.py,sha256=pQdkz_hmfU_vcZdn4XOvcPOcQihaX_iuQIFk-yKTiaw,692
|
|
16
16
|
projectdavid_common/schemas/files_schema.py,sha256=hNMqVDRc5lsdhxyPWO79QjIpE7NKmKzdQ6hJG8L6LfA,3025
|
|
17
17
|
projectdavid_common/schemas/inference_schema.py,sha256=LPjKDCq7jBPbQCgwlM97rxO477v3vWwb6RYh4DW0KIs,228
|
|
18
18
|
projectdavid_common/schemas/messages_schema.py,sha256=4Zes5on7VJubq_02wkEkb29M3CdNPxCdMkSNS6KOyC8,3631
|
|
19
|
-
projectdavid_common/schemas/runs_schema.py,sha256=
|
|
19
|
+
projectdavid_common/schemas/runs_schema.py,sha256=BK2HHVKxv5jTvULeC8POCrk6sdSSFFiW5mV5nIlRdnU,5519
|
|
20
20
|
projectdavid_common/schemas/stream_schema.py,sha256=4CtzlQD7Jxhmww_jGNCvbspj8fe42tS7kpr_0tU7nxg,638
|
|
21
21
|
projectdavid_common/schemas/threads_schema.py,sha256=tnGGOZ52xmel2DaWiFtCbfMkEW056xI-WMt4yotmmHI,1533
|
|
22
|
-
projectdavid_common/schemas/tools_schema.py,sha256=RywLJk1a1-liPnqpf8s9IfTaMBG6uqj3YtV52H7U18g,1815
|
|
23
22
|
projectdavid_common/schemas/users_schema.py,sha256=777ul1Kg7yxqLZnEtd8rtIHXfZnUzldJx4qYS5brD14,3206
|
|
24
23
|
projectdavid_common/schemas/vector_search_envelope.py,sha256=uFctv-8lwfebzHk84_ZfDce7p3ub5h0uuZ4YXsXnZig,946
|
|
25
24
|
projectdavid_common/schemas/vectors_schema.py,sha256=KG4HSa6yVgBLe01iSdXKoU3UxRS21azbw9m-83qDQ6E,7615
|
|
26
25
|
projectdavid_common/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
26
|
projectdavid_common/utilities/identifier_service.py,sha256=7hL4_i7pGs6bibCSkXQIwpMSUCFASFE0VPm6gqMv4sk,2950
|
|
28
27
|
projectdavid_common/utilities/logging_service.py,sha256=ONKy3PRjIrxIrTJ_X3iv7v9HA0wyejyw4WrQYlJy7Oc,2614
|
|
29
|
-
projectdavid_common-0.21.
|
|
30
|
-
projectdavid_common-0.21.
|
|
31
|
-
projectdavid_common-0.21.
|
|
32
|
-
projectdavid_common-0.21.
|
|
33
|
-
projectdavid_common-0.21.
|
|
28
|
+
projectdavid_common-0.21.5.dist-info/METADATA,sha256=0NBKp0fFDeH_4QfvfMKeY9VAT_ZlmMjdXHXtYJ8Cpow,1642
|
|
29
|
+
projectdavid_common-0.21.5.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
30
|
+
projectdavid_common-0.21.5.dist-info/entry_points.txt,sha256=Y8HAIUW0ifCKcAzAqR21wu1ATHNFWWWiUB33UYv095o,74
|
|
31
|
+
projectdavid_common-0.21.5.dist-info/top_level.txt,sha256=lJ-jkZ0n0jWktoMJFcw-DzLoMTY2juuw5fgMIqYu1UU,20
|
|
32
|
+
projectdavid_common-0.21.5.dist-info/RECORD,,
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
from typing import List, Optional
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class ToolFunction(BaseModel):
|
|
7
|
-
function: Optional[dict] = Field(default=None, description="Tool function definition")
|
|
8
|
-
|
|
9
|
-
@field_validator("function", mode="before")
|
|
10
|
-
@classmethod
|
|
11
|
-
def parse_function(cls, v):
|
|
12
|
-
if isinstance(v, dict) and "name" in v and "description" in v:
|
|
13
|
-
return v
|
|
14
|
-
elif isinstance(v, dict) and "function" in v:
|
|
15
|
-
return v["function"]
|
|
16
|
-
raise ValueError("Invalid function format")
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class Tool(BaseModel):
|
|
20
|
-
id: str
|
|
21
|
-
type: str
|
|
22
|
-
name: Optional[str] = Field(default=None)
|
|
23
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
24
|
-
|
|
25
|
-
model_config = ConfigDict(from_attributes=True)
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class ToolCreate(BaseModel):
|
|
29
|
-
name: str
|
|
30
|
-
type: str
|
|
31
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
32
|
-
|
|
33
|
-
@field_validator("function", mode="before")
|
|
34
|
-
@classmethod
|
|
35
|
-
def parse_function(cls, v):
|
|
36
|
-
if isinstance(v, ToolFunction):
|
|
37
|
-
return v
|
|
38
|
-
if isinstance(v, dict) and "function" in v:
|
|
39
|
-
return ToolFunction(function=v["function"])
|
|
40
|
-
return ToolFunction(**v)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class ToolRead(Tool):
|
|
44
|
-
@field_validator("function", mode="before")
|
|
45
|
-
@classmethod
|
|
46
|
-
def parse_function(cls, v):
|
|
47
|
-
if isinstance(v, dict):
|
|
48
|
-
return ToolFunction(**v)
|
|
49
|
-
elif v is None:
|
|
50
|
-
return None
|
|
51
|
-
raise ValueError("Invalid function format")
|
|
52
|
-
|
|
53
|
-
model_config = ConfigDict(from_attributes=True)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
class ToolUpdate(BaseModel):
|
|
57
|
-
type: Optional[str] = Field(default=None)
|
|
58
|
-
name: Optional[str] = Field(default=None)
|
|
59
|
-
function: Optional[ToolFunction] = Field(default=None)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
class ToolList(BaseModel):
|
|
63
|
-
tools: List[ToolRead]
|
|
64
|
-
|
|
65
|
-
model_config = ConfigDict(from_attributes=True)
|
|
File without changes
|
{projectdavid_common-0.21.3.dist-info → projectdavid_common-0.21.5.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|