solace-agent-mesh 1.4.12__py3-none-any.whl → 1.5.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.
Potentially problematic release.
This version of solace-agent-mesh might be problematic. Click here for more details.
- solace_agent_mesh/agent/adk/adk_llm.txt +3 -4
- solace_agent_mesh/agent/adk/adk_llm_detail.txt +566 -0
- solace_agent_mesh/agent/adk/artifacts/artifacts_llm.txt +1 -1
- solace_agent_mesh/agent/adk/callbacks.py +51 -2
- solace_agent_mesh/agent/adk/models/lite_llm.py +1 -0
- solace_agent_mesh/agent/adk/models/models_llm.txt +1 -2
- solace_agent_mesh/agent/agent_llm.txt +1 -1
- solace_agent_mesh/agent/agent_llm_detail.txt +1702 -0
- solace_agent_mesh/agent/protocol/event_handlers.py +2 -13
- solace_agent_mesh/agent/protocol/protocol_llm.txt +15 -2
- solace_agent_mesh/agent/protocol/protocol_llm_detail.txt +92 -0
- solace_agent_mesh/agent/sac/component.py +51 -21
- solace_agent_mesh/agent/sac/sac_llm.txt +15 -1
- solace_agent_mesh/agent/sac/sac_llm_detail.txt +200 -0
- solace_agent_mesh/agent/sac/task_execution_context.py +73 -0
- solace_agent_mesh/agent/testing/testing_llm_detail.txt +68 -0
- solace_agent_mesh/agent/tools/tools_llm.txt +148 -154
- solace_agent_mesh/agent/tools/tools_llm_detail.txt +274 -0
- solace_agent_mesh/agent/utils/utils_llm.txt +1 -1
- solace_agent_mesh/agent/utils/utils_llm_detail.txt +149 -0
- solace_agent_mesh/assets/docs/404.html +3 -3
- solace_agent_mesh/assets/docs/assets/js/483cef9a.bf9398af.js +1 -0
- solace_agent_mesh/assets/docs/assets/js/{main.f67fc9f4.js → main.0c149855.js} +2 -2
- solace_agent_mesh/assets/docs/assets/js/{runtime~main.40527046.js → runtime~main.c66557e4.js} +1 -1
- solace_agent_mesh/assets/docs/docs/documentation/Enterprise/installation/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/Enterprise/rbac-setup-guilde/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/Enterprise/single-sign-on/index.html +8 -4
- solace_agent_mesh/assets/docs/docs/documentation/Migrations/A2A Upgrade To 0.3.0/a2a-gateway-upgrade-to-0.3.0/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/Migrations/A2A Upgrade To 0.3.0/a2a-technical-migration-map/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/agents/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/architecture/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/cli/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/gateways/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/orchestrator/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/concepts/plugins/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/debugging/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/deploy/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/deployment/observability/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/component-overview/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/configurations/litellm_models/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/installation/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/introduction/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/getting-started/quick-start/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/bedrock-agents/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/custom-agent/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/event-mesh-gateway/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mcp-integration/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/mongodb-integration/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rag-integration/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/rest-gateway/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/slack-integration/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/tutorials/sql-database/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/artifact-management/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/audio-tools/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/data-analysis-tools/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/embeds/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/builtin-tools/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-agents/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/create-gateways/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-python-tools/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/creating-service-providers/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/solace-ai-connector/index.html +3 -3
- solace_agent_mesh/assets/docs/docs/documentation/user-guide/structure/index.html +3 -3
- solace_agent_mesh/assets/docs/lunr-index-1760032255022.json +1 -0
- solace_agent_mesh/assets/docs/lunr-index.json +1 -1
- solace_agent_mesh/assets/docs/search-doc-1760032255022.json +1 -0
- solace_agent_mesh/assets/docs/search-doc.json +1 -1
- solace_agent_mesh/cli/__init__.py +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/{authCallback-j1LW-wlq.js → authCallback-DwrxZE0E.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/{client-B9p_nFNA.js → client-DarGQzyw.js} +1 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-CZbpmwfA.css +1 -0
- solace_agent_mesh/client/webui/frontend/static/assets/main-C__uuUkB.js +339 -0
- solace_agent_mesh/client/webui/frontend/static/assets/{vendor-CS5YMf8a.js → vendor-BKIeiHj_.js} +80 -70
- solace_agent_mesh/client/webui/frontend/static/auth-callback.html +3 -3
- solace_agent_mesh/client/webui/frontend/static/index.html +4 -4
- solace_agent_mesh/common/a2a/a2a_llm.txt +1 -1
- solace_agent_mesh/common/a2a/a2a_llm_detail.txt +193 -0
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm.txt +1 -1
- solace_agent_mesh/common/a2a_spec/a2a_spec_llm_detail.txt +736 -0
- solace_agent_mesh/common/a2a_spec/schemas/llm_invocation.json +23 -0
- solace_agent_mesh/common/a2a_spec/schemas/schemas_llm.txt +93 -15
- solace_agent_mesh/common/a2a_spec/schemas/tool_result.json +23 -0
- solace_agent_mesh/common/common_llm.txt +24 -39
- solace_agent_mesh/common/common_llm_detail.txt +2562 -0
- solace_agent_mesh/common/data_parts.py +9 -1
- solace_agent_mesh/common/middleware/middleware_llm_detail.txt +185 -0
- solace_agent_mesh/common/sac/sac_llm.txt +1 -1
- solace_agent_mesh/common/sac/sac_llm_detail.txt +82 -0
- solace_agent_mesh/common/sam_events/sam_events_llm.txt +104 -0
- solace_agent_mesh/common/sam_events/sam_events_llm_detail.txt +115 -0
- solace_agent_mesh/common/services/services_llm.txt +57 -6
- solace_agent_mesh/common/services/services_llm_detail.txt +459 -0
- solace_agent_mesh/common/utils/embeds/embeds_llm.txt +1 -1
- solace_agent_mesh/common/utils/utils_llm.txt +75 -87
- solace_agent_mesh/common/utils/utils_llm_detail.txt +572 -0
- solace_agent_mesh/core_a2a/core_a2a_llm_detail.txt +101 -0
- solace_agent_mesh/gateway/base/app.py +1 -1
- solace_agent_mesh/gateway/base/base_llm.txt +1 -1
- solace_agent_mesh/gateway/base/base_llm_detail.txt +235 -0
- solace_agent_mesh/gateway/gateway_llm.txt +242 -235
- solace_agent_mesh/gateway/gateway_llm_detail.txt +3885 -0
- solace_agent_mesh/gateway/http_sse/alembic/alembic_llm.txt +295 -0
- solace_agent_mesh/gateway/http_sse/alembic/env.py +10 -1
- solace_agent_mesh/gateway/http_sse/alembic/versions/20251006_98882922fa59_add_tasks_events_feedback_chat_tasks.py +190 -0
- solace_agent_mesh/gateway/http_sse/alembic/versions/versions_llm.txt +155 -0
- solace_agent_mesh/gateway/http_sse/alembic.ini +1 -1
- solace_agent_mesh/gateway/http_sse/app.py +148 -2
- solace_agent_mesh/gateway/http_sse/component.py +368 -60
- solace_agent_mesh/gateway/http_sse/components/components_llm.txt +46 -6
- solace_agent_mesh/gateway/http_sse/components/task_logger_forwarder.py +108 -0
- solace_agent_mesh/gateway/http_sse/components/visualization_forwarder_component.py +1 -1
- solace_agent_mesh/gateway/http_sse/dependencies.py +116 -26
- solace_agent_mesh/gateway/http_sse/http_sse_llm.txt +172 -172
- solace_agent_mesh/gateway/http_sse/http_sse_llm_detail.txt +3278 -0
- solace_agent_mesh/gateway/http_sse/main.py +146 -41
- solace_agent_mesh/gateway/http_sse/repository/__init__.py +3 -12
- solace_agent_mesh/gateway/http_sse/repository/chat_task_repository.py +103 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/__init__.py +5 -3
- solace_agent_mesh/gateway/http_sse/repository/entities/chat_task.py +75 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/entities_llm.txt +263 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/feedback.py +20 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/session_history.py +0 -16
- solace_agent_mesh/gateway/http_sse/repository/entities/task.py +25 -0
- solace_agent_mesh/gateway/http_sse/repository/entities/task_event.py +21 -0
- solace_agent_mesh/gateway/http_sse/repository/feedback_repository.py +81 -0
- solace_agent_mesh/gateway/http_sse/repository/interfaces.py +73 -18
- solace_agent_mesh/gateway/http_sse/repository/models/__init__.py +9 -5
- solace_agent_mesh/gateway/http_sse/repository/models/chat_task_model.py +31 -0
- solace_agent_mesh/gateway/http_sse/repository/models/feedback_model.py +21 -0
- solace_agent_mesh/gateway/http_sse/repository/models/models_llm.txt +266 -0
- solace_agent_mesh/gateway/http_sse/repository/models/session_model.py +3 -3
- solace_agent_mesh/gateway/http_sse/repository/models/task_event_model.py +25 -0
- solace_agent_mesh/gateway/http_sse/repository/models/task_model.py +32 -0
- solace_agent_mesh/gateway/http_sse/repository/repository_llm.txt +340 -0
- solace_agent_mesh/gateway/http_sse/repository/session_repository.py +4 -53
- solace_agent_mesh/gateway/http_sse/repository/task_repository.py +173 -0
- solace_agent_mesh/gateway/http_sse/routers/artifacts.py +1 -1
- solace_agent_mesh/gateway/http_sse/routers/config.py +26 -4
- solace_agent_mesh/gateway/http_sse/routers/dto/dto_llm.txt +346 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/__init__.py +3 -3
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/requests_llm.txt +83 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/session_requests.py +2 -10
- solace_agent_mesh/gateway/http_sse/routers/dto/requests/task_requests.py +58 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/__init__.py +5 -3
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/responses_llm.txt +107 -0
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/session_responses.py +1 -15
- solace_agent_mesh/gateway/http_sse/routers/dto/responses/task_responses.py +30 -0
- solace_agent_mesh/gateway/http_sse/routers/feedback.py +37 -0
- solace_agent_mesh/gateway/http_sse/routers/routers_llm.txt +255 -204
- solace_agent_mesh/gateway/http_sse/routers/sessions.py +220 -40
- solace_agent_mesh/gateway/http_sse/routers/tasks.py +168 -42
- solace_agent_mesh/gateway/http_sse/services/data_retention_service.py +272 -0
- solace_agent_mesh/gateway/http_sse/services/feedback_service.py +241 -0
- solace_agent_mesh/gateway/http_sse/services/people_service.py +0 -80
- solace_agent_mesh/gateway/http_sse/services/services_llm.txt +177 -13
- solace_agent_mesh/gateway/http_sse/services/session_service.py +151 -84
- solace_agent_mesh/gateway/http_sse/services/task_logger_service.py +317 -0
- solace_agent_mesh/gateway/http_sse/shared/exception_handlers.py +25 -14
- solace_agent_mesh/gateway/http_sse/shared/shared_llm.txt +285 -0
- solace_agent_mesh/gateway/http_sse/shared/types.py +7 -0
- solace_agent_mesh/gateway/http_sse/utils/__init__.py +1 -0
- solace_agent_mesh/gateway/http_sse/utils/stim_utils.py +32 -0
- solace_agent_mesh/gateway/http_sse/utils/utils_llm.txt +47 -0
- solace_agent_mesh/solace_agent_mesh_llm.txt +1 -1
- solace_agent_mesh/solace_agent_mesh_llm_detail.txt +8599 -0
- {solace_agent_mesh-1.4.12.dist-info → solace_agent_mesh-1.5.0.dist-info}/METADATA +1 -1
- {solace_agent_mesh-1.4.12.dist-info → solace_agent_mesh-1.5.0.dist-info}/RECORD +172 -124
- solace_agent_mesh/agent/adk/invocation_monitor.py +0 -295
- solace_agent_mesh/assets/docs/assets/js/483cef9a.4736f2d8.js +0 -1
- solace_agent_mesh/assets/docs/lunr-index-1759936913198.json +0 -1
- solace_agent_mesh/assets/docs/search-doc-1759936913198.json +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-ChRwcV89.css +0 -1
- solace_agent_mesh/client/webui/frontend/static/assets/main-DnnE01OM.js +0 -339
- solace_agent_mesh/gateway/http_sse/repository/entities/message.py +0 -41
- solace_agent_mesh/gateway/http_sse/repository/message_repository.py +0 -84
- solace_agent_mesh/gateway/http_sse/repository/models/message_model.py +0 -45
- /solace_agent_mesh/assets/docs/assets/js/{main.f67fc9f4.js.LICENSE.txt → main.0c149855.js.LICENSE.txt} +0 -0
- {solace_agent_mesh-1.4.12.dist-info → solace_agent_mesh-1.5.0.dist-info}/WHEEL +0 -0
- {solace_agent_mesh-1.4.12.dist-info → solace_agent_mesh-1.5.0.dist-info}/entry_points.txt +0 -0
- {solace_agent_mesh-1.4.12.dist-info → solace_agent_mesh-1.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Message domain entity.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from pydantic import BaseModel, ConfigDict
|
|
6
|
-
|
|
7
|
-
from ...shared.enums import MessageType, SenderType
|
|
8
|
-
from ...shared.types import MessageId, SessionId
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class Message(BaseModel):
|
|
12
|
-
"""Message domain entity with business logic."""
|
|
13
|
-
|
|
14
|
-
model_config = ConfigDict(from_attributes=True)
|
|
15
|
-
|
|
16
|
-
id: MessageId
|
|
17
|
-
session_id: SessionId
|
|
18
|
-
message: str
|
|
19
|
-
sender_type: SenderType
|
|
20
|
-
sender_name: str
|
|
21
|
-
message_type: MessageType = MessageType.TEXT
|
|
22
|
-
created_time: int
|
|
23
|
-
|
|
24
|
-
def validate_message_content(self) -> None:
|
|
25
|
-
"""Validate message content."""
|
|
26
|
-
if not self.message or len(self.message.strip()) == 0:
|
|
27
|
-
raise ValueError("Message content cannot be empty")
|
|
28
|
-
if len(self.message) > 10_000_000:
|
|
29
|
-
raise ValueError("Message content exceeds maximum length (10MB)")
|
|
30
|
-
|
|
31
|
-
def is_from_user(self) -> bool:
|
|
32
|
-
"""Check if message is from a user."""
|
|
33
|
-
return self.sender_type == SenderType.USER
|
|
34
|
-
|
|
35
|
-
def is_from_agent(self) -> bool:
|
|
36
|
-
"""Check if message is from an agent."""
|
|
37
|
-
return self.sender_type == SenderType.AGENT
|
|
38
|
-
|
|
39
|
-
def is_system_message(self) -> bool:
|
|
40
|
-
"""Check if message is a system message."""
|
|
41
|
-
return self.sender_type == SenderType.SYSTEM
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Message repository implementation using SQLAlchemy.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from sqlalchemy.orm import Session as DBSession
|
|
6
|
-
|
|
7
|
-
from ..shared.base_repository import PaginatedRepository
|
|
8
|
-
from ..shared.enums import MessageType, SenderType
|
|
9
|
-
from ..shared.types import PaginationInfo, SessionId
|
|
10
|
-
from .entities import Message
|
|
11
|
-
from .interfaces import IMessageRepository
|
|
12
|
-
from .models import MessageModel, CreateMessageModel, UpdateMessageModel
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class MessageRepository(PaginatedRepository[MessageModel, Message], IMessageRepository):
|
|
16
|
-
"""SQLAlchemy implementation of message repository using BaseRepository."""
|
|
17
|
-
|
|
18
|
-
def __init__(self, db: DBSession):
|
|
19
|
-
super().__init__(MessageModel, Message)
|
|
20
|
-
self.db = db
|
|
21
|
-
|
|
22
|
-
@property
|
|
23
|
-
def entity_name(self) -> str:
|
|
24
|
-
"""Return the entity name for error messages."""
|
|
25
|
-
return "message"
|
|
26
|
-
|
|
27
|
-
def find_by_session(
|
|
28
|
-
self, session_id: SessionId, pagination: PaginationInfo | None = None
|
|
29
|
-
) -> list[Message]:
|
|
30
|
-
"""Find all messages in a session."""
|
|
31
|
-
query = self.db.query(MessageModel).filter(
|
|
32
|
-
MessageModel.session_id == session_id
|
|
33
|
-
)
|
|
34
|
-
query = query.order_by(MessageModel.created_time.asc())
|
|
35
|
-
|
|
36
|
-
if pagination:
|
|
37
|
-
offset = (pagination.page - 1) * pagination.page_size
|
|
38
|
-
query = query.offset(offset).limit(pagination.page_size)
|
|
39
|
-
|
|
40
|
-
models = query.all()
|
|
41
|
-
return [self._convert_model_to_entity(model) for model in models]
|
|
42
|
-
|
|
43
|
-
def save(self, message: Message) -> Message:
|
|
44
|
-
"""Save or update a message."""
|
|
45
|
-
existing_model = self.db.query(MessageModel).filter(MessageModel.id == message.id).first()
|
|
46
|
-
|
|
47
|
-
if existing_model:
|
|
48
|
-
update_model = UpdateMessageModel(
|
|
49
|
-
message=message.message,
|
|
50
|
-
sender_type=message.sender_type.value,
|
|
51
|
-
sender_name=message.sender_name,
|
|
52
|
-
)
|
|
53
|
-
return self.update(self.db, message.id, update_model.model_dump())
|
|
54
|
-
else:
|
|
55
|
-
create_model = CreateMessageModel(
|
|
56
|
-
id=message.id,
|
|
57
|
-
session_id=message.session_id,
|
|
58
|
-
message=message.message,
|
|
59
|
-
sender_type=message.sender_type.value,
|
|
60
|
-
sender_name=message.sender_name,
|
|
61
|
-
created_time=message.created_time,
|
|
62
|
-
)
|
|
63
|
-
return self.create(self.db, create_model.model_dump())
|
|
64
|
-
|
|
65
|
-
def delete_by_session(self, session_id: SessionId) -> bool:
|
|
66
|
-
"""Delete all messages in a session."""
|
|
67
|
-
result = (
|
|
68
|
-
self.db.query(MessageModel)
|
|
69
|
-
.filter(MessageModel.session_id == session_id)
|
|
70
|
-
.delete()
|
|
71
|
-
)
|
|
72
|
-
return result > 0
|
|
73
|
-
|
|
74
|
-
def _convert_model_to_entity(self, model: MessageModel) -> Message:
|
|
75
|
-
"""Convert SQLAlchemy model to domain entity with enum handling."""
|
|
76
|
-
return Message(
|
|
77
|
-
id=model.id,
|
|
78
|
-
session_id=model.session_id,
|
|
79
|
-
message=model.message,
|
|
80
|
-
sender_type=SenderType(model.sender_type),
|
|
81
|
-
sender_name=model.sender_name,
|
|
82
|
-
message_type=MessageType.TEXT, # Default for now
|
|
83
|
-
created_time=model.created_time,
|
|
84
|
-
)
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Message SQLAlchemy model and Pydantic models for strongly-typed operations.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from pydantic import BaseModel
|
|
6
|
-
from sqlalchemy import BigInteger, Column, ForeignKey, String, Text
|
|
7
|
-
from sqlalchemy.orm import relationship
|
|
8
|
-
|
|
9
|
-
from ...shared import now_epoch_ms
|
|
10
|
-
from .base import Base
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class MessageModel(Base):
|
|
14
|
-
"""SQLAlchemy model for messages."""
|
|
15
|
-
|
|
16
|
-
__tablename__ = "chat_messages"
|
|
17
|
-
|
|
18
|
-
id = Column(String, primary_key=True)
|
|
19
|
-
session_id = Column(
|
|
20
|
-
String, ForeignKey("sessions.id", ondelete="CASCADE"), nullable=False
|
|
21
|
-
)
|
|
22
|
-
message = Column(Text, nullable=False)
|
|
23
|
-
created_time = Column(BigInteger, nullable=False, default=now_epoch_ms)
|
|
24
|
-
sender_type = Column(String(50))
|
|
25
|
-
sender_name = Column(String(255))
|
|
26
|
-
|
|
27
|
-
# Relationship to session
|
|
28
|
-
session = relationship("SessionModel", back_populates="messages")
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class CreateMessageModel(BaseModel):
|
|
32
|
-
"""Pydantic model for creating a message."""
|
|
33
|
-
id: str
|
|
34
|
-
session_id: str
|
|
35
|
-
message: str
|
|
36
|
-
sender_type: str
|
|
37
|
-
sender_name: str
|
|
38
|
-
created_time: int
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class UpdateMessageModel(BaseModel):
|
|
42
|
-
"""Pydantic model for updating a message."""
|
|
43
|
-
message: str
|
|
44
|
-
sender_type: str
|
|
45
|
-
sender_name: str
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|