export type PluginRuntimeEnv = { [key: string]: string | undefined; NODE_ENV?: string; PLUGIN_RUNTIME_PRODUCTION_ENABLED?: string; }; export const PLUGIN_RUNTIME_PRODUCTION_GATE_ENV = "PLUGIN_RUNTIME_PRODUCTION_ENABLED"; export function isPluginRuntimeProductionEnabled(env: PluginRuntimeEnv = process.env): boolean { return env.NODE_ENV !== "production" || env.PLUGIN_RUNTIME_PRODUCTION_ENABLED === "true"; } export function describePluginRuntimeProductionGate(env: PluginRuntimeEnv = process.env): string | null { if (isPluginRuntimeProductionEnabled(env)) { return null; } return `${PLUGIN_RUNTIME_PRODUCTION_GATE_ENV}=true is required before tenant plugin runtime operations are allowed in production.`; } export function assertPluginRuntimeProductionEnabled(env: PluginRuntimeEnv = process.env): void { const reason = describePluginRuntimeProductionGate(env); if (reason) { throw new Error(reason); } }