Restructure Osiris: separate core, client, and server crates to avoid circular dependencies

This commit is contained in:
Timur Gordon
2025-11-04 13:08:43 +01:00
parent ae846ea734
commit 5d82959457
86 changed files with 601 additions and 62 deletions

29
core/src/lib.rs Normal file
View File

@@ -0,0 +1,29 @@
// Allow the crate to reference itself as ::osiris for the derive macro
extern crate self as osiris;
pub mod config;
pub mod error;
pub mod index;
pub mod interfaces;
pub mod objects;
pub mod retrieve;
pub mod store;
// Rhai integration modules (top-level)
pub mod context;
pub mod engine;
pub use error::{Error, Result};
pub use store::{BaseData, IndexKey, Object, Storable};
pub use objects::{Event, Note};
// OsirisContext is the main type for Rhai integration
pub use context::{OsirisContext, OsirisInstance, OsirisContextBuilder};
pub use engine::{
create_osiris_engine,
register_osiris_full,
OsirisPackage,
};
// Re-export the derive macro
pub use osiris_derive::Object as DeriveObject;