{"version":3,"file":"validate.cjs","names":["ConfigExtendsError"],"sources":["../../../src/services/resolution/validate.ts"],"sourcesContent":["import { ConfigExtendsError } from \"./load\";\n\ntype RuntimeOverrideTarget = \"ui\" | \"api\" | \"plugins\" | `plugins.${string}`;\n\nexport function parseRuntimeOverrideTargets(value?: string | null): RuntimeOverrideTarget[] {\n  if (!value) {\n    return [];\n  }\n\n  return [\n    ...new Set(\n      value\n        .split(\",\")\n        .map((entry) => entry.trim())\n        .filter(Boolean),\n    ),\n  ].map((entry) => {\n    if (entry === \"ui\" || entry === \"api\" || entry === \"plugins\") {\n      return entry;\n    }\n\n    if (entry.startsWith(\"plugins.\") && entry.length > \"plugins.\".length) {\n      return entry as RuntimeOverrideTarget;\n    }\n\n    throw new ConfigExtendsError({ message: `Invalid runtime override target: ${entry}` });\n  });\n}\n\nexport function isRuntimeOverrideAllowed(\n  allowedTargets: ReadonlyArray<RuntimeOverrideTarget>,\n  target: \"ui\" | \"api\" | \"plugins\" | `plugins.${string}`,\n): boolean {\n  if (allowedTargets.includes(target as RuntimeOverrideTarget)) {\n    return true;\n  }\n\n  if (target.startsWith(\"plugins.\")) {\n    return allowedTargets.includes(\"plugins.*\");\n  }\n\n  return false;\n}\n"],"mappings":";;;AAIA,SAAgB,4BAA4B,OAAgD;CAC1F,IAAI,CAAC,OACH,OAAO,CAAC;CAGV,OAAO,CACL,GAAG,IAAI,IACL,MACG,MAAM,GAAG,CAAC,CACV,KAAK,UAAU,MAAM,KAAK,CAAC,CAAC,CAC5B,OAAO,OAAO,CACnB,CACF,CAAC,CAAC,KAAK,UAAU;EACf,IAAI,UAAU,QAAQ,UAAU,SAAS,UAAU,WACjD,OAAO;EAGT,IAAI,MAAM,WAAW,UAAU,KAAK,MAAM,SAAS,GACjD,OAAO;EAGT,MAAM,IAAIA,gCAAmB,EAAE,SAAS,oCAAoC,QAAQ,CAAC;CACvF,CAAC;AACH;AAEA,SAAgB,yBACd,gBACA,QACS;CACT,IAAI,eAAe,SAAS,MAA+B,GACzD,OAAO;CAGT,IAAI,OAAO,WAAW,UAAU,GAC9B,OAAO,eAAe,SAAS,WAAW;CAG5C,OAAO;AACT"}