imp-core 0.1.1

Agent engine for imp: loop, tools, sessions, hooks, context, and SDK
Documentation

imp-core

imp-core is the agent runtime crate for imp.

It contains the agent loop, tool registry, session persistence, context assembly, hooks, policy/mode enforcement, mana integration, and the early Rust SDK surface used by hosts that want to embed imp.

What this crate provides

  • tool-using agent loop
  • native tool registry and execution policy
  • append-only session records and branch metadata
  • context assembly, compaction, and masking support
  • hooks and extension integration points
  • mana task execution support
  • early imp_core::sdk host-facing API

Intended use

Most users should install the imp binary through Homebrew/releases and use the terminal UI or CLI shell.

Use imp-core directly if you are building a Rust host around imp's runtime or experimenting with embedded agent sessions.

Minimal SDK shape:

use imp_core::sdk::{ImpSession, Result, SessionOptions};

#[tokio::main]
async fn main() -> Result<()> {
    let mut session = ImpSession::create(SessionOptions {
        cwd: std::env::current_dir()?,
        ..Default::default()
    })
    .await?;

    session.prompt("Summarize this repository.").await?;
    session.wait().await
}

Status

The runtime is actively used by imp. The SDK is still early and may change as embedding/hostability work continues.

Repository