API ВЕГА

Навык помогает спроектировать и создать Convex component с собственными таблицами и функциями, а затем подключить его к приложению через небольшой API. Он также проверяет границы между component и приложением: например, оставляет аутентификацию и доступ к переменным окружения в приложении.

Возможности

  • Помогает выбрать локальный, пакетируемый или гибридный component и прочитать соответствующий reference-файл.
  • Создаёт структуру component с convex.config.ts, schema.ts и файлами функций.
  • Настраивает подключение через app.use(...) и вызовы через components.<name> с помощью ctx.runQuery, ctx.runMutation или ctx.runAction.
  • Подсказывает, как передавать аутентификацию, переменные окружения и ID приложения через границу component.
  • Проверяет codegen и типы командами Convex.

Когда использовать

  • Создаёте новый Convex component в существующем приложении.
  • Выносите повторно используемую backend-логику в отдельный component.
  • Разрабатываете интеграцию, которой нужны собственные таблицы и workflows.
  • Хотите использовать функциональность Convex в нескольких приложениях.

Примеры

Локальный component объявляется через defineComponent:

// convex/components/notifications/convex.config.ts
import { defineComponent } from "convex/server";

export default defineComponent("notifications");

Подключение component в приложении:

// convex/convex.config.ts
import { defineApp } from "convex/server";
import notifications from "./components/notifications/convex.config.js";

const app = defineApp();
app.use(notifications);

export default app;

Вызов функции component из приложения:

await ctx.runMutation(components.notifications.lib.send, {
  userId,
  message: args.message,
});

Проверка проекта:

npx convex dev