Refactor Rhai integration with context-based execution and type registry
Major Changes:
- Moved Rhai support from rhai_support/ to rhai/ module
- Implemented context-based execution with signatory access control
- Added TypeRegistry for dynamic type registration and object creation
- Refactored engine to use context (Vec<String>) instead of instance
- Removed old runner binary (moved to runner_rust crate)
Rhai Module:
- engine.rs: Core Rhai engine with context-based get_context()
- functions.rs: Rhai function bindings (create_note, create_event, etc.)
- mod.rs: Module exports and organization
Store Improvements:
- TypeRegistry for registering object types and creators
- Generic store uses type registry for dynamic object creation
- Improved error handling and type safety
Documentation:
- RHAI_REFACTOR_COMPLETE.md: Refactoring details
- SIGNATORY_ACCESS_CONTROL.md: Context-based access control
- TYPE_REGISTRY_DESIGN.md: Type registry architecture
- REFACTORING_COMPLETE.md: Overall refactoring summary
- TESTS_COMPLETE.md: Testing documentation
Build Status: ✅ Compiles successfully with minor warnings
This commit is contained in:
@@ -9,7 +9,7 @@ path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "runner"
|
||||
path = "src/bin/runner/main.rs"
|
||||
path = "src/bin/runner.rs"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
@@ -24,12 +24,8 @@ uuid = { version = "1.6", features = ["v4", "serde"] }
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
osiris_derive = { path = "osiris_derive" }
|
||||
rhai = { version = "1.21.0", features = ["std", "sync", "serde"], optional = true }
|
||||
rhai = { version = "1.21.0", features = ["std", "sync", "serde"] }
|
||||
env_logger = "0.10"
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = "3.8"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
rhai-support = ["rhai"]
|
||||
|
||||
Reference in New Issue
Block a user