Sonarly Claude Code b6af8ec687 fix: catch unsupported provider-defined tools in Bedrock v2 compatibility mode
https://sonarly.com/issue/21774?type=bug

AI chat streaming fails completely for workspaces using Amazon Bedrock with newer Claude models (e.g., Claude Opus 4.6) because the `@ai-sdk/amazon-bedrock` SDK falls back to v2 specification compatibility mode, which does not support provider-defined tools like `webSearch_20250305()`.

Fix: Two files changed to fix the root cause:

1. **`chat-execution.service.ts`** — Wrapped the `getNativeWebSearchTools()` switch block in a try-catch. When provider-defined tools fail (e.g., Bedrock v2 compatibility mode doesn't support `webSearch_20250305()`), the method now logs a warning and returns empty tools instead of letting the error propagate into `streamText()` where it kills the entire stream with `NoOutputGeneratedError`. Chat proceeds normally without web search.

2. **`agent-model-config.service.ts`** — Applied the same defensive pattern to `getNativeModelTools()`, which creates provider-defined tools for workflow agent execution. Added a `Logger` instance (following the same pattern used across all other services in this module) and wrapped the switch block in try-catch with a warning log.

Both fixes preserve the existing behavior for providers that support these tools (Anthropic direct API, OpenAI) while gracefully degrading for providers in compatibility mode (Bedrock with newer models). The fix is minimal and doesn't change any interfaces or types.
2026-04-04 12:16:51 +00:00
2026-04-03 12:44:03 +00:00
2025-08-07 17:02:12 +02:00
2026-03-11 16:30:28 +01:00

Twenty logo

The #1 Open-Source CRM

🌐 Website · 📚 Documentation · Roadmap · Discord · Figma


Cover


Installation

See: 🚀 Self-hosting 🖥️ Local Setup

Why Twenty

We built Twenty for three reasons:

CRMs are too expensive, and users are trapped. Companies use locked-in customer data to hike prices. It shouldn't be that way.

A fresh start is required to build a better experience. We can learn from past mistakes and craft a cohesive experience inspired by new UX patterns from tools like Notion, Airtable or Linear.

We believe in open-source and community. Hundreds of developers are already building Twenty together. Once we have plugin capabilities, a whole ecosystem will grow around it.


What You Can Do With Twenty

Please feel free to flag any specific needs you have by creating an issue.

Below are a few features we have implemented to date:

Personalize layouts with filters, sort, group by, kanban and table views

Companies Kanban Views

Customize your objects and fields

Setting Custom Objects

Create and manage permissions with custom roles

Permissions

Automate workflow with triggers and actions

Workflows

Emails, calendar events, files, and more

Other Features


Stack

Thanks

Chromatic Greptile Sentry Crowdin E2B

Thanks to these amazing services that we use and recommend for UI testing (Chromatic), code review (Greptile), catching bugs (Sentry) and translating (Crowdin).

Join the Community

Languages
TypeScript 78%
MDX 18.5%
JavaScript 3.1%
Python 0.2%