n7n-plugin-host 0.1.6

wasmtime-бекенд для crate::registry::PluginRegistry (n7n-harness) — друга (wasm-компонентна) реалізація слотів detector/verify/ast_facts/t0, поруч з in-process-бекендом §3.12 пункту 16а
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Побудова [`wasmtime::Engine`] — один спільний конструктор для всіх
//! чотирьох поверхонь, щоб конфігурація (component model, компілятор) не
//! розходилась між `detector`/`verify`/`ast_facts`/`t0`.

use wasmtime::{Config, Engine};

/// `Engine` з увімкненою Component Model — без чого завгодно ще:
/// жодного async-виконання на рівні `Config` (кожен `Wasm*::call*` кличе
/// компонент синхронно, доккоментар crate-level "інстанс на спробу"),
/// жодного кешу компіляції на диску (`wasmtime`-фіча `cache` не ввімкнена
/// в `Cargo.toml` — [`wasmtime::component::Component`] кешується в
/// пам'яті самим викликачем, `Wasm*::from_file`, а не тут).
pub(crate) fn new_engine() -> wasmtime::Result<Engine> {
    let mut config = Config::new();
    config.wasm_component_model(true);
    Engine::new(&config)
}