"use strict"; const PLUGIN_DEV_ENV = "NETCATTY_PLUGIN_DEV"; const PLUGIN_PROTOCOL_SCHEME = "netcatty-plugin"; const PLUGIN_API_VERSION = "0.1.0-internal"; const PLUGIN_ACTIVATION_TIMEOUT_MS = 5_000; const PLUGIN_DEACTIVATION_TIMEOUT_MS = 2_000; const PLUGIN_UTILITY_TERMINATION_GRACE_MS = 500; const PLUGIN_UTILITY_FORCE_EXIT_TIMEOUT_MS = 1_000; const PLUGIN_RPC_DEFAULT_TIMEOUT_MS = 30_000; const PLUGIN_RPC_MAX_PENDING = 256; const PLUGIN_RPC_MAX_JSON_BYTES = 1024 * 1024; // Broker payloads live inside the control-plane JSON envelope. Reserve enough // room for worst-case JSON string escaping (six wire bytes per raw byte), // headers, paths, correlation fields, and future compatible metadata. const PLUGIN_RPC_MAX_RAW_BYTES = Math.floor(PLUGIN_RPC_MAX_JSON_BYTES / 8); const PLUGIN_STREAM_MAX_FRAME_JSON_BYTES = 24 * 1024 * 1024; const PLUGIN_CRASH_WINDOW_MS = 5 * 60_000; const PLUGIN_CRASH_QUARANTINE_THRESHOLD = 3; const PLUGIN_LOG_MAX_BYTES = 1024 * 1024; const PLUGIN_LOG_MAX_FILES = 3; function isPluginDevelopmentEnabled(env = process.env) { return env?.[PLUGIN_DEV_ENV] === "1"; } module.exports = { PLUGIN_ACTIVATION_TIMEOUT_MS, PLUGIN_API_VERSION, PLUGIN_CRASH_QUARANTINE_THRESHOLD, PLUGIN_CRASH_WINDOW_MS, PLUGIN_DEACTIVATION_TIMEOUT_MS, PLUGIN_DEV_ENV, PLUGIN_LOG_MAX_BYTES, PLUGIN_LOG_MAX_FILES, PLUGIN_PROTOCOL_SCHEME, PLUGIN_RPC_DEFAULT_TIMEOUT_MS, PLUGIN_RPC_MAX_RAW_BYTES, PLUGIN_RPC_MAX_JSON_BYTES, PLUGIN_RPC_MAX_PENDING, PLUGIN_STREAM_MAX_FRAME_JSON_BYTES, PLUGIN_UTILITY_FORCE_EXIT_TIMEOUT_MS, PLUGIN_UTILITY_TERMINATION_GRACE_MS, isPluginDevelopmentEnabled, };