Acplite.Sdk 0.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Acplite.Sdk --version 0.1.1
                    
NuGet\Install-Package Acplite.Sdk -Version 0.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Acplite.Sdk" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Acplite.Sdk" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Acplite.Sdk" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Acplite.Sdk --version 0.1.1
                    
#r "nuget: Acplite.Sdk, 0.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Acplite.Sdk@0.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Acplite.Sdk&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Acplite.Sdk&version=0.1.1
                    
Install as a Cake Tool

<p align="center"> <a href="https://github.com/cristipufu/acplite"> <img src="docs/logo.svg" width="96" height="96" alt="Acplite logo"> </a> </p>

<h1 align="center">Acplite</h1>

<p align="center"> <strong>Your coding agents. One protocol away.</strong><br> Native C# / NativeAOT Agent Client Protocol (ACP) SDK and CLI bridges for <strong>Claude Code</strong>, <strong>OpenAI Codex</strong>, <strong>Grok</strong>, and <strong>Google Antigravity</strong>. </p>

<p align="center"> <a href="https://github.com/cristipufu/acplite/releases/latest"><img src="https://img.shields.io/github/v/release/cristipufu/acplite?style=flat-square&label=release&labelColor=0f172a&color=0ea5e9" alt="Latest release" height="22"></a> <a href="https://www.nuget.org/packages/Acplite/"><img src="https://img.shields.io/nuget/v/Acplite?style=flat-square&logo=nuget&logoColor=white&label=Acplite&labelColor=0f172a&color=0284c7" alt="Acplite NuGet" height="22"></a> <a href="https://www.nuget.org/packages/Acplite.Sdk/"><img src="https://img.shields.io/nuget/v/Acplite.Sdk?style=flat-square&logo=nuget&logoColor=white&label=Acplite.Sdk&labelColor=0f172a&color=0284c7" alt="Acplite.Sdk NuGet" height="22"></a> <a href="https://github.com/cristipufu/acplite/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/cristipufu/acplite/ci.yml?branch=main&style=flat-square&label=build&logo=github&logoColor=white&labelColor=0f172a" alt="Build status" height="22"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-64748b?style=flat-square&labelColor=0f172a" alt="MIT license" height="22"></a> </p>

<p align="center"> <a href="#quick-start-cli"><strong>Get started</strong></a>  ·  <a href="#supported-coding-agents">Providers</a>  ·  <a href="#c-sdk-usage">C# SDK</a>  ·  <a href="#stdio-acp-bridge-for-editors--hosts">Stdio Bridge</a>  ·  <a href="#architecture">Architecture</a> </p>

<p align="center"> <a href="#installation"><img src="https://img.shields.io/badge/Windows-0078d4?style=flat-square" alt="Windows supported" height="22"></a> <a href="#installation"><img src="https://img.shields.io/badge/macOS-334155?style=flat-square&logo=apple&logoColor=white" alt="macOS supported" height="22"></a> <a href="#installation"><img src="https://img.shields.io/badge/Linux-fcc624?style=flat-square&logo=linux&logoColor=black" alt="Linux supported" height="22"></a> </p>

<p align="center"> <sub>Claude Code · OpenAI Codex · Grok · Google Antigravity · JSON-RPC 2.0 ACP</sub> </p>


Why Acplite?

Most coding agent CLIs (claude, codex, agy) don't speak the Agent Client Protocol (ACP) natively. Acplite bridges them directly in C# with zero Node.js wrappers, so you can control any local coding agent through one unified interface:

  • One API for 4 Agents: Bridges claude, codex, grok, and agy into a single strongly-typed ACP event stream.
  • SDK + stdio Server: Embed Acplite.Sdk in your .NET app or run acplite serve <provider> for Zed, JetBrains, or Neovim.
  • Live Session Discovery & Tailing: Finds local sessions on disk and live-tails .jsonl transcripts in real time without locking files.
  • Mid-Turn Steering & Quota Probes: Steer active turns on the fly, approve tool calls, and check 5h / 7d rate-limit windows.

Supported Coding Agents

Provider ID Native CLI Protocol Bridged Local Session & Live Tail Discovery Mid-Turn Steering Quota / Usage Probe
Claude Code claude claude --print --input-format stream-json --output-format stream-json --verbose ~/.claude/projects/<slug>/*.jsonl Live user stream frame control_request (get_usage) & OAuth metadata
OpenAI Codex codex codex app-server (thread/start, thread/resume, turn/start) ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl turn/steer (expectedTurnId) account/rateLimits/read
xAI Grok grok grok --permission-mode auto agent stdio (ACP + _x.ai/*) ~/.grok/sessions/*.jsonl _x.ai/interject _x.ai/billing
Google Antigravity agy agy --conversation <id> -p --input-format stream-json --output-format stream-json ~/.gemini/antigravity-cli/brain/<id>/.system_generated/logs/transcript.jsonl Live user stream frame Session activity metadata
Generic ACP acp Any standard ACP-compliant binary over stdio session/list RPC _session/steering Standard ACP usage metadata

Installation

.NET Global Tool (acplite CLI)

dotnet tool install --global Acplite

NuGet Library (Acplite.Sdk)

dotnet add package Acplite.Sdk

Standalone Binaries

Every release also ships a single self-contained executable, built with NativeAOT, that needs no .NET runtime installed:

Platform Archive
Linux x64 acplite-linux-x64.tar.gz
Linux arm64 acplite-linux-arm64.tar.gz
macOS Intel acplite-osx-x64.tar.gz
macOS Apple Silicon acplite-osx-arm64.tar.gz
Windows x64 acplite-win-x64.zip

Quick Start (CLI)

# 1. Discover installed coding agents on your machine
acplite providers

# 2. List active & recent sessions across Claude, Codex, Grok, and Antigravity
acplite sessions
acplite sessions agy

# 3. Live-tail an active terminal session in real time
acplite tail <session-id>

# 4. Run or resume a session interactively
acplite run claude "Refactor the auth middleware to use SemaphoreSlim" --cwd /path/to/repo
acplite run agy "Add unit tests for the new parser" --session <conversation-id>

# 5. Check account rate-limit & quota windows
acplite usage

C# SDK Usage

using Acplite.Sdk;
using Acplite.Sdk.Protocol;

await using var runtime = new AcpliteRuntime();

// 1. Discover installed providers & recent local sessions
var providers = await runtime.DiscoverProvidersAsync(cancellationToken: ct);
var sessions = await runtime.DiscoverSessionsAsync(providerFilter: null, maxSessionsPerProvider: 25, ct);

// 2. Start or resume a session on any provider
await using var session = await runtime.StartSessionAsync(new AcpSessionConfig
{
    Provider = AgentProviderKind.Claude,
    WorkingDirectory = "/Users/me/project",
    SessionId = sessions.FirstOrDefault()?.SessionId,
    ResumeExisting = true,
    AutoApproveTools = false
}, ct);

// 3. Stream unified events (thinking, text deltas, tool calls, permission requests)
_ = Task.Run(async () =>
{
    await foreach (var ev in session.ReadEventsAsync(ct))
    {
        switch (ev)
        {
            case AcpThinkingDeltaEvent thought:
                Console.Write(thought.Delta);
                break;
            case AcpAssistantTextDeltaEvent text:
                Console.Write(text.Delta);
                break;
            case AcpPermissionRequestEvent perm:
                await session.RespondPermissionAsync(perm.RequestId, approved: true, cancellationToken: ct);
                break;
        }
    }
});

// 4. Send a prompt, steer mid-turn, queue next-turn messages, or interrupt
await session.SendPromptAsync("Inspect the failing tests and fix the race condition.", ct);
await session.SteerAsync("Use SemaphoreSlim instead of lock.", ct);
await session.EnqueuePromptAsync("After fixing the tests, update the XML docs.", ct);
// Or interrupt the active turn and immediately start a new turn:
// await session.InterruptAndSendPromptAsync("Stop and check the build config first.", ct);

Stdio ACP Bridge for Editors & Hosts

Run acplite serve <provider> to expose any supported CLI as a standards-compliant ACP JSON-RPC 2.0 server over stdin/stdout for Zed, JetBrains, Neovim, or any ACP host:

{
  "agent_servers": {
    "claude": {
      "command": "acplite",
      "args": ["serve", "claude"]
    },
    "codex": {
      "command": "acplite",
      "args": ["serve", "codex"]
    },
    "antigravity": {
      "command": "acplite",
      "args": ["serve", "agy"]
    },
    "grok": {
      "command": "acplite",
      "args": ["serve", "grok"]
    }
  }
}

Architecture

flowchart LR
    subgraph Hosts["ACP Hosts & .NET Apps"]
        T["Tunnelite\n(tunnelite acp)"]
        Z["ACP Editors & IDEs\n(Zed · JetBrains · Neovim)"]
        A[".NET 8 / 10 Apps\n(Acplite.Sdk)"]
    end

    subgraph Core["Acplite (NativeAOT C#)"]
        R["AcpliteRuntime\nUnified Session & Event Multiplexer"]
        B["AcpStdioServerBridge\nJSON-RPC 2.0 ACP over stdio"]
        W["TranscriptTailer\nByte-Offset FileSystemWatcher"]
    end

    subgraph Adapters["Native Provider Bridges"]
        C["ClaudeCodeAdapter\n(stream-json + control_request)"]
        X["CodexAdapter\n(codex app-server JSON-RPC)"]
        G["GrokAdapter\n(agent stdio + _x.ai/*)"]
        Y["AntigravityAdapter\n(agy stream-json + brain logs)"]
    end

    T --> R
    A --> R
    Z <-->|"stdio JSON-RPC"| B
    B --> R
    R --> W
    R --> C
    R --> X
    R --> G
    R --> Y

.NET Packages

Package Description
Acplite The acplite command-line tool and stdio ACP server bridge.
Acplite.Sdk AcpliteRuntime and native C# ACP adapters for claude, codex, grok, and agy.

Development

dotnet build -c Release
dotnet test test/Acplite.Tests -c Release --no-build

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.1 149 10/27/2026
0.2.0 150 10/27/2026
0.1.4 106 10/27/2026
0.1.3 112 10/26/2026
0.1.2 139 10/26/2026
0.1.1 151 10/26/2026
0.1.0 94 10/26/2026