projectdavid-common 0.21.3__tar.gz → 0.21.5__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.
Files changed (40) hide show
  1. {projectdavid_common-0.21.3/src/projectdavid_common.egg-info → projectdavid_common-0.21.5}/PKG-INFO +1 -1
  2. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/pyproject.toml +1 -1
  3. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/assistants_schema.py +1 -1
  4. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/runs_schema.py +0 -4
  5. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/validation.py +0 -14
  6. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5/src/projectdavid_common.egg-info}/PKG-INFO +1 -1
  7. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common.egg-info/SOURCES.txt +0 -1
  8. projectdavid_common-0.21.3/src/projectdavid_common/schemas/tools_schema.py +0 -65
  9. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/MANIFEST.in +0 -0
  10. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/README.md +0 -0
  11. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/setup.cfg +0 -0
  12. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/__init__.py +0 -0
  13. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/__init__.py +0 -0
  14. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/ai_model_map.py +0 -0
  15. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/assistant_map.py +0 -0
  16. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/mime_types.py +0 -0
  17. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/platform.py +0 -0
  18. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/timeouts.py +0 -0
  19. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/constants/tools.py +0 -0
  20. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/__init__.py +0 -0
  21. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/actions_schema.py +0 -0
  22. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/api_key_schemas.py +0 -0
  23. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/enums.py +0 -0
  24. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/files_schema.py +0 -0
  25. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/inference_schema.py +0 -0
  26. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/messages_schema.py +0 -0
  27. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/stream_schema.py +0 -0
  28. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/threads_schema.py +0 -0
  29. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/users_schema.py +0 -0
  30. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/vector_search_envelope.py +0 -0
  31. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/schemas/vectors_schema.py +0 -0
  32. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/utilities/__init__.py +0 -0
  33. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/utilities/identifier_service.py +0 -0
  34. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/utilities/logging_service.py +0 -0
  35. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common/utils.py +0 -0
  36. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common.egg-info/dependency_links.txt +0 -0
  37. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common.egg-info/entry_points.txt +0 -0
  38. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common.egg-info/requires.txt +0 -0
  39. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/src/projectdavid_common.egg-info/top_level.txt +0 -0
  40. {projectdavid_common-0.21.3 → projectdavid_common-0.21.5}/tests/test_vector_store_models.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid_common
3
- Version: 0.21.3
3
+ Version: 0.21.5
4
4
  Summary: Common shared custom packages
5
5
  Author-email: "Francis N." <francis.neequaye@projectdavid.co.uk>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "projectdavid_common"
7
- version = "0.21.3"
7
+ version = "0.21.5"
8
8
  description = "Common shared custom packages"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -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[str]] = None
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
  Metadata-Version: 2.4
2
2
  Name: projectdavid_common
3
- Version: 0.21.3
3
+ Version: 0.21.5
4
4
  Summary: Common shared custom packages
5
5
  Author-email: "Francis N." <francis.neequaye@projectdavid.co.uk>
6
6
  License: MIT
@@ -28,7 +28,6 @@ src/projectdavid_common/schemas/messages_schema.py
28
28
  src/projectdavid_common/schemas/runs_schema.py
29
29
  src/projectdavid_common/schemas/stream_schema.py
30
30
  src/projectdavid_common/schemas/threads_schema.py
31
- src/projectdavid_common/schemas/tools_schema.py
32
31
  src/projectdavid_common/schemas/users_schema.py
33
32
  src/projectdavid_common/schemas/vector_search_envelope.py
34
33
  src/projectdavid_common/schemas/vectors_schema.py
@@ -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)