Files
aitbc/packages/py/aitbc-agent-core/README.md
aitbc 573aae065b
Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 56s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 5s
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Failing after 19s
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Failing after 18s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 4s
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Failing after 21s
Documentation Validation / validate-docs (push) Failing after 13s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Failing after 2s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 4s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 14s
Node Failover Simulation / failover-test (push) Successful in 9s
P2P Network Verification / p2p-verification (push) Successful in 5s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 51s
Package Tests / Python package - aitbc-core (push) Failing after 3s
Package Tests / Python package - aitbc-crypto (push) Successful in 22s
Package Tests / Python package - aitbc-sdk (push) Successful in 16s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 21s
Package Tests / JavaScript package - aitbc-token (push) Failing after 18s
Production Tests / Production Integration Tests (push) Failing after 1m9s
Python Tests / test-python (push) Failing after 3s
Security Scanning / security-scan (push) Failing after 41s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 6s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Failing after 7s
Smart Contract Tests / test-foundry (push) Failing after 20s
Smart Contract Tests / lint-solidity (push) Failing after 4s
Smart Contract Tests / deploy-contracts (push) Failing after 5s
Cross-Chain Functionality Tests / aggregate-results (push) Successful in 2s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
feat: complete codebase remediation with all phases
Phase 1: Security fixes
- Added CORSMiddleware to marketplace-service with specific origins
- Fixed blockchain-node auth to fail closed on JWT errors
- Added security regression tests (test_cors_configuration.py, test_dispute_auth.py)

Phase 2: Repository cleanup
- Removed 51 fix/backup/legacy files
- Deleted marketplace-service-debug directory

Phase 3.1: Python version constraints
- Updated aitbc-crypto and aitbc-sdk with requires-python >=3.13
- Added explicit [tool.poetry].packages declarations

Phase 3.2: Agent service DI architecture
- Created aitbc-agent-core package with protocols and shared service
- Implemented adapters for agent-management and coordinator-api
- Created factory functions for gradual migration
- Added migration comments to existing integration files

Phase 4.1: Auth/utils extraction
- Created auth.py module with JWT validation and security utilities
- Created utils.py module with common helpers

Phase 4.2: Router decomposition
- Decomposed router.py into 10 domain modules (58 endpoints)
- Created route table snapshot for verification
- Preserved router_old.py as reference

Phase 5: App shell classification
- Documented app shell patterns across services

Phase 6: Quality gates
- Verified mypy type checking (75% error reduction)
- Analyzed logging inconsistencies with structlog migration plan
- Removed unused orjson dependency

Documentation:
- Created comprehensive remediation report
- Added architecture documentation for DI pattern
- Added quality analysis documents
2026-05-24 20:21:23 +02:00

100 lines
2.8 KiB
Markdown

# AITBC Agent Core
Shared agent service logic with protocol-based dependency injection.
## Purpose
This package provides shared business logic for agent integration and orchestration across multiple AITBC applications. It uses protocol-based dependency injection to avoid coupling to app-specific implementations, enabling code reuse while maintaining flexibility.
## Architecture
### Protocol-Based Design
The package defines abstract protocols (interfaces) for all dependencies:
- **Domain Protocols**: `IAgentExecution`, `IAgentStepExecution` - Domain model interfaces
- **Security Protocols**: `ISecurityManager`, `IAuditor` - Security and auditing interfaces
- **Orchestration Protocol**: `IAgentOrchestrator` - Workflow orchestration interface
- **ZK Proof Protocol**: `IZKProofService` - Zero-knowledge proof generation/verification
- **Database Protocol**: `ISessionProvider` - Database session management
### Core Service
`AgentIntegrationService` contains pure business logic that:
- Deploys agents with configuration
- Generates verification proofs
- Verifies execution proofs
- Queries execution status
All dependencies are injected via constructor, enabling app-specific adapters.
## Usage
### App-Specific Adapters
Each app implements protocols for its domain models and services:
```python
# Example adapter for agent-management
from aitbc_agent_core.protocols import ISecurityManager
from app.services.agent_security import AgentSecurityManager
class AgentSecurityManagerAdapter(ISecurityManager):
def __init__(self, manager: AgentSecurityManager):
self._manager = manager
async def validate_operation(self, operation: str, context: dict) -> bool:
return await self._manager.validate_operation(operation, context)
async def audit_event(self, event_type: str, details: dict) -> None:
await self._manager.audit_event(event_type, details)
```
### Factory Pattern
Create the shared service with app-specific adapters:
```python
from aitbc_agent_core import AgentIntegrationService
from .adapters import (
SessionProviderAdapter,
SecurityManagerAdapter,
AuditorAdapter,
OrchestratorAdapter,
)
def create_agent_integration_service():
return AgentIntegrationService(
session_provider=SessionProviderAdapter(get_session),
security_manager=SecurityManagerAdapter(AgentSecurityManager()),
auditor=AuditorAdapter(AgentAuditor()),
orchestrator=OrchestratorAdapter(AIAgentOrchestrator()),
zk_proof_service=ZKProofServiceAdapter(ZKProofService()),
)
```
## Installation
```bash
poetry add aitbc-agent-core
```
## Development
### Running Tests
```bash
poetry install --with test
poetry run pytest
```
### Type Checking
```bash
poetry run mypy src
```
## License
Proprietary - AITBC Project