1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! linesmith-plugin: rhai plugin host for the linesmith status line.
//!
//! Construction (`build_engine`) and load-time machinery (discovery,
//! script compilation, `@data_deps` header parsing, id-collision
//! detection) live here. The bridge that adapts a [`CompiledPlugin`]
//! to linesmith-core's `Segment` trait — and the `DataContext` →
//! `rhai::Map` mirror — lives in `linesmith-core::plugins` so this
//! crate's public surface stays free of linesmith-domain types.
//!
//! Surface contract per ADR-0018: declared deps cross this boundary
//! as `Vec<String>` (raw header tokens, validated against the
//! plugin-accessible name set defined by `header::KNOWN_DEPS` per
//! `docs/specs/plugin-api.md`); the consumer maps strings back to
//! its own dep enum. `pub use rhai;` lets consumers reach
//! `rhai::Map` / `Engine` / `Dynamic` via `linesmith_plugin::rhai::*`
//! without adding rhai as a direct dep — workspace alignment is
//! still the source of truth for which rhai version compiles together.
//!
//! Workspace-internal in v0.1; public surface is free to refactor
//! without SemVer cost until a publish decision lands.
pub use scan_plugin_dirs;
pub use build_engine;
pub use ;
pub use ;
pub use ;
/// Re-export rhai so consumers can name `rhai::Map` / `Engine` /
/// `Dynamic` via `linesmith_plugin::rhai::*` without adding rhai as
/// a direct dep. Workspace alignment, not this re-export, is the
/// version pin.
pub use rhai;