From de7f96ac0caf3a46a8d90cea0e700075f166fd58 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Mon, 7 Jul 2025 16:13:19 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20support=20for=20array=20type?= =?UTF-8?q?=20in=20Generate=20variables=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #1870 --- packages/ai/src/parseGenerateVariablesOptions.ts | 5 +++++ packages/ai/src/runGenerateVariables.ts | 3 +++ 2 files changed, 8 insertions(+) diff --git a/packages/ai/src/parseGenerateVariablesOptions.ts b/packages/ai/src/parseGenerateVariablesOptions.ts index b8bf63fd3..1ebfa4af4 100644 --- a/packages/ai/src/parseGenerateVariablesOptions.ts +++ b/packages/ai/src/parseGenerateVariablesOptions.ts @@ -37,6 +37,11 @@ export const variablesToExtractSchema = option type: option.literal("boolean"), }) .extend(extractInfoBaseShape), + option + .object({ + type: option.literal("array"), + }) + .extend(extractInfoBaseShape), option .object({ type: option.literal("enum"), diff --git a/packages/ai/src/runGenerateVariables.ts b/packages/ai/src/runGenerateVariables.ts index b75ed7178..5881f5cac 100644 --- a/packages/ai/src/runGenerateVariables.ts +++ b/packages/ai/src/runGenerateVariables.ts @@ -85,6 +85,9 @@ const convertVariablesToExtractToSchema = ({ case "boolean": shape[matchingVariable.name] = z.boolean(); break; + case "array": + shape[matchingVariable.name] = z.array(z.string()); + break; case "enum": { if (!variableToExtract.values || variableToExtract.values.length === 0) return;