Skip to content

Обзор расширений

Расширение — это npm-пакет с манифестом extension.manifest.mjs и entry-файлами для каждого target-а. Хост (artiroute) загружает расширения из apps/backend/data/extensions/ и инициализирует их через @artiroute/extension-sdk.

Ключевая идея

Extension point = слот реестра (registryId, key).

КонцепцияРеализация
Extension pointПара registryId + key в Map-реестре
Contributionregister(key, value, order?) в setup() расширения
Declarationcontributes.ext.declaresRegistries в manifest
Extension claimcontributes.ext.extendsRegistries в manifest

Подробнее: Концепция реестров.

Три target-а

TargetEntryНазначение
backendsrc/backend/index.tsМиграции Kysely, Feathers-сервисы
frontendsrc/frontend/index.tsUI: sidebar, routes, widgets, artifact types, UI slots
aisrc/ai/index.tsТипы генерации и artifact drivers для ai-agent-service

В manifest указывается:

js
targets: {
  backend: {},
  frontend: {},
  ai: {},
}

Не все target-ы обязательны — включайте только нужные.

Lifecycle

mermaid
flowchart TD
  Author["Автор: packages/extensions/name/"]
  Build["pnpm build:extensions"]
  Dist["dist/ + *.zip"]
  Install["pnpm install:extensions"]
  Data["apps/backend/data/extensions/"]
  Backend["Backend: discovery, migrations, /extensions/*"]
  Frontend["Frontend: dynamic import frontend/index.js"]
  AI["AI service: dynamic import ai/index.js"]

  Author --> Build --> Dist --> Install --> Data
  Data --> Backend
  Data --> Frontend
  Data --> AI
  1. Автор пишет TypeScript в packages/extensions/<name>/
  2. extension-build --root . собирает dist/ и упаковывает .zip
  3. pnpm install:extensions распаковывает в apps/backend/data/extensions/
  4. Backend: discovery, миграции, Feathers, раздача статики /extensions/*
  5. Frontend и AI: dynamic import по manifest после bootstrap хоста

User preferences

Расширения могут участвовать в layout пользователя:

  • widgetLayout — вкладки и виджеты project workspace
  • dashboardLayout — порядок и сетка виджетов дашборда (UserPreferences v2)

Продуктовые расширения (roadmap)

Планируемые пакеты поверх Platform Core — независимые друг от друга:

РасширениеНазначение
AI-flowAutomatic pipeline: пресет + оркестратор + research areas
Artifact reviewГалочка «проверено» на артефакте
Required deliverablesЧеклист обязательных артефактов в Space (без пресетов)

Подробнее: обзор.

Дальше

AI workspace для командных материалов и знаний