{"version":3,"file":"logging.cjs","sources":["../../../src/utils/logging.ts"],"sourcesContent":["// src/utils/logging.ts\nimport fs from 'fs';\nimport util from 'util';\n\n/**\n * Multi-agent debug gate. Controls chatty graph/handoff/transfer/sequence\n * trace logs emitted from `MultiAgentGraph` and `Graph`. Off by default so the\n * package stays quiet when embedded in host apps. Flip to\n * `DEBUG_MULTIAGENT=true` in the host env to re-enable for testing.\n *\n * Exported as functions so runtime toggling via env reload works; the check\n * is cheap (string equality) and only runs when a log site fires.\n */\nfunction isMultiAgentDebugEnabled(): boolean {\n  return process.env.DEBUG_MULTIAGENT === 'true';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const mlog = (...args: any[]): void => {\n  if (isMultiAgentDebugEnabled()) {\n    console.debug(...args);\n  }\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const mwarn = (...args: any[]): void => {\n  if (isMultiAgentDebugEnabled()) {\n    console.warn(...args);\n  }\n};\n\nexport function setupLogging(logFileName: string): void {\n  const logFile = fs.createWriteStream(logFileName, { flags: 'a' });\n\n  const originalConsoleLog = console.log;\n  const originalConsoleError = console.error;\n  const originalStdoutWrite = process.stdout.write;\n  const originalStderrWrite = process.stderr.write;\n\n  console.log = function (...args): void {\n    logFile.write(util.format.apply(null, args) + ' ');\n    originalConsoleLog.apply(console, args);\n  };\n\n  console.error = function (...args): void {\n    logFile.write(util.format.apply(null, args) + ' ');\n    originalConsoleError.apply(console, args);\n  };\n\n  process.stdout.write = function (\n    buffer: Uint8Array | string,\n    cb?: ((err?: Error) => void) | string,\n    fd?: (err?: Error) => void\n  ): boolean {\n    if (typeof buffer === 'string') {\n      logFile.write(buffer);\n    } else {\n      logFile.write(buffer.toString());\n    }\n    return originalStdoutWrite.call(\n      process.stdout,\n      buffer,\n      cb as BufferEncoding | undefined,\n      fd\n    );\n  };\n\n  process.stderr.write = function (\n    buffer: Uint8Array | string,\n    cb?: ((err?: Error) => void) | string,\n    fd?: (err?: Error) => void\n  ): boolean {\n    if (typeof buffer === 'string') {\n      logFile.write(buffer);\n    } else {\n      logFile.write(buffer.toString());\n    }\n    return originalStderrWrite.call(\n      process.stderr,\n      buffer,\n      cb as BufferEncoding | undefined,\n      fd\n    );\n  };\n}\n"],"names":[],"mappings":";;;;;AAAA;AAIA;;;;;;;;AAQG;AACH,SAAS,wBAAwB,GAAA;AAC/B,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM;AAChD;AAEA;MACa,IAAI,GAAG,CAAC,GAAG,IAAW,KAAU;IAC3C,IAAI,wBAAwB,EAAE,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACxB;AACF;AAEA;MACa,KAAK,GAAG,CAAC,GAAG,IAAW,KAAU;IAC5C,IAAI,wBAAwB,EAAE,EAAE;AAC9B,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB;AACF;;;;;"}