feat: initial meshservice implementation

Generic decentralized service layer for mesh networks.
Includes FAPP (psychotherapy) and Housing as reference services.

- ServiceMessage with Ed25519 signatures
- Wire protocol (64-byte header + CBOR)
- ServiceRouter with pluggable handlers
- Verification framework (3 trust levels)
- 32 tests, 3 examples
This commit is contained in:
2026-04-01 08:23:00 +02:00
commit c757494cbe
1280 changed files with 26040 additions and 0 deletions

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,7 @@
cargo:rerun-if-changed=src/nightly.rs
cargo:rerun-if-env-changed=RUSTC_BOOTSTRAP
cargo:rustc-check-cfg=cfg(anyhow_build_probe)
cargo:rustc-check-cfg=cfg(anyhow_nightly_testing)
cargo:rustc-check-cfg=cfg(anyhow_no_clippy_format_args)
cargo:rustc-check-cfg=cfg(anyhow_no_core_error)
cargo:rustc-check-cfg=cfg(error_generic_member_access)

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/anyhow-1a588860b974a585/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/anyhow-ca06f8ac4a2f2c3e/build_script_build-ca06f8ac4a2f2c3e.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/build.rs
/home/c/projects/tool.meshservice/target/debug/build/anyhow-ca06f8ac4a2f2c3e/build_script_build-ca06f8ac4a2f2c3e: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,2 @@
cargo:rustc-cfg=curve25519_dalek_bits="64"
cargo:rustc-cfg=curve25519_dalek_backend="simd"

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/curve25519-dalek-504e88d3450ce928/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/curve25519-dalek-9773093b66dd7804/build_script_build-9773093b66dd7804.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/build.rs
/home/c/projects/tool.meshservice/target/debug/build/curve25519-dalek-9773093b66dd7804/build_script_build-9773093b66dd7804: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
cargo:rustc-cfg=relaxed_coherence

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/generic-array-01bbe54c11d445df/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/generic-array-f8314dea6bb2335e/build_script_build-f8314dea6bb2335e.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.7/build.rs
/home/c/projects/tool.meshservice/target/debug/build/generic-array-f8314dea6bb2335e/build_script_build-f8314dea6bb2335e: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.7/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.7/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,25 @@
cargo:rerun-if-changed=build.rs
cargo:rerun-if-env-changed=RUST_LIBC_UNSTABLE_FREEBSD_VERSION
cargo:rustc-cfg=freebsd12
cargo:rerun-if-env-changed=RUST_LIBC_UNSTABLE_MUSL_V1_2_3
cargo:rerun-if-env-changed=RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64
cargo:rerun-if-env-changed=RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS
cargo:rerun-if-env-changed=RUST_LIBC_UNSTABLE_GNU_TIME_BITS
cargo:rustc-check-cfg=cfg(emscripten_old_stat_abi)
cargo:rustc-check-cfg=cfg(espidf_time32)
cargo:rustc-check-cfg=cfg(freebsd10)
cargo:rustc-check-cfg=cfg(freebsd11)
cargo:rustc-check-cfg=cfg(freebsd12)
cargo:rustc-check-cfg=cfg(freebsd13)
cargo:rustc-check-cfg=cfg(freebsd14)
cargo:rustc-check-cfg=cfg(freebsd15)
cargo:rustc-check-cfg=cfg(gnu_file_offset_bits64)
cargo:rustc-check-cfg=cfg(gnu_time_bits64)
cargo:rustc-check-cfg=cfg(libc_deny_warnings)
cargo:rustc-check-cfg=cfg(linux_time_bits64)
cargo:rustc-check-cfg=cfg(musl_v1_2_3)
cargo:rustc-check-cfg=cfg(musl32_time64)
cargo:rustc-check-cfg=cfg(vxworks_lt_25_09)
cargo:rustc-check-cfg=cfg(target_os,values("switch","aix","ohos","hurd","rtems","visionos","nuttx","cygwin","qurt"))
cargo:rustc-check-cfg=cfg(target_env,values("illumos","wasi","aix","ohos","nto71_iosock","nto80"))
cargo:rustc-check-cfg=cfg(target_arch,values("loongarch64","mips32r6","mips64r6","csky"))

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/libc-c18a5f818b9f6ae4/out

Binary file not shown.

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/libc-d98836a0e9f0f1c1/build_script_build-d98836a0e9f0f1c1.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/build.rs
/home/c/projects/tool.meshservice/target/debug/build/libc-d98836a0e9f0f1c1/build_script_build-d98836a0e9f0f1c1: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,23 @@
cargo:rustc-check-cfg=cfg(fuzzing)
cargo:rustc-check-cfg=cfg(no_is_available)
cargo:rustc-check-cfg=cfg(no_literal_byte_character)
cargo:rustc-check-cfg=cfg(no_literal_c_string)
cargo:rustc-check-cfg=cfg(no_source_text)
cargo:rustc-check-cfg=cfg(proc_macro_span)
cargo:rustc-check-cfg=cfg(proc_macro_span_file)
cargo:rustc-check-cfg=cfg(proc_macro_span_location)
cargo:rustc-check-cfg=cfg(procmacro2_backtrace)
cargo:rustc-check-cfg=cfg(procmacro2_build_probe)
cargo:rustc-check-cfg=cfg(procmacro2_nightly_testing)
cargo:rustc-check-cfg=cfg(procmacro2_semver_exempt)
cargo:rustc-check-cfg=cfg(randomize_layout)
cargo:rustc-check-cfg=cfg(span_locations)
cargo:rustc-check-cfg=cfg(super_unstable)
cargo:rustc-check-cfg=cfg(wrap_proc_macro)
cargo:rerun-if-changed=src/probe/proc_macro_span.rs
cargo:rustc-cfg=wrap_proc_macro
cargo:rerun-if-changed=src/probe/proc_macro_span_location.rs
cargo:rustc-cfg=proc_macro_span_location
cargo:rerun-if-changed=src/probe/proc_macro_span_file.rs
cargo:rustc-cfg=proc_macro_span_file
cargo:rerun-if-env-changed=RUSTC_BOOTSTRAP

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/proc-macro2-035337776c278475/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/proc-macro2-39c1e5cc6f5bafb9/build_script_build-39c1e5cc6f5bafb9.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/build.rs
/home/c/projects/tool.meshservice/target/debug/build/proc-macro2-39c1e5cc6f5bafb9/build_script_build-39c1e5cc6f5bafb9: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,2 @@
cargo:rerun-if-changed=build.rs
cargo:rustc-check-cfg=cfg(no_diagnostic_namespace)

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/quote-124836fb30badd07/out

Binary file not shown.

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/quote-2a882456bb843e49/build_script_build-2a882456bb843e49.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/build.rs
/home/c/projects/tool.meshservice/target/debug/build/quote-2a882456bb843e49/build_script_build-2a882456bb843e49: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,6 @@
#[doc(hidden)]
pub mod __private228 {
#[doc(hidden)]
pub use crate::private::*;
}
use serde_core::__private228 as serde_core_private;

View File

@@ -0,0 +1,13 @@
cargo:rerun-if-changed=build.rs
cargo:rustc-cfg=if_docsrs_then_no_serde_core
cargo:rustc-check-cfg=cfg(feature, values("result"))
cargo:rustc-check-cfg=cfg(if_docsrs_then_no_serde_core)
cargo:rustc-check-cfg=cfg(no_core_cstr)
cargo:rustc-check-cfg=cfg(no_core_error)
cargo:rustc-check-cfg=cfg(no_core_net)
cargo:rustc-check-cfg=cfg(no_core_num_saturating)
cargo:rustc-check-cfg=cfg(no_diagnostic_namespace)
cargo:rustc-check-cfg=cfg(no_serde_derive)
cargo:rustc-check-cfg=cfg(no_std_atomic)
cargo:rustc-check-cfg=cfg(no_std_atomic64)
cargo:rustc-check-cfg=cfg(no_target_has_atomic)

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/serde-6bf5280d9408b79b/out

Binary file not shown.

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/serde-fe463ff9cf1297ae/build_script_build-fe463ff9cf1297ae.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/build.rs
/home/c/projects/tool.meshservice/target/debug/build/serde-fe463ff9cf1297ae/build_script_build-fe463ff9cf1297ae: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/build.rs:

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/serde_core-52965ab98792e8fa/build_script_build-52965ab98792e8fa.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/build.rs
/home/c/projects/tool.meshservice/target/debug/build/serde_core-52965ab98792e8fa/build_script_build-52965ab98792e8fa: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,5 @@
#[doc(hidden)]
pub mod __private228 {
#[doc(hidden)]
pub use crate::private::*;
}

View File

@@ -0,0 +1,11 @@
cargo:rerun-if-changed=build.rs
cargo:rustc-check-cfg=cfg(if_docsrs_then_no_serde_core)
cargo:rustc-check-cfg=cfg(no_core_cstr)
cargo:rustc-check-cfg=cfg(no_core_error)
cargo:rustc-check-cfg=cfg(no_core_net)
cargo:rustc-check-cfg=cfg(no_core_num_saturating)
cargo:rustc-check-cfg=cfg(no_diagnostic_namespace)
cargo:rustc-check-cfg=cfg(no_serde_derive)
cargo:rustc-check-cfg=cfg(no_std_atomic)
cargo:rustc-check-cfg=cfg(no_std_atomic64)
cargo:rustc-check-cfg=cfg(no_target_has_atomic)

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/serde_core-54f81c8505f29549/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/thiserror-22200feadb5dbece/build_script_build-22200feadb5dbece.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/build.rs
/home/c/projects/tool.meshservice/target/debug/build/thiserror-22200feadb5dbece/build_script_build-22200feadb5dbece: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,4 @@
cargo:rerun-if-changed=build/probe.rs
cargo:rustc-check-cfg=cfg(error_generic_member_access)
cargo:rustc-check-cfg=cfg(thiserror_nightly_testing)
cargo:rerun-if-env-changed=RUSTC_BOOTSTRAP

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/thiserror-a663f221800ed455/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/typenum-043d1cb20ac33418/build_script_build-043d1cb20ac33418.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/build.rs
/home/c/projects/tool.meshservice/target/debug/build/typenum-043d1cb20ac33418/build_script_build-043d1cb20ac33418: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
cargo:rerun-if-changed=tests

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/typenum-b55e69e2fba620d5/out

View File

@@ -0,0 +1,5 @@
/home/c/projects/tool.meshservice/target/debug/build/zerocopy-6f65d24d3396ed7c/build_script_build-6f65d24d3396ed7c.d: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/build.rs
/home/c/projects/tool.meshservice/target/debug/build/zerocopy-6f65d24d3396ed7c/build_script_build-6f65d24d3396ed7c: /home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/build.rs
/home/c/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.48/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,24 @@
cargo:rerun-if-changed=build.rs
cargo:rerun-if-changed=Cargo.toml
cargo:rustc-check-cfg=cfg(no_zerocopy_simd_x86_avx12_1_89_0)
cargo:rustc-check-cfg=cfg(rust, values("1.89.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_core_error_1_81_0)
cargo:rustc-check-cfg=cfg(rust, values("1.81.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_diagnostic_on_unimplemented_1_78_0)
cargo:rustc-check-cfg=cfg(rust, values("1.78.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_generic_bounds_in_const_fn_1_61_0)
cargo:rustc-check-cfg=cfg(rust, values("1.61.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_target_has_atomics_1_60_0)
cargo:rustc-check-cfg=cfg(rust, values("1.60.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_aarch64_simd_1_59_0)
cargo:rustc-check-cfg=cfg(rust, values("1.59.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_aarch64_simd_be_1_87_0)
cargo:rustc-check-cfg=cfg(rust, values("1.87.0"))
cargo:rustc-check-cfg=cfg(no_zerocopy_panic_in_const_and_vec_try_reserve_1_57_0)
cargo:rustc-check-cfg=cfg(rust, values("1.57.0"))
cargo:rustc-check-cfg=cfg(doc_cfg)
cargo:rustc-check-cfg=cfg(kani)
cargo:rustc-check-cfg=cfg(__ZEROCOPY_INTERNAL_USE_ONLY_NIGHTLY_FEATURES_IN_TESTS)
cargo:rustc-check-cfg=cfg(__ZEROCOPY_INTERNAL_USE_ONLY_DEV_MODE)
cargo:rustc-check-cfg=cfg(coverage_nightly)
cargo:rustc-check-cfg=cfg(zerocopy_inline_always)

View File

@@ -0,0 +1 @@
/home/c/projects/tool.meshservice/target/debug/build/zerocopy-f5cb590361e66d4f/out