- **Package name**: `exa` is taken on npm by an unrelated package.
Renamed to `twenty-exa` — matches the `twenty-sdk` / `twenty-shared`
/ `twenty-client-sdk` publish convention. Discovery still works via
the `twenty-app` keyword (marketplace cron queries
`npm search text=keywords:twenty-app`, not by name).
- **Bump SDK deps** to `2.0.0` — the `0.9.0` release on npm doesn't
export `twenty-sdk/define`, so the build couldn't resolve the
imports.
- **Align with exa-js 1.10 API**: `exa.search(...)` moved content
options to a separate `exa.searchAndContents(...)` method. Updated
the handler. Also aligned `EXA_CATEGORIES` with what exa-js types
accept (dropped `people`, added `github` / `tweet` /
`linkedin profile`).
- **Add brand assets**: Exa logomark + full logo SVGs from Exa's
official brand kit, wired via `logoUrl: 'public/exa-logomark.svg'`.
- **Add scaffolding**: `.yarnrc.yml`, `.nvmrc`, `.gitignore`, empty
`yarn.lock` — makes the package installable/buildable as a
standalone project (matching `examples/postcard`).
Local `yarn twenty build` + `npm publish --dry-run` both succeed.
Ready to publish with `npm publish` from `.twenty/output/` once the
maintainer runs `npm login`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>