{"record":{"id":"74c958faad3d4ae6","repo":"FlowiseAI/Flowise","slug":"unsupported-type-typeinfo-base","errorCode":null,"errorMessage":"Unsupported type: ${typeInfo.base}","messagePattern":"Unsupported type: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/components/src/secureZodParser.ts","lineNumber":292,"sourceCode":"\n    private static validateTypeInfo(typeInfo: any): void {\n        // If it's a nested object or array of objects, validate each property\n        if (typeInfo.isNestedObject || typeInfo.isArrayOfObjects) {\n            for (const propValue of Object.values(typeInfo.objectSchema)) {\n                this.validateTypeInfo(propValue)\n            }\n            return\n        }\n\n        // If it's a simple array, validate the inner type\n        if (typeInfo.isSimpleArray) {\n            this.validateTypeInfo(typeInfo.innerType)\n            return\n        }\n\n        // Validate base type\n        if (!this.ALLOWED_TYPES.includes(typeInfo.base)) {\n            throw new Error(`Unsupported type: ${typeInfo.base}`)\n        }\n\n        // Validate modifiers\n        for (const modifier of typeInfo.modifiers || []) {\n            if (!this.ALLOWED_TYPES.includes(modifier.name)) {\n                throw new Error(`Unsupported modifier: ${modifier.name}`)\n            }\n        }\n    }\n\n    private static parseArguments(argsStr: string): any[] {\n        // Remove outer parentheses\n        const inner = argsStr.slice(1, -1).trim()\n        if (!inner) return []\n\n        // Simple argument parsing for basic cases\n        if (inner.startsWith('[') && inner.endsWith(']')) {\n            // Array argument","sourceCodeStart":274,"sourceCodeEnd":310,"githubUrl":"https://github.com/FlowiseAI/Flowise/blob/abe4a8601a058047b350c260676826e21dd14101/packages/components/src/secureZodParser.ts#L274-L310","documentation":"validateTypeInfo rejects any base type not in ALLOWED_TYPES = [string, number, int, boolean, date, object, array, enum, optional, max, min, describe, default]. So z.bigint(), z.any(), z.unknown(), z.record(...), z.tuple(...), z.uuid() etc. all fail. The list deliberately conflates type names and modifier names; it is the supported subset of this secure (eval-free) parser, not full Zod.","triggerScenarios":"Using Zod types outside the supported subset: z.bigint(), z.any(), z.record(), z.tuple(), z.map(), z.set(), z.uuid(), z.email() (as a base), etc.","commonSituations":"Copying a schema from Zod docs/tutorials that uses types beyond the supported subset; migrating an existing Zod schema into Flowise's string-based secure parser.","solutions":["Replace unsupported base types with a supported one (e.g. use z.string() for uuids/emails instead of z.uuid()/z.email()).","Express complex shapes via z.object / z.array of supported primitives.","If you need a type outside the subset, validate with native Zod in code, not via this string parser."],"exampleFix":"// before\n'z.object({ id: z.bigint(), meta: z.record(z.string()) })'\n\n// after\n'z.object({ id: z.string(), meta: z.array(z.object({ k: z.string(), v: z.string() })) })'","handlingStrategy":"type-guard","validationCode":"const ALLOWED_BASES = ['string','number','int','boolean','date','object','array','enum']\nfunction onlyAllowedBases(schema: string): boolean {\n  // crude check: extract base identifiers and verify membership\n  return !/z\\.(bigint|any|unknown|record|tuple|map|set|uuid|email|url|nan|never|void|undefined)\\b/.test(schema)\n}","typeGuard":"const SUPPORTED = new Set(['string','number','int','boolean','date','object','array','enum','optional','max','min','describe','default'])\nconst isAllowedBase = (base: string): boolean => SUPPORTED.has(base)","tryCatchPattern":null,"preventionTips":["Author schemas using only the supported base types (string, number, boolean, date, enum, object, array).","Replace z.bigint/z.record/z.tuple/z.any with compositions of supported primitives.","For types outside the subset, validate in code with native Zod instead of the string parser."],"tags":["zod","schema","validation","subset"],"backgroundTag":null,"analyzedSha":"abe4a8601a058047b350c260676826e21dd14101","analyzedAt":"2026-08-12T16:04:40.823Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}