diff --git a/.cargo/audit.toml b/.cargo/audit.toml
new file mode 100644
index 00000000..14ac3045
--- /dev/null
+++ b/.cargo/audit.toml
@@ -0,0 +1,25 @@
+# Cargo audit configuration for AIngle
+# https://rustsec.org/
+
+[advisories]
+# Advisories to ignore in product crates
+ignore = [
+ # rsa 0.9.10 — Marvin Attack timing sidechannel (no upstream fix)
+ # Pulled in by jsonwebtoken 10.x; JWT auth uses HMAC/EdDSA, not RSA decryption
+ "RUSTSEC-2023-0071",
+
+ # bincode 2.0.1 — unmaintained advisory, still functional (aingle_graph)
+ "RUSTSEC-2025-0141",
+
+ # async-std — unmaintained (transitive via async-tungstenite in aingle_minimal)
+ "RUSTSEC-2025-0052",
+
+ # fxhash — unmaintained (transitive via sled in aingle_graph)
+ "RUSTSEC-2025-0057",
+
+ # instant — unmaintained (transitive via sled → parking_lot 0.11)
+ "RUSTSEC-2024-0384",
+
+ # paste — unmaintained (transitive via wasmer and candle-core/gemm)
+ "RUSTSEC-2024-0436",
+]
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e23ab1b1..da8bd432 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -195,7 +195,7 @@ jobs:
- name: Test aingle_minimal with all transports
run: cargo test -p aingle_minimal --features "sqlite,coap,quic,webrtc,rest"
- # Note: Other crates (aingle_graph, hope_agents, titans_memory, etc.)
+ # Note: Other crates (aingle_graph, kaneru, ineru, etc.)
# will be added to CI once they pass all checks independently
# Security audit for dependencies
@@ -252,7 +252,7 @@ jobs:
continue-on-error: true
- name: Upload coverage to Codecov
- uses: codecov/codecov-action@v5
+ uses: codecov/codecov-action@v7
with:
files: lcov.info
fail_ci_if_error: false
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a3a621df..911f2b94 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -28,18 +28,23 @@ jobs:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
name: aingle-minimal-linux-x86_64
+ cortex_name: aingle-cortex-linux-x86_64
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
name: aingle-minimal-linux-aarch64
+ cortex_name: aingle-cortex-linux-aarch64
- target: x86_64-apple-darwin
os: macos-latest
name: aingle-minimal-macos-x86_64
+ cortex_name: aingle-cortex-macos-x86_64
- target: aarch64-apple-darwin
os: macos-latest
name: aingle-minimal-macos-aarch64
+ cortex_name: aingle-cortex-macos-aarch64
- target: x86_64-pc-windows-msvc
os: windows-latest
name: aingle-minimal-windows-x86_64.exe
+ cortex_name: aingle-cortex-windows-x86_64.exe
steps:
- uses: actions/checkout@v6
@@ -74,31 +79,48 @@ jobs:
restore-keys: |
${{ runner.os }}-${{ matrix.target }}-cargo-release-
- - name: Build release binary
+ - name: Build aingle-minimal
run: cargo build --release --target ${{ matrix.target }} -p aingle_minimal --features rest
env:
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
- - name: Create archive (Unix)
+ - name: Build aingle-cortex
+ run: cargo build --release --target ${{ matrix.target }} -p aingle_cortex
+ env:
+ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
+
+ - name: Create archives (Unix)
if: runner.os != 'Windows'
run: |
mkdir -p dist
cp target/${{ matrix.target }}/release/aingle-minimal dist/${{ matrix.name }}
- cd dist && tar -czvf ${{ matrix.name }}.tar.gz ${{ matrix.name }}
+ cp target/${{ matrix.target }}/release/aingle-cortex dist/${{ matrix.cortex_name }}
+ cd dist
+ tar -czvf ${{ matrix.name }}.tar.gz ${{ matrix.name }}
+ tar -czvf ${{ matrix.cortex_name }}.tar.gz ${{ matrix.cortex_name }}
- - name: Create archive (Windows)
+ - name: Create archives (Windows)
if: runner.os == 'Windows'
run: |
mkdir dist
copy target\${{ matrix.target }}\release\aingle-minimal.exe dist\${{ matrix.name }}
- cd dist && 7z a -tzip ${{ matrix.name }}.zip ${{ matrix.name }}
+ copy target\${{ matrix.target }}\release\aingle-cortex.exe dist\${{ matrix.cortex_name }}
+ cd dist
+ 7z a -tzip ${{ matrix.name }}.zip ${{ matrix.name }}
+ 7z a -tzip ${{ matrix.cortex_name }}.zip ${{ matrix.cortex_name }}
- - name: Upload artifact
- uses: actions/upload-artifact@v6
+ - name: Upload aingle-minimal artifact
+ uses: actions/upload-artifact@v7
with:
name: ${{ matrix.name }}
path: dist/${{ matrix.name }}.*
+ - name: Upload aingle-cortex artifact
+ uses: actions/upload-artifact@v7
+ with:
+ name: ${{ matrix.cortex_name }}
+ path: dist/${{ matrix.cortex_name }}.*
+
release:
name: Create Release
needs: build
@@ -107,12 +129,12 @@ jobs:
- uses: actions/checkout@v6
- name: Download all artifacts
- uses: actions/download-artifact@v7
+ uses: actions/download-artifact@v8
with:
path: artifacts
- name: Display structure of downloaded files
- run: ls -la artifacts/
+ run: ls -laR artifacts/
- name: Generate changelog
id: changelog
@@ -148,6 +170,51 @@ jobs:
sudo apt-get update
sudo apt-get install -y libsodium-dev libssl-dev pkg-config
+ # Phase 1: Crates with no internal dependencies
+ - name: Publish aingle_graph
+ run: cargo publish -p aingle_graph --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish aingle_zk
+ run: cargo publish -p aingle_zk --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish ineru
+ run: cargo publish -p ineru --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish aingle_ai
+ run: cargo publish -p aingle_ai --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish ai_hash
+ run: cargo publish -p ai_hash --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Wait for crates.io index update
+ run: sleep 30
+
+ # Phase 2: Crates depending on Phase 1
+ - name: Publish aingle_zome_types
+ run: cargo publish -p aingle_zome_types --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish aingle_logic
+ run: cargo publish -p aingle_logic --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Publish kaneru
+ run: cargo publish -p kaneru --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
+ - name: Wait for crates.io index update
+ run: sleep 30
+
+ # Phase 3: Crates depending on Phase 2
+ - name: Publish aingle_cortex
+ run: cargo publish -p aingle_cortex --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
+ continue-on-error: true
+
- name: Publish aingle_minimal
run: cargo publish -p aingle_minimal --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
- continue-on-error: true # May fail if version already published
+ continue-on-error: true
diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml
index 202b2bd7..bd585f82 100644
--- a/.github/workflows/security.yml
+++ b/.github/workflows/security.yml
@@ -46,7 +46,7 @@ jobs:
echo "No critical vulnerabilities found"
- name: Upload audit report
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@v7
with:
name: security-audit-report
path: audit-report.json
diff --git a/.gitignore b/.gitignore
index 653625d9..bb7ee1d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -112,6 +112,7 @@ llm-instructions.md
# ===========================================
*.profraw
*.profdata
+aingle_iot.db
# Logs
*.log
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c1223606..c8ef1734 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [0.4.0] - 2026-03-09
+
+### Changed
+- Rename `titans_memory` crate to `ineru` — Ineru neural-inspired memory system
+- Rename `hope_agents` crate to `kaneru` — Kaneru multi-agent execution system
+- Rename `TitansMemory` → `IneruMemory`, `TitansConfig` → `IneruConfig`
+- Rename `HopeAgent` → `KaneruAgent`, `HopeConfig` → `KaneruConfig`
+- Move `crate::titans` module to `crate::ineru` in `aingle_ai`
+- Move `crate::hope` module to `crate::kaneru` in `aingle_ai`
+- Bump all main crate versions to 0.4.0 (unified version scheme)
+- Update all internal dependency version specs to match
+- Standardize copyright headers and license metadata across all crates
+
## [0.1.0] - 2024-12-17
### Technical Requirements
@@ -43,9 +56,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Anonymous credentials
#### AI & Machine Learning
-- `aingle_ai` - AI integration layer (Titans Memory architecture)
-- `titans_memory` - Neural-inspired memory system (STM/LTM)
-- `hope_agents` - HOPE Agent framework
+- `aingle_ai` - AI integration layer (Ineru architecture)
+- `ineru` - Ineru neural-inspired memory system (STM/LTM)
+- `kaneru` - Kaneru agent framework
- Q-Learning
- DQN (Deep Q-Network)
- PPO (Proximal Policy Optimization)
diff --git a/Cargo.lock b/Cargo.lock
index 077fa8f3..c711557b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2,54 +2,13 @@
# It is not intended for manual editing.
version = 4
-[[package]]
-name = "Inflector"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
-dependencies = [
- "lazy_static",
- "regex",
-]
-
[[package]]
name = "addr2line"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
dependencies = [
- "gimli 0.32.3",
-]
-
-[[package]]
-name = "adk"
-version = "0.0.1"
-dependencies = [
- "adk_derive",
- "ai_fixt",
- "ai_hash",
- "aingle_middleware_bytes",
- "aingle_wasmer_guest",
- "aingle_zome_types",
- "mockall",
- "paste",
- "serde",
- "serde_bytes",
- "thiserror 2.0.17",
- "tracing",
- "tracing-core",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "adk_derive"
-version = "0.0.1"
-dependencies = [
- "aingle_zome_types",
- "paste",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "gimli",
]
[[package]]
@@ -58,28 +17,13 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
-[[package]]
-name = "adler32"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
-
-[[package]]
-name = "aead"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331"
-dependencies = [
- "generic-array",
-]
-
[[package]]
name = "aead"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
"generic-array",
]
@@ -89,8 +33,8 @@ version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
dependencies = [
- "cfg-if 1.0.4",
- "cipher 0.4.4",
+ "cfg-if",
+ "cipher",
"cpufeatures",
]
@@ -100,9 +44,9 @@ version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
dependencies = [
- "aead 0.5.2",
+ "aead",
"aes",
- "cipher 0.4.4",
+ "cipher",
"ctr",
"ghash",
"subtle",
@@ -114,7 +58,7 @@ version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"once_cell",
"version_check",
]
@@ -125,8 +69,7 @@ version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
- "cfg-if 1.0.4",
- "getrandom 0.3.4",
+ "cfg-if",
"once_cell",
"version_check",
"zerocopy",
@@ -145,163 +88,19 @@ dependencies = [
name = "ai_autonomous_agent"
version = "0.1.0"
dependencies = [
- "hope_agents 0.2.0",
+ "ineru",
+ "kaneru",
"rand 0.9.2",
"serde",
"serde_json",
- "titans_memory 0.2.0",
-]
-
-[[package]]
-name = "ai_fixt"
-version = "0.0.1"
-dependencies = [
- "aingle_middleware_bytes",
- "lazy_static",
- "parking_lot 0.12.5",
- "paste",
- "rand 0.9.2",
- "rand_core 0.6.4",
- "serde",
- "strum 0.26.3",
- "strum_macros 0.26.4",
-]
-
-[[package]]
-name = "ai_fixt_test"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "paste",
-]
-
-[[package]]
-name = "ai_hash"
-version = "0.0.2"
-dependencies = [
- "ai_fixt",
- "aingle_middleware_bytes",
- "arbitrary",
- "base64 0.21.7",
- "blake2b_simd",
- "derive_more 0.99.20",
- "rand 0.9.2",
- "rusqlite",
- "serde",
- "serde_bytes",
- "serde_json",
- "thiserror 2.0.17",
- "tracing",
-]
-
-[[package]]
-name = "aingle"
-version = "0.0.100"
-dependencies = [
- "adk",
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_ai",
- "aingle_cascade",
- "aingle_conductor_api",
- "aingle_cortex",
- "aingle_keystore",
- "aingle_middleware_bytes",
- "aingle_p2p",
- "aingle_sqlite",
- "aingle_state",
- "aingle_test_wasm_common",
- "aingle_types",
- "aingle_util",
- "aingle_wasm_test_utils",
- "aingle_wasmer_host",
- "aingle_websocket",
- "aingle_zome_types",
- "anyhow",
- "assert_cmd",
- "async-trait",
- "base64 0.21.7",
- "byteorder",
- "cfg-if 0.1.10",
- "chrono",
- "criterion",
- "crypto_secretbox",
- "derive_more 0.99.20",
- "directories 2.0.2",
- "either",
- "fallible-iterator 0.2.0",
- "futures",
- "ghost_actor",
- "human-panic",
- "itertools 0.10.5",
- "kitsune_p2p",
- "kitsune_p2p_types",
- "lazy_static",
- "maplit",
- "matches",
- "mockall",
- "mr_bundle",
- "must_future",
- "nanoid 0.4.0",
- "num_cpus",
- "once_cell",
- "parking_lot 0.12.5",
- "predicates 1.0.8",
- "pretty_assertions",
- "rand 0.9.2",
- "ring 0.17.14",
- "rusqlite",
- "rustls 0.23.35",
- "sd-notify",
- "serde",
- "serde_json",
- "serde_yml",
- "serial_test",
- "shrinkwraprs",
- "structopt",
- "strum 0.26.3",
- "tempdir",
- "test-case",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
- "toml 0.5.11",
- "tracing",
- "tracing-futures",
- "tracing-subscriber",
- "unwrap_to",
- "url 1.7.2",
- "url2",
- "url_serde",
- "uuid",
- "wasmer",
-]
-
-[[package]]
-name = "aingle-observability"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08c3edaef0d75240b73fb33d8509b01fa7dd5043424c6b07e550a2b26d39fa3"
-dependencies = [
- "chrono",
- "derive_more 0.99.20",
- "inferno",
- "once_cell",
- "serde_json",
- "thiserror 1.0.69",
- "tracing",
- "tracing-core",
- "tracing-serde 0.1.3",
- "tracing-subscriber",
]
[[package]]
name = "aingle_ai"
-version = "0.1.0"
+version = "0.6.3"
dependencies = [
"blake2",
- "candle-core",
+ "candle-core 0.9.2",
"candle-nn",
"chrono",
"criterion",
@@ -312,142 +111,25 @@ dependencies = [
"serde",
"serde_json",
"tempfile",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tokio",
- "toml 0.8.23",
+ "toml",
"tracing",
]
-[[package]]
-name = "aingle_cascade"
-version = "0.0.1"
-dependencies = [
- "adk",
- "adk_derive",
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_middleware_bytes",
- "aingle_p2p",
- "aingle_sqlite",
- "aingle_state",
- "aingle_types",
- "aingle_zome_types",
- "async-trait",
- "derive_more 0.99.20",
- "either",
- "fallible-iterator 0.2.0",
- "futures",
- "ghost_actor",
- "kitsune_p2p",
- "matches",
- "mockall",
- "pretty_assertions",
- "serde",
- "serde_derive",
- "thiserror 2.0.17",
- "tokio",
- "tracing",
- "tracing-futures",
-]
-
-[[package]]
-name = "aingle_cli"
-version = "0.0.1"
-dependencies = [
- "aingle-observability",
- "aingle_cli_bundle",
- "aingle_cli_sandbox",
- "anyhow",
- "futures",
- "structopt",
- "tokio",
-]
-
-[[package]]
-name = "aingle_cli_bundle"
-version = "0.0.1"
-dependencies = [
- "aingle_middleware_bytes",
- "aingle_types",
- "aingle_util",
- "anyhow",
- "assert_cmd",
- "matches",
- "mr_bundle",
- "predicates 1.0.8",
- "serde",
- "serde_bytes",
- "serde_yml",
- "structopt",
- "tempdir",
- "thiserror 2.0.17",
- "tokio",
-]
-
-[[package]]
-name = "aingle_cli_sandbox"
-version = "0.0.1"
-dependencies = [
- "aingle-observability",
- "aingle_cli_bundle",
- "aingle_conductor_api",
- "aingle_p2p",
- "aingle_types",
- "aingle_websocket",
- "ansi_term",
- "anyhow",
- "assert_cmd",
- "chrono",
- "futures",
- "lazy_static",
- "matches",
- "nanoid 0.4.0",
- "portpicker",
- "serde_yml",
- "structopt",
- "tokio",
- "tracing",
- "url2",
- "walkdir",
-]
-
-[[package]]
-name = "aingle_conductor_api"
-version = "0.0.1"
-dependencies = [
- "ai_hash",
- "aingle-observability",
- "aingle_middleware_bytes",
- "aingle_p2p",
- "aingle_state",
- "aingle_types",
- "aingle_zome_types",
- "derive_more 0.99.20",
- "directories 2.0.2",
- "kitsune_p2p",
- "matches",
- "serde",
- "serde_derive",
- "serde_yml",
- "structopt",
- "thiserror 2.0.17",
- "tracing",
- "url2",
-]
-
[[package]]
name = "aingle_contracts"
-version = "0.2.0"
+version = "0.6.3"
dependencies = [
"blake3",
"dashmap 6.1.0",
"hex",
+ "rand 0.9.2",
"serde",
"serde_json",
- "sha2",
+ "sha2 0.10.9",
"tempfile",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tokio",
"tokio-test",
"tracing",
@@ -456,33 +138,47 @@ dependencies = [
[[package]]
name = "aingle_cortex"
-version = "0.2.1"
+version = "0.6.3"
dependencies = [
- "aingle_graph 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "aingle_logic 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "aingle_zk 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "aingle_zome_types",
+ "aingle_graph",
+ "aingle_logic",
+ "aingle_raft",
+ "aingle_wal",
+ "aingle_zk",
"argon2",
"async-graphql",
"async-graphql-axum",
- "axum 0.7.9",
- "axum-client-ip",
+ "axum",
"blake3",
"chrono",
"dashmap 6.1.0",
+ "dirs",
+ "ed25519-dalek",
"futures",
+ "hex",
+ "if-addrs 0.13.4",
+ "ineru",
"jsonwebtoken",
"log",
+ "mdns-sd",
+ "once_cell",
+ "openraft",
+ "quinn",
"rand 0.9.2",
+ "rcgen",
"regex",
"reqwest",
+ "rustls",
+ "rustls-pemfile",
"serde",
"serde_json",
+ "sled",
"spargebra",
+ "subtle",
"tempfile",
- "thiserror 2.0.17",
- "titans_memory 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "thiserror 2.0.18",
"tokio",
+ "tokio-rustls",
"tokio-stream",
"tokio-test",
"tower",
@@ -495,14 +191,16 @@ dependencies = [
[[package]]
name = "aingle_graph"
-version = "0.2.0"
+version = "0.6.3"
dependencies = [
"bincode",
"blake3",
"chrono",
"criterion",
- "indexmap 2.12.1",
+ "ed25519-dalek",
+ "indexmap",
"log",
+ "rand 0.9.2",
"rio_api",
"rio_turtle",
"rocksdb",
@@ -511,105 +209,29 @@ dependencies = [
"serde_json",
"sled",
"tempfile",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_graph"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac66b77dcf2f24346faf2e513ed5bf15e8073371b041131b9f2a84d3d222d8e7"
-dependencies = [
- "bincode",
- "blake3",
- "chrono",
- "indexmap 2.12.1",
- "log",
- "serde",
- "serde_json",
- "sled",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_keystore"
-version = "0.0.1"
-dependencies = [
- "ai_hash",
- "aingle_middleware_bytes",
- "aingle_zome_types",
- "ghost_actor",
- "lair_keystore_api",
- "lair_keystore_client",
- "serde",
- "serde_bytes",
- "sodoken",
- "thiserror 2.0.17",
- "tokio",
- "tracing",
+ "thiserror 2.0.18",
+ "uuid",
]
[[package]]
name = "aingle_logic"
-version = "0.2.0"
+version = "0.6.3"
dependencies = [
- "aingle_graph 0.2.0",
+ "aingle_graph",
"chrono",
"hex",
- "indexmap 2.12.1",
+ "indexmap",
"log",
"regex",
"serde",
"serde_json",
"tempfile",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_logic"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "939805a8c3feb94384ffcb32ba2982c7474753edcc5201e71b98caaa85134195"
-dependencies = [
- "aingle_graph 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "chrono",
- "hex",
- "indexmap 2.12.1",
- "log",
- "regex",
- "serde",
- "serde_json",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_middleware_bytes"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c03f4a0a5203dc8fb86097bc33c02a54bd5813c8d3d67595fe3e9d0a2272ff0"
-dependencies = [
- "aingle_middleware_bytes_derive",
- "rmp-serde 0.14.4",
- "serde",
- "serde-transcode",
- "serde_bytes",
- "serde_json",
- "thiserror 1.0.69",
-]
-
-[[package]]
-name = "aingle_middleware_bytes_derive"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ab1e16ded0d7d76ccf32e8e194bedf284237c24d8a5fa46fe60a01f3ba4cba"
-dependencies = [
- "quote",
- "syn 1.0.109",
+ "thiserror 2.0.18",
]
[[package]]
name = "aingle_minimal"
-version = "0.3.0"
+version = "0.6.3"
dependencies = [
"async-io",
"async-tungstenite",
@@ -617,231 +239,74 @@ dependencies = [
"btleplug",
"bytes",
"chrono",
- "clap 4.5.53",
+ "clap",
"coap-lite",
"criterion",
+ "ed25519-dalek",
"embedded-hal 1.0.0",
"embedded-hal-async",
"env_logger",
"esp32-nimble",
"futures-util",
- "hope_agents 0.1.0",
+ "hex",
"if-addrs 0.13.4",
+ "ineru",
+ "kaneru",
"ledger-transport",
"ledger-transport-hid",
"log",
"mdns-sd",
"quinn",
"rand 0.9.2",
- "rcgen 0.13.2",
+ "rcgen",
"rocksdb",
"rusqlite",
- "rustls 0.23.35",
+ "rustls",
"semver",
"serde",
"serde_json",
"smol",
"tiny_http",
- "titans_memory 0.1.0",
"uuid",
"webrtc",
]
[[package]]
-name = "aingle_p2p"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_keystore",
- "aingle_middleware_bytes",
- "aingle_types",
- "aingle_util",
- "aingle_zome_types",
- "async-trait",
- "futures",
- "ghost_actor",
- "kitsune_p2p",
- "kitsune_p2p_types",
- "mockall",
- "serde",
- "serde_bytes",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
- "tracing",
-]
-
-[[package]]
-name = "aingle_sqlite"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_middleware_bytes",
- "aingle_util",
- "aingle_zome_types",
- "anyhow",
- "byteorder",
- "cfg-if 0.1.10",
- "chashmap",
- "chrono",
- "derive_more 0.99.20",
- "either",
- "failure",
- "fallible-iterator 0.2.0",
- "futures",
- "kitsune_p2p",
- "lazy_static",
- "must_future",
- "nanoid 0.4.0",
- "num_cpus",
- "once_cell",
- "page_size",
- "parking_lot 0.12.5",
- "r2d2",
- "r2d2_sqlite",
- "rand 0.9.2",
- "rmp-serde 0.15.5",
- "rusqlite",
- "scheduled-thread-pool",
- "serde",
- "serde_derive",
- "shrinkwraprs",
- "tempdir",
- "thiserror 2.0.17",
- "tokio",
- "tracing",
- "tracing-futures",
-]
-
-[[package]]
-name = "aingle_state"
-version = "0.0.1"
-dependencies = [
- "adk",
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_keystore",
- "aingle_middleware_bytes",
- "aingle_p2p",
- "aingle_sqlite",
- "aingle_types",
- "aingle_util",
- "aingle_wasm_test_utils",
- "aingle_zome_types",
- "anyhow",
- "base64 0.21.7",
- "byteorder",
- "chrono",
- "derive_more 0.99.20",
- "either",
- "fallible-iterator 0.2.0",
- "kitsune_p2p",
- "matches",
- "mockall",
- "parking_lot 0.12.5",
- "pretty_assertions",
- "serde",
- "serde_json",
- "shrinkwraprs",
- "tempdir",
- "thiserror 2.0.17",
- "tokio",
- "tracing",
- "tracing-futures",
-]
-
-[[package]]
-name = "aingle_test_wasm_common"
-version = "0.0.1"
-dependencies = [
- "adk",
- "serde",
-]
-
-[[package]]
-name = "aingle_types"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "ai_hash",
- "aingle-observability",
- "aingle_keystore",
- "aingle_middleware_bytes",
- "aingle_sqlite",
- "aingle_util",
- "aingle_zome_types",
- "anyhow",
- "arbitrary",
- "async-trait",
- "automap",
- "backtrace",
- "base64 0.21.7",
- "cfg-if 0.1.10",
- "chrono",
- "derive_builder",
- "derive_more 0.99.20",
- "either",
- "flate2",
- "futures",
- "itertools 0.10.5",
- "lazy_static",
- "maplit",
- "matches",
- "mockall",
- "mr_bundle",
- "must_future",
- "nanoid 0.4.0",
- "rand 0.9.2",
- "regex",
- "rusqlite",
- "serde",
- "serde_bytes",
- "serde_derive",
- "serde_json",
- "serde_yml",
- "shrinkwraprs",
- "strum 0.26.3",
- "strum_macros 0.26.4",
- "tempdir",
- "thiserror 2.0.17",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "aingle_util"
-version = "0.0.1"
+name = "aingle_raft"
+version = "0.6.3"
dependencies = [
- "backtrace",
- "cfg-if 0.1.10",
- "derive_more 0.99.20",
- "dunce",
- "futures",
- "num_cpus",
- "once_cell",
+ "aingle_graph",
+ "aingle_wal",
+ "anyerror",
+ "bincode",
+ "blake3",
+ "chrono",
+ "futures-util",
+ "ineru",
+ "openraft",
+ "serde",
+ "serde_json",
+ "tempfile",
"tokio",
+ "tokio-test",
+ "tracing",
]
[[package]]
name = "aingle_viz"
-version = "0.2.0"
+version = "0.6.3"
dependencies = [
- "aingle_graph 0.2.0",
+ "aingle_graph",
"aingle_minimal",
- "axum 0.7.9",
+ "axum",
"chrono",
- "clap 4.5.53",
+ "clap",
"env_logger",
"futures",
"log",
"serde",
"serde_json",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tokio",
"tokio-test",
"tower",
@@ -850,163 +315,35 @@ dependencies = [
]
[[package]]
-name = "aingle_wasm_test_utils"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "ai_hash",
- "aingle_types",
- "aingle_util",
- "aingle_zome_types",
- "rand 0.9.2",
- "strum 0.26.3",
- "strum_macros 0.26.4",
- "toml 0.5.11",
- "walkdir",
-]
-
-[[package]]
-name = "aingle_wasmer_codec"
-version = "0.0.1"
-source = "git+https://github.com/ApiliumCode/aingle-wasmer.git?branch=main#d1406b8fc6d8240722095b5223659bc330c2eb6b"
-dependencies = [
- "aingle_wasmer_common",
- "bytes",
- "crc32fast",
-]
-
-[[package]]
-name = "aingle_wasmer_common"
-version = "0.0.1"
-source = "git+https://github.com/ApiliumCode/aingle-wasmer.git?branch=main#d1406b8fc6d8240722095b5223659bc330c2eb6b"
-dependencies = [
- "aingle_middleware_bytes",
- "serde",
-]
-
-[[package]]
-name = "aingle_wasmer_guest"
-version = "0.0.1"
-source = "git+https://github.com/ApiliumCode/aingle-wasmer.git?branch=main#d1406b8fc6d8240722095b5223659bc330c2eb6b"
-dependencies = [
- "aingle_middleware_bytes",
- "aingle_wasmer_codec",
- "aingle_wasmer_common",
- "bumpalo",
- "rmp-serde 1.3.0",
- "serde",
- "serde_bytes",
-]
-
-[[package]]
-name = "aingle_wasmer_host"
-version = "0.0.1"
-source = "git+https://github.com/ApiliumCode/aingle-wasmer.git?branch=main#d1406b8fc6d8240722095b5223659bc330c2eb6b"
-dependencies = [
- "aingle_middleware_bytes",
- "aingle_wasmer_codec",
- "aingle_wasmer_common",
- "bytes",
- "parking_lot 0.12.5",
- "rmp-serde 1.3.0",
- "serde",
- "serde_bytes",
- "thiserror 2.0.17",
- "tracing",
- "wasmer",
- "wasmer-middlewares",
-]
-
-[[package]]
-name = "aingle_websocket"
-version = "0.0.1"
+name = "aingle_wal"
+version = "0.6.3"
dependencies = [
- "aingle-observability",
- "aingle_middleware_bytes",
- "aingle_types",
- "criterion",
- "futures",
- "ghost_actor",
- "linefeed",
- "must_future",
- "nanoid 0.4.0",
- "net2",
- "parking_lot 0.12.5",
+ "bincode",
+ "blake3",
+ "chrono",
"serde",
- "serde_bytes",
- "stream-cancel",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
- "tokio-tungstenite 0.24.0",
- "tracing",
- "tracing-futures",
- "tungstenite 0.24.0",
- "unwrap_to",
- "url2",
+ "serde_json",
+ "tempfile",
]
[[package]]
name = "aingle_zk"
-version = "0.2.0"
+version = "0.6.3"
dependencies = [
- "bincode",
"blake3",
"bulletproofs",
"criterion",
- "curve25519-dalek 4.1.3",
+ "curve25519-dalek",
"curve25519-dalek-ng",
"hex",
"merlin",
"rand 0.8.5",
- "rand_core 0.6.4",
- "rayon",
- "serde",
- "serde_json",
- "sha2",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_zk"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e863f022f4906f106053c2fbf16cac7687c1d3318a173003b8ca1e435a8a41f8"
-dependencies = [
- "bincode",
- "blake3",
- "curve25519-dalek 4.1.3",
- "hex",
- "rand 0.8.5",
- "rand_core 0.6.4",
"rayon",
"serde",
"serde_json",
- "sha2",
- "thiserror 2.0.17",
-]
-
-[[package]]
-name = "aingle_zome_types"
-version = "0.0.2"
-dependencies = [
- "ai_fixt",
- "ai_hash",
- "aingle_middleware_bytes",
- "chrono",
- "derive_builder",
- "nanoid 0.4.0",
- "num_enum",
- "paste",
- "rand 0.9.2",
- "rusqlite",
- "serde",
- "serde_bytes",
- "shrinkwraprs",
- "strum 0.26.3",
+ "sha2 0.10.9",
"subtle",
- "thiserror 2.0.17",
- "tracing",
+ "thiserror 2.0.18",
]
[[package]]
@@ -1039,15 +376,6 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
[[package]]
name = "anstream"
version = "0.6.21"
@@ -1098,26 +426,35 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "anyerror"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71add24cc141a1e8326f249b74c41cfd217aeb2a67c9c6cf9134d175469afd49"
+dependencies = [
+ "serde",
+]
+
[[package]]
name = "anyhow"
-version = "1.0.100"
+version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
+checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
[[package]]
name = "arbitrary"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
-dependencies = [
- "derive_arbitrary",
-]
[[package]]
name = "arc-swap"
-version = "1.7.1"
+version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
+checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5"
+dependencies = [
+ "rustversion",
+]
[[package]]
name = "argon2"
@@ -1137,12 +474,6 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
-[[package]]
-name = "arrayvec"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-
[[package]]
name = "arrayvec"
version = "0.7.6"
@@ -1165,10 +496,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
[[package]]
-name = "ascii_utils"
-version = "0.9.3"
+name = "askama"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08e1676b346cadfec169374f949d7490fd80a24193d37d2afce0c047cf695e57"
+dependencies = [
+ "askama_macros",
+ "itoa",
+ "percent-encoding",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "askama_derive"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7661ff56517787343f376f75db037426facd7c8d3049cef8911f1e75016f3a37"
+dependencies = [
+ "askama_parser",
+ "memchr",
+ "proc-macro2",
+ "quote",
+ "rustc-hash 2.1.1",
+ "syn 2.0.117",
+]
+
+[[package]]
+name = "askama_macros"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "713ee4dbfd1eb719c2dab859465b01fa1d21cb566684614a713a6b7a99a4e47b"
+dependencies = [
+ "askama_derive",
+]
+
+[[package]]
+name = "askama_parser"
+version = "0.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a"
+checksum = "1d62d674238a526418b30c0def480d5beadb9d8964e7f38d635b03bf639c704c"
+dependencies = [
+ "rustc-hash 2.1.1",
+ "unicode-ident",
+ "winnow",
+]
[[package]]
name = "asn1-rs"
@@ -1194,8 +566,8 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
- "synstructure 0.13.2",
+ "syn 2.0.117",
+ "synstructure",
]
[[package]]
@@ -1206,32 +578,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "assert_cmd"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85"
-dependencies = [
- "anstyle",
- "bstr",
- "libc",
- "predicates 3.1.3",
- "predicates-core",
- "predicates-tree",
- "wait-timeout",
-]
-
-[[package]]
-name = "async-attributes"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"
-dependencies = [
- "quote",
- "syn 1.0.109",
+ "syn 2.0.117",
]
[[package]]
@@ -1259,22 +606,21 @@ dependencies = [
[[package]]
name = "async-compression"
-version = "0.4.36"
+version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98ec5f6c2f8bc326c994cb9e241cc257ddaba9afa8555a43cffbb5dd86efaa37"
+checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1"
dependencies = [
"compression-codecs",
"compression-core",
- "futures-core",
"pin-project-lite",
"tokio",
]
[[package]]
name = "async-executor"
-version = "1.13.3"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8"
+checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a"
dependencies = [
"async-task",
"concurrent-queue",
@@ -1312,47 +658,47 @@ dependencies = [
[[package]]
name = "async-graphql"
-version = "7.0.17"
+version = "8.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "036618f842229ba0b89652ffe425f96c7c16a49f7e3cb23b56fca7f61fd74980"
+checksum = "992eec3a71c482790dc346a311a3cdcb1e9006b652a0b87e154b42adb0918b4c"
dependencies = [
+ "askama",
"async-graphql-derive",
"async-graphql-parser",
"async-graphql-value",
- "async-stream 0.3.6",
"async-trait",
- "base64 0.22.1",
+ "asynk-strim",
+ "base64",
+ "blocking",
"bytes",
"chrono",
- "fast_chemail",
- "fnv",
- "futures-timer",
"futures-util",
- "handlebars",
- "http 1.4.0",
- "indexmap 2.12.1",
+ "http",
+ "indexmap",
"mime",
- "multer 3.1.0",
+ "multer",
"num-traits",
"pin-project-lite",
"regex",
+ "rustc-hash 2.1.1",
"serde",
"serde_json",
"serde_urlencoded",
"static_assertions_next",
"tempfile",
- "thiserror 1.0.69",
+ "thiserror 2.0.18",
+ "tokio",
"uuid",
]
[[package]]
name = "async-graphql-axum"
-version = "7.0.17"
+version = "8.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8725874ecfbf399e071150b8619c4071d7b2b7a2f117e173dddef53c6bdb6bb1"
+checksum = "908f39c915dfdb310d87db08aac6ffc9704ddd210a7f7e0af8348822cff61744"
dependencies = [
"async-graphql",
- "axum 0.8.7",
+ "axum",
"bytes",
"futures-util",
"serde_json",
@@ -1364,26 +710,26 @@ dependencies = [
[[package]]
name = "async-graphql-derive"
-version = "7.0.17"
+version = "8.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd45deb3dbe5da5cdb8d6a670a7736d735ba65b455328440f236dfb113727a3d"
+checksum = "0739ca16bca33d4071c1b45f19d902d6894696f997b9b4c9c0b316c509b4f83f"
dependencies = [
- "Inflector",
"async-graphql-parser",
- "darling 0.20.11",
+ "darling 0.23.0",
+ "heck 0.5.0",
"proc-macro-crate",
"proc-macro2",
"quote",
- "strum 0.26.3",
- "syn 2.0.111",
- "thiserror 1.0.69",
+ "strum 0.28.0",
+ "syn 2.0.117",
+ "thiserror 2.0.18",
]
[[package]]
name = "async-graphql-parser"
-version = "7.0.17"
+version = "8.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b7607e59424a35dadbc085b0d513aa54ec28160ee640cf79ec3b634eba66d3"
+checksum = "d85b5e90b08d72410b40c71a1878d78308a190f3bbb45a82ea000d0dbc4133a8"
dependencies = [
"async-graphql-value",
"pest",
@@ -1393,12 +739,12 @@ dependencies = [
[[package]]
name = "async-graphql-value"
-version = "7.0.17"
+version = "8.0.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ecdaff7c9cffa3614a9f9999bf9ee4c3078fe3ce4d6a6e161736b56febf2de"
+checksum = "fa3b3ae38aad471922da0c5be8318b58dcf0b9e0cf570aa5b57d7df4ef5e6c9e"
dependencies = [
"bytes",
- "indexmap 2.12.1",
+ "indexmap",
"serde",
"serde_json",
]
@@ -1409,23 +755,23 @@ version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc"
dependencies = [
- "autocfg 1.5.0",
- "cfg-if 1.0.4",
+ "autocfg",
+ "cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite",
"parking",
- "polling 3.11.0",
- "rustix 1.1.2",
+ "polling",
+ "rustix 1.1.4",
"slab",
"windows-sys 0.61.2",
]
[[package]]
name = "async-lock"
-version = "3.4.1"
+version = "3.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc"
+checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311"
dependencies = [
"event-listener 5.4.1",
"event-listener-strategy",
@@ -1455,10 +801,10 @@ dependencies = [
"async-signal",
"async-task",
"blocking",
- "cfg-if 1.0.4",
+ "cfg-if",
"event-listener 5.4.1",
"futures-lite",
- "rustix 1.1.2",
+ "rustix 1.1.4",
]
[[package]]
@@ -1470,10 +816,10 @@ dependencies = [
"async-io",
"async-lock",
"atomic-waker",
- "cfg-if 1.0.4",
+ "cfg-if",
"futures-core",
"futures-io",
- "rustix 1.1.2",
+ "rustix 1.1.4",
"signal-hook-registry",
"slab",
"windows-sys 0.61.2",
@@ -1485,12 +831,10 @@ version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b"
dependencies = [
- "async-attributes",
"async-channel 1.9.0",
"async-global-executor",
"async-io",
"async-lock",
- "async-process",
"crossbeam-utils",
"futures-channel",
"futures-core",
@@ -1507,49 +851,6 @@ dependencies = [
"wasm-bindgen-futures",
]
-[[package]]
-name = "async-stream"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5"
-dependencies = [
- "async-stream-impl 0.2.1",
- "futures-core",
-]
-
-[[package]]
-name = "async-stream"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
-dependencies = [
- "async-stream-impl 0.3.6",
- "futures-core",
- "pin-project-lite",
-]
-
-[[package]]
-name = "async-stream-impl"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "async-stream-impl"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
[[package]]
name = "async-task"
version = "4.7.1"
@@ -1564,7 +865,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -1582,108 +883,49 @@ dependencies = [
]
[[package]]
-name = "atomic-waker"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
-dependencies = [
- "autocfg 1.5.0",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
-
-[[package]]
-name = "automap"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b99d887f4066f8a1b4a713a8121fab07ff543863ac86177ebdee6b5cb18acf12"
-dependencies = [
- "cfg-if 1.0.4",
- "derive_more 0.99.20",
- "serde",
- "shrinkwraprs",
-]
-
-[[package]]
-name = "axum"
-version = "0.7.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
-dependencies = [
- "async-trait",
- "axum-core 0.4.5",
- "axum-macros",
- "base64 0.22.1",
- "bytes",
- "futures-util",
- "http 1.4.0",
- "http-body 1.0.1",
- "http-body-util",
- "hyper 1.8.1",
- "hyper-util",
- "itoa",
- "matchit 0.7.3",
- "memchr",
- "mime",
- "percent-encoding 2.3.2",
- "pin-project-lite",
- "rustversion",
- "serde",
- "serde_json",
- "serde_path_to_error",
- "serde_urlencoded",
- "sha1",
- "sync_wrapper",
- "tokio",
- "tokio-tungstenite 0.24.0",
- "tower",
- "tower-layer",
- "tower-service",
- "tracing",
-]
-
-[[package]]
+name = "asynk-strim"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52697735bdaac441a29391a9e97102c74c6ef0f9b60a40cf109b1b404e29d2f6"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
+[[package]]
+name = "autocfg"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+
+[[package]]
name = "axum"
-version = "0.8.7"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425"
+checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8"
dependencies = [
- "axum-core 0.5.5",
- "base64 0.22.1",
+ "axum-core",
+ "axum-macros",
+ "base64",
"bytes",
"form_urlencoded",
"futures-util",
- "http 1.4.0",
- "http-body 1.0.1",
+ "http",
+ "http-body",
"http-body-util",
- "hyper 1.8.1",
+ "hyper",
"hyper-util",
"itoa",
- "matchit 0.8.4",
+ "matchit",
"memchr",
"mime",
- "percent-encoding 2.3.2",
+ "percent-encoding",
"pin-project-lite",
"serde_core",
"serde_json",
@@ -1692,55 +934,23 @@ dependencies = [
"sha1",
"sync_wrapper",
"tokio",
- "tokio-tungstenite 0.28.0",
+ "tokio-tungstenite",
"tower",
"tower-layer",
"tower-service",
"tracing",
]
-[[package]]
-name = "axum-client-ip"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff8ee1869817523c8f91c20bf17fd932707f66c2e7e0b0f811b29a227289562"
-dependencies = [
- "axum 0.8.7",
- "forwarded-header-value",
- "serde",
-]
-
-[[package]]
-name = "axum-core"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
-dependencies = [
- "async-trait",
- "bytes",
- "futures-util",
- "http 1.4.0",
- "http-body 1.0.1",
- "http-body-util",
- "mime",
- "pin-project-lite",
- "rustversion",
- "sync_wrapper",
- "tower-layer",
- "tower-service",
- "tracing",
-]
-
[[package]]
name = "axum-core"
-version = "0.5.5"
+version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22"
+checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
dependencies = [
"bytes",
"futures-core",
- "http 1.4.0",
- "http-body 1.0.1",
+ "http",
+ "http-body",
"http-body-util",
"mime",
"pin-project-lite",
@@ -1752,13 +962,13 @@ dependencies = [
[[package]]
name = "axum-macros"
-version = "0.4.2"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce"
+checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -1768,7 +978,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
dependencies = [
"addr2line",
- "cfg-if 1.0.4",
+ "cfg-if",
"libc",
"miniz_oxide",
"object 0.37.3",
@@ -1782,18 +992,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
[[package]]
name = "base64"
version = "0.22.1"
@@ -1802,52 +1000,42 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64ct"
-version = "1.8.1"
+version = "1.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a"
+checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]]
name = "bincode"
-version = "1.3.3"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740"
dependencies = [
+ "bincode_derive",
"serde",
+ "unty",
]
[[package]]
-name = "bindgen"
-version = "0.69.5"
+name = "bincode_derive"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09"
dependencies = [
- "bitflags 2.10.0",
- "cexpr",
- "clang-sys",
- "itertools 0.12.1",
- "lazy_static",
- "lazycell",
- "log",
- "prettyplease",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash 1.1.0",
- "shlex",
- "syn 2.0.111",
- "which",
+ "virtue",
]
[[package]]
name = "bindgen"
-version = "0.70.1"
+version = "0.69.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"cexpr",
"clang-sys",
- "itertools 0.13.0",
+ "itertools 0.12.1",
+ "lazy_static",
+ "lazycell",
"log",
"prettyplease",
"proc-macro2",
@@ -1855,7 +1043,8 @@ dependencies = [
"regex",
"rustc-hash 1.1.0",
"shlex",
- "syn 2.0.111",
+ "syn 2.0.117",
+ "which 4.4.2",
]
[[package]]
@@ -1864,25 +1053,18 @@ version = "0.72.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"cexpr",
"clang-sys",
"itertools 0.13.0",
+ "log",
+ "prettyplease",
"proc-macro2",
"quote",
"regex",
"rustc-hash 2.1.1",
"shlex",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22"
-dependencies = [
- "serde",
+ "syn 2.0.117",
]
[[package]]
@@ -1893,68 +1075,63 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.10.0"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
+checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
[[package]]
-name = "blake2"
-version = "0.10.6"
+name = "bitvec"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
dependencies = [
- "digest 0.10.7",
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
]
[[package]]
-name = "blake2b_simd"
-version = "0.5.11"
+name = "blake2"
+version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
+checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
dependencies = [
- "arrayref",
- "arrayvec 0.5.2",
- "constant_time_eq 0.1.5",
+ "digest 0.10.7",
]
[[package]]
name = "blake3"
-version = "1.8.2"
+version = "1.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0"
+checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d"
dependencies = [
"arrayref",
- "arrayvec 0.7.6",
+ "arrayvec",
"cc",
- "cfg-if 1.0.4",
- "constant_time_eq 0.3.1",
+ "cfg-if",
+ "constant_time_eq",
+ "cpufeatures",
]
[[package]]
name = "block-buffer"
-version = "0.9.0"
+version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
- "block-padding 0.2.1",
"generic-array",
]
[[package]]
name = "block-buffer"
-version = "0.10.4"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be"
dependencies = [
- "generic-array",
+ "hybrid-array",
]
-[[package]]
-name = "block-padding"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
[[package]]
name = "block-padding"
version = "0.3.3"
@@ -1970,16 +1147,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f"
dependencies = [
- "objc2 0.5.2",
-]
-
-[[package]]
-name = "block2"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5"
-dependencies = [
- "objc2 0.6.3",
+ "objc2",
]
[[package]]
@@ -1995,24 +1163,13 @@ dependencies = [
"piper",
]
-[[package]]
-name = "bloomfilter"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c541c70a910b485670304fd420f0eab8f7bde68439db6a8d98819c3d2774d7e2"
-dependencies = [
- "bit-vec",
- "getrandom 0.2.16",
- "siphasher",
-]
-
[[package]]
name = "bluez-async"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84ae4213cc2a8dc663acecac67bbdad05142be4d8ef372b6903abf878b0c690a"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"bluez-generated",
"dbus",
"dbus-tokio",
@@ -2021,7 +1178,7 @@ dependencies = [
"log",
"serde",
"serde-xml-rs",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tokio",
"uuid",
]
@@ -2035,6 +1192,29 @@ dependencies = [
"dbus",
]
+[[package]]
+name = "borsh"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f"
+dependencies = [
+ "borsh-derive",
+ "cfg_aliases",
+]
+
+[[package]]
+name = "borsh-derive"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.117",
+]
+
[[package]]
name = "bstr"
version = "1.12.1"
@@ -2042,7 +1222,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
dependencies = [
"memchr",
- "regex-automata",
"serde",
]
@@ -2053,7 +1232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9a11621cb2c8c024e444734292482b1ad86fb50ded066cf46252e46643c8748"
dependencies = [
"async-trait",
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"bluez-async",
"dashmap 6.1.0",
"dbus",
@@ -2061,12 +1240,12 @@ dependencies = [
"jni 0.19.0",
"jni-utils",
"log",
- "objc2 0.5.2",
+ "objc2",
"objc2-core-bluetooth",
- "objc2-foundation 0.2.2",
+ "objc2-foundation",
"once_cell",
"static_assertions",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tokio",
"tokio-stream",
"uuid",
@@ -2084,34 +1263,50 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "bulletproofs"
-version = "4.0.0"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40e698f1df446cc6246afd823afbe2d121134d089c9102c1dd26d1264991ba32"
+checksum = "012e2e5f88332083bd4235d445ae78081c00b2558443821a9ca5adfe1070073d"
dependencies = [
"byteorder",
"clear_on_drop",
- "curve25519-dalek-ng",
- "digest 0.9.0",
+ "curve25519-dalek",
+ "digest 0.10.7",
+ "group",
"merlin",
"rand 0.8.5",
"rand_core 0.6.4",
"serde",
"serde_derive",
"sha3",
- "subtle-ng",
+ "subtle",
"thiserror 1.0.69",
]
[[package]]
name = "bumpalo"
-version = "3.19.1"
+version = "3.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
+dependencies = [
+ "allocator-api2",
+]
+
+[[package]]
+name = "byte-unit"
+version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
+checksum = "8c6d47a4e2961fb8721bcfc54feae6455f2f64e7054f9bc67e875f0e77f4c58d"
+dependencies = [
+ "rust_decimal",
+ "schemars",
+ "serde",
+ "utf8-width",
+]
[[package]]
name = "bytecheck"
@@ -2155,14 +1350,14 @@ checksum = "89385e82b5d1821d2219e0b095efa2cc1f246cbf99080f3be46a1a85c0d392d9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "bytemuck"
-version = "1.24.0"
+version = "1.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
+checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
dependencies = [
"bytemuck_derive",
]
@@ -2175,7 +1370,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -2186,9 +1381,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.11.0"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3"
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
dependencies = [
"serde",
]
@@ -2219,31 +1414,54 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f1b20174c1707e20f4cb364a355b449803c03e9b0c9193324623cf9787a4e00"
dependencies = [
"byteorder",
- "gemm",
+ "gemm 0.17.1",
"half",
- "memmap2 0.9.9",
+ "memmap2 0.9.10",
"num-traits",
"num_cpus",
"rand 0.8.5",
"rand_distr 0.4.3",
"rayon",
- "safetensors",
+ "safetensors 0.4.5",
"thiserror 1.0.69",
"yoke 0.7.5",
"zip 0.6.6",
]
+[[package]]
+name = "candle-core"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c15b675b80d994b2eadb20a4bbe434eabeb454eac3ee5e2b4cf6f147ee9be091"
+dependencies = [
+ "byteorder",
+ "float8",
+ "gemm 0.19.0",
+ "half",
+ "libm",
+ "memmap2 0.9.10",
+ "num-traits",
+ "num_cpus",
+ "rand 0.9.2",
+ "rand_distr 0.5.1",
+ "rayon",
+ "safetensors 0.7.0",
+ "thiserror 2.0.18",
+ "yoke 0.8.1",
+ "zip 7.2.0",
+]
+
[[package]]
name = "candle-nn"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "66a27533c8edfc915a6459f9850641ef523a829fa1a181c670766c1f752d873a"
dependencies = [
- "candle-core",
+ "candle-core 0.4.1",
"half",
"num-traits",
"rayon",
- "safetensors",
+ "safetensors 0.4.5",
"serde",
"thiserror 1.0.69",
]
@@ -2283,14 +1501,14 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
dependencies = [
- "cipher 0.4.4",
+ "cipher",
]
[[package]]
name = "cc"
-version = "1.2.49"
+version = "1.2.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215"
+checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -2304,8 +1522,8 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ae3c82e4355234767756212c570e29833699ab63e6ffd161887314cc5b43847"
dependencies = [
- "aead 0.5.2",
- "cipher 0.4.4",
+ "aead",
+ "cipher",
"ctr",
"subtle",
]
@@ -2325,12 +1543,6 @@ dependencies = [
"nom",
]
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
[[package]]
name = "cfg-if"
version = "1.0.4"
@@ -2343,68 +1555,35 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
-[[package]]
-name = "chacha20"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed8738f14471a99f0e316c327e68fc82a3611cc2895fcb604b89eedaf8f39d95"
-dependencies = [
- "cipher 0.2.5",
- "zeroize",
-]
-
[[package]]
name = "chacha20"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
dependencies = [
- "cfg-if 1.0.4",
- "cipher 0.4.4",
+ "cfg-if",
+ "cipher",
"cpufeatures",
]
-[[package]]
-name = "chacha20poly1305"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1fc18e6d90c40164bf6c317476f2a98f04661e310e79830366b7e914c58a8e"
-dependencies = [
- "aead 0.3.2",
- "chacha20 0.6.0",
- "cipher 0.2.5",
- "poly1305 0.6.2",
- "zeroize",
-]
-
[[package]]
name = "chacha20poly1305"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
dependencies = [
- "aead 0.5.2",
- "chacha20 0.9.1",
- "cipher 0.4.4",
- "poly1305 0.8.0",
+ "aead",
+ "chacha20",
+ "cipher",
+ "poly1305",
"zeroize",
]
-[[package]]
-name = "chashmap"
-version = "2.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff41a3c2c1e39921b9003de14bf0439c7b63a9039637c291e1a64925d8ddfa45"
-dependencies = [
- "owning_ref",
- "parking_lot 0.4.8",
-]
-
[[package]]
name = "chrono"
-version = "0.4.42"
+version = "0.4.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
+checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
dependencies = [
"iana-time-zone",
"js-sys",
@@ -2447,22 +1626,13 @@ dependencies = [
"half",
]
-[[package]]
-name = "cipher"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
-dependencies = [
- "generic-array",
-]
-
[[package]]
name = "cipher"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
"inout",
"zeroize",
]
@@ -2480,24 +1650,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "2.34.0"
+version = "4.5.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags 1.3.2",
- "strsim 0.8.0",
- "textwrap",
- "unicode-width 0.1.14",
- "vec_map",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.53"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8"
+checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a"
dependencies = [
"clap_builder",
"clap_derive",
@@ -2505,33 +1660,33 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.53"
+version = "4.5.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00"
+checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
- "strsim 0.11.1",
+ "strsim",
]
[[package]]
name = "clap_derive"
-version = "4.5.49"
+version = "4.5.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
+checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "clap_lex"
-version = "0.7.6"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d"
+checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831"
[[package]]
name = "clear_on_drop"
@@ -2542,15 +1697,6 @@ dependencies = [
"cc",
]
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags 1.3.2",
-]
-
[[package]]
name = "cmake"
version = "0.1.57"
@@ -2604,9 +1750,9 @@ dependencies = [
[[package]]
name = "compression-codecs"
-version = "0.4.35"
+version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0f7ac3e5b97fdce45e8922fb05cae2c37f7bbd63d30dd94821dacfd8f3f2bf2"
+checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7"
dependencies = [
"compression-core",
"flate2",
@@ -2634,6 +1780,12 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+[[package]]
+name = "const-oid"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
+
[[package]]
name = "const_format"
version = "0.2.35"
@@ -2656,21 +1808,18 @@ dependencies = [
[[package]]
name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
-[[package]]
-name = "constant_time_eq"
-version = "0.3.1"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
+checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
[[package]]
name = "convert_case"
-version = "0.4.0"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
+checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
+dependencies = [
+ "unicode-segmentation",
+]
[[package]]
name = "core-foundation"
@@ -2698,23 +1847,14 @@ version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-[[package]]
-name = "core2"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "corosensei"
-version = "0.2.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d1ea1c2a2f898d2a6ff149587b8a04f41ee708d248c723f01ac2f0f01edc0b3"
+checksum = "2c54787b605c7df106ceccf798df23da4f2e09918defad66705d1cedf3bb914f"
dependencies = [
- "autocfg 1.5.0",
- "cfg-if 1.0.4",
+ "autocfg",
+ "cfg-if",
"libc",
"scopeguard",
"windows-sys 0.59.0",
@@ -2730,33 +1870,46 @@ dependencies = [
]
[[package]]
-name = "cpuid-bool"
-version = "0.2.0"
+name = "cranelift-assembler-x64"
+version = "0.128.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50a04121a197fde2fe896f8e7cac9812fc41ed6ee9c63e1906090f9f497845f6"
+dependencies = [
+ "cranelift-assembler-x64-meta",
+]
+
+[[package]]
+name = "cranelift-assembler-x64-meta"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
+checksum = "a09e699a94f477303820fb2167024f091543d6240783a2d3b01a3f21c42bc744"
+dependencies = [
+ "cranelift-srcgen",
+]
[[package]]
name = "cranelift-bforest"
-version = "0.110.2"
+version = "0.128.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "305d51c180ebdc46ef61bc60c54ae6512db3bc9a05842a1f1e762e45977019ab"
+checksum = "aea7351476d0eb196e89150e7a6235ecd37c97848243faea7746c29676abeeac"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-bitset"
-version = "0.110.3"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "690d8ae6c73748e5ce3d8fe59034dceadb8823e6c8994ba324141c5eae909b0e"
+checksum = "18391da761cf362a06def7a7cf11474d79e55801dd34c2e9ba105b33dc0aef88"
[[package]]
name = "cranelift-codegen"
-version = "0.110.2"
+version = "0.128.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd7ca95e831c18d1356da783765c344207cbdffea91e13e47fa9327dbb2e0719"
+checksum = "fa9e80ceb5153bb9dd0d048e685ec4df6fa20ce92d4ffffcb5d691623e1d8693"
dependencies = [
"bumpalo",
+ "cranelift-assembler-x64",
"cranelift-bforest",
"cranelift-bitset",
"cranelift-codegen-meta",
@@ -2764,65 +1917,76 @@ dependencies = [
"cranelift-control",
"cranelift-entity",
"cranelift-isle",
- "gimli 0.28.1",
- "hashbrown 0.14.5",
+ "gimli",
+ "hashbrown 0.15.5",
"log",
"regalloc2",
- "rustc-hash 1.1.0",
- "smallvec 1.15.1",
+ "rustc-hash 2.1.1",
+ "serde",
+ "smallvec",
"target-lexicon",
+ "wasmtime-internal-math",
]
[[package]]
name = "cranelift-codegen-meta"
-version = "0.110.3"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0a2d2ab65e6cbf91f81781d8da65ec2005510f18300eff21a99526ed6785863"
+checksum = "75817926ec812241889208d1b190cadb7fedded4592a4bb01b8524babb9e4849"
dependencies = [
+ "cranelift-assembler-x64-meta",
"cranelift-codegen-shared",
+ "cranelift-srcgen",
+ "heck 0.5.0",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.110.3"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efcff860573cf3db9ae98fbd949240d78b319df686cc306872e7fab60e9c84d7"
+checksum = "859158f87a59476476eda3884d883c32e08a143cf3d315095533b362a3250a63"
[[package]]
name = "cranelift-control"
-version = "0.110.3"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d70e5b75c2d5541ef80a99966ccd97aaa54d2a6af19ea31759a28538e1685a"
+checksum = "03b65a9aec442d715cbf54d14548b8f395476c09cef7abe03e104a378291ab88"
dependencies = [
"arbitrary",
]
[[package]]
name = "cranelift-entity"
-version = "0.110.2"
+version = "0.128.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a48cb0a194c9ba82fec35a1e492055388d89b2e3c03dee9dcf2488892be8004d"
+checksum = "3e57c6f29da407f6ee9956197d011aedf4fd39bd03781ab5b44b85d45a448a27"
dependencies = [
"cranelift-bitset",
]
[[package]]
name = "cranelift-frontend"
-version = "0.110.2"
+version = "0.128.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8327afc6c1c05f4be62fefce5b439fa83521c65363a322e86ea32c85e7ceaf64"
+checksum = "add3991ccfeb20022443bae60b8adc56081f27caab0213b0ff26288954e44fe5"
dependencies = [
"cranelift-codegen",
"log",
- "smallvec 1.15.1",
+ "smallvec",
"target-lexicon",
]
[[package]]
name = "cranelift-isle"
-version = "0.110.2"
+version = "0.128.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc02707039d43c0e132526f1d3ac319b45468331b823a1749625825010f644e4"
+
+[[package]]
+name = "cranelift-srcgen"
+version = "0.128.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56b08621c00321efcfa3eee6a3179adc009e21ea8d24ca7adc3c326184bc3f48"
+checksum = "903adeaf4938e60209a97b53a2e4326cd2d356aab9764a1934630204bae381c9"
[[package]]
name = "crc"
@@ -2845,7 +2009,7 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
]
[[package]]
@@ -2857,7 +2021,7 @@ dependencies = [
"anes",
"cast",
"ciborium",
- "clap 4.5.53",
+ "clap",
"criterion-plot",
"is-terminal",
"itertools 0.10.5",
@@ -2890,15 +2054,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
-dependencies = [
- "crossbeam-utils",
-]
-
[[package]]
name = "crossbeam-deque"
version = "0.8.6"
@@ -2933,31 +2088,6 @@ version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
-[[package]]
-name = "crossterm"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c36c10130df424b2f3552fcc2ddcd9b28a27b1e54b358b45874f88d1ca6888c"
-dependencies = [
- "bitflags 1.3.2",
- "crossterm_winapi",
- "lazy_static",
- "libc",
- "mio 0.7.14",
- "parking_lot 0.11.2",
- "signal-hook",
- "winapi",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0da8964ace4d3e4a044fd027919b2237000b24315a37c916f61809f1ff2140b9"
-dependencies = [
- "winapi",
-]
-
[[package]]
name = "crunchy"
version = "0.2.4"
@@ -2988,42 +2118,12 @@ dependencies = [
]
[[package]]
-name = "crypto_box"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42152c7961cd7af77bfe71c2cb0cf893b0a8939e9510d0c4db9b8d9027fea7e4"
-dependencies = [
- "chacha20poly1305 0.7.1",
- "rand_core 0.5.1",
- "salsa20 0.7.2",
- "x25519-dalek 1.1.1",
- "xsalsa20poly1305",
- "zeroize",
-]
-
-[[package]]
-name = "crypto_secretbox"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1"
-dependencies = [
- "aead 0.5.2",
- "cipher 0.4.4",
- "generic-array",
- "poly1305 0.8.0",
- "salsa20 0.10.2",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "ctor"
-version = "0.1.26"
+name = "crypto-common"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710"
dependencies = [
- "quote",
- "syn 1.0.109",
+ "hybrid-array",
]
[[package]]
@@ -3032,20 +2132,7 @@ version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
dependencies = [
- "cipher 0.4.4",
-]
-
-[[package]]
-name = "curve25519-dalek"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
-dependencies = [
- "byteorder",
- "digest 0.9.0",
- "rand_core 0.5.1",
- "subtle",
- "zeroize",
+ "cipher",
]
[[package]]
@@ -3054,10 +2141,12 @@ version = "4.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"cpufeatures",
"curve25519-dalek-derive",
+ "digest 0.10.7",
"fiat-crypto",
+ "group",
"rand_core 0.6.4",
"rustc_version",
"serde",
@@ -3073,7 +2162,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -3085,7 +2174,6 @@ dependencies = [
"byteorder",
"digest 0.9.0",
"rand_core 0.6.4",
- "serde",
"subtle-ng",
"zeroize",
]
@@ -3096,7 +2184,7 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2ae9bf77fbf2d39ef573205d554d87e86c12f1994e9ea335b0651b9b278bcf1"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
]
[[package]]
@@ -3112,16 +2200,6 @@ dependencies = [
"tokio",
]
-[[package]]
-name = "darling"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
-dependencies = [
- "darling_core 0.10.2",
- "darling_macro 0.10.2",
-]
-
[[package]]
name = "darling"
version = "0.20.11"
@@ -3143,17 +2221,13 @@ dependencies = [
]
[[package]]
-name = "darling_core"
-version = "0.10.2"
+name = "darling"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
+checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2",
- "quote",
- "strsim 0.9.3",
- "syn 1.0.109",
+ "darling_core 0.23.0",
+ "darling_macro 0.23.0",
]
[[package]]
@@ -3166,8 +2240,8 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
- "strsim 0.11.1",
- "syn 2.0.111",
+ "strsim",
+ "syn 2.0.117",
]
[[package]]
@@ -3180,18 +2254,20 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
-name = "darling_macro"
-version = "0.10.2"
+name = "darling_core"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
+checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
dependencies = [
- "darling_core 0.10.2",
+ "ident_case",
+ "proc-macro2",
"quote",
- "syn 1.0.109",
+ "strsim",
+ "syn 2.0.117",
]
[[package]]
@@ -3202,7 +2278,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core 0.20.11",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -3213,14 +2289,19 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81"
dependencies = [
"darling_core 0.21.3",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
-name = "dary_heap"
-version = "0.3.8"
+name = "darling_macro"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06d2e3287df1c007e74221c49ca10a95d557349e54b3a75dc2fb14712c751f04"
+checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
+dependencies = [
+ "darling_core 0.23.0",
+ "quote",
+ "syn 2.0.117",
+]
[[package]]
name = "dashmap"
@@ -3228,7 +2309,7 @@ version = "5.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"hashbrown 0.14.5",
"lock_api",
"once_cell",
@@ -3241,7 +2322,7 @@ version = "6.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"crossbeam-utils",
"hashbrown 0.14.5",
"lock_api",
@@ -3251,9 +2332,9 @@ dependencies = [
[[package]]
name = "data-encoding"
-version = "2.9.0"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
+checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea"
[[package]]
name = "dbus"
@@ -3308,7 +2389,7 @@ dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -3317,7 +2398,7 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e"
dependencies = [
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
]
[[package]]
@@ -3326,7 +2407,7 @@ version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
dependencies = [
- "const-oid",
+ "const-oid 0.9.6",
"pem-rfc7468",
"zeroize",
]
@@ -3347,101 +2428,36 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.5.5"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587"
+checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
dependencies = [
"powerfmt",
]
-[[package]]
-name = "derive_arbitrary"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "derive_builder"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0"
-dependencies = [
- "darling 0.10.2",
- "derive_builder_core",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_builder_core"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef"
-dependencies = [
- "darling 0.10.2",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "derive_more"
-version = "0.99.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
-dependencies = [
- "convert_case",
- "proc-macro2",
- "quote",
- "rustc_version",
- "syn 2.0.111",
-]
-
[[package]]
name = "derive_more"
-version = "1.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05"
+checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
dependencies = [
"derive_more-impl",
]
[[package]]
name = "derive_more-impl"
-version = "1.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
+checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
dependencies = [
+ "convert_case",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "rustc_version",
+ "syn 2.0.117",
"unicode-xid",
]
-[[package]]
-name = "diff"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
-
-[[package]]
-name = "difference"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
-
-[[package]]
-name = "difflib"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
-
[[package]]
name = "digest"
version = "0.9.0"
@@ -3458,69 +2474,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
- "const-oid",
- "crypto-common",
+ "const-oid 0.9.6",
+ "crypto-common 0.1.7",
"subtle",
]
[[package]]
-name = "directories"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
-dependencies = [
- "cfg-if 0.1.10",
- "dirs-sys",
-]
-
-[[package]]
-name = "directories"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs"
-version = "1.0.5"
+name = "digest"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
+checksum = "285743a676ccb6b3e116bc14cc69319b957867930ae9c4822f8e0f54509d7243"
dependencies = [
- "libc",
- "redox_users 0.3.5",
- "winapi",
+ "block-buffer 0.12.0",
+ "const-oid 0.10.2",
+ "crypto-common 0.2.1",
]
[[package]]
name = "dirs"
-version = "4.0.0"
+version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs-sys"
-version = "0.3.7"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
dependencies = [
"libc",
- "redox_users 0.4.6",
- "winapi",
-]
-
-[[package]]
-name = "dispatch2"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec"
-dependencies = [
- "bitflags 2.10.0",
- "objc2 0.6.3",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -3531,39 +2519,23 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "dns-parser"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea"
-dependencies = [
- "byteorder",
- "quick-error",
+ "syn 2.0.117",
]
-[[package]]
-name = "downcast"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
-
[[package]]
name = "dtls"
-version = "0.13.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f531dd7c181beaf3cebab3716afa4d0d41ab888be85232583f56bbaf07ca208a"
+checksum = "2f016db07b91e9d79cc60a152c163d3f0ce2d4c0173cb3964de3526aab6e07fa"
dependencies = [
"aes",
"aes-gcm",
"async-trait",
- "bincode",
+ "bytecheck 0.8.2",
"byteorder",
"cbc",
"ccm",
- "chacha20poly1305 0.10.1",
+ "chacha20poly1305",
"der-parser",
"hmac",
"log",
@@ -3572,25 +2544,25 @@ dependencies = [
"portable-atomic",
"rand 0.9.2",
"rand_core 0.6.4",
- "rcgen 0.13.2",
- "ring 0.17.14",
- "rustls 0.23.35",
+ "rcgen",
+ "ring",
+ "rkyv 0.8.15",
+ "rustls",
"sec1",
- "serde",
"sha1",
- "sha2",
+ "sha2 0.10.9",
"thiserror 1.0.69",
"tokio",
"webrtc-util",
- "x25519-dalek 2.0.1",
+ "x25519-dalek",
"x509-parser",
]
[[package]]
-name = "dunce"
-version = "1.0.5"
+name = "dyn-clone"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
+checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]]
name = "dyn-stack"
@@ -3602,6 +2574,22 @@ dependencies = [
"reborrow",
]
+[[package]]
+name = "dyn-stack"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c4713e43e2886ba72b8271aa66c93d722116acf7a75555cce11dcde84388fe8"
+dependencies = [
+ "bytemuck",
+ "dyn-stack-macros",
+]
+
+[[package]]
+name = "dyn-stack-macros"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d926b4d407d372f141f93bb444696142c29d32962ccbd3531117cf3aa0bfa9"
+
[[package]]
name = "ecdsa"
version = "0.16.9"
@@ -3616,6 +2604,31 @@ dependencies = [
"spki",
]
+[[package]]
+name = "ed25519"
+version = "2.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53"
+dependencies = [
+ "pkcs8",
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "rand_core 0.6.4",
+ "serde",
+ "sha2 0.10.9",
+ "subtle",
+ "zeroize",
+]
+
[[package]]
name = "either"
version = "1.15.0"
@@ -3655,7 +2668,7 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d2c8cdff05a7a51ba0087489ea44b0b1d97a296ca6b1d6d1a33ea7423d34049"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"critical-section",
"embedded-io-async",
"futures-sink",
@@ -3753,14 +2766,14 @@ dependencies = [
"home",
"log",
"regex",
- "remove_dir_all 0.8.4",
+ "remove_dir_all",
"serde",
"serde_json",
"shlex",
"strum 0.24.1",
"tempfile",
"thiserror 1.0.69",
- "which",
+ "which 4.4.2",
]
[[package]]
@@ -3769,7 +2782,7 @@ version = "0.8.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
]
[[package]]
@@ -3781,27 +2794,27 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "enum-iterator"
-version = "0.7.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+checksum = "a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016"
dependencies = [
"enum-iterator-derive",
]
[[package]]
name = "enum-iterator-derive"
-version = "0.7.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.117",
]
[[package]]
@@ -3822,14 +2835,14 @@ dependencies = [
"darling 0.21.3",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "env_filter"
-version = "0.1.4"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2"
+checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f"
dependencies = [
"log",
"regex",
@@ -3837,9 +2850,9 @@ dependencies = [
[[package]]
name = "env_logger"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f"
+checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d"
dependencies = [
"anstream",
"anstyle",
@@ -3863,20 +2876,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
-[[package]]
-name = "err-derive"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22deed3a8124cff5fa835713fa105621e43bbdc46690c3a6b68328a012d350d4"
-dependencies = [
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 1.0.109",
- "synstructure 0.12.6",
-]
-
[[package]]
name = "errno"
version = "0.3.14"
@@ -3946,7 +2945,7 @@ dependencies = [
"regex",
"serde",
"strum 0.24.1",
- "which",
+ "which 4.4.2",
]
[[package]]
@@ -3956,9 +2955,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53ee06613867453660128b3d772c31a5d38b02c4fa66952d29022b3f35bdd920"
dependencies = [
"anyhow",
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"bstr",
- "cfg-if 1.0.4",
+ "cfg-if",
"embassy-sync",
"embuild",
"esp-idf-svc",
@@ -3996,34 +2995,6 @@ dependencies = [
"pin-project-lite",
]
-[[package]]
-name = "failure"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-dependencies = [
- "backtrace",
- "failure_derive",
-]
-
-[[package]]
-name = "failure_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "synstructure 0.12.6",
-]
-
-[[package]]
-name = "fallible-iterator"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
-
[[package]]
name = "fallible-iterator"
version = "0.3.0"
@@ -4036,20 +3007,11 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
-[[package]]
-name = "fast_chemail"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "495a39d30d624c2caabe6312bfead73e7717692b44e0b32df168c275a2e8e9e4"
-dependencies = [
- "ascii_utils",
-]
-
[[package]]
name = "fastbloom"
-version = "0.14.0"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18c1ddb9231d8554c2d6bdf4cfaabf0c59251658c68b6c95cd52dd0c513a912a"
+checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4"
dependencies = [
"getrandom 0.3.4",
"libm",
@@ -4081,49 +3043,41 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
[[package]]
name = "filetime"
-version = "0.2.26"
+version = "0.2.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed"
+checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"libc",
"libredox",
- "windows-sys 0.60.2",
]
[[package]]
name = "find-msvc-tools"
-version = "0.1.5"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
+checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
[[package]]
name = "flate2"
-version = "1.1.5"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb"
+checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
dependencies = [
"crc32fast",
- "libz-rs-sys",
"miniz_oxide",
]
[[package]]
-name = "float-cmp"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "float-cmp"
-version = "0.9.0"
+name = "float8"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+checksum = "719a903cc23e4a89e87962c2a80fdb45cdaad0983a89bd150bb57b4c8571a7d5"
dependencies = [
+ "half",
"num-traits",
+ "rand 0.9.2",
+ "rand_distr 0.5.1",
]
[[package]]
@@ -4134,7 +3088,7 @@ checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
dependencies = [
"futures-core",
"futures-sink",
- "spin 0.9.8",
+ "spin",
]
[[package]]
@@ -4143,6 +3097,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+[[package]]
+name = "foldhash"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
+
[[package]]
name = "foldhash"
version = "0.2.0"
@@ -4170,25 +3130,9 @@ version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
dependencies = [
- "percent-encoding 2.3.2",
-]
-
-[[package]]
-name = "forwarded-header-value"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9"
-dependencies = [
- "nonempty",
- "thiserror 1.0.69",
+ "percent-encoding",
]
-[[package]]
-name = "fragile"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619"
-
[[package]]
name = "fs2"
version = "0.4.3"
@@ -4206,7 +3150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14af6c9694ea25db25baa2a1788703b9e7c6648dcaeeebeb98f7561b5384c036"
dependencies = [
"aligned",
- "cfg-if 1.0.4",
+ "cfg-if",
"cvt",
"libc",
"nix 0.29.0",
@@ -4214,16 +3158,16 @@ dependencies = [
]
[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
+name = "funty"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
+checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
dependencies = [
"futures-channel",
"futures-core",
@@ -4236,9 +3180,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
+checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
dependencies = [
"futures-core",
"futures-sink",
@@ -4246,15 +3190,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
+checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
[[package]]
name = "futures-executor"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
+checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
dependencies = [
"futures-core",
"futures-task",
@@ -4263,9 +3207,9 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
[[package]]
name = "futures-lite"
@@ -4282,38 +3226,32 @@ dependencies = [
[[package]]
name = "futures-macro"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "futures-sink"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
+checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
[[package]]
name = "futures-task"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
-
-[[package]]
-name = "futures-timer"
-version = "3.0.3"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
+checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
[[package]]
name = "futures-util"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
+checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
dependencies = [
"futures-channel",
"futures-core",
@@ -4323,7 +3261,6 @@ dependencies = [
"futures-task",
"memchr",
"pin-project-lite",
- "pin-utils",
"slab",
]
@@ -4342,17 +3279,37 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32"
dependencies = [
- "dyn-stack",
- "gemm-c32",
- "gemm-c64",
- "gemm-common",
- "gemm-f16",
- "gemm-f32",
- "gemm-f64",
+ "dyn-stack 0.10.0",
+ "gemm-c32 0.17.1",
+ "gemm-c64 0.17.1",
+ "gemm-common 0.17.1",
+ "gemm-f16 0.17.1",
+ "gemm-f32 0.17.1",
+ "gemm-f64 0.17.1",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa0673db364b12263d103b68337a68fbecc541d6f6b61ba72fe438654709eacb"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-c32 0.19.0",
+ "gemm-c64 0.19.0",
+ "gemm-common 0.19.0",
+ "gemm-f16 0.19.0",
+ "gemm-f32 0.19.0",
+ "gemm-f64 0.19.0",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"seq-macro",
]
@@ -4362,12 +3319,27 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0"
dependencies = [
- "dyn-stack",
- "gemm-common",
+ "dyn-stack 0.10.0",
+ "gemm-common 0.17.1",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm-c32"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "086936dbdcb99e37aad81d320f98f670e53c1e55a98bee70573e83f95beb128c"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-common 0.19.0",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"seq-macro",
]
@@ -4377,12 +3349,27 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a"
dependencies = [
- "dyn-stack",
- "gemm-common",
+ "dyn-stack 0.10.0",
+ "gemm-common 0.17.1",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm-c64"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20c8aeeeec425959bda4d9827664029ba1501a90a0d1e6228e48bef741db3a3f"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-common 0.19.0",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"seq-macro",
]
@@ -4393,17 +3380,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8"
dependencies = [
"bytemuck",
- "dyn-stack",
+ "dyn-stack 0.10.0",
+ "half",
+ "num-complex",
+ "num-traits",
+ "once_cell",
+ "paste",
+ "pulp 0.18.22",
+ "raw-cpuid 10.7.0",
+ "rayon",
+ "seq-macro",
+ "sysctl 0.5.5",
+]
+
+[[package]]
+name = "gemm-common"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88027625910cc9b1085aaaa1c4bc46bb3a36aad323452b33c25b5e4e7c8e2a3e"
+dependencies = [
+ "bytemuck",
+ "dyn-stack 0.13.2",
"half",
+ "libm",
"num-complex",
"num-traits",
"once_cell",
"paste",
- "pulp",
- "raw-cpuid",
+ "pulp 0.22.2",
+ "raw-cpuid 11.6.0",
"rayon",
"seq-macro",
- "sysctl",
+ "sysctl 0.6.0",
]
[[package]]
@@ -4412,14 +3420,32 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4"
dependencies = [
- "dyn-stack",
- "gemm-common",
- "gemm-f32",
+ "dyn-stack 0.10.0",
+ "gemm-common 0.17.1",
+ "gemm-f32 0.17.1",
+ "half",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "rayon",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm-f16"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3df7a55202e6cd6739d82ae3399c8e0c7e1402859b30e4cb780e61525d9486e"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-common 0.19.0",
+ "gemm-f32 0.19.0",
"half",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"rayon",
"seq-macro",
]
@@ -4430,12 +3456,27 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113"
dependencies = [
- "dyn-stack",
- "gemm-common",
+ "dyn-stack 0.10.0",
+ "gemm-common 0.17.1",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm-f32"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e0b8c9da1fbec6e3e3ab2ce6bc259ef18eb5f6f0d3e4edf54b75f9fd41a81c"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-common 0.19.0",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"seq-macro",
]
@@ -4445,12 +3486,27 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0"
dependencies = [
- "dyn-stack",
- "gemm-common",
+ "dyn-stack 0.10.0",
+ "gemm-common 0.17.1",
+ "num-complex",
+ "num-traits",
+ "paste",
+ "raw-cpuid 10.7.0",
+ "seq-macro",
+]
+
+[[package]]
+name = "gemm-f64"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "056131e8f2a521bfab322f804ccd652520c79700d81209e9d9275bbdecaadc6a"
+dependencies = [
+ "dyn-stack 0.13.2",
+ "gemm-common 0.19.0",
"num-complex",
"num-traits",
"paste",
- "raw-cpuid",
+ "raw-cpuid 11.6.0",
"seq-macro",
]
@@ -4467,40 +3523,42 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.1.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
+ "js-sys",
"libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasi",
+ "wasm-bindgen",
]
[[package]]
name = "getrandom"
-version = "0.2.16"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"js-sys",
"libc",
- "wasi 0.11.1+wasi-snapshot-preview1",
+ "r-efi 5.3.0",
+ "wasip2",
"wasm-bindgen",
]
[[package]]
name = "getrandom"
-version = "0.3.4"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
+checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
dependencies = [
- "cfg-if 1.0.4",
- "js-sys",
+ "cfg-if",
"libc",
- "r-efi",
+ "r-efi 6.0.0",
"wasip2",
- "wasm-bindgen",
+ "wasip3",
]
[[package]]
@@ -4513,39 +3571,17 @@ dependencies = [
"polyval",
]
-[[package]]
-name = "ghost_actor"
-version = "0.3.0-alpha.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a34addaffa7d2c80637807444f171c646cad7549fcdac8019544034678f76d5"
-dependencies = [
- "futures",
- "mockall",
- "must_future",
- "paste",
- "thiserror 1.0.69",
- "tokio",
- "tracing",
- "tracing-futures",
-]
-
[[package]]
name = "gimli"
-version = "0.28.1"
+version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
dependencies = [
- "fallible-iterator 0.3.0",
- "indexmap 2.12.1",
+ "fallible-iterator",
+ "indexmap",
"stable_deref_trait",
]
-[[package]]
-name = "gimli"
-version = "0.32.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
-
[[package]]
name = "glob"
version = "0.3.3"
@@ -4601,36 +3637,17 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http 0.2.12",
- "indexmap 2.12.1",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "h2"
-version = "0.4.12"
+version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
+checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54"
dependencies = [
"atomic-waker",
"bytes",
"fnv",
"futures-core",
"futures-sink",
- "http 1.4.0",
- "indexmap 2.12.1",
+ "http",
+ "indexmap",
"slab",
"tokio",
"tokio-util",
@@ -4644,7 +3661,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
dependencies = [
"bytemuck",
- "cfg-if 1.0.4",
+ "cfg-if",
"crunchy",
"num-traits",
"rand 0.9.2",
@@ -4652,20 +3669,6 @@ dependencies = [
"zerocopy",
]
-[[package]]
-name = "handlebars"
-version = "5.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d08485b96a0e6393e9e4d1b8d48cf74ad6c063cd905eb33f42c1ce3f0377539b"
-dependencies = [
- "log",
- "pest",
- "pest_derive",
- "serde",
- "serde_json",
- "thiserror 1.0.69",
-]
-
[[package]]
name = "hash32"
version = "0.3.1"
@@ -4675,28 +3678,13 @@ dependencies = [
"byteorder",
]
-[[package]]
-name = "hashbrown"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
-dependencies = [
- "ahash 0.7.8",
-]
-
[[package]]
name = "hashbrown"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "hashbrown"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
dependencies = [
- "ahash 0.8.12",
+ "ahash 0.7.8",
]
[[package]]
@@ -4713,6 +3701,9 @@ name = "hashbrown"
version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
+dependencies = [
+ "foldhash 0.1.5",
+]
[[package]]
name = "hashbrown"
@@ -4722,40 +3713,18 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
"allocator-api2",
"equivalent",
- "foldhash",
+ "foldhash 0.2.0",
+ "serde",
+ "serde_core",
]
[[package]]
name = "hashlink"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
-dependencies = [
- "hashbrown 0.11.2",
-]
-
-[[package]]
-name = "headers"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270"
-dependencies = [
- "base64 0.21.7",
- "bytes",
- "headers-core",
- "http 0.2.12",
- "httpdate",
- "mime",
- "sha1",
-]
-
-[[package]]
-name = "headers-core"
-version = "0.2.0"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
+checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
dependencies = [
- "http 0.2.12",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -4768,15 +3737,6 @@ dependencies = [
"stable_deref_trait",
]
-[[package]]
-name = "heck"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
-
[[package]]
name = "heck"
version = "0.4.1"
@@ -4789,15 +3749,6 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "hermit-abi"
version = "0.5.2"
@@ -4812,15 +3763,15 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hidapi"
-version = "2.6.4"
+version = "2.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "565dd4c730b8f8b2c0fb36df6be12e5470ae10895ddcc4e9dcfbfb495de202b0"
+checksum = "d1b71e1f4791fb9e93b9d7ee03d70b501ab48f6151432fbcadeabc30fe15396e"
dependencies = [
"cc",
- "cfg-if 1.0.4",
+ "cfg-if",
"libc",
"pkg-config",
- "windows-sys 0.48.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -4850,54 +3801,6 @@ dependencies = [
"windows-sys 0.61.2",
]
-[[package]]
-name = "hope_agents"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fecd5b7c6f06a594c2530d6ce8b3a6f88cce272b163cc8eec5edb4cdbac21c2"
-dependencies = [
- "chrono",
- "log",
- "rand 0.8.5",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "hope_agents"
-version = "0.2.0"
-dependencies = [
- "chrono",
- "criterion",
- "log",
- "rand 0.9.2",
- "serde",
- "serde_json",
- "titans_memory 0.2.0",
-]
-
-[[package]]
-name = "hostname"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
-dependencies = [
- "libc",
- "match_cfg",
- "winapi",
-]
-
-[[package]]
-name = "http"
-version = "0.2.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
[[package]]
name = "http"
version = "1.4.0"
@@ -4908,17 +3811,6 @@ dependencies = [
"itoa",
]
-[[package]]
-name = "http-body"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
-dependencies = [
- "bytes",
- "http 0.2.12",
- "pin-project-lite",
-]
-
[[package]]
name = "http-body"
version = "1.0.1"
@@ -4926,7 +3818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes",
- "http 1.4.0",
+ "http",
]
[[package]]
@@ -4937,8 +3829,8 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
dependencies = [
"bytes",
"futures-core",
- "http 1.4.0",
- "http-body 1.0.1",
+ "http",
+ "http-body",
"pin-project-lite",
]
@@ -4961,43 +3853,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
-name = "human-panic"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8a07a0957cd4a3cad4a1e4ca7cd5ea07fcacef6ebe2e5d0c7935bfc95120d8"
-dependencies = [
- "anstream",
- "anstyle",
- "backtrace",
- "os_info",
- "serde",
- "serde_derive",
- "toml 0.9.10+spec-1.1.0",
- "uuid",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.32"
+name = "hybrid-array"
+version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7"
+checksum = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1"
dependencies = [
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2 0.3.27",
- "http 0.2.12",
- "http-body 0.4.6",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite",
- "socket2 0.5.10",
- "tokio",
- "tower-service",
- "tracing",
- "want",
+ "typenum",
]
[[package]]
@@ -5010,15 +3871,15 @@ dependencies = [
"bytes",
"futures-channel",
"futures-core",
- "h2 0.4.12",
- "http 1.4.0",
- "http-body 1.0.1",
+ "h2",
+ "http",
+ "http-body",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
"pin-utils",
- "smallvec 1.15.1",
+ "smallvec",
"tokio",
"want",
]
@@ -5029,14 +3890,15 @@ version = "0.27.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
dependencies = [
- "http 1.4.0",
- "hyper 1.8.1",
+ "http",
+ "hyper",
"hyper-util",
- "rustls 0.23.35",
+ "rustls",
"rustls-pki-types",
"tokio",
- "tokio-rustls 0.26.4",
+ "tokio-rustls",
"tower-service",
+ "webpki-roots",
]
[[package]]
@@ -5047,7 +3909,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes",
"http-body-util",
- "hyper 1.8.1",
+ "hyper",
"hyper-util",
"native-tls",
"tokio",
@@ -5057,23 +3919,22 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.19"
+version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f"
+checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
dependencies = [
- "base64 0.22.1",
+ "base64",
"bytes",
"futures-channel",
- "futures-core",
"futures-util",
- "http 1.4.0",
- "http-body 1.0.1",
- "hyper 1.8.1",
+ "http",
+ "http-body",
+ "hyper",
"ipnet",
"libc",
- "percent-encoding 2.3.2",
+ "percent-encoding",
"pin-project-lite",
- "socket2 0.6.1",
+ "socket2 0.6.3",
"system-configuration",
"tokio",
"tower-service",
@@ -5083,9 +3944,9 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.64"
+version = "0.1.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
+checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
dependencies = [
"android_system_properties",
"core-foundation-sys",
@@ -5141,7 +4002,7 @@ dependencies = [
"icu_normalizer_data",
"icu_properties",
"icu_provider",
- "smallvec 1.15.1",
+ "smallvec",
"zerovec",
]
@@ -5187,21 +4048,16 @@ dependencies = [
]
[[package]]
-name = "ident_case"
-version = "1.0.1"
+name = "id-arena"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
+checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
[[package]]
-name = "idna"
-version = "0.1.5"
+name = "ident_case"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
@@ -5210,7 +4066,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
dependencies = [
"idna_adapter",
- "smallvec 1.15.1",
+ "smallvec",
"utf8_iter",
]
@@ -5224,17 +4080,6 @@ dependencies = [
"icu_properties",
]
-[[package]]
-name = "if-addrs"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2273e421f7c4f0fc99e1934fe4776f59d8df2972f4199d703fc0da9f2a9f73de"
-dependencies = [
- "if-addrs-sys",
- "libc",
- "winapi",
-]
-
[[package]]
name = "if-addrs"
version = "0.13.4"
@@ -5246,13 +4091,13 @@ dependencies = [
]
[[package]]
-name = "if-addrs-sys"
-version = "0.3.2"
+name = "if-addrs"
+version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"
+checksum = "c0a05c691e1fae256cf7013d99dad472dc52d5543322761f83ec8d47eab40d2b"
dependencies = [
- "cc",
"libc",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -5273,19 +4118,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg 1.5.0",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.12.1"
+version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2"
+checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
dependencies = [
"equivalent",
"hashbrown 0.16.1",
@@ -5294,25 +4129,17 @@ dependencies = [
]
[[package]]
-name = "inferno"
-version = "0.12.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d35223c50fdd26419a4ccea2c73be68bd2b29a3d7d6123ffe101c17f4c20a52a"
+name = "ineru"
+version = "0.6.3"
dependencies = [
- "ahash 0.8.12",
- "clap 4.5.53",
- "crossbeam-channel",
- "crossbeam-utils",
- "dashmap 6.1.0",
- "env_logger",
- "indexmap 2.12.1",
- "itoa",
+ "bincode",
+ "blake3",
+ "chrono",
+ "criterion",
"log",
- "num-format",
- "once_cell",
- "quick-xml",
- "rgb",
- "str_stack",
+ "rusqlite",
+ "serde",
+ "serde_json",
]
[[package]]
@@ -5321,7 +4148,7 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
dependencies = [
- "block-padding 0.3.3",
+ "block-padding",
"generic-array",
]
@@ -5331,14 +4158,14 @@ version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
]
[[package]]
name = "interceptor"
-version = "0.15.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea51375727680dc15f06e8ad90fa31df75d79dd030100e8ad60eef1c27fe2c98"
+checksum = "7f73f4fdb971cab2d599cbdc2ccf0c6ea8fb27347b871ed14c65ce2353dbe75b"
dependencies = [
"async-trait",
"bytes",
@@ -5369,15 +4196,15 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.11.0"
+version = "2.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
+checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2"
[[package]]
name = "iri-string"
-version = "0.7.9"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397"
+checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a"
dependencies = [
"memchr",
"serde",
@@ -5389,7 +4216,7 @@ version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
dependencies = [
- "hermit-abi 0.5.2",
+ "hermit-abi",
"libc",
"windows-sys 0.61.2",
]
@@ -5400,15 +4227,6 @@ version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
-[[package]]
-name = "itertools"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
-dependencies = [
- "either",
-]
-
[[package]]
name = "itertools"
version = "0.10.5"
@@ -5447,15 +4265,15 @@ dependencies = [
[[package]]
name = "itoa"
-version = "1.0.15"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
[[package]]
name = "jiff"
-version = "0.2.16"
+version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35"
+checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359"
dependencies = [
"jiff-static",
"log",
@@ -5466,13 +4284,13 @@ dependencies = [
[[package]]
name = "jiff-static"
-version = "0.2.16"
+version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69"
+checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -5496,7 +4314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
dependencies = [
"cesu8",
- "cfg-if 1.0.4",
+ "cfg-if",
"combine",
"jni-sys",
"log",
@@ -5515,305 +4333,89 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
name = "jni-utils"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "259e9f2c3ead61de911f147000660511f07ab00adeed1d84f5ac4d0386e7a6c4"
-dependencies = [
- "dashmap 5.5.3",
- "futures",
- "jni 0.19.0",
- "log",
- "once_cell",
- "static_assertions",
- "uuid",
-]
-
-[[package]]
-name = "jobserver"
-version = "0.1.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
-dependencies = [
- "getrandom 0.3.4",
- "libc",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.83"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
-dependencies = [
- "once_cell",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "jsonwebtoken"
-version = "9.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde"
-dependencies = [
- "base64 0.22.1",
- "js-sys",
- "pem 3.0.6",
- "ring 0.17.14",
- "serde",
- "serde_json",
- "simple_asn1",
-]
-
-[[package]]
-name = "keccak"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
-dependencies = [
- "cpufeatures",
-]
-
-[[package]]
-name = "kitsune_bootstrap"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "criterion",
- "kitsune_p2p",
- "kitsune_p2p_types",
- "once_cell",
- "parking_lot 0.12.5",
- "rand 0.9.2",
- "reqwest",
- "rmp-serde 0.15.5",
- "serde",
- "serde_bytes",
- "serde_json",
- "tokio",
- "warp",
-]
-
-[[package]]
-name = "kitsune_p2p"
-version = "0.0.1"
-dependencies = [
- "ai_fixt",
- "aingle-observability",
- "arrayref",
- "base64 0.21.7",
- "bloomfilter",
- "derive_more 0.99.20",
- "futures",
- "ghost_actor",
- "kitsune_p2p_mdns",
- "kitsune_p2p_proxy",
- "kitsune_p2p_transport_quic",
- "kitsune_p2p_types",
- "lair_keystore_api",
- "matches",
- "once_cell",
- "rand 0.9.2",
- "reqwest",
- "serde",
- "serde_bytes",
- "shrinkwraprs",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
- "tracing",
- "tracing-subscriber",
- "url2",
-]
-
-[[package]]
-name = "kitsune_p2p_direct"
-version = "0.0.1"
-dependencies = [
- "arrayref",
- "base64 0.21.7",
- "derive_more 0.99.20",
- "futures",
- "hyper 0.14.32",
- "kitsune_p2p",
- "kitsune_p2p_direct_api",
- "kitsune_p2p_proxy",
- "kitsune_p2p_transport_quic",
- "kitsune_p2p_types",
- "rand 0.9.2",
- "serde",
- "serde_json",
- "sodoken",
- "structopt",
- "tokio",
- "tokio-tungstenite 0.20.1",
- "tungstenite 0.20.1",
-]
-
-[[package]]
-name = "kitsune_p2p_direct_api"
-version = "0.0.1"
-dependencies = [
- "arrayref",
- "base64 0.21.7",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "kitsune_p2p_direct_test"
-version = "0.0.1"
-dependencies = [
- "kitsune_p2p_direct",
- "kitsune_p2p_proxy",
- "kitsune_p2p_transport_quic",
- "tokio",
-]
-
-[[package]]
-name = "kitsune_p2p_mdns"
-version = "0.0.1"
-dependencies = [
- "async-stream 0.3.6",
- "base64 0.21.7",
- "futures-core",
- "futures-util",
- "libmdns",
- "mdns",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
+checksum = "259e9f2c3ead61de911f147000660511f07ab00adeed1d84f5ac4d0386e7a6c4"
+dependencies = [
+ "dashmap 5.5.3",
+ "futures",
+ "jni 0.19.0",
+ "log",
+ "once_cell",
+ "static_assertions",
+ "uuid",
]
[[package]]
-name = "kitsune_p2p_proxy"
-version = "0.0.1"
+name = "jobserver"
+version = "0.1.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
- "aingle-observability",
- "base64 0.21.7",
- "blake2b_simd",
- "criterion",
- "crossterm",
- "derive_more 0.99.20",
- "futures",
- "kitsune_p2p_transport_quic",
- "kitsune_p2p_types",
- "lair_keystore_api",
- "nanoid 0.4.0",
- "parking_lot 0.12.5",
- "rmp-serde 0.15.5",
- "rustls 0.23.35",
- "rustls-pki-types",
- "serde",
- "serde_bytes",
- "structopt",
- "tokio",
- "tracing",
- "tracing-subscriber",
+ "getrandom 0.3.4",
+ "libc",
]
[[package]]
-name = "kitsune_p2p_transport_quic"
-version = "0.0.1"
+name = "js-sys"
+version = "0.3.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"
dependencies = [
- "blake2b_simd",
- "futures",
- "if-addrs 0.6.7",
- "kitsune_p2p_types",
- "lair_keystore_api",
- "nanoid 0.4.0",
"once_cell",
- "quinn",
- "rcgen 0.13.2",
- "rustls 0.23.35",
- "rustls-pki-types",
- "serde",
- "tokio",
- "tokio-util",
+ "wasm-bindgen",
]
[[package]]
-name = "kitsune_p2p_types"
-version = "0.0.1"
+name = "jsonwebtoken"
+version = "10.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1"
dependencies = [
- "aingle-observability",
- "base64 0.21.7",
- "criterion",
- "derive_more 0.99.20",
- "futures",
- "ghost_actor",
- "lair_keystore_api",
- "lru",
- "mockall",
- "nanoid 0.4.0",
- "once_cell",
- "parking_lot 0.12.5",
- "paste",
- "rmp-serde 0.15.5",
- "rustls 0.23.35",
- "rustls-pki-types",
+ "base64",
+ "ed25519-dalek",
+ "getrandom 0.2.17",
+ "hmac",
+ "js-sys",
+ "p256",
+ "p384",
+ "pem",
+ "rand 0.8.5",
+ "rsa",
"serde",
- "serde_bytes",
"serde_json",
- "shrinkwraprs",
- "sysinfo",
- "thiserror 2.0.17",
- "tokio",
- "tokio-stream",
- "tracing-subscriber",
- "url 2.5.7",
- "url2",
+ "sha2 0.10.9",
+ "signature",
+ "simple_asn1",
]
[[package]]
-name = "kv-log-macro"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
+name = "kaneru"
+version = "0.6.3"
dependencies = [
+ "chrono",
+ "criterion",
+ "ineru",
"log",
+ "rand 0.9.2",
+ "serde",
+ "serde_json",
]
[[package]]
-name = "lair_keystore_api"
-version = "0.0.11"
+name = "keccak"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d3f2fb64691f81c33a26276c8f11ccc6ab10ade5afca45df8629331b9f6a7a0"
+checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653"
dependencies = [
- "blake2b_simd",
- "block-padding 0.2.1",
- "byteorder",
- "crypto_box",
- "derive_more 0.99.20",
- "directories 3.0.2",
- "futures",
- "ghost_actor",
- "nanoid 0.3.0",
- "num_cpus",
- "once_cell",
- "one_err",
- "parking_lot 0.11.2",
- "rand 0.7.3",
- "rayon",
- "rcgen 0.8.13",
- "ring 0.16.20",
- "sodoken",
- "subtle",
- "thiserror 1.0.69",
- "tokio",
- "toml 0.5.11",
- "winapi",
+ "cpufeatures",
]
[[package]]
-name = "lair_keystore_client"
-version = "0.0.11"
+name = "kv-log-macro"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06b1591a47f5db62e30b11a5b83fd9d8194a6c3ef3ab6a160d9333092319b2a2"
+checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
dependencies = [
- "futures",
- "ghost_actor",
- "lair_keystore_api",
- "sodoken",
- "tempfile",
- "tokio",
- "tracing",
+ "log",
]
[[package]]
@@ -5821,6 +4423,9 @@ name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+dependencies = [
+ "spin",
+]
[[package]]
name = "lazycell"
@@ -5868,7 +4473,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4e34341e2708fbf805a9ada44ef6182170c6464c4fc068ab801abb7562fd5e8"
dependencies = [
"byteorder",
- "cfg-if 1.0.4",
+ "cfg-if",
"hex",
"hidapi",
"ledger-transport",
@@ -5879,9 +4484,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.178"
+version = "0.2.183"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
+checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
[[package]]
name = "libdbus-sys"
@@ -5892,113 +4497,54 @@ dependencies = [
"pkg-config",
]
-[[package]]
-name = "libflate"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3248b8d211bd23a104a42d81b4fa8bb8ac4a3b75e7a43d85d2c9ccb6179cd74"
-dependencies = [
- "adler32",
- "core2",
- "crc32fast",
- "dary_heap",
- "libflate_lz77",
-]
-
-[[package]]
-name = "libflate_lz77"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a599cb10a9cd92b1300debcef28da8f70b935ec937f44fcd1b70a7c986a11c5c"
-dependencies = [
- "core2",
- "hashbrown 0.16.1",
- "rle-decode-fast",
-]
-
[[package]]
name = "libloading"
version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"windows-link 0.2.1",
]
[[package]]
name = "libm"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
-
-[[package]]
-name = "libmdns"
-version = "0.6.0"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b276920bfc6c9285e16ffd30ed410487f0185f383483f45a3446afc0554fded"
-dependencies = [
- "byteorder",
- "futures-util",
- "hostname",
- "if-addrs 0.6.7",
- "log",
- "multimap",
- "quick-error",
- "rand 0.8.5",
- "socket2 0.3.19",
- "tokio",
-]
+checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]]
name = "libredox"
-version = "0.1.11"
+version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50"
+checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"libc",
- "redox_syscall 0.6.0",
+ "plain",
+ "redox_syscall 0.7.3",
]
[[package]]
name = "librocksdb-sys"
-version = "0.16.0+8.10.0"
+version = "0.17.3+10.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c"
+checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9"
dependencies = [
- "bindgen 0.69.5",
+ "bindgen 0.72.1",
"bzip2-sys",
"cc",
- "glob",
"libc",
"libz-sys",
"lz4-sys",
"zstd-sys",
]
-[[package]]
-name = "libsodium-sys-stable"
-version = "1.22.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "186bf786351b393a91025e9fc2f1058b8b8e1c7ecfde142ed829c209ab95daff"
-dependencies = [
- "cc",
- "libc",
- "libflate",
- "minisign-verify",
- "pkg-config",
- "tar",
- "ureq 3.1.4",
- "vcpkg",
- "zip 6.0.0",
-]
-
[[package]]
name = "libsqlite3-sys"
-version = "0.22.2"
+version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d"
+checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
dependencies = [
"cc",
"pkg-config",
@@ -6011,47 +4557,17 @@ version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6639b70a7ce854b79c70d7e83f16b5dc0137cc914f3d7d03803b513ecc67ac"
-[[package]]
-name = "libyml"
-version = "0.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3302702afa434ffa30847a83305f0a69d6abd74293b6554c18ec85c7ef30c980"
-dependencies = [
- "anyhow",
- "version_check",
-]
-
-[[package]]
-name = "libz-rs-sys"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15413ef615ad868d4d65dce091cb233b229419c7c0c4bcaa746c0901c49ff39c"
-dependencies = [
- "zlib-rs",
-]
-
[[package]]
name = "libz-sys"
-version = "1.1.23"
+version = "1.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7"
+checksum = "4735e9cbde5aac84a5ce588f6b23a90b9b0b528f6c5a8db8a4aff300463a0839"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
-[[package]]
-name = "linefeed"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28715d08e35c6c074f9ae6b2e6a2420bac75d050c66ecd669d7d5b98e2caa036"
-dependencies = [
- "dirs 1.0.5",
- "mortal",
- "winapi",
-]
-
[[package]]
name = "linux-raw-sys"
version = "0.4.15"
@@ -6060,9 +4576,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
-version = "0.11.0"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
+checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
[[package]]
name = "litemap"
@@ -6088,15 +4604,6 @@ dependencies = [
"value-bag",
]
-[[package]]
-name = "lru"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
-dependencies = [
- "hashbrown 0.11.2",
-]
-
[[package]]
name = "lru-slab"
version = "0.1.2"
@@ -6128,13 +4635,19 @@ dependencies = [
"libc",
]
+[[package]]
+name = "mach2"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b"
+
[[package]]
name = "macho-unwind-info"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb4bdc8b0ce69932332cf76d24af69c3a155242af95c226b2ab6c2e371ed1149"
dependencies = [
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"zerocopy",
"zerocopy-derive",
]
@@ -6145,12 +4658,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-[[package]]
-name = "match_cfg"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-
[[package]]
name = "matchers"
version = "0.2.0"
@@ -6160,18 +4667,6 @@ dependencies = [
"regex-automata",
]
-[[package]]
-name = "matches"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
-
-[[package]]
-name = "matchit"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
-
[[package]]
name = "matchit"
version = "0.8.4"
@@ -6184,60 +4679,40 @@ version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
dependencies = [
- "autocfg 1.5.0",
+ "autocfg",
"rawpointer",
]
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
[[package]]
name = "md-5"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"digest 0.10.7",
]
-[[package]]
-name = "mdns"
-version = "3.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c769962ac75a6ea437f0922b27834bcccd4c013d591383a16ae5731e3ef0f3f3"
-dependencies = [
- "async-std",
- "async-stream 0.2.1",
- "dns-parser",
- "err-derive",
- "futures-core",
- "futures-util",
- "log",
- "net2",
-]
-
[[package]]
name = "mdns-sd"
-version = "0.11.5"
+version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fe7c11a1eb3cfbfcf702d1601c1f5f4c102cdc8665b8a557783ef634741676e"
+checksum = "e8a3efd5e35bde8fe2bf6f698a0158c198eade41805bb89788ee59853baeb877"
dependencies = [
+ "fastrand",
"flume",
- "if-addrs 0.13.4",
+ "if-addrs 0.15.0",
"log",
- "polling 2.8.0",
- "socket2 0.5.10",
+ "mio",
+ "socket-pktinfo",
+ "socket2 0.6.3",
]
[[package]]
name = "memchr"
-version = "2.7.6"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
+checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
[[package]]
name = "memmap2"
@@ -6250,9 +4725,9 @@ dependencies = [
[[package]]
name = "memmap2"
-version = "0.9.9"
+version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490"
+checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3"
dependencies = [
"libc",
"stable_deref_trait",
@@ -6264,7 +4739,7 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
dependencies = [
- "autocfg 1.5.0",
+ "autocfg",
]
[[package]]
@@ -6273,7 +4748,7 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
dependencies = [
- "autocfg 1.5.0",
+ "autocfg",
]
[[package]]
@@ -6299,157 +4774,44 @@ name = "mime_guess"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
-dependencies = [
- "mime",
- "unicase",
-]
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "minisign-verify"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e856fdd13623a2f5f2f54676a4ee49502a96a80ef4a62bcedd23d52427c44d43"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.8.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
-dependencies = [
- "adler2",
- "simd-adler32",
-]
-
-[[package]]
-name = "mio"
-version = "0.7.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
-dependencies = [
- "libc",
- "log",
- "miow",
- "ntapi 0.3.7",
- "winapi",
-]
-
-[[package]]
-name = "mio"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
-dependencies = [
- "libc",
- "wasi 0.11.1+wasi-snapshot-preview1",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "mockall"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96"
-dependencies = [
- "cfg-if 1.0.4",
- "downcast",
- "fragile",
- "lazy_static",
- "mockall_derive",
- "predicates 2.1.5",
- "predicates-tree",
-]
-
-[[package]]
-name = "mockall_derive"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb"
-dependencies = [
- "cfg-if 1.0.4",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+dependencies = [
+ "mime",
+ "unicase",
]
[[package]]
-name = "more-asserts"
-version = "0.2.2"
+name = "minimal-lexical"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
-name = "mortal"
-version = "0.2.4"
+name = "miniz_oxide"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c624fa1b7aab6bd2aff6e9b18565cc0363b6d45cbcd7465c9ed5e3740ebf097"
+checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
dependencies = [
- "bitflags 2.10.0",
- "libc",
- "nix 0.26.4",
- "smallstr",
- "terminfo",
- "unicode-normalization",
- "unicode-width 0.1.14",
- "winapi",
+ "adler2",
+ "simd-adler32",
]
[[package]]
-name = "mr_bundle"
-version = "0.0.1"
+name = "mio"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
dependencies = [
- "aingle_util",
- "anyhow",
- "arbitrary",
- "bytes",
- "derive_more 0.99.20",
- "either",
- "flate2",
- "futures",
- "maplit",
- "matches",
- "reqwest",
- "rmp-serde 0.15.5",
- "serde",
- "serde_bytes",
- "serde_derive",
- "serde_yml",
- "tempdir",
- "thiserror 2.0.17",
- "tokio",
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.61.2",
]
[[package]]
-name = "multer"
-version = "2.1.0"
+name = "more-asserts"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2"
-dependencies = [
- "bytes",
- "encoding_rs",
- "futures-util",
- "http 0.2.12",
- "httparse",
- "log",
- "memchr",
- "mime",
- "spin 0.9.8",
- "version_check",
-]
+checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e"
[[package]]
name = "multer"
@@ -6460,23 +4822,14 @@ dependencies = [
"bytes",
"encoding_rs",
"futures-util",
- "http 1.4.0",
+ "http",
"httparse",
"memchr",
"mime",
- "spin 0.9.8",
+ "spin",
"version_check",
]
-[[package]]
-name = "multimap"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "munge"
version = "0.4.7"
@@ -6494,42 +4847,14 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "must_future"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a160ffed3c2f98d2906c67a9b6e4e1f09cca7e17e3f780286a349061459eeebe"
-dependencies = [
- "futures",
- "pin-utils",
-]
-
-[[package]]
-name = "nanoid"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6226bc4e142124cb44e309a37a04cd9bb10e740d8642855441d3b14808f635e"
-dependencies = [
- "rand 0.6.5",
-]
-
-[[package]]
-name = "nanoid"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8"
-dependencies = [
- "rand 0.8.5",
+ "syn 2.0.117",
]
[[package]]
name = "native-tls"
-version = "0.2.14"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
+checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2"
dependencies = [
"libc",
"log",
@@ -6537,7 +4862,7 @@ dependencies = [
"openssl-probe",
"openssl-sys",
"schannel",
- "security-framework 2.11.1",
+ "security-framework",
"security-framework-sys",
"tempfile",
]
@@ -6559,9 +4884,9 @@ checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d"
[[package]]
name = "ndarray"
-version = "0.17.1"
+version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7c9125e8f6f10c9da3aad044cc918cf8784fa34de857b1aa68038eb05a50a9"
+checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d"
dependencies = [
"matrixmultiply",
"num-complex",
@@ -6572,17 +4897,6 @@ dependencies = [
"rawpointer",
]
-[[package]]
-name = "net2"
-version = "0.2.39"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi",
-]
-
[[package]]
name = "nix"
version = "0.26.4"
@@ -6590,7 +4904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
dependencies = [
"bitflags 1.3.2",
- "cfg-if 1.0.4",
+ "cfg-if",
"libc",
"memoffset 0.7.1",
"pin-utils",
@@ -6602,20 +4916,8 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
- "bitflags 2.10.0",
- "cfg-if 1.0.4",
- "cfg_aliases",
- "libc",
-]
-
-[[package]]
-name = "nix"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
-dependencies = [
- "bitflags 2.10.0",
- "cfg-if 1.0.4",
+ "bitflags 2.11.0",
+ "cfg-if",
"cfg_aliases",
"libc",
]
@@ -6636,18 +4938,6 @@ dependencies = [
"minimal-lexical",
]
-[[package]]
-name = "nonempty"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7"
-
-[[package]]
-name = "normalize-line-endings"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
-
[[package]]
name = "normpath"
version = "1.5.0"
@@ -6657,24 +4947,6 @@ dependencies = [
"windows-sys 0.61.2",
]
-[[package]]
-name = "ntapi"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "ntapi"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
-dependencies = [
- "winapi",
-]
-
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
@@ -6694,6 +4966,22 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
+dependencies = [
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand 0.8.5",
+ "smallvec",
+ "zeroize",
+]
+
[[package]]
name = "num-complex"
version = "0.4.6"
@@ -6706,26 +4994,27 @@ dependencies = [
[[package]]
name = "num-conv"
-version = "0.1.0"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050"
[[package]]
-name = "num-format"
-version = "0.4.4"
+name = "num-integer"
+version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
+checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
- "arrayvec 0.7.6",
- "itoa",
+ "num-traits",
]
[[package]]
-name = "num-integer"
-version = "0.1.46"
+name = "num-iter"
+version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
dependencies = [
+ "autocfg",
+ "num-integer",
"num-traits",
]
@@ -6735,7 +5024,7 @@ version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
- "autocfg 1.5.0",
+ "autocfg",
"libm",
]
@@ -6745,7 +5034,7 @@ version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
dependencies = [
- "hermit-abi 0.5.2",
+ "hermit-abi",
"libc",
]
@@ -6768,7 +5057,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -6787,101 +5076,15 @@ dependencies = [
"objc2-encode",
]
-[[package]]
-name = "objc2"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05"
-dependencies = [
- "objc2-encode",
-]
-
-[[package]]
-name = "objc2-cloud-kit"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c"
-dependencies = [
- "bitflags 2.10.0",
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
-]
-
[[package]]
name = "objc2-core-bluetooth"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a644b62ffb826a5277f536cf0f701493de420b13d40e700c452c36567771111"
dependencies = [
- "bitflags 2.10.0",
- "objc2 0.5.2",
- "objc2-foundation 0.2.2",
-]
-
-[[package]]
-name = "objc2-core-data"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa"
-dependencies = [
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
-]
-
-[[package]]
-name = "objc2-core-foundation"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
-dependencies = [
- "bitflags 2.10.0",
- "dispatch2",
- "objc2 0.6.3",
-]
-
-[[package]]
-name = "objc2-core-graphics"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807"
-dependencies = [
- "bitflags 2.10.0",
- "dispatch2",
- "objc2 0.6.3",
- "objc2-core-foundation",
- "objc2-io-surface",
-]
-
-[[package]]
-name = "objc2-core-image"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006"
-dependencies = [
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
-]
-
-[[package]]
-name = "objc2-core-location"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009"
-dependencies = [
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
-]
-
-[[package]]
-name = "objc2-core-text"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d"
-dependencies = [
- "bitflags 2.10.0",
- "objc2 0.6.3",
- "objc2-core-foundation",
- "objc2-core-graphics",
+ "bitflags 2.11.0",
+ "objc2",
+ "objc2-foundation",
]
[[package]]
@@ -6896,112 +5099,35 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8"
dependencies = [
- "bitflags 2.10.0",
- "block2 0.5.1",
- "libc",
- "objc2 0.5.2",
-]
-
-[[package]]
-name = "objc2-foundation"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
-dependencies = [
- "bitflags 2.10.0",
- "block2 0.6.2",
- "libc",
- "objc2 0.6.3",
- "objc2-core-foundation",
-]
-
-[[package]]
-name = "objc2-io-kit"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
-dependencies = [
+ "bitflags 2.11.0",
+ "block2",
"libc",
- "objc2-core-foundation",
-]
-
-[[package]]
-name = "objc2-io-surface"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d"
-dependencies = [
- "bitflags 2.10.0",
- "objc2 0.6.3",
- "objc2-core-foundation",
-]
-
-[[package]]
-name = "objc2-quartz-core"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f"
-dependencies = [
- "bitflags 2.10.0",
- "objc2 0.6.3",
- "objc2-core-foundation",
- "objc2-foundation 0.3.2",
+ "objc2",
]
[[package]]
-name = "objc2-ui-kit"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22"
-dependencies = [
- "bitflags 2.10.0",
- "block2 0.6.2",
- "objc2 0.6.3",
- "objc2-cloud-kit",
- "objc2-core-data",
- "objc2-core-foundation",
- "objc2-core-graphics",
- "objc2-core-image",
- "objc2-core-location",
- "objc2-core-text",
- "objc2-foundation 0.3.2",
- "objc2-quartz-core",
- "objc2-user-notifications",
-]
-
-[[package]]
-name = "objc2-user-notifications"
-version = "0.3.2"
+name = "object"
+version = "0.37.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e"
+checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
dependencies = [
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
+ "memchr",
]
[[package]]
name = "object"
-version = "0.32.2"
+version = "0.38.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc"
dependencies = [
"crc32fast",
"flate2",
- "hashbrown 0.14.5",
- "indexmap 2.12.1",
+ "hashbrown 0.16.1",
+ "indexmap",
"memchr",
"ruzstd",
]
-[[package]]
-name = "object"
-version = "0.37.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
-dependencies = [
- "memchr",
-]
-
[[package]]
name = "oid-registry"
version = "0.7.1"
@@ -7015,37 +5141,86 @@ dependencies = [
name = "once_cell"
version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+
+[[package]]
+name = "once_cell_polyfill"
+version = "1.70.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
+
+[[package]]
+name = "oorandom"
+version = "11.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
-name = "once_cell_polyfill"
-version = "1.70.2"
+name = "openraft"
+version = "0.10.0-alpha.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
+checksum = "c0b9d8db10f834d517e4c2c45ab5c645bc5cafee9d07f7b150b8029a0b1ebdca"
+dependencies = [
+ "anyerror",
+ "byte-unit",
+ "chrono",
+ "clap",
+ "derive_more",
+ "futures-util",
+ "maplit",
+ "openraft-macros",
+ "openraft-rt",
+ "openraft-rt-tokio",
+ "peel-off",
+ "rand 0.9.2",
+ "serde",
+ "thiserror 2.0.18",
+ "tracing",
+ "validit",
+]
[[package]]
-name = "one_err"
-version = "0.0.5"
+name = "openraft-macros"
+version = "0.10.0-alpha.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42901c1956c1ef1de5bce4428695aa03505a8e27bd2262173395c804834f44ec"
+checksum = "e22b0bd215948ed47997a1d0447ea592e49220096360a833b118f329a08aa286"
dependencies = [
- "indexmap 1.9.3",
- "libc",
- "serde",
- "serde_json",
+ "chrono",
+ "proc-macro2",
+ "quote",
+ "semver",
+ "syn 2.0.117",
]
[[package]]
-name = "oorandom"
-version = "11.1.5"
+name = "openraft-rt"
+version = "0.10.0-alpha.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
+checksum = "55b651e6e2f25d022e34549e605eb8875c78ebc26862b16b06143a551e53ec00"
+dependencies = [
+ "futures-channel",
+ "futures-util",
+ "openraft-macros",
+ "rand 0.9.2",
+]
[[package]]
-name = "opaque-debug"
-version = "0.3.1"
+name = "openraft-rt-tokio"
+version = "0.10.0-alpha.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
+checksum = "478d5625fdeb13293e68549ba1d42b7a25085f3be04204412147637ad22e2827"
+dependencies = [
+ "futures-util",
+ "openraft-rt",
+ "rand 0.9.2",
+ "tokio",
+]
[[package]]
name = "openssl"
@@ -7053,8 +5228,8 @@ version = "0.10.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328"
dependencies = [
- "bitflags 2.10.0",
- "cfg-if 1.0.4",
+ "bitflags 2.11.0",
+ "cfg-if",
"foreign-types",
"libc",
"once_cell",
@@ -7070,14 +5245,14 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "openssl-probe"
-version = "0.1.6"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
+checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]]
name = "openssl-sys"
@@ -7092,38 +5267,10 @@ dependencies = [
]
[[package]]
-name = "os_info"
-version = "3.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224"
-dependencies = [
- "android_system_properties",
- "log",
- "nix 0.30.1",
- "objc2 0.6.3",
- "objc2-foundation 0.3.2",
- "objc2-ui-kit",
- "serde",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "output_vt100"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "owning_ref"
-version = "0.3.3"
+name = "option-ext"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
-dependencies = [
- "stable_deref_trait",
-]
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "oxilangtag"
@@ -7142,14 +5289,14 @@ checksum = "54b4ed3a7192fa19f5f48f99871f2755047fabefd7f222f12a1df1773796a102"
[[package]]
name = "oxrdf"
-version = "0.2.4"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a04761319ef84de1f59782f189d072cbfc3a9a40c4e8bded8667202fbd35b02a"
+checksum = "0afd5c28e4a399c57ee2bc3accd40c7b671fdc7b6537499f14e95b265af7d7e0"
dependencies = [
"oxilangtag",
"oxiri",
- "rand 0.8.5",
- "thiserror 2.0.17",
+ "rand 0.9.2",
+ "thiserror 2.0.18",
]
[[package]]
@@ -7161,7 +5308,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"primeorder",
- "sha2",
+ "sha2 0.10.9",
]
[[package]]
@@ -7173,17 +5320,7 @@ dependencies = [
"ecdsa",
"elliptic-curve",
"primeorder",
- "sha2",
-]
-
-[[package]]
-name = "page_size"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd"
-dependencies = [
- "libc",
- "winapi",
+ "sha2 0.10.9",
]
[[package]]
@@ -7192,16 +5329,6 @@ version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
-[[package]]
-name = "parking_lot"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "149d8f5b97f3c1133e3cfcd8886449959e856b557ff281e292b733d7c69e005e"
-dependencies = [
- "owning_ref",
- "parking_lot_core 0.2.14",
-]
-
[[package]]
name = "parking_lot"
version = "0.11.2"
@@ -7223,29 +5350,17 @@ dependencies = [
"parking_lot_core 0.9.12",
]
-[[package]]
-name = "parking_lot_core"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4db1a8ccf734a7bce794cc19b3df06ed87ab2f3907036b693c68f56b4d4537fa"
-dependencies = [
- "libc",
- "rand 0.4.6",
- "smallvec 0.6.14",
- "winapi",
-]
-
[[package]]
name = "parking_lot_core"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"instant",
"libc",
"redox_syscall 0.2.16",
- "smallvec 1.15.1",
+ "smallvec",
"winapi",
]
@@ -7255,10 +5370,10 @@ version = "0.9.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"libc",
"redox_syscall 0.5.18",
- "smallvec 1.15.1",
+ "smallvec",
"windows-link 0.2.1",
]
@@ -7279,6 +5394,12 @@ version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+[[package]]
+name = "peel-off"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3420ea4424090cbd75a688996f696a807c68d6744b4863591b86435dc3078e9"
+
[[package]]
name = "peg"
version = "0.8.5"
@@ -7306,24 +5427,13 @@ version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca"
-[[package]]
-name = "pem"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb"
-dependencies = [
- "base64 0.13.1",
- "once_cell",
- "regex",
-]
-
[[package]]
name = "pem"
version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
dependencies = [
- "base64 0.22.1",
+ "base64",
"serde_core",
]
@@ -7336,12 +5446,6 @@ dependencies = [
"base64ct",
]
-[[package]]
-name = "percent-encoding"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-
[[package]]
name = "percent-encoding"
version = "2.3.2"
@@ -7350,110 +5454,19 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pest"
-version = "2.8.4"
+version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22"
+checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662"
dependencies = [
"memchr",
"ucd-trie",
]
-[[package]]
-name = "pest_derive"
-version = "2.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51f72981ade67b1ca6adc26ec221be9f463f2b5839c7508998daa17c23d94d7f"
-dependencies = [
- "pest",
- "pest_generator",
-]
-
-[[package]]
-name = "pest_generator"
-version = "2.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee9efd8cdb50d719a80088b76f81aec7c41ed6d522ee750178f83883d271625"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "pest_meta"
-version = "2.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82"
-dependencies = [
- "pest",
- "sha2",
-]
-
-[[package]]
-name = "phf"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
-dependencies = [
- "phf_shared",
- "rand 0.8.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
[[package]]
name = "pin-project-lite"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
+checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "pin-utils"
@@ -7463,15 +5476,26 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "piper"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
+checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1"
dependencies = [
"atomic-waker",
"fastrand",
"futures-io",
]
+[[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der",
+ "pkcs8",
+ "spki",
+]
+
[[package]]
name = "pkcs8"
version = "0.10.2"
@@ -7488,6 +5512,12 @@ version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
[[package]]
name = "plotters"
version = "0.3.7"
@@ -7516,46 +5546,20 @@ dependencies = [
"plotters-backend",
]
-[[package]]
-name = "polling"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
-dependencies = [
- "autocfg 1.5.0",
- "bitflags 1.3.2",
- "cfg-if 1.0.4",
- "concurrent-queue",
- "libc",
- "log",
- "pin-project-lite",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "polling"
version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"concurrent-queue",
- "hermit-abi 0.5.2",
+ "hermit-abi",
"pin-project-lite",
- "rustix 1.1.2",
+ "rustix 1.1.4",
"windows-sys 0.61.2",
]
-[[package]]
-name = "poly1305"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b7456bc1ad2d4cf82b3a016be4c2ac48daf11bf990c1603ebd447fe6f30fca8"
-dependencies = [
- "cpuid-bool",
- "universal-hash 0.4.0",
-]
-
[[package]]
name = "poly1305"
version = "0.8.0"
@@ -7564,7 +5568,7 @@ checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
dependencies = [
"cpufeatures",
"opaque-debug",
- "universal-hash 0.5.1",
+ "universal-hash",
]
[[package]]
@@ -7573,36 +5577,27 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"cpufeatures",
"opaque-debug",
- "universal-hash 0.5.1",
+ "universal-hash",
]
[[package]]
name = "portable-atomic"
-version = "1.11.1"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
+checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
[[package]]
name = "portable-atomic-util"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
+checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5"
dependencies = [
"portable-atomic",
]
-[[package]]
-name = "portpicker"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9"
-dependencies = [
- "rand 0.8.5",
-]
-
[[package]]
name = "potential_utf"
version = "0.1.4"
@@ -7627,122 +5622,32 @@ dependencies = [
"zerocopy",
]
-[[package]]
-name = "predicates"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df"
-dependencies = [
- "difference",
- "float-cmp 0.8.0",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates"
-version = "2.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
-dependencies = [
- "difflib",
- "float-cmp 0.9.0",
- "itertools 0.10.5",
- "normalize-line-endings",
- "predicates-core",
- "regex",
-]
-
-[[package]]
-name = "predicates"
-version = "3.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
-dependencies = [
- "anstyle",
- "difflib",
- "predicates-core",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
-dependencies = [
- "predicates-core",
- "termtree",
-]
-
-[[package]]
-name = "pretty_assertions"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cab0e7c02cf376875e9335e0ba1da535775beb5450d21e1dffca068818ed98b"
-dependencies = [
- "ansi_term",
- "ctor",
- "diff",
- "output_vt100",
-]
-
[[package]]
name = "prettyplease"
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
-dependencies = [
- "proc-macro2",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "primeorder"
-version = "0.13.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
-dependencies = [
- "elliptic-curve",
-]
-
-[[package]]
-name = "proc-macro-crate"
-version = "3.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983"
+checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
- "toml_edit 0.23.10+spec-1.0.0",
+ "proc-macro2",
+ "syn 2.0.117",
]
[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
+name = "primeorder"
+version = "0.13.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
+ "elliptic-curve",
]
[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
+name = "proc-macro-crate"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
+ "toml_edit",
]
[[package]]
@@ -7764,14 +5669,14 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "proc-macro2"
-version = "1.0.103"
+version = "1.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
+checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
dependencies = [
"unicode-ident",
]
@@ -7813,7 +5718,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -7829,19 +5734,27 @@ dependencies = [
]
[[package]]
-name = "quick-error"
-version = "1.2.3"
+name = "pulp"
+version = "0.22.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+checksum = "2e205bb30d5b916c55e584c22201771bcf2bad9aabd5d4127f38387140c38632"
+dependencies = [
+ "bytemuck",
+ "cfg-if",
+ "libm",
+ "num-complex",
+ "paste",
+ "pulp-wasm-simd-flag",
+ "raw-cpuid 11.6.0",
+ "reborrow",
+ "version_check",
+]
[[package]]
-name = "quick-xml"
-version = "0.38.4"
+name = "pulp-wasm-simd-flag"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c"
-dependencies = [
- "memchr",
-]
+checksum = "40e24eee682d89fb193496edf918a7f407d30175b2e785fe057e4392dfd182e0"
[[package]]
name = "quinn"
@@ -7855,9 +5768,9 @@ dependencies = [
"quinn-proto",
"quinn-udp",
"rustc-hash 2.1.1",
- "rustls 0.23.35",
- "socket2 0.6.1",
- "thiserror 2.0.17",
+ "rustls",
+ "socket2 0.6.3",
+ "thiserror 2.0.18",
"tokio",
"tracing",
"web-time",
@@ -7865,22 +5778,22 @@ dependencies = [
[[package]]
name = "quinn-proto"
-version = "0.11.13"
+version = "0.11.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
+checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098"
dependencies = [
"bytes",
"fastbloom",
"getrandom 0.3.4",
"lru-slab",
"rand 0.9.2",
- "ring 0.17.14",
+ "ring",
"rustc-hash 2.1.1",
- "rustls 0.23.35",
+ "rustls",
"rustls-pki-types",
"rustls-platform-verifier",
"slab",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"tinyvec",
"tracing",
"web-time",
@@ -7895,16 +5808,16 @@ dependencies = [
"cfg_aliases",
"libc",
"once_cell",
- "socket2 0.6.1",
+ "socket2 0.6.3",
"tracing",
"windows-sys 0.60.2",
]
[[package]]
name = "quote"
-version = "1.0.42"
+version = "1.0.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
+checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
dependencies = [
"proc-macro2",
]
@@ -7916,25 +5829,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
-name = "r2d2"
-version = "0.8.10"
+name = "r-efi"
+version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93"
-dependencies = [
- "log",
- "parking_lot 0.12.5",
- "scheduled-thread-pool",
-]
+checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
-name = "r2d2_sqlite"
-version = "0.18.0"
+name = "radium"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d24607049214c5e42d3df53ac1d8a23c34cc6a5eefe3122acb2c72174719959"
-dependencies = [
- "r2d2",
- "rusqlite",
-]
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rancor"
@@ -7945,51 +5849,6 @@ dependencies = [
"ptr_meta 0.3.1",
]
-[[package]]
-name = "rand"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
-dependencies = [
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.8",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
[[package]]
name = "rand"
version = "0.8.5"
@@ -8008,27 +5867,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
+ "rand_core 0.9.5",
]
[[package]]
@@ -8048,31 +5887,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
+ "rand_core 0.9.5",
]
[[package]]
@@ -8081,14 +5896,14 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
]
[[package]]
name = "rand_core"
-version = "0.9.3"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
+checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
dependencies = [
"getrandom 0.3.4",
]
@@ -8114,83 +5929,27 @@ dependencies = [
]
[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
+name = "rangemap"
+version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.8",
- "rand_core 0.4.2",
-]
+checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68"
[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
+name = "raw-cpuid"
+version = "10.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
dependencies = [
- "rand_core 0.3.1",
+ "bitflags 1.3.2",
]
[[package]]
name = "raw-cpuid"
-version = "10.7.0"
+version = "11.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
+checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.11.0",
]
[[package]]
@@ -8219,39 +5978,18 @@ dependencies = [
"crossbeam-utils",
]
-[[package]]
-name = "rcgen"
-version = "0.8.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2351cbef4bf91837f5ff7face6091cb277ba960d1638d2c5ae2327859912fbba"
-dependencies = [
- "chrono",
- "pem 0.8.3",
- "ring 0.16.20",
- "yasna 0.4.0",
-]
-
[[package]]
name = "rcgen"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2"
dependencies = [
- "pem 3.0.6",
- "ring 0.17.14",
+ "pem",
+ "ring",
"rustls-pki-types",
"time",
"x509-parser",
- "yasna 0.5.2",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
+ "yasna",
]
[[package]]
@@ -8260,12 +5998,6 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430"
-[[package]]
-name = "redox_syscall"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
[[package]]
name = "redox_syscall"
version = "0.2.16"
@@ -8281,58 +6013,68 @@ version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
]
[[package]]
name = "redox_syscall"
-version = "0.6.0"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5"
+checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
]
[[package]]
name = "redox_users"
-version = "0.3.5"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
+checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
- "getrandom 0.1.16",
- "redox_syscall 0.1.57",
- "rust-argon2",
+ "getrandom 0.2.17",
+ "libredox",
+ "thiserror 2.0.18",
]
[[package]]
-name = "redox_users"
-version = "0.4.6"
+name = "ref-cast"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
+checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
dependencies = [
- "getrandom 0.2.16",
- "libredox",
- "thiserror 1.0.69",
+ "ref-cast-impl",
+]
+
+[[package]]
+name = "ref-cast-impl"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.117",
]
[[package]]
name = "regalloc2"
-version = "0.9.3"
+version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6"
+checksum = "08effbc1fa53aaebff69521a5c05640523fab037b34a4a2c109506bc938246fa"
dependencies = [
- "hashbrown 0.13.2",
+ "allocator-api2",
+ "bumpalo",
+ "hashbrown 0.15.5",
"log",
- "rustc-hash 1.1.0",
- "slice-group-by",
- "smallvec 1.15.1",
+ "rustc-hash 2.1.1",
+ "smallvec",
]
[[package]]
name = "regex"
-version = "1.12.2"
+version = "1.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
+checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
dependencies = [
"aho-corasick",
"memchr",
@@ -8342,9 +6084,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.13"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
+checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
dependencies = [
"aho-corasick",
"memchr",
@@ -8353,9 +6095,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.8.8"
+version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
+checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
[[package]]
name = "region"
@@ -8365,26 +6107,17 @@ checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7"
dependencies = [
"bitflags 1.3.2",
"libc",
- "mach2",
+ "mach2 0.4.3",
"windows-sys 0.52.0",
]
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
-
[[package]]
name = "remove_dir_all"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a694f9e0eb3104451127f6cc1e5de55f59d3b1fc8c5ddfaeb6f1e716479ceb4a"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"cvt",
"fs_at",
"libc",
@@ -8392,6 +6125,15 @@ dependencies = [
"windows-sys 0.59.0",
]
+[[package]]
+name = "rend"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c"
+dependencies = [
+ "bytecheck 0.6.12",
+]
+
[[package]]
name = "rend"
version = "0.5.3"
@@ -8403,19 +6145,19 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.12.26"
+version = "0.12.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b4c14b2d9afca6a60277086b0cc6a6ae0b568f6f7916c943a8cdc79f8be240f"
+checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
dependencies = [
- "base64 0.22.1",
+ "base64",
"bytes",
"encoding_rs",
"futures-core",
- "h2 0.4.12",
- "http 1.4.0",
- "http-body 1.0.1",
+ "h2",
+ "http",
+ "http-body",
"http-body-util",
- "hyper 1.8.1",
+ "hyper",
"hyper-rustls",
"hyper-tls",
"hyper-util",
@@ -8423,8 +6165,10 @@ dependencies = [
"log",
"mime",
"native-tls",
- "percent-encoding 2.3.2",
+ "percent-encoding",
"pin-project-lite",
+ "quinn",
+ "rustls",
"rustls-pki-types",
"serde",
"serde_json",
@@ -8432,13 +6176,15 @@ dependencies = [
"sync_wrapper",
"tokio",
"tokio-native-tls",
+ "tokio-rustls",
"tower",
"tower-http",
"tower-service",
- "url 2.5.7",
+ "url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
+ "webpki-roots",
]
[[package]]
@@ -8451,30 +6197,6 @@ dependencies = [
"subtle",
]
-[[package]]
-name = "rgb"
-version = "0.8.52"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
-name = "ring"
-version = "0.16.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
-dependencies = [
- "cc",
- "libc",
- "once_cell",
- "spin 0.5.2",
- "untrusted 0.7.1",
- "web-sys",
- "winapi",
-]
-
[[package]]
name = "ring"
version = "0.17.14"
@@ -8482,10 +6204,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
- "cfg-if 1.0.4",
- "getrandom 0.2.16",
+ "cfg-if",
+ "getrandom 0.2.17",
"libc",
- "untrusted 0.9.0",
+ "untrusted",
"windows-sys 0.52.0",
]
@@ -8508,99 +6230,98 @@ dependencies = [
[[package]]
name = "rkyv"
-version = "0.8.12"
+version = "0.7.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35a640b26f007713818e9a9b65d34da1cf58538207b052916a83d80e43f3ffa4"
+checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1"
dependencies = [
- "bytecheck 0.8.2",
+ "bitvec",
+ "bytecheck 0.6.12",
"bytes",
- "hashbrown 0.15.5",
- "indexmap 2.12.1",
- "munge",
- "ptr_meta 0.3.1",
- "rancor",
- "rend",
- "rkyv_derive",
+ "hashbrown 0.12.3",
+ "ptr_meta 0.1.4",
+ "rend 0.4.2",
+ "rkyv_derive 0.7.46",
+ "seahash",
"tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.8.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd83f5f173ff41e00337d97f6572e416d022ef8a19f371817259ae960324c482"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "rle-decode-fast"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
-
-[[package]]
-name = "rmp"
-version = "0.8.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
-dependencies = [
- "byteorder",
- "num-traits",
- "paste",
+ "uuid",
]
[[package]]
-name = "rmp-serde"
-version = "0.14.4"
+name = "rkyv"
+version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ce7d70c926fe472aed493b902010bccc17fa9f7284145cb8772fd22fdb052d8"
+checksum = "1a30e631b7f4a03dee9056b8ef6982e8ba371dd5bedb74d3ec86df4499132c70"
dependencies = [
- "byteorder",
- "rmp",
- "serde",
+ "bytecheck 0.8.2",
+ "bytes",
+ "hashbrown 0.16.1",
+ "indexmap",
+ "munge",
+ "ptr_meta 0.3.1",
+ "rancor",
+ "rend 0.5.3",
+ "rkyv_derive 0.8.15",
+ "tinyvec",
+ "uuid",
]
[[package]]
-name = "rmp-serde"
-version = "0.15.5"
+name = "rkyv_derive"
+version = "0.7.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "723ecff9ad04f4ad92fe1c8ca6c20d2196d9286e9c60727c4cb5511629260e9d"
+checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5"
dependencies = [
- "byteorder",
- "rmp",
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
-name = "rmp-serde"
-version = "1.3.0"
+name = "rkyv_derive"
+version = "0.8.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db"
+checksum = "8100bb34c0a1d0f907143db3149e6b4eea3c33b9ee8b189720168e818303986f"
dependencies = [
- "byteorder",
- "rmp",
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.117",
]
[[package]]
name = "rocksdb"
-version = "0.22.0"
+version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7"
+checksum = "ddb7af00d2b17dbd07d82c0063e25411959748ff03e8d4f96134c2ff41fce34f"
dependencies = [
"libc",
"librocksdb-sys",
]
+[[package]]
+name = "rsa"
+version = "0.9.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
+dependencies = [
+ "const-oid 0.9.6",
+ "digest 0.10.7",
+ "num-bigint-dig",
+ "num-integer",
+ "num-traits",
+ "pkcs1",
+ "pkcs8",
+ "rand_core 0.6.4",
+ "signature",
+ "spki",
+ "subtle",
+ "zeroize",
+]
+
[[package]]
name = "rtcp"
-version = "0.14.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81d30d1c4091644431c22acf9f8be6191b56805e0e977f15ca7104b4a6d6eaec"
+checksum = "cb22f1cc99aea8152fdae6a4bc52a9caddf4bd1ff083d897c1f9f279956177e8"
dependencies = [
"bytes",
"thiserror 1.0.69",
@@ -8609,9 +6330,9 @@ dependencies = [
[[package]]
name = "rtp"
-version = "0.14.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f126f38ea84c02480e32e547c1459a939052f74fb92117ac3eef23fdac6b023"
+checksum = "f8d41f3565d9add11caabe7c61745517f4ef511c168a6aa2b59ce4c701802cde"
dependencies = [
"bytes",
"memchr",
@@ -8624,36 +6345,39 @@ dependencies = [
[[package]]
name = "rusqlite"
-version = "0.25.4"
+version = "0.32.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4b1eaf239b47034fb450ee9cdedd7d0226571689d8823030c4b6c2cb407152"
+checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e"
dependencies = [
- "bitflags 1.3.2",
- "fallible-iterator 0.2.0",
+ "bitflags 2.11.0",
+ "fallible-iterator",
"fallible-streaming-iterator",
"hashlink",
"libsqlite3-sys",
- "memchr",
- "smallvec 1.15.1",
+ "smallvec",
]
[[package]]
-name = "rust-argon2"
-version = "0.8.3"
+name = "rust_decimal"
+version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
+checksum = "61f703d19852dbf87cbc513643fa81428361eb6940f1ac14fd58155d295a3eb0"
dependencies = [
- "base64 0.13.1",
- "blake2b_simd",
- "constant_time_eq 0.1.5",
- "crossbeam-utils",
+ "arrayvec",
+ "borsh",
+ "bytes",
+ "num-traits",
+ "rand 0.8.5",
+ "rkyv 0.7.46",
+ "serde",
+ "serde_json",
]
[[package]]
name = "rustc-demangle"
-version = "0.1.26"
+version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace"
+checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
[[package]]
name = "rustc-hash"
@@ -8691,7 +6415,7 @@ version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"errno",
"libc",
"linux-raw-sys 0.4.15",
@@ -8700,61 +6424,57 @@ dependencies = [
[[package]]
name = "rustix"
-version = "1.1.2"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
+checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"errno",
"libc",
- "linux-raw-sys 0.11.0",
+ "linux-raw-sys 0.12.1",
"windows-sys 0.61.2",
]
[[package]]
name = "rustls"
-version = "0.21.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
-dependencies = [
- "log",
- "ring 0.17.14",
- "rustls-webpki 0.101.7",
- "sct",
-]
-
-[[package]]
-name = "rustls"
-version = "0.23.35"
+version = "0.23.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f"
+checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"
dependencies = [
- "log",
"once_cell",
- "ring 0.17.14",
+ "ring",
"rustls-pki-types",
- "rustls-webpki 0.103.8",
+ "rustls-webpki",
"subtle",
"zeroize",
]
[[package]]
name = "rustls-native-certs"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923"
+checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
dependencies = [
"openssl-probe",
"rustls-pki-types",
"schannel",
- "security-framework 3.5.1",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
+dependencies = [
+ "rustls-pki-types",
]
[[package]]
name = "rustls-pki-types"
-version = "1.13.2"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282"
+checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd"
dependencies = [
"web-time",
"zeroize",
@@ -8771,11 +6491,11 @@ dependencies = [
"jni 0.21.1",
"log",
"once_cell",
- "rustls 0.23.35",
+ "rustls",
"rustls-native-certs",
"rustls-platform-verifier-android",
- "rustls-webpki 0.103.8",
- "security-framework 3.5.1",
+ "rustls-webpki",
+ "security-framework",
"security-framework-sys",
"webpki-root-certs",
"windows-sys 0.61.2",
@@ -8789,23 +6509,13 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
[[package]]
name = "rustls-webpki"
-version = "0.101.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
-dependencies = [
- "ring 0.17.14",
- "untrusted 0.9.0",
-]
-
-[[package]]
-name = "rustls-webpki"
-version = "0.103.8"
+version = "0.103.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52"
+checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53"
dependencies = [
- "ring 0.17.14",
+ "ring",
"rustls-pki-types",
- "untrusted 0.9.0",
+ "untrusted",
]
[[package]]
@@ -8816,20 +6526,18 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ruzstd"
-version = "0.5.0"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d"
+checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01"
dependencies = [
- "byteorder",
- "derive_more 0.99.20",
"twox-hash",
]
[[package]]
name = "ryu"
-version = "1.0.20"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
[[package]]
name = "safetensors"
@@ -8842,22 +6550,14 @@ dependencies = [
]
[[package]]
-name = "salsa20"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15"
-dependencies = [
- "cipher 0.2.5",
- "zeroize",
-]
-
-[[package]]
-name = "salsa20"
-version = "0.10.2"
+name = "safetensors"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213"
+checksum = "675656c1eabb620b921efea4f9199f97fc86e36dd6ffd1fbbe48d0f59a4987f5"
dependencies = [
- "cipher 0.4.4",
+ "hashbrown 0.16.1",
+ "serde",
+ "serde_json",
]
[[package]]
@@ -8869,15 +6569,6 @@ dependencies = [
"winapi-util",
]
-[[package]]
-name = "scc"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc"
-dependencies = [
- "sdd",
-]
-
[[package]]
name = "schannel"
version = "0.1.28"
@@ -8888,60 +6579,41 @@ dependencies = [
]
[[package]]
-name = "scheduled-thread-pool"
-version = "0.2.7"
+name = "schemars"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19"
+checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
dependencies = [
- "parking_lot 0.12.5",
+ "dyn-clone",
+ "ref-cast",
+ "serde",
+ "serde_json",
]
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "sct"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-dependencies = [
- "ring 0.17.14",
- "untrusted 0.9.0",
-]
-
-[[package]]
-name = "sd-notify"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cd08a21f852bd2fe42e3b2a6c76a0db6a95a5b5bd29c0521dd0b30fa1712ec8"
-
-[[package]]
-name = "sdd"
-version = "3.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca"
-
[[package]]
name = "sdp"
-version = "0.10.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32c374dceda16965d541c8800ce9cc4e1c14acfd661ddf7952feeedc3411e5c6"
+checksum = "22c3b0257608d7de4de4c4ea650ccc2e6e3e45e3cd80039fcdee768bcb449253"
dependencies = [
"rand 0.9.2",
"substring",
"thiserror 1.0.69",
- "url 2.5.7",
+ "url",
]
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
[[package]]
name = "sec1"
version = "0.7.3"
@@ -8958,24 +6630,11 @@ dependencies = [
[[package]]
name = "security-framework"
-version = "2.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
-dependencies = [
- "bitflags 2.10.0",
- "core-foundation 0.9.4",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework"
-version = "3.5.1"
+version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
+checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"core-foundation 0.10.1",
"core-foundation-sys",
"libc",
@@ -8984,9 +6643,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.15.0"
+version = "2.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0"
+checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
dependencies = [
"core-foundation-sys",
"libc",
@@ -8994,15 +6653,15 @@ dependencies = [
[[package]]
name = "self_cell"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33"
+checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89"
[[package]]
name = "semantic_queries"
version = "0.1.0"
dependencies = [
- "aingle_graph 0.2.0",
+ "aingle_graph",
"serde",
"serde_json",
]
@@ -9033,15 +6692,6 @@ dependencies = [
"serde_derive",
]
-[[package]]
-name = "serde-transcode"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "590c0e25c2a5bb6e85bf5c1bce768ceb86b316e7a01bdf07d2cb4ec2271990e2"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde-wasm-bindgen"
version = "0.6.5"
@@ -9061,20 +6711,10 @@ checksum = "cc2215ce3e6a77550b80a1c37251b7d294febaf42e36e21b7b411e0bf54d540d"
dependencies = [
"log",
"serde",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"xml",
]
-[[package]]
-name = "serde_bytes"
-version = "0.11.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8"
-dependencies = [
- "serde",
- "serde_core",
-]
-
[[package]]
name = "serde_core"
version = "1.0.228"
@@ -9092,21 +6732,20 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "serde_json"
-version = "1.0.145"
+version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
+checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
dependencies = [
- "indexmap 2.12.1",
"itoa",
"memchr",
- "ryu",
"serde",
"serde_core",
+ "zmij",
]
[[package]]
@@ -9120,15 +6759,6 @@ dependencies = [
"serde_core",
]
-[[package]]
-name = "serde_spanned"
-version = "0.6.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "serde_spanned"
version = "1.0.4"
@@ -9150,53 +6780,13 @@ dependencies = [
"serde",
]
-[[package]]
-name = "serde_yml"
-version = "0.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59e2dd588bf1597a252c3b920e0143eb99b0f76e4e082f4c92ce34fbc9e71ddd"
-dependencies = [
- "indexmap 2.12.1",
- "itoa",
- "libyml",
- "memchr",
- "ryu",
- "serde",
- "version_check",
-]
-
-[[package]]
-name = "serial_test"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9"
-dependencies = [
- "futures",
- "log",
- "once_cell",
- "parking_lot 0.12.5",
- "scc",
- "serial_test_derive",
-]
-
-[[package]]
-name = "serial_test_derive"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
[[package]]
name = "sha1"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"cpufeatures",
"digest 0.10.7",
]
@@ -9207,21 +6797,30 @@ version = "0.10.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"cpufeatures",
"digest 0.10.7",
]
+[[package]]
+name = "sha2"
+version = "0.11.0-rc.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c5f3b1e2dc8aad28310d8410bd4d7e180eca65fca176c52ab00d364475d0024"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.11.1",
+]
+
[[package]]
name = "sha3"
-version = "0.9.1"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
dependencies = [
- "block-buffer 0.9.0",
- "digest 0.9.0",
+ "digest 0.10.7",
"keccak",
- "opaque-debug",
]
[[package]]
@@ -9249,36 +6848,13 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-[[package]]
-name = "shrinkwraprs"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e63e6744142336dfb606fe2b068afa2e1cca1ee6a5d8377277a92945d81fa331"
-dependencies = [
- "bitflags 1.3.2",
- "itertools 0.8.2",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "signal-hook"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"
-dependencies = [
- "libc",
- "mio 0.7.14",
- "signal-hook-registry",
-]
-
[[package]]
name = "signal-hook-registry"
-version = "1.4.7"
+version = "1.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad"
+checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
dependencies = [
+ "errno",
"libc",
]
@@ -9306,69 +6882,42 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
[[package]]
name = "simple_asn1"
-version = "0.6.3"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb"
+checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d"
dependencies = [
"num-bigint",
"num-traits",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"time",
]
[[package]]
name = "siphasher"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
-dependencies = [
- "serde",
-]
+checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
[[package]]
name = "slab"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
-
-[[package]]
-name = "sled"
-version = "0.34.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
-dependencies = [
- "crc32fast",
- "crossbeam-epoch",
- "crossbeam-utils",
- "fs2",
- "fxhash",
- "libc",
- "log",
- "parking_lot 0.11.2",
-]
-
-[[package]]
-name = "slice-group-by"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
-
-[[package]]
-name = "smallstr"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e922794d168678729ffc7e07182721a14219c65814e66e91b839a272fe5ae4f"
-dependencies = [
- "smallvec 1.15.1",
-]
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]]
-name = "smallvec"
-version = "0.6.14"
+name = "sled"
+version = "0.34.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
dependencies = [
- "maybe-uninit",
+ "crc32fast",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "fs2",
+ "fxhash",
+ "libc",
+ "log",
+ "parking_lot 0.11.2",
]
[[package]]
@@ -9418,21 +6967,21 @@ version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451"
dependencies = [
- "heck 0.4.1",
+ "heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
-name = "socket2"
-version = "0.3.19"
+name = "socket-pktinfo"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+checksum = "927136cc2ae6a1b0e66ac6b1210902b75c3f726db004a73bc18686dcd0dcd22f"
dependencies = [
- "cfg-if 1.0.4",
"libc",
- "winapi",
+ "socket2 0.6.3",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -9447,49 +6996,28 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
-dependencies = [
- "libc",
- "windows-sys 0.60.2",
-]
-
-[[package]]
-name = "sodoken"
-version = "0.0.4"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55a56bf1094466dc909027680d3974e4a73c1fe5aa7fa116a43c71c37decb699"
+checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
dependencies = [
"libc",
- "libsodium-sys-stable",
- "num_cpus",
- "once_cell",
- "one_err",
- "parking_lot 0.11.2",
- "tokio",
+ "windows-sys 0.61.2",
]
[[package]]
name = "spargebra"
-version = "0.3.5"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8907e262be4b4b363218f4688f5654d423a958aa4b8d7c7a7f898be591fa474e"
+checksum = "e9a6bc0ae1da1bf2516fb872d2ad0cf5efa3c7a7dbea58909b39eed321dc5117"
dependencies = [
"oxilangtag",
"oxiri",
"oxrdf",
"peg",
- "rand 0.8.5",
- "thiserror 2.0.17",
+ "rand 0.9.2",
+ "thiserror 2.0.18",
]
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
[[package]]
name = "spin"
version = "0.9.8"
@@ -9527,65 +7055,12 @@ version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766"
-[[package]]
-name = "str_stack"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb"
-
-[[package]]
-name = "stream-cancel"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f9fbf9bd71e4cf18d68a8a0951c0e5b7255920c0cd992c4ff51cddd6ef514a3"
-dependencies = [
- "futures-core",
- "pin-project",
- "tokio",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strsim"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
-
[[package]]
name = "strsim"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-[[package]]
-name = "structopt"
-version = "0.3.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
-dependencies = [
- "clap 2.34.0",
- "lazy_static",
- "structopt-derive",
-]
-
-[[package]]
-name = "structopt-derive"
-version = "0.4.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
-dependencies = [
- "heck 0.3.3",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "strum"
version = "0.24.1"
@@ -9606,11 +7081,11 @@ dependencies = [
[[package]]
name = "strum"
-version = "0.26.3"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
+checksum = "9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd"
dependencies = [
- "strum_macros 0.26.4",
+ "strum_macros 0.28.0",
]
[[package]]
@@ -9636,38 +7111,37 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "strum_macros"
-version = "0.26.4"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
+checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "rustversion",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "stun"
-version = "0.9.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a512c5d501e3e3b5a4bb3e8e31462d56d54a66b95a28b8596e14422bf21c32b"
+checksum = "2e0fd33c04d4617df42c9c84c698511c59f59869629fb7a193067eec41bce347"
dependencies = [
- "base64 0.22.1",
+ "base64",
"crc",
"lazy_static",
"md-5",
"rand 0.9.2",
- "ring 0.17.14",
+ "ring",
"subtle",
"thiserror 1.0.69",
"tokio",
- "url 2.5.7",
+ "url",
"webrtc-util",
]
@@ -9677,7 +7151,7 @@ version = "1.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86"
dependencies = [
- "autocfg 1.5.0",
+ "autocfg",
]
[[package]]
@@ -9705,9 +7179,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.111"
+version = "2.0.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
+checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
dependencies = [
"proc-macro2",
"quote",
@@ -9723,18 +7197,6 @@ dependencies = [
"futures-core",
]
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "unicode-xid",
-]
-
[[package]]
name = "synstructure"
version = "0.13.2"
@@ -9743,7 +7205,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -9752,7 +7214,7 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"byteorder",
"enum-as-inner",
"libc",
@@ -9761,26 +7223,26 @@ dependencies = [
]
[[package]]
-name = "sysinfo"
-version = "0.37.2"
+name = "sysctl"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
+checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc"
dependencies = [
+ "bitflags 2.11.0",
+ "byteorder",
+ "enum-as-inner",
"libc",
- "memchr",
- "ntapi 0.4.1",
- "objc2-core-foundation",
- "objc2-io-kit",
- "windows",
+ "thiserror 1.0.69",
+ "walkdir",
]
[[package]]
name = "system-configuration"
-version = "0.6.1"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
+checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b"
dependencies = [
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"core-foundation 0.9.4",
"system-configuration-sys",
]
@@ -9795,6 +7257,12 @@ dependencies = [
"libc",
]
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
[[package]]
name = "tar"
version = "0.4.44"
@@ -9808,94 +7276,23 @@ dependencies = [
[[package]]
name = "target-lexicon"
-version = "0.12.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
-
-[[package]]
-name = "tempdir"
-version = "0.3.7"
+version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
-dependencies = [
- "rand 0.4.6",
- "remove_dir_all 0.5.3",
-]
+checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
[[package]]
name = "tempfile"
-version = "3.23.0"
+version = "3.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
+checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0"
dependencies = [
"fastrand",
- "getrandom 0.3.4",
+ "getrandom 0.4.2",
"once_cell",
- "rustix 1.1.2",
+ "rustix 1.1.4",
"windows-sys 0.61.2",
]
-[[package]]
-name = "terminfo"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f"
-dependencies = [
- "dirs 4.0.0",
- "fnv",
- "nom",
- "phf",
- "phf_codegen",
-]
-
-[[package]]
-name = "termtree"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
-
-[[package]]
-name = "test-case"
-version = "3.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8"
-dependencies = [
- "test-case-macros",
-]
-
-[[package]]
-name = "test-case-core"
-version = "3.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f"
-dependencies = [
- "cfg-if 1.0.4",
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
-[[package]]
-name = "test-case-macros"
-version = "3.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
- "test-case-core",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width 0.1.14",
-]
-
[[package]]
name = "thiserror"
version = "1.0.69"
@@ -9907,11 +7304,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.17"
+version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
+checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
dependencies = [
- "thiserror-impl 2.0.17",
+ "thiserror-impl 2.0.18",
]
[[package]]
@@ -9922,18 +7319,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
name = "thiserror-impl"
-version = "2.0.17"
+version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
+checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -9942,35 +7339,35 @@ version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
]
[[package]]
name = "time"
-version = "0.3.44"
+version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d"
+checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
dependencies = [
"deranged",
"itoa",
"num-conv",
"powerfmt",
- "serde",
+ "serde_core",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
-version = "0.1.6"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b"
+checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
[[package]]
name = "time-macros"
-version = "0.2.24"
+version = "0.2.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3"
+checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
dependencies = [
"num-conv",
"time-core",
@@ -10023,71 +7420,32 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-[[package]]
-name = "titans_memory"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0305f54897e871182c1cc5c8b52ad9cad46ee30bc8490a8927c90af080204001"
-dependencies = [
- "blake3",
- "chrono",
- "log",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "titans_memory"
-version = "0.2.0"
-dependencies = [
- "blake3",
- "chrono",
- "criterion",
- "log",
- "rusqlite",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "titans_memory"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38c99211aa167be140c940883c120fd68e5eb25ec31c20b2b33c14047c5abf61"
-dependencies = [
- "blake3",
- "chrono",
- "log",
- "serde",
- "serde_json",
-]
-
[[package]]
name = "tokio"
-version = "1.48.0"
+version = "1.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
+checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
dependencies = [
"bytes",
"libc",
- "mio 1.1.1",
+ "mio",
"parking_lot 0.12.5",
"pin-project-lite",
"signal-hook-registry",
- "socket2 0.6.1",
+ "socket2 0.6.3",
"tokio-macros",
"windows-sys 0.61.2",
]
[[package]]
name = "tokio-macros"
-version = "2.6.0"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
+checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -10100,31 +7458,21 @@ dependencies = [
"tokio",
]
-[[package]]
-name = "tokio-rustls"
-version = "0.24.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
-dependencies = [
- "rustls 0.21.12",
- "tokio",
-]
-
[[package]]
name = "tokio-rustls"
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
dependencies = [
- "rustls 0.23.35",
+ "rustls",
"tokio",
]
[[package]]
name = "tokio-stream"
-version = "0.1.17"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
+checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70"
dependencies = [
"futures-core",
"pin-project-lite",
@@ -10134,60 +7482,15 @@ dependencies = [
[[package]]
name = "tokio-test"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
+checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545"
dependencies = [
- "async-stream 0.3.6",
- "bytes",
"futures-core",
"tokio",
"tokio-stream",
]
-[[package]]
-name = "tokio-tungstenite"
-version = "0.20.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
-dependencies = [
- "futures-util",
- "log",
- "rustls 0.21.12",
- "tokio",
- "tokio-rustls 0.24.1",
- "tungstenite 0.20.1",
- "webpki-roots 0.25.4",
-]
-
-[[package]]
-name = "tokio-tungstenite"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
-dependencies = [
- "futures-util",
- "log",
- "tokio",
- "tungstenite 0.21.0",
-]
-
-[[package]]
-name = "tokio-tungstenite"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9"
-dependencies = [
- "futures-util",
- "log",
- "rustls 0.23.35",
- "rustls-pki-types",
- "tokio",
- "tokio-rustls 0.26.4",
- "tungstenite 0.24.0",
- "webpki-roots 0.26.11",
-]
-
[[package]]
name = "tokio-tungstenite"
version = "0.28.0"
@@ -10202,9 +7505,9 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.17"
+version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594"
+checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
dependencies = [
"bytes",
"futures-core",
@@ -10215,45 +7518,18 @@ dependencies = [
]
[[package]]
-name = "toml"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml"
-version = "0.8.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
-dependencies = [
- "serde",
- "serde_spanned 0.6.9",
- "toml_datetime 0.6.11",
- "toml_edit 0.22.27",
-]
-
-[[package]]
-name = "toml"
-version = "0.9.10+spec-1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0825052159284a1a8b4d6c0c86cbc801f2da5afd2b225fa548c72f2e74002f48"
-dependencies = [
- "serde_core",
- "serde_spanned 1.0.4",
- "toml_datetime 0.7.5+spec-1.1.0",
- "toml_writer",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.11"
+name = "toml"
+version = "0.9.12+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
+checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863"
dependencies = [
- "serde",
+ "indexmap",
+ "serde_core",
+ "serde_spanned",
+ "toml_datetime 0.7.5+spec-1.1.0",
+ "toml_parser",
+ "toml_writer",
+ "winnow",
]
[[package]]
@@ -10266,46 +7542,35 @@ dependencies = [
]
[[package]]
-name = "toml_edit"
-version = "0.22.27"
+name = "toml_datetime"
+version = "1.0.0+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
+checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e"
dependencies = [
- "indexmap 2.12.1",
- "serde",
- "serde_spanned 0.6.9",
- "toml_datetime 0.6.11",
- "toml_write",
- "winnow",
+ "serde_core",
]
[[package]]
name = "toml_edit"
-version = "0.23.10+spec-1.0.0"
+version = "0.25.4+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
+checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2"
dependencies = [
- "indexmap 2.12.1",
- "toml_datetime 0.7.5+spec-1.1.0",
+ "indexmap",
+ "toml_datetime 1.0.0+spec-1.1.0",
"toml_parser",
"winnow",
]
[[package]]
name = "toml_parser"
-version = "1.0.6+spec-1.1.0"
+version = "1.0.9+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44"
+checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4"
dependencies = [
"winnow",
]
-[[package]]
-name = "toml_write"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
-
[[package]]
name = "toml_writer"
version = "1.0.6+spec-1.1.0"
@@ -10314,9 +7579,9 @@ checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
[[package]]
name = "tower"
-version = "0.5.2"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
+checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
dependencies = [
"futures-core",
"futures-util",
@@ -10335,19 +7600,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8"
dependencies = [
"async-compression",
- "bitflags 2.10.0",
+ "bitflags 2.11.0",
"bytes",
"futures-core",
"futures-util",
- "http 1.4.0",
- "http-body 1.0.1",
+ "http",
+ "http-body",
"http-body-util",
"http-range-header",
"httpdate",
"iri-string",
"mime",
"mime_guess",
- "percent-encoding 2.3.2",
+ "percent-encoding",
"pin-project-lite",
"tokio",
"tokio-util",
@@ -10389,7 +7654,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -10402,16 +7667,6 @@ dependencies = [
"valuable",
]
-[[package]]
-name = "tracing-futures"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
-dependencies = [
- "pin-project",
- "tracing",
-]
-
[[package]]
name = "tracing-log"
version = "0.2.0"
@@ -10423,26 +7678,6 @@ dependencies = [
"tracing-core",
]
-[[package]]
-name = "tracing-serde"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
-dependencies = [
- "serde",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-serde"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1"
-dependencies = [
- "serde",
- "tracing-core",
-]
-
[[package]]
name = "tracing-subscriber"
version = "0.3.22"
@@ -10453,15 +7688,12 @@ dependencies = [
"nu-ansi-term",
"once_cell",
"regex-automata",
- "serde",
- "serde_json",
"sharded-slab",
- "smallvec 1.15.1",
+ "smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
- "tracing-serde 0.2.0",
]
[[package]]
@@ -10470,45 +7702,6 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
-[[package]]
-name = "tungstenite"
-version = "0.20.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
-dependencies = [
- "byteorder",
- "bytes",
- "data-encoding",
- "http 0.2.12",
- "httparse",
- "log",
- "rand 0.8.5",
- "rustls 0.21.12",
- "sha1",
- "thiserror 1.0.69",
- "url 2.5.7",
- "utf-8",
-]
-
-[[package]]
-name = "tungstenite"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
-dependencies = [
- "byteorder",
- "bytes",
- "data-encoding",
- "http 1.4.0",
- "httparse",
- "log",
- "rand 0.8.5",
- "sha1",
- "thiserror 1.0.69",
- "url 2.5.7",
- "utf-8",
-]
-
[[package]]
name = "tungstenite"
version = "0.23.0"
@@ -10518,30 +7711,10 @@ dependencies = [
"byteorder",
"bytes",
"data-encoding",
- "http 1.4.0",
- "httparse",
- "log",
- "rand 0.8.5",
- "sha1",
- "thiserror 1.0.69",
- "utf-8",
-]
-
-[[package]]
-name = "tungstenite"
-version = "0.24.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a"
-dependencies = [
- "byteorder",
- "bytes",
- "data-encoding",
- "http 1.4.0",
+ "http",
"httparse",
"log",
"rand 0.8.5",
- "rustls 0.23.35",
- "rustls-pki-types",
"sha1",
"thiserror 1.0.69",
"utf-8",
@@ -10555,29 +7728,29 @@ checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442"
dependencies = [
"bytes",
"data-encoding",
- "http 1.4.0",
+ "http",
"httparse",
"log",
"rand 0.9.2",
"sha1",
- "thiserror 2.0.17",
+ "thiserror 2.0.18",
"utf-8",
]
[[package]]
name = "turn"
-version = "0.11.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ed995882f66ab94238de77c62e5e778389698ab700afa4696f4754da8f457cb"
+checksum = "b6a8b8ac3543b2a8eb0b28c7ac3d5f2db6221e057f3b3ae47cf7637b1333a5c3"
dependencies = [
"async-trait",
- "base64 0.22.1",
+ "base64",
"futures",
"log",
"md-5",
"portable-atomic",
"rand 0.9.2",
- "ring 0.17.14",
+ "ring",
"stun",
"thiserror 1.0.69",
"tokio",
@@ -10587,13 +7760,15 @@ dependencies = [
[[package]]
name = "twox-hash"
-version = "1.6.3"
+version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
-dependencies = [
- "cfg-if 0.1.10",
- "static_assertions",
-]
+checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c"
+
+[[package]]
+name = "typed-path"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e"
[[package]]
name = "typenum"
@@ -10618,30 +7793,15 @@ dependencies = [
[[package]]
name = "unicase"
-version = "2.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.18"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
+checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
[[package]]
name = "unicode-ident"
-version = "1.0.22"
+version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8"
-dependencies = [
- "tinyvec",
-]
+checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
name = "unicode-segmentation"
@@ -10649,50 +7809,22 @@ version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
-[[package]]
-name = "unicode-width"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
-
[[package]]
name = "unicode-xid"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
-[[package]]
-name = "universal-hash"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
[[package]]
name = "universal-hash"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
"subtle",
]
-[[package]]
-name = "untrusted"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
-
[[package]]
name = "untrusted"
version = "0.9.0"
@@ -10700,93 +7832,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
-name = "unwrap_to"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cad414b2eed757c1b6f810f8abc814e298a9c89176b21fae092c7a87756fb839"
-
-[[package]]
-name = "ureq"
-version = "2.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d"
-dependencies = [
- "base64 0.22.1",
- "flate2",
- "log",
- "once_cell",
- "rustls 0.23.35",
- "rustls-pki-types",
- "url 2.5.7",
- "webpki-roots 0.26.11",
-]
-
-[[package]]
-name = "ureq"
-version = "3.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a"
-dependencies = [
- "base64 0.22.1",
- "log",
- "percent-encoding 2.3.2",
- "ureq-proto",
- "utf-8",
-]
-
-[[package]]
-name = "ureq-proto"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f"
-dependencies = [
- "base64 0.22.1",
- "http 1.4.0",
- "httparse",
- "log",
-]
-
-[[package]]
-name = "url"
-version = "1.7.2"
+name = "unty"
+version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
+checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae"
[[package]]
name = "url"
-version = "2.5.7"
+version = "2.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
+checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
dependencies = [
"form_urlencoded",
- "idna 1.1.0",
- "percent-encoding 2.3.2",
- "serde",
-]
-
-[[package]]
-name = "url2"
-version = "0.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89cd13f1de9862d363308f5ffdadcd2b64b2a4a812fb296a80b7d3e80011b1e"
-dependencies = [
- "serde",
- "url 2.5.7",
-]
-
-[[package]]
-name = "url_serde"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
-dependencies = [
+ "idna",
+ "percent-encoding",
"serde",
- "url 1.7.2",
]
[[package]]
@@ -10795,6 +7855,12 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+[[package]]
+name = "utf8-width"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091"
+
[[package]]
name = "utf8_iter"
version = "1.0.4"
@@ -10809,41 +7875,29 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
-version = "1.19.0"
+version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
+checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37"
dependencies = [
- "getrandom 0.3.4",
+ "getrandom 0.4.2",
"js-sys",
"serde_core",
- "uuid-macro-internal",
"wasm-bindgen",
]
-[[package]]
-name = "uuid-macro-internal"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39d11901c36b3650df7acb0f9ebe624f35b5ac4e1922ecd3c57f444648429594"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.111",
-]
-
[[package]]
name = "validator"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43fb22e1a008ece370ce08a3e9e4447a910e92621bb49b85d6e48a45397e7cfa"
dependencies = [
- "idna 1.1.0",
+ "idna",
"once_cell",
"regex",
"serde",
"serde_derive",
"serde_json",
- "url 2.5.7",
+ "url",
"validator_derive",
]
@@ -10858,7 +7912,16 @@ dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
+]
+
+[[package]]
+name = "validit"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4efba0434d5a0a62d4f22070b44ce055dc18cb64d4fa98276aa523dadfaba0e7"
+dependencies = [
+ "anyerror",
]
[[package]]
@@ -10879,12 +7942,6 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
[[package]]
name = "version_check"
version = "0.9.5"
@@ -10892,82 +7949,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
-name = "void"
-version = "1.0.2"
+name = "virtue"
+version = "0.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1"
[[package]]
-name = "wait-timeout"
-version = "0.2.1"
+name = "void"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11"
-dependencies = [
- "libc",
-]
+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
[[package]]
name = "waitgroup"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292"
-dependencies = [
- "atomic-waker",
-]
-
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "want"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
-dependencies = [
- "try-lock",
-]
-
-[[package]]
-name = "warp"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "headers",
- "http 0.2.12",
- "hyper 0.14.32",
- "log",
- "mime",
- "mime_guess",
- "multer 2.1.0",
- "percent-encoding 2.3.2",
- "pin-project",
- "scoped-tls",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio",
- "tokio-tungstenite 0.21.0",
- "tokio-util",
- "tower-service",
- "tracing",
+checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292"
+dependencies = [
+ "atomic-waker",
]
[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "try-lock",
+]
[[package]]
name = "wasi"
@@ -10977,20 +7996,29 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasip2"
-version = "1.0.1+wasi-0.2.4"
+version = "1.0.2+wasi-0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
+dependencies = [
+ "wit-bindgen",
+]
+
+[[package]]
+name = "wasip3"
+version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
+checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
dependencies = [
"wit-bindgen",
]
[[package]]
name = "wasm-bindgen"
-version = "0.2.106"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
+checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
@@ -10999,11 +8027,12 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.56"
+version = "0.4.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c"
+checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8"
dependencies = [
- "cfg-if 1.0.4",
+ "cfg-if",
+ "futures-util",
"js-sys",
"once_cell",
"wasm-bindgen",
@@ -11012,9 +8041,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.106"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
+checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -11022,48 +8051,60 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.106"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
+checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
dependencies = [
"bumpalo",
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.106"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
+checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16"
dependencies = [
"unicode-ident",
]
[[package]]
name = "wasm-encoder"
-version = "0.243.0"
+version = "0.244.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c55db9c896d70bd9fa535ce83cd4e1f2ec3726b0edd2142079f594fc3be1cb35"
+checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
dependencies = [
"leb128fmt",
- "wasmparser 0.243.0",
+ "wasmparser",
+]
+
+[[package]]
+name = "wasm-metadata"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
+dependencies = [
+ "anyhow",
+ "indexmap",
+ "wasm-encoder",
+ "wasmparser",
]
[[package]]
name = "wasmer"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b8204e4eb959d89b41d4a536e61ce73f5416bccc81c7d3b7fa993995538ee97"
+checksum = "b76134972161fb9ae6d956d3e79177a51c6c968d4f95fdba060a95897b2fe81c"
dependencies = [
- "bindgen 0.70.1",
+ "bindgen 0.72.1",
"bytes",
- "cfg-if 1.0.4",
+ "cfg-if",
"cmake",
- "derive_more 1.0.0",
- "indexmap 2.12.1",
+ "derive_more",
+ "indexmap",
"js-sys",
"more-asserts",
"paste",
@@ -11073,65 +8114,67 @@ dependencies = [
"shared-buffer",
"tar",
"target-lexicon",
- "thiserror 1.0.69",
+ "thiserror 2.0.18",
"tracing",
- "ureq 2.12.1",
"wasm-bindgen",
"wasmer-compiler",
"wasmer-compiler-cranelift",
"wasmer-derive",
"wasmer-types",
"wasmer-vm",
- "wasmparser 0.224.1",
- "wat",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "wasmer-compiler"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "690827b8ec4f3858d8b001d96ddfc25c28a255cbfa984ba5bd1ed173f29ffc2a"
+checksum = "c21c166e89212d5bc31d08dffdb189fe689f4ca58756ccd924f9fc3ec2ee89da"
dependencies = [
"backtrace",
"bytes",
- "cfg-if 1.0.4",
+ "cfg-if",
"enum-iterator",
"enumset",
+ "itertools 0.14.0",
"leb128",
"libc",
"macho-unwind-info",
- "memmap2 0.6.2",
+ "memmap2 0.9.10",
"more-asserts",
- "object 0.32.2",
+ "object 0.38.1",
+ "rangemap",
"region",
- "rkyv",
+ "rkyv 0.8.15",
"self_cell",
"shared-buffer",
- "smallvec 1.15.1",
+ "smallvec",
"target-lexicon",
- "thiserror 1.0.69",
+ "tempfile",
+ "thiserror 2.0.18",
"wasmer-types",
"wasmer-vm",
- "wasmparser 0.224.1",
- "windows-sys 0.59.0",
- "xxhash-rust",
+ "wasmparser",
+ "which 8.0.2",
+ "windows-sys 0.61.2",
]
[[package]]
name = "wasmer-compiler-cranelift"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a46a83b498a2f0dcdc2e97d611db9eae92a38f20fc5dac4709d645bdfd8d2d6"
+checksum = "2a3174d3c78dd581d590860195420305581e2708cb1082ce8bea05cf6ed0e432"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
"cranelift-frontend",
- "gimli 0.28.1",
- "itertools 0.12.1",
+ "gimli",
+ "indexmap",
+ "itertools 0.14.0",
+ "leb128",
"more-asserts",
"rayon",
- "smallvec 1.15.1",
+ "smallvec",
"target-lexicon",
"tracing",
"wasmer-compiler",
@@ -11140,121 +8183,91 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccaedaf20c22736904ad842127cdbe46432998dbcdd840b024dda856a8b52265"
+checksum = "20424fca4c6a757d7115a39ad5c6a5d369f5f864a5c64263d6de14b40f060cc8"
dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "wasmer-middlewares"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dbba8c5d347898b8c5a7181da66fd95f62ee56c26fc8d9a40875fb4c0b8c39b"
-dependencies = [
- "wasmer",
- "wasmer-types",
- "wasmer-vm",
+ "syn 2.0.117",
]
[[package]]
name = "wasmer-types"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b45fd1274b21365d3232732afe53c220ecbcdb78946405087e7016e7b2369a0"
+checksum = "9a7f91b0cb63705afa0843b46a0aeaeaedff7be2e5b05691176e9e58e2dbe921"
dependencies = [
- "bytecheck 0.6.12",
+ "bytecheck 0.8.2",
"enum-iterator",
"enumset",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"hex",
- "indexmap 2.12.1",
+ "indexmap",
"more-asserts",
- "rkyv",
- "sha2",
+ "rkyv 0.8.15",
+ "sha2 0.11.0-rc.5",
"target-lexicon",
- "thiserror 1.0.69",
- "xxhash-rust",
+ "thiserror 2.0.18",
]
[[package]]
name = "wasmer-vm"
-version = "6.0.0"
+version = "7.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac4e7cec7b509e70664773f03907e6122d1633c100cb28009da770786806e6db"
+checksum = "12da92bb2c2abd09628d28d112970880a9e671b7ccb55172e5f6db01b5d6add4"
dependencies = [
"backtrace",
"cc",
- "cfg-if 1.0.4",
+ "cfg-if",
"corosensei",
"crossbeam-queue",
"dashmap 6.1.0",
"enum-iterator",
"fnv",
- "indexmap 2.12.1",
+ "gimli",
+ "indexmap",
"libc",
"libunwind",
- "mach2",
+ "mach2 0.6.0",
"memoffset 0.9.1",
"more-asserts",
+ "parking_lot 0.12.5",
"region",
+ "rustversion",
"scopeguard",
- "thiserror 1.0.69",
+ "thiserror 2.0.18",
"wasmer-types",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "wasmparser"
-version = "0.224.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04f17a5917c2ddd3819e84c661fae0d6ba29d7b9c1f0e96c708c65a9c4188e11"
-dependencies = [
- "bitflags 2.10.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "wasmparser"
-version = "0.243.0"
+version = "0.244.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6d8db401b0528ec316dfbe579e6ab4152d61739cfe076706d2009127970159d"
+checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
dependencies = [
- "bitflags 2.10.0",
- "indexmap 2.12.1",
+ "bitflags 2.11.0",
+ "hashbrown 0.15.5",
+ "indexmap",
"semver",
]
[[package]]
-name = "wast"
-version = "243.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df21d01c2d91e46cb7a221d79e58a2d210ea02020d57c092e79255cc2999ca7f"
-dependencies = [
- "bumpalo",
- "leb128fmt",
- "memchr",
- "unicode-width 0.2.2",
- "wasm-encoder",
-]
-
-[[package]]
-name = "wat"
-version = "1.243.0"
+name = "wasmtime-internal-math"
+version = "41.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "226a9a91cd80a50449312fef0c75c23478fcecfcc4092bdebe1dc8e760ef521b"
+checksum = "d61fe7cfca53d0ce01dc480ce1db93ad48b6fa1f354d8ff0680ac6a76ef354a3"
dependencies = [
- "wast",
+ "libm",
]
[[package]]
name = "web-sys"
-version = "0.3.83"
+version = "0.3.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac"
+checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -11272,42 +8285,27 @@ dependencies = [
[[package]]
name = "webpki-root-certs"
-version = "1.0.4"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee3e3b5f5e80bc89f30ce8d0343bf4e5f12341c51f3e26cbeecbc7c85443e85b"
+checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webpki-roots"
-version = "0.25.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
-
-[[package]]
-name = "webpki-roots"
-version = "0.26.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
-dependencies = [
- "webpki-roots 1.0.4",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "1.0.4"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e"
+checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webrtc"
-version = "0.14.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08fd686c0920ac08f3a57eacc48e31f0e4ca1ffefba4478784606f78c14e83ad"
+checksum = "8ba06986c4fcfbbb4b490abe4b88887b0ac9de0d3eb0aae36f3254e38d6ecdd1"
dependencies = [
"arc-swap",
"async-trait",
@@ -11319,22 +8317,22 @@ dependencies = [
"log",
"portable-atomic",
"rand 0.9.2",
- "rcgen 0.13.2",
+ "rcgen",
"regex",
- "ring 0.17.14",
+ "ring",
"rtcp",
"rtp",
"sdp",
"serde",
"serde_json",
- "sha2",
+ "sha2 0.10.9",
"smol_str",
"stun",
"thiserror 1.0.69",
"tokio",
"turn",
"unicase",
- "url 2.5.7",
+ "url",
"waitgroup",
"webrtc-data",
"webrtc-ice",
@@ -11347,9 +8345,9 @@ dependencies = [
[[package]]
name = "webrtc-data"
-version = "0.12.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "062a5438d63bb0756a221693d76cc0dd6119affee1dfdfe57abe3a2a8c8b3eea"
+checksum = "a7ca42127ee64bcb71da36d151e6f87b12488c5f14c4f379e73d2d52a8e54aa0"
dependencies = [
"bytes",
"log",
@@ -11362,9 +8360,9 @@ dependencies = [
[[package]]
name = "webrtc-ice"
-version = "0.14.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cb13fd1a373e68addc4bba0c8ca058627518e54342583d024bdcbb8ae5d97d"
+checksum = "23ede72a36e5dda685814c389b2b34ac60b3ed000a81789e93626e27180eb785"
dependencies = [
"arc-swap",
"async-trait",
@@ -11378,7 +8376,7 @@ dependencies = [
"thiserror 1.0.69",
"tokio",
"turn",
- "url 2.5.7",
+ "url",
"uuid",
"waitgroup",
"webrtc-mdns",
@@ -11387,9 +8385,9 @@ dependencies = [
[[package]]
name = "webrtc-mdns"
-version = "0.10.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17279a067e75df72ce923fdeb7f04cd808f6f5aa4910dc6bcb4fbe66b396ace"
+checksum = "1b62bc8d3fb5024bc6ffde5f4aad2127ce17f8359dbc6f70208a324a12e44677"
dependencies = [
"log",
"socket2 0.5.10",
@@ -11400,9 +8398,9 @@ dependencies = [
[[package]]
name = "webrtc-media"
-version = "0.11.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94a84c910fec0848fd5a0d8a5651e0ddbdedaf25a7d3ae3f0b15f71ac73a1773"
+checksum = "a9a28290bd0cdda196f8bf5c6f7dddaef18cc913ee0702cd1ea237bad203e337"
dependencies = [
"byteorder",
"bytes",
@@ -11413,9 +8411,9 @@ dependencies = [
[[package]]
name = "webrtc-sctp"
-version = "0.13.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f985465467d8910c1f8ac4382cd64f83b1f6a1a75021a82b221546f6fb3b856f"
+checksum = "2ea6633bf951b3fd71eba3244731c8d0814f6a80300620a4370cad2983a5a42f"
dependencies = [
"arc-swap",
"async-trait",
@@ -11431,11 +8429,11 @@ dependencies = [
[[package]]
name = "webrtc-srtp"
-version = "0.16.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d8cdc33413f1d0192670a80ce93d17cb78d57fe3a2414be30d6f6dff121123"
+checksum = "9e437f74b04f42049192e25cbb33c21c86be308875e6afe14cf8e28d1ffa35ac"
dependencies = [
- "aead 0.5.2",
+ "aead",
"aes",
"aes-gcm",
"byteorder",
@@ -11454,9 +8452,9 @@ dependencies = [
[[package]]
name = "webrtc-util"
-version = "0.12.0"
+version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1c0c7e0c8f280f2bbfae442701465777ac07adaf46ce0c5863cd58e13fe472a"
+checksum = "b65c1e0143a43d40f69e1d8c2ffc8734e379b49c06d45892ea4104c388bf9ead"
dependencies = [
"async-trait",
"bitflags 1.3.2",
@@ -11484,6 +8482,15 @@ dependencies = [
"rustix 0.38.44",
]
+[[package]]
+name = "which"
+version = "8.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459"
+dependencies = [
+ "libc",
+]
+
[[package]]
name = "winapi"
version = "0.3.9"
@@ -11582,7 +8589,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -11593,7 +8600,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -11674,15 +8681,6 @@ dependencies = [
"windows-targets 0.42.2",
]
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
[[package]]
name = "windows-sys"
version = "0.52.0"
@@ -11734,21 +8732,6 @@ dependencies = [
"windows_x86_64_msvc 0.42.2",
]
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
[[package]]
name = "windows-targets"
version = "0.52.6"
@@ -11797,12 +8780,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
@@ -11821,12 +8798,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
@@ -11845,12 +8816,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
@@ -11881,12 +8846,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
@@ -11905,12 +8864,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
@@ -11929,12 +8882,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
@@ -11953,12 +8900,6 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
@@ -11973,18 +8914,100 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winnow"
-version = "0.7.14"
+version = "0.7.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
+checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
dependencies = [
"memchr",
]
[[package]]
name = "wit-bindgen"
-version = "0.46.0"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
+dependencies = [
+ "wit-bindgen-rust-macro",
+]
+
+[[package]]
+name = "wit-bindgen-core"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
+dependencies = [
+ "anyhow",
+ "heck 0.5.0",
+ "wit-parser",
+]
+
+[[package]]
+name = "wit-bindgen-rust"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
+dependencies = [
+ "anyhow",
+ "heck 0.5.0",
+ "indexmap",
+ "prettyplease",
+ "syn 2.0.117",
+ "wasm-metadata",
+ "wit-bindgen-core",
+ "wit-component",
+]
+
+[[package]]
+name = "wit-bindgen-rust-macro"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
+dependencies = [
+ "anyhow",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.117",
+ "wit-bindgen-core",
+ "wit-bindgen-rust",
+]
+
+[[package]]
+name = "wit-component"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
+dependencies = [
+ "anyhow",
+ "bitflags 2.11.0",
+ "indexmap",
+ "log",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "wasm-encoder",
+ "wasm-metadata",
+ "wasmparser",
+ "wit-parser",
+]
+
+[[package]]
+name = "wit-parser"
+version = "0.244.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
+checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
+dependencies = [
+ "anyhow",
+ "id-arena",
+ "indexmap",
+ "log",
+ "semver",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "unicode-xid",
+ "wasmparser",
+]
[[package]]
name = "writeable"
@@ -11993,14 +9016,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
[[package]]
-name = "x25519-dalek"
-version = "1.1.1"
+name = "wyz"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
dependencies = [
- "curve25519-dalek 3.2.0",
- "rand_core 0.5.1",
- "zeroize",
+ "tap",
]
[[package]]
@@ -12009,7 +9030,7 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
dependencies = [
- "curve25519-dalek 4.1.3",
+ "curve25519-dalek",
"rand_core 0.6.4",
"serde",
"zeroize",
@@ -12027,7 +9048,7 @@ dependencies = [
"lazy_static",
"nom",
"oid-registry",
- "ring 0.17.14",
+ "ring",
"rusticata-macros",
"thiserror 1.0.69",
"time",
@@ -12040,43 +9061,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156"
dependencies = [
"libc",
- "rustix 1.1.2",
+ "rustix 1.1.4",
]
[[package]]
name = "xml"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2df5825faced2427b2da74d9100f1e2e93c533fff063506a81ede1cf517b2e7e"
-
-[[package]]
-name = "xsalsa20poly1305"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0304c336e98d753428f7b3d8899d60b8a87a961ef50bdfc44af0c1bea2651ce5"
-dependencies = [
- "aead 0.3.2",
- "poly1305 0.6.2",
- "rand_core 0.5.1",
- "salsa20 0.7.2",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "xxhash-rust"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3"
-
-[[package]]
-name = "yasna"
-version = "0.4.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75"
-dependencies = [
- "chrono",
-]
+checksum = "b8aa498d22c9bbaf482329839bc5620c46be275a19a812e9a22a2b07529a642a"
[[package]]
name = "yasna"
@@ -12118,8 +9110,8 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
- "synstructure 0.13.2",
+ "syn 2.0.117",
+ "synstructure",
]
[[package]]
@@ -12130,28 +9122,28 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
- "synstructure 0.13.2",
+ "syn 2.0.117",
+ "synstructure",
]
[[package]]
name = "zerocopy"
-version = "0.8.31"
+version = "0.8.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3"
+checksum = "96e13bc581734df6250836c59a5f44f3c57db9f9acb9dc8e3eaabdaf6170254d"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.31"
+version = "0.8.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
+checksum = "3545ea9e86d12ab9bba9fcd99b54c1556fd3199007def5a03c375623d05fac1c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -12171,8 +9163,8 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
- "synstructure 0.13.2",
+ "syn 2.0.117",
+ "synstructure",
]
[[package]]
@@ -12186,13 +9178,13 @@ dependencies = [
[[package]]
name = "zeroize_derive"
-version = "1.4.2"
+version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -12225,7 +9217,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.111",
+ "syn 2.0.117",
]
[[package]]
@@ -12241,35 +9233,21 @@ dependencies = [
[[package]]
name = "zip"
-version = "6.0.0"
+version = "7.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb2a05c7c36fde6c09b08576c9f7fb4cda705990f73b58fe011abf7dfb24168b"
+checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0"
dependencies = [
- "arbitrary",
"crc32fast",
- "flate2",
- "indexmap 2.12.1",
+ "indexmap",
"memchr",
- "zopfli",
+ "typed-path",
]
[[package]]
-name = "zlib-rs"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51f936044d677be1a1168fae1d03b583a285a5dd9d8cbf7b24c23aa1fc775235"
-
-[[package]]
-name = "zopfli"
-version = "0.8.3"
+name = "zmij"
+version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
-dependencies = [
- "bumpalo",
- "crc32fast",
- "log",
- "simd-adler32",
-]
+checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
[[package]]
name = "zstd-sys"
@@ -12277,7 +9255,6 @@ version = "2.0.16+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748"
dependencies = [
- "bindgen 0.72.1",
"cc",
"pkg-config",
]
diff --git a/Cargo.toml b/Cargo.toml
index 766b4ff2..672ec8e7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,45 +1,38 @@
[workspace]
resolver = "2"
members = [
+ # ── Product crates ──────────────────────────────────────────────
+ "crates/aingle_graph", # Native Semantic GraphDB
+ "crates/aingle_zk", # Zero-Knowledge Proofs (Privacy)
+ "crates/ineru", # Ineru Memory System
+ "crates/aingle_ai", # AI Integration Layer
+ "crates/aingle_logic", # Proof-of-Logic Validation Engine
+ "crates/kaneru", # Kaneru — Unified Multi-Agent Execution System
+ "crates/aingle_cortex", # Córtex API (REST/GraphQL/SPARQL)
+ "crates/aingle_minimal", # IoT-optimized minimal node
+ "crates/aingle_contracts", # Smart Contracts (DSL + WASM Runtime)
+ "crates/aingle_viz", # DAG Visualization Server
+ "crates/aingle_wal", # Write-Ahead Log (clustering)
+ "crates/aingle_raft", # Raft consensus (clustering)
+
+ # ── Examples ────────────────────────────────────────────────────
+ "examples/iot_sensor_network",
+ "examples/ai_autonomous_agent",
+ "examples/dag_visualization",
+ "examples/semantic_queries",
+]
+
+exclude = [
+ # Legacy Holochain-derived crates (not part of the product build)
"crates/ai_fixt",
"crates/ai_fixt/test",
"crates/adk",
"crates/adk_derive",
"crates/ai_hash",
"crates/mr_bundle",
-
"crates/ai",
"crates/ai_bundle",
"crates/ai_sandbox",
-
- # IoT-optimized minimal node
- "crates/aingle_minimal",
-
- # AI Integration Layer (Titans Memory, Nested Learning, HOPE Agents)
- "crates/aingle_ai",
-
- # DAG Visualization Server
- "crates/aingle_viz",
-
- # Native Semantic GraphDB
- "crates/aingle_graph",
-
- # Proof-of-Logic Validation Engine
- "crates/aingle_logic",
-
- # Córtex API (REST/GraphQL/SPARQL)
- "crates/aingle_cortex",
-
- # Zero-Knowledge Proofs (Privacy)
- "crates/aingle_zk",
-
- # Smart Contracts (DSL + WASM Runtime)
- "crates/aingle_contracts",
-
- # AI Memory Systems
- "crates/titans_memory",
- "crates/hope_agents",
-
"crates/aingle",
"crates/aingle_cascade",
"crates/aingle_conductor_api",
@@ -47,12 +40,10 @@ members = [
"crates/aingle_keystore",
"crates/aingle_sqlite",
"crates/aingle_state",
- "crates/aingle_sqlite",
"crates/aingle_types",
"crates/aingle_websocket",
"crates/aingle_util",
"crates/aingle_zome_types",
-
"crates/kitsune_p2p/bootstrap",
"crates/kitsune_p2p/direct",
"crates/kitsune_p2p/direct_api",
@@ -62,18 +53,8 @@ members = [
"crates/kitsune_p2p/proxy",
"crates/kitsune_p2p/transport_quic",
"crates/kitsune_p2p/types",
-
"crates/test_utils/wasm",
"crates/test_utils/wasm_common",
-
- # Examples
- "examples/iot_sensor_network",
- "examples/ai_autonomous_agent",
- "examples/dag_visualization",
- "examples/semantic_queries",
-]
-
-exclude = [
"crates/diagnostics",
"examples/semantic_compliance",
"examples/deep_context",
@@ -90,10 +71,6 @@ incremental = false
codegen-units = 16
# Workspace-wide lints configuration
-[workspace.lints.rust]
-# Allow ghost_actor's test_utils cfg
-unexpected_cfgs = { level = "warn", check-cfg = ['cfg(feature, values("test_utils"))'] }
-
[workspace.lints.rustdoc]
bare_urls = "allow"
invalid_html_tags = "allow"
@@ -104,13 +81,3 @@ redundant_explicit_links = "allow"
# Workspace dependencies - ensure rustls uses ring crypto provider
[workspace.dependencies]
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] }
-
-[patch.crates-io]
-# Using Git refs until new versions are published with flexible serde version
-# Published v0.0.1 has serde = "=1.0.123" which conflicts with other deps
-aingle_wasmer_common = { git = "https://github.com/ApiliumCode/aingle-wasmer.git", branch = "main" }
-aingle_wasmer_guest = { git = "https://github.com/ApiliumCode/aingle-wasmer.git", branch = "main" }
-aingle_wasmer_host = { git = "https://github.com/ApiliumCode/aingle-wasmer.git", branch = "main" }
-# Local path overrides for renamed crates
-ai_fixt = { path = "crates/ai_fixt" }
-ai_hash = { path = "crates/ai_hash" }
diff --git a/LICENSE b/LICENSE
index 931aba35..41762893 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,190 +1,56 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to the Licensor for inclusion in the Work by the copyright
- owner or by an individual or Legal Entity authorized to submit on behalf
- of the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- Copyright 2019-2025 Apilium Technologies
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+AIngle — Dual License
+
+Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+
+AIngle is available under a dual license model:
+
+1. APACHE LICENSE 2.0 (Non-Commercial Use)
+
+ You may use, modify, and distribute AIngle under the Apache License,
+ Version 2.0 for non-commercial purposes. This includes:
+
+ - Personal projects and experiments
+ - Academic research and education
+ - Evaluation and prototyping
+ - Use by organizations with annual gross revenue below USD $1,000,000
+
+ See LICENSE-APACHE for the full Apache 2.0 license text.
+
+2. COMMERCIAL LICENSE (Commercial Use)
+
+ A separate commercial license is REQUIRED if:
+
+ - You integrate AIngle into a product or service that is sold or
+ commercially distributed
+ - You offer AIngle (or a modified version) as a hosted service
+ (SaaS, PaaS, or similar)
+ - Your organization's annual gross revenue exceeds USD $1,000,000
+
+ See LICENSE-COMMERCIAL for terms and contact information.
+
+For commercial licensing inquiries:
+
+ Email: partners@apilium.com
+ Web: https://apilium.com/en/contact
+
+================================================================================
+
+TRADEMARKS
+
+"AIngle", "AIngle Cortex", "Ineru", and "Kaneru" are trademarks
+of Apilium Technologies OÜ. See NOTICE for trademark policy.
+
+PATENTS
+
+See the PATENTS file for protected technologies and innovations.
+
+SECURITY
+
+See SECURITY.md for vulnerability reporting.
+
+================================================================================
+
+Apilium Technologies OÜ
+Registration Number: 17409213
+Tallinn, Estonia
+https://apilium.com
diff --git a/LICENSE-APACHE b/LICENSE-APACHE
new file mode 100644
index 00000000..8f40ee41
--- /dev/null
+++ b/LICENSE-APACHE
@@ -0,0 +1,190 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to the Licensor for inclusion in the Work by the copyright
+ owner or by an individual or Legal Entity authorized to submit on behalf
+ of the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ Copyright 2019-2026 Apilium Technologies
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/LICENSE-COMMERCIAL b/LICENSE-COMMERCIAL
new file mode 100644
index 00000000..a6b71a4e
--- /dev/null
+++ b/LICENSE-COMMERCIAL
@@ -0,0 +1,141 @@
+AINGLE COMMERCIAL LICENSE AGREEMENT
+Version 1.0, March 2026
+
+Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+
+================================================================================
+
+IMPORTANT: READ CAREFULLY BEFORE USING THIS SOFTWARE UNDER COMMERCIAL TERMS.
+
+This Commercial License Agreement ("Agreement") is between Apilium Technologies
+OÜ, a company registered in Tallinn, Estonia ("Licensor"), and the entity or
+individual obtaining a commercial license ("Licensee").
+
+================================================================================
+
+1. DEFINITIONS
+
+"Software" means the AIngle source code, binaries, documentation, and any
+associated materials available at https://github.com/ApiliumCode/aingle.
+
+"Commercial Use" means any use of the Software that meets one or more of the
+following criteria:
+ (a) Integration, embedding, or bundling of the Software (in whole or in part)
+ into a product or service that is sold, licensed, or otherwise
+ commercially distributed;
+ (b) Offering the Software, or a modified version thereof, as a hosted or
+ managed service (SaaS, PaaS, or similar) to third parties;
+ (c) Use of the Software by an organization with annual gross revenue
+ exceeding one million United States dollars (USD $1,000,000).
+
+"Non-Commercial Use" means any use that does not constitute Commercial Use,
+including personal projects, academic research, education, evaluation, and
+use by organizations with annual gross revenue below USD $1,000,000.
+
+2. DUAL LICENSING
+
+The Software is available under two licenses:
+
+ (a) Apache License, Version 2.0 ("Apache-2.0") — for Non-Commercial Use.
+ The full text is available in the file LICENSE-APACHE.
+
+ (b) This Commercial License — for Commercial Use. A separate commercial
+ license must be obtained from the Licensor before any Commercial Use.
+
+If your use qualifies as Non-Commercial Use, you may use the Software under
+the terms of Apache-2.0 without obtaining a commercial license.
+
+If your use qualifies as Commercial Use, you MUST obtain a commercial license
+from the Licensor. Using the Software for Commercial Use without a valid
+commercial license is a violation of the Licensor's intellectual property rights.
+
+3. COMMERCIAL LICENSE GRANT
+
+Upon execution of a Commercial License Agreement and payment of applicable
+fees, the Licensor grants the Licensee a non-exclusive, non-transferable,
+worldwide license to:
+
+ (a) Use, modify, and create derivative works of the Software;
+ (b) Integrate the Software into Licensee's commercial products and services;
+ (c) Distribute the Software as part of Licensee's commercial offerings;
+ (d) Use the Software internally without limitation.
+
+The specific terms, scope, duration, and fees of each commercial license are
+negotiated individually and documented in a separate Order Form or Statement
+of Work.
+
+4. RESTRICTIONS
+
+Under this Commercial License, the Licensee may NOT:
+
+ (a) Sublicense or resell the Software as a standalone product;
+ (b) Remove or alter copyright notices, trademark notices, or attribution
+ from the Software;
+ (c) Use the trademarks "AIngle", "AIngle Cortex", "Ineru",
+ or "Kaneru" except as permitted in writing by the Licensor;
+ (d) Represent that the Licensee's product IS AIngle or is endorsed by
+ Apilium Technologies;
+ (e) Use the Software to create a product that directly competes with the
+ Software itself (i.e., a semantic DAG database or knowledge graph
+ engine offered as a standalone product).
+
+5. INTELLECTUAL PROPERTY
+
+All intellectual property rights in the Software, including patents, copyrights,
+trademarks, and trade secrets, remain with the Licensor. This Agreement does
+not transfer any ownership rights to the Licensee.
+
+The protected technologies described in the PATENTS file are the proprietary
+innovations of the Licensor. The commercial license grants usage rights only;
+it does not grant patent rights beyond those necessary to use the Software as
+licensed.
+
+6. SUPPORT AND MAINTENANCE
+
+Commercial license holders are entitled to:
+
+ (a) Priority bug fixes and security patches;
+ (b) Direct communication with the engineering team;
+ (c) Service Level Agreements (SLAs) as negotiated in the Order Form;
+ (d) Early access to new releases and features.
+
+7. WARRANTY AND LIABILITY
+
+THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE LICENSOR
+SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR
+PUNITIVE DAMAGES ARISING FROM THE USE OF THE SOFTWARE.
+
+The Licensor's total liability under this Agreement shall not exceed the total
+fees paid by the Licensee in the twelve (12) months preceding the claim.
+
+8. TERM AND TERMINATION
+
+ (a) This Agreement is effective upon execution and continues for the term
+ specified in the Order Form.
+ (b) Either party may terminate this Agreement for material breach with
+ thirty (30) days written notice.
+ (c) Upon termination, the Licensee must cease all Commercial Use of the
+ Software within sixty (60) days.
+ (d) Sections 4, 5, 7, and 9 survive termination.
+
+9. GOVERNING LAW
+
+This Agreement is governed by the laws of the Republic of Estonia, without
+regard to conflict of law principles. Any disputes shall be resolved in the
+courts of Tallinn, Estonia, or by arbitration under the rules of the Estonian
+Chamber of Commerce and Industry.
+
+10. HOW TO OBTAIN A COMMERCIAL LICENSE
+
+Contact Apilium Technologies OÜ:
+
+ Email: partners@apilium.com
+ Web: https://apilium.com/en/contact
+ Legal: legal@apilium.com
+
+================================================================================
+
+Apilium Technologies OÜ
+Registration Number: 17409213
+Tallinn, Estonia
+https://apilium.com
diff --git a/NOTICE b/NOTICE
index 07568bec..ea80c0d0 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,7 +1,71 @@
-AIngle
-Copyright 2019-2025 Apilium Technologies
+AIngle (TM)
+Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
This product includes software developed at
Apilium Technologies (https://apilium.com/).
Licensed under the Apache License, Version 2.0.
+
+================================================================================
+TRADEMARKS
+================================================================================
+
+"AIngle", "AIngle Cortex", "Ineru", "Kaneru", and the AIngle logo
+are trademarks of Apilium Technologies OÜ. These trademarks may not be used
+in connection with any product or service that is not provided by Apilium
+Technologies, in any manner that is likely to cause confusion, or in any
+manner that disparages or discredits Apilium Technologies.
+
+Use of these trademarks to describe the origin of this software, as required
+by the Apache License, is permitted. Any other use requires prior written
+permission from Apilium Technologies OÜ.
+
+================================================================================
+PROPRIETARY TECHNOLOGIES
+================================================================================
+
+The following technologies, architectures, and methodologies embodied in this
+software are original works of Apilium Technologies OÜ and are protected under
+applicable copyright and intellectual property laws:
+
+ - Semantic DAG Architecture: Content-addressed directed acyclic graph with
+ integrated RDF triple store and provenance tracking
+
+ - AIngle Cortex: Cryptographic semantic layer combining knowledge graphs,
+ reasoning engines, and zero-knowledge proof systems
+
+ - Kaneru: Unified Multi-Agent Execution System for autonomous
+ goal decomposition and multi-step reasoning
+
+ - Ineru: Neural-inspired persistence system with attention-weighted
+ short-term memory and semantic long-term consolidation
+
+ - Proof-of-Logic Engine: Forward and backward chaining inference engine
+ with ontological consistency validation
+
+ - Zero-Knowledge Integration: Pedersen commitments, Schnorr signatures,
+ and Bulletproofs range proofs for verifiable computation
+
+ - Nested Learning: Meta-optimization framework for adaptive model behavior
+
+ - AIngle Minimal: Lightweight edge runtime for IoT and embedded devices
+
+While the source code is licensed under Apache License 2.0, the architectural
+designs, algorithms, and integration patterns constitute trade secrets and
+proprietary know-how of Apilium Technologies OÜ.
+
+================================================================================
+CONTACT
+================================================================================
+
+Apilium Technologies OÜ
+Tallinn, Estonia
+Registration: 17409213
+
+Legal inquiries: legal@apilium.com
+Licensing inquiries: partners@apilium.com
+Security reports: security@apilium.com
+General: hello@apilium.com
+
+https://apilium.com
+https://github.com/ApiliumCode/aingle
diff --git a/PATENTS b/PATENTS
new file mode 100644
index 00000000..6b70b1c0
--- /dev/null
+++ b/PATENTS
@@ -0,0 +1,81 @@
+# AIngle — Protected Technologies & Patent Notice
+
+Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+
+This file describes the proprietary technologies, algorithms, and
+architectural innovations embodied in AIngle that are protected under
+applicable intellectual property laws. This notice supplements (but
+does not replace) the Apache License 2.0 patent grant in Section 3.
+
+## Protected Innovations
+
+### 1. Semantic DAG Architecture
+
+A content-addressed directed acyclic graph that combines cryptographic
+integrity (blake3 hashing), RDF triple storage with SPO/POS/OSP indexing,
+and provenance-tracked knowledge management in a single unified data
+structure.
+
+### 2. AIngle Cortex
+
+A cryptographic semantic layer that integrates:
+- Native RDF triple store with SPARQL 1.1 query execution
+- Pattern-based graph queries with namespace isolation
+- Proof-of-Logic validation engine
+- Zero-knowledge proof generation and verification
+- REST/WebSocket API for external integration
+
+### 3. Proof-of-Logic Engine
+
+An inference engine implementing both forward chaining (data-driven)
+and backward chaining (goal-driven) reasoning over RDF knowledge graphs,
+with ontological consistency validation and rule-based inference.
+
+### 4. Kaneru (Unified Multi-Agent Execution System)
+
+A multi-agent framework for autonomous goal decomposition featuring:
+- Hierarchical task planning with optimistic execution
+- Dynamic goal tree construction and pruning
+- Inter-agent coordination via semantic message passing
+- Capability-based agent selection and delegation
+
+### 5. Ineru
+
+A neural-inspired persistence system implementing:
+- Attention-weighted short-term memory with configurable decay
+- Semantic long-term memory with automatic consolidation
+- Importance scoring for STM-to-LTM promotion
+- Content-addressed storage with semantic similarity search
+
+### 6. Zero-Knowledge Proof Integration
+
+Integration of zero-knowledge proof systems into a semantic knowledge
+graph, enabling verifiable computation over private data:
+- Pedersen commitment schemes for value hiding
+- Schnorr signature proofs for identity verification
+- Bulletproofs range proofs for numerical assertions
+- Proof composition for complex multi-step verification
+
+### 7. Nested Learning
+
+A meta-optimization framework that enables adaptive model behavior
+through hierarchical learning loops operating on the knowledge graph.
+
+### 8. AIngle Minimal
+
+A lightweight edge runtime designed for IoT and resource-constrained
+devices, implementing a subset of the AIngle protocol with:
+- Minimal memory footprint graph operations
+- Device capability sharing via semantic descriptors
+- Peer-to-peer sync with gossip protocol
+
+## Patent Status
+
+Apilium Technologies OÜ reserves all rights to seek patent protection
+for the innovations described above in any jurisdiction. The Apache
+License 2.0 patent grant (Section 3) applies only to contributions
+as defined in that license and does not constitute a waiver of patent
+rights for the system-level architectural innovations described herein.
+
+For patent licensing inquiries: legal@apilium.com
+For partnership opportunities: partners@apilium.com
diff --git a/README.md b/README.md
index 262b22e2..f635ccc1 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
@@ -13,7 +13,8 @@
-
+
+
@@ -127,8 +128,8 @@ Prove facts without revealing data. Schnorr signatures, Pedersen commitments, an
|
-### ⚡ HOPE Agents
-Hierarchical Optimistic Policy Engine. Reinforcement learning (Q-Learning, SARSA, TD) for autonomous decision-making. From anomaly detection to resource optimization.
+### ⚡ Kaneru
+Unified Multi-Agent Execution System. Reinforcement learning (Q-Learning, SARSA, TD) for autonomous decision-making. From anomaly detection to resource optimization.
|
@@ -156,13 +157,80 @@ Interactive D3.js dashboard. Watch your DAG evolve in real-time. Filter, search,
---
+## Clustering
+
+AIngle supports multi-node clustering via Raft consensus for high availability and horizontal scalability. Writes are replicated to all nodes; reads can be served from any node with optional quorum consistency.
+
+### Quick Start (3-node cluster)
+
+```bash
+# Node 1 — bootstrap leader
+aingle-cortex --port 8081 \
+ --cluster --cluster-node-id 1 \
+ --cluster-secret "your-secret-at-least-16-chars" \
+ --cluster-wal-dir ./data/node1/wal \
+ --db-path ./data/node1/graph.sled
+
+# Node 2 — joins via node 1
+aingle-cortex --port 8082 \
+ --cluster --cluster-node-id 2 \
+ --cluster-peers 127.0.0.1:8081 \
+ --cluster-secret "your-secret-at-least-16-chars" \
+ --cluster-wal-dir ./data/node2/wal \
+ --db-path ./data/node2/graph.sled
+
+# Node 3 — joins via node 1
+aingle-cortex --port 8083 \
+ --cluster --cluster-node-id 3 \
+ --cluster-peers 127.0.0.1:8081 \
+ --cluster-secret "your-secret-at-least-16-chars" \
+ --cluster-wal-dir ./data/node3/wal \
+ --db-path ./data/node3/graph.sled
+```
+
+### With TLS encryption
+
+```bash
+# Auto-generated self-signed certs (development)
+aingle-cortex --port 8081 --cluster --cluster-node-id 1 \
+ --cluster-secret "your-secret" --cluster-tls
+
+# Custom certificates (production)
+aingle-cortex --port 8081 --cluster --cluster-node-id 1 \
+ --cluster-secret "your-secret" --cluster-tls \
+ --cluster-tls-cert /path/to/cert.pem \
+ --cluster-tls-key /path/to/key.pem
+```
+
+### Cluster endpoints
+
+| Endpoint | Method | Description |
+|----------|--------|-------------|
+| `/api/v1/cluster/status` | GET | Node role, leader ID, current term |
+| `/api/v1/cluster/members` | GET | All cluster members and their state |
+| `/api/v1/cluster/join` | POST | Add a new node to the cluster |
+| `/api/v1/cluster/leave` | POST | Gracefully remove a node |
+| `/api/v1/cluster/wal/stats` | GET | WAL segment count and disk usage |
+| `/api/v1/cluster/wal/verify` | POST | Verify WAL integrity (checksums) |
+
+### Features
+
+- **Raft consensus** — automatic leader election, log replication, and membership changes
+- **Streaming snapshots** — 512KB chunked transfer with per-chunk ACK for large datasets
+- **Write-Ahead Log** — crash-safe durability with segment rotation and integrity verification
+- **TLS encryption** — optional TLS for inter-node communication (self-signed or custom certs)
+- **Constant-time auth** — cluster secret verified with timing-safe comparison
+- **Quorum reads** — optional strong consistency for read operations
+
+---
+
## Architecture
```
┌────────────────────────────────────────────────────────────────────────┐
│ APPLICATION LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
-│ │ Zomes │ │ Contracts │ │ HOPE Agents │ │ DAG Viz │ │
+│ │ Zomes │ │ Contracts │ │ Kaneru │ │ DAG Viz │ │
│ │ (WASM) │ │ (Rust DSL) │ │ (RL) │ │ (D3.js) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └───────────┘ │
├────────────────────────────────────────────────────────────────────────┤
@@ -177,6 +245,12 @@ Interactive D3.js dashboard. Watch your DAG evolve in real-time. Filter, search,
│ │ Graph │ │ Engine │ │ (Privacy) │ │ Runtime │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └───────────┘ │
├────────────────────────────────────────────────────────────────────────┤
+│ CONSENSUS LAYER │
+│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
+│ │ Raft │ │ WAL │ │ Streaming │ │ TLS │ │
+│ │ (openraft) │ │ (Durability) │ │ Snapshots │ │ (mTLS) │ │
+│ └──────────────┘ └──────────────┘ └──────────────┘ └───────────┘ │
+├────────────────────────────────────────────────────────────────────────┤
│ NETWORK LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ Kitsune P2P │ │ CoAP │ │ Gossip │ │ mDNS │ │
@@ -199,6 +273,9 @@ cd aingle
# Build
cargo build --workspace --release
+# Build with clustering support
+cargo build -p aingle_cortex --features cluster --release
+
# Test
cargo test --workspace
@@ -208,7 +285,7 @@ cargo doc --workspace --no-deps --open
### Prerequisites
-- **Rust** 1.70 or later
+- **Rust** 1.83 or later
- **libsodium-dev** (cryptography)
- **libssl-dev** (TLS)
- **pkg-config**
@@ -233,7 +310,7 @@ cargo run --release -- --help
|-------|-------------|
| [Getting Started](docs/tutorials/getting-started.md) | Build your first AIngle application |
| [IoT Networks](docs/tutorials/iot-sensor-network.md) | Deploy sensors with edge intelligence |
-| [HOPE Agents](docs/tutorials/ai-powered-app.md) | Add autonomous decision-making |
+| [Kaneru](docs/tutorials/ai-powered-app.md) | Add autonomous decision-making |
| [Semantic Queries](docs/tutorials/semantic-queries.md) | Master GraphQL and SPARQL |
| [Privacy (ZK)](docs/tutorials/privacy-with-zk.md) | Implement zero-knowledge proofs |
| [Visualization](docs/tutorials/dag-visualization.md) | Monitor your system in real-time |
@@ -260,10 +337,17 @@ cargo doc --workspace --no-deps --open
| Component | Purpose |
|-----------|---------|
-| `hope_agents` | Reinforcement learning framework |
+| `kaneru` | Kaneru multi-agent execution framework |
| `aingle_logic` | Prolog-style reasoning engine |
| `aingle_graph` | Semantic graph database |
+### Clustering & Consensus
+
+| Component | Purpose |
+|-----------|---------|
+| `aingle_raft` | Raft consensus (leader election, log replication, streaming snapshots) |
+| `aingle_wal` | Write-Ahead Log for crash-safe durability |
+
### Security & Privacy
| Component | Purpose |
@@ -291,7 +375,7 @@ Official SDKs for integrating AIngle into your applications:
```javascript
import { AIngleClient } from '@apilium/aingle-sdk';
-const client = new AIngleClient('http://localhost:8080');
+const client = new AIngleClient('http://localhost:19090');
// Create an entry
const hash = await client.createEntry({ sensor: 'temp', value: 23.5 });
@@ -306,7 +390,7 @@ client.subscribe((entry) => {
```bash
# Start node with REST API enabled
-aingle-minimal run --rest-port 8080
+aingle-minimal run --rest-port 19080
```
---
@@ -328,11 +412,17 @@ See our [contribution guidelines](CONTRIBUTING.md) for details.
## License
-**Apache License 2.0**
+**Dual License: Apache-2.0 + Commercial**
+
+Copyright © 2019-2026 Apilium Technologies OÜ
-Copyright © 2019-2025 Apilium Technologies
+AIngle is available under two licenses:
-See [LICENSE](LICENSE) for the full license text.
+- **Apache License 2.0** — Free for personal use, education, research, evaluation, and organizations with annual revenue below USD $1M. See [LICENSE-APACHE](LICENSE-APACHE).
+
+- **Commercial License** — Required for commercial integration, SaaS offerings, and organizations with annual revenue above USD $1M. See [LICENSE-COMMERCIAL](LICENSE-COMMERCIAL).
+
+For commercial licensing: [partners@apilium.com](mailto:partners@apilium.com)
---
@@ -349,5 +439,15 @@ See [LICENSE](LICENSE) for the full license text.
- Apilium Technologies • Tallinn, Estonia
+ Apilium Technologies OÜ • Tallinn, Estonia
+
+---
+
+
+
+**Trademarks**: AIngle, AIngle Cortex, Ineru, and Kaneru are trademarks of Apilium Technologies OÜ. See [NOTICE](./NOTICE) for details.
+
+**License**: Dual licensed under [Apache-2.0](./LICENSE-APACHE) and [Commercial](./LICENSE-COMMERCIAL). See [PATENTS](./PATENTS) for protected technologies.
+
+
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..31d526a2
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,48 @@
+# Security Policy
+
+## Reporting a Vulnerability
+
+If you discover a security vulnerability in AIngle, please report it responsibly.
+
+**Email**: security@apilium.com
+
+Please include:
+- Description of the vulnerability
+- Steps to reproduce
+- Potential impact
+- Suggested fix (if any)
+
+## Response Timeline
+
+- **Acknowledgment**: Within 48 hours
+- **Initial assessment**: Within 7 days
+- **Patch release**: Within 30 days (critical vulnerabilities may be expedited)
+
+## Disclosure Policy
+
+- Do not disclose the vulnerability publicly until a patch has been released
+- We will credit reporters in the security advisory (unless anonymity is requested)
+- We do not pursue legal action against good-faith security researchers
+
+## Scope
+
+This policy covers all code in the AIngle repository, including:
+- All crates under `crates/`
+- Build scripts and CI/CD configurations
+- Documentation that may expose sensitive implementation details
+
+## Cryptographic Components
+
+AIngle uses the following cryptographic libraries:
+- `blake3` — Content hashing
+- `ed25519-dalek` — Digital signatures
+- `rustls` — TLS connections
+- Custom zero-knowledge proof implementations (Pedersen, Schnorr, Bulletproofs)
+
+Issues in these components are considered high priority.
+
+## Contact
+
+Apilium Technologies OÜ
+security@apilium.com
+https://apilium.com/en/security
diff --git a/crates/adk/Cargo.toml b/crates/adk/Cargo.toml
index 8ad48a8c..862ea24b 100644
--- a/crates/adk/Cargo.toml
+++ b/crates/adk/Cargo.toml
@@ -2,7 +2,7 @@
name = "adk"
version = "0.0.1"
description = "The AIngle ADK"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/adk"
diff --git a/crates/adk/src/adk.rs b/crates/adk/src/adk.rs
index e9cfac89..b9cffd73 100644
--- a/crates/adk/src/adk.rs
+++ b/crates/adk/src/adk.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
#[cfg(feature = "mock")]
diff --git a/crates/adk/src/capability.rs b/crates/adk/src/capability.rs
index f08460c6..0e2c99fb 100644
--- a/crates/adk/src/capability.rs
+++ b/crates/adk/src/capability.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Create capability claims on the local source chain.
diff --git a/crates/adk/src/chain.rs b/crates/adk/src/chain.rs
index c8a49525..8ed634c8 100644
--- a/crates/adk/src/chain.rs
+++ b/crates/adk/src/chain.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Query the _headers_ of a remote agent's chain.
diff --git a/crates/adk/src/ed25519.rs b/crates/adk/src/ed25519.rs
index aee8d292..872ccdbd 100644
--- a/crates/adk/src/ed25519.rs
+++ b/crates/adk/src/ed25519.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Sign something that is serializable using the private key for the passed public key.
diff --git a/crates/adk/src/entry.rs b/crates/adk/src/entry.rs
index 1dc4550a..db1a6743 100644
--- a/crates/adk/src/entry.rs
+++ b/crates/adk/src/entry.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// General function that can create any entry type.
diff --git a/crates/adk/src/graph.rs b/crates/adk/src/graph.rs
index 96f389d9..57d84b47 100644
--- a/crates/adk/src/graph.rs
+++ b/crates/adk/src/graph.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use aingle_zome_types::graph::{
GraphQueryInput, GraphQueryOutput, GraphStoreInput, GraphStoreOutput, ObjectValue,
diff --git a/crates/adk/src/hash_path.rs b/crates/adk/src/hash_path.rs
index bd5cc2b0..0adde593 100644
--- a/crates/adk/src/hash_path.rs
+++ b/crates/adk/src/hash_path.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
/// The anchor pattern implemented in terms of [ `path::Path` ]
///
/// The anchor pattern predates the path crate.
diff --git a/crates/adk/src/hash_path/anchor.rs b/crates/adk/src/hash_path/anchor.rs
index 90edef88..09aba782 100644
--- a/crates/adk/src/hash_path/anchor.rs
+++ b/crates/adk/src/hash_path/anchor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::hash_path::path::Component;
use crate::hash_path::path::Path;
use crate::prelude::*;
diff --git a/crates/adk/src/hash_path/path.rs b/crates/adk/src/hash_path/path.rs
index 06b0ea15..549562a8 100644
--- a/crates/adk/src/hash_path/path.rs
+++ b/crates/adk/src/hash_path/path.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::hash_path::shard::ShardStrategy;
use crate::hash_path::shard::SHARDEND;
use crate::prelude::*;
diff --git a/crates/adk/src/hash_path/shard.rs b/crates/adk/src/hash_path/shard.rs
index 559506c7..22230163 100644
--- a/crates/adk/src/hash_path/shard.rs
+++ b/crates/adk/src/hash_path/shard.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::hash_path::path::Component;
use crate::hash_path::path::Path;
use std::str::FromStr;
diff --git a/crates/adk/src/info.rs b/crates/adk/src/info.rs
index 83160d63..a97efcc7 100644
--- a/crates/adk/src/info.rs
+++ b/crates/adk/src/info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Trivial wrapper for `__agent_info` host function.
diff --git a/crates/adk/src/lib.rs b/crates/adk/src/lib.rs
index 3ab162bd..ab91cb33 100644
--- a/crates/adk/src/lib.rs
+++ b/crates/adk/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(rustdoc::bare_urls)]
#![allow(rustdoc::invalid_html_tags)]
#![allow(rustdoc::broken_intra_doc_links)]
diff --git a/crates/adk/src/link.rs b/crates/adk/src/link.rs
index 78bd5111..c7751140 100644
--- a/crates/adk/src/link.rs
+++ b/crates/adk/src/link.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Create a link from a base entry to a target entry, with an optional tag.
diff --git a/crates/adk/src/map_extern.rs b/crates/adk/src/map_extern.rs
index d6804e3d..a6bc730d 100644
--- a/crates/adk/src/map_extern.rs
+++ b/crates/adk/src/map_extern.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Hides away the gross bit where we hook up integer pointers to length-prefixed guest memory
diff --git a/crates/adk/src/memory.rs b/crates/adk/src/memory.rs
index 9cf6a7c7..6c845de2 100644
--- a/crates/adk/src/memory.rs
+++ b/crates/adk/src/memory.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use aingle_zome_types::graph::{
MemoryRecallInput, MemoryRecallOutput, MemoryRememberInput, MemoryRememberOutput,
diff --git a/crates/adk/src/p2p.rs b/crates/adk/src/p2p.rs
index f1b4f35e..e31a5bb7 100644
--- a/crates/adk/src/p2p.rs
+++ b/crates/adk/src/p2p.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// # Call
diff --git a/crates/adk/src/prelude.rs b/crates/adk/src/prelude.rs
index d0a63a20..203afa0a 100644
--- a/crates/adk/src/prelude.rs
+++ b/crates/adk/src/prelude.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub use crate::adk::*;
pub use crate::app_entry;
pub use crate::capability::create_cap_claim;
diff --git a/crates/adk/src/random.rs b/crates/adk/src/random.rs
index 09f17c8b..9473c245 100644
--- a/crates/adk/src/random.rs
+++ b/crates/adk/src/random.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Get N cryptographically strong random bytes.
diff --git a/crates/adk/src/time.rs b/crates/adk/src/time.rs
index 1a252c7b..776022b3 100644
--- a/crates/adk/src/time.rs
+++ b/crates/adk/src/time.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Current system time from the host.
diff --git a/crates/adk/src/trace.rs b/crates/adk/src/trace.rs
index ba0d0739..e3621549 100644
--- a/crates/adk/src/trace.rs
+++ b/crates/adk/src/trace.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use std::fmt::Write;
use std::sync::atomic::AtomicUsize;
diff --git a/crates/adk/src/x_salsa20_poly1305.rs b/crates/adk/src/x_salsa20_poly1305.rs
index ed0d85b1..5842db53 100644
--- a/crates/adk/src/x_salsa20_poly1305.rs
+++ b/crates/adk/src/x_salsa20_poly1305.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
/// Generate a new x25519 keypair in lair from entropy.
diff --git a/crates/adk_derive/Cargo.toml b/crates/adk_derive/Cargo.toml
index 552c9dc8..d727f886 100644
--- a/crates/adk_derive/Cargo.toml
+++ b/crates/adk_derive/Cargo.toml
@@ -2,7 +2,7 @@
name = "adk_derive"
version = "0.0.1"
description = "derive macros for the aingle adk"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/adk_derive"
diff --git a/crates/adk_derive/src/lib.rs b/crates/adk_derive/src/lib.rs
index e3397644..b1c0173d 100644
--- a/crates/adk_derive/src/lib.rs
+++ b/crates/adk_derive/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![crate_type = "proc-macro"]
use proc_macro::TokenStream;
diff --git a/crates/ai/Cargo.toml b/crates/ai/Cargo.toml
index ffb9e2ce..82602a85 100644
--- a/crates/ai/Cargo.toml
+++ b/crates/ai/Cargo.toml
@@ -2,7 +2,7 @@
name = "aingle_cli"
version = "0.0.1"
description = "Command-line interface for AIngle distributed ledger"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle_cli"
diff --git a/crates/ai/src/bin/ai.rs b/crates/ai/src/bin/ai.rs
index 362e635f..81e4236b 100644
--- a/crates/ai/src/bin/ai.rs
+++ b/crates/ai/src/bin/ai.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_cli as ai;
use structopt::StructOpt;
diff --git a/crates/ai/src/lib.rs b/crates/ai/src/lib.rs
index 8adf26b1..e4617838 100644
--- a/crates/ai/src/lib.rs
+++ b/crates/ai/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![warn(missing_docs)]
//! A library and CLI to help create, run and interact with aingle conductor setups.
diff --git a/crates/ai_bundle/Cargo.toml b/crates/ai_bundle/Cargo.toml
index 71569d7c..c2b2fead 100644
--- a/crates/ai_bundle/Cargo.toml
+++ b/crates/ai_bundle/Cargo.toml
@@ -2,7 +2,7 @@
name = "aingle_cli_bundle"
version = "0.0.1"
description = "SAF and hApp bundling functionality for the `ai` AIngle CLI utility"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle_cli_bundle"
@@ -33,7 +33,7 @@ thiserror = "2.0"
tokio = { version = "1", features = [ "full" ] }
[dev-dependencies]
-assert_cmd = "2.0"
+assert_cmd = "2.1"
matches = "0.1"
predicates = "1.0"
tempdir = "0.3"
diff --git a/crates/ai_bundle/src/bin/ai-app.rs b/crates/ai_bundle/src/bin/ai-app.rs
index eceb3737..ea9a1940 100644
--- a/crates/ai_bundle/src/bin/ai-app.rs
+++ b/crates/ai_bundle/src/bin/ai-app.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_cli_bundle::AinAppBundle;
use structopt::StructOpt;
diff --git a/crates/ai_bundle/src/bin/ai-saf.rs b/crates/ai_bundle/src/bin/ai-saf.rs
index ca3af455..b2d1772d 100644
--- a/crates/ai_bundle/src/bin/ai-saf.rs
+++ b/crates/ai_bundle/src/bin/ai-saf.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_cli_bundle::AinSafBundle;
use structopt::StructOpt;
diff --git a/crates/ai_bundle/src/cli.rs b/crates/ai_bundle/src/cli.rs
index 75c3c27c..44bdc6b8 100644
--- a/crates/ai_bundle/src/cli.rs
+++ b/crates/ai_bundle/src/cli.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![forbid(missing_docs)]
//! Binary `ai-saf` command executable.
diff --git a/crates/ai_bundle/src/error.rs b/crates/ai_bundle/src/error.rs
index 413ed21c..27e7bdbb 100644
--- a/crates/ai_bundle/src/error.rs
+++ b/crates/ai_bundle/src/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::path::PathBuf;
use aingle_middleware_bytes::SerializedBytesError;
diff --git a/crates/ai_bundle/src/init.rs b/crates/ai_bundle/src/init.rs
index 25022562..8877a999 100644
--- a/crates/ai_bundle/src/init.rs
+++ b/crates/ai_bundle/src/init.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::io::Write;
use std::{io, path::PathBuf};
diff --git a/crates/ai_bundle/src/lib.rs b/crates/ai_bundle/src/lib.rs
index f34e6237..5e28d20b 100644
--- a/crates/ai_bundle/src/lib.rs
+++ b/crates/ai_bundle/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
mod cli;
mod error;
mod init;
diff --git a/crates/ai_bundle/src/packing.rs b/crates/ai_bundle/src/packing.rs
index fd359e42..74ae3a0e 100644
--- a/crates/ai_bundle/src/packing.rs
+++ b/crates/ai_bundle/src/packing.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![forbid(missing_docs)]
//! Defines the CLI commands for packing/unpacking both SAF and hApp bundles
diff --git a/crates/ai_bundle/tests/test_cli.rs b/crates/ai_bundle/tests/test_cli.rs
index 4c068cae..e91e65a2 100644
--- a/crates/ai_bundle/tests/test_cli.rs
+++ b/crates/ai_bundle/tests/test_cli.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_types::prelude::*;
use aingle_util::ffs;
use assert_cmd::prelude::*;
diff --git a/crates/ai_fixt/Cargo.toml b/crates/ai_fixt/Cargo.toml
index f0551a07..13b766f5 100644
--- a/crates/ai_fixt/Cargo.toml
+++ b/crates/ai_fixt/Cargo.toml
@@ -2,7 +2,7 @@
name = "ai_fixt"
version = "0.0.1"
description = "minimum viable fixtures"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/ai_fixt"
@@ -17,7 +17,7 @@ lazy_static = "1.4"
parking_lot = "0.12"
paste = "1.0"
rand = "0.9"
-rand_core = "0.6"
+rand_core = "0.9"
serde = { version = "1.0", features = [ "derive" ] }
strum = "0.26"
strum_macros = "0.26"
diff --git a/crates/ai_fixt/src/bool.rs b/crates/ai_fixt/src/bool.rs
index 6f161ab7..682b2c69 100644
--- a/crates/ai_fixt/src/bool.rs
+++ b/crates/ai_fixt/src/bool.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
fixturator!(bool, false, crate::rng().random(), {
diff --git a/crates/ai_fixt/src/bytes.rs b/crates/ai_fixt/src/bytes.rs
index f03d1790..95d71517 100644
--- a/crates/ai_fixt/src/bytes.rs
+++ b/crates/ai_fixt/src/bytes.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use rand::Rng;
diff --git a/crates/ai_fixt/src/lib.rs b/crates/ai_fixt/src/lib.rs
index e6d2f085..7f92b5ff 100644
--- a/crates/ai_fixt/src/lib.rs
+++ b/crates/ai_fixt/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(clippy::assign_op_pattern)]
#![allow(rustdoc::bare_urls)]
#![allow(rustdoc::invalid_html_tags)]
diff --git a/crates/ai_fixt/src/number.rs b/crates/ai_fixt/src/number.rs
index 59fe8981..80bbd506 100644
--- a/crates/ai_fixt/src/number.rs
+++ b/crates/ai_fixt/src/number.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use rand::seq::IndexedRandom;
diff --git a/crates/ai_fixt/src/prelude.rs b/crates/ai_fixt/src/prelude.rs
index 584f98ee..68b0ac6f 100644
--- a/crates/ai_fixt/src/prelude.rs
+++ b/crates/ai_fixt/src/prelude.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub use crate::basic_test;
pub use crate::bool::BoolFixturator;
pub use crate::bytes::Bytes;
diff --git a/crates/ai_fixt/src/rng.rs b/crates/ai_fixt/src/rng.rs
index 523b1431..337883ec 100644
--- a/crates/ai_fixt/src/rng.rs
+++ b/crates/ai_fixt/src/rng.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Seedable random number generator to be used in all fixturator randomness
//!
//! In tests, when an unpredictable value causes a test failure, it's important to
diff --git a/crates/ai_fixt/src/serialized_bytes.rs b/crates/ai_fixt/src/serialized_bytes.rs
index 619ed7b4..9862df41 100644
--- a/crates/ai_fixt/src/serialized_bytes.rs
+++ b/crates/ai_fixt/src/serialized_bytes.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! @todo move all this out to the serialized bytes crate
use crate::prelude::*;
use aingle_middleware_bytes::prelude::*;
diff --git a/crates/ai_fixt/src/string.rs b/crates/ai_fixt/src/string.rs
index dfe27ad3..72cb03f3 100644
--- a/crates/ai_fixt/src/string.rs
+++ b/crates/ai_fixt/src/string.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
use rand::Rng;
diff --git a/crates/ai_fixt/src/unit.rs b/crates/ai_fixt/src/unit.rs
index 6edff0df..02545ddb 100644
--- a/crates/ai_fixt/src/unit.rs
+++ b/crates/ai_fixt/src/unit.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::prelude::*;
type Unit = ();
diff --git a/crates/ai_fixt/test/Cargo.toml b/crates/ai_fixt/test/Cargo.toml
index 3fcfaad7..3fa66c97 100644
--- a/crates/ai_fixt/test/Cargo.toml
+++ b/crates/ai_fixt/test/Cargo.toml
@@ -2,7 +2,7 @@
name = "ai_fixt_test"
version = "0.0.1"
description = "tests the fixturator macros in an external crate"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/ai_fixt_test"
diff --git a/crates/ai_fixt/test/src/lib.rs b/crates/ai_fixt/test/src/lib.rs
index 51938f8f..592cd0ff 100644
--- a/crates/ai_fixt/test/src/lib.rs
+++ b/crates/ai_fixt/test/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
/// this is in a separate crate from the ai_fixt crate to show that we've addressed the orphan rule
/// and other issues e.g. pub/private data
use ::ai_fixt::prelude::*;
diff --git a/crates/ai_hash/Cargo.toml b/crates/ai_hash/Cargo.toml
index 9b3c3bf0..9c16772d 100644
--- a/crates/ai_hash/Cargo.toml
+++ b/crates/ai_hash/Cargo.toml
@@ -1,12 +1,12 @@
[package]
name = "ai_hash"
-version = "0.0.2"
+version = "0.4.2"
authors = ["Apilium Technologies "]
keywords = [ "aingle", "ai", "hash", "blake", "blake2b" ]
categories = [ "cryptography" ]
edition = "2018"
description = "hashing helpers supporting sgd sharding"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/ai_hash"
@@ -16,13 +16,13 @@ serde = "1"
serde_bytes = "0.11"
arbitrary = {version = "1.0", optional = true}
-base64 = {version = "0.21", optional = true}
+base64 = {version = "0.22", optional = true}
blake2b_simd = {version = "0.5.10", optional = true}
derive_more = { version = "0.99", optional = true }
ai_fixt = { version = ">=0.0.1", path = "../ai_fixt", optional = true }
aingle_middleware_bytes = {version = "=0.0.3", optional = true }
rand = {version = "0.9", optional = true}
-rusqlite = { version = "0.25", optional = true }
+rusqlite = { version = "0.32", optional = true }
tracing = { version = "0.1", optional = true}
thiserror = "2.0"
diff --git a/crates/ai_hash/src/aliases.rs b/crates/ai_hash/src/aliases.rs
index 209bc9a4..70940397 100644
--- a/crates/ai_hash/src/aliases.rs
+++ b/crates/ai_hash/src/aliases.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Type aliases for the various concrete AiHash types
use crate::hash_type;
diff --git a/crates/ai_hash/src/encode.rs b/crates/ai_hash/src/encode.rs
index 7154b46d..4592b71a 100644
--- a/crates/ai_hash/src/encode.rs
+++ b/crates/ai_hash/src/encode.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::assert_length;
use crate::error::AiHashError;
use crate::AiHash;
diff --git a/crates/ai_hash/src/encode_raw.rs b/crates/ai_hash/src/encode_raw.rs
index 2445fd8d..ea898110 100644
--- a/crates/ai_hash/src/encode_raw.rs
+++ b/crates/ai_hash/src/encode_raw.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::AiHash;
use crate::HashType;
diff --git a/crates/ai_hash/src/error.rs b/crates/ai_hash/src/error.rs
index d2610d2f..349b5e52 100644
--- a/crates/ai_hash/src/error.rs
+++ b/crates/ai_hash/src/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! AiHash Error Type.
use crate::AI_HASH_PREFIX_LEN;
diff --git a/crates/ai_hash/src/fixt.rs b/crates/ai_hash/src/fixt.rs
index 4fcb0952..a0b30313 100644
--- a/crates/ai_hash/src/fixt.rs
+++ b/crates/ai_hash/src/fixt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use crate::encode::ai_sgd_location_bytes;
diff --git a/crates/ai_hash/src/has_hash.rs b/crates/ai_hash/src/has_hash.rs
index 2f421ce4..3c5f0658 100644
--- a/crates/ai_hash/src/has_hash.rs
+++ b/crates/ai_hash/src/has_hash.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Definition of the HasHash trait
use crate::AiHash;
diff --git a/crates/ai_hash/src/hash.rs b/crates/ai_hash/src/hash.rs
index a8cc2b01..6585b77f 100644
--- a/crates/ai_hash/src/hash.rs
+++ b/crates/ai_hash/src/hash.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines the AiHash type, used for all hashes in AIngle.
//!
//! AiHashes come in a variety of types. See the `hash_type::primitive`
diff --git a/crates/ai_hash/src/hash_b64.rs b/crates/ai_hash/src/hash_b64.rs
index 223c8b28..48e566bc 100644
--- a/crates/ai_hash/src/hash_b64.rs
+++ b/crates/ai_hash/src/hash_b64.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Implements base-64 serialization for AiHashes
//!
//! It's already the case that AiHash can be deserialized from either a byte
diff --git a/crates/ai_hash/src/hash_ext.rs b/crates/ai_hash/src/hash_ext.rs
index 13eca5c6..5bc0c0c8 100644
--- a/crates/ai_hash/src/hash_ext.rs
+++ b/crates/ai_hash/src/hash_ext.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::assert_length;
use crate::encode;
use crate::hash_type;
diff --git a/crates/ai_hash/src/hash_type.rs b/crates/ai_hash/src/hash_type.rs
index 418829d1..42ae43b1 100644
--- a/crates/ai_hash/src/hash_type.rs
+++ b/crates/ai_hash/src/hash_type.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines the prefixes for the various HashTypes, as well as the traits
//! which unify them
diff --git a/crates/ai_hash/src/hash_type/composite.rs b/crates/ai_hash/src/hash_type/composite.rs
index 7e991490..63a6eaba 100644
--- a/crates/ai_hash/src/hash_type/composite.rs
+++ b/crates/ai_hash/src/hash_type/composite.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::error::AiHashError;
use std::convert::TryInto;
diff --git a/crates/ai_hash/src/hash_type/primitive.rs b/crates/ai_hash/src/hash_type/primitive.rs
index 5b2d292c..0f090684 100644
--- a/crates/ai_hash/src/hash_type/primitive.rs
+++ b/crates/ai_hash/src/hash_type/primitive.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::error::AiHashError;
use crate::hash_type;
diff --git a/crates/ai_hash/src/hashable_content.rs b/crates/ai_hash/src/hashable_content.rs
index 55637e75..9864c040 100644
--- a/crates/ai_hash/src/hashable_content.rs
+++ b/crates/ai_hash/src/hashable_content.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::HashType;
use aingle_middleware_bytes::prelude::*;
diff --git a/crates/ai_hash/src/hashed.rs b/crates/ai_hash/src/hashed.rs
index 4858cef4..a25780ba 100644
--- a/crates/ai_hash/src/hashed.rs
+++ b/crates/ai_hash/src/hashed.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::AiHashOf;
use crate::HasHash;
use crate::HashableContent;
diff --git a/crates/ai_hash/src/lib.rs b/crates/ai_hash/src/lib.rs
index def635c1..6608008d 100644
--- a/crates/ai_hash/src/lib.rs
+++ b/crates/ai_hash/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines AiHash and its various HashTypes
#![deny(missing_docs)]
diff --git a/crates/ai_hash/src/ser.rs b/crates/ai_hash/src/ser.rs
index 3c5bcdd7..eeb40b24 100644
--- a/crates/ai_hash/src/ser.rs
+++ b/crates/ai_hash/src/ser.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines the serialization rules for AiHashes
use crate::AiHash;
diff --git a/crates/ai_hash/src/tests.rs b/crates/ai_hash/src/tests.rs
index a338a81e..ba3ae575 100644
--- a/crates/ai_hash/src/tests.rs
+++ b/crates/ai_hash/src/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(test)]
use crate::{HashableContent, AiHashed};
diff --git a/crates/ai_sandbox/Cargo.toml b/crates/ai_sandbox/Cargo.toml
index 2c5eeae5..c5e13314 100644
--- a/crates/ai_sandbox/Cargo.toml
+++ b/crates/ai_sandbox/Cargo.toml
@@ -2,7 +2,7 @@
name = "aingle_cli_sandbox"
version = "0.0.1"
description = "Sandbox environment for AIngle development and testing"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle_cli_sandbox"
@@ -36,6 +36,6 @@ url2 = "0.0.6"
walkdir = "2"
[dev-dependencies]
-assert_cmd = "2.0"
+assert_cmd = "2.1"
matches = "0.1"
portpicker = "0.1.0"
diff --git a/crates/ai_sandbox/examples/setup_5.rs b/crates/ai_sandbox/examples/setup_5.rs
index 8ee21e9e..9116ff95 100644
--- a/crates/ai_sandbox/examples/setup_5.rs
+++ b/crates/ai_sandbox/examples/setup_5.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::path::PathBuf;
use ai_sandbox::calls::ActivateApp;
diff --git a/crates/ai_sandbox/src/bin/ai-sandbox.rs b/crates/ai_sandbox/src/bin/ai-sandbox.rs
index 29317e63..9bfddd14 100644
--- a/crates/ai_sandbox/src/bin/ai-sandbox.rs
+++ b/crates/ai_sandbox/src/bin/ai-sandbox.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use structopt::StructOpt;
#[tokio::main]
diff --git a/crates/ai_sandbox/src/bundles.rs b/crates/ai_sandbox/src/bundles.rs
index d85aa401..bd1762b8 100644
--- a/crates/ai_sandbox/src/bundles.rs
+++ b/crates/ai_sandbox/src/bundles.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for working with saf files.
use std::path::Path;
use std::path::PathBuf;
diff --git a/crates/ai_sandbox/src/calls.rs b/crates/ai_sandbox/src/calls.rs
index 16cba2dc..d4d33eb1 100644
--- a/crates/ai_sandbox/src/calls.rs
+++ b/crates/ai_sandbox/src/calls.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for making [`AdminRequest`]s to the admin api.
//!
//! This module is designed for use in a CLI so it is more simplified
diff --git a/crates/ai_sandbox/src/cli.rs b/crates/ai_sandbox/src/cli.rs
index 038e3daf..fccd3b5a 100644
--- a/crates/ai_sandbox/src/cli.rs
+++ b/crates/ai_sandbox/src/cli.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Definitions of StructOpt options for use in the CLI
use crate::cmds::*;
diff --git a/crates/ai_sandbox/src/cmds.rs b/crates/ai_sandbox/src/cmds.rs
index 0599e9be..9fed6559 100644
--- a/crates/ai_sandbox/src/cmds.rs
+++ b/crates/ai_sandbox/src/cmds.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::path::PathBuf;
use aingle_p2p::kitsune_p2p::KitsuneP2pConfig;
diff --git a/crates/ai_sandbox/src/config.rs b/crates/ai_sandbox/src/config.rs
index 4e92a3ba..c016e562 100644
--- a/crates/ai_sandbox/src/config.rs
+++ b/crates/ai_sandbox/src/config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for creating, reading and writing [`ConductorConfig`]s.
use std::path::PathBuf;
diff --git a/crates/ai_sandbox/src/generate.rs b/crates/ai_sandbox/src/generate.rs
index 8cb9745b..2fb7dfb6 100644
--- a/crates/ai_sandbox/src/generate.rs
+++ b/crates/ai_sandbox/src/generate.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for generating new directories and [`ConductorConfig`].
use std::path::PathBuf;
diff --git a/crates/ai_sandbox/src/lib.rs b/crates/ai_sandbox/src/lib.rs
index 24579667..e609e703 100644
--- a/crates/ai_sandbox/src/lib.rs
+++ b/crates/ai_sandbox/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![warn(missing_docs)]
//! A library and CLI to help create, run and interact with aingle conductor sandboxes.
diff --git a/crates/ai_sandbox/src/ports.rs b/crates/ai_sandbox/src/ports.rs
index 394c4fa9..32892217 100644
--- a/crates/ai_sandbox/src/ports.rs
+++ b/crates/ai_sandbox/src/ports.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for working with websockets and ports.
use std::path::PathBuf;
use std::sync::Arc;
diff --git a/crates/ai_sandbox/src/run.rs b/crates/ai_sandbox/src/run.rs
index 6aed5703..811ee916 100644
--- a/crates/ai_sandbox/src/run.rs
+++ b/crates/ai_sandbox/src/run.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helpers for running the conductor.
use std::path::Path;
use std::{path::PathBuf, process::Stdio};
diff --git a/crates/ai_sandbox/src/sandbox.rs b/crates/ai_sandbox/src/sandbox.rs
index 844b1fd3..d1259a51 100644
--- a/crates/ai_sandbox/src/sandbox.rs
+++ b/crates/ai_sandbox/src/sandbox.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Common use sandboxes with lots of default choices.
use std::path::Path;
use std::path::PathBuf;
diff --git a/crates/ai_sandbox/src/save.rs b/crates/ai_sandbox/src/save.rs
index ac282dc1..66d6d73b 100644
--- a/crates/ai_sandbox/src/save.rs
+++ b/crates/ai_sandbox/src/save.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Manage persistence of sandboxes
//! This module gives basic helpers to save / load your sandboxes
//! in a `.ai` file.
diff --git a/crates/ai_sandbox/tests/cli.rs b/crates/ai_sandbox/tests/cli.rs
index 980b87df..80793bc4 100644
--- a/crates/ai_sandbox/tests/cli.rs
+++ b/crates/ai_sandbox/tests/cli.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::future::Future;
use std::sync::Arc;
diff --git a/crates/aingle/Cargo.toml b/crates/aingle/Cargo.toml
index 9f47c5cc..f1fe24cd 100644
--- a/crates/aingle/Cargo.toml
+++ b/crates/aingle/Cargo.toml
@@ -1,8 +1,8 @@
[package]
name = "aingle"
-version = "0.0.100"
+version = "0.6.0"
description = "AIngle, a framework for distributed applications"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle"
@@ -12,33 +12,33 @@ edition = "2018"
[dependencies]
anyhow = "1.0"
async-trait = "0.1"
-base64 = "0.21"
+base64 = "0.22"
byteorder = "1.3.4"
cfg-if = "0.1"
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
derive_more = "0.99.3"
directories = "2.0.2"
either = "1.5.0"
-fallible-iterator = "0.2.0"
+fallible-iterator = "0.3.0"
ai_fixt = { version = "^0.0.1", path = "../ai_fixt" }
-futures = "0.3.1"
+futures = "0.3.32"
ghost_actor = "0.3.0-alpha.1"
ai_hash = { version = ">=0.0.1", path = "../ai_hash", features = ["full"] }
aingle_cascade = { version = "0.0.1", path = "../aingle_cascade" }
aingle_conductor_api = { version = "0.0.1", path = "../aingle_conductor_api" }
-aingle_ai = { version = "0.1.0", path = "../aingle_ai", optional = true }
+aingle_ai = { version = "0.6", path = "../aingle_ai", optional = true }
aingle_keystore = { version = "0.0.1", path = "../aingle_keystore" }
aingle_p2p = { version = "0.0.1", path = "../aingle_p2p" }
aingle_sqlite = { version = "0.0.1", path = "../aingle_sqlite" }
aingle_middleware_bytes = "=0.0.3"
aingle_state = { version = "0.0.1", path = "../aingle_state" }
aingle_types = { version = "0.0.1", path = "../aingle_types" }
-aingle_cortex = { version = "0.2.0", path = "../aingle_cortex", default-features = false, features = ["rest"] }
+aingle_cortex = { version = "0.6", path = "../aingle_cortex", default-features = false, features = ["rest"] }
aingle_wasmer_host = "0.0.1"
aingle_websocket = { version = "0.0.1", path = "../aingle_websocket" }
-wasmer = "=6.0.0"
+wasmer = "=7.0.1"
aingle_zome_types = { version = ">=0.0.1", path = "../aingle_zome_types" }
-human-panic = "2.0.4"
+human-panic = "2.0.6"
kitsune_p2p = { version = "0.0.1", path = "../kitsune_p2p/kitsune_p2p" }
kitsune_p2p_types = { version = "0.0.1", path = "../kitsune_p2p/types" }
lazy_static = "1.4.0"
@@ -55,7 +55,7 @@ rand = "0.9"
ring = "0.17"
# Ensure rustls uses ring crypto provider for TLS
rustls = { workspace = true }
-rusqlite = { version = "0.25" }
+rusqlite = { version = "0.32" }
serde = { version = "1.0", features = [ "derive" ] }
serde_json = { version = "1.0", features = [ "preserve_order" ] }
serde_yml = "0.0.12"
@@ -67,7 +67,7 @@ thiserror = "2.0"
tokio = { version = "1", features = [ "full" ] }
tokio-stream = "0.1"
aingle_util = { version = "0.0.1", path = "../aingle_util" }
-toml = "0.5.6"
+toml = "0.9.10"
tracing = "0.1"
tracing-futures = "0.2.4"
tracing-subscriber = "0.3"
@@ -91,11 +91,11 @@ sd-notify = "0.3.0"
[dev-dependencies]
anyhow = "1.0"
-assert_cmd = "2.0"
+assert_cmd = "2.1"
criterion = "0.5"
maplit = "1"
-pretty_assertions = "0.7.2"
-serial_test = "3.0"
+pretty_assertions = "1.4"
+serial_test = "3.4"
test-case = "3.3"
# Dependencies for test_utils: keep in sync with above
@@ -155,5 +155,5 @@ db-encryption = ['aingle_sqlite/db-encryption']
# Incompatible with "db-encryption"
no-deps = ['aingle_sqlite/no-deps']
-# Enable AI integration layer (Titans Memory, Nested Learning, HOPE Agents)
+# Enable AI integration layer (Ineru, Nested Learning, Kaneru)
ai-integration = ['aingle_ai']
diff --git a/crates/aingle/benches/bench.rs b/crates/aingle/benches/bench.rs
index ff6c0ce7..da61db9b 100644
--- a/crates/aingle/benches/bench.rs
+++ b/crates/aingle/benches/bench.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ::ai_fixt::prelude::*;
use adk::prelude::*;
use ai_hash::fixt::AgentPubKeyFixturator;
diff --git a/crates/aingle/benches/consistency.rs b/crates/aingle/benches/consistency.rs
index 211421d5..2ba1b482 100644
--- a/crates/aingle/benches/consistency.rs
+++ b/crates/aingle/benches/consistency.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::BenchmarkId;
diff --git a/crates/aingle/src/bin/aingle/main.rs b/crates/aingle/src/bin/aingle/main.rs
index 853ce988..de43ff87 100644
--- a/crates/aingle/src/bin/aingle/main.rs
+++ b/crates/aingle/src/bin/aingle/main.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle::conductor::config::ConductorConfig;
use aingle::conductor::interactive;
use aingle::conductor::manager::handle_shutdown;
@@ -17,7 +20,17 @@ const ERROR_CODE: i32 = 42;
const MAGIC_CONDUCTOR_READY_STRING: &str = "Conductor ready.";
#[derive(Debug, StructOpt)]
-#[structopt(name = "aingle", about = "The AIngle Conductor.")]
+#[structopt(
+ name = "aingle",
+ about = "The AIngle Conductor.",
+ version = env!("CARGO_PKG_VERSION"),
+ long_version = concat!(
+ env!("CARGO_PKG_VERSION"), "\n",
+ "Copyright 2019-2026 Apilium Technologies OÜ\n",
+ "License: Apache-2.0 OR Commercial\n",
+ "https://github.com/ApiliumCode/aingle"
+ )
+)]
struct Opt {
#[structopt(
long,
diff --git a/crates/aingle/src/conductor.rs b/crates/aingle/src/conductor.rs
index 5bd11df6..0f56bf1d 100644
--- a/crates/aingle/src/conductor.rs
+++ b/crates/aingle/src/conductor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! A Conductor manages interactions between its contained [Cell]s, as well as
//! interactions with the outside world. It is primarily a mediator of messages.
//!
diff --git a/crates/aingle/src/conductor/ai_service.rs b/crates/aingle/src/conductor/ai_service.rs
index c456b4d0..70880665 100644
--- a/crates/aingle/src/conductor/ai_service.rs
+++ b/crates/aingle/src/conductor/ai_service.rs
@@ -1,7 +1,10 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! AI Service for the AIngle Conductor
//!
//! This module provides AI-powered validation and consensus features
-//! using the aingle_ai crate (Titans Memory, Nested Learning, HOPE Agents).
+//! using the aingle_ai crate (Ineru, Nested Learning, Kaneru).
#[cfg(feature = "ai-integration")]
use aingle_ai::{emergent::AiLayer, AiConfig, AiTransaction, ConsensusLevel, ValidationPrediction};
@@ -47,7 +50,7 @@ use tracing::{debug, info, trace, warn};
/// AI Service for intelligent validation and consensus
#[cfg(feature = "ai-integration")]
pub struct AiService {
- /// Unified AI layer (Titans + Nested Learning + Emergent)
+ /// Unified AI layer (Ineru + Nested Learning + Emergent)
ai_layer: Arc>,
/// Configuration
@@ -225,8 +228,8 @@ impl AiService {
let ai_layer = self.ai_layer.read();
let stats = ai_layer.stats();
AiLayerStatsSnapshot {
- titans_short_term_size: stats.titans_short_term_size,
- titans_long_term_size: stats.titans_long_term_size,
+ ineru_short_term_size: stats.ineru_short_term_size,
+ ineru_long_term_size: stats.ineru_long_term_size,
nested_tx_count: stats.nested_tx_count,
nested_block_count: stats.nested_block_count,
}
@@ -284,10 +287,10 @@ impl AiService {
/// Snapshot of AI layer statistics
#[derive(Debug, Clone)]
pub struct AiLayerStatsSnapshot {
- /// Titans short-term memory size
- pub titans_short_term_size: usize,
- /// Titans long-term memory size
- pub titans_long_term_size: usize,
+ /// Ineru short-term memory size
+ pub ineru_short_term_size: usize,
+ /// Ineru long-term memory size
+ pub ineru_long_term_size: usize,
/// Nested learning transaction count
pub nested_tx_count: u64,
/// Nested learning block count
diff --git a/crates/aingle/src/conductor/api.rs b/crates/aingle/src/conductor/api.rs
index 2af22aa1..63498f8a 100644
--- a/crates/aingle/src/conductor/api.rs
+++ b/crates/aingle/src/conductor/api.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![deny(missing_docs)]
//! Defines the three Conductor APIs by which other code can communicate
diff --git a/crates/aingle/src/conductor/api/api_cell.rs b/crates/aingle/src/conductor/api/api_cell.rs
index 44318602..51ab2fe4 100644
--- a/crates/aingle/src/conductor/api/api_cell.rs
+++ b/crates/aingle/src/conductor/api/api_cell.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The CellConductorApi allows Cells to talk to their Conductor
use std::sync::Arc;
diff --git a/crates/aingle/src/conductor/api/api_external.rs b/crates/aingle/src/conductor/api/api_external.rs
index 58d9d2ff..13616784 100644
--- a/crates/aingle/src/conductor/api/api_external.rs
+++ b/crates/aingle/src/conductor/api/api_external.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::interface::error::InterfaceResult;
use aingle_middleware_bytes::prelude::*;
diff --git a/crates/aingle/src/conductor/api/api_external/admin_interface.rs b/crates/aingle/src/conductor/api/api_external/admin_interface.rs
index 6071d54a..b4e74a74 100644
--- a/crates/aingle/src/conductor/api/api_external/admin_interface.rs
+++ b/crates/aingle/src/conductor/api/api_external/admin_interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::InterfaceApi;
use crate::conductor::api::error::ConductorApiError;
use crate::conductor::api::error::ConductorApiResult;
diff --git a/crates/aingle/src/conductor/api/api_external/app_interface.rs b/crates/aingle/src/conductor/api/api_external/app_interface.rs
index 8a1168eb..a2b8d87b 100644
--- a/crates/aingle/src/conductor/api/api_external/app_interface.rs
+++ b/crates/aingle/src/conductor/api/api_external/app_interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::InterfaceApi;
use crate::conductor::api::error::ConductorApiResult;
use crate::conductor::api::error::ExternalApiWireError;
diff --git a/crates/aingle/src/conductor/api/error.rs b/crates/aingle/src/conductor/api/error.rs
index e1fb4553..1f2c69fc 100644
--- a/crates/aingle/src/conductor/api/error.rs
+++ b/crates/aingle/src/conductor/api/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Errors occurring during a [CellConductorApi] or [InterfaceApi] call
use crate::conductor::error::ConductorError;
diff --git a/crates/aingle/src/conductor/api/mock.rs b/crates/aingle/src/conductor/api/mock.rs
index b5e319df..0bd371f4 100644
--- a/crates/aingle/src/conductor/api/mock.rs
+++ b/crates/aingle/src/conductor/api/mock.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use super::CellConductorApiT;
diff --git a/crates/aingle/src/conductor/cell.rs b/crates/aingle/src/conductor/cell.rs
index 75d03920..c286d494 100644
--- a/crates/aingle/src/conductor/cell.rs
+++ b/crates/aingle/src/conductor/cell.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! A Cell is an "instance" of AIngle SAF.
//!
//! It combines an AgentPubKey with a Saf to create a SourceChain, upon which
diff --git a/crates/aingle/src/conductor/cell/error.rs b/crates/aingle/src/conductor/cell/error.rs
index ce302fd0..62aa765a 100644
--- a/crates/aingle/src/conductor/cell/error.rs
+++ b/crates/aingle/src/conductor/cell/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::entry_def_store::error::EntryDefStoreError;
use crate::conductor::{api::error::ConductorApiError, error::ConductorError};
use crate::core::ribosome::error::RibosomeError;
diff --git a/crates/aingle/src/conductor/cell/gossip_test.rs b/crates/aingle/src/conductor/cell/gossip_test.rs
index dbd18263..d773423a 100644
--- a/crates/aingle/src/conductor/cell/gossip_test.rs
+++ b/crates/aingle/src/conductor/cell/gossip_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::test_utils::conductor_setup::ConductorTestData;
use crate::test_utils::new_zome_call;
use crate::test_utils::wait_for_integration;
diff --git a/crates/aingle/src/conductor/cell/op_query_test.rs b/crates/aingle/src/conductor/cell/op_query_test.rs
index be51973c..44bf6949 100644
--- a/crates/aingle/src/conductor/cell/op_query_test.rs
+++ b/crates/aingle/src/conductor/cell/op_query_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_sqlite::db::WriteManager;
use aingle_state::mutations;
use aingle_state::prelude::test_cell_env;
diff --git a/crates/aingle/src/conductor/cell/test.rs b/crates/aingle/src/conductor/cell/test.rs
index 0c431966..e3adfa2f 100644
--- a/crates/aingle/src/conductor/cell/test.rs
+++ b/crates/aingle/src/conductor/cell/test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::manager::spawn_task_manager;
use crate::core::ribosome::guest_callback::genesis_self_check::GenesisSelfCheckResult;
use crate::core::ribosome::MockRibosomeT;
diff --git a/crates/aingle/src/conductor/cell/validation_package.rs b/crates/aingle/src/conductor/cell/validation_package.rs
index 66de308e..ae3d341a 100644
--- a/crates/aingle/src/conductor/cell/validation_package.rs
+++ b/crates/aingle/src/conductor/cell/validation_package.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::core::ribosome::guest_callback::validation_package::ValidationPackageResult;
use crate::core::ribosome::RibosomeT;
diff --git a/crates/aingle/src/conductor/conductor.rs b/crates/aingle/src/conductor/conductor.rs
index c3848782..fc88d361 100644
--- a/crates/aingle/src/conductor/conductor.rs
+++ b/crates/aingle/src/conductor/conductor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![deny(missing_docs)]
//! A Conductor is a dynamically changing group of [Cell]s.
//!
diff --git a/crates/aingle/src/conductor/conductor/tests.rs b/crates/aingle/src/conductor/conductor/tests.rs
index be1d9681..e36a092c 100644
--- a/crates/aingle/src/conductor/conductor/tests.rs
+++ b/crates/aingle/src/conductor/conductor/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::Conductor;
use super::ConductorState;
use super::*;
diff --git a/crates/aingle/src/conductor/config.rs b/crates/aingle/src/conductor/config.rs
index 967dac97..d7fe026c 100644
--- a/crates/aingle/src/conductor/config.rs
+++ b/crates/aingle/src/conductor/config.rs
@@ -1 +1,4 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub use aingle_conductor_api::config::conductor::*;
diff --git a/crates/aingle/src/conductor/entry_def_store.rs b/crates/aingle/src/conductor/entry_def_store.rs
index ec0f2ad2..1eba21cf 100644
--- a/crates/aingle/src/conductor/entry_def_store.rs
+++ b/crates/aingle/src/conductor/entry_def_store.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Entry Defs Store
//! Stores all the entry definitions across zomes
use crate::core::ribosome::guest_callback::entry_defs::EntryDefsHostAccess;
diff --git a/crates/aingle/src/conductor/entry_def_store/error.rs b/crates/aingle/src/conductor/entry_def_store/error.rs
index ae6bf1f2..4af8d252 100644
--- a/crates/aingle/src/conductor/entry_def_store/error.rs
+++ b/crates/aingle/src/conductor/entry_def_store/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use crate::core::ribosome::error::RibosomeError;
diff --git a/crates/aingle/src/conductor/error.rs b/crates/aingle/src/conductor/error.rs
index 3dd05656..430577a8 100644
--- a/crates/aingle/src/conductor/error.rs
+++ b/crates/aingle/src/conductor/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::interface::error::InterfaceError;
use super::{entry_def_store::error::EntryDefStoreError, state::AppInterfaceId};
use crate::conductor::cell::error::CellError;
diff --git a/crates/aingle/src/conductor/handle.rs b/crates/aingle/src/conductor/handle.rs
index 725d82f5..dae5cc8e 100644
--- a/crates/aingle/src/conductor/handle.rs
+++ b/crates/aingle/src/conductor/handle.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines [ConductorHandle], a lightweight cloneable reference to a Conductor
//! with a limited public interface.
//!
diff --git a/crates/aingle/src/conductor/interactive.rs b/crates/aingle/src/conductor/interactive.rs
index fa686295..92739b4e 100644
--- a/crates/aingle/src/conductor/interactive.rs
+++ b/crates/aingle/src/conductor/interactive.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Helper functions for interacting with the user when running a Conductor
//! with the --interactive flag
diff --git a/crates/aingle/src/conductor/interface.rs b/crates/aingle/src/conductor/interface.rs
index 3ff5efa7..cec28f2b 100644
--- a/crates/aingle/src/conductor/interface.rs
+++ b/crates/aingle/src/conductor/interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Interfaces are long-running tasks which listen for incoming messages
//! and dispatch them to the appropriate handlers within AIngle.
//! They also allow emitting responses and one-way Signals.
diff --git a/crates/aingle/src/conductor/interface/error.rs b/crates/aingle/src/conductor/interface/error.rs
index 8001bb86..2f11b556 100644
--- a/crates/aingle/src/conductor/interface/error.rs
+++ b/crates/aingle/src/conductor/interface/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::error::ConductorError;
use aingle_middleware_bytes::SerializedBytesError;
use aingle_types::signal::Signal;
diff --git a/crates/aingle/src/conductor/interface/websocket.rs b/crates/aingle/src/conductor/interface/websocket.rs
index 7b9c26c0..1b54cb2c 100644
--- a/crates/aingle/src/conductor/interface/websocket.rs
+++ b/crates/aingle/src/conductor/interface/websocket.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Module for establishing Websocket-based Interfaces,
//! i.e. those configured with `InterfaceDriver::Websocket`
diff --git a/crates/aingle/src/conductor/logger.rs b/crates/aingle/src/conductor/logger.rs
index e69de29b..af77c4d6 100644
--- a/crates/aingle/src/conductor/logger.rs
+++ b/crates/aingle/src/conductor/logger.rs
@@ -0,0 +1,3 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
diff --git a/crates/aingle/src/conductor/manager/error.rs b/crates/aingle/src/conductor/manager/error.rs
index 8288d9db..a09de841 100644
--- a/crates/aingle/src/conductor/manager/error.rs
+++ b/crates/aingle/src/conductor/manager/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use crate::conductor::error::ConductorError;
diff --git a/crates/aingle/src/conductor/manager/mod.rs b/crates/aingle/src/conductor/manager/mod.rs
index 34d7fef9..9fc49014 100644
--- a/crates/aingle/src/conductor/manager/mod.rs
+++ b/crates/aingle/src/conductor/manager/mod.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! We want to have control over certain long running
//! tasks that we care about.
//! If a task that is added to the task manager ends
diff --git a/crates/aingle/src/conductor/p2p_agent_store.rs b/crates/aingle/src/conductor/p2p_agent_store.rs
index 7e6c21c4..5d84ff3b 100644
--- a/crates/aingle/src/conductor/p2p_agent_store.rs
+++ b/crates/aingle/src/conductor/p2p_agent_store.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Queries for the P2pAgentStore db
use ai_hash::AgentPubKey;
diff --git a/crates/aingle/src/conductor/p2p_metrics.rs b/crates/aingle/src/conductor/p2p_metrics.rs
index 1332f3d5..ba38a2df 100644
--- a/crates/aingle/src/conductor/p2p_metrics.rs
+++ b/crates/aingle/src/conductor/p2p_metrics.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Queries for the P2pMetrics store
// TODO [ B-04249 ] move this to the combined aingle_sqlite crate once
// consolidated with aingle_state
diff --git a/crates/aingle/src/conductor/paths.rs b/crates/aingle/src/conductor/paths.rs
index 0b7fecd2..568b8079 100644
--- a/crates/aingle/src/conductor/paths.rs
+++ b/crates/aingle/src/conductor/paths.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines default paths for various resources
pub use aingle_conductor_api::config::conductor::paths::*;
diff --git a/crates/aingle/src/conductor/saf_store.rs b/crates/aingle/src/conductor/saf_store.rs
index 77c78bb3..77a2c9e3 100644
--- a/crates/aingle/src/conductor/saf_store.rs
+++ b/crates/aingle/src/conductor/saf_store.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_types::prelude::*;
use aingle_zome_types::entry_def::EntryDef;
use std::collections::HashMap;
diff --git a/crates/aingle/src/conductor/state.rs b/crates/aingle/src/conductor/state.rs
index e62cef2b..e6b4dd2e 100644
--- a/crates/aingle/src/conductor/state.rs
+++ b/crates/aingle/src/conductor/state.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Structs which allow the Conductor's state to be persisted across
//! startups and shutdowns
diff --git a/crates/aingle/src/core.rs b/crates/aingle/src/core.rs
index 1e376e65..2a6dfa4d 100644
--- a/crates/aingle/src/core.rs
+++ b/crates/aingle/src/core.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines the core AIngle workflows
#![deny(missing_docs)]
diff --git a/crates/aingle/src/core/queue_consumer.rs b/crates/aingle/src/core/queue_consumer.rs
index 08b626bb..d68b84cd 100644
--- a/crates/aingle/src/core/queue_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Manages the spawning of tasks which process the various work queues in
//! the system, as well as notifying subsequent queue processors to pick up the
//! work that was left off.
diff --git a/crates/aingle/src/core/queue_consumer/app_validation_consumer.rs b/crates/aingle/src/core/queue_consumer/app_validation_consumer.rs
index df784ff6..6e0900e3 100644
--- a/crates/aingle/src/core/queue_consumer/app_validation_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer/app_validation_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for sys validation
use super::*;
diff --git a/crates/aingle/src/core/queue_consumer/integrate_sgd_ops_consumer.rs b/crates/aingle/src/core/queue_consumer/integrate_sgd_ops_consumer.rs
index 3f99d87d..820cf39d 100644
--- a/crates/aingle/src/core/queue_consumer/integrate_sgd_ops_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer/integrate_sgd_ops_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for SgdOp integration
use super::*;
diff --git a/crates/aingle/src/core/queue_consumer/publish_sgd_ops_consumer.rs b/crates/aingle/src/core/queue_consumer/publish_sgd_ops_consumer.rs
index 67b30cd6..ea0de96e 100644
--- a/crates/aingle/src/core/queue_consumer/publish_sgd_ops_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer/publish_sgd_ops_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for sys validation
use super::*;
diff --git a/crates/aingle/src/core/queue_consumer/sys_validation_consumer.rs b/crates/aingle/src/core/queue_consumer/sys_validation_consumer.rs
index 3116376f..11294728 100644
--- a/crates/aingle/src/core/queue_consumer/sys_validation_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer/sys_validation_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for sys validation
use super::*;
diff --git a/crates/aingle/src/core/queue_consumer/validation_receipt_consumer.rs b/crates/aingle/src/core/queue_consumer/validation_receipt_consumer.rs
index a86d3ee3..ee184f08 100644
--- a/crates/aingle/src/core/queue_consumer/validation_receipt_consumer.rs
+++ b/crates/aingle/src/core/queue_consumer/validation_receipt_consumer.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for validation receipt
use super::*;
diff --git a/crates/aingle/src/core/ribosome.rs b/crates/aingle/src/core/ribosome.rs
index c60fa8aa..d75a8271 100644
--- a/crates/aingle/src/core/ribosome.rs
+++ b/crates/aingle/src/core/ribosome.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! A Ribosome is a structure which knows how to execute hApp code.
//!
//! We have only one instance of this: [RealRibosome]. The abstract trait exists
diff --git a/crates/aingle/src/core/ribosome/error.rs b/crates/aingle/src/core/ribosome/error.rs
index 9d427346..ccd38da3 100644
--- a/crates/aingle/src/core/ribosome/error.rs
+++ b/crates/aingle/src/core/ribosome/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![deny(missing_docs)]
//! Errors occurring during a [Ribosome] call
diff --git a/crates/aingle/src/core/ribosome/guest_callback.rs b/crates/aingle/src/core/ribosome/guest_callback.rs
index 3f3878df..70d86dc5 100644
--- a/crates/aingle/src/core/ribosome/guest_callback.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub mod entry_defs;
pub mod genesis_self_check;
pub mod init;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/entry_defs.rs b/crates/aingle/src/core/ribosome/guest_callback/entry_defs.rs
index 07db3414..ee5a64ee 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/entry_defs.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/entry_defs.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/genesis_self_check.rs b/crates/aingle/src/core/ribosome/guest_callback/genesis_self_check.rs
index fc76e6f2..fc39b3cf 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/genesis_self_check.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/genesis_self_check.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/init.rs b/crates/aingle/src/core/ribosome/guest_callback/init.rs
index 37588506..d98fa04b 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/init.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/init.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/migrate_agent.rs b/crates/aingle/src/core/ribosome/guest_callback/migrate_agent.rs
index 3afeedb9..5bc91e9c 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/migrate_agent.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/migrate_agent.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/post_commit.rs b/crates/aingle/src/core/ribosome/guest_callback/post_commit.rs
index 964f361f..bdde3240 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/post_commit.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/post_commit.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/validate.rs b/crates/aingle/src/core/ribosome/guest_callback/validate.rs
index 857b221d..0034d7df 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/validate.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/validate.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/validate_link.rs b/crates/aingle/src/core/ribosome/guest_callback/validate_link.rs
index 9d99fd4e..a3d6442d 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/validate_link.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/validate_link.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/guest_callback/validation_package.rs b/crates/aingle/src/core/ribosome/guest_callback/validation_package.rs
index 9e7c3cc2..13dba2ed 100644
--- a/crates/aingle/src/core/ribosome/guest_callback/validation_package.rs
+++ b/crates/aingle/src/core/ribosome/guest_callback/validation_package.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::FnComponents;
use crate::core::ribosome::HostAccess;
use crate::core::ribosome::Invocation;
diff --git a/crates/aingle/src/core/ribosome/host_fn.rs b/crates/aingle/src/core/ribosome/host_fn.rs
index 9f1580fb..699bccc6 100644
--- a/crates/aingle/src/core/ribosome/host_fn.rs
+++ b/crates/aingle/src/core/ribosome/host_fn.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::CallContext;
use super::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/agent_info.rs b/crates/aingle/src/core/ribosome/host_fn/agent_info.rs
index 9b1709d8..7673f863 100644
--- a/crates/aingle/src/core/ribosome/host_fn/agent_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/agent_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/app_info.rs b/crates/aingle/src/core/ribosome/host_fn/app_info.rs
index a7e49a52..a47d7725 100644
--- a/crates/aingle/src/core/ribosome/host_fn/app_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/app_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/call.rs b/crates/aingle/src/core/ribosome/host_fn/call.rs
index 3dbd8ccf..c8f6ebc2 100644
--- a/crates/aingle/src/core/ribosome/host_fn/call.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/call.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use crate::core::ribosome::ZomeCall;
diff --git a/crates/aingle/src/core/ribosome/host_fn/call_info.rs b/crates/aingle/src/core/ribosome/host_fn/call_info.rs
index 8e596f32..1e53b2d1 100644
--- a/crates/aingle/src/core/ribosome/host_fn/call_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/call_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/call_remote.rs b/crates/aingle/src/core/ribosome/host_fn/call_remote.rs
index 51cdfde6..bb35afc2 100644
--- a/crates/aingle/src/core/ribosome/host_fn/call_remote.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/call_remote.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_p2p::AIngleP2pCellT;
diff --git a/crates/aingle/src/core/ribosome/host_fn/capability_claims.rs b/crates/aingle/src/core/ribosome/host_fn/capability_claims.rs
index c934701e..ae423ad7 100644
--- a/crates/aingle/src/core/ribosome/host_fn/capability_claims.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/capability_claims.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/capability_grants.rs b/crates/aingle/src/core/ribosome/host_fn/capability_grants.rs
index 14110ac4..972ff90d 100644
--- a/crates/aingle/src/core/ribosome/host_fn/capability_grants.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/capability_grants.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_wasmer_host::prelude::WasmError;
diff --git a/crates/aingle/src/core/ribosome/host_fn/capability_info.rs b/crates/aingle/src/core/ribosome/host_fn/capability_info.rs
index 15dac53e..e548b43f 100644
--- a/crates/aingle/src/core/ribosome/host_fn/capability_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/capability_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/create.rs b/crates/aingle/src/core/ribosome/host_fn/create.rs
index bc52a733..0f1a3162 100644
--- a/crates/aingle/src/core/ribosome/host_fn/create.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/create.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::error::RibosomeError;
use crate::core::ribosome::guest_callback::entry_defs::EntryDefsInvocation;
use crate::core::ribosome::guest_callback::entry_defs::EntryDefsResult;
diff --git a/crates/aingle/src/core/ribosome/host_fn/create_link.rs b/crates/aingle/src/core/ribosome/host_fn/create_link.rs
index ba0ead47..e52ff31e 100644
--- a/crates/aingle/src/core/ribosome/host_fn/create_link.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/create_link.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeError;
use crate::core::ribosome::RibosomeT;
diff --git a/crates/aingle/src/core/ribosome/host_fn/create_x25519_keypair.rs b/crates/aingle/src/core/ribosome/host_fn/create_x25519_keypair.rs
index d64af1fc..c4361308 100644
--- a/crates/aingle/src/core/ribosome/host_fn/create_x25519_keypair.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/create_x25519_keypair.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_keystore::keystore_actor::KeystoreSenderExt;
diff --git a/crates/aingle/src/core/ribosome/host_fn/delete.rs b/crates/aingle/src/core/ribosome/host_fn/delete.rs
index 79a34a23..3d3008c9 100644
--- a/crates/aingle/src/core/ribosome/host_fn/delete.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/delete.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::error::RibosomeError;
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
diff --git a/crates/aingle/src/core/ribosome/host_fn/delete_link.rs b/crates/aingle/src/core/ribosome/host_fn/delete_link.rs
index 7812ce01..f1632059 100644
--- a/crates/aingle/src/core/ribosome/host_fn/delete_link.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/delete_link.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::error::RibosomeError;
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
diff --git a/crates/aingle/src/core/ribosome/host_fn/emit_signal.rs b/crates/aingle/src/core/ribosome/host_fn/emit_signal.rs
index 9fe52db4..9bca996b 100644
--- a/crates/aingle/src/core/ribosome/host_fn/emit_signal.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/emit_signal.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::RibosomeT;
use crate::core::ribosome::CallContext;
use aingle_types::signal::Signal;
diff --git a/crates/aingle/src/core/ribosome/host_fn/get.rs b/crates/aingle/src/core/ribosome/host_fn/get.rs
index 098ce67c..f2128aa2 100644
--- a/crates/aingle/src/core/ribosome/host_fn/get.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/get.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cascade::Cascade;
diff --git a/crates/aingle/src/core/ribosome/host_fn/get_agent_activity.rs b/crates/aingle/src/core/ribosome/host_fn/get_agent_activity.rs
index 22b81c76..3824720a 100644
--- a/crates/aingle/src/core/ribosome/host_fn/get_agent_activity.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/get_agent_activity.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cascade::Cascade;
diff --git a/crates/aingle/src/core/ribosome/host_fn/get_details.rs b/crates/aingle/src/core/ribosome/host_fn/get_details.rs
index a715e0d5..9d0c6ea0 100644
--- a/crates/aingle/src/core/ribosome/host_fn/get_details.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/get_details.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cascade::Cascade;
diff --git a/crates/aingle/src/core/ribosome/host_fn/get_link_details.rs b/crates/aingle/src/core/ribosome/host_fn/get_link_details.rs
index 3e9cf911..7023797f 100644
--- a/crates/aingle/src/core/ribosome/host_fn/get_link_details.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/get_link_details.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cascade::Cascade;
diff --git a/crates/aingle/src/core/ribosome/host_fn/get_links.rs b/crates/aingle/src/core/ribosome/host_fn/get_links.rs
index 8782627a..9e6f0e0d 100644
--- a/crates/aingle/src/core/ribosome/host_fn/get_links.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/get_links.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cascade::Cascade;
diff --git a/crates/aingle/src/core/ribosome/host_fn/graph_query.rs b/crates/aingle/src/core/ribosome/host_fn/graph_query.rs
index 1a7213b5..a741dabf 100644
--- a/crates/aingle/src/core/ribosome/host_fn/graph_query.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/graph_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cortex::client::{CortexClientConfig, CortexInternalClient};
diff --git a/crates/aingle/src/core/ribosome/host_fn/graph_store.rs b/crates/aingle/src/core/ribosome/host_fn/graph_store.rs
index 84528b00..3cd24998 100644
--- a/crates/aingle/src/core/ribosome/host_fn/graph_store.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/graph_store.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cortex::client::{CortexClientConfig, CortexInternalClient};
diff --git a/crates/aingle/src/core/ribosome/host_fn/hash_entry.rs b/crates/aingle/src/core/ribosome/host_fn/hash_entry.rs
index a7627d55..3e53a696 100644
--- a/crates/aingle/src/core/ribosome/host_fn/hash_entry.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/hash_entry.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use ai_hash::HasHash;
diff --git a/crates/aingle/src/core/ribosome/host_fn/memory_recall.rs b/crates/aingle/src/core/ribosome/host_fn/memory_recall.rs
index c003dd5e..041f5eca 100644
--- a/crates/aingle/src/core/ribosome/host_fn/memory_recall.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/memory_recall.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cortex::client::{CortexClientConfig, CortexInternalClient};
diff --git a/crates/aingle/src/core/ribosome/host_fn/memory_remember.rs b/crates/aingle/src/core/ribosome/host_fn/memory_remember.rs
index eb012203..7607c443 100644
--- a/crates/aingle/src/core/ribosome/host_fn/memory_remember.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/memory_remember.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_cortex::client::{CortexClientConfig, CortexInternalClient};
diff --git a/crates/aingle/src/core/ribosome/host_fn/query.rs b/crates/aingle/src/core/ribosome/host_fn/query.rs
index 4d46b7d6..abde2da8 100644
--- a/crates/aingle/src/core/ribosome/host_fn/query.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/random_bytes.rs b/crates/aingle/src/core/ribosome/host_fn/random_bytes.rs
index d9053647..fbeb5a68 100644
--- a/crates/aingle/src/core/ribosome/host_fn/random_bytes.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/random_bytes.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/remote_signal.rs b/crates/aingle/src/core/ribosome/host_fn/remote_signal.rs
index 6aa33142..0b2bacde 100644
--- a/crates/aingle/src/core/ribosome/host_fn/remote_signal.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/remote_signal.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_p2p::AIngleP2pCellT;
diff --git a/crates/aingle/src/core/ribosome/host_fn/saf_info.rs b/crates/aingle/src/core/ribosome/host_fn/saf_info.rs
index 14e38a9d..47359bf2 100644
--- a/crates/aingle/src/core/ribosome/host_fn/saf_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/saf_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/schedule.rs b/crates/aingle/src/core/ribosome/host_fn/schedule.rs
index a7275ba6..70bcd12a 100644
--- a/crates/aingle/src/core/ribosome/host_fn/schedule.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/schedule.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/sign.rs b/crates/aingle/src/core/ribosome/host_fn/sign.rs
index c58d14c5..ece6e3c1 100644
--- a/crates/aingle/src/core/ribosome/host_fn/sign.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/sign.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_keystore::keystore_actor::KeystoreSenderExt;
diff --git a/crates/aingle/src/core/ribosome/host_fn/sign_ephemeral.rs b/crates/aingle/src/core/ribosome/host_fn/sign_ephemeral.rs
index 13a26a6a..4f5456c0 100644
--- a/crates/aingle/src/core/ribosome/host_fn/sign_ephemeral.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/sign_ephemeral.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/sleep.rs b/crates/aingle/src/core/ribosome/host_fn/sleep.rs
index 9e096479..3dfe1480 100644
--- a/crates/aingle/src/core/ribosome/host_fn/sleep.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/sleep.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/sys_time.rs b/crates/aingle/src/core/ribosome/host_fn/sys_time.rs
index 042b8353..4b14fdd4 100644
--- a/crates/aingle/src/core/ribosome/host_fn/sys_time.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/sys_time.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_wasmer_host::prelude::WasmError;
diff --git a/crates/aingle/src/core/ribosome/host_fn/trace.rs b/crates/aingle/src/core/ribosome/host_fn/trace.rs
index d85b2dc6..b92abaf0 100644
--- a/crates/aingle/src/core/ribosome/host_fn/trace.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/trace.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/unreachable.rs b/crates/aingle/src/core/ribosome/host_fn/unreachable.rs
index c7b650f4..037c2834 100644
--- a/crates/aingle/src/core/ribosome/host_fn/unreachable.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/unreachable.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/update.rs b/crates/aingle/src/core/ribosome/host_fn/update.rs
index 59cc12b8..19a31111 100644
--- a/crates/aingle/src/core/ribosome/host_fn/update.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/update.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::create::extract_entry_def;
use super::delete::get_original_address;
use crate::core::ribosome::CallContext;
diff --git a/crates/aingle/src/core/ribosome/host_fn/verify_signature.rs b/crates/aingle/src/core/ribosome/host_fn/verify_signature.rs
index d10dcf27..d47ba0f2 100644
--- a/crates/aingle/src/core/ribosome/host_fn/verify_signature.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/verify_signature.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_keystore::AgentPubKeyExt;
diff --git a/crates/aingle/src/core/ribosome/host_fn/version.rs b/crates/aingle/src/core/ribosome/host_fn/version.rs
index 9d93055e..16906710 100644
--- a/crates/aingle/src/core/ribosome/host_fn/version.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/version.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_decrypt.rs b/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_decrypt.rs
index a317b68c..0e334ba8 100644
--- a/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_decrypt.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_decrypt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_keystore::keystore_actor::KeystoreSenderExt;
diff --git a/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_encrypt.rs b/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_encrypt.rs
index a04f9aa5..d86af9b8 100644
--- a/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_encrypt.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/x_25519_x_salsa20_poly1305_encrypt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_keystore::keystore_actor::KeystoreSenderExt;
diff --git a/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_decrypt.rs b/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_decrypt.rs
index 46224632..1113d09f 100644
--- a/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_decrypt.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_decrypt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use std::sync::Arc;
diff --git a/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_encrypt.rs b/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_encrypt.rs
index 12a9789c..ca25a493 100644
--- a/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_encrypt.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/x_salsa20_poly1305_encrypt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/ribosome/host_fn/zome_info.rs b/crates/aingle/src/core/ribosome/host_fn/zome_info.rs
index 473a2d6a..4546c201 100644
--- a/crates/aingle/src/core/ribosome/host_fn/zome_info.rs
+++ b/crates/aingle/src/core/ribosome/host_fn/zome_info.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::core::ribosome::CallContext;
use crate::core::ribosome::RibosomeT;
use ai_hash::HasHash;
diff --git a/crates/aingle/src/core/ribosome/indirect_call_test.rs b/crates/aingle/src/core/ribosome/indirect_call_test.rs
index d3f509ec..63f971d8 100644
--- a/crates/aingle/src/core/ribosome/indirect_call_test.rs
+++ b/crates/aingle/src/core/ribosome/indirect_call_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Minimal test to debug indirect call type mismatch
//!
//! This test creates a minimal WASM module to verify if the issue
diff --git a/crates/aingle/src/core/ribosome/real_ribosome.rs b/crates/aingle/src/core/ribosome/real_ribosome.rs
index 6758f237..014511ee 100644
--- a/crates/aingle/src/core/ribosome/real_ribosome.rs
+++ b/crates/aingle/src/core/ribosome/real_ribosome.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::guest_callback::entry_defs::EntryDefsHostAccess;
use super::guest_callback::init::InitHostAccess;
use super::guest_callback::migrate_agent::MigrateAgentHostAccess;
diff --git a/crates/aingle/src/core/sys_validate.rs b/crates/aingle/src/core/sys_validate.rs
index 0161df53..edbc49c7 100644
--- a/crates/aingle/src/core/sys_validate.rs
+++ b/crates/aingle/src/core/sys_validate.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # System Validation Checks
//! This module contains all the checks we run for sys validation
diff --git a/crates/aingle/src/core/sys_validate/error.rs b/crates/aingle/src/core/sys_validate/error.rs
index 0aba0442..a3c53c2c 100644
--- a/crates/aingle/src/core/sys_validate/error.rs
+++ b/crates/aingle/src/core/sys_validate/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::convert::TryFrom;
use super::SourceChainError;
diff --git a/crates/aingle/src/core/sys_validate/tests.rs b/crates/aingle/src/core/sys_validate/tests.rs
index b7f0995c..f644ba6a 100644
--- a/crates/aingle/src/core/sys_validate/tests.rs
+++ b/crates/aingle/src/core/sys_validate/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::conductor::api::error::ConductorApiError;
use crate::conductor::api::MockCellConductorApi;
diff --git a/crates/aingle/src/core/validation.rs b/crates/aingle/src/core/validation.rs
index 98f4ec07..5d6895dd 100644
--- a/crates/aingle/src/core/validation.rs
+++ b/crates/aingle/src/core/validation.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Types needed for all validation
use std::convert::TryFrom;
diff --git a/crates/aingle/src/core/workflow.rs b/crates/aingle/src/core/workflow.rs
index ac0ecf90..f5374060 100644
--- a/crates/aingle/src/core/workflow.rs
+++ b/crates/aingle/src/core/workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Workflows are the core building block of AIngle functionality.
//!
//! ## Properties
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow.rs b/crates/aingle/src/core/workflow/app_validation_workflow.rs
index 7822c656..de4b2cc4 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for sys validation
use std::convert::TryInto;
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow/error.rs b/crates/aingle/src/core/workflow/app_validation_workflow/error.rs
index 39b3570f..c563744d 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow/error.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_p2p::AIngleP2pError;
use aingle_types::prelude::*;
use thiserror::Error;
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow/network_call_tests.rs b/crates/aingle/src/core/workflow/app_validation_workflow/network_call_tests.rs
index d98ca43a..1f97690f 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow/network_call_tests.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow/network_call_tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use adk::prelude::Element;
use adk::prelude::EntryType;
use adk::prelude::ValidationPackage;
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow/tests.rs b/crates/aingle/src/core/workflow/app_validation_workflow/tests.rs
index a3dc32a5..839b6471 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow/tests.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::ConductorHandle;
use crate::core::ribosome::ZomeCallInvocation;
use crate::test_utils::host_fn_caller::*;
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow/types.rs b/crates/aingle/src/core/workflow/app_validation_workflow/types.rs
index 72863896..d0aef147 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow/types.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow/types.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::convert::TryFrom;
use ai_hash::AnySgdHash;
diff --git a/crates/aingle/src/core/workflow/app_validation_workflow/validation_package.rs b/crates/aingle/src/core/workflow/app_validation_workflow/validation_package.rs
index 733cc6a5..443d17f7 100644
--- a/crates/aingle/src/core/workflow/app_validation_workflow/validation_package.rs
+++ b/crates/aingle/src/core/workflow/app_validation_workflow/validation_package.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_p2p::AIngleP2pCell;
use aingle_state::host_fn_workspace::HostFnWorkspace;
use aingle_types::prelude::*;
diff --git a/crates/aingle/src/core/workflow/call_zome_workflow.rs b/crates/aingle/src/core/workflow/call_zome_workflow.rs
index c8953d2b..73d294fd 100644
--- a/crates/aingle/src/core/workflow/call_zome_workflow.rs
+++ b/crates/aingle/src/core/workflow/call_zome_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::app_validation_workflow;
use super::app_validation_workflow::Outcome;
use super::error::WorkflowResult;
diff --git a/crates/aingle/src/core/workflow/call_zome_workflow/validation_test.rs b/crates/aingle/src/core/workflow/call_zome_workflow/validation_test.rs
index c513f468..6d740bc5 100644
--- a/crates/aingle/src/core/workflow/call_zome_workflow/validation_test.rs
+++ b/crates/aingle/src/core/workflow/call_zome_workflow/validation_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::conductor::api::error::ConductorApiError;
use crate::conductor::CellError;
use crate::conductor::ConductorHandle;
diff --git a/crates/aingle/src/core/workflow/error.rs b/crates/aingle/src/core/workflow/error.rs
index cd3a21a6..340c2be8 100644
--- a/crates/aingle/src/core/workflow/error.rs
+++ b/crates/aingle/src/core/workflow/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
// Error types are self-explanatory
#![allow(missing_docs)]
diff --git a/crates/aingle/src/core/workflow/genesis_workflow.rs b/crates/aingle/src/core/workflow/genesis_workflow.rs
index b46a0ff4..f080a178 100644
--- a/crates/aingle/src/core/workflow/genesis_workflow.rs
+++ b/crates/aingle/src/core/workflow/genesis_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Genesis Workflow: Initialize the source chain with the initial entries:
//! - Saf
//! - AgentValidationPkg
diff --git a/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow.rs b/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow.rs
index 4c2ac94e..89dd8c55 100644
--- a/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow.rs
+++ b/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for SgdOp integration
use super::error::WorkflowResult;
diff --git a/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow/test.rs b/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow/test.rs
index fd5bc7fb..394c6e9e 100644
--- a/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow/test.rs
+++ b/crates/aingle/src/core/workflow/incoming_sgd_ops_workflow/test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use ::ai_fixt::prelude::*;
use aingle_keystore::AgentPubKeyExt;
diff --git a/crates/aingle/src/core/workflow/initialize_zomes_workflow.rs b/crates/aingle/src/core/workflow/initialize_zomes_workflow.rs
index 4824548d..415e56cc 100644
--- a/crates/aingle/src/core/workflow/initialize_zomes_workflow.rs
+++ b/crates/aingle/src/core/workflow/initialize_zomes_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::error::WorkflowResult;
use crate::conductor::api::CellConductorApiT;
use crate::core::ribosome::guest_callback::init::InitHostAccess;
diff --git a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow.rs b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow.rs
index dcb6fd0f..c2d5b8d9 100644
--- a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow.rs
+++ b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for SgdOp integration
use super::error::WorkflowResult;
diff --git a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/query_tests.rs b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/query_tests.rs
index 080dbd4a..bc780e23 100644
--- a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/query_tests.rs
+++ b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/query_tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::collections::HashMap;
use std::collections::HashSet;
diff --git a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/tests.rs b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/tests.rs
index b52f6d32..a93de5f6 100644
--- a/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/tests.rs
+++ b/crates/aingle/src/core/workflow/integrate_sgd_ops_workflow/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(test)]
#![cfg(feature = "test_utils")]
diff --git a/crates/aingle/src/core/workflow/publish_sgd_ops_workflow.rs b/crates/aingle/src/core/workflow/publish_sgd_ops_workflow.rs
index 5c26df3e..3b4629eb 100644
--- a/crates/aingle/src/core/workflow/publish_sgd_ops_workflow.rs
+++ b/crates/aingle/src/core/workflow/publish_sgd_ops_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Publish Sgd Op Workflow
//!
//! ## Open questions
diff --git a/crates/aingle/src/core/workflow/publish_sgd_ops_workflow/publish_query.rs b/crates/aingle/src/core/workflow/publish_sgd_ops_workflow/publish_query.rs
index d11696d1..773aeacd 100644
--- a/crates/aingle/src/core/workflow/publish_sgd_ops_workflow/publish_query.rs
+++ b/crates/aingle/src/core/workflow/publish_sgd_ops_workflow/publish_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
// use std::time::SystemTime;
// use std::time::UNIX_EPOCH;
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow.rs b/crates/aingle/src/core/workflow/sys_validation_workflow.rs
index c29d4726..33bd994d 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! The workflow and queue consumer for sys validation
#![allow(deprecated)]
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow/chain_test.rs b/crates/aingle/src/core/workflow/sys_validation_workflow/chain_test.rs
index 17f56393..50775063 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow/chain_test.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow/chain_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::conductor::ConductorHandle;
use crate::test_utils::setup_app;
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow/test_ideas.rs b/crates/aingle/src/core/workflow/sys_validation_workflow/test_ideas.rs
index 3dc2353d..6315286d 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow/test_ideas.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow/test_ideas.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
/// Stubs for things that might break validation
/// This test shows a way to create a delete with a rejected header
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow/tests.rs b/crates/aingle/src/core/workflow/sys_validation_workflow/tests.rs
index 94844d28..c1468cfd 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow/tests.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::test_utils::host_fn_caller::*;
use crate::test_utils::setup_app;
use crate::test_utils::wait_for_integration;
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow/types.rs b/crates/aingle/src/core/workflow/sys_validation_workflow/types.rs
index 58bbea2d..30258a03 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow/types.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow/types.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
#[derive(Debug)]
diff --git a/crates/aingle/src/core/workflow/sys_validation_workflow/validation_query.rs b/crates/aingle/src/core/workflow/sys_validation_workflow/validation_query.rs
index 6380a7c9..ed26f3d2 100644
--- a/crates/aingle/src/core/workflow/sys_validation_workflow/validation_query.rs
+++ b/crates/aingle/src/core/workflow/sys_validation_workflow/validation_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::SgdOpHash;
use aingle_state::query::prelude::*;
use aingle_types::env::EnvRead;
diff --git a/crates/aingle/src/core/workflow/validation_receipt_workflow.rs b/crates/aingle/src/core/workflow/validation_receipt_workflow.rs
index 15399e1f..fda9e93e 100644
--- a/crates/aingle/src/core/workflow/validation_receipt_workflow.rs
+++ b/crates/aingle/src/core/workflow/validation_receipt_workflow.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_p2p::AIngleP2pCell;
use aingle_p2p::AIngleP2pCellT;
use aingle_state::prelude::*;
diff --git a/crates/aingle/src/core/workflow/validation_receipt_workflow/tests.rs b/crates/aingle/src/core/workflow/validation_receipt_workflow/tests.rs
index 84796096..3d36c86b 100644
--- a/crates/aingle/src/core/workflow/validation_receipt_workflow/tests.rs
+++ b/crates/aingle/src/core/workflow/validation_receipt_workflow/tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::sweettest::*;
use crate::test_utils::consistency_10s;
use adk::prelude::*;
diff --git a/crates/aingle/src/fixt.rs b/crates/aingle/src/fixt.rs
index f4fb116e..58df15e9 100644
--- a/crates/aingle/src/fixt.rs
+++ b/crates/aingle/src/fixt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub mod curve;
use crate::conductor::api::CellConductorApi;
diff --git a/crates/aingle/src/fixt/curve.rs b/crates/aingle/src/fixt/curve.rs
index 6c4c8400..15f4b239 100644
--- a/crates/aingle/src/fixt/curve.rs
+++ b/crates/aingle/src/fixt/curve.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_wasm_test_utils::TestWasm;
pub struct Zomes(pub Vec);
diff --git a/crates/aingle/src/lib.rs b/crates/aingle/src/lib.rs
index abbab259..b8c4b3f3 100644
--- a/crates/aingle/src/lib.rs
+++ b/crates/aingle/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! All the components you need to build a AIngle Conductor
// Toggle this to see what needs to be eventually refactored (as warnings).
diff --git a/crates/aingle/src/local_network_tests.rs b/crates/aingle/src/local_network_tests.rs
index 826b1c6a..a2724fe2 100644
--- a/crates/aingle/src/local_network_tests.rs
+++ b/crates/aingle/src/local_network_tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::convert::TryFrom;
use std::sync::Arc;
diff --git a/crates/aingle/src/perf.rs b/crates/aingle/src/perf.rs
index e69de29b..af77c4d6 100644
--- a/crates/aingle/src/perf.rs
+++ b/crates/aingle/src/perf.rs
@@ -0,0 +1,3 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
diff --git a/crates/aingle/src/sweettest/mod.rs b/crates/aingle/src/sweettest/mod.rs
index 404667b8..b56e1e1d 100644
--- a/crates/aingle/src/sweettest/mod.rs
+++ b/crates/aingle/src/sweettest/mod.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! sweettest = Streamlined AIngle test utils with lots of added sugar
//!
//! Features:
diff --git a/crates/aingle/src/sweettest/sweet_agents.rs b/crates/aingle/src/sweettest/sweet_agents.rs
index 55e1841d..6b2e4143 100644
--- a/crates/aingle/src/sweettest/sweet_agents.rs
+++ b/crates/aingle/src/sweettest/sweet_agents.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Simple methods for generating collections of AgentPubKeys for use in tests
use ai_hash::AgentPubKey;
diff --git a/crates/aingle/src/sweettest/sweet_app.rs b/crates/aingle/src/sweettest/sweet_app.rs
index efe9a587..8bd82a04 100644
--- a/crates/aingle/src/sweettest/sweet_app.rs
+++ b/crates/aingle/src/sweettest/sweet_app.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::SweetCell;
use ai_hash::AgentPubKey;
use aingle_types::app::InstalledAppId;
diff --git a/crates/aingle/src/sweettest/sweet_cell.rs b/crates/aingle/src/sweettest/sweet_cell.rs
index 50a05f5b..39247e56 100644
--- a/crates/aingle/src/sweettest/sweet_cell.rs
+++ b/crates/aingle/src/sweettest/sweet_cell.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::SweetZome;
use adk::prelude::*;
use ai_hash::SafHash;
diff --git a/crates/aingle/src/sweettest/sweet_conductor.rs b/crates/aingle/src/sweettest/sweet_conductor.rs
index 31da27c2..064dc771 100644
--- a/crates/aingle/src/sweettest/sweet_conductor.rs
+++ b/crates/aingle/src/sweettest/sweet_conductor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! A wrapper around ConductorHandle with more convenient methods for testing
// TODO [ B-03669 ] move to own crate
diff --git a/crates/aingle/src/sweettest/sweet_conductor_batch.rs b/crates/aingle/src/sweettest/sweet_conductor_batch.rs
index 2ba38802..cf602625 100644
--- a/crates/aingle/src/sweettest/sweet_conductor_batch.rs
+++ b/crates/aingle/src/sweettest/sweet_conductor_batch.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::{standard_config, SweetAgents, SweetAppBatch, SweetConductor};
use crate::conductor::{config::ConductorConfig, error::ConductorResult};
use adk::prelude::*;
diff --git a/crates/aingle/src/sweettest/sweet_conductor_handle.rs b/crates/aingle/src/sweettest/sweet_conductor_handle.rs
index d7e3965a..134826e9 100644
--- a/crates/aingle/src/sweettest/sweet_conductor_handle.rs
+++ b/crates/aingle/src/sweettest/sweet_conductor_handle.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::SweetZome;
use crate::conductor::{api::error::ConductorApiResult, ConductorHandle};
use aingle_conductor_api::ZomeCall;
diff --git a/crates/aingle/src/sweettest/sweet_network.rs b/crates/aingle/src/sweettest/sweet_network.rs
index 9ef5a0ce..dacea905 100644
--- a/crates/aingle/src/sweettest/sweet_network.rs
+++ b/crates/aingle/src/sweettest/sweet_network.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use kitsune_p2p::KitsuneP2pConfig;
/// Helper for constructing common kitsune networks
diff --git a/crates/aingle/src/sweettest/sweet_saf.rs b/crates/aingle/src/sweettest/sweet_saf.rs
index 5f45bbec..ac8e7526 100644
--- a/crates/aingle/src/sweettest/sweet_saf.rs
+++ b/crates/aingle/src/sweettest/sweet_saf.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_types::prelude::*;
use std::path::Path;
diff --git a/crates/aingle/src/sweettest/sweet_zome.rs b/crates/aingle/src/sweettest/sweet_zome.rs
index b028c56f..86c65907 100644
--- a/crates/aingle/src/sweettest/sweet_zome.rs
+++ b/crates/aingle/src/sweettest/sweet_zome.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use adk::prelude::*;
/// A reference to a Zome in a Cell created by a SweetConductor installation function.
diff --git a/crates/aingle/src/test_utils.rs b/crates/aingle/src/test_utils.rs
index 86512a09..c0c8384f 100644
--- a/crates/aingle/src/test_utils.rs
+++ b/crates/aingle/src/test_utils.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Utils for AIngle tests
use crate::conductor::api::RealAppInterfaceApi;
diff --git a/crates/aingle/src/test_utils/conductor_setup.rs b/crates/aingle/src/test_utils/conductor_setup.rs
index fe362604..9b526ebc 100644
--- a/crates/aingle/src/test_utils/conductor_setup.rs
+++ b/crates/aingle/src/test_utils/conductor_setup.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use super::host_fn_caller::HostFnCaller;
diff --git a/crates/aingle/src/test_utils/host_fn_caller.rs b/crates/aingle/src/test_utils/host_fn_caller.rs
index 8f1b57a9..b80a989c 100644
--- a/crates/aingle/src/test_utils/host_fn_caller.rs
+++ b/crates/aingle/src/test_utils/host_fn_caller.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(missing_docs)]
use crate::conductor::api::CellConductorApi;
diff --git a/crates/aingle/src/test_utils/test_conductor/test_handle.rs b/crates/aingle/src/test_utils/test_conductor/test_handle.rs
index e3b6d363..1d9ea544 100644
--- a/crates/aingle/src/test_utils/test_conductor/test_handle.rs
+++ b/crates/aingle/src/test_utils/test_conductor/test_handle.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! A wrapper around ConductorHandle with more convenient methods for testing
// TODO [ B-03669 ] move to own crate
diff --git a/crates/aingle/src/test_utils/wait_for_any.rs b/crates/aingle/src/test_utils/wait_for_any.rs
index 09b55856..15f500ad 100644
--- a/crates/aingle/src/test_utils/wait_for_any.rs
+++ b/crates/aingle/src/test_utils/wait_for_any.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::time::Duration;
/// Wait for any condition with custom wait parameters and assertions.
diff --git a/crates/aingle/tests/agent_scaling.rs b/crates/aingle/tests/agent_scaling.rs
index 1088919b..db09f6fe 100644
--- a/crates/aingle/tests/agent_scaling.rs
+++ b/crates/aingle/tests/agent_scaling.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(feature = "test_utils")]
use adk::prelude::Links;
diff --git a/crates/aingle/tests/authored_test.rs b/crates/aingle/tests/authored_test.rs
index 92b1b89c..5a44d746 100644
--- a/crates/aingle/tests/authored_test.rs
+++ b/crates/aingle/tests/authored_test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::convert::TryFrom;
use std::convert::TryInto;
use std::time::Duration;
diff --git a/crates/aingle/tests/inline_zome_spec.rs b/crates/aingle/tests/inline_zome_spec.rs
index 136a4667..b64aeb0a 100644
--- a/crates/aingle/tests/inline_zome_spec.rs
+++ b/crates/aingle/tests/inline_zome_spec.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(feature = "test_utils")]
use std::sync::Arc;
diff --git a/crates/aingle/tests/multi_conductor.rs b/crates/aingle/tests/multi_conductor.rs
index fd8361de..014fe296 100644
--- a/crates/aingle/tests/multi_conductor.rs
+++ b/crates/aingle/tests/multi_conductor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use adk::prelude::*;
use aingle::conductor::config::ConductorConfig;
use aingle::sweettest::SweetNetwork;
diff --git a/crates/aingle/tests/network_tests.rs b/crates/aingle/tests/network_tests.rs
index 0a2746bf..1f9e4ac7 100644
--- a/crates/aingle/tests/network_tests.rs
+++ b/crates/aingle/tests/network_tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(feature = "test_utils")]
#![cfg(todo_redo_old_tests)]
#![allow(unused_imports)]
diff --git a/crates/aingle/tests/ser_regression.rs b/crates/aingle/tests/ser_regression.rs
index 1a7e4a27..9157be1d 100644
--- a/crates/aingle/tests/ser_regression.rs
+++ b/crates/aingle/tests/ser_regression.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(deprecated)]
use ::ai_fixt::prelude::*;
diff --git a/crates/aingle/tests/sgd_arc.rs b/crates/aingle/tests/sgd_arc.rs
index b10996e0..210d0217 100644
--- a/crates/aingle/tests/sgd_arc.rs
+++ b/crates/aingle/tests/sgd_arc.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle::sweettest::SweetAgents;
use aingle::sweettest::SweetConductor;
use aingle_keystore::KeystoreSender;
diff --git a/crates/aingle/tests/speed_tests.rs b/crates/aingle/tests/speed_tests.rs
index d34760c8..8eb3de4a 100644
--- a/crates/aingle/tests/speed_tests.rs
+++ b/crates/aingle/tests/speed_tests.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Speed tests
//! These are designed to diagnose performance issues from a macro level.
//! They are not intended to detect performance regressions or to be run in CI.
diff --git a/crates/aingle/tests/test_cli.rs b/crates/aingle/tests/test_cli.rs
index 0b152ca9..81dfba7c 100644
--- a/crates/aingle/tests/test_cli.rs
+++ b/crates/aingle/tests/test_cli.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![cfg(test)]
use assert_cmd::prelude::*;
diff --git a/crates/aingle/tests/test_utils.rs b/crates/aingle/tests/test_utils.rs
index bc1fe564..5ac6c24b 100644
--- a/crates/aingle/tests/test_utils.rs
+++ b/crates/aingle/tests/test_utils.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle::conductor::ConductorHandle;
use aingle_websocket::WebsocketReceiver;
use aingle_websocket::WebsocketSender;
diff --git a/crates/aingle/tests/websocket.rs b/crates/aingle/tests/websocket.rs
index 1aaf7470..6d7ca165 100644
--- a/crates/aingle/tests/websocket.rs
+++ b/crates/aingle/tests/websocket.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ::ai_fixt::prelude::*;
use adk::prelude::RemoteSignal;
use aingle::sweettest::SweetAgents;
diff --git a/crates/aingle_ai/Cargo.toml b/crates/aingle_ai/Cargo.toml
index 22e790a1..a087fc5a 100644
--- a/crates/aingle_ai/Cargo.toml
+++ b/crates/aingle_ai/Cargo.toml
@@ -1,8 +1,8 @@
[package]
name = "aingle_ai"
-version = "0.1.0"
-description = "AI integration layer for AIngle - Titans Memory, Nested Learning, HOPE Agents"
-license = "Apache-2.0"
+version = "0.6.3"
+description = "AI integration layer for AIngle - Ineru, Nested Learning, Kaneru"
+license = "Apache-2.0 OR LicenseRef-Commercial"
repository = "https://github.com/ApiliumCode/aingle"
homepage = "https://apilium.com"
documentation = "https://docs.rs/aingle_ai"
@@ -41,11 +41,11 @@ blake2 = "0.10"
chrono = { version = "0.4", features = ["serde"] }
# Configuration
-toml = "0.8"
+toml = "0.9"
# Optional: Full ML capabilities (disabled by default for IoT)
[dependencies.candle-core]
-version = "0.4"
+version = "0.9"
optional = true
[dependencies.candle-nn]
diff --git a/crates/aingle_ai/src/config.rs b/crates/aingle_ai/src/config.rs
index ced1f43e..9b55a283 100644
--- a/crates/aingle_ai/src/config.rs
+++ b/crates/aingle_ai/src/config.rs
@@ -1,21 +1,24 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Global AI configuration
-use crate::hope::HopeConfig;
+use crate::kaneru::KaneruConfig;
use crate::nested_learning::NestedConfig;
-use crate::titans::TitansConfig;
+use crate::ineru::IneruConfig;
use serde::{Deserialize, Serialize};
/// Global AI configuration for AIngle nodes
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AiConfig {
- /// Titans Memory configuration
- pub titans: TitansConfig,
+ /// Ineru memory configuration
+ pub titans: IneruConfig,
/// Nested Learning configuration
pub nested_learning: NestedConfig,
- /// HOPE Agent configuration
- pub hope: HopeConfig,
+ /// Kaneru Agent configuration
+ pub kaneru: KaneruConfig,
/// Enable predictive validation
pub predictive_validation: bool,
@@ -30,9 +33,9 @@ pub struct AiConfig {
impl Default for AiConfig {
fn default() -> Self {
Self {
- titans: TitansConfig::default(),
+ titans: IneruConfig::default(),
nested_learning: NestedConfig::default(),
- hope: HopeConfig::default(),
+ kaneru: KaneruConfig::default(),
predictive_validation: true,
adaptive_consensus: true,
iot_mode: false,
@@ -44,9 +47,9 @@ impl AiConfig {
/// Create IoT-optimized configuration
pub fn iot() -> Self {
Self {
- titans: TitansConfig::iot(),
+ titans: IneruConfig::iot(),
nested_learning: NestedConfig::iot(),
- hope: HopeConfig::iot(),
+ kaneru: KaneruConfig::iot(),
predictive_validation: false, // Too expensive for IoT
adaptive_consensus: true,
iot_mode: true,
@@ -56,9 +59,9 @@ impl AiConfig {
/// Create full-power configuration for servers
pub fn full_power() -> Self {
Self {
- titans: TitansConfig::full_power(),
+ titans: IneruConfig::full_power(),
nested_learning: NestedConfig::full_power(),
- hope: HopeConfig::full_power(),
+ kaneru: KaneruConfig::full_power(),
predictive_validation: true,
adaptive_consensus: true,
iot_mode: false,
@@ -79,7 +82,7 @@ impl AiConfig {
pub fn validate(&self) -> Result<(), String> {
self.titans.validate()?;
self.nested_learning.validate()?;
- self.hope.validate()?;
+ self.kaneru.validate()?;
Ok(())
}
}
diff --git a/crates/aingle_ai/src/emergent/adaptive_consensus.rs b/crates/aingle_ai/src/emergent/adaptive_consensus.rs
index 63e7aa2d..1ddc2f98 100644
--- a/crates/aingle_ai/src/emergent/adaptive_consensus.rs
+++ b/crates/aingle_ai/src/emergent/adaptive_consensus.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Adaptive Consensus
//!
//! Adjust consensus level based on transaction importance.
diff --git a/crates/aingle_ai/src/emergent/mod.rs b/crates/aingle_ai/src/emergent/mod.rs
index 2626599f..d591a5dc 100644
--- a/crates/aingle_ai/src/emergent/mod.rs
+++ b/crates/aingle_ai/src/emergent/mod.rs
@@ -1,7 +1,10 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Emergent Capabilities
//!
-//! Higher-level AI capabilities that emerge from combining Titans Memory,
-//! Nested Learning, and HOPE Agents.
+//! Higher-level AI capabilities that emerge from combining Ineru,
+//! Nested Learning, and Kaneru.
//!
//! ## Components
//!
@@ -15,13 +18,13 @@ pub use adaptive_consensus::AdaptiveConsensus;
pub use predictive_validator::PredictiveValidator;
use crate::nested_learning::NestedLearning;
-use crate::titans::TitansMemory;
+use crate::ineru::IneruMemory;
use crate::types::{AiTransaction, ConsensusLevel, ValidationPrediction};
/// Unified AI layer combining all capabilities
pub struct AiLayer {
- /// Titans Memory for pattern learning
- titans: TitansMemory,
+ /// Ineru memory for pattern learning
+ ineru: IneruMemory,
/// Nested Learning for optimization
nested: NestedLearning,
@@ -37,10 +40,10 @@ impl AiLayer {
/// Create a new AI layer with default configuration
pub fn new() -> Self {
use crate::nested_learning::NestedConfig;
- use crate::titans::TitansConfig;
+ use crate::ineru::IneruConfig;
Self {
- titans: TitansMemory::new(TitansConfig::default()),
+ ineru: IneruMemory::new(IneruConfig::default()),
nested: NestedLearning::new(NestedConfig::default()),
predictor: PredictiveValidator::new(),
consensus: AdaptiveConsensus::new(),
@@ -49,14 +52,14 @@ impl AiLayer {
/// Process a transaction through the full AI pipeline
pub fn process(&mut self, tx: &AiTransaction) -> AiProcessResult {
- // 1. Process through Titans memory
- let titans_result = self.titans.process(tx).ok();
+ // 1. Process through Ineru memory
+ let ineru_result = self.ineru.process(tx).ok();
// 2. Process through Nested Learning
let nested_result = self.nested.process(tx).ok();
// 3. Get validation prediction
- let prediction = self.predictor.predict(tx, &self.titans, &self.nested);
+ let prediction = self.predictor.predict(tx, &self.ineru, &self.nested);
// 4. Determine consensus level
let consensus_level = self.consensus.determine_level(tx, &prediction);
@@ -64,7 +67,7 @@ impl AiLayer {
AiProcessResult {
prediction,
consensus_level,
- stored_pattern: titans_result.map(|r| r.stored_long_term).unwrap_or(false),
+ stored_pattern: ineru_result.map(|r| r.stored_long_term).unwrap_or(false),
validation_strategy: nested_result.map(|r| r.strategy),
}
}
@@ -72,7 +75,7 @@ impl AiLayer {
/// Query for similar patterns
pub fn query_similar(&self, tx: &AiTransaction, limit: usize) -> Vec {
let pattern = tx.to_pattern();
- self.titans
+ self.ineru
.query(&pattern, limit)
.into_iter()
.map(|m| PatternMatch {
@@ -84,12 +87,12 @@ impl AiLayer {
/// Get AI layer statistics
pub fn stats(&self) -> AiLayerStats {
- let titans_stats = self.titans.stats();
+ let ineru_stats = self.ineru.stats();
let nested_stats = self.nested.stats();
AiLayerStats {
- titans_short_term_size: titans_stats.short_term_size,
- titans_long_term_size: titans_stats.long_term_size,
+ ineru_short_term_size: ineru_stats.short_term_size,
+ ineru_long_term_size: ineru_stats.long_term_size,
nested_tx_count: nested_stats.tx_count,
nested_block_count: nested_stats.block_count,
}
@@ -127,10 +130,10 @@ pub struct PatternMatch {
/// AI layer statistics
#[derive(Debug, Clone)]
pub struct AiLayerStats {
- /// Titans short-term memory size
- pub titans_short_term_size: usize,
- /// Titans long-term memory size
- pub titans_long_term_size: usize,
+ /// Ineru short-term memory size
+ pub ineru_short_term_size: usize,
+ /// Ineru long-term memory size
+ pub ineru_long_term_size: usize,
/// Nested learning transaction count
pub nested_tx_count: u64,
/// Nested learning block count
diff --git a/crates/aingle_ai/src/emergent/predictive_validator.rs b/crates/aingle_ai/src/emergent/predictive_validator.rs
index 8cf85ad2..d96d7f23 100644
--- a/crates/aingle_ai/src/emergent/predictive_validator.rs
+++ b/crates/aingle_ai/src/emergent/predictive_validator.rs
@@ -1,9 +1,12 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Predictive Validator
//!
//! Predict validation outcome before full validation.
use crate::nested_learning::NestedLearning;
-use crate::titans::TitansMemory;
+use crate::ineru::IneruMemory;
use crate::types::{AiTransaction, ValidationPrediction};
/// Predict validation outcome before full validation
@@ -32,12 +35,12 @@ impl PredictiveValidator {
pub fn predict(
&self,
tx: &AiTransaction,
- titans: &TitansMemory,
+ ineru: &IneruMemory,
nested: &NestedLearning,
) -> ValidationPrediction {
// Use Titans memory for pattern matching
let pattern = tx.to_pattern();
- let similar_patterns = titans.query(&pattern, 100);
+ let similar_patterns = ineru.query(&pattern, 100);
// Use Nested Learning for complexity estimation
let complexity = {
@@ -158,7 +161,7 @@ pub struct PredictionAccuracy {
mod tests {
use super::*;
use crate::nested_learning::NestedConfig;
- use crate::titans::TitansConfig;
+ use crate::ineru::IneruConfig;
fn make_test_tx(id: u8) -> AiTransaction {
AiTransaction {
@@ -174,11 +177,11 @@ mod tests {
#[test]
fn test_predictive_validator() {
let validator = PredictiveValidator::new();
- let titans = TitansMemory::new(TitansConfig::default());
+ let ineru = IneruMemory::new(IneruConfig::default());
let nested = NestedLearning::new(NestedConfig::default());
let tx = make_test_tx(1);
- let prediction = validator.predict(&tx, &titans, &nested);
+ let prediction = validator.predict(&tx, &ineru, &nested);
assert!(prediction.confidence >= 0.0 && prediction.confidence <= 1.0);
assert!(prediction.estimated_time_ms > 0);
diff --git a/crates/aingle_ai/src/error.rs b/crates/aingle_ai/src/error.rs
index 75173665..976ef679 100644
--- a/crates/aingle_ai/src/error.rs
+++ b/crates/aingle_ai/src/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Error types for the AI module
use thiserror::Error;
diff --git a/crates/aingle_ai/src/titans/config.rs b/crates/aingle_ai/src/ineru/config.rs
similarity index 87%
rename from crates/aingle_ai/src/titans/config.rs
rename to crates/aingle_ai/src/ineru/config.rs
index 69cb0b1f..b884d75e 100644
--- a/crates/aingle_ai/src/titans/config.rs
+++ b/crates/aingle_ai/src/ineru/config.rs
@@ -1,10 +1,13 @@
-//! Titans Memory configuration
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
+//! Ineru memory configuration
use serde::{Deserialize, Serialize};
-/// Configuration for Titans Memory system
+/// Configuration for Ineru memory system
#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct TitansConfig {
+pub struct IneruConfig {
/// Short-term window size (number of transactions)
pub window_size: usize,
@@ -34,7 +37,7 @@ pub struct TitansConfig {
pub compression_ratio: f32,
}
-impl Default for TitansConfig {
+impl Default for IneruConfig {
fn default() -> Self {
Self {
window_size: 1000,
@@ -50,7 +53,7 @@ impl Default for TitansConfig {
}
}
-impl TitansConfig {
+impl IneruConfig {
/// IoT-optimized configuration (minimal memory usage)
pub fn iot() -> Self {
Self {
@@ -119,35 +122,35 @@ mod tests {
#[test]
fn test_default_config() {
- let config = TitansConfig::default();
+ let config = IneruConfig::default();
assert!(config.validate().is_ok());
}
#[test]
fn test_iot_config() {
- let config = TitansConfig::iot();
+ let config = IneruConfig::iot();
assert!(config.validate().is_ok());
- assert!(config.window_size < TitansConfig::default().window_size);
+ assert!(config.window_size < IneruConfig::default().window_size);
}
#[test]
fn test_validation() {
- let mut config = TitansConfig::default();
+ let mut config = IneruConfig::default();
config.window_size = 0;
assert!(config.validate().is_err());
- config = TitansConfig::default();
+ config = IneruConfig::default();
config.surprise_threshold = 1.5;
assert!(config.validate().is_err());
}
#[test]
fn test_memory_estimation() {
- let config = TitansConfig::default();
+ let config = IneruConfig::default();
let bytes = config.estimated_memory_bytes();
assert!(bytes > 0);
- let iot_config = TitansConfig::iot();
+ let iot_config = IneruConfig::iot();
let iot_bytes = iot_config.estimated_memory_bytes();
assert!(iot_bytes < bytes);
}
diff --git a/crates/aingle_ai/src/titans/long_term.rs b/crates/aingle_ai/src/ineru/long_term.rs
similarity index 98%
rename from crates/aingle_ai/src/titans/long_term.rs
rename to crates/aingle_ai/src/ineru/long_term.rs
index 99de1093..f4502b98 100644
--- a/crates/aingle_ai/src/titans/long_term.rs
+++ b/crates/aingle_ai/src/ineru/long_term.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Long-Term Memory implementation
//!
//! Neural compression of historical patterns with surprise-based updates.
diff --git a/crates/aingle_ai/src/titans/mod.rs b/crates/aingle_ai/src/ineru/mod.rs
similarity index 90%
rename from crates/aingle_ai/src/titans/mod.rs
rename to crates/aingle_ai/src/ineru/mod.rs
index 5974a93a..0393fba6 100644
--- a/crates/aingle_ai/src/titans/mod.rs
+++ b/crates/aingle_ai/src/ineru/mod.rs
@@ -1,4 +1,7 @@
-//! # Titans Memory Layer
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
+//! # Ineru Memory Layer
//!
//! Implementation of dual memory system based on the Titans paper (arXiv 2501.00663).
//!
@@ -11,11 +14,11 @@
//! ## Example
//!
//! ```rust,no_run
-//! use aingle_ai::titans::{TitansMemory, TitansConfig};
+//! use aingle_ai::ineru::{IneruMemory, IneruConfig};
//! use aingle_ai::AiTransaction;
//!
-//! let config = TitansConfig::default();
-//! let mut memory = TitansMemory::new(config);
+//! let config = IneruConfig::default();
+//! let mut memory = IneruMemory::new(config);
//!
//! // Process a transaction
//! // let result = memory.process(&tx);
@@ -26,7 +29,7 @@ mod long_term;
mod short_term;
mod surprise_gate;
-pub use config::TitansConfig;
+pub use config::IneruConfig;
pub use long_term::{LongTermMemory, MemoryBank};
pub use short_term::ShortTermMemory;
pub use surprise_gate::SurpriseGate;
@@ -39,12 +42,12 @@ use parking_lot::RwLock;
use std::sync::Arc;
use tracing::{debug, trace};
-/// Titans Memory System for AIngle nodes
+/// Ineru Memory System for AIngle nodes
///
/// Implements dual memory architecture:
/// - Short-term: Fast access to recent transactions
/// - Long-term: Compressed historical patterns
-pub struct TitansMemory {
+pub struct IneruMemory {
/// Short-term memory: Recent transactions (attention-based)
short_term: Arc>,
@@ -55,12 +58,12 @@ pub struct TitansMemory {
surprise_gate: SurpriseGate,
/// Configuration
- config: TitansConfig,
+ config: IneruConfig,
}
-impl TitansMemory {
- /// Create a new Titans memory system
- pub fn new(config: TitansConfig) -> Self {
+impl IneruMemory {
+ /// Create a new Ineru memory system
+ pub fn new(config: IneruConfig) -> Self {
let short_term = ShortTermMemory::new(config.window_size);
let long_term = LongTermMemory::new(config.memory_capacity, config.embedding_dim);
let surprise_gate = SurpriseGate::new(config.surprise_threshold);
@@ -81,7 +84,7 @@ impl TitansMemory {
/// 4. Updates long-term memory if threshold exceeded
pub fn process(&mut self, tx: &AiTransaction) -> AiResult {
let pattern = tx.to_pattern();
- trace!(hash = ?tx.hash, "Processing transaction through Titans memory");
+ trace!(hash = ?tx.hash, "Processing transaction through Ineru memory");
// 1. Add to short-term memory
{
@@ -288,9 +291,9 @@ mod tests {
}
#[test]
- fn test_titans_memory_basic() {
- let config = TitansConfig::default();
- let mut memory = TitansMemory::new(config);
+ fn test_ineru_memory_basic() {
+ let config = IneruConfig::default();
+ let mut memory = IneruMemory::new(config);
let tx = make_test_tx(1);
let result = memory.process(&tx).unwrap();
@@ -300,9 +303,9 @@ mod tests {
}
#[test]
- fn test_titans_memory_query() {
- let config = TitansConfig::default();
- let mut memory = TitansMemory::new(config);
+ fn test_ineru_memory_query() {
+ let config = IneruConfig::default();
+ let mut memory = IneruMemory::new(config);
// Add some transactions
for i in 0..10 {
@@ -320,12 +323,12 @@ mod tests {
#[test]
fn test_anomaly_detection() {
- let config = TitansConfig {
+ let config = IneruConfig {
anomaly_detection: true,
anomaly_threshold: 0.5,
- ..TitansConfig::default()
+ ..IneruConfig::default()
};
- let mut memory = TitansMemory::new(config);
+ let mut memory = IneruMemory::new(config);
// Train on similar transactions
for i in 0..20 {
@@ -354,8 +357,8 @@ mod tests {
#[test]
fn test_memory_stats() {
- let config = TitansConfig::default();
- let mut memory = TitansMemory::new(config.clone());
+ let config = IneruConfig::default();
+ let mut memory = IneruMemory::new(config.clone());
let stats = memory.stats();
assert_eq!(stats.short_term_size, 0);
diff --git a/crates/aingle_ai/src/titans/short_term.rs b/crates/aingle_ai/src/ineru/short_term.rs
similarity index 98%
rename from crates/aingle_ai/src/titans/short_term.rs
rename to crates/aingle_ai/src/ineru/short_term.rs
index e8cce017..a8691624 100644
--- a/crates/aingle_ai/src/titans/short_term.rs
+++ b/crates/aingle_ai/src/ineru/short_term.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Short-Term Memory implementation
//!
//! Sliding window of recent transactions with attention-based weighting.
diff --git a/crates/aingle_ai/src/titans/surprise_gate.rs b/crates/aingle_ai/src/ineru/surprise_gate.rs
similarity index 97%
rename from crates/aingle_ai/src/titans/surprise_gate.rs
rename to crates/aingle_ai/src/ineru/surprise_gate.rs
index 1de06694..48a21b8f 100644
--- a/crates/aingle_ai/src/titans/surprise_gate.rs
+++ b/crates/aingle_ai/src/ineru/surprise_gate.rs
@@ -1,9 +1,12 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Surprise Gate implementation
//!
//! Controls when to update long-term memory based on "surprise" metric.
//! Inspired by the Titans paper's surprise-gated memory updates.
-use crate::titans::LongTermMemory;
+use crate::ineru::LongTermMemory;
use crate::types::Pattern;
use std::collections::VecDeque;
diff --git a/crates/aingle_ai/src/hope/config.rs b/crates/aingle_ai/src/kaneru/config.rs
similarity index 90%
rename from crates/aingle_ai/src/hope/config.rs
rename to crates/aingle_ai/src/kaneru/config.rs
index ae52e42c..11936081 100644
--- a/crates/aingle_ai/src/hope/config.rs
+++ b/crates/aingle_ai/src/kaneru/config.rs
@@ -1,10 +1,13 @@
-//! HOPE Agent configuration
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
+//! Kaneru Agent configuration
use serde::{Deserialize, Serialize};
-/// Configuration for HOPE Agent
+/// Configuration for Kaneru Agent
#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct HopeConfig {
+pub struct KaneruConfig {
/// Enable self-modification
pub self_modification_enabled: bool,
@@ -41,7 +44,7 @@ pub enum SafetyLevel {
Permissive,
}
-impl Default for HopeConfig {
+impl Default for KaneruConfig {
fn default() -> Self {
Self {
self_modification_enabled: true,
@@ -56,7 +59,7 @@ impl Default for HopeConfig {
}
}
-impl HopeConfig {
+impl KaneruConfig {
/// IoT-optimized configuration
pub fn iot() -> Self {
Self {
@@ -112,13 +115,13 @@ mod tests {
#[test]
fn test_default_config() {
- let config = HopeConfig::default();
+ let config = KaneruConfig::default();
assert!(config.validate().is_ok());
}
#[test]
fn test_iot_config() {
- let config = HopeConfig::iot();
+ let config = KaneruConfig::iot();
assert!(config.validate().is_ok());
assert!(!config.self_modification_enabled);
}
diff --git a/crates/aingle_ai/src/hope/context_learner.rs b/crates/aingle_ai/src/kaneru/context_learner.rs
similarity index 97%
rename from crates/aingle_ai/src/hope/context_learner.rs
rename to crates/aingle_ai/src/kaneru/context_learner.rs
index a4624577..925acfba 100644
--- a/crates/aingle_ai/src/hope/context_learner.rs
+++ b/crates/aingle_ai/src/kaneru/context_learner.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Context Learner implementation
//!
//! Infinite in-context learning without forgetting.
diff --git a/crates/aingle_ai/src/hope/continuum_memory.rs b/crates/aingle_ai/src/kaneru/continuum_memory.rs
similarity index 98%
rename from crates/aingle_ai/src/hope/continuum_memory.rs
rename to crates/aingle_ai/src/kaneru/continuum_memory.rs
index 2f244b77..4104c47e 100644
--- a/crates/aingle_ai/src/hope/continuum_memory.rs
+++ b/crates/aingle_ai/src/kaneru/continuum_memory.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Continuum Memory implementation
//!
//! Non-discrete memory system with smooth interpolation.
diff --git a/crates/aingle_ai/src/hope/mod.rs b/crates/aingle_ai/src/kaneru/mod.rs
similarity index 91%
rename from crates/aingle_ai/src/hope/mod.rs
rename to crates/aingle_ai/src/kaneru/mod.rs
index f7ffa54d..22b90603 100644
--- a/crates/aingle_ai/src/hope/mod.rs
+++ b/crates/aingle_ai/src/kaneru/mod.rs
@@ -1,6 +1,9 @@
-//! # HOPE Agent Layer
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
+//! # Kaneru Agent Layer
//!
-//! Higher Order Program Evolution - Self-modifying nodes with continual learning.
+//! Unified Multi-Agent Execution System - Self-modifying nodes with continual learning.
//!
//! ## Components
//!
@@ -11,7 +14,7 @@
//!
//! ## Safety
//!
-//! HOPE agents have strict safety bounds that prevent:
+//! Kaneru agents have strict safety bounds that prevent:
//! - Modification of cryptographic code
//! - Modification of consensus rules
//! - Modification of identity handling
@@ -19,10 +22,10 @@
//! ## Example
//!
//! ```rust,no_run
-//! use aingle_ai::hope::{HopeAgent, HopeConfig};
+//! use aingle_ai::kaneru::{KaneruAgent, KaneruConfig};
//!
-//! let config = HopeConfig::default();
-//! let mut agent = HopeAgent::new(config);
+//! let config = KaneruConfig::default();
+//! let mut agent = KaneruAgent::new(config);
//!
//! // Process experience
//! // agent.process_experience(&experience);
@@ -34,7 +37,7 @@ mod continuum_memory;
mod reconfigurator;
mod self_modifier;
-pub use config::HopeConfig;
+pub use config::KaneruConfig;
pub use context_learner::ContextLearner;
pub use continuum_memory::ContinuumMemory;
pub use reconfigurator::{AutoReconfigurator, NodeConfig};
@@ -46,8 +49,8 @@ use parking_lot::RwLock;
use std::sync::Arc;
use tracing::{debug, info};
-/// HOPE Agent: Self-modifying node with continual learning
-pub struct HopeAgent {
+/// Kaneru Agent: Self-modifying node with continual learning
+pub struct KaneruAgent {
/// Continuum memory (non-discrete)
memory: Arc>,
@@ -61,15 +64,15 @@ pub struct HopeAgent {
reconfigurator: Arc>,
/// Configuration
- config: HopeConfig,
+ config: KaneruConfig,
/// Agent state
state: AgentState,
}
-impl HopeAgent {
- /// Create a new HOPE agent
- pub fn new(config: HopeConfig) -> Self {
+impl KaneruAgent {
+ /// Create a new Kaneru agent
+ pub fn new(config: KaneruConfig) -> Self {
Self {
memory: Arc::new(RwLock::new(ContinuumMemory::new(config.memory_dim))),
modifier: Arc::new(RwLock::new(SelfModifier::new(&config))),
@@ -157,7 +160,7 @@ impl HopeAgent {
if let ReconfigResult::Changed(ref new_config) = result {
info!(
mode = ?new_config.mode,
- "HOPE Agent reconfigured"
+ "Kaneru Agent reconfigured"
);
self.apply_node_config(new_config);
}
@@ -392,9 +395,9 @@ mod tests {
}
#[test]
- fn test_hope_agent_basic() {
- let config = HopeConfig::default();
- let mut agent = HopeAgent::new(config);
+ fn test_kaneru_agent_basic() {
+ let config = KaneruConfig::default();
+ let mut agent = KaneruAgent::new(config);
let exp = make_experience(1);
let result = agent.process_experience(&exp).unwrap();
@@ -403,9 +406,9 @@ mod tests {
}
#[test]
- fn test_hope_agent_query() {
- let config = HopeConfig::default();
- let mut agent = HopeAgent::new(config);
+ fn test_kaneru_agent_query() {
+ let config = KaneruConfig::default();
+ let mut agent = KaneruAgent::new(config);
// Add some experiences
for i in 0..5 {
@@ -443,8 +446,8 @@ mod tests {
#[test]
fn test_reconfiguration() {
- let config = HopeConfig::default();
- let mut agent = HopeAgent::new(config);
+ let config = KaneruConfig::default();
+ let mut agent = KaneruAgent::new(config);
let resources = Resources {
memory_available: 5 * 1024 * 1024, // 5MB - Critical
diff --git a/crates/aingle_ai/src/hope/reconfigurator.rs b/crates/aingle_ai/src/kaneru/reconfigurator.rs
similarity index 97%
rename from crates/aingle_ai/src/hope/reconfigurator.rs
rename to crates/aingle_ai/src/kaneru/reconfigurator.rs
index d8034f5d..5b6ea352 100644
--- a/crates/aingle_ai/src/hope/reconfigurator.rs
+++ b/crates/aingle_ai/src/kaneru/reconfigurator.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Auto-Reconfigurator implementation
//!
//! Resource-aware automatic reconfiguration.
diff --git a/crates/aingle_ai/src/hope/self_modifier.rs b/crates/aingle_ai/src/kaneru/self_modifier.rs
similarity index 97%
rename from crates/aingle_ai/src/hope/self_modifier.rs
rename to crates/aingle_ai/src/kaneru/self_modifier.rs
index 7af1bd6c..2200b30b 100644
--- a/crates/aingle_ai/src/hope/self_modifier.rs
+++ b/crates/aingle_ai/src/kaneru/self_modifier.rs
@@ -1,9 +1,12 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Self-Modifier implementation
//!
//! Behavior modification with safety bounds.
use super::config::SafetyLevel;
-use super::{HopeConfig, Outcome};
+use super::{KaneruConfig, Outcome};
/// Self-Modifier: Node that modifies its own behavior
pub struct SelfModifier {
@@ -28,7 +31,7 @@ pub struct SelfModifier {
impl SelfModifier {
/// Create new self-modifier
- pub fn new(config: &HopeConfig) -> Self {
+ pub fn new(config: &KaneruConfig) -> Self {
Self {
rules: Vec::new(),
history: Vec::new(),
@@ -319,7 +322,7 @@ mod tests {
#[test]
fn test_self_modifier_basic() {
- let config = HopeConfig::default();
+ let config = KaneruConfig::default();
let mut modifier = SelfModifier::new(&config);
let outcome = Outcome {
@@ -356,7 +359,7 @@ mod tests {
#[test]
fn test_rule_evolution() {
- let mut config = HopeConfig::default();
+ let mut config = KaneruConfig::default();
config.max_rules = 10;
let mut modifier = SelfModifier::new(&config);
diff --git a/crates/aingle_ai/src/lib.rs b/crates/aingle_ai/src/lib.rs
index add14579..1be71d33 100644
--- a/crates/aingle_ai/src/lib.rs
+++ b/crates/aingle_ai/src/lib.rs
@@ -1,10 +1,13 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # AIngle AI Integration Layer
//!
//! This crate provides AI capabilities for AIngle nodes, implementing:
//!
-//! - **Titans Memory**: Dual memory system (short-term + long-term) for pattern learning
+//! - **Ineru**: Dual memory system (short-term + long-term) for pattern learning
//! - **Nested Learning**: Multi-level optimization for consensus and validation
-//! - **HOPE Agents**: Self-modifying nodes with continual learning
+//! - **Kaneru**: Self-modifying nodes with continual learning
//! - **Emergent Capabilities**: Predictive validation, adaptive consensus
//!
//! ## Architecture
@@ -17,7 +20,7 @@
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
-//! │ TITANS MEMORY LAYER │
+//! │ INERU MEMORY LAYER │
//! │ (Dual memory per node) │
//! │ ┌──────────────────┐ ┌──────────────────┐ │
//! │ │ SHORT-TERM │◄──►│ LONG-TERM │ │
@@ -27,7 +30,7 @@
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
-//! │ HOPE AGENT LAYER │
+//! │ KANERU AGENT LAYER │
//! │ (Self-modifying nodes) │
//! └─────────────────────────────────────────────────────────────┘
//! ```
@@ -41,11 +44,11 @@
//! ## Example
//!
//! ```rust,no_run
-//! use aingle_ai::titans::{TitansMemory, TitansConfig};
+//! use aingle_ai::ineru::{IneruMemory, IneruConfig};
//!
-//! // Create Titans memory system
-//! let config = TitansConfig::default();
-//! let mut memory = TitansMemory::new(config);
+//! // Create Ineru memory system
+//! let config = IneruConfig::default();
+//! let mut memory = IneruMemory::new(config);
//!
//! // Process transactions
//! // let result = memory.process(&transaction);
@@ -55,9 +58,9 @@
#![warn(clippy::all)]
pub mod emergent;
-pub mod hope;
+pub mod kaneru;
pub mod nested_learning;
-pub mod titans;
+pub mod ineru;
mod config;
mod error;
@@ -72,7 +75,7 @@ pub mod prelude {
pub use crate::config::AiConfig;
pub use crate::emergent::{AdaptiveConsensus, PredictiveValidator};
pub use crate::error::{AiError, AiResult};
- pub use crate::hope::{HopeAgent, HopeConfig};
+ pub use crate::kaneru::{KaneruAgent, KaneruConfig};
pub use crate::nested_learning::{NestedConfig, NestedLearning};
- pub use crate::titans::{LongTermMemory, ShortTermMemory, TitansConfig, TitansMemory};
+ pub use crate::ineru::{LongTermMemory, ShortTermMemory, IneruConfig, IneruMemory};
}
diff --git a/crates/aingle_ai/src/nested_learning/config.rs b/crates/aingle_ai/src/nested_learning/config.rs
index dd3dd82e..e822f511 100644
--- a/crates/aingle_ai/src/nested_learning/config.rs
+++ b/crates/aingle_ai/src/nested_learning/config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Nested Learning configuration
use serde::{Deserialize, Serialize};
diff --git a/crates/aingle_ai/src/nested_learning/meta_level.rs b/crates/aingle_ai/src/nested_learning/meta_level.rs
index 6d757518..21d0c258 100644
--- a/crates/aingle_ai/src/nested_learning/meta_level.rs
+++ b/crates/aingle_ai/src/nested_learning/meta_level.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Meta-Level optimization
//!
//! Global network parameters with slow updates (~1000 blocks).
diff --git a/crates/aingle_ai/src/nested_learning/mod.rs b/crates/aingle_ai/src/nested_learning/mod.rs
index df29afc6..d661db94 100644
--- a/crates/aingle_ai/src/nested_learning/mod.rs
+++ b/crates/aingle_ai/src/nested_learning/mod.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Nested Learning Layer
//!
//! Multi-level optimization system based on Nested Learning paper (OpenReview nbMeRvNb7A).
diff --git a/crates/aingle_ai/src/nested_learning/optimizer_level.rs b/crates/aingle_ai/src/nested_learning/optimizer_level.rs
index 687d46d7..d25e0dae 100644
--- a/crates/aingle_ai/src/nested_learning/optimizer_level.rs
+++ b/crates/aingle_ai/src/nested_learning/optimizer_level.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Optimizer-Level optimization
//!
//! Validation strategies with medium-frequency updates (~100 transactions).
diff --git a/crates/aingle_ai/src/nested_learning/transaction_level.rs b/crates/aingle_ai/src/nested_learning/transaction_level.rs
index 9a12649a..fd38a931 100644
--- a/crates/aingle_ai/src/nested_learning/transaction_level.rs
+++ b/crates/aingle_ai/src/nested_learning/transaction_level.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Transaction-Level processing
//!
//! Fast feature extraction and classification per transaction.
diff --git a/crates/aingle_ai/src/types.rs b/crates/aingle_ai/src/types.rs
index e5dbf3c9..502a3d3f 100644
--- a/crates/aingle_ai/src/types.rs
+++ b/crates/aingle_ai/src/types.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Common types for the AI module
use serde::{Deserialize, Serialize};
diff --git a/crates/aingle_cascade/Cargo.toml b/crates/aingle_cascade/Cargo.toml
index 654e4f9e..5ff14a24 100644
--- a/crates/aingle_cascade/Cargo.toml
+++ b/crates/aingle_cascade/Cargo.toml
@@ -2,7 +2,7 @@
name = "aingle_cascade"
version = "0.0.1"
description = "Logic for cascading updates to AIngle state and network interaction"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle_cascade"
@@ -12,7 +12,7 @@ edition = "2018"
[dependencies]
derive_more = "0.99.3"
either = "1.5"
-fallible-iterator = "0.2"
+fallible-iterator = "0.3"
ai_fixt = { version = "^0.0.1", path = "../ai_fixt" }
futures = "0.3"
ghost_actor = "0.3.0-alpha.1"
@@ -39,7 +39,7 @@ mockall = { version = "0.11", optional = true }
[dev-dependencies]
matches = "0.1"
-pretty_assertions = "0.7.2"
+pretty_assertions = "1.4"
[features]
default = ["test_utils"]
diff --git a/crates/aingle_cascade/src/agent_activity.rs b/crates/aingle_cascade/src/agent_activity.rs
index 4af7031f..e6b1c5a4 100644
--- a/crates/aingle_cascade/src/agent_activity.rs
+++ b/crates/aingle_cascade/src/agent_activity.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::collections::HashSet;
use super::*;
diff --git a/crates/aingle_cascade/src/authority.rs b/crates/aingle_cascade/src/authority.rs
index 99831c6c..d023e3b7 100644
--- a/crates/aingle_cascade/src/authority.rs
+++ b/crates/aingle_cascade/src/authority.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use self::get_agent_activity_query::hashes::GetAgentActivityQuery;
use self::get_entry_ops_query::GetEntryOpsQuery;
use self::get_links_ops_query::GetLinksOpsQuery;
diff --git a/crates/aingle_cascade/src/authority/get_agent_activity_query.rs b/crates/aingle_cascade/src/authority/get_agent_activity_query.rs
index be37b1f6..024574e2 100644
--- a/crates/aingle_cascade/src/authority/get_agent_activity_query.rs
+++ b/crates/aingle_cascade/src/authority/get_agent_activity_query.rs
@@ -1,2 +1,5 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub mod deterministic;
pub mod hashes;
diff --git a/crates/aingle_cascade/src/authority/get_agent_activity_query/deterministic.rs b/crates/aingle_cascade/src/authority/get_agent_activity_query/deterministic.rs
index 85ae3e93..61c75d2d 100644
--- a/crates/aingle_cascade/src/authority/get_agent_activity_query/deterministic.rs
+++ b/crates/aingle_cascade/src/authority/get_agent_activity_query/deterministic.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Query for `deterministic_get_agent_activity`, designed for use in
//! validation callbacks.
//!
diff --git a/crates/aingle_cascade/src/authority/get_agent_activity_query/hashes.rs b/crates/aingle_cascade/src/authority/get_agent_activity_query/hashes.rs
index bad3a121..e0009038 100644
--- a/crates/aingle_cascade/src/authority/get_agent_activity_query/hashes.rs
+++ b/crates/aingle_cascade/src/authority/get_agent_activity_query/hashes.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::*;
use aingle_p2p::event::GetActivityOptions;
use aingle_sqlite::rusqlite::*;
diff --git a/crates/aingle_cascade/src/authority/get_element_query.rs b/crates/aingle_cascade/src/authority/get_element_query.rs
index 02a47803..ff61fe35 100644
--- a/crates/aingle_cascade/src/authority/get_element_query.rs
+++ b/crates/aingle_cascade/src/authority/get_element_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::HeaderHash;
use aingle_p2p::event::GetOptions;
use aingle_sqlite::rusqlite::named_params;
diff --git a/crates/aingle_cascade/src/authority/get_entry_ops_query.rs b/crates/aingle_cascade/src/authority/get_entry_ops_query.rs
index 4967c0b1..f05f5345 100644
--- a/crates/aingle_cascade/src/authority/get_entry_ops_query.rs
+++ b/crates/aingle_cascade/src/authority/get_entry_ops_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::EntryHash;
use aingle_sqlite::rusqlite::named_params;
use aingle_sqlite::rusqlite::Row;
diff --git a/crates/aingle_cascade/src/authority/get_links_ops_query.rs b/crates/aingle_cascade/src/authority/get_links_ops_query.rs
index 92ae1682..746e0803 100644
--- a/crates/aingle_cascade/src/authority/get_links_ops_query.rs
+++ b/crates/aingle_cascade/src/authority/get_links_ops_query.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::EntryHash;
use aingle_sqlite::rusqlite::named_params;
use aingle_sqlite::rusqlite::Row;
diff --git a/crates/aingle_cascade/src/authority/test.rs b/crates/aingle_cascade/src/authority/test.rs
index da460f09..cc0bcf5e 100644
--- a/crates/aingle_cascade/src/authority/test.rs
+++ b/crates/aingle_cascade/src/authority/test.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use super::*;
use crate::authority::handle_get_agent_activity;
use crate::test_utils::*;
diff --git a/crates/aingle_cascade/src/error.rs b/crates/aingle_cascade/src/error.rs
index f0ca3496..ecea3c34 100644
--- a/crates/aingle_cascade/src/error.rs
+++ b/crates/aingle_cascade/src/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::{AnySgdHash, HeaderHash};
use aingle_middleware_bytes::SerializedBytesError;
use aingle_p2p::AIngleP2pError;
diff --git a/crates/aingle_cascade/src/lib.rs b/crates/aingle_cascade/src/lib.rs
index 9a320999..d7732755 100644
--- a/crates/aingle_cascade/src/lib.rs
+++ b/crates/aingle_cascade/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # Cascade
//! ## Retrieve vs Get
//! Get checks CRUD metadata before returning an the data
diff --git a/crates/aingle_cascade/src/test_utils.rs b/crates/aingle_cascade/src/test_utils.rs
index 03e2a245..9e8d07a4 100644
--- a/crates/aingle_cascade/src/test_utils.rs
+++ b/crates/aingle_cascade/src/test_utils.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::authority;
use ai_hash::hash_type::AnySgd;
use ai_hash::AgentPubKey;
diff --git a/crates/aingle_cascade/src/test_utils/activity_test_data.rs b/crates/aingle_cascade/src/test_utils/activity_test_data.rs
index dc420e3a..0843b7a8 100644
--- a/crates/aingle_cascade/src/test_utils/activity_test_data.rs
+++ b/crates/aingle_cascade/src/test_utils/activity_test_data.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ::ai_fixt::prelude::*;
use ai_hash::AgentPubKey;
use ai_hash::EntryHash;
diff --git a/crates/aingle_cascade/src/test_utils/element_test_data.rs b/crates/aingle_cascade/src/test_utils/element_test_data.rs
index 9941897a..3569888c 100644
--- a/crates/aingle_cascade/src/test_utils/element_test_data.rs
+++ b/crates/aingle_cascade/src/test_utils/element_test_data.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::EntryHash;
use ai_hash::HeaderHash;
use aingle_types::header::WireDelete;
diff --git a/crates/aingle_cascade/src/test_utils/entry_test_data.rs b/crates/aingle_cascade/src/test_utils/entry_test_data.rs
index f68ea904..bd8f1382 100644
--- a/crates/aingle_cascade/src/test_utils/entry_test_data.rs
+++ b/crates/aingle_cascade/src/test_utils/entry_test_data.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::EntryHash;
use ai_hash::HeaderHash;
use aingle_types::header::NewEntryHeader;
diff --git a/crates/aingle_cascade/tests/get_activity.rs b/crates/aingle_cascade/tests/get_activity.rs
index a2ad34d1..c2c3bfb4 100644
--- a/crates/aingle_cascade/tests/get_activity.rs
+++ b/crates/aingle_cascade/tests/get_activity.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_cascade::test_utils::*;
use aingle_cascade::Cascade;
use aingle_state::prelude::test_cell_env;
diff --git a/crates/aingle_cascade/tests/get_entry.rs b/crates/aingle_cascade/tests/get_entry.rs
index 9dc14084..2d40e464 100644
--- a/crates/aingle_cascade/tests/get_entry.rs
+++ b/crates/aingle_cascade/tests/get_entry.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::HasHash;
use aingle_cascade::test_utils::*;
use aingle_cascade::Cascade;
diff --git a/crates/aingle_cascade/tests/get_links.rs b/crates/aingle_cascade/tests/get_links.rs
index 24eaa1e4..a4b0bfb6 100644
--- a/crates/aingle_cascade/tests/get_links.rs
+++ b/crates/aingle_cascade/tests/get_links.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_cascade::test_utils::*;
use aingle_cascade::Cascade;
use aingle_p2p::MockAIngleP2pCellT;
diff --git a/crates/aingle_conductor_api/Cargo.toml b/crates/aingle_conductor_api/Cargo.toml
index 1191a9cd..7d289c75 100644
--- a/crates/aingle_conductor_api/Cargo.toml
+++ b/crates/aingle_conductor_api/Cargo.toml
@@ -2,7 +2,7 @@
name = "aingle_conductor_api"
version = "0.0.1"
description = "Message types for AIngle admin and app interface protocols"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
homepage = "https://apilium.com"
repository = "https://github.com/ApiliumCode/aingle"
documentation = "https://docs.rs/aingle_conductor_api"
diff --git a/crates/aingle_conductor_api/src/admin_interface.rs b/crates/aingle_conductor_api/src/admin_interface.rs
index 0153d33f..a960d4fc 100644
--- a/crates/aingle_conductor_api/src/admin_interface.rs
+++ b/crates/aingle_conductor_api/src/admin_interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::*;
use aingle_types::prelude::*;
use aingle_zome_types::cell::CellId;
diff --git a/crates/aingle_conductor_api/src/app_interface.rs b/crates/aingle_conductor_api/src/app_interface.rs
index 0759498d..8d2c2be5 100644
--- a/crates/aingle_conductor_api/src/app_interface.rs
+++ b/crates/aingle_conductor_api/src/app_interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use crate::{signal_subscription::SignalSubscription, ExternalApiWireError};
use ai_hash::AgentPubKey;
use aingle_types::prelude::*;
diff --git a/crates/aingle_conductor_api/src/config.rs b/crates/aingle_conductor_api/src/config.rs
index 4ae893a2..53bb5b05 100644
--- a/crates/aingle_conductor_api/src/config.rs
+++ b/crates/aingle_conductor_api/src/config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
pub mod conductor;
mod interface;
pub use interface::*;
diff --git a/crates/aingle_conductor_api/src/config/conductor.rs b/crates/aingle_conductor_api/src/config/conductor.rs
index b4e3460e..2e45260b 100644
--- a/crates/aingle_conductor_api/src/config/conductor.rs
+++ b/crates/aingle_conductor_api/src/config/conductor.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![deny(missing_docs)]
//! This module is used to configure the conductor
diff --git a/crates/aingle_conductor_api/src/config/conductor/admin_interface_config.rs b/crates/aingle_conductor_api/src/config/conductor/admin_interface_config.rs
index 0f5f42e5..80adc63b 100644
--- a/crates/aingle_conductor_api/src/config/conductor/admin_interface_config.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/admin_interface_config.rs
@@ -1 +1,4 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![deny(missing_docs)]
diff --git a/crates/aingle_conductor_api/src/config/conductor/dpki_config.rs b/crates/aingle_conductor_api/src/config/conductor/dpki_config.rs
index 509212ae..7cefec48 100644
--- a/crates/aingle_conductor_api/src/config/conductor/dpki_config.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/dpki_config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
// Legacy config that will probably change
#![allow(missing_docs)]
diff --git a/crates/aingle_conductor_api/src/config/conductor/error.rs b/crates/aingle_conductor_api/src/config/conductor/error.rs
index 8c3bdc07..bad9083c 100644
--- a/crates/aingle_conductor_api/src/config/conductor/error.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use std::path::PathBuf;
use thiserror::Error;
diff --git a/crates/aingle_conductor_api/src/config/conductor/logger_config.rs b/crates/aingle_conductor_api/src/config/conductor/logger_config.rs
index 6b80f42a..91965f24 100644
--- a/crates/aingle_conductor_api/src/config/conductor/logger_config.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/logger_config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use serde::{Deserialize, Serialize};
/// FIXME: implement
diff --git a/crates/aingle_conductor_api/src/config/conductor/passphrase_service_config.rs b/crates/aingle_conductor_api/src/config/conductor/passphrase_service_config.rs
index 6e410c61..142ec140 100644
--- a/crates/aingle_conductor_api/src/config/conductor/passphrase_service_config.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/passphrase_service_config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use serde::Deserialize;
use serde::Serialize;
use std::path::PathBuf;
diff --git a/crates/aingle_conductor_api/src/config/conductor/paths.rs b/crates/aingle_conductor_api/src/config/conductor/paths.rs
index 72ccb7f1..b005b5ea 100644
--- a/crates/aingle_conductor_api/src/config/conductor/paths.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/paths.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Defines default paths for various resources
use derive_more::AsRef;
diff --git a/crates/aingle_conductor_api/src/config/conductor/signal_config.rs b/crates/aingle_conductor_api/src/config/conductor/signal_config.rs
index 7efa6691..7e9766ad 100644
--- a/crates/aingle_conductor_api/src/config/conductor/signal_config.rs
+++ b/crates/aingle_conductor_api/src/config/conductor/signal_config.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use serde::{self, Deserialize, Serialize};
/// Configure which signals to emit, to reduce unwanted signal volume
diff --git a/crates/aingle_conductor_api/src/config/interface.rs b/crates/aingle_conductor_api/src/config/interface.rs
index f323d9e0..6a2bfbc9 100644
--- a/crates/aingle_conductor_api/src/config/interface.rs
+++ b/crates/aingle_conductor_api/src/config/interface.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use serde::Deserialize;
use serde::Serialize;
diff --git a/crates/aingle_conductor_api/src/lib.rs b/crates/aingle_conductor_api/src/lib.rs
index 13554ed8..c631672a 100644
--- a/crates/aingle_conductor_api/src/lib.rs
+++ b/crates/aingle_conductor_api/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
#![allow(deprecated)]
mod admin_interface;
diff --git a/crates/aingle_conductor_api/src/signal_subscription.rs b/crates/aingle_conductor_api/src/signal_subscription.rs
index bfa49dcf..813bb1f3 100644
--- a/crates/aingle_conductor_api/src/signal_subscription.rs
+++ b/crates/aingle_conductor_api/src/signal_subscription.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use aingle_middleware_bytes::prelude::*;
use aingle_types::app::InstalledAppId;
use aingle_zome_types::cell::CellId;
diff --git a/crates/aingle_conductor_api/src/state_dump.rs b/crates/aingle_conductor_api/src/state_dump.rs
index d8cb7741..8cc54cda 100644
--- a/crates/aingle_conductor_api/src/state_dump.rs
+++ b/crates/aingle_conductor_api/src/state_dump.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
use ai_hash::AgentPubKey;
use ai_hash::SafHash;
use aingle_state::source_chain::SourceChainJsonDump;
diff --git a/crates/aingle_contracts/Cargo.toml b/crates/aingle_contracts/Cargo.toml
index b69fa7a6..c3ea5927 100644
--- a/crates/aingle_contracts/Cargo.toml
+++ b/crates/aingle_contracts/Cargo.toml
@@ -1,8 +1,8 @@
[package]
name = "aingle_contracts"
-version = "0.2.0"
+version = "0.6.3"
description = "Smart Contracts DSL and WASM Runtime for AIngle"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
repository = "https://github.com/ApiliumCode/aingle"
homepage = "https://apilium.com"
documentation = "https://docs.rs/aingle_contracts"
@@ -21,16 +21,19 @@ full = ["runtime"]
# WASM runtime (optional - for execution)
# Note: default-features = false required for MSRV 1.70 compatibility
# wasmer 6.x uses dep: syntax which doesn't create implicit features
-wasmer = { version = "=6.0.0", optional = true, default-features = false, features = ["sys", "cranelift"] }
+wasmer = { version = "=7.0.1", optional = true, default-features = false, features = ["sys", "cranelift"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Hashing
-blake3 = "1.5"
+blake3 = "1.8"
sha2 = "0.10"
+# Randomness (for contract address nonce)
+rand = "0.9"
+
# Error handling
thiserror = "2.0"
@@ -47,5 +50,5 @@ tracing = "0.1"
dashmap = "6.0"
[dev-dependencies]
-tempfile = "3.10"
+tempfile = "3.26"
tokio-test = "0.4"
diff --git a/crates/aingle_contracts/src/contract.rs b/crates/aingle_contracts/src/contract.rs
index bb6e324d..bb437e1c 100644
--- a/crates/aingle_contracts/src/contract.rs
+++ b/crates/aingle_contracts/src/contract.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Contract definition and DSL
//!
//! Provides a builder pattern for defining contracts.
diff --git a/crates/aingle_contracts/src/error.rs b/crates/aingle_contracts/src/error.rs
index dcfa10da..16c9bb20 100644
--- a/crates/aingle_contracts/src/error.rs
+++ b/crates/aingle_contracts/src/error.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Error types for contract operations
use thiserror::Error;
@@ -36,6 +39,10 @@ pub enum ContractError {
#[error("Invalid arguments: {0}")]
InvalidArguments(String),
+ /// Invalid input data
+ #[error("Invalid input: {0}")]
+ InvalidInput(String),
+
/// Permission denied
#[error("Permission denied: {0}")]
PermissionDenied(String),
diff --git a/crates/aingle_contracts/src/lib.rs b/crates/aingle_contracts/src/lib.rs
index 66a8e877..da67541f 100644
--- a/crates/aingle_contracts/src/lib.rs
+++ b/crates/aingle_contracts/src/lib.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! # AIngle Contracts - Smart Contract DSL and Runtime
//!
//! A lightweight smart contract system for AIngle with:
diff --git a/crates/aingle_contracts/src/runtime.rs b/crates/aingle_contracts/src/runtime.rs
index f1bd84d6..c84fe45d 100644
--- a/crates/aingle_contracts/src/runtime.rs
+++ b/crates/aingle_contracts/src/runtime.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Contract runtime and WASM execution
//!
//! Provides sandboxed execution environment for contracts.
@@ -244,6 +247,9 @@ impl ContractRuntime {
Ok(result)
}
+ /// Maximum size of a single storage value (64KB)
+ const MAX_STORAGE_VALUE_SIZE: usize = 64 * 1024;
+
/// Execute contract function (simplified implementation)
fn execute_function(
&self,
@@ -255,6 +261,16 @@ impl ContractRuntime {
let mut result = CallResult::empty();
let gas_start = ctx.gas_limit.remaining();
+ // Charge per-byte gas for input data
+ let input_size: usize = args.iter().map(|a| a.to_string().len()).sum();
+ let input_gas = input_size as u64 * self.gas_prices.per_byte;
+ ctx.gas_limit
+ .consume(input_gas)
+ .map_err(|_| ContractError::OutOfGas {
+ used: input_gas,
+ limit: ctx.gas_limit.0 + input_gas,
+ })?;
+
// Simplified execution - in real impl, this would run WASM code
match function {
"get" | "balance_of" | "get_balance" => {
@@ -277,9 +293,21 @@ impl ContractRuntime {
"set" | "transfer" | "mint" => {
// Generic setter
if args.len() >= 2 {
- let key = args[0].as_str().unwrap_or("default");
+ let key = args[0].as_str().ok_or_else(|| {
+ ContractError::InvalidInput("First argument must be a string key".into())
+ })?;
let value = &args[1];
+ // Enforce max storage value size
+ let value_size = value.to_string().len();
+ if value_size > Self::MAX_STORAGE_VALUE_SIZE {
+ return Err(ContractError::InvalidInput(format!(
+ "Storage value too large: {} bytes (max {})",
+ value_size,
+ Self::MAX_STORAGE_VALUE_SIZE
+ )));
+ }
+
let storage_key = StorageKey::from_string(instance.address.clone(), key);
// Record old value for state change
@@ -288,10 +316,13 @@ impl ContractRuntime {
.get(&storage_key)?
.and_then(|v| v.to_json().ok());
+ // Charge storage write + per-byte cost for value size
+ let write_gas = self.gas_prices.storage_write
+ + (value_size as u64 * self.gas_prices.per_byte);
ctx.gas_limit
- .consume(self.gas_prices.storage_write)
+ .consume(write_gas)
.map_err(|_| ContractError::OutOfGas {
- used: self.gas_prices.storage_write,
+ used: write_gas,
limit: ctx.gas_limit.0,
})?;
diff --git a/crates/aingle_contracts/src/storage.rs b/crates/aingle_contracts/src/storage.rs
index 2254af2d..ac820c32 100644
--- a/crates/aingle_contracts/src/storage.rs
+++ b/crates/aingle_contracts/src/storage.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Contract storage abstraction
//!
//! Provides key-value storage for contract state.
diff --git a/crates/aingle_contracts/src/types.rs b/crates/aingle_contracts/src/types.rs
index eddbef2a..cc7f6b24 100644
--- a/crates/aingle_contracts/src/types.rs
+++ b/crates/aingle_contracts/src/types.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Core types for contracts
use serde::{Deserialize, Serialize};
@@ -25,7 +28,9 @@ impl Address {
Ok(Self(arr))
}
- /// Derive from string (for testing)
+ /// Derive a deterministic address from a name.
+ /// Only for testing — production contracts should use `deploy_address()`.
+ #[cfg(test)]
pub fn derive(name: &str) -> Self {
let mut hasher = Sha256::new();
hasher.update(b"aingle_address:");
@@ -34,6 +39,18 @@ impl Address {
Self(hash)
}
+ /// Generate a unique deployment address from deployer + code hash + random nonce.
+ pub fn deploy_address(deployer: &Address, code_hash: &[u8; 32]) -> Self {
+ let nonce: [u8; 16] = rand::random();
+ let mut hasher = Sha256::new();
+ hasher.update(b"aingle_deploy:");
+ hasher.update(deployer.as_bytes());
+ hasher.update(code_hash);
+ hasher.update(&nonce);
+ let hash: [u8; 32] = hasher.finalize().into();
+ Self(hash)
+ }
+
/// Get as hex string
pub fn to_hex(&self) -> String {
hex::encode(self.0)
diff --git a/crates/aingle_cortex/COMPLETION_REPORT.md b/crates/aingle_cortex/COMPLETION_REPORT.md
index 0623f10c..2e3b9de3 100644
--- a/crates/aingle_cortex/COMPLETION_REPORT.md
+++ b/crates/aingle_cortex/COMPLETION_REPORT.md
@@ -284,7 +284,7 @@ use aingle_cortex::{CortexServer, CortexConfig};
#[tokio::main]
async fn main() -> Result<(), Box> {
let config = CortexConfig::default()
- .with_port(8080)
+ .with_port(19090)
.with_rate_limit_rpm(100);
let server = CortexServer::new(config)?;
diff --git a/crates/aingle_cortex/Cargo.toml b/crates/aingle_cortex/Cargo.toml
index 0e7418f4..8aceaaf7 100644
--- a/crates/aingle_cortex/Cargo.toml
+++ b/crates/aingle_cortex/Cargo.toml
@@ -1,8 +1,8 @@
[package]
name = "aingle_cortex"
-version = "0.2.1"
+version = "0.6.3"
description = "Córtex API - REST/GraphQL/SPARQL interface for AIngle semantic graphs"
-license = "Apache-2.0"
+license = "Apache-2.0 OR LicenseRef-Commercial"
repository = "https://github.com/ApiliumCode/aingle"
homepage = "https://apilium.com"
documentation = "https://docs.rs/aingle_cortex"
@@ -13,12 +13,16 @@ edition = "2021"
rust-version = "1.83"
[features]
-default = ["rest", "sparql", "auth"]
+default = ["rest", "sparql", "auth", "dag"]
rest = []
graphql = ["dep:async-graphql", "dep:async-graphql-axum"]
sparql = ["dep:spargebra"]
auth = ["dep:jsonwebtoken", "dep:argon2"]
-full = ["rest", "graphql", "sparql", "auth"]
+p2p = ["dep:quinn", "dep:rustls", "dep:rcgen", "dep:ed25519-dalek", "dep:hex"]
+p2p-mdns = ["p2p", "dep:mdns-sd", "dep:if-addrs"]
+cluster = ["p2p", "dep:aingle_wal", "dep:aingle_raft", "dep:openraft", "dep:tokio-rustls", "dep:rustls-pemfile"]
+dag = ["cluster", "aingle_graph/dag", "aingle_graph/dag-sign", "aingle_raft/dag"]
+full = ["rest", "graphql", "sparql", "auth", "dag"]
[[bin]]
name = "aingle-cortex"
@@ -26,25 +30,25 @@ path = "src/main.rs"
[dependencies]
# Core AIngle crates
-aingle_graph = "0.2"
-aingle_logic = "0.2"
-aingle_zk = "0.2"
-titans_memory = "0.2"
+aingle_graph = { version = "0.6", path = "../aingle_graph", features = ["sled-backend"] }
+aingle_logic = { version = "0.6", path = "../aingle_logic" }
+aingle_zk = { version = "0.6", path = "../aingle_zk" }
+ineru = { version = "0.6", path = "../ineru" }
-# Web framework (use 0.7 for async-graphql-axum compatibility)
-axum = { version = "0.7", features = ["ws", "macros"] }
+# Web framework
+axum = { version = "0.8", features = ["ws", "macros"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace", "compression-gzip"] }
-# GraphQL (optional)
-async-graphql = { version = "7.0", features = ["chrono", "uuid"], optional = true }
-async-graphql-axum = { version = "7.0", optional = true }
+# GraphQL (optional) — 8.0.0-rc for axum 0.8 compatibility
+async-graphql = { version = "8.0.0-rc", features = ["chrono", "uuid"], optional = true }
+async-graphql-axum = { version = "8.0.0-rc", optional = true }
# SPARQL (optional)
-spargebra = { version = "0.3", optional = true }
+spargebra = { version = "0.4", optional = true }
# Authentication (optional)
-jsonwebtoken = { version = "9.0", optional = true }
+jsonwebtoken = { version = "10", features = ["rust_crypto"], optional = true }
argon2 = { version = "0.5", optional = true }
# Async runtime
@@ -56,7 +60,7 @@ serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Utilities
-uuid = { version = "1.0", features = ["v4", "serde"] }
+uuid = { version = "1.21", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "2.0"
tracing = "0.1"
@@ -65,7 +69,8 @@ log = "0.4"
rand = "0.9"
# Hashing
-blake3 = "1.5"
+blake3 = "1.8"
+subtle = "2.6"
# Streaming
tokio-stream = { version = "0.1", features = ["sync"] }
@@ -74,21 +79,35 @@ tokio-stream = { version = "0.1", features = ["sync"] }
validator = { version = "0.20", features = ["derive"] }
# Regular expressions (for SPARQL FILTER)
-regex = "1.10"
+regex = "1.12"
# HTTP client (for CortexInternalClient used by WASM host functions)
-reqwest = { version = "0.12", features = ["json"] }
-
-# Zome types (for WASM boundary types in client.rs)
-aingle_zome_types = { version = ">=0.0.1", path = "../aingle_zome_types", default-features = false }
+# Uses rustls-tls to avoid OpenSSL dependency (enables cross-compilation)
+reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
-# Rate limiting
+# Rate limiting & shared state
dashmap = "6.0"
-
-# IP address handling
-axum-client-ip = "0.7"
+once_cell = "1.4"
+
+# P2P networking (optional)
+quinn = { version = "0.11", optional = true }
+rustls = { version = "0.23", default-features = false, features = ["ring", "std"], optional = true }
+rcgen = { version = "0.13", optional = true }
+ed25519-dalek = { version = "2", features = ["rand_core"], optional = true }
+hex = { version = "0.4", optional = true }
+# Clustering (optional)
+aingle_wal = { version = "0.6", path = "../aingle_wal", optional = true }
+aingle_raft = { version = "0.6", path = "../aingle_raft", optional = true }
+openraft = { version = "0.10.0-alpha.17", features = ["serde", "type-alias"], optional = true }
+tokio-rustls = { version = "0.26", default-features = false, features = ["ring"], optional = true }
+rustls-pemfile = { version = "2", optional = true }
+
+sled = "0.34"
+dirs = "6"
+mdns-sd = { version = "0.18", optional = true }
+if-addrs = { version = "0.13", optional = true }
[dev-dependencies]
-tempfile = "3.10"
+tempfile = "3.26"
reqwest = { version = "0.12", features = ["json"] }
tokio-test = "0.4"
diff --git a/crates/aingle_cortex/openapi.yaml b/crates/aingle_cortex/openapi.yaml
index 9f67f122..6eab7725 100644
--- a/crates/aingle_cortex/openapi.yaml
+++ b/crates/aingle_cortex/openapi.yaml
@@ -40,7 +40,7 @@ info:
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- - url: http://localhost:8080
+ - url: http://localhost:19090
description: Local development server
- url: https://api.aingle.apilium.com
description: Production server
diff --git a/crates/aingle_cortex/src/auth/jwt.rs b/crates/aingle_cortex/src/auth/jwt.rs
index ca85a794..e15597a8 100644
--- a/crates/aingle_cortex/src/auth/jwt.rs
+++ b/crates/aingle_cortex/src/auth/jwt.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! JWT token handling
use axum::{extract::State, Json};
@@ -8,8 +11,25 @@ use serde::{Deserialize, Serialize};
use crate::error::{Error, Result};
use crate::state::AppState;
-/// JWT secret (in production, use environment variable)
-const JWT_SECRET: &[u8] = b"aingle-cortex-secret-key-change-in-production";
+use dashmap::DashSet;
+use once_cell::sync::Lazy;
+
+/// JWT secret loaded from AINGLE_JWT_SECRET environment variable.
+/// Panics at startup if the variable is not set — this is intentional
+/// to prevent running with an insecure default.
+static JWT_SECRET: Lazy> = Lazy::new(|| {
+ std::env::var("AINGLE_JWT_SECRET")
+ .expect(
+ "AINGLE_JWT_SECRET environment variable must be set. \
+ Generate one with: openssl rand -base64 64",
+ )
+ .into_bytes()
+});
+
+/// Global set of revoked refresh token JTIs (JWT IDs).
+/// Tokens are added here upon use in a refresh operation,
+/// preventing replay of the same refresh token.
+static REVOKED_TOKENS: Lazy> = Lazy::new(DashSet::new);
/// Token expiration in hours
const TOKEN_EXPIRATION_HOURS: i64 = 24;
@@ -33,6 +53,12 @@ pub struct Claims {
pub roles: Vec,
/// Token type: "access" or "refresh"
pub token_type: String,
+ /// Namespace scope (for scoped access control)
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub namespace: Option,
+ /// Unique token ID for revocation (refresh tokens only)
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub jti: Option,
}
impl Claims {
@@ -46,6 +72,8 @@ impl Claims {
iat: now.timestamp(),
roles,
token_type: "access".to_string(),
+ namespace: None,
+ jti: None,
}
}
@@ -59,10 +87,32 @@ impl Claims {
iat: now.timestamp(),
roles,
token_type: "access".to_string(),
+ namespace: None,
+ jti: None,
}
}
- /// Create new refresh token claims
+ /// Create new access token claims with namespace scope
+ pub fn new_access_with_namespace(
+ user_id: &str,
+ username: &str,
+ roles: Vec,
+ namespace: String,
+ ) -> Self {
+ let now = Utc::now();
+ Self {
+ sub: user_id.to_string(),
+ username: Some(username.to_string()),
+ exp: (now + Duration::hours(TOKEN_EXPIRATION_HOURS)).timestamp(),
+ iat: now.timestamp(),
+ roles,
+ token_type: "access".to_string(),
+ namespace: Some(namespace),
+ jti: None,
+ }
+ }
+
+ /// Create new refresh token claims with unique JTI for single-use enforcement
pub fn new_refresh(user_id: &str) -> Self {
let now = Utc::now();
Self {
@@ -72,6 +122,8 @@ impl Claims {
iat: now.timestamp(),
roles: vec![],
token_type: "refresh".to_string(),
+ namespace: None,
+ jti: Some(uuid::Uuid::new_v4().to_string()),
}
}
@@ -129,14 +181,14 @@ pub async fn create_token(
let access_token = encode(
&Header::default(),
&access_claims,
- &EncodingKey::from_secret(JWT_SECRET),
+ &EncodingKey::from_secret(&JWT_SECRET),
)
.map_err(|e| Error::Internal(format!("Failed to create access token: {}", e)))?;
let refresh_token = encode(
&Header::default(),
&refresh_claims,
- &EncodingKey::from_secret(JWT_SECRET),
+ &EncodingKey::from_secret(&JWT_SECRET),
)
.map_err(|e| Error::Internal(format!("Failed to create refresh token: {}", e)))?;
@@ -165,7 +217,7 @@ pub async fn refresh_token(
// Decode and validate refresh token
let claims = decode::(
&req.refresh_token,
- &DecodingKey::from_secret(JWT_SECRET),
+ &DecodingKey::from_secret(&JWT_SECRET),
&Validation::new(Algorithm::HS256),
)
.map_err(|e| Error::AuthError(format!("Invalid refresh token: {}", e)))?;
@@ -178,7 +230,17 @@ pub async fn refresh_token(
return Err(Error::AuthError("Refresh token expired".to_string()));
}
- // Create new tokens
+ // Enforce single-use: check and revoke the JTI
+ if let Some(ref jti) = claims.claims.jti {
+ if !REVOKED_TOKENS.insert(jti.clone()) {
+ // JTI was already in the set — token has been used before
+ return Err(Error::AuthError("Refresh token already used".to_string()));
+ }
+ } else {
+ return Err(Error::AuthError("Refresh token missing JTI".to_string()));
+ }
+
+ // Create new tokens (preserve original roles from user store)
let roles = vec!["user".to_string()];
let access_claims = Claims::new_access(&claims.claims.sub, roles);
let refresh_claims = Claims::new_refresh(&claims.claims.sub);
@@ -186,14 +248,14 @@ pub async fn refresh_token(
let access_token = encode(
&Header::default(),
&access_claims,
- &EncodingKey::from_secret(JWT_SECRET),
+ &EncodingKey::from_secret(&JWT_SECRET),
)
.map_err(|e| Error::Internal(format!("Failed to create access token: {}", e)))?;
let refresh_token = encode(
&Header::default(),
&refresh_claims,
- &EncodingKey::from_secret(JWT_SECRET),
+ &EncodingKey::from_secret(&JWT_SECRET),
)
.map_err(|e| Error::Internal(format!("Failed to create refresh token: {}", e)))?;
@@ -251,7 +313,7 @@ pub async fn verify_token_endpoint(
pub fn verify_token(token: &str) -> Result {
let token_data = decode::(
token,
- &DecodingKey::from_secret(JWT_SECRET),
+ &DecodingKey::from_secret(&JWT_SECRET),
&Validation::new(Algorithm::HS256),
)
.map_err(|e| Error::AuthError(format!("Invalid token: {}", e)))?;
@@ -317,12 +379,13 @@ mod tests {
#[test]
fn test_token_roundtrip() {
+ std::env::set_var("AINGLE_JWT_SECRET", "test-secret-only-do-not-use-in-production-64bytes-pad");
let claims = Claims::new_access("user123", vec!["user".to_string()]);
let token = encode(
&Header::default(),
&claims,
- &EncodingKey::from_secret(JWT_SECRET),
+ &EncodingKey::from_secret(&JWT_SECRET),
)
.unwrap();
diff --git a/crates/aingle_cortex/src/auth/middleware.rs b/crates/aingle_cortex/src/auth/middleware.rs
index 5875957d..e1e7a113 100644
--- a/crates/aingle_cortex/src/auth/middleware.rs
+++ b/crates/aingle_cortex/src/auth/middleware.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Authentication middleware
use axum::{
diff --git a/crates/aingle_cortex/src/auth/mod.rs b/crates/aingle_cortex/src/auth/mod.rs
index 90585dec..41e96f21 100644
--- a/crates/aingle_cortex/src/auth/mod.rs
+++ b/crates/aingle_cortex/src/auth/mod.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Authentication and authorization for Córtex API
//!
//! Provides JWT-based authentication with role-based access control.
diff --git a/crates/aingle_cortex/src/auth/users.rs b/crates/aingle_cortex/src/auth/users.rs
index 28c3fdc3..928715e9 100644
--- a/crates/aingle_cortex/src/auth/users.rs
+++ b/crates/aingle_cortex/src/auth/users.rs
@@ -1,3 +1,6 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! User management and credential validation
use argon2::{
@@ -122,9 +125,15 @@ impl UserStore {
}
}
- /// Initialize with default admin user
+ /// Initialize admin user from AINGLE_ADMIN_PASSWORD environment variable.
+ /// Returns an error if the variable is not set or the password is too short.
pub fn init_default_admin(&self) -> Result {
- self.create_user("admin", "admin123", vec!["admin".into(), "user".into()])
+ let password = std::env::var("AINGLE_ADMIN_PASSWORD")
+ .map_err(|_| "AINGLE_ADMIN_PASSWORD environment variable must be set".to_string())?;
+ if password.len() < 12 {
+ return Err("Admin password must be at least 12 characters".to_string());
+ }
+ self.create_user("admin", &password, vec!["admin".into(), "user".into()])
}
}
diff --git a/crates/aingle_cortex/src/client.rs b/crates/aingle_cortex/src/client.rs
index bd575ed9..eebfdb77 100644
--- a/crates/aingle_cortex/src/client.rs
+++ b/crates/aingle_cortex/src/client.rs
@@ -1,10 +1,13 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
//! Internal Rust client for AIngle Cortex.
//!
//! Provides programmatic access to the Cortex semantic graph and Titans
//! memory system, used by WASM host functions to bridge zome code with
//! the knowledge layer.
-use aingle_zome_types::graph::{
+use crate::wasm_types::{
GraphQueryInput, GraphQueryOutput, GraphStoreInput, GraphStoreOutput,
MemoryRecallInput, MemoryRecallOutput, MemoryRememberInput, MemoryRememberOutput,
Triple, ObjectValue,
@@ -14,7 +17,7 @@ use serde::{Deserialize, Serialize};
/// Configuration for the Cortex internal client.
#[derive(Debug, Clone)]
pub struct CortexClientConfig {
- /// Base URL of the Cortex REST API (e.g., "http://127.0.0.1:8080").
+ /// Base URL of the Cortex REST API (e.g., "http://127.0.0.1:19090").
pub base_url: String,
/// Optional authentication token.
pub auth_token: Option,
@@ -25,7 +28,7 @@ pub struct CortexClientConfig {
impl Default for CortexClientConfig {
fn default() -> Self {
Self {
- base_url: "http://127.0.0.1:8080".to_string(),
+ base_url: "http://127.0.0.1:19090".to_string(),
auth_token: None,
timeout_ms: 5000,
}
@@ -276,7 +279,7 @@ impl CortexInternalClient {
Ok(MemoryRecallOutput {
results: result.results.iter().map(|r| {
- aingle_zome_types::graph::MemoryResult {
+ crate::wasm_types::MemoryResult {
id: r.id.clone(),
data: r.data.clone(),
entry_type: r.entry_type.clone(),
@@ -329,7 +332,7 @@ mod tests {
#[test]
fn test_default_config() {
let config = CortexClientConfig::default();
- assert_eq!(config.base_url, "http://127.0.0.1:8080");
+ assert_eq!(config.base_url, "http://127.0.0.1:19090");
assert!(config.auth_token.is_none());
assert_eq!(config.timeout_ms, 5000);
}
diff --git a/crates/aingle_cortex/src/cluster_init.rs b/crates/aingle_cortex/src/cluster_init.rs
new file mode 100644
index 00000000..20bcfa74
--- /dev/null
+++ b/crates/aingle_cortex/src/cluster_init.rs
@@ -0,0 +1,553 @@
+// Copyright 2019-2026 Apilium Technologies OÜ. All rights reserved.
+// SPDX-License-Identifier: Apache-2.0 OR Commercial
+
+//! Cluster initialization — public API for setting up Raft consensus.
+//!
+//! This module extracts the cluster setup logic from `main.rs` into a
+//! reusable API so it can be called both from the binary and from
+//! integration tests.
+
+#[cfg(feature = "cluster")]
+use crate::error::Error;
+#[cfg(feature = "cluster")]
+use crate::server::CortexServer;
+
+#[cfg(feature = "cluster")]
+use aingle_raft::state_machine::{ProofSnapshot, ProofSnapshotProvider};
+
+#[cfg(feature = "cluster")]
+use crate::proofs::ProofStore;
+
+#[cfg(feature = "cluster")]
+impl ProofSnapshotProvider for ProofStore {
+ fn export_proofs(&self) -> Vec {
+ self.export_proofs_sync()
+ }
+
+ fn import_proofs(&self, proofs: &[ProofSnapshot]) {
+ self.import_proofs_sync(proofs);
+ }
+}
+
+/// Configuration for cluster mode.
+#[cfg(feature = "cluster")]
+#[derive(Debug, Clone)]
+pub struct ClusterConfig {
+ /// Whether cluster mode is enabled.
+ pub enabled: bool,
+ /// Unique Raft node ID (must be > 0).
+ pub node_id: u64,
+ /// Peer REST addresses to join (empty = bootstrap single-node).
+ pub peers: Vec,
+ /// Directory for the Write-Ahead Log.
+ pub wal_dir: Option,
+ /// Shared secret for authenticating internal cluster RPCs.
+ pub secret: Option,
+ /// Whether to use TLS for inter-node communication.
+ pub tls: bool,
+ /// Path to TLS certificate PEM file (optional; auto-generated if absent).
+ pub tls_cert: Option,
+ /// Path to TLS private key PEM file (optional; auto-generated if absent).
+ pub tls_key: Option,
+}
+
+#[cfg(feature = "cluster")]
+impl ClusterConfig {
+ /// Parse cluster config from CLI arguments.
+ pub fn from_args(args: &[String]) -> Self {
+ let mut cfg = Self {
+ enabled: false,
+ node_id: 0,
+ peers: Vec::new(),
+ wal_dir: None,
+ secret: None,
+ tls: false,
+ tls_cert: None,
+ tls_key: None,
+ };
+ let mut i = 1;
+ while i < args.len() {
+ match args[i].as_str() {
+ "--cluster" => cfg.enabled = true,
+ "--cluster-node-id" => {
+ if i + 1 < args.len() {
+ cfg.node_id = args[i + 1].parse().unwrap_or(0);
+ i += 1;
+ }
+ }
+ "--cluster-peers" => {
+ if i + 1 < args.len() {
+ cfg.peers =
+ args[i + 1].split(',').map(|s| s.trim().to_string()).collect();
+ i += 1;
+ }
+ }
+ "--cluster-wal-dir" => {
+ if i + 1 < args.len() {
+ cfg.wal_dir = Some(args[i + 1].clone());
+ i += 1;
+ }
+ }
+ "--cluster-secret" => {
+ if i + 1 < args.len() {
+ cfg.secret = Some(args[i + 1].clone());
+ i += 1;
+ }
+ }
+ "--cluster-tls" => cfg.tls = true,
+ "--cluster-tls-cert" => {
+ if i + 1 < args.len() {
+ cfg.tls_cert = Some(args[i + 1].clone());
+ i += 1;
+ }
+ }
+ "--cluster-tls-key" => {
+ if i + 1 < args.len() {
+ cfg.tls_key = Some(args[i + 1].clone());
+ i += 1;
+ }
+ }
+ _ => {}
+ }
+ i += 1;
+ }
+ cfg
+ }
+
+ /// Validate the cluster configuration. Returns an error message on failure.
+ pub fn validate(&self) -> Result<(), String> {
+ if self.node_id == 0 {
+ return Err("--cluster-node-id must be > 0".into());
+ }
+ if let Some(ref secret) = self.secret {
+ if secret.len() < 16 {
+ return Err("--cluster-secret must be at least 16 bytes".into());
+ }
+ }
+ Ok(())
+ }
+}
+
+/// HTTP-based Raft RPC sender with exponential backoff.
+///
+/// Routes Raft protocol messages to target nodes via their internal HTTP
+/// endpoints (`/internal/raft/{append-entries,vote,snapshot}`).
+#[cfg(feature = "cluster")]
+pub struct HttpRaftRpcSender {
+ client: reqwest::Client,
+ cluster_secret: Option,
+ use_tls: bool,
+}
+
+#[cfg(feature = "cluster")]
+impl HttpRaftRpcSender {
+ /// Create a new sender.
+ ///
+ /// When `use_tls` is true, URLs will use `https://` and the reqwest
+ /// client will accept self-signed certificates (TOFU model, matching
+ /// the P2P transport).
+ pub fn new(cluster_secret: Option, use_tls: bool) -> Self {
+ let client = if use_tls {
+ reqwest::Client::builder()
+ .timeout(std::time::Duration::from_secs(10))
+ .danger_accept_invalid_certs(true) // TOFU — same as P2P layer
+ .build()
+ .expect("Failed to create HTTPS client for Raft RPC")
+ } else {
+ reqwest::Client::builder()
+ .timeout(std::time::Duration::from_secs(10))
+ .build()
+ .expect("Failed to create HTTP client for Raft RPC")
+ };
+ Self {
+ client,
+ cluster_secret,
+ use_tls,
+ }
+ }
+
+ fn scheme(&self) -> &str {
+ if self.use_tls {
+ "https"
+ } else {
+ "http"
+ }
+ }
+}
+
+#[cfg(feature = "cluster")]
+impl aingle_raft::network::RaftRpcSender for HttpRaftRpcSender {
+ fn send_rpc(
+ &self,
+ addr: std::net::SocketAddr,
+ msg: aingle_raft::network::RaftMessage,
+ ) -> std::pin::Pin<
+ Box<
+ dyn std::future::Future |