/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@glncy/http-inspect-tool@1.3.8/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import{mkdir}from"fs/promises";import{dirname}from"path";import{loadConfig,validateConfig}from"./config/index.js";import{StorageFactory}from"./storage/index.js";import{ProxyManager}from"./proxy/manager.js";import{InspectorAPI}from"./api/server.js";async function main(){console.log("🔍 HTTP Inspector Tool starting...\n");const o=loadConfig();validateConfig(o),console.log("Configuration:"),console.log(`  Inspector Port: ${o.inspectorPort}`),console.log(`  Default Proxy Port: ${o.defaultProxyPort}`),console.log(`  Database Path: ${o.sqliteDbPath}`),console.log("");const e=dirname(o.sqliteDbPath);await mkdir(e,{recursive:!0}),console.log("Initializing storage...");const t=await StorageFactory.create("sqlite",o.sqliteDbPath);console.log("✓ Storage initialized\n"),console.log("Initializing proxy manager...");const r=new ProxyManager(t);console.log("✓ Proxy manager initialized\n"),console.log("Loading proxies from storage..."),await r.loadProxiesFromStorage();const n=r.getActiveProxies();n.length>0?(console.log(`✓ Loaded ${n.length} active proxy(s):`),n.forEach((o=>{console.log(`  - ${o.name} (${o.proxyPort} → ${o.targetProtocol}://${o.targetHost}:${o.targetPort})`)})),console.log("")):console.log("No active proxies found. Configure proxies via the web UI.\n"),console.log("Starting Inspector API...");const s=new InspectorAPI(t,r);await s.start(o.inspectorPort),console.log("✓ Inspector API started\n"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("🎉 HTTP Inspector is ready!"),console.log(`📊 Open dashboard: http://localhost:${o.inspectorPort}`),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");const a=async()=>{console.log("\n\nShutting down gracefully...");try{await r.stopAll(),await s.stop(),await t.close(),console.log("✓ Shutdown complete"),process.exit(0)}catch(o){console.error("Error during shutdown:",o),process.exit(1)}};process.on("SIGINT",a),process.on("SIGTERM",a)}main().catch((o=>{console.error("Fatal error:",o),process.exit(1)}));
//# sourceMappingURL=/sm/501d44dd93c379db025333057808bd82060583f4f1a393721655ec97fcb44e8d.map