Commit Graph

30 Commits

Author SHA1 Message Date
aitbc
f82ccb8e7d refactor: add aitbc package to Python path in marketplace-service
- Added sys and pathlib imports to main.py
- Inserted parent directory (5 levels up) to sys.path for aitbc package resolution
- Ensures marketplace-service can import shared aitbc modules
2026-05-19 12:49:26 +02:00
aitbc
83ca64f7b8 feat: add /v1 API prefix to all business logic endpoints and create CLI test suite
Some checks failed
API Endpoint Tests / test-api-endpoints (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Production Tests / Production Integration Tests (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
CLI Tests / test-cli (push) Failing after 3s
- Added /v1 prefix to all business logic routers in coordinator-api (analytics, portfolio, reputation, rewards, staking)
- Updated agent-coordinator to include /v1 prefix for all routers
- Changed agent-management API prefix from /api/v1 to /v1
- Updated api-gateway service prefixes to include /v1 for all proxied services
- Fixed coordinator-api routers to use correct service imports (AgentServiceMarketplace instead
2026-05-19 12:46:59 +02:00
aitbc
c63bbbd861 fix: use 'or' operator instead of get() default for wallet provider fallback
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Changed bid_data provider from .get('wallet', 'unknown') to .get('wallet') or 'unknown'
- Ensures None values from get() are properly handled with fallback to 'unknown'
2026-05-19 11:44:36 +02:00
aitbc
1f9aa8afc3 Implement knowledge graph marketplace backend with database and REST endpoints
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Marketplace service:
- Added KnowledgeGraph model (id, name, description, owner, status, created_at, updated_at)
- Added GraphNode model (id, graph_id, node_type, label, properties, created_at, updated_at)
- Added GraphEdge model (id, graph_id, source_node_id, target_node_id, edge_type, properties, weight, created_at, updated_at)
- Added create_graph() service method
- Added add_node() service method
- Added add_edge() service method
- Added query_graph() service method
- Added POST /v1/knowledge-graph endpoint for creating graphs
- Added POST /v1/knowledge-graph/{graph_id}/nodes endpoint for adding nodes
- Added POST /v1/knowledge-graph/{graph_id}/edges endpoint for adding edges
- Added GET /v1/knowledge-graph/{graph_id} endpoint for querying graphs
- Created knowledgegraph, graphnode, and graphedge tables in aitbc_marketplace database

Implements knowledge graph operations (create graph, add node, add edge, query) referenced by CLI commands
2026-05-15 00:38:32 +02:00
aitbc
b27e29c3e4 Fix SQLAlchemy reserved name conflict - rename metadata to plugin_metadata
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Plugin model:
- Renamed 'metadata' field to 'plugin_metadata'
- 'metadata' is reserved in SQLAlchemy Declarative API
- Updated database column: ALTER TABLE plugin RENAME COLUMN metadata TO plugin_metadata

Fixes marketplace service startup error
2026-05-15 00:31:29 +02:00
aitbc
bc6ff19568 Implement plugin marketplace backend with database
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Marketplace service:
- Added Plugin model to database schema (id, name, description, author, type, version, ipfs_cid, metadata, status, created_at, updated_at, download_count, rating)
- Added list_plugins() service method with type and status filters
- Added register_plugin() service method
- Updated GET /v1/marketplace/plugins to use database instead of mock data
- Added POST /v1/marketplace/plugins endpoint for plugin registration
- Created plugin table in aitbc_marketplace database

Replaces mock plugin data with real database-backed plugin marketplace
2026-05-15 00:29:43 +02:00
aitbc
c4a2afee37 Add missing plugin CLI commands and REST API endpoint
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
CLI:
- Added 'aitbc plugin create' - Create new plugin skeleton
- Added 'aitbc plugin package' - Package plugin for distribution
- Added 'aitbc market list-plugin' - List marketplace plugins

Marketplace service:
- Added GET /v1/marketplace/plugins endpoint
- Returns mock plugin data (cli_enhancer, web_dashboard, security_scanner)

Fixes scenario doc references to non-existent plugin commands
2026-05-15 00:24:29 +02:00
aitbc
398c14ed96 Make marketplace offer provider nullable - no auth context in router
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Marketplace service:
- Changed provider field to nullable in MarketplaceOffer model
- Removed default-provider logic since router has no auth context
- Allows offer creation without provider when auth not available
2026-05-15 00:08:40 +02:00
aitbc
86b39d4724 Fix marketplace offer creation provider NULL constraint violation
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Marketplace service:
- Added default provider 'default-provider' when neither wallet nor provider provided
- Fixes NOT NULL constraint violation on provider column
- Allows offer creation without explicit provider/wallet specification
2026-05-15 00:05:09 +02:00
aitbc
f77ef06b0a fix: resolve trading service async/sync mismatch and enhance analytics
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Fix TradingService: convert all methods to async to match AsyncSession
- Fix router: await all async service method calls in trading main.py
- Auto-generate request_id/match_id/agreement_id in create methods
- Enhance marketplace analytics: real counts, avg price, total capacity
- Enhance trading analytics: real request/match/agreement counts
- All trading endpoints now return data instead of 500 errors
2026-05-14 16:20:42 +02:00
aitbc
745f791eda refactor: improve error handling and remove hardcoded credentials
- Changed bare except clauses to specific exception types in web3_utils.py, testing.py, messages.py, and message_storage.py
- Replaced print() calls with logger in testing.py, agent_discovery.py, compliance_agent.py, coordinator.py, trading_agent.py, keys.py, escrow.py, persistent_spending_tracker.py, sync_cli.py, and client.py
- Added logger initialization using get_logger(__name__) in compliance_agent.py, coordinator.py, trading_agent.py, keys.py, escrow.py, persistent_spending_tracker.py, and client.py
- Removed hardcoded secret
2026-05-12 17:01:57 +02:00
aitbc
e4f1a96172 ci: standardize pytest invocation and add security scanning
Some checks failed
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 5s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Cross-Node Transaction Testing / transaction-test (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Successful in 1m14s
Contract Performance Benchmarks / compare-benchmarks (push) Has been cancelled
Documentation Validation / validate-docs (push) Failing after 10s
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Has been cancelled
Smart Contract Tests / test-foundry (push) Has been cancelled
Smart Contract Tests / lint-solidity (push) Has been cancelled
Smart Contract Tests / deploy-contracts (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Failing after 45s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Failing after 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 5s
P2P Network Verification / p2p-verification (push) Successful in 3s
Production Tests / Production Integration Tests (push) Failing after 7s
Python Tests / test-python (push) Failing after 46s
Staking Tests / test-staking-service (push) Failing after 2s
Staking Tests / test-staking-integration (push) Has been skipped
Staking Tests / test-staking-contract (push) Has been skipped
Staking Tests / run-staking-test-runner (push) Has been skipped
Systemd Sync / sync-systemd (push) Successful in 21s
API Endpoint Tests / test-api-endpoints (push) Failing after 12m19s
- Changed pytest calls to use `venv/bin/python -m pytest` with explicit config
- Added `--rootdir "$PWD"` and `--import-mode=importlib` for consistent imports
- Fixed PYTHONPATH to use absolute paths with $PWD prefix
- Added smart contract security scanning for Solidity files
- Added Circom circuit security checks for ZK proof circuits
- Added ZK proof implementation security validation
- Added contracts/** to security scanning workflow
2026-05-11 13:46:42 +02:00
aitbc
fb09022e84 fix: resolve JSON serialization in list_bids and add orders endpoint
Some checks failed
Deploy to Testnet / deploy-testnet (push) Successful in 1m13s
Integration Tests / test-service-integration (push) Successful in 2m38s
Python Tests / test-python (push) Failing after 1m5s
Security Scanning / security-scan (push) Failing after 17s
Node Failover Simulation / failover-test (push) Successful in 2s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Cross-Node Transaction Testing / transaction-test (push) Successful in 2s
- Convert SQLAlchemy objects to dictionaries in list_bids method
- Add GET /v1/marketplace/orders endpoint for CLI compatibility
- Fixes 500 error when listing bids
- Fixes 404 error when CLI calls orders endpoint
- Orders endpoint returns bids in expected format
2026-05-08 19:54:02 +02:00
aitbc
587841935e feat: add book endpoint for purchasing marketplace offers
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 2s
Deploy to Testnet / deploy-testnet (push) Successful in 1m11s
Integration Tests / test-service-integration (push) Successful in 2m37s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Python Tests / test-python (push) Failing after 1m6s
Security Scanning / security-scan (push) Failing after 29s
- Add POST /v1/marketplace/offers/{offer_id}/book endpoint
- Implement book_offer method to create bids for offers
- Fixes 404 error when CLI tries to purchase offers
- Returns bid_id, offer_id, status, and message
2026-05-08 19:47:10 +02:00
aitbc
4ac23bf3cf fix: convert SQLAlchemy model objects to dictionaries for JSON serialization
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
Deploy to Testnet / deploy-testnet (push) Successful in 1m9s
Integration Tests / test-service-integration (push) Successful in 2m38s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Python Tests / test-python (push) Failing after 1m6s
Security Scanning / security-scan (push) Successful in 30s
- Update list_offers to return dict instead of SQLAlchemy model objects
- Fixes ValueError and TypeError in FastAPI jsonable_encoder
- Converts all offer fields to dictionaries with proper datetime serialization
- Added logging for conversion tracking
2026-05-08 19:30:42 +02:00
aitbc
528c822f09 fix: add wallet to provider mapping in marketplace create_offer
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
Deploy to Testnet / deploy-testnet (push) Successful in 1m9s
Integration Tests / test-service-integration (push) Successful in 2m38s
Multi-Node Stress Testing / stress-test (push) Successful in 4s
Node Failover Simulation / failover-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Map wallet parameter from CLI to provider field in database
- Fixes NotNullViolationError on provider column
- CLI sends wallet, database expects provider column (NOT NULL)
- Added mapping logic in create_offer method
2026-05-08 19:26:38 +02:00
aitbc
6549483b18 fix: resolve datetime timezone error in marketplace service
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 4s
Deploy to Testnet / deploy-testnet (push) Successful in 1m10s
Integration Tests / test-service-integration (push) Successful in 2m38s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
- Change created_at and submitted_at fields to use datetime.utcnow instead of datetime.now(timezone.utc)
- Fixes TypeError: can't subtract offset-naive and offset-aware datetimes
- Database column is TIMESTAMP WITHOUT TIME ZONE, so timezone-naive datetime is required
2026-05-08 19:22:34 +02:00
aitbc
130a295366 Add async/await support and comprehensive logging to marketplace service with session management improvements
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 3s
Deploy to Testnet / deploy-testnet (push) Successful in 1m13s
Integration Tests / test-service-integration (push) Successful in 2m39s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 3s
Python Tests / test-python (push) Failing after 1m10s
Security Scanning / security-scan (push) Has been cancelled
- Convert MarketplaceService methods to async (list_offers, get_offer, create_offer, list_bids, create_bid)
- Add await to all database operations (execute, commit, refresh)
- Change Session to AsyncSession in MarketplaceService constructor
- Add try-except blocks with detailed logging to all service methods
- Add logging for method entry, database queries, result counts, and errors
- Add try-except with logging to get_session generator
- Simpl
2026-05-08 19:17:11 +02:00
aitbc
07f988bc1f fix: address gateway resilience and readiness review items
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 10s
Deploy to Testnet / deploy-testnet (push) Successful in 1m13s
Integration Tests / test-service-integration (push) Successful in 1m37s
Multi-Node Stress Testing / stress-test (push) Successful in 1s
Node Failover Simulation / failover-test (push) Failing after 3s
Python Tests / test-python (push) Successful in 20s
Security Scanning / security-scan (push) Failing after 26s
2026-05-02 16:17:15 +02:00
aitbc
0784080465 fix: address post-push review issues - security, resilience, and code quality
Some checks failed
CLI Tests / test-cli (push) Failing after 4s
Cross-Node Transaction Testing / transaction-test (push) Successful in 10s
Deploy to Testnet / deploy-testnet (push) Successful in 1m8s
Deploy to Testnet / notify-deployment (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Integration Tests / test-service-integration (push) Successful in 2m7s
Python Tests / test-python (push) Successful in 15s
Security Scanning / security-scan (push) Has been cancelled
- Fix hardcoded DATABASE_URL in 4 new microservices (gpu-service, governance-service, trading-service, marketplace-service) - now use os.getenv() with SQLite fallback
- Move httpx.AsyncClient to API gateway lifespan for connection pooling
- Add 30-second timeout to API gateway proxy calls
- Move hardcoded service URLs to environment variables in API gateway (GPU_SERVICE_URL, MARKETPLACE_SERVICE_URL, etc.)
- Add cli/build/ and cli/dist/ to .gitignore and remove 42 stale build artifacts from git
- Fix version pinning conflicts in 4 new service pyproject.toml files (align with root: fastapi >=0.115.6, sqlmodel >=0.0.38, pytest >=9.0.3)
- Fix 18 remaining datetime.utcnow() calls in monitoring-service and ai-service (replace with datetime.now(timezone.utc))
- Add retries (3 attempts), authentication (Bearer token), rate limiting (100/min via slowapi), and circuit breaker to API gateway
- Add /ready and /live endpoints to 4 new microservices for production readiness/liveness probes
- Audit debug logging - confirmed no sensitive data (passwords, keys, secrets, tokens) is logged; cache keys and masked API keys are safe
2026-05-02 14:51:13 +02:00
aitbc
e49f9a632c Fix marketplace service database credentials
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Successful in 18s
Deploy to Testnet / deploy-testnet (push) Successful in 1m24s
Integration Tests / test-service-integration (push) Successful in 3m13s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
Python Tests / test-python (push) Failing after 10s
Security Scanning / security-scan (push) Successful in 34s
Deploy to Testnet / notify-deployment (push) Successful in 9s
2026-05-02 09:52:19 +02:00
aitbc
8602732d46 Convert API gateway to old Poetry format and add service routing for new microservices
Some checks failed
Node Failover Simulation / failover-test (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
API Endpoint Tests / test-api-endpoints (push) Successful in 1m55s
Blockchain Synchronization Verification / sync-verification (push) Failing after 11s
CLI Tests / test-cli (push) Failing after 8s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 12s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 13s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 13s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
P2P Network Verification / p2p-verification (push) Successful in 6s
Package Tests / Python package - aitbc-agent-sdk (push) Failing after 32s
Package Tests / Python package - aitbc-core (push) Successful in 15s
Package Tests / Python package - aitbc-crypto (push) Successful in 11s
Package Tests / Python package - aitbc-sdk (push) Successful in 11s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 26s
Package Tests / JavaScript package - aitbc-token (push) Successful in 25s
Production Tests / Production Integration Tests (push) Failing after 1m15s
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Failing after 2m5s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 31s
Smart Contract Tests / test-foundry (push) Failing after 19s
Smart Contract Tests / lint-solidity (push) Successful in 17s
Smart Contract Tests / deploy-contracts (push) Successful in 1m24s
Staking Tests / test-staking-service (push) Failing after 14s
Staking Tests / test-staking-integration (push) Has been skipped
Staking Tests / test-staking-contract (push) Has been skipped
Staking Tests / run-staking-test-runner (push) Has been skipped
Systemd Sync / sync-systemd (push) Successful in 22s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 14m13s
- Convert api-gateway pyproject.toml to old Poetry format for workspace compatibility
- Add routing configuration for AI service (port 8106)
- Add routing configuration for Monitoring service (port 8107)
- Add routing configuration for OpenClaw service (port 8108)
- Add routing configuration for Plugin service (port 8109)
- Remove duplicate middleware implementations from coordinator-api (app_logging.py, error
2026-04-30 16:15:05 +02:00
aitbc
85034afbb9 Fix datetime.now() calls to use lambda for default_factory in all services
- Fixed datetime.now() calls in gpu_marketplace.py to use lambda wrapper
- Fixed datetime.now() calls in global_marketplace.py to use lambda wrapper
- Fixed datetime.now() calls in marketplace.py to use lambda wrapper
- Fixed datetime.now() calls in trading.py to use lambda wrapper
- This fixes AttributeError when FieldInfo tries to access 'utc' attribute
2026-04-30 12:20:37 +02:00
aitbc
f6900d6bf6 Add pytest test files for microservices
- Created test files for GPU service (tests/test_main.py)
- Created test files for Marketplace service (tests/test_main.py)
- Created test files for Trading service (tests/test_main.py)
- Created test files for Governance service (tests/test_main.py)
- Created integration tests for API gateway (tests/test_gateway.py)
- Added pytest dependencies to all service pyproject.toml files
- Created TEST_COVERAGE_REQUIREMENTS.md documenting coverage targets and best practices

This completes Phase 8: Create pytest test files for microservices
2026-04-30 11:57:09 +02:00
aitbc
1315884dec Add comprehensive testing documentation for microservices
- Created MICROSERVICES_TESTING_GUIDE.md with detailed testing procedures
- Updated GPU service README with detailed testing steps and expected responses
- Updated Marketplace service README with detailed testing steps and expected responses
- Updated Trading service README with detailed testing steps and expected responses
- Updated Governance service README with detailed testing steps and expected responses
- Updated API gateway README with detailed testing steps and routing tests

This completes Phase 7b: Update service READMEs with detailed testing steps
2026-04-30 11:50:20 +02:00
aitbc
9227d22653 Update marketplace-service README with migration status
- Added database setup command using setup-database.sql
- Added testing instructions for end-to-end testing with gateway
- Added migration status section documenting completed and remaining tasks
- Documented that marketplace service is very large (~130K lines) and full removal requires careful coordination

This completes Phase 4.4: Extract Marketplace Service (foundation created, full removal from coordinator-api requires additional work)
2026-04-30 11:30:45 +02:00
aitbc
1727d552b6 Add database setup script for marketplace service
- Created scripts/setup-database.sql to create aitbc_marketplace database
- Database configured with aitbc_marketplace user and privileges

This completes Phase 4.4d: Setup separate database for marketplace service
2026-04-30 11:30:02 +02:00
aitbc
a5fb454100 Extract marketplace services to marketplace-service
- Created MarketplaceService with basic CRUD operations
- Created storage.py for database session management
- Updated main.py to include database initialization and marketplace endpoints:
  - GET /v1/marketplace/offers
  - GET /v1/marketplace/offers/{offer_id}
  - POST /v1/marketplace/offers
  - GET /v1/marketplace/bids
  - POST /v1/marketplace/bids
  - GET /v1/marketplace/analytics

This completes Phase 4.4c: Extract marketplace services
2026-04-30 11:29:27 +02:00
aitbc
b7e5289e15 Extract marketplace domain models to marketplace-service
- Created domain directory with marketplace and global_marketplace models
- Extracted MarketplaceOffer and MarketplaceBid from coordinator-api
- Extracted global marketplace models:
  - MarketplaceStatus and RegionStatus enums
  - MarketplaceRegion
  - GlobalMarketplaceConfig
  - GlobalMarketplaceOffer
  - GlobalMarketplaceTransaction
- Updated domain __init__.py to export all models

This completes Phase 4.4b: Extract marketplace domain models
2026-04-30 11:28:01 +02:00
aitbc
e15477dc55 Create marketplace-service foundation
- Created marketplace-service application structure
- Added pyproject.toml with FastAPI, SQLModel, asyncpg, and aitbc-core dependencies
- Implemented main.py with basic marketplace service structure
- Created systemd service file for marketplace-service (port 8102)
- Added README.md with installation and configuration instructions

This starts Phase 4.4: Extract Marketplace Service (foundation created)
2026-04-30 11:26:46 +02:00