{"version":3,"file":"shared-Df79xZoB.mjs","names":["packageJson"],"sources":["../package.json","../src/shared.ts"],"sourcesContent":["","import { closeSync, mkdirSync, openSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport pino from 'pino'\n\nimport packageJson from '../package.json' with { type: 'json' }\n\nexport function normalizePackageVersion(version: unknown): string {\n  return typeof version === 'string' ? version : '0.0.0'\n}\n\nexport function ensureDir(dirPath: string): void {\n  mkdirSync(dirPath, { recursive: true, mode: 0o700 })\n}\n\nfunction getRecordProperty(record: unknown, key: string): unknown {\n  if (!record || typeof record !== 'object') {\n    return undefined\n  }\n  return Reflect.get(record, key)\n}\n\nexport const PACKAGE_VERSION = normalizePackageVersion(getRecordProperty(packageJson, 'version'))\n\nexport function resolveRuntimeDir(\n  env: NodeJS.ProcessEnv = process.env,\n  systemTmpDir: string = tmpdir()\n): string {\n  if (env.TEMPAD_MCP_RUNTIME_DIR) return env.TEMPAD_MCP_RUNTIME_DIR\n  return join(systemTmpDir, 'tempad-dev', 'run')\n}\n\nexport function resolveLogDir(\n  env: NodeJS.ProcessEnv = process.env,\n  systemTmpDir: string = tmpdir()\n): string {\n  if (env.TEMPAD_MCP_LOG_DIR) return env.TEMPAD_MCP_LOG_DIR\n  return join(systemTmpDir, 'tempad-dev', 'log')\n}\n\nexport function resolveAssetDir(\n  env: NodeJS.ProcessEnv = process.env,\n  systemTmpDir: string = tmpdir()\n): string {\n  if (env.TEMPAD_MCP_ASSET_DIR) return env.TEMPAD_MCP_ASSET_DIR\n  return join(systemTmpDir, 'tempad-dev', 'assets')\n}\n\nexport function resolveLogLevel(\n  debugValue: string | undefined = process.env.DEBUG\n): 'debug' | 'info' {\n  return debugValue ? 'debug' : 'info'\n}\n\nexport function resolveSockPath(\n  platform: NodeJS.Platform = process.platform,\n  runtimeDir: string = RUNTIME_DIR\n): string {\n  return platform === 'win32' ? '\\\\\\\\.\\\\pipe\\\\tempad-mcp' : join(runtimeDir, 'mcp.sock')\n}\n\nexport const RUNTIME_DIR = resolveRuntimeDir()\nexport const LOG_DIR = resolveLogDir()\nexport const ASSET_DIR = resolveAssetDir()\n\nensureDir(RUNTIME_DIR)\nensureDir(LOG_DIR)\nensureDir(ASSET_DIR)\n\nexport function ensureFile(filePath: string): void {\n  const fd = openSync(filePath, 'a')\n  closeSync(fd)\n}\n\nexport const LOCK_PATH = join(RUNTIME_DIR, 'mcp.lock')\nexport const HUB_LOCK_PATH = join(RUNTIME_DIR, 'hub.lock')\nensureFile(LOCK_PATH)\nensureFile(HUB_LOCK_PATH)\n\nexport const HUB_BUSY_EXIT_CODE = 75\nexport const HUB_LOCK_STALE_MS = 60000\nexport const HUB_LOCK_UPDATE_MS = 10000\n\nconst timestamp = new Date().toISOString().replaceAll(':', '-').replaceAll('.', '-')\nconst pid = process.pid\nconst LOG_FILE = join(LOG_DIR, `mcp-${timestamp}-${pid}.log`)\n\nconst prettyTransport = pino.transport({\n  target: 'pino-pretty',\n  options: {\n    translateTime: 'SYS:HH:MM:ss',\n    destination: LOG_FILE\n  }\n})\n\nexport const log = pino(\n  {\n    level: resolveLogLevel(),\n    msgPrefix: '[tempad-dev/mcp] '\n  },\n  prettyTransport\n)\n\nexport const SOCK_PATH = resolveSockPath()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOA,SAAgB,wBAAwB,SAA0B;CAChE,OAAO,OAAO,YAAY,WAAW,UAAU;AACjD;AAEA,SAAgB,UAAU,SAAuB;CAC/C,UAAU,SAAS;EAAE,WAAW;EAAM,MAAM;CAAM,CAAC;AACrD;AAEA,SAAS,kBAAkB,QAAiB,KAAsB;CAChE,IAAI,CAAC,UAAU,OAAO,WAAW,UAC/B;CAEF,OAAO,QAAQ,IAAI,QAAQ,GAAG;AAChC;AAEA,MAAa,kBAAkB,wBAAwB,kBAAkBA,iBAAa,SAAS,CAAC;AAEhG,SAAgB,kBACd,MAAyB,QAAQ,KACjC,eAAuB,OAAO,GACtB;CACR,IAAI,IAAI,wBAAwB,OAAO,IAAI;CAC3C,OAAO,KAAK,cAAc,cAAc,KAAK;AAC/C;AAEA,SAAgB,cACd,MAAyB,QAAQ,KACjC,eAAuB,OAAO,GACtB;CACR,IAAI,IAAI,oBAAoB,OAAO,IAAI;CACvC,OAAO,KAAK,cAAc,cAAc,KAAK;AAC/C;AAEA,SAAgB,gBACd,MAAyB,QAAQ,KACjC,eAAuB,OAAO,GACtB;CACR,IAAI,IAAI,sBAAsB,OAAO,IAAI;CACzC,OAAO,KAAK,cAAc,cAAc,QAAQ;AAClD;AAEA,SAAgB,gBACd,aAAiC,QAAQ,IAAI,OAC3B;CAClB,OAAO,aAAa,UAAU;AAChC;AAEA,SAAgB,gBACd,WAA4B,QAAQ,UACpC,aAAqB,aACb;CACR,OAAO,aAAa,UAAU,4BAA4B,KAAK,YAAY,UAAU;AACvF;AAEA,MAAa,cAAc,kBAAkB;AAC7C,MAAa,UAAU,cAAc;AACrC,MAAa,YAAY,gBAAgB;AAEzC,UAAU,WAAW;AACrB,UAAU,OAAO;AACjB,UAAU,SAAS;AAEnB,SAAgB,WAAW,UAAwB;CAEjD,UADW,SAAS,UAAU,GACnB,CAAC;AACd;AAEA,MAAa,YAAY,KAAK,aAAa,UAAU;AACrD,MAAa,gBAAgB,KAAK,aAAa,UAAU;AACzD,WAAW,SAAS;AACpB,WAAW,aAAa;AAGxB,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAElC,MAAM,6BAAY,IAAI,KAAK,EAAA,CAAE,YAAY,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,WAAW,KAAK,GAAG;AACnF,MAAM,MAAM,QAAQ;AACpB,MAAM,WAAW,KAAK,SAAS,OAAO,UAAU,GAAG,IAAI,KAAK;AAE5D,MAAM,kBAAkB,KAAK,UAAU;CACrC,QAAQ;CACR,SAAS;EACP,eAAe;EACf,aAAa;CACf;AACF,CAAC;AAED,MAAa,MAAM,KACjB;CACE,OAAO,gBAAgB;CACvB,WAAW;AACb,GACA,eACF;AAEA,MAAa,YAAY,gBAAgB"}