 9262e63374
			
		
	
	9262e63374
	
	
	
		
			
			Backend: - Database migration for agent role fields and predefined roles - AgentRole and AgentCollaboration models - Updated Agent model with role-based fields Frontend: - AgentRoleSelector component for role assignment - CollaborationDashboard for monitoring agent interactions - AgentManagement interface with role analytics 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			171 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| -- Migration to add role-based collaboration fields to agents table
 | |
| 
 | |
| -- Add role-based fields to agents table
 | |
| ALTER TABLE agents ADD COLUMN role VARCHAR(255);
 | |
| ALTER TABLE agents ADD COLUMN system_prompt TEXT;
 | |
| ALTER TABLE agents ADD COLUMN reports_to JSONB; -- Array of roles this agent reports to
 | |
| ALTER TABLE agents ADD COLUMN expertise JSONB; -- Array of expertise areas
 | |
| ALTER TABLE agents ADD COLUMN deliverables JSONB; -- Array of deliverables this agent produces
 | |
| ALTER TABLE agents ADD COLUMN collaboration_settings JSONB; -- Collaboration preferences
 | |
| 
 | |
| -- Add indexes for role-based queries
 | |
| CREATE INDEX idx_agents_role ON agents(role);
 | |
| CREATE INDEX idx_agents_expertise ON agents USING GIN(expertise);
 | |
| CREATE INDEX idx_agents_reports_to ON agents USING GIN(reports_to);
 | |
| 
 | |
| -- Create agent_roles table for predefined role definitions
 | |
| CREATE TABLE agent_roles (
 | |
|     id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
 | |
|     name VARCHAR(255) UNIQUE NOT NULL,
 | |
|     display_name VARCHAR(255) NOT NULL,
 | |
|     system_prompt TEXT NOT NULL,
 | |
|     reports_to JSONB, -- Array of roles this role reports to
 | |
|     expertise JSONB, -- Array of expertise areas
 | |
|     deliverables JSONB, -- Array of deliverables
 | |
|     capabilities JSONB, -- Array of capabilities
 | |
|     collaboration_defaults JSONB, -- Default collaboration settings
 | |
|     created_at TIMESTAMP DEFAULT NOW(),
 | |
|     updated_at TIMESTAMP DEFAULT NOW()
 | |
| );
 | |
| 
 | |
| -- Create index for agent_roles
 | |
| CREATE INDEX idx_agent_roles_name ON agent_roles(name);
 | |
| CREATE INDEX idx_agent_roles_expertise ON agent_roles USING GIN(expertise);
 | |
| 
 | |
| -- Insert predefined roles from Bees-AgenticWorkers.md
 | |
| INSERT INTO agent_roles (name, display_name, system_prompt, reports_to, expertise, deliverables, capabilities, collaboration_defaults) VALUES
 | |
| (
 | |
|     'senior_software_architect',
 | |
|     'Senior Software Architect',
 | |
|     'You are the **Senior Software Architect**. You define the system''s overall structure, select tech stacks, and ensure long-term maintainability.
 | |
| 
 | |
| * **Responsibilities:** Draft high-level architecture diagrams, define API contracts, set coding standards, mentor engineering leads.
 | |
| * **Expertise:** Deep experience in multiple programming paradigms, distributed systems, security models, and cloud architectures.
 | |
| * **Reports To:** Product Owner / Technical Director.
 | |
| * **Deliverables:** Architecture blueprints, tech stack decisions, integration strategies, and review sign-offs on major design changes.',
 | |
|     '["product_owner", "technical_director"]'::jsonb,
 | |
|     '["architecture", "distributed_systems", "security", "cloud_architectures", "api_design"]'::jsonb,
 | |
|     '["architecture_blueprints", "tech_stack_decisions", "integration_strategies", "design_reviews"]'::jsonb,
 | |
|     '["task-coordination", "meta-discussion", "architecture", "code-review", "mentoring"]'::jsonb,
 | |
|     '{
 | |
|         "preferred_message_types": ["coordination_request", "meta_discussion", "escalation_trigger"],
 | |
|         "auto_subscribe_to_roles": ["lead_designer", "security_expert", "systems_engineer"],
 | |
|         "auto_subscribe_to_expertise": ["architecture", "security", "infrastructure"],
 | |
|         "response_timeout_seconds": 300,
 | |
|         "max_collaboration_depth": 5,
 | |
|         "escalation_threshold": 3
 | |
|     }'::jsonb
 | |
| ),
 | |
| (
 | |
|     'lead_designer',
 | |
|     'Lead Designer',
 | |
|     'You are the **Lead Designer**. You guide the creative vision and maintain design cohesion across the product.
 | |
| 
 | |
| * **Responsibilities:** Oversee UX flow, wireframes, and feature design; ensure consistency of theme and style; mediate between product vision and technical constraints.
 | |
| * **Expertise:** UI/UX principles, accessibility, information architecture, Figma/Sketch proficiency.
 | |
| * **Reports To:** Product Owner.
 | |
| * **Deliverables:** Style guides, wireframes, feature specs, and iterative design documentation.',
 | |
|     '["product_owner"]'::jsonb,
 | |
|     '["ui_ux", "accessibility", "information_architecture", "design_systems", "user_research"]'::jsonb,
 | |
|     '["style_guides", "wireframes", "feature_specs", "design_documentation"]'::jsonb,
 | |
|     '["task-coordination", "meta-discussion", "design", "user_experience"]'::jsonb,
 | |
|     '{
 | |
|         "preferred_message_types": ["task_help_request", "coordination_request", "meta_discussion"],
 | |
|         "auto_subscribe_to_roles": ["ui_ux_designer", "frontend_developer"],
 | |
|         "auto_subscribe_to_expertise": ["design", "frontend", "user_experience"],
 | |
|         "response_timeout_seconds": 180,
 | |
|         "max_collaboration_depth": 3,
 | |
|         "escalation_threshold": 2
 | |
|     }'::jsonb
 | |
| ),
 | |
| (
 | |
|     'security_expert',
 | |
|     'Security Expert',
 | |
|     'You are the **Security Expert**. You ensure the system is hardened against vulnerabilities.
 | |
| 
 | |
| * **Responsibilities:** Conduct threat modeling, penetration tests, code reviews for security flaws, and define access control policies.
 | |
| * **Expertise:** Cybersecurity frameworks (OWASP, NIST), encryption, key management, zero-trust systems.
 | |
| * **Reports To:** Senior Software Architect.
 | |
| * **Deliverables:** Security audits, vulnerability reports, risk mitigation plans, compliance documentation.',
 | |
|     '["senior_software_architect"]'::jsonb,
 | |
|     '["cybersecurity", "owasp", "nist", "encryption", "key_management", "zero_trust", "penetration_testing"]'::jsonb,
 | |
|     '["security_audits", "vulnerability_reports", "risk_mitigation_plans", "compliance_documentation"]'::jsonb,
 | |
|     '["task-coordination", "meta-discussion", "security-analysis", "code-review", "threat-modeling"]'::jsonb,
 | |
|     '{
 | |
|         "preferred_message_types": ["dependency_alert", "task_help_request", "escalation_trigger"],
 | |
|         "auto_subscribe_to_roles": ["backend_developer", "devops_engineer", "senior_software_architect"],
 | |
|         "auto_subscribe_to_expertise": ["security", "backend", "infrastructure"],
 | |
|         "response_timeout_seconds": 120,
 | |
|         "max_collaboration_depth": 4,
 | |
|         "escalation_threshold": 1
 | |
|     }'::jsonb
 | |
| ),
 | |
| (
 | |
|     'frontend_developer',
 | |
|     'Frontend Developer',
 | |
|     'You are the **Frontend Developer**. You turn designs into interactive interfaces.
 | |
| 
 | |
| * **Responsibilities:** Build UI components, optimize performance, ensure cross-browser/device compatibility, and integrate frontend with backend APIs.
 | |
| * **Expertise:** HTML, CSS, JavaScript/TypeScript, React/Vue/Angular, accessibility standards.
 | |
| * **Reports To:** Frontend Lead or Senior Architect.
 | |
| * **Deliverables:** Functional UI screens, reusable components, and documented frontend code.',
 | |
|     '["frontend_lead", "senior_software_architect"]'::jsonb,
 | |
|     '["html", "css", "javascript", "typescript", "react", "vue", "angular", "accessibility"]'::jsonb,
 | |
|     '["ui_screens", "reusable_components", "frontend_code", "documentation"]'::jsonb,
 | |
|     '["task-coordination", "meta-discussion", "frontend", "ui_development", "component_design"]'::jsonb,
 | |
|     '{
 | |
|         "preferred_message_types": ["task_help_request", "coordination_request", "task_help_response"],
 | |
|         "auto_subscribe_to_roles": ["ui_ux_designer", "backend_developer", "lead_designer"],
 | |
|         "auto_subscribe_to_expertise": ["design", "backend", "api_integration"],
 | |
|         "response_timeout_seconds": 180,
 | |
|         "max_collaboration_depth": 3,
 | |
|         "escalation_threshold": 2
 | |
|     }'::jsonb
 | |
| ),
 | |
| (
 | |
|     'backend_developer',
 | |
|     'Backend Developer',
 | |
|     'You are the **Backend Developer**. You create APIs, logic, and server-side integrations.
 | |
| 
 | |
| * **Responsibilities:** Implement core logic, manage data pipelines, enforce security, and support scaling strategies.
 | |
| * **Expertise:** Server frameworks, REST/GraphQL APIs, authentication, caching, microservices.
 | |
| * **Reports To:** Backend Lead or Senior Architect.
 | |
| * **Deliverables:** API endpoints, backend services, unit tests, and deployment-ready server code.',
 | |
|     '["backend_lead", "senior_software_architect"]'::jsonb,
 | |
|     '["server_frameworks", "rest_api", "graphql", "authentication", "caching", "microservices", "databases"]'::jsonb,
 | |
|     '["api_endpoints", "backend_services", "unit_tests", "server_code"]'::jsonb,
 | |
|     '["task-coordination", "meta-discussion", "backend", "api_development", "database_design"]'::jsonb,
 | |
|     '{
 | |
|         "preferred_message_types": ["task_help_request", "coordination_request", "dependency_alert"],
 | |
|         "auto_subscribe_to_roles": ["database_engineer", "frontend_developer", "security_expert"],
 | |
|         "auto_subscribe_to_expertise": ["database", "frontend", "security"],
 | |
|         "response_timeout_seconds": 200,
 | |
|         "max_collaboration_depth": 4,
 | |
|         "escalation_threshold": 2
 | |
|     }'::jsonb
 | |
| );
 | |
| 
 | |
| -- Create agent_collaborations table to track collaboration history
 | |
| CREATE TABLE agent_collaborations (
 | |
|     id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
 | |
|     from_agent_id UUID REFERENCES agents(id),
 | |
|     to_agent_id UUID REFERENCES agents(id),
 | |
|     message_type VARCHAR(100) NOT NULL,
 | |
|     thread_id UUID,
 | |
|     project_id INTEGER REFERENCES projects(id),
 | |
|     message_data JSONB,
 | |
|     response_data JSONB,
 | |
|     status VARCHAR(50) DEFAULT 'pending', -- pending, responded, escalated, resolved
 | |
|     priority VARCHAR(20) DEFAULT 'medium', -- low, medium, high, urgent
 | |
|     created_at TIMESTAMP DEFAULT NOW(),
 | |
|     responded_at TIMESTAMP,
 | |
|     resolved_at TIMESTAMP
 | |
| );
 | |
| 
 | |
| -- Indexes for collaboration tracking
 | |
| CREATE INDEX idx_agent_collaborations_from_agent ON agent_collaborations(from_agent_id);
 | |
| CREATE INDEX idx_agent_collaborations_to_agent ON agent_collaborations(to_agent_id);
 | |
| CREATE INDEX idx_agent_collaborations_thread ON agent_collaborations(thread_id);
 | |
| CREATE INDEX idx_agent_collaborations_project ON agent_collaborations(project_id);
 | |
| CREATE INDEX idx_agent_collaborations_status ON agent_collaborations(status);
 | |
| CREATE INDEX idx_agent_collaborations_priority ON agent_collaborations(priority); |