1#![allow(warnings)]
2extern crate alloc;
3#[macro_use]
4extern crate async_trait;
5extern crate core;
6#[macro_use]
7extern crate enum_ordinalize;
8#[macro_use]
10extern crate lazy_static;
11#[macro_use]
12extern crate strum_macros;
13
14use core::str::FromStr;
15use std::cmp::Ordering;
16use std::ops::Deref;
17use std::sync::Arc;
18
19use dashmap::{DashMap, DashSet};
20use serde::{Deserialize, Serialize};
21use tokio::sync::RwLock;
22
23use artifact::asynch::ArtifactFetcher;
24use command::common::{SetProperties, SetRegistry};
25use command::direct::create::{KindTemplate, Strategy};
26use command::direct::delete::Delete;
27use command::direct::query::{Query, QueryResult};
28use command::direct::select::{Select, SubSelect};
29use config::bind::BindConfig;
30use config::Document;
31use kind::{ArtifactSubKind, BaseKind, FileSubKind, Kind, Specific, StarSub, UserBaseSubKind};
32use loc::{Surface, Uuid};
33use particle::{Details, Properties, Status, Stub};
34use point::Point;
35use selector::Selector;
36use substance::Bin;
37use substance::{Substance, SubstanceList, Token, ToSubstance};
38use wave::core::ReflectedCore;
39
40use crate::err::SpaceErr;
41use crate::hyper::ParticleRecord;
42use crate::security::{Access, AccessGrant};
43use crate::wave::Agent;
44
45pub mod artifact;
46pub mod command;
47pub mod config;
48pub mod err;
49pub mod fail;
50pub mod frame;
51pub mod hyper;
52pub mod kind;
53pub mod loc;
54pub mod log;
55pub mod parse;
56pub mod particle;
57pub mod path;
58pub mod security;
59pub mod selector;
60pub mod settings;
61pub mod substance;
62pub mod util;
63pub mod wasm;
64pub mod wave;
65pub mod kind2;
66pub mod point;
67
68lazy_static! {
69 pub static ref VERSION: semver::Version =
70 semver::Version::from_str(include_str!("VERSION").trim()).unwrap();
71 pub static ref HYPERUSER: Point = Point::from_str("hyperspace:users:hyperuser").expect("point");
72 pub static ref ANONYMOUS: Point = Point::from_str("hyperspace:users:anonymous").expect("point");
73}
74
75#[cfg(test)]
86pub mod tests {
87 use crate::VERSION;
88
89 #[test]
90 fn version() {
91 println!("VERSION: {}", VERSION.to_string());
92 }
93}