WIP: Save current work before CHORUS rebrand
- Agent roles integration progress - Various backend and frontend updates - Storybook cache cleanup 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -689,4 +689,58 @@ class ProjectService:
|
||||
# Handle escalation status
|
||||
if status == "escalated":
|
||||
print(f"Task escalated for human review: {metadata}")
|
||||
# TODO: Trigger N8N webhook for human escalation
|
||||
# TODO: Trigger N8N webhook for human escalation
|
||||
|
||||
def update_project(self, project_id: str, project_data: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
||||
"""Update a project configuration."""
|
||||
try:
|
||||
# For now, projects are read-only from the filesystem
|
||||
# This could be extended to update project metadata files
|
||||
project = self.get_project_by_id(project_id)
|
||||
if not project:
|
||||
return None
|
||||
|
||||
# Update project metadata in a local JSON file if needed
|
||||
# For now, just return the existing project as projects are filesystem-based
|
||||
print(f"Project update request for {project_id}: {project_data}")
|
||||
return project
|
||||
except Exception as e:
|
||||
print(f"Error updating project {project_id}: {e}")
|
||||
return None
|
||||
|
||||
def create_project(self, project_data: Dict[str, Any]) -> Dict[str, Any]:
|
||||
"""Create a new project."""
|
||||
try:
|
||||
# For now, projects are filesystem-based and read-only
|
||||
# This could be extended to create new project directories
|
||||
print(f"Project creation request: {project_data}")
|
||||
|
||||
# Return a mock project for now
|
||||
project_id = project_data.get("name", "new-project").lower().replace(" ", "-")
|
||||
return {
|
||||
"id": project_id,
|
||||
"name": project_data.get("name", "New Project"),
|
||||
"description": project_data.get("description", ""),
|
||||
"status": "created",
|
||||
"created_at": datetime.now().isoformat(),
|
||||
"updated_at": datetime.now().isoformat()
|
||||
}
|
||||
except Exception as e:
|
||||
print(f"Error creating project: {e}")
|
||||
raise
|
||||
|
||||
def delete_project(self, project_id: str) -> bool:
|
||||
"""Delete a project."""
|
||||
try:
|
||||
# For now, projects are filesystem-based and read-only
|
||||
# This could be extended to archive or remove project directories
|
||||
project = self.get_project_by_id(project_id)
|
||||
if not project:
|
||||
return False
|
||||
|
||||
print(f"Project deletion request for {project_id}")
|
||||
# Return success for now (projects are read-only)
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"Error deleting project {project_id}: {e}")
|
||||
return False
|
||||
Reference in New Issue
Block a user