Skip to content

fix(ai): return transformed array output elements#15838

Open
he-yufeng wants to merge 1 commit into
vercel:mainfrom
he-yufeng:fix/generate-text-array-coerced-output
Open

fix(ai): return transformed array output elements#15838
he-yufeng wants to merge 1 commit into
vercel:mainfrom
he-yufeng:fix/generate-text-array-coerced-output

Conversation

@he-yufeng
Copy link
Copy Markdown

@he-yufeng he-yufeng commented Jun 4, 2026

Summary

  • return validated array elements from generateObject({ output: "array" })
  • return validated array elements from Output.array().parseCompleteOutput
  • add regression coverage for schema transforms in both final array paths

Fixes #15707.
Fixes #15708.

To verify

  • pnpm install --frozen-lockfile --filter ai...
  • pnpm --filter ai test:node -- src/generate-text/output.test.ts src/generate-object/generate-object.test.ts
  • pnpm --filter ai type-check
  • pnpm exec ultracite check packages/ai/src/generate-text/output.ts packages/ai/src/generate-text/output.test.ts packages/ai/src/generate-object/output-strategy.ts packages/ai/src/generate-object/generate-object.test.ts
  • git diff --check

@he-yufeng he-yufeng force-pushed the fix/generate-text-array-coerced-output branch from 83fbb89 to a7522a6 Compare June 4, 2026 23:50
@lgrammel
Copy link
Copy Markdown
Collaborator

lgrammel commented Jun 5, 2026

Hi! please sign the commits (see https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits ) and add a patch changeset

@lgrammel
Copy link
Copy Markdown
Collaborator

lgrammel commented Jun 5, 2026

Landed #15734 - the generateObject part of this PR is still relevant. Please update, sign commits, and add a changeset. Thanks!

@he-yufeng he-yufeng force-pushed the fix/generate-text-array-coerced-output branch from a7522a6 to 1204bbb Compare June 6, 2026 17:52
@he-yufeng
Copy link
Copy Markdown
Author

Updated the branch in 1204bbb4f.

What changed:

  • rebased onto current main
  • dropped the already-landed generateText side of the original patch
  • kept the still-relevant generateObject array transform fix
  • added a patch changeset for ai

Validation:

pnpm --filter ai exec vitest --config vitest.node.config.js --run src/generate-object/generate-object.test.ts
# 41 passed

pnpm --filter ai exec vitest --config vitest.edge.config.js --run src/generate-object/generate-object.test.ts
# 41 passed

pnpm --filter ai exec tsc --build
# passed

pnpm --filter ai build
# passed

pnpm konsistent
# passed

pnpm exec ultracite check .changeset/clean-arrays-parse.md packages/ai/src/generate-object/generate-object.test.ts packages/ai/src/generate-object/output-strategy.ts
# passed

git diff --check origin/main..HEAD
# passed

One local note: the broader pnpm exec turbo build --filter=ai command is blocked on Windows by packages/test-server using rm -rf in its clean script, so I validated the ai package build directly after rebuilding the workspace dependencies it imports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants