""" AITBC Package Centralized utilities for AITBC applications """ from .aitbc_logging import get_logger, setup_logger from .constants import ( DATA_DIR, CONFIG_DIR, LOG_DIR, REPO_DIR, KEYSTORE_DIR, BLOCKCHAIN_DATA_DIR, MARKETPLACE_DATA_DIR, ENV_FILE, NODE_ENV_FILE, BLOCKCHAIN_RPC_PORT, BLOCKCHAIN_P2P_PORT, AGENT_COORDINATOR_PORT, MARKETPLACE_PORT, PACKAGE_VERSION, ) from .exceptions import ( AITBCError, ConfigurationError, NetworkError, AuthenticationError, EncryptionError, DatabaseError, ValidationError, BridgeError, RetryError, CircuitBreakerOpenError, RateLimitError, ) from .env import ( get_env_var, get_required_env_var, get_bool_env_var, get_int_env_var, get_float_env_var, get_list_env_var, ) from .paths import ( get_data_path, get_config_path, get_log_path, get_repo_path, ensure_dir, ensure_file_dir, resolve_path, get_keystore_path, get_blockchain_data_path, get_marketplace_data_path, ) from .json_utils import ( load_json, save_json, merge_json, json_to_string, string_to_json, get_nested_value, set_nested_value, flatten_json, ) from .http_client import AITBCHTTPClient, AsyncAITBCHTTPClient from .config import BaseAITBCConfig, AITBCConfig from .decorators import ( retry, timing, cache_result, validate_args, handle_exceptions, async_timing, ) from .validation import ( validate_address, validate_hash, validate_url, validate_port, validate_email, validate_non_empty, validate_positive_number, validate_range, validate_chain_id, validate_uuid, ) from .async_helpers import ( run_sync, gather_with_concurrency, run_with_timeout, batch_process, sync_to_async, async_to_sync, retry_async, wait_for_condition, ) from .database import ( DatabaseConnection, get_database_connection, ensure_database, vacuum_database, get_table_info, table_exists, ) from .monitoring import ( MetricsCollector, PerformanceTimer, HealthChecker, ) from .data_layer import DataLayer, MockDataGenerator, RealDataFetcher, get_data_layer from .crypto import ( derive_ethereum_address, sign_transaction_hash, verify_signature, encrypt_private_key, decrypt_private_key, generate_secure_random_bytes, keccak256_hash, sha256_hash, validate_ethereum_address, generate_ethereum_private_key, ) from .web3_utils import Web3Client, create_web3_client from .security import ( generate_token, generate_api_key, validate_token_format, validate_api_key, SessionManager, APIKeyManager, generate_secure_random_string, generate_secure_random_int, SecretManager, hash_password, verify_password, generate_nonce, generate_hmac, verify_hmac, ) from .time_utils import ( get_utc_now, get_timestamp_utc, format_iso8601, parse_iso8601, timestamp_to_iso, iso_to_timestamp, format_duration, format_duration_precise, parse_duration, add_duration, subtract_duration, get_time_until, get_time_since, calculate_deadline, is_deadline_passed, get_deadline_remaining, format_time_ago, format_time_in, to_timezone, get_timezone_offset, is_business_hours, get_start_of_day, get_end_of_day, get_start_of_week, get_end_of_week, get_start_of_month, get_end_of_month, sleep_until, retry_until_deadline, Timer, ) from .api_utils import ( APIResponse, PaginatedResponse, success_response, error_response, not_found_response, unauthorized_response, forbidden_response, validation_error_response, conflict_response, internal_error_response, PaginationParams, paginate_items, build_paginated_response, RateLimitHeaders, build_cors_headers, build_standard_headers, validate_sort_field, validate_sort_order, build_sort_params, filter_fields, exclude_fields, sanitize_response, merge_responses, get_client_ip, get_user_agent, build_request_metadata, ) from .events import ( Event, EventPriority, EventBus, AsyncEventBus, event_handler, publish_event, get_global_event_bus, set_global_event_bus, EventFilter, EventAggregator, EventRouter, ) from .queue_manager import ( Job, JobStatus, JobPriority, TaskQueue, JobScheduler, BackgroundTaskManager, WorkerPool, debounce, throttle, ) from .state import ( StateTransition, StateTransitionError, StatePersistenceError, StateMachine, ConfigurableStateMachine, StatePersistence, AsyncStateMachine, StateMonitor, StateValidator, StateSnapshot, ) from .testing import ( MockFactory, TestDataGenerator, TestHelpers, MockResponse, MockDatabase, MockCache, mock_async_call, create_mock_config, create_test_scenario, ) __version__ = "0.6.0" __all__ = [ # Logging "get_logger", "setup_logger", # Constants "DATA_DIR", "CONFIG_DIR", "LOG_DIR", "REPO_DIR", "KEYSTORE_DIR", "BLOCKCHAIN_DATA_DIR", "MARKETPLACE_DATA_DIR", "ENV_FILE", "NODE_ENV_FILE", "BLOCKCHAIN_RPC_PORT", "BLOCKCHAIN_P2P_PORT", "AGENT_COORDINATOR_PORT", "MARKETPLACE_PORT", "PACKAGE_VERSION", # Exceptions "AITBCError", "ConfigurationError", "NetworkError", "AuthenticationError", "EncryptionError", "DatabaseError", "ValidationError", "BridgeError", "RetryError", "CircuitBreakerOpenError", "RateLimitError", # Environment helpers "get_env_var", "get_required_env_var", "get_bool_env_var", "get_int_env_var", "get_float_env_var", "get_list_env_var", # Path utilities "get_data_path", "get_config_path", "get_log_path", "get_repo_path", "ensure_dir", "ensure_file_dir", "resolve_path", "get_keystore_path", "get_blockchain_data_path", "get_marketplace_data_path", # JSON utilities "load_json", "save_json", "merge_json", "json_to_string", "string_to_json", "get_nested_value", "set_nested_value", "flatten_json", # HTTP client "AITBCHTTPClient", "AsyncAITBCHTTPClient", # Configuration "BaseAITBCConfig", "AITBCConfig", # Decorators "retry", "timing", "cache_result", "validate_args", "handle_exceptions", "async_timing", # Validators "validate_address", "validate_hash", "validate_url", "validate_port", "validate_email", "validate_non_empty", "validate_positive_number", "validate_range", "validate_chain_id", "validate_uuid", # Async helpers "run_sync", "gather_with_concurrency", "run_with_timeout", "batch_process", "sync_to_async", "async_to_sync", "retry_async", "wait_for_condition", # Database "DatabaseConnection", "get_database_connection", "ensure_database", "vacuum_database", "get_table_info", "table_exists", # Data layer "DataLayer", "MockDataGenerator", "RealDataFetcher", "get_data_layer", # Monitoring "MetricsCollector", "PerformanceTimer", "HealthChecker", # Cryptography "derive_ethereum_address", "sign_transaction_hash", "verify_signature", "encrypt_private_key", "decrypt_private_key", "generate_secure_random_bytes", "keccak256_hash", "sha256_hash", "validate_ethereum_address", "generate_ethereum_private_key", # Web3 utilities "Web3Client", "create_web3_client", # Security "generate_token", "generate_api_key", "validate_token_format", "validate_api_key", "SessionManager", "APIKeyManager", "generate_secure_random_string", "generate_secure_random_int", "SecretManager", "hash_password", "verify_password", "generate_nonce", "generate_hmac", "verify_hmac", # Time utilities "get_utc_now", "get_timestamp_utc", "format_iso8601", "parse_iso8601", "timestamp_to_iso", "iso_to_timestamp", "format_duration", "format_duration_precise", "parse_duration", "add_duration", "subtract_duration", "get_time_until", "get_time_since", "calculate_deadline", "is_deadline_passed", "get_deadline_remaining", "format_time_ago", "format_time_in", "to_timezone", "get_timezone_offset", "is_business_hours", "get_start_of_day", "get_end_of_day", "get_start_of_week", "get_end_of_week", "get_start_of_month", "get_end_of_month", "sleep_until", "retry_until_deadline", "Timer", # API utilities "APIResponse", "PaginatedResponse", "success_response", "error_response", "not_found_response", "unauthorized_response", "forbidden_response", "validation_error_response", "conflict_response", "internal_error_response", "PaginationParams", "paginate_items", "build_paginated_response", "RateLimitHeaders", "build_cors_headers", "build_standard_headers", "validate_sort_field", "validate_sort_order", "build_sort_params", "filter_fields", "exclude_fields", "sanitize_response", "merge_responses", "get_client_ip", "get_user_agent", "build_request_metadata", # Events "Event", "EventPriority", "EventBus", "AsyncEventBus", "event_handler", "publish_event", "get_global_event_bus", "set_global_event_bus", "EventFilter", "EventAggregator", "EventRouter", # Queue "Job", "JobStatus", "JobPriority", "TaskQueue", "JobScheduler", "BackgroundTaskManager", "WorkerPool", "debounce", "throttle", # State "StateTransition", "StateTransitionError", "StatePersistenceError", "StateMachine", "ConfigurableStateMachine", "StatePersistence", "AsyncStateMachine", "StateMonitor", "StateValidator", "StateSnapshot", # Testing "MockFactory", "TestDataGenerator", "TestHelpers", "MockResponse", "MockDatabase", "MockCache", "mock_async_call", "create_mock_config", "create_test_scenario", ]