Novolis.Transports.LocalIpc
2026.1.11.61
dotnet add package Novolis.Transports.LocalIpc --version 2026.1.11.61
NuGet\Install-Package Novolis.Transports.LocalIpc -Version 2026.1.11.61
<PackageReference Include="Novolis.Transports.LocalIpc" Version="2026.1.11.61" />
<PackageVersion Include="Novolis.Transports.LocalIpc" Version="2026.1.11.61" />
<PackageReference Include="Novolis.Transports.LocalIpc" />
paket add Novolis.Transports.LocalIpc --version 2026.1.11.61
#r "nuget: Novolis.Transports.LocalIpc, 2026.1.11.61"
#:package Novolis.Transports.LocalIpc@2026.1.11.61
#addin nuget:?package=Novolis.Transports.LocalIpc&version=2026.1.11.61
#tool nuget:?package=Novolis.Transports.LocalIpc&version=2026.1.11.61
Novolis.Transports.LocalIpc
Framed local IPC transport for typed request/response and event-stream messaging over named pipes (Windows) or Unix domain sockets (non-Windows). Domain-agnostic — typed RPC helpers live in consumer packages (Novolis.Agent.Surface, Novolis.Avalonia.Agent.Protocol, etc.).
Install
dotnet add package Novolis.Transports.LocalIpc
Quick start — client
using Novolis.Transports.LocalIpc;
var endpoint = new LocalIpcEndpoint("novolis-audio-live");
using var client = LocalIpcTransport.CreateClient();
await using var connection = await client.ConnectAsync(endpoint);
await connection.SendAsync(new LocalIpcFrame(
Sequence: 1,
Kind: "request",
Name: "Snapshot",
Payload: Array.Empty<byte>()));
await foreach (var frame in connection.ReadAllAsync())
{
// handle response/event frames
}
Quick start — server
var endpoint = new LocalIpcEndpoint("novolis-audio-live");
await using var listener = LocalIpcTransport.CreateListener(endpoint);
while (true)
{
await using var connection = await listener.AcceptAsync();
await foreach (var frame in connection.ReadAllAsync())
{
await connection.SendAsync(new LocalIpcFrame(
frame.Sequence, "response", frame.Name, responseBytes));
}
}
Frame protocol
Each frame on the wire: 4-byte little-endian length + binary body:
longsequence- UTF-8
kind(e.g.request,response,event) - UTF-8
name(operation or event name) byte[]payload
LocalIpcFrameCodec.WriteAsync / ReadAsync handle encoding. ReadAsync returns null on clean EOF.
LocalIpcTransportKind.Auto picks named pipe on Windows, Unix socket elsewhere.
API
| Type | Role |
|---|---|
LocalIpcTransport |
CreateClient(), CreateListener(endpoint) |
LocalIpcEndpoint |
(Address, Kind) — pipe name or socket path |
LocalIpcTransportKind |
Auto, NamedPipe, UnixDomainSocket |
LocalIpcFrame |
(Sequence, Kind, Name, Payload) |
LocalIpcFrameCodec |
Stream read/write helpers |
ILocalIpcClient |
ConnectAsync → ILocalIpcConnection |
ILocalIpcConnection |
SendAsync, ReadAllAsync, IAsyncDisposable |
ILocalIpcListener |
AcceptAsync, IAsyncDisposable |
Dogfooding / apps
Used by Live Studio audio host, Novolis Agent surface, Avalonia Agent MCP UI, and AvaloniaAgentMcp session runtime.
Related
| Package | Role |
|---|---|
Novolis.Agent.Surface |
Agent host IPC + typed message helpers |
Novolis.Avalonia.Agent.Protocol |
UI agent client over default endpoint |
Novolis.Http.Client |
Remote HTTP execution (complementary) |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- No dependencies.
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Novolis.Transports.LocalIpc:
| Package | Downloads |
|---|---|
|
Novolis.Audio.Live.Protocol
MessagePack DTOs, IPC helpers, and REPL client for Novolis Audio Live. |
|
|
Novolis.Maui.Agent.Protocol
MessagePack DTOs, LocalIpc helpers, and client for the MAUI UI agent protocol (ui.*). |
|
|
Novolis.Avalonia.Agent.Protocol
MessagePack DTOs, LocalIpc helpers, and client for the Avalonia UI agent protocol (ui.*). |
|
|
Novolis.Maui.Agent
In-process MAUI UI agent host: LocalIpc ui.* protocol, tree dump, screenshot, click/type/wait. |
|
|
Novolis.Avalonia.Agent
In-process Avalonia UI agent host: LocalIpc ui.* protocol, tree dump, screenshot, click/type/wait. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.11.61 | 90 | 10/4/2026 |
| 2026.1.1.60 | 45 | 10/4/2026 |
| 2026.1.1.58 | 48 | 10/3/2026 |
| 2026.1.1.57 | 46 | 10/1/2026 |
| 2026.1.1.56 | 49 | 9/30/2026 |