redesigned dashboard page

This commit is contained in:
Abhimanyu Saharan
2026-03-04 16:01:56 +05:30
parent a30e59de60
commit bdc9fc3f01
142 changed files with 8908 additions and 7773 deletions

View File

@@ -19,6 +19,7 @@ def record_activity(
message: str,
agent_id: UUID | None = None,
task_id: UUID | None = None,
board_id: UUID | None = None,
) -> ActivityEvent:
"""Create and attach an activity event row to the current DB session."""
event = ActivityEvent(
@@ -26,6 +27,7 @@ def record_activity(
message=message,
agent_id=agent_id,
task_id=task_id,
board_id=board_id,
)
session.add(event)
return event

View File

@@ -91,6 +91,12 @@ async def delete_board(session: AsyncSession, *, board: Board) -> OkResponse:
col(TaskCustomFieldValue.task_id).in_(task_ids),
commit=False,
)
await crud.delete_where(
session,
ActivityEvent,
col(ActivityEvent.board_id) == board.id,
commit=False,
)
# Keep teardown ordered around FK/reference chains so dependent rows are gone
# before deleting their parent task/agent/board records.
await crud.delete_where(

View File

@@ -204,6 +204,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="agent.nudge.failed",
message=f"Nudge failed for {target.name}: {exc}",
agent_id=actor_agent.id,
board_id=board.id,
)
await self.session.commit()
self.logger.error(
@@ -233,6 +234,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="agent.nudge.sent",
message=f"Nudge sent to {target.name}.",
agent_id=actor_agent.id,
board_id=board.id,
)
await self.session.commit()
self.logger.info(
@@ -397,6 +399,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="agent.soul.updated",
message=note,
agent_id=actor_agent_id,
board_id=board.id,
)
await self.session.commit()
self.logger.info(
@@ -470,6 +473,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="gateway.lead.ask_user.failed",
message=f"Lead user question failed for {board.name}: {exc}",
agent_id=actor_agent.id,
board_id=board.id,
)
await self.session.commit()
self.logger.error(
@@ -501,6 +505,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="gateway.lead.ask_user.sent",
message=f"Lead requested user info via gateway agent for board: {board.name}.",
agent_id=actor_agent.id,
board_id=board.id,
)
main_agent = await Agent.objects.filter_by(gateway_id=gateway.id, board_id=None).first(
self.session,
@@ -595,6 +600,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="gateway.main.lead_message.failed",
message=f"Lead message failed for {board.name}: {exc}",
agent_id=actor_agent.id,
board_id=board.id,
)
await self.session.commit()
self.logger.error(
@@ -626,6 +632,7 @@ class GatewayCoordinationService(AbstractGatewayMessagingService):
event_type="gateway.main.lead_message.sent",
message=f"Sent {payload.kind} to lead for board: {board.name}.",
agent_id=actor_agent.id,
board_id=board.id,
)
await self.session.commit()
self.logger.info(

View File

@@ -942,6 +942,7 @@ class AgentLifecycleService(OpenClawDBService):
event_type="agent.heartbeat",
message=f"Heartbeat received from {agent.name}.",
agent_id=agent.id,
board_id=agent.board_id,
)
@staticmethod
@@ -957,6 +958,7 @@ class AgentLifecycleService(OpenClawDBService):
event_type=f"agent.{action}.failed",
message=f"{action_label} message failed: {error}",
agent_id=agent.id,
board_id=agent.board_id,
)
async def coerce_agent_create_payload(
@@ -1114,12 +1116,14 @@ class AgentLifecycleService(OpenClawDBService):
event_type=f"agent.{action}.direct",
message=f"{action.capitalize()}d directly for {provisioned.name}.",
agent_id=provisioned.id,
board_id=provisioned.board_id,
)
record_activity(
self.session,
event_type="agent.wakeup.sent",
message=f"Wakeup message sent to {provisioned.name}.",
agent_id=provisioned.id,
board_id=provisioned.board_id,
)
await self.session.commit()
self.logger.info(
@@ -1818,6 +1822,7 @@ class AgentLifecycleService(OpenClawDBService):
event_type="agent.delete.direct",
message=f"Deleted agent {agent.name}.",
agent_id=None,
board_id=agent.board_id,
)
now = utcnow()
await crud.update_where(