"use strict";
/* Socket Lib - Built with rolldown */
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_primordials_object = require('../primordials/object.js');

//#region src/ipc-cli/get.ts
/**
* @file Socket CLI child-process IPC object getter. Lazily builds an
*   `IpcObject` from `SOCKET_CLI_*` environment variables so child processes
*   can read flags and tokens forwarded by the parent Socket CLI without
*   re-parsing `process.env` each call. Complements the filesystem stub IPC in
*   `@socketsecurity/lib/ipc` (`getIpcStubPath`, `writeIpcStub`) for cases
*   where data exceeds env-var size limits.
*/
let _ipcObject;
async function getIpc(key) {
	if (_ipcObject === void 0) {
		_ipcObject = {};
		const { env } = process;
		if (env["SOCKET_CLI_FIX"]) _ipcObject.SOCKET_CLI_FIX = env["SOCKET_CLI_FIX"];
		if (env["SOCKET_CLI_OPTIMIZE"]) _ipcObject.SOCKET_CLI_OPTIMIZE = env["SOCKET_CLI_OPTIMIZE"] === "true" || env["SOCKET_CLI_OPTIMIZE"] === "1";
		if (env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"]) _ipcObject.SOCKET_CLI_SHADOW_ACCEPT_RISKS = env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "true" || env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "1";
		if (env["SOCKET_CLI_SHADOW_API_TOKEN"]) _ipcObject.SOCKET_CLI_SHADOW_API_TOKEN = env["SOCKET_CLI_SHADOW_API_TOKEN"];
		if (env["SOCKET_CLI_SHADOW_BIN"]) _ipcObject.SOCKET_CLI_SHADOW_BIN = env["SOCKET_CLI_SHADOW_BIN"];
		if (env["SOCKET_CLI_SHADOW_PROGRESS"]) _ipcObject.SOCKET_CLI_SHADOW_PROGRESS = env["SOCKET_CLI_SHADOW_PROGRESS"] === "true" || env["SOCKET_CLI_SHADOW_PROGRESS"] === "1";
		if (env["SOCKET_CLI_SHADOW_SILENT"]) _ipcObject.SOCKET_CLI_SHADOW_SILENT = env["SOCKET_CLI_SHADOW_SILENT"] === "true" || env["SOCKET_CLI_SHADOW_SILENT"] === "1";
		require_primordials_object.ObjectFreeze(_ipcObject);
	}
	return key ? _ipcObject[key] : _ipcObject;
}

//#endregion
exports.getIpc = getIpc;