@iota-big3/sdk-gateway
Version:
Universal API Gateway with protocol translation, intelligent routing, rate limiting, health checking, and caching
107 lines • 7.26 kB
JavaScript
;
/**
* @iota-big3/sdk-gateway
* Clean Index - Phase 2d Rebuild
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_PERFORMANCE_THRESHOLDS = exports.DEFAULT_CHAOS_OPTIONS = exports.DEFAULT_RATE_LIMIT_CONFIG = exports.DEFAULT_CIRCUIT_BREAKER_CONFIG = exports.DEFAULT_GATEWAY_CONFIG = exports.CacheManager = exports.CostTracker = exports.validateGatewayRequest = exports.validateDiscoveredService = exports.isServiceEndpoint = exports.isRouteConfig = exports.isProtocol = exports.isHealthCheckResult = exports.isGatewayRequest = exports.isDiscoveredService = exports.createGatewayResponse = exports.createErrorResponse = exports.runSmokeTests = exports.generateReport = exports.criticalPaths = exports.PerformanceMonitor = exports.ChaosMiddleware = exports.ChaosError = exports.RoutingEngine = exports.RateLimiter = exports.CircuitBreaker = exports.SLAMonitor = exports.HealthChecker = exports.createGateway = exports.UniversalAPIGateway = exports.ServiceDiscovery = exports.ResponseAggregator = exports.HTTPAdapter = void 0;
const tslib_1 = require("tslib");
// Export types
tslib_1.__exportStar(require("./types/gateway-types"), exports);
// Export main gateway components
var http_adapter_1 = require("./adapters/http.adapter");
Object.defineProperty(exports, "HTTPAdapter", { enumerable: true, get: function () { return http_adapter_1.HTTPAdapter; } });
var response_aggregator_1 = require("./aggregation/response-aggregator");
Object.defineProperty(exports, "ResponseAggregator", { enumerable: true, get: function () { return response_aggregator_1.ResponseAggregator; } });
var service_registry_1 = require("./discovery/service-registry");
Object.defineProperty(exports, "ServiceDiscovery", { enumerable: true, get: function () { return service_registry_1.ServiceDiscovery; } });
var gateway_manager_1 = require("./gateway/gateway-manager");
Object.defineProperty(exports, "UniversalAPIGateway", { enumerable: true, get: function () { return gateway_manager_1.UniversalAPIGateway; } });
Object.defineProperty(exports, "createGateway", { enumerable: true, get: function () { return gateway_manager_1.createGateway; } });
// Export clean modules
var health_checker_1 = require("./monitoring/health-checker");
Object.defineProperty(exports, "HealthChecker", { enumerable: true, get: function () { return health_checker_1.HealthChecker; } });
var sla_monitor_1 = require("./monitoring/sla-monitor");
Object.defineProperty(exports, "SLAMonitor", { enumerable: true, get: function () { return sla_monitor_1.SLAMonitor; } });
var circuit_breaker_1 = require("./resilience/circuit-breaker");
Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: function () { return circuit_breaker_1.CircuitBreaker; } });
var rate_limiter_1 = require("./resilience/rate-limiter");
Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return rate_limiter_1.RateLimiter; } });
var routing_engine_1 = require("./routing/routing-engine");
Object.defineProperty(exports, "RoutingEngine", { enumerable: true, get: function () { return routing_engine_1.RoutingEngine; } });
// Export Phase 2k Production Readiness components
var chaos_middleware_1 = require("./chaos/chaos-middleware");
Object.defineProperty(exports, "ChaosError", { enumerable: true, get: function () { return chaos_middleware_1.ChaosError; } });
Object.defineProperty(exports, "ChaosMiddleware", { enumerable: true, get: function () { return chaos_middleware_1.ChaosMiddleware; } });
var performance_monitor_1 = require("./monitoring/performance-monitor");
Object.defineProperty(exports, "PerformanceMonitor", { enumerable: true, get: function () { return performance_monitor_1.PerformanceMonitor; } });
var critical_paths_1 = require("./smoke-tests/critical-paths");
Object.defineProperty(exports, "criticalPaths", { enumerable: true, get: function () { return critical_paths_1.criticalPaths; } });
Object.defineProperty(exports, "generateReport", { enumerable: true, get: function () { return critical_paths_1.generateReport; } });
Object.defineProperty(exports, "runSmokeTests", { enumerable: true, get: function () { return critical_paths_1.runSmokeTests; } });
// Export validation utilities and type guards
var validation_1 = require("./utils/validation");
Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return validation_1.createErrorResponse; } });
Object.defineProperty(exports, "createGatewayResponse", { enumerable: true, get: function () { return validation_1.createGatewayResponse; } });
Object.defineProperty(exports, "isDiscoveredService", { enumerable: true, get: function () { return validation_1.isDiscoveredService; } });
Object.defineProperty(exports, "isGatewayRequest", { enumerable: true, get: function () { return validation_1.isGatewayRequest; } });
Object.defineProperty(exports, "isHealthCheckResult", { enumerable: true, get: function () { return validation_1.isHealthCheckResult; } });
Object.defineProperty(exports, "isProtocol", { enumerable: true, get: function () { return validation_1.isProtocol; } });
Object.defineProperty(exports, "isRouteConfig", { enumerable: true, get: function () { return validation_1.isRouteConfig; } });
Object.defineProperty(exports, "isServiceEndpoint", { enumerable: true, get: function () { return validation_1.isServiceEndpoint; } });
Object.defineProperty(exports, "validateDiscoveredService", { enumerable: true, get: function () { return validation_1.validateDiscoveredService; } });
Object.defineProperty(exports, "validateGatewayRequest", { enumerable: true, get: function () { return validation_1.validateGatewayRequest; } });
// Export billing and caching
var cost_tracker_1 = require("./billing/cost-tracker");
Object.defineProperty(exports, "CostTracker", { enumerable: true, get: function () { return cost_tracker_1.CostTracker; } });
var cache_manager_1 = require("./caching/cache-manager");
Object.defineProperty(exports, "CacheManager", { enumerable: true, get: function () { return cache_manager_1.CacheManager; } });
// Configuration defaults
exports.DEFAULT_GATEWAY_CONFIG = {
port: 8080,
host: 'localhost',
routes: [],
monitoring: {
enabled: true,
metrics: true,
tracing: false,
logging: true
}
};
exports.DEFAULT_CIRCUIT_BREAKER_CONFIG = {
threshold: 5,
timeout: 60000,
resetTimeout: 30000
};
exports.DEFAULT_RATE_LIMIT_CONFIG = {
windowMs: 60000,
max: 100
};
// Phase 2k Production defaults
exports.DEFAULT_CHAOS_OPTIONS = {
enabled: false, // Disabled by default for safety
failures: {
networkLatency: { probability: 0, minMs: 10, maxMs: 100 },
serviceFailure: { probability: 0, statusCodes: [500, 503] },
timeouts: { probability: 0, duration: 5000 },
resourceExhaustion: { probability: 0, type: 'cpu' },
malformedResponse: { probability: 0, types: ['truncated'] }
}
};
exports.DEFAULT_PERFORMANCE_THRESHOLDS = {
latency: {
p50: 50,
p95: 150,
p99: 300
},
errorRate: 0.01,
throughput: {
min: 100,
max: 10000
},
memory: {
max: 512,
growthRate: 10
}
};
//# sourceMappingURL=index.js.map