Nomad changes
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s

This commit is contained in:
Henrik Jess Nielsen
2026-06-01 23:40:55 +02:00
parent 72b1a0a6ed
commit b4c07d3693
5723 changed files with 1130655 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<!-- snippet:skip reason="Elixir Rustler NIFs cannot host async Send + Sync + 'static Rust trait objects via callbacks; the BEAM actor-model boundary requires plugin work to live in the Rust core. The alef-generated Elixir trait_call macro additionally has a backslash/encoding bug (separate alef-codegen ticket). Custom plugins must be implemented in Rust." -->
Plugin unregistration is not available in the Elixir binding. Plugin unregistration must be done in Rust using the registry APIs.
To unregister a specific plugin in Rust:
```rust
use kreuzberg::plugins::registry::get_document_extractor_registry;
let registry = get_document_extractor_registry();
registry.remove("custom-json-extractor")?;
```
In Elixir, you can only clear all plugins of a specific type using:
- `Kreuzberg.clear_document_extractors()`
- `Kreuzberg.clear_post_processors()`
- `Kreuzberg.clear_ocr_backends()`
- `Kreuzberg.clear_validators()`
To remove a single plugin, you must do so from the Rust core before Elixir starts using it.