projectdavid-common 0.20.0__tar.gz → 0.21.1__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.20.0/src/projectdavid_common.egg-info → projectdavid_common-0.21.1}/PKG-INFO +1 -1
  2. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/pyproject.toml +1 -1
  3. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/ai_model_map.py +0 -40
  4. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/actions_schema.py +15 -18
  5. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/messages_schema.py +17 -3
  6. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1/src/projectdavid_common.egg-info}/PKG-INFO +1 -1
  7. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/MANIFEST.in +0 -0
  8. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/README.md +0 -0
  9. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/setup.cfg +0 -0
  10. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/__init__.py +0 -0
  11. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/__init__.py +0 -0
  12. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/assistant_map.py +0 -0
  13. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/mime_types.py +0 -0
  14. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/platform.py +0 -0
  15. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/timeouts.py +0 -0
  16. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/constants/tools.py +0 -0
  17. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/__init__.py +0 -0
  18. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/api_key_schemas.py +0 -0
  19. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/assistants_schema.py +0 -0
  20. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/enums.py +0 -0
  21. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/files_schema.py +0 -0
  22. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/inference_schema.py +0 -0
  23. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/runs_schema.py +0 -0
  24. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/stream_schema.py +0 -0
  25. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/threads_schema.py +0 -0
  26. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/tools_schema.py +0 -0
  27. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/users_schema.py +0 -0
  28. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/vector_search_envelope.py +0 -0
  29. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/schemas/vectors_schema.py +0 -0
  30. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/utilities/__init__.py +0 -0
  31. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/utilities/identifier_service.py +0 -0
  32. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/utilities/logging_service.py +0 -0
  33. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/utils.py +0 -0
  34. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common/validation.py +0 -0
  35. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common.egg-info/SOURCES.txt +0 -0
  36. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common.egg-info/dependency_links.txt +0 -0
  37. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common.egg-info/entry_points.txt +0 -0
  38. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common.egg-info/requires.txt +0 -0
  39. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/src/projectdavid_common.egg-info/top_level.txt +0 -0
  40. {projectdavid_common-0.20.0 → projectdavid_common-0.21.1}/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.20.0
3
+ Version: 0.21.1
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.20.0"
7
+ version = "0.21.1"
8
8
  description = "Common shared custom packages"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -62,45 +62,6 @@ HYPERBOLIC_MODELS = {
62
62
  "hyperbolic/openai/gpt-oss-20b": "openai/gpt-oss-20b",
63
63
  }
64
64
 
65
- GOOGLE_GEMINI_MODELS = {
66
- "google/gemini-1.0-pro-vision-latest": "gemini-1.0-pro-vision-latest",
67
- "google/gemini-pro-vision": "gemini-pro-vision",
68
- "google/gemini-1.5-pro-latest": "gemini-1.5-pro-latest",
69
- "google/gemini-1.5-pro-001": "gemini-1.5-pro-001",
70
- "google/gemini-1.5-pro-002": "gemini-1.5-pro-002",
71
- "google/gemini-1.5-pro": "gemini-1.5-pro",
72
- "google/gemini-1.5-flash-latest": "gemini-1.5-flash-latest",
73
- "google/gemini-1.5-flash-001": "gemini-1.5-flash-001",
74
- "google/gemini-1.5-flash-001-tuning": "gemini-1.5-flash-001-tuning",
75
- "google/gemini-1.5-flash": "gemini-1.5-flash",
76
- "google/gemini-1.5-flash-002": "gemini-1.5-flash-002",
77
- "google/gemini-1.5-flash-8b": "gemini-1.5-flash-8b",
78
- "google/gemini-1.5-flash-8b-001": "gemini-1.5-flash-8b-001",
79
- "google/gemini-1.5-flash-8b-latest": "gemini-1.5-flash-8b-latest",
80
- "google/gemini-1.5-flash-8b-exp-0827": "gemini-1.5-flash-8b-exp-0827",
81
- "google/gemini-1.5-flash-8b-exp-0924": "gemini-1.5-flash-8b-exp-0924",
82
- "google/gemini-2.5-pro-exp-03-25": "gemini-2.5-pro-exp-03-25",
83
- "google/gemini-2.5-pro-preview-03-25": "gemini-2.5-pro-preview-03-25",
84
- "google/gemini-2.0-flash-exp": "gemini-2.0-flash-exp",
85
- "google/gemini-2.0-flash": "gemini-2.0-flash",
86
- "google/gemini-2.0-flash-001": "gemini-2.0-flash-001",
87
- "google/gemini-2.0-flash-exp-image-generation": "gemini-2.0-flash-exp-image-generation",
88
- "google/gemini-2.0-flash-lite-001": "gemini-2.0-flash-lite-001",
89
- "google/gemini-2.0-flash-lite": "gemini-2.0-flash-lite",
90
- "google/gemini-2.0-flash-lite-preview-02-05": "gemini-2.0-flash-lite-preview-02-05",
91
- "google/gemini-2.0-flash-lite-preview": "gemini-2.0-flash-lite-preview",
92
- "google/gemini-2.0-pro-exp": "gemini-2.0-pro-exp",
93
- "google/gemini-2.0-pro-exp-02-05": "gemini-2.0-pro-exp-02-05",
94
- "google/gemini-exp-1206": "gemini-exp-1206",
95
- "google/gemini-2.0-flash-thinking-exp-01-21": "gemini-2.0-flash-thinking-exp-01-21",
96
- "google/gemini-2.0-flash-thinking-exp": "gemini-2.0-flash-thinking-exp",
97
- "google/gemini-2.0-flash-thinking-exp-1219": "gemini-2.0-flash-thinking-exp-1219",
98
- "google/learnlm-1.5-pro-experimental": "learnlm-1.5-pro-experimental",
99
- "google/gemma-3-1b-it": "gemma-3-1b-it",
100
- "google/gemma-3-4b-it": "gemma-3-4b-it",
101
- "google/gemma-3-12b-it": "gemma-3-12b-it",
102
- "google/gemma-3-27b-it": "gemma-3-27b-it",
103
- }
104
65
 
105
66
  # --- MASTER COMBINED MAP ---
106
67
  # This merges them all into one flat lookup for the Router
@@ -108,5 +69,4 @@ MODEL_MAP = {
108
69
  **DEEPSEEK_NATIVE_MODELS,
109
70
  **TOGETHER_AI_MODELS,
110
71
  **HYPERBOLIC_MODELS,
111
- **GOOGLE_GEMINI_MODELS,
112
72
  }
@@ -1,4 +1,3 @@
1
- # src/projectdavid_common/schemas/actions_schema.py
2
1
  from datetime import datetime
3
2
  from enum import Enum
4
3
  from typing import Any, Dict, List, Optional
@@ -17,6 +16,10 @@ class ActionBase(BaseModel):
17
16
  function_args: Optional[Dict[str, Any]] = None
18
17
  result: Optional[Dict[str, Any]] = None
19
18
 
19
+ # New Fields
20
+ tool_call_id: Optional[str] = None
21
+ turn_index: Optional[int] = 0
22
+
20
23
  model_config = ConfigDict(from_attributes=True)
21
24
 
22
25
 
@@ -38,6 +41,10 @@ class ActionCreate(BaseModel):
38
41
  expires_at: Optional[datetime] = None
39
42
  status: Optional[str] = "pending"
40
43
 
44
+ # Optional input during creation (passed from Orchestrator)
45
+ tool_call_id: Optional[str] = None
46
+ turn_index: Optional[int] = 0
47
+
41
48
  @field_validator("tool_name", mode="before")
42
49
  @classmethod
43
50
  def validate_tool_fields(cls, v: Optional[str]) -> Optional[str]:
@@ -50,8 +57,8 @@ class ActionCreate(BaseModel):
50
57
  "example": {
51
58
  "tool_name": "example_tool_name",
52
59
  "run_id": "example_run_id",
53
- "function_args": {"arg1": "value1", "arg2": "value2"},
54
- "expires_at": "2024-09-10T12:00:00Z",
60
+ "tool_call_id": "call_abc123",
61
+ "function_args": {"arg1": "value1"},
55
62
  "status": "pending",
56
63
  }
57
64
  }
@@ -63,6 +70,11 @@ class ActionRead(BaseModel):
63
70
  run_id: Optional[str] = None
64
71
  tool_id: Optional[str] = None
65
72
  tool_name: Optional[str] = None
73
+
74
+ # New Fields
75
+ tool_call_id: Optional[str] = None
76
+ turn_index: Optional[int] = None
77
+
66
78
  triggered_at: Optional[str] = None
67
79
  expires_at: Optional[str] = None
68
80
  is_processed: Optional[bool] = None
@@ -74,21 +86,6 @@ class ActionRead(BaseModel):
74
86
  model_config = ConfigDict(
75
87
  extra="forbid",
76
88
  validate_assignment=True,
77
- json_schema_extra={
78
- "example": {
79
- "id": "action_123456",
80
- "run_id": "run_123456",
81
- "tool_id": "tool_123456",
82
- "tool_name": "code_interpreter",
83
- "triggered_at": "2025-03-24T12:00:00Z",
84
- "expires_at": "2025-03-24T12:05:00Z",
85
- "is_processed": False,
86
- "processed_at": "2025-03-24T12:01:00Z",
87
- "status": "in_progress",
88
- "function_args": {"param1": "value1"},
89
- "result": {"output": "result data"},
90
- }
91
- },
92
89
  )
93
90
 
94
91
 
@@ -1,4 +1,4 @@
1
- #! python
1
+ #! src/projectdavid_common/schemas/messages_schema.py
2
2
  from enum import Enum
3
3
  from typing import Any, Dict, List, Optional
4
4
 
@@ -20,6 +20,10 @@ class MessageCreate(BaseModel):
20
20
  assistant_id: str
21
21
  role: str # Using string instead of Enum to allow flexible validation
22
22
  tool_id: Optional[str] = None
23
+
24
+ # --- Agentic Tracking ---
25
+ tool_call_id: Optional[str] = None # ID of the call this message responds to
26
+
23
27
  meta_data: Optional[Dict[str, Any]] = None
24
28
  is_last_chunk: bool = False
25
29
 
@@ -48,9 +52,15 @@ class MessageCreate(BaseModel):
48
52
 
49
53
  class ToolMessageCreate(BaseModel):
50
54
  content: str
55
+ tool_call_id: Optional[str] = None
51
56
 
52
57
  model_config = ConfigDict(
53
- json_schema_extra={"example": {"content": "This is the content of the tool message."}}
58
+ json_schema_extra={
59
+ "example": {
60
+ "content": "This is the content of the tool message.",
61
+ "tool_call_id": "call_abc123",
62
+ }
63
+ }
54
64
  )
55
65
 
56
66
 
@@ -68,6 +78,10 @@ class MessageRead(BaseModel):
68
78
  role: str
69
79
  run_id: Optional[str]
70
80
  tool_id: Optional[str] = None
81
+
82
+ # --- Agentic Tracking ---
83
+ tool_call_id: Optional[str] = None
84
+
71
85
  status: Optional[str]
72
86
  thread_id: str
73
87
  sender_id: Optional[str] = None
@@ -80,6 +94,7 @@ class MessageUpdate(BaseModel):
80
94
  meta_data: Optional[Dict[str, Any]]
81
95
  status: Optional[str]
82
96
  role: Optional[str]
97
+ tool_call_id: Optional[str] = None
83
98
 
84
99
  @field_validator("role", mode="before")
85
100
  @classmethod
@@ -111,7 +126,6 @@ class MessagesList(BaseModel):
111
126
 
112
127
 
113
128
  class MessageDeleted(BaseModel):
114
-
115
129
  id: str
116
130
  object: str = "thread.message.deleted"
117
131
  deleted: bool = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: projectdavid_common
3
- Version: 0.20.0
3
+ Version: 0.21.1
4
4
  Summary: Common shared custom packages
5
5
  Author-email: "Francis N." <francis.neequaye@projectdavid.co.uk>
6
6
  License: MIT