Skip to content

Add a library target so hosts can embed the agent - #4

Merged
setoelkahfi merged 3 commits into
developmentfrom
feature/embeddable-lib
Oct 9, 2026
Merged

setoelkahfi merged 3 commits into
developmentfrom
feature/embeddable-lib

Conversation

@setoelkahfi

@setoelkahfi setoelkahfi commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

src/lib.rs exposes the SplitFire profile (SplitFire, INFO, DEMUCS) and re-exports ed_acp. An app can then serve the agent in-process with ed_acp::serve instead of launching the binary. KaroKowe Jam uses this to stay inside the App Store sandbox (smbcloudXYZ/splitfire#33).

The terminal UI and the MCP test stub move behind a default cli feature, and both binaries require it. cargo install and cargo build behave as before. A host builds with default-features = false and skips ratatui and crossterm.

Tests: cargo test (all suites pass), plus clippy with and without default features.

The library only uses what ed-acp 1.1 already has. The host needs ed_acp::serve from ondeinference/ed#18 in ed-acp 1.2.

setoelkahfi and others added 3 commits October 9, 2026 12:30
Co-Authored-By: SplitFire v1.0.0-acp <noreply@splitfire.ai>
CI fmt fix and pre-commit hook.

Co-Authored-By: SplitFire v1.0.0-acp <noreply@splitfire.ai>
src/lib.rs exposes the SplitFire profile (SplitFire, INFO, DEMUCS) and
re-exports ed_acp, so an app can serve the agent in-process with
ed_acp::serve instead of launching the binary. KaroKowe Jam does this to
stay inside the App Store sandbox.

The terminal UI and the MCP test stub move behind a default `cli`
feature, and both binaries require it. A host builds with
default-features = false and doesn't pull in ratatui and crossterm.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adds a new library target exposing the SplitFire profile and re-exporting ed_acp for embedding the agent in-process. The CLI features (terminal UI and MCP stub) are moved behind a default "cli" feature, which is enabled by default to preserve existing behavior. The binaries require the "cli" feature. The library can be built with default-features = false to exclude CLI dependencies. src/lib.rs is added to expose the library API. src/main.rs is updated to use the library's exports. Cargo.toml is updated to define the "cli" feature and conditionally include binaries and dependencies.


Automated review by siGit Code Review · commit c98bdcf · see the review dashboard

@setoelkahfi
setoelkahfi requested a review from paydii October 9, 2026 13:14
@setoelkahfi setoelkahfi self-assigned this Oct 9, 2026

@paydii paydii left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅

@setoelkahfi
setoelkahfi merged commit 0e84a20 into development Oct 9, 2026
2 checks passed
@setoelkahfi
setoelkahfi deleted the feature/embeddable-lib branch October 9, 2026 13:32
@setoelkahfi setoelkahfi mentioned this pull request Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants