{"version":3,"sources":["../src/utils.ts"],"sourcesContent":["import type { z } from \"zod\";\nimport type { ZodTypeAny } from \"zod\";\n\nfunction getTypeString(schema: z.ZodTypeAny): string {\n    const typeName = schema._def?.typeName;\n\n    switch (typeName) {\n        case \"ZodOptional\":\n            return getTypeString((schema as z.ZodOptional<ZodTypeAny>).unwrap());\n        case \"ZodString\":\n            return \"string\";\n        case \"ZodNumber\":\n            return \"number\";\n        case \"ZodBoolean\":\n            return \"boolean\";\n        case \"ZodArray\":\n            return \"array\";\n        case \"ZodObject\":\n            return \"object\";\n        default:\n            return \"unknown\";\n    }\n}\n\nexport function addParametersToDescription(description: string, schema: z.ZodTypeAny): string {\n    let paramLines: string[] = [];\n\n    if (schema._def?.typeName === \"ZodObject\") {\n        const shape = schema._def.shape();\n        if (shape) {\n            paramLines = Object.entries<ZodTypeAny>(shape).map(([key, value]) => {\n                const isOptional = value.isOptional();\n                const paramDescription = value.description || \"\";\n                const typeStr = getTypeString(value);\n                return `- ${key}${isOptional ? \" (optional)\" : \"\"} (${typeStr}): ${paramDescription}`;\n            });\n        }\n    }\n\n    return `${description}\\n${paramLines.join(\"\\n\")}`;\n}\n\nexport function replaceToolPlaceholder(text: string, toolName: string): string {\n    return text.replace(/\\{\\{tool\\}\\}/g, toolName);\n}\n\nexport function parametersToJsonExample(parameters: z.ZodTypeAny): string {\n    const exampleObject = generateExample(parameters);\n    return JSON.stringify(exampleObject, null, 2);\n\n    function generateExample(schema: z.ZodTypeAny): unknown {\n        const typeName = schema._def?.typeName;\n\n        switch (typeName) {\n            case \"ZodString\":\n                return \"string\";\n            case \"ZodNumber\":\n                return 0;\n            case \"ZodBoolean\":\n                return false;\n            case \"ZodArray\":\n                return [generateExample(schema._def.type)];\n            case \"ZodObject\": {\n                const shape = schema._def.shape();\n                const obj: Record<string, unknown> = {};\n                for (const [key, valueSchema] of Object.entries(shape)) {\n                    obj[key] = generateExample(valueSchema as ZodTypeAny);\n                }\n                return obj;\n            }\n            case \"ZodOptional\":\n            case \"ZodNullable\":\n                return generateExample((schema as z.ZodOptional<ZodTypeAny>).unwrap());\n            case \"ZodUnion\":\n                return generateExample(schema._def.options[0]); // Use first option\n            case \"ZodLiteral\":\n                return schema._def.value;\n            case \"ZodEnum\":\n                return schema._def.values[0]; // Use first enum value\n            case \"ZodDefault\":\n                return generateExample(schema._def.innerType);\n            default:\n                return null;\n        }\n    }\n}\n"],"mappings":";AAGA,SAAS,cAAc,QAA8B;AACjD,QAAM,WAAW,OAAO,MAAM;AAE9B,UAAQ,UAAU;AAAA,IACd,KAAK;AACD,aAAO,cAAe,OAAqC,OAAO,CAAC;AAAA,IACvE,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX,KAAK;AACD,aAAO;AAAA,IACX;AACI,aAAO;AAAA,EACf;AACJ;AAEO,SAAS,2BAA2B,aAAqB,QAA8B;AAC1F,MAAI,aAAuB,CAAC;AAE5B,MAAI,OAAO,MAAM,aAAa,aAAa;AACvC,UAAM,QAAQ,OAAO,KAAK,MAAM;AAChC,QAAI,OAAO;AACP,mBAAa,OAAO,QAAoB,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACjE,cAAM,aAAa,MAAM,WAAW;AACpC,cAAM,mBAAmB,MAAM,eAAe;AAC9C,cAAM,UAAU,cAAc,KAAK;AACnC,eAAO,KAAK,GAAG,GAAG,aAAa,gBAAgB,EAAE,KAAK,OAAO,MAAM,gBAAgB;AAAA,MACvF,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,SAAO,GAAG,WAAW;AAAA,EAAK,WAAW,KAAK,IAAI,CAAC;AACnD;AAEO,SAAS,uBAAuB,MAAc,UAA0B;AAC3E,SAAO,KAAK,QAAQ,iBAAiB,QAAQ;AACjD;AAEO,SAAS,wBAAwB,YAAkC;AACtE,QAAM,gBAAgB,gBAAgB,UAAU;AAChD,SAAO,KAAK,UAAU,eAAe,MAAM,CAAC;AAE5C,WAAS,gBAAgB,QAA+B;AACpD,UAAM,WAAW,OAAO,MAAM;AAE9B,YAAQ,UAAU;AAAA,MACd,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MACX,KAAK;AACD,eAAO,CAAC,gBAAgB,OAAO,KAAK,IAAI,CAAC;AAAA,MAC7C,KAAK,aAAa;AACd,cAAM,QAAQ,OAAO,KAAK,MAAM;AAChC,cAAM,MAA+B,CAAC;AACtC,mBAAW,CAAC,KAAK,WAAW,KAAK,OAAO,QAAQ,KAAK,GAAG;AACpD,cAAI,GAAG,IAAI,gBAAgB,WAAyB;AAAA,QACxD;AACA,eAAO;AAAA,MACX;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AACD,eAAO,gBAAiB,OAAqC,OAAO,CAAC;AAAA,MACzE,KAAK;AACD,eAAO,gBAAgB,OAAO,KAAK,QAAQ,CAAC,CAAC;AAAA;AAAA,MACjD,KAAK;AACD,eAAO,OAAO,KAAK;AAAA,MACvB,KAAK;AACD,eAAO,OAAO,KAAK,OAAO,CAAC;AAAA;AAAA,MAC/B,KAAK;AACD,eAAO,gBAAgB,OAAO,KAAK,SAAS;AAAA,MAChD;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;","names":[]}