chore: refactor a little bit and fix tests

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2025-02-13 09:27:02 +01:00
committed by benjdlambert
parent 08efed9160
commit c6ae5b2e33
2 changed files with 153 additions and 77 deletions
+15 -12
View File
@@ -147,30 +147,33 @@ export const parseSchemas = (action: TemplateActionOptions<any, any, any>) => {
return { inputSchema: undefined, outputSchema: undefined };
}
if (isZodSchema(action.schema.input) && isZodSchema(action.schema.output)) {
if (isZodSchema(action.schema.input)) {
return {
inputSchema: zodToJsonSchema(action.schema.input),
outputSchema: zodToJsonSchema(action.schema.output),
outputSchema: isZodSchema(action.schema.output)
? zodToJsonSchema(action.schema.output)
: undefined,
};
}
if (
isNativeZodSchema(action.schema.input) &&
isNativeZodSchema(action.schema.output)
) {
if (isNativeZodSchema(action.schema.input)) {
const input = z.object(
Object.fromEntries(
Object.entries(action.schema.input).map(([k, v]) => [k, v(z)]),
),
);
const output = z.object(
Object.fromEntries(
Object.entries(action.schema.output).map(([k, v]) => [k, v(z)]),
),
);
return {
inputSchema: zodToJsonSchema(input),
outputSchema: zodToJsonSchema(output),
outputSchema: isNativeZodSchema(action.schema.output)
? zodToJsonSchema(
z.object(
Object.fromEntries(
Object.entries(action.schema.output).map(([k, v]) => [k, v(z)]),
),
),
)
: undefined,
};
}