Skip to content
idleaiPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

app-core

Shared Rust application state for Idle. Crux reducers manage history, workspace navigation, owned/invited sessions, resources, projections, settings/rules and subscription recovery. Hosts execute typed effects and render views; storage, transports, inference and authorization enforcement stay with their owning hosts and services.

Crate Purpose
app-core Shared events, reducers, effects and view models.
app-core-bindings BoltFFI bindings for Swift and Kotlin hosts.

Cargo downloads the versions and checksums in Cargo.lock from producer-owned GitHub releases. Host-tools owns the independent idle-protocol, idle-history and native history service packages. Portable query/result types come from idle-history; native effect adapters delegate reads to idle-history-native with its service feature disabled. This workspace owns peer activity views, branch invitation state and join preparation in peer_activity. Authorization remains with coordination/runtime services. This workspace has no renderer or VS Code dependency. Graph geometry lives in web-ui; platform actions remain in the client host. rust-toolchain.toml pins Rust and the WASM target. Install Python 3.12+ and authenticate the GitHub CLI (gh) for release downloads. Run commands from the repository root:

cargo install cargo-deny --locked --version 0.20.2
cargo run --locked -p app-core --example bootstrap
./scripts/lint.sh

For full checks, also install Swift 6.2+, a C compiler, JDK 21+ (JAVA_HOME set) and Kotlin 2.2.0 (kotlinc on PATH), then run:

cargo install boltffi_cli --locked --version 0.31.0
./scripts/check.sh

The full check runs Rust lint/tests, native and WASM builds, binding generation, and Swift/Kotlin round trips through the native library. Apple/Android device builds require their platform SDKs separately.

Check public API changes against the released extension consumer:

bash scripts/check-consumers.sh

See consumer compatibility for archive selection and checking a local consumer checkout.

Generate host bindings alone with bash scripts/build-bindings.sh; outputs go under ignored dist/. Shell protocol 15 requires matching native bindings and payload codecs. Rust and Dioxus/WASM clients depend directly on app-core.

Integration guides:

  • Runtime and native bindings — host effect loop, codecs and packaging.
  • History — selection, search, paging and recorded content.
  • Workspaces — repository bindings, members and peer activity.
  • Sessions — creation, sharing, explicit history bindings and attributed input.
  • Resources — compute/providers, model actions, progress and controller status.
  • Settings and agent rules — versioned documents, drafts, conflicts and save feedback.
  • Projections — shared inputs, activity/task/error/triage/need-input views and controller mapping.
  • Subscriptions — joins, reconnects and snapshot reconciliation.
  • Coordination protocol — public contracts and JSON Schema.

Contributor rules are in AGENTS.md; dependency policy and its documented exceptions are in deny.toml.

See repository integration for Git/GitHub reads, recorded session selection and the shell protocol 15 boundary.

Package releases

Checks select the latest compatible internal releases and reuse that selection through testing and packaging. Rebuilding a commit can select newer versions. Successful main CI starts automatic crate publication. See packaging and releases for the registry, workflow, retries and testing unpublished dependencies.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages