SDK @inquir/compute превращает функции в код, который можно ревьюить, типизировать и версионировать: обработчик, его лимиты и схемы входа/выхода живут в одном файле репозитория, а CLI деплоит ровно то, что объявлено в коде.
Используйте его, когда браузерный редактор перестаёт быть источником истины — командные репозитории, код-ревью, деплой из CI, — сохраняя под капотом те же рантайм, шлюз и наблюдаемость.
Структура проекта
inquir init разворачивает воркспейс с inquir.config.json в корне. Конфиг говорит CLI, где искать ассеты:
{ "functionsDir": "inquir/functions", "pipelinesDir": "inquir/pipelines", "generatedDir": ".inquir/generated" }
Всё в functionsDir, что экспортирует управляемую функцию, обнаруживается автоматически — вручную поддерживать манифест не нужно.
Описываем функцию
defineFunction связывает конфигурацию с обработчиком. Схемы входа и выхода — типы Zod: SDK валидирует событие до запуска вашего кода и выводит TypeScript-сигнатуру обработчика из схемы.
import { defineFunction } from '@inquir/compute'; import { z } from 'zod'; // Config, validation, and types live next to the code — no console clicking. export const greet = defineFunction( { name: 'greet', timeoutMs: 10_000, memoryMB: 256, moduleType: 'esm', // skip content sniffing for .js entry files input: z.object({ name: z.string() }), output: z.object({ greeting: z.string() }), }, async ({ name }) => ({ greeting: `Hello, ${name}!` }) );
Все опции зеркалят настройки консоли — timeoutMs, memoryMB, allowNetwork, environment и moduleType, который избавляет от угадывания ESM/CommonJS для обычных .js-входов.
Ежедневный цикл
inquir list— показать локальные ассеты, которые нашёл SDK (с-r— что задеплоено удалённо).inquir run greet --payload '{"name":"World"}'— выполнить функцию локально с валидацией схемы, без деплоя.inquir deploy greet— упаковать функцию и стримить логи сборки, пока эндпоинт не оживёт.inquir logs greet— смотреть свежие удалённые вызовы прямо из терминала.
SDK или редактор
Браузерный редактор — самый быстрый способ проверить идею, и он полностью поддерживается: оба инструмента работают с одними и теми же функциями. Переходите на SDK, когда изменениям нужны ревью, тесты и CI: code-first-функции получают типизированные контракты и воспроизводимые деплои, а редактор остаётся удобным для быстрой диагностики в продакшне.