Add lib target to poc-agent, make poc-memory depend on it

Split poc-agent into lib + bin so its API client, types, and tool
dispatch can be imported by poc-memory. This is the foundation for
replacing claude CLI subprocess calls with direct API calls to
vllm/OpenAI-compatible endpoints.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kent Overstreet 2026-03-18 22:56:48 -04:00
parent 57fcfb472a
commit 55326a1c47
4 changed files with 20 additions and 4 deletions

4
Cargo.lock generated
View file

@ -2712,11 +2712,11 @@ dependencies = [
"memmap2",
"paste",
"peg",
"poc-agent",
"ratatui 0.29.0",
"rayon",
"redb",
"regex",
"reqwest",
"rkyv",
"serde",
"serde_json",
@ -3289,9 +3289,7 @@ dependencies = [
"base64",
"bytes",
"encoding_rs",
"futures-channel",
"futures-core",
"futures-util",
"h2",
"http",
"http-body",

View file

@ -4,6 +4,14 @@ version.workspace = true
edition = "2024"
description = "Substrate-independent AI agent framework"
[lib]
name = "poc_agent"
path = "src/lib.rs"
[[bin]]
name = "poc-agent"
path = "src/main.rs"
[dependencies]
reqwest = { version = "0.12", features = ["json"] }
serde = { version = "1", features = ["derive"] }

11
poc-agent/src/lib.rs Normal file
View file

@ -0,0 +1,11 @@
// poc-agent library — reusable components for LLM agent work
//
// The binary (main.rs) is the full interactive agent with TUI.
// This lib exposes the building blocks that other crates (poc-memory)
// can use for their own agent loops.
pub mod api;
pub mod journal;
pub mod types;
pub mod tools;
pub mod ui_channel;

View file

@ -21,7 +21,6 @@ peg = "0.8"
paste = "1"
jobkit = { git = "https://evilpiepirate.org/git/jobkit.git/" }
jobkit-daemon = { git = "https://evilpiepirate.org/git/jobkit-daemon.git/" }
reqwest = { version = "0.12", features = ["blocking", "json"] }
poc-agent = { path = "../poc-agent" }
redb = "2"
log = "0.4"