{"version":3,"file":"validate_schema.cjs","names":[],"sources":["../../src/utils/validate_schema.ts"],"sourcesContent":["export function assertNoEmptyStringEnums(\n  schema: unknown,\n  toolName?: string,\n  path: string[] = []\n): void {\n  if (schema == null || typeof schema !== \"object\") return;\n  const obj = schema as Record<string, unknown>;\n\n  if (Array.isArray(obj.enum)) {\n    if (obj.enum.some((v) => v === \"\")) {\n      const pathStr = path.length ? ` at path \"${path.join(\".\")}\"` : \"\";\n      const toolStr = toolName ? ` in tool \"${toolName}\"` : \"\";\n      throw new Error(\n        `Invalid enum: empty string not allowed${toolStr}${pathStr}. ` +\n          \"Gemini API rejects empty strings in enums.\"\n      );\n    }\n  }\n\n  // Descend into common JSON Schema nests\n  if (\n    obj.type === \"object\" &&\n    obj.properties &&\n    typeof obj.properties === \"object\"\n  ) {\n    for (const [prop, child] of Object.entries(\n      obj.properties as Record<string, unknown>\n    )) {\n      assertNoEmptyStringEnums(child, toolName, [...path, prop]);\n    }\n  }\n\n  if (obj.items) {\n    assertNoEmptyStringEnums(obj.items, toolName, [...path, \"[]\"]);\n  }\n\n  for (const k of [\"anyOf\", \"oneOf\", \"allOf\"]) {\n    const arr = obj[k];\n    if (Array.isArray(arr)) {\n      arr.forEach((child, i) =>\n        assertNoEmptyStringEnums(child, toolName, [...path, `${k}[${i}]`])\n      );\n    }\n  }\n\n  if (\n    obj.additionalProperties &&\n    typeof obj.additionalProperties === \"object\"\n  ) {\n    assertNoEmptyStringEnums(obj.additionalProperties, toolName, [\n      ...path,\n      \"additionalProperties\",\n    ]);\n  }\n}\n"],"mappings":";AAAA,SAAgB,yBACd,QACA,UACA,OAAiB,EAAE,EACb;AACN,KAAI,UAAU,QAAQ,OAAO,WAAW,SAAU;CAClD,MAAM,MAAM;AAEZ,KAAI,MAAM,QAAQ,IAAI,KAAK;MACrB,IAAI,KAAK,MAAM,MAAM,MAAM,GAAG,EAAE;GAClC,MAAM,UAAU,KAAK,SAAS,aAAa,KAAK,KAAK,IAAI,CAAC,KAAK;GAC/D,MAAM,UAAU,WAAW,aAAa,SAAS,KAAK;AACtD,SAAM,IAAI,MACR,yCAAyC,UAAU,QAAQ,8CAE5D;;;AAKL,KACE,IAAI,SAAS,YACb,IAAI,cACJ,OAAO,IAAI,eAAe,SAE1B,MAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QACjC,IAAI,WACL,CACC,0BAAyB,OAAO,UAAU,CAAC,GAAG,MAAM,KAAK,CAAC;AAI9D,KAAI,IAAI,MACN,0BAAyB,IAAI,OAAO,UAAU,CAAC,GAAG,MAAM,KAAK,CAAC;AAGhE,MAAK,MAAM,KAAK;EAAC;EAAS;EAAS;EAAQ,EAAE;EAC3C,MAAM,MAAM,IAAI;AAChB,MAAI,MAAM,QAAQ,IAAI,CACpB,KAAI,SAAS,OAAO,MAClB,yBAAyB,OAAO,UAAU,CAAC,GAAG,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACnE;;AAIL,KACE,IAAI,wBACJ,OAAO,IAAI,yBAAyB,SAEpC,0BAAyB,IAAI,sBAAsB,UAAU,CAC3D,GAAG,MACH,uBACD,CAAC"}