feat: implement mapping engine
This commit is contained in:
@@ -268,6 +268,12 @@ gRPC target:
|
||||
|
||||
Черновой mapping может генерироваться автоматически на основе загруженных примеров данных, но итоговая конфигурация всегда остается явной и редактируемой оператором.
|
||||
|
||||
Для MVP допустима простая стратегия draft generation:
|
||||
|
||||
- искать уникальные leaf-поля с одинаковыми именами;
|
||||
- предлагать только однозначные соответствия;
|
||||
- не пытаться автоматически разрешать конфликты и неоднозначности.
|
||||
|
||||
Каноническая логическая модель остается общей для runtime и БД, но система должна уметь сериализовать и десериализовать ее также в `YAML`.
|
||||
|
||||
## 9. Основные компоненты
|
||||
|
||||
@@ -383,6 +383,13 @@
|
||||
- `$.response.grpc.*`
|
||||
- `$.output.*`
|
||||
|
||||
Для MVP достаточно управляемого подмножества `JSONPath`:
|
||||
|
||||
- путь всегда начинается с фиксированного root context;
|
||||
- дальше используются dot-separated поля;
|
||||
- для массивов допускаются numeric indexes вида `[0]`;
|
||||
- quoted selectors, filter expressions и произвольные функции не поддерживаются.
|
||||
|
||||
### `Transform`
|
||||
|
||||
Для MVP transformations должны быть ограничены:
|
||||
@@ -404,6 +411,14 @@
|
||||
}
|
||||
```
|
||||
|
||||
### Черновая генерация mapping
|
||||
|
||||
Для MVP generation draft mapping может опираться на простое правило:
|
||||
|
||||
- система сопоставляет уникальные leaf-поля с одинаковыми именами в source sample и target sample;
|
||||
- неоднозначные совпадения автоматически не связываются;
|
||||
- результат всегда остается черновиком и требует ручной проверки оператором.
|
||||
|
||||
## 7. `ExecutionConfig`
|
||||
|
||||
`ExecutionConfig` задает параметры выполнения operation.
|
||||
|
||||
Reference in New Issue
Block a user