AI: текущее состояние и паттерны
Текущее состояние (v1 platform)
ai-agent-service не имеет прямого host API для:
entityFields.getValues/setValuesbuildSpaceAbility/mySpaceAbilities
Это отмечено в плане Extension Platform Core как отдельная фаза после backend + frontend.
AI уже использует:
artifact.agentEdit— enforcement на backend при agent session / working copy- Artifact drivers и generation context — не EAV fields автоматически
Как расширению участвовать в AI сегодня
1. Ability на backend
Agent edit блокируется без artifact.agentEdit. Дополнительные restrictions — в entity hooks на beforeSaveVersion / afterSaveVersion.
2. Поля space/artifact в промпте
Паттерны:
| Паттерн | Как |
|---|---|
| Skill / template prompt | Статический текст в template.systemPrompt |
| Backend перед generation | Host читает EAV и кладёт в GenerationContext (custom host code) |
| Extension Feathers | AI tool вызывает backend extension → getValues |
| Read artifact tool | Если данные продублированы в artifact body |
3. Валидация результата генерации
driver.validate(content) в artifact driver extension — место для проверки с учётом бизнес-правил. Hook afterSaveVersion — для enforcement после commit WC.
4. Будущая интеграция (рекомендация)
Когда появится AI host API:
ts
// гипотетический surface
generationContext.spaceFields: Record<string, string>
generationContext.assertAbility('my-ext.approve')До этого — не дублировать EAV в AI session; читайте с backend по spaceId / artifactId из GenerationContext.
registry-test и AI
registry-test AI driver — minimal plain text для smoke pipeline, без entity fields. Platform demo — только backend target (packages/extensions/registry-test/src/backend/index.ts).