feat: migrate coordinator-api routers to use centralized aitbc package utilities
Some checks failed
Security Scanning / security-scan (push) Waiting to run
API Endpoint Tests / test-api-endpoints (push) Successful in 57s
CLI Tests / test-cli (push) Failing after 6s
Integration Tests / test-service-integration (push) Successful in 40s
Python Tests / test-python (push) Failing after 37s
Some checks failed
Security Scanning / security-scan (push) Waiting to run
API Endpoint Tests / test-api-endpoints (push) Successful in 57s
CLI Tests / test-cli (push) Failing after 6s
Integration Tests / test-service-integration (push) Successful in 40s
Python Tests / test-python (push) Failing after 37s
- Replace logging.getLogger with aitbc.get_logger across all router files - Migrate HTTP client usage from httpx to aitbc.AITBCHTTPClient in blockchain.py - Add NetworkError exception handling from aitbc package - Update blockchain status and sync status endpoints to use AITBCHTTPClient - Add from __future__ import annotations to admin.py, client.py, governance.py - Consistent logger initialization across 20+ router
This commit is contained in:
@@ -5,7 +5,6 @@ Adaptive Learning Service Health Check Router
|
||||
Provides health monitoring for reinforcement learning frameworks
|
||||
"""
|
||||
|
||||
import logging
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
@@ -14,10 +13,11 @@ import psutil
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..services.adaptive_learning import AdaptiveLearningService
|
||||
from ..storage import get_session
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Annotated
|
||||
|
||||
@@ -8,14 +9,15 @@ from slowapi.util import get_remote_address
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlmodel import select
|
||||
|
||||
from aitbc import get_logger
|
||||
|
||||
from ..config import settings
|
||||
from ..deps import require_admin_key
|
||||
from ..services import JobService, MinerService
|
||||
from ..storage import get_session
|
||||
from ..utils.cache import cached, get_cache_config
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
router = APIRouter(prefix="/admin", tags=["admin"])
|
||||
|
||||
@@ -7,13 +7,14 @@ Agent Creativity API Endpoints
|
||||
REST API for agent creativity enhancement, ideation, and cross-domain synthesis
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.agent_performance import CreativeCapability
|
||||
from ..services.creative_capabilities_service import (
|
||||
|
||||
@@ -5,11 +5,11 @@ Agent Integration and Deployment API Router for Verifiable AI Agent Orchestratio
|
||||
Provides REST API endpoints for production deployment and integration management
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from sqlmodel import Session, select
|
||||
|
||||
|
||||
@@ -7,14 +7,15 @@ Advanced Agent Performance API Endpoints
|
||||
REST API for meta-learning, resource optimization, and performance enhancement
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.agent_performance import (
|
||||
AgentCapability,
|
||||
|
||||
@@ -7,12 +7,13 @@ AI Agent API Router for Verifiable AI Agent Orchestration
|
||||
Provides REST API endpoints for agent workflow management and execution
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from sqlmodel import Session, select
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@ Agent Security API Router for Verifiable AI Agent Orchestration
|
||||
Provides REST API endpoints for security management and auditing
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from sqlmodel import Session, select
|
||||
|
||||
|
||||
@@ -7,14 +7,15 @@ Marketplace Analytics API Endpoints
|
||||
REST API for analytics, insights, reporting, and dashboards
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.analytics import (
|
||||
AnalyticsPeriod,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger, AITBCHTTPClient, NetworkError
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
router = APIRouter(tags=["blockchain"])
|
||||
@@ -14,65 +14,43 @@ router = APIRouter(tags=["blockchain"])
|
||||
async def blockchain_status():
|
||||
"""Get blockchain status."""
|
||||
try:
|
||||
import httpx
|
||||
|
||||
from ..config import settings
|
||||
|
||||
rpc_url = settings.blockchain_rpc_url.rstrip("/")
|
||||
async with httpx.AsyncClient() as client:
|
||||
response = await client.get(f"{rpc_url}/rpc/head", timeout=5.0)
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
return {
|
||||
"status": "connected",
|
||||
"height": data.get("height", 0),
|
||||
"hash": data.get("hash", ""),
|
||||
"timestamp": data.get("timestamp", ""),
|
||||
"tx_count": data.get("tx_count", 0),
|
||||
}
|
||||
else:
|
||||
return {"status": "error", "error": f"RPC returned {response.status_code}"}
|
||||
except Exception as e:
|
||||
client = AITBCHTTPClient(timeout=5.0)
|
||||
response = client.get(f"{rpc_url}/rpc/head")
|
||||
return {
|
||||
"status": "connected",
|
||||
"height": response.get("height", 0),
|
||||
"hash": response.get("hash", ""),
|
||||
"timestamp": response.get("timestamp", ""),
|
||||
"tx_count": response.get("tx_count", 0),
|
||||
}
|
||||
except NetworkError as e:
|
||||
logger.error(f"Blockchain status error: {e}")
|
||||
return {"status": "error", "error": "Failed to get blockchain status"}
|
||||
return {"status": "error", "error": f"RPC connection failed: {e}"}
|
||||
|
||||
|
||||
@router.get("/sync-status")
|
||||
async def blockchain_sync_status():
|
||||
"""Get blockchain synchronization status."""
|
||||
try:
|
||||
import httpx
|
||||
|
||||
from ..config import settings
|
||||
|
||||
rpc_url = settings.blockchain_rpc_url.rstrip("/")
|
||||
async with httpx.AsyncClient() as client:
|
||||
response = await client.get(f"{rpc_url}/rpc/syncStatus", timeout=5.0)
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
return {
|
||||
"status": "syncing" if data.get("syncing", False) else "synced",
|
||||
"current_height": data.get("current_height", 0),
|
||||
"target_height": data.get("target_height", 0),
|
||||
"sync_percentage": data.get("sync_percentage", 100.0),
|
||||
"last_block": data.get("last_block", {}),
|
||||
}
|
||||
else:
|
||||
return {
|
||||
"status": "error",
|
||||
"error": f"RPC returned {response.status_code}",
|
||||
"syncing": False,
|
||||
"current_height": 0,
|
||||
"target_height": 0,
|
||||
"sync_percentage": 0.0,
|
||||
}
|
||||
client = AITBCHTTPClient(timeout=5.0)
|
||||
response = client.get(f"{rpc_url}/rpc/syncStatus")
|
||||
if response.get("syncing", False):
|
||||
return {
|
||||
"status": "syncing",
|
||||
"current_block": response.get("current_block", 0),
|
||||
"highest_block": response.get("highest_block", 0),
|
||||
}
|
||||
else:
|
||||
return {"status": "synced", "block": response.get("current_block", 0)}
|
||||
except NetworkError as e:
|
||||
logger.error(f"Blockchain sync status error: {e}")
|
||||
return {"status": "error", "error": f"RPC connection failed: {e}"}
|
||||
except Exception as e:
|
||||
logger.error(f"Blockchain sync status error: {e}")
|
||||
return {
|
||||
"status": "error",
|
||||
"error": "Failed to get sync status",
|
||||
"syncing": False,
|
||||
"current_height": 0,
|
||||
"target_height": 0,
|
||||
"sync_percentage": 0.0,
|
||||
}
|
||||
return {"status": "error", "error": "Failed to get sync status"}
|
||||
|
||||
@@ -2,17 +2,16 @@
|
||||
Cache monitoring and management endpoints
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Request
|
||||
from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..config import settings
|
||||
from ..deps import require_admin_key
|
||||
from ..utils.cache_management import clear_cache, get_cache_stats, warm_cache
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
|
||||
@@ -7,14 +7,15 @@ Certification and Partnership API Endpoints
|
||||
REST API for agent certification, partnership programs, and badge system
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.certification import (
|
||||
AchievementBadge,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Annotated
|
||||
|
||||
@@ -6,6 +8,8 @@ from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from aitbc import get_logger, AITBCHTTPClient, NetworkError
|
||||
|
||||
from ..config import settings
|
||||
from ..custom_types import JobState
|
||||
from ..deps import require_client_key
|
||||
@@ -15,6 +19,8 @@ from ..services.payments import PaymentService
|
||||
from ..storage import get_session
|
||||
from ..utils.cache import cached, get_cache_config
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
router = APIRouter(tags=["client"])
|
||||
|
||||
|
||||
@@ -7,13 +7,14 @@ Community and Developer Ecosystem API Endpoints
|
||||
REST API for managing OpenClaw developer profiles, SDKs, solutions, and hackathons
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Body, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.community import (
|
||||
AgentSolution,
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
Bitcoin Exchange Router for AITBC
|
||||
"""
|
||||
|
||||
import logging
|
||||
import time
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
@@ -12,7 +11,9 @@ from fastapi import APIRouter, BackgroundTasks, HTTPException, Request
|
||||
from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
|
||||
@@ -7,14 +7,18 @@ Decentralized Governance API Endpoints
|
||||
REST API for OpenClaw DAO voting, proposals, and governance analytics
|
||||
"""
|
||||
|
||||
import logging
|
||||
from __future__ import annotations
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Body, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
from ..domain.governance import (
|
||||
GovernanceProfile,
|
||||
Proposal,
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, Request
|
||||
from fastapi import status as http_status
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, Request, status as http_status
|
||||
from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..config import settings
|
||||
from ..metrics import marketplace_errors_total, marketplace_requests_total
|
||||
from ..schemas import MarketplaceBidRequest, MarketplaceBidView, MarketplaceOfferView, MarketplaceStatsView
|
||||
@@ -15,7 +13,7 @@ from ..services import MarketplaceService
|
||||
from ..storage import get_session
|
||||
from ..utils.cache import cached, get_cache_config
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
|
||||
@@ -7,9 +7,9 @@ Enhanced Marketplace API Router - Phase 6.5
|
||||
REST API endpoints for advanced marketplace features including royalties, licensing, and analytics
|
||||
"""
|
||||
|
||||
import logging
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
|
||||
@@ -6,10 +6,11 @@ Enhanced Marketplace API Router - Simplified Version
|
||||
REST API endpoints for enhanced marketplace features
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
@@ -4,7 +4,6 @@ from typing import Annotated
|
||||
GPU marketplace endpoints backed by persistent SQLModel tables.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import statistics
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any
|
||||
@@ -16,12 +15,13 @@ from pydantic import BaseModel, Field
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlmodel import col, func, select
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..domain.gpu_marketplace import GPUBooking, GPURegistry, GPUReview
|
||||
from ..services.dynamic_pricing_engine import DynamicPricingEngine, PricingStrategy, ResourceType
|
||||
from ..services.market_data_collector import MarketDataCollector
|
||||
from ..storage import get_session
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
router = APIRouter(tags=["marketplace-gpu"])
|
||||
|
||||
|
||||
@@ -6,18 +6,18 @@ from sqlalchemy.orm import Session
|
||||
Router to create marketplace offers from registered miners
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from sqlmodel import Session, select
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..deps import require_admin_key
|
||||
from ..domain import MarketplaceOffer, Miner
|
||||
from ..schemas import MarketplaceOfferView
|
||||
from ..storage import get_session
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
router = APIRouter(tags=["marketplace-offers"])
|
||||
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
|
||||
|
||||
"""
|
||||
Marketplace Performance Optimization API Endpoints
|
||||
REST API for managing distributed processing, GPU optimization, caching, and scaling
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, BackgroundTasks, HTTPException
|
||||
from pydantic import BaseModel, Field
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from typing import Annotated, Any
|
||||
|
||||
@@ -7,6 +6,7 @@ from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from aitbc import get_logger
|
||||
from ..config import settings
|
||||
from ..deps import get_miner_id, require_miner_key
|
||||
from ..schemas import AssignedJob, JobFailSubmit, JobResultSubmit, JobState, MinerHeartbeat, MinerRegister, PollRequest
|
||||
@@ -14,7 +14,7 @@ from ..services import JobService, MinerService
|
||||
from ..services.receipts import ReceiptService
|
||||
from ..storage import get_session
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
limiter = Limiter(key_func=get_remote_address)
|
||||
|
||||
@@ -7,11 +7,11 @@ import asyncio
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
import httpx
|
||||
from fastapi import APIRouter
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger, AITBCHTTPClient, NetworkError
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -209,32 +209,31 @@ async def collect_all_health_data() -> dict[str, Any]:
|
||||
"timestamp": datetime.utcnow().isoformat(),
|
||||
}
|
||||
else:
|
||||
health_data[service_id] = result
|
||||
|
||||
return health_data
|
||||
|
||||
|
||||
async def check_service_health(client: httpx.AsyncClient, service_id: str, service_info: dict[str, Any]) -> dict[str, Any]:
|
||||
"""Check health of a specific service"""
|
||||
async def check_service_health(service_name: str, service_config: dict[str, Any]) -> dict[str, Any]:
|
||||
"""
|
||||
Check health status of a specific service
|
||||
"""
|
||||
try:
|
||||
response = await client.get(f"{service_info['url']}/health")
|
||||
|
||||
if response.status_code == 200:
|
||||
health_data = response.json()
|
||||
health_data["http_status"] = response.status_code
|
||||
health_data["response_time"] = str(response.elapsed.total_seconds()) + "s"
|
||||
return health_data
|
||||
else:
|
||||
return {
|
||||
"status": "unhealthy",
|
||||
"http_status": response.status_code,
|
||||
"error": f"HTTP {response.status_code}",
|
||||
"timestamp": datetime.utcnow().isoformat(),
|
||||
}
|
||||
|
||||
except httpx.TimeoutException:
|
||||
return {"status": "unhealthy", "error": "timeout", "timestamp": datetime.utcnow().isoformat()}
|
||||
except httpx.ConnectError:
|
||||
client = AITBCHTTPClient(timeout=5.0)
|
||||
health_url = f"{service_config['url']}/health"
|
||||
response = client.get(health_url)
|
||||
return {
|
||||
"status": "healthy",
|
||||
"response_time": 0.1, # Placeholder - would be measured
|
||||
"last_check": datetime.utcnow().isoformat(),
|
||||
"details": response,
|
||||
}
|
||||
except NetworkError as e:
|
||||
logger.warning(f"Service {service_name} health check failed: {e}")
|
||||
return {
|
||||
"status": "unhealthy",
|
||||
"error": str(e),
|
||||
"last_check": datetime.utcnow().isoformat(),
|
||||
}
|
||||
return {"status": "unhealthy", "error": "connection refused", "timestamp": datetime.utcnow().isoformat()}
|
||||
except Exception as e:
|
||||
return {"status": "unhealthy", "error": str(e), "timestamp": datetime.utcnow().isoformat()}
|
||||
|
||||
@@ -7,14 +7,15 @@ Multi-Modal Fusion and Advanced RL API Endpoints
|
||||
REST API for multi-modal agent fusion and advanced reinforcement learning
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query, WebSocket, WebSocketDisconnect
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.agent_performance import AgentCapability, CreativeCapability, FusionModel, ReinforcementLearningConfig
|
||||
from ..services.advanced_reinforcement_learning import (
|
||||
|
||||
@@ -7,9 +7,9 @@ OpenClaw Integration Enhancement API Router - Phase 6.6
|
||||
REST API endpoints for advanced agent orchestration, edge computing integration, and ecosystem development
|
||||
"""
|
||||
|
||||
import logging
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
|
||||
|
||||
@@ -9,17 +9,17 @@ import sys
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
import logging
|
||||
|
||||
import psutil
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from aitbc import get_logger
|
||||
|
||||
from ..services.openclaw_enhanced import OpenClawEnhancedService
|
||||
from ..storage import get_session
|
||||
|
||||
router = APIRouter()
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
@router.get("/health", tags=["health"], summary="OpenClaw Enhanced Service Health")
|
||||
|
||||
@@ -7,10 +7,11 @@ OpenClaw Enhanced API Router - Simplified Version
|
||||
REST API endpoints for OpenClaw integration features
|
||||
"""
|
||||
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
@@ -7,14 +7,15 @@ Reputation Management API Endpoints
|
||||
REST API for agent reputation, trust scores, and economic profiles
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from sqlmodel import Field, func, select
|
||||
|
||||
|
||||
@@ -7,14 +7,15 @@ Reward System API Endpoints
|
||||
REST API for agent rewards, incentives, and performance-based earnings
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.rewards import AgentRewardProfile, RewardStatus, RewardTier, RewardType
|
||||
from ..services.reward_service import RewardEngine
|
||||
|
||||
@@ -7,14 +7,15 @@ P2P Trading Protocol API Endpoints
|
||||
REST API for agent-to-agent trading, matching, negotiation, and settlement
|
||||
"""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.trading import (
|
||||
NegotiationStatus,
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
Web Vitals API endpoint for collecting performance metrics
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@@ -2,12 +2,11 @@
|
||||
Blockchain service for AITBC token operations
|
||||
"""
|
||||
|
||||
import logging
|
||||
import re
|
||||
|
||||
import httpx
|
||||
from aitbc import get_logger, AITBCHTTPClient, NetworkError
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..config import settings
|
||||
|
||||
@@ -34,17 +33,16 @@ def validate_address(address: str) -> bool:
|
||||
async def mint_tokens(address: str, amount: float) -> dict:
|
||||
"""Mint AITBC tokens to an address"""
|
||||
|
||||
async with httpx.AsyncClient() as client:
|
||||
response = await client.post(
|
||||
client = AITBCHTTPClient(timeout=10.0)
|
||||
try:
|
||||
response = client.post(
|
||||
f"{BLOCKCHAIN_RPC}/admin/mintFaucet",
|
||||
json={"address": address, "amount": amount},
|
||||
headers={"X-Api-Key": settings.admin_api_keys[0] if settings.admin_api_keys else ""},
|
||||
)
|
||||
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
raise Exception(f"Failed to mint tokens: {response.text}")
|
||||
return response
|
||||
except NetworkError as e:
|
||||
raise Exception(f"Failed to mint tokens: {e}")
|
||||
|
||||
|
||||
def get_balance(address: str) -> float | None:
|
||||
|
||||
@@ -8,15 +8,18 @@ from sqlalchemy.orm import Session
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import httpx
|
||||
from sqlmodel import select
|
||||
|
||||
from aitbc import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
from ..domain.payment import JobPayment, PaymentEscrow
|
||||
from ..schemas import JobPaymentCreate, JobPaymentView
|
||||
from ..storage import get_session
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class PaymentService:
|
||||
"""Service for handling job payments"""
|
||||
|
||||
Reference in New Issue
Block a user