- Agent roles and coordination features - Chat API integration testing - New configuration and workspace management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
254 lines
8.9 KiB
Python
254 lines
8.9 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Advanced Meta Discussion Demo for Bzzz P2P Mesh
|
|
Shows cross-repository coordination and dependency detection
|
|
"""
|
|
|
|
import json
|
|
import time
|
|
from datetime import datetime
|
|
|
|
def demo_cross_repository_coordination():
|
|
"""Demonstrate advanced meta discussion features"""
|
|
|
|
print("🎯 ADVANCED BZZZ META DISCUSSION DEMO")
|
|
print("=" * 60)
|
|
print("Scenario: Multi-repository microservices coordination")
|
|
print()
|
|
|
|
# Simulate multiple repositories in the system
|
|
repositories = {
|
|
"api-gateway": {
|
|
"agent": "walnut-12345",
|
|
"capabilities": ["code-generation", "api-design", "security"],
|
|
"current_task": {
|
|
"id": 42,
|
|
"title": "Implement OAuth2 authentication flow",
|
|
"description": "Add OAuth2 support to API gateway with JWT tokens",
|
|
"labels": ["security", "api", "authentication"]
|
|
}
|
|
},
|
|
"user-service": {
|
|
"agent": "acacia-67890",
|
|
"capabilities": ["code-analysis", "database", "microservices"],
|
|
"current_task": {
|
|
"id": 87,
|
|
"title": "Update user schema for OAuth integration",
|
|
"description": "Add OAuth provider fields to user table",
|
|
"labels": ["database", "schema", "authentication"]
|
|
}
|
|
},
|
|
"notification-service": {
|
|
"agent": "ironwood-54321",
|
|
"capabilities": ["advanced-reasoning", "integration", "messaging"],
|
|
"current_task": {
|
|
"id": 156,
|
|
"title": "Secure webhook endpoints with JWT",
|
|
"description": "Validate JWT tokens on webhook endpoints",
|
|
"labels": ["security", "webhook", "authentication"]
|
|
}
|
|
}
|
|
}
|
|
|
|
print("📋 ACTIVE TASKS ACROSS REPOSITORIES:")
|
|
for repo, info in repositories.items():
|
|
task = info["current_task"]
|
|
print(f" 🔧 {repo}: #{task['id']} - {task['title']}")
|
|
print(f" Agent: {info['agent']} | Labels: {', '.join(task['labels'])}")
|
|
print()
|
|
|
|
# Demo 1: Dependency Detection
|
|
print("🔍 PHASE 1: DEPENDENCY DETECTION")
|
|
print("-" * 40)
|
|
|
|
dependencies = [
|
|
{
|
|
"task1": "api-gateway/#42",
|
|
"task2": "user-service/#87",
|
|
"relationship": "API_Contract",
|
|
"reason": "OAuth implementation requires coordinated schema changes",
|
|
"confidence": 0.9
|
|
},
|
|
{
|
|
"task1": "api-gateway/#42",
|
|
"task2": "notification-service/#156",
|
|
"relationship": "Security_Compliance",
|
|
"reason": "Both implement JWT token validation",
|
|
"confidence": 0.85
|
|
}
|
|
]
|
|
|
|
for dep in dependencies:
|
|
print(f"🔗 DEPENDENCY DETECTED:")
|
|
print(f" {dep['task1']} ↔ {dep['task2']}")
|
|
print(f" Type: {dep['relationship']} (confidence: {dep['confidence']})")
|
|
print(f" Reason: {dep['reason']}")
|
|
print()
|
|
|
|
# Demo 2: Coordination Session Creation
|
|
print("🎯 PHASE 2: COORDINATION SESSION INITIATED")
|
|
print("-" * 40)
|
|
|
|
session_id = f"coord_oauth_{int(time.time())}"
|
|
print(f"📝 Session ID: {session_id}")
|
|
print(f"📅 Created: {datetime.now().strftime('%H:%M:%S')}")
|
|
print(f"👥 Participants: walnut-12345, acacia-67890, ironwood-54321")
|
|
print()
|
|
|
|
# Demo 3: AI-Generated Coordination Plan
|
|
print("🤖 PHASE 3: AI-GENERATED COORDINATION PLAN")
|
|
print("-" * 40)
|
|
|
|
coordination_plan = """
|
|
COORDINATION PLAN: OAuth2 Implementation Across Services
|
|
|
|
1. EXECUTION ORDER:
|
|
- Phase 1: user-service (schema changes)
|
|
- Phase 2: api-gateway (OAuth implementation)
|
|
- Phase 3: notification-service (JWT validation)
|
|
|
|
2. SHARED ARTIFACTS:
|
|
- JWT token format specification
|
|
- OAuth2 endpoint documentation
|
|
- Database schema migration scripts
|
|
- Shared security configuration
|
|
|
|
3. COORDINATION REQUIREMENTS:
|
|
- walnut-12345: Define JWT token structure before implementation
|
|
- acacia-67890: Migrate user schema first, share field mappings
|
|
- ironwood-54321: Wait for JWT format, implement validation
|
|
|
|
4. POTENTIAL CONFLICTS:
|
|
- JWT payload structure disagreements
|
|
- Token expiration time mismatches
|
|
- Security scope definition conflicts
|
|
|
|
5. SUCCESS CRITERIA:
|
|
- All services use consistent JWT format
|
|
- OAuth flow works end-to-end
|
|
- Security audit passes on all endpoints
|
|
- Integration tests pass across all services
|
|
"""
|
|
|
|
print(coordination_plan)
|
|
|
|
# Demo 4: Agent Coordination Messages
|
|
print("💬 PHASE 4: AGENT COORDINATION MESSAGES")
|
|
print("-" * 40)
|
|
|
|
messages = [
|
|
{
|
|
"timestamp": "14:32:01",
|
|
"from": "walnut-12345 (api-gateway)",
|
|
"type": "proposal",
|
|
"content": "I propose using RS256 JWT tokens with 15min expiry. Standard claims: sub, iat, exp, scope."
|
|
},
|
|
{
|
|
"timestamp": "14:32:45",
|
|
"from": "acacia-67890 (user-service)",
|
|
"type": "question",
|
|
"content": "Should we store the OAuth provider info in the user table or separate table? Also need refresh token strategy."
|
|
},
|
|
{
|
|
"timestamp": "14:33:20",
|
|
"from": "ironwood-54321 (notification-service)",
|
|
"type": "agreement",
|
|
"content": "RS256 sounds good. For webhooks, I'll validate signature and check 'webhook' scope. Need the public key endpoint."
|
|
},
|
|
{
|
|
"timestamp": "14:34:10",
|
|
"from": "walnut-12345 (api-gateway)",
|
|
"type": "response",
|
|
"content": "Separate oauth_providers table is better for multiple providers. Public key at /.well-known/jwks.json"
|
|
},
|
|
{
|
|
"timestamp": "14:34:55",
|
|
"from": "acacia-67890 (user-service)",
|
|
"type": "agreement",
|
|
"content": "Agreed on separate table. I'll create migration script and share the schema. ETA: 2 hours."
|
|
}
|
|
]
|
|
|
|
for msg in messages:
|
|
print(f"[{msg['timestamp']}] {msg['from']} ({msg['type']}):")
|
|
print(f" {msg['content']}")
|
|
print()
|
|
|
|
# Demo 5: Automatic Resolution Detection
|
|
print("✅ PHASE 5: COORDINATION RESOLUTION")
|
|
print("-" * 40)
|
|
|
|
print("🔍 ANALYSIS: Consensus detected")
|
|
print(" - All agents agreed on JWT format (RS256)")
|
|
print(" - Database strategy decided (separate oauth_providers table)")
|
|
print(" - Public key endpoint established (/.well-known/jwks.json)")
|
|
print(" - Implementation order confirmed")
|
|
print()
|
|
print("📋 COORDINATION COMPLETE:")
|
|
print(" - Session status: RESOLVED")
|
|
print(" - Resolution: Consensus reached on OAuth implementation")
|
|
print(" - Next steps: acacia-67890 starts schema migration")
|
|
print(" - Dependencies: walnut-12345 waits for schema completion")
|
|
print()
|
|
|
|
# Demo 6: Alternative - Escalation Scenario
|
|
print("🚨 ALTERNATIVE: ESCALATION SCENARIO")
|
|
print("-" * 40)
|
|
|
|
escalation_scenario = """
|
|
ESCALATION TRIGGERED: Security Implementation Conflict
|
|
|
|
Reason: Agents cannot agree on JWT token expiration time
|
|
- walnut-12345 wants 15 minutes (high security)
|
|
- acacia-67890 wants 4 hours (user experience)
|
|
- ironwood-54321 wants 1 hour (compromise)
|
|
|
|
Messages exceeded threshold: 12 messages without consensus
|
|
Human expert summoned via N8N webhook to deepblack.cloud
|
|
|
|
Escalation webhook payload:
|
|
{
|
|
"session_id": "coord_oauth_1752401234",
|
|
"conflict_type": "security_policy_disagreement",
|
|
"agents_involved": ["walnut-12345", "acacia-67890", "ironwood-54321"],
|
|
"repositories": ["api-gateway", "user-service", "notification-service"],
|
|
"issue_summary": "JWT expiration time conflict preventing OAuth implementation",
|
|
"requires_human_decision": true,
|
|
"urgency": "medium"
|
|
}
|
|
"""
|
|
|
|
print(escalation_scenario)
|
|
|
|
# Demo 7: System Capabilities Summary
|
|
print("🎯 ADVANCED META DISCUSSION CAPABILITIES")
|
|
print("-" * 40)
|
|
|
|
capabilities = [
|
|
"✅ Cross-repository dependency detection",
|
|
"✅ Intelligent task relationship analysis",
|
|
"✅ AI-generated coordination plans",
|
|
"✅ Multi-agent conversation management",
|
|
"✅ Consensus detection and resolution",
|
|
"✅ Automatic escalation to humans",
|
|
"✅ Session lifecycle management",
|
|
"✅ Hop-limited message propagation",
|
|
"✅ Custom dependency rules",
|
|
"✅ Project-aware coordination"
|
|
]
|
|
|
|
for cap in capabilities:
|
|
print(f" {cap}")
|
|
|
|
print()
|
|
print("🚀 PRODUCTION READY:")
|
|
print(" - P2P mesh infrastructure: ✅ Deployed")
|
|
print(" - Antennae meta-discussion: ✅ Active")
|
|
print(" - Dependency detection: ✅ Implemented")
|
|
print(" - Coordination sessions: ✅ Functional")
|
|
print(" - Human escalation: ✅ N8N integrated")
|
|
print()
|
|
print("🎯 Ready for real cross-repository coordination!")
|
|
|
|
if __name__ == "__main__":
|
|
demo_cross_repository_coordination() |