Вызов подключённых Apps через SDK
Используйте Connector, когда backend-код должен вызывать Apps, подключённые к вашему аккаунту OOMOL. Этот путь использует hosted gateway OOMOL Connector и personal API key вида api_….
Установите SDK
npm install @oomol-lab/connector
SDK требует Node 18 или более поздней версии. Он также работает в других окружениях со стандартными API fetch и AbortController, но personal API key должен храниться в доверенном backend environment.
Создайте personal API key
Создайте ключ в OOMOL Console, затем сохраните его как секрет backend:
export OOMOL_API_KEY=api_...
Не помещайте этот ключ в browser bundle, мобильный клиент, публичный репозиторий, prompt или client-side log.
Выполните первый action
import { Connector } from "@oomol-lab/connector";
const oomol = new Connector({ apiKey: process.env.OOMOL_API_KEY! });
const result = await oomol.execute("gmail.search_threads", {
query: "is:unread",
});
Namespace-форма выполняет тот же action:
const result = await oomol.gmail.search_threads({ query: "is:unread" });
Используйте executeRaw, если для журналов или поддержки также нужны executionId, actionId и сообщение response.
Выберите подключённый аккаунт
Если у одного провайдера есть несколько подключений, выберите одно с помощью connectionName:
await oomol.execute(
"gmail.search_threads",
{ query: "from:ceo" },
{ connectionName: "work" },
);
Используйте oomol.apps.list(), чтобы посмотреть подключения, доступные текущему аккаунту OOMOL. Создание и удаление подключений выполняется в OOMOL Console.
Найдите actions
Используйте каталог для просмотра провайдеров, actions и их runtime schemas:
const providers = await oomol.catalog.providers({ q: "mail" });
const actions = await oomol.catalog.actions("gmail");
const action = await oomol.catalog.action("gmail.search_threads");
Если upstream endpoint не имеет смоделированного action, используйте proxy, чтобы вызвать его через выбранное подключение.
Перейдите к справочнику
В справочнике TypeScript SDK описаны точные типы actions, приоритет конфигурации, повторные попытки, тайм-ауты, отмена, поведение proxy, ошибки и полный API Connector.
Если каждый пользователь продукта должен подключать отдельный аккаунт, используйте ProjectConnector.
Wanta