5a2523f533
Resolves the **vitest Critical** Dependabot alerts
(`GHSA-5xrq-8626-4rwp`, vitest `< 3.2.6`) — #1422–#1433.
Each `packages/twenty-apps/*` project is an **independent yarn project**
with its own `package.json` + `yarn.lock` (not part of the root
workspace). 12 of them declared `vitest: ^3.1.1` and locked an older
3.2.x. This bumps the range to `^3.2.6` and refreshes each lockfile to
**3.2.6** (latest 3.x, published 2026-06-01).
Projects updated: `community/github-connector`,
`examples/{hello-world,postcard}`,
`internal/{exa,people-data-labs,self-hosting,twenty-discord,twenty-fireflies,twenty-for-twenty,twenty-linear,twenty-partners,twenty-slack}`.
- Dev-scope only (test runner); no runtime impact.
- The **root workspace already uses vitest 4.x** (≥ the fix) and is
intentionally untouched.
- Verified: no `vitest < 3.2.6` remains in any `twenty-apps` lockfile.
twenty-exa
Exposes Exa structured web search to Twenty AI agents
(chat + workflow agents + MCP) as the app_exa_web_search tool.
Installation
- Register the app on the Twenty server once (admin API / UI):
twenty-exafrom npm. - Set
isPreInstalled=trueon the registration so it's installed on every new workspace. Existing workspaces can be backfilled via theinstall-pre-installed-appsCLI command. - Set the
EXA_API_KEYserver variable on the registration to your Exa API key. The value is injected into every logic function execution — no per-workspace configuration needed.
Billing
The handler calls Twenty's generic app billing endpoint
(POST /app/billing/charge) using the application access token injected
into the execution env. Pricing mirrors Exa's auto-search tier: $0.007
base (10 results) + $0.001 per additional result.