Enhance event handling for Crew, Task, and Event classes

- Add crew name to failed event types (CrewKickoffFailedEvent, CrewTrainFailedEvent, CrewTestFailedEvent)
- Update Task events to remove redundant task and context attributes
- Refactor EventListener to use Logger for consistent event logging
- Add new event types for Crew train and test events
- Improve event bus event tracking in test cases
This commit is contained in:
Lorenze Jay
2025-02-13 12:01:18 -08:00
parent 62a20426a5
commit 00a98cd5c9
9 changed files with 184 additions and 32 deletions

View File

@@ -560,7 +560,12 @@ class Crew(BaseModel):
),
)
except Exception as e:
event_bus.emit(self, CrewTrainFailedEvent(error=str(e)))
event_bus.emit(
self,
CrewTrainFailedEvent(
error=str(e), crew_name=self.name or "crew"
),
)
self._logger.log("error", f"Training failed: {e}", color="red")
CrewTrainingHandler(TRAINING_DATA_FILE).clear()
CrewTrainingHandler(filename).clear()
@@ -630,7 +635,12 @@ class Crew(BaseModel):
self.usage_metrics.add_usage_metrics(metric)
return result
except Exception as e:
event_bus.emit(self, CrewKickoffFailedEvent(error=str(e)))
event_bus.emit(
self,
CrewKickoffFailedEvent(
error=str(e), crew_name=self.name or "crew"
),
)
raise
def kickoff_for_each(self, inputs: List[Dict[str, Any]]) -> List[CrewOutput]:
@@ -1224,7 +1234,12 @@ class Crew(BaseModel):
),
)
except Exception as e:
event_bus.emit(self, CrewTestFailedEvent(error=str(e)))
event_bus.emit(
self,
CrewTestFailedEvent(
error=str(e), crew_name=self.name or "crew"
),
)
raise
def __repr__(self):