#117
feat: add DeepL plugin
Summary
Adds DeepL plugin with the following action:
- Translate Text: Translate text with configurable target/source language, formality, and model type
Features:
- Auto-detects free vs pro API keys
- 15 target languages with regional variants
- Source language auto-detection
- Formality control
- Model type selection (quality/latency optimized)
Test plan
- Connection test validates credentials
- Actions execute successfully in a workflow
- Error handling works for invalid inputs
Activity
6vercel[bot]reviewed11mo ago
copilot-pull-request-reviewer[bot]reviewed11mo ago
Pull request overview
This PR adds a DeepL translation plugin to the codebase, enabling text translation through DeepL's API with support for automatic detection of free vs. pro API keys, multiple target languages with regional variants, source language detection, formality control, and model type selection.
Key changes:
- Implements a complete DeepL plugin with translate-text action supporting configurable translation parameters
- Adds API key validation through DeepL's usage endpoint
- Auto-detects API key type (free vs. pro) to route requests to appropriate endpoints
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/index.ts | Registers the new deepl plugin in the plugin registry |
| plugins/deepl/index.ts | Defines plugin configuration, form fields, and translate-text action with language/formality/model options |
| plugins/deepl/test.ts | Implements API key validation using DeepL's usage endpoint |
| plugins/deepl/steps/translate-text.ts | Core translation logic with error handling and response parsing |
| plugins/deepl/icon.tsx | DeepL logo SVG component |
| plugins/deepl/credentials.ts | TypeScript type definition for DeepL credentials |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@bensabic is attempting to deploy a commit to the Vercel Labs Team on Vercel.
A member of the Team first needs to authorize it.