Skip to content

fix(ai): collect trailing local tool approvals#17036

Open
iroiro147 wants to merge 1 commit into
vercel:mainfrom
iroiro147:fix/tool-approval-context-17033
Open

fix(ai): collect trailing local tool approvals#17036
iroiro147 wants to merge 1 commit into
vercel:mainfrom
iroiro147:fix/tool-approval-context-17033

Conversation

@iroiro147

Copy link
Copy Markdown

Summary

  • Collect local tool approval responses from the latest assistant approval turn even when user or system context follows the approval response.
  • Skip approvals that already have tool results and avoid replaying approvals behind a later assistant response.
  • Align missing-result validation with the same latest-assistant approval boundary.

Fixes #17033

Tests

  • pnpm --filter ai test:node -- collect-tool-approvals.test.ts stream-text.test.ts convert-to-language-model-prompt.validation.test.ts
  • pnpm --filter ai test:edge -- collect-tool-approvals.test.ts stream-text.test.ts convert-to-language-model-prompt.validation.test.ts
  • pnpm --filter ai type-check
  • pnpm exec oxfmt --check packages/ai/src/util/get-latest-assistant-approval-turn.ts packages/ai/src/generate-text/collect-tool-approvals.ts packages/ai/src/generate-text/collect-tool-approvals.test.ts packages/ai/src/generate-text/stream-text.test.ts packages/ai/src/prompt/convert-to-language-model-prompt.ts packages/ai/src/prompt/convert-to-language-model-prompt.validation.test.ts
  • pnpm exec oxlint packages/ai/src/util/get-latest-assistant-approval-turn.ts packages/ai/src/generate-text/collect-tool-approvals.ts packages/ai/src/generate-text/collect-tool-approvals.test.ts packages/ai/src/generate-text/stream-text.test.ts packages/ai/src/prompt/convert-to-language-model-prompt.ts packages/ai/src/prompt/convert-to-language-model-prompt.validation.test.ts

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

streamText silently skips local tool approvals when a later context message follows the approval response

1 participant