Skip to content

Automatic mode for workspace (Agent mode default)#5143

Open
timothycarambat wants to merge 25 commits intomasterfrom
automatic-mode
Open

Automatic mode for workspace (Agent mode default)#5143
timothycarambat wants to merge 25 commits intomasterfrom
automatic-mode

Conversation

@timothycarambat
Copy link
Member

@timothycarambat timothycarambat commented Mar 4, 2026

Pull Request Type

  • ✨ feat (New feature)
  • 🐛 fix (Bug fix)
  • ♻️ refactor (Code refactoring without changing behavior)
  • 💄 style (UI style changes)
  • 🔨 chore (Build, CI, maintenance)
  • 📝 docs (Documentation updates)

Relevant Issues

closes #3483
resolves #4932
resolves #4509
resolves #5068

Description

Introduces a new automatic chat mode (now the default) that automatically invokes tools when the provider supports native tool calling.

Also supports automatic injection of attached documents and images to providers.

Visuals (if applicable)

Additional Information

  • Add supportsNativeToolCalling() to AI providers (OpenAI, Anthropic, Azure always support; others opt-in via ENV)
  • Enhance translator to preserve Trans component tags
  • Remove deprecated ability tags UI
  • There was a lot of work on aibitat core to get this to function for all providers as well as persist messages, images, attachments, and possible stream errors for tooled/untooled and niche providers

Developer Validations

  • I ran yarn lint from the root of the repo & committed changes
  • Relevant documentation has been updated (if applicable)
  • I have tested my code functionality
  • Docker build succeeds locally

    Introduces a new automatic chat mode (now the default) that automatically invokes tools when the provider supports native tool calling. Conditionally shows/hides the @agent command based on whether native tooling is available.

    - Add supportsNativeToolCalling() to AI providers (OpenAI, Anthropic, Azure always support; others opt-in via ENV)
    - Update all locale translations with new mode descriptions
    - Enhance translator to preserve Trans component tags
    - Remove deprecated ability tags UI
const workspace = await prisma.workspaces.create({
data: {
name: this.validations.name(name),
chatMode: "automatic",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do this to prevent full drop-table migration

Comment on lines +53 to +56
type: "image_url",
image_url: {
url: attachment.contentString,
},
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always assuming OAI format since that is what 90% of the providers use

Comment on lines +89 to +91
supportsNativeToolCalling() {
return false;
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should always have a per-provider override

@timothycarambat timothycarambat marked this pull request as ready for review March 5, 2026 16:29
@timothycarambat timothycarambat added PR: Ready for QA Indicates that a PR is ready for QA and the GH image may build the image and removed PR: Ready for QA Indicates that a PR is ready for QA and the GH image may build the image labels Mar 5, 2026
@timothycarambat timothycarambat added the PR: Ready for QA Indicates that a PR is ready for QA and the GH image may build the image label Mar 5, 2026
@timothycarambat
Copy link
Member Author

Blocked by #5074 since will have massive merge confs once merged.

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

Labels

PR: Ready for QA Indicates that a PR is ready for QA and the GH image may build the image

Projects

None yet

3 participants