UNPKG

@iqai/adk-cli

Version:

CLI tool for creating, running, and testing ADK-TS agents

41 lines • 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGracefulShutdownHandler = createGracefulShutdownHandler; const chalk_1 = __importDefault(require("chalk")); function createGracefulShutdownHandler(server, options) { let shuttingDown = false; return async () => { if (shuttingDown) return; shuttingDown = true; if (!options.quiet) { console.log(chalk_1.default.yellow(`\nšŸ›‘ Stopping ${options.name}...`)); } const FORCE_EXIT_MS = Number(process.env.ADK_FORCE_EXIT_MS || 5000); const timeout = setTimeout(() => { if (!options.quiet) { console.error(chalk_1.default.red(`Force exiting after ${FORCE_EXIT_MS}ms. Some resources may not have closed cleanly.`)); } process.exit(1); }, FORCE_EXIT_MS); timeout.unref?.(); let exitCode = 0; try { await server.stop(); } catch (e) { if (!options.quiet) { console.error(chalk_1.default.red("Error during shutdown:"), e); } exitCode = 1; } finally { clearTimeout(timeout); process.exit(exitCode); } }; } //# sourceMappingURL=graceful-shutdown.js.map