NightTeam.Conductor
1.0.1
dotnet add package NightTeam.Conductor --version 1.0.1
NuGet\Install-Package NightTeam.Conductor -Version 1.0.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="NightTeam.Conductor" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NightTeam.Conductor" Version="1.0.1" />
<PackageReference Include="NightTeam.Conductor" />
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 NightTeam.Conductor --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NightTeam.Conductor, 1.0.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 NightTeam.Conductor@1.0.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=NightTeam.Conductor&version=1.0.1
#tool nuget:?package=NightTeam.Conductor&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ConductorSdk
.NET SDK for connecting agents to Conductor server. Provides TCP, UDP, SSH, Serial, ADB, and Firebase communication capabilities.
Prerequisites
- .NET 8.0 or .NET 9.0 SDK
- Windows, Linux, or macOS
Installing .NET on macOS
# Via Homebrew (recommended)
brew install --cask dotnet-sdk
# Or download from: https://dotnet.microsoft.com/download
# For Intel Mac: Download x64 version
# For Apple Silicon (M1/M2/M3): Download Arm64 version
Verify installation:
dotnet --version
If dotnet: command not found:
export PATH="$PATH:/usr/local/share/dotnet"
echo 'export PATH="$PATH:/usr/local/share/dotnet"' >> ~/.zshrc
source ~/.zshrc
Installation
From NuGet (when published)
dotnet add package ConductorSdk
From Local .nupkg File
Method 1: Local NuGet Source (Recommended)
# 1. Create local packages folder
mkdir -p ~/.nuget/local # macOS/Linux
mkdir %USERPROFILE%\.nuget\local # Windows
# 2. Copy package to local folder
cp /path/to/ConductorSdk.1.0.1.nupkg ~/.nuget/local/
# 3. Add local NuGet source (one-time setup)
dotnet nuget add source ~/.nuget/local/ --name Local
# 4. Create new project
dotnet new console -n MyAgent -f net9.0
cd MyAgent
# 5. Install SDK (dependencies download from nuget.org)
dotnet add package ConductorSdk --version 1.0.1
# 6. Build and run
dotnet build && dotnet run
Method 2: Direct Package Reference
# 1. Create project
dotnet new console -n MyAgent -f net9.0
cd MyAgent
# 2. Copy package to project folder
cp /path/to/ConductorSdk.1.0.1.nupkg ./
# 3. Add current folder as NuGet source
dotnet nuget add source ./ --name LocalPkg
# 4. Install package
dotnet add package ConductorSdk --version 1.0.1
Quick Start
using ConductorSdk;
Console.WriteLine("Starting Conductor Agent...");
var config = new AgentConfig
{
ServerUrl = "http://YOUR_SERVER_IP:5000/hub", // Include /hub
AgentId = "my-agent-001",
Name = "My Agent",
HeartbeatIntervalSeconds = 30,
AutoReconnect = true
};
var agent = ConductorFactory.CreateAgent(config);
agent.OnConnectionStateChanged += (s, e) =>
Console.WriteLine($"Connection: {e.State}");
agent.OnMessageReceived += (s, e) =>
Console.WriteLine($"Message: {e.Message.Type}");
// Connect to server
await agent.ConnectAsync();
// Send a message
await agent.SendMessageAsync(new BaseMessage
{
Type = "EVENT",
Payload = new { data = "Hello from agent!" }
});
// Keep running
Console.WriteLine("Press Enter to disconnect...");
Console.ReadLine();
// Disconnect when done
await agent.DisconnectAsync();
Configuration Options
| Property | Type | Default | Description |
|---|---|---|---|
| ServerUrl | string | http://localhost:5000/hub |
Conductor server URL (must include /hub) |
| AgentId | string | required | Unique identifier for this agent |
| Name | string | null | Human-readable agent name |
| AuthToken | string | null | Authentication token |
| HeartbeatIntervalSeconds | int | 30 | Heartbeat interval in seconds |
| MaxReconnectAttempts | int | 5 | Maximum reconnection attempts |
| ReconnectDelaySeconds | int | 5 | Delay between reconnection attempts |
| AutoReconnect | bool | true | Enable automatic reconnection |
Features
TCP Client/Server
var tcpClient = agent.CreateTcpClient(new TcpClientConfig
{
Host = "192.168.1.100",
Port = 8080
});
await tcpClient.ConnectAsync();
await tcpClient.SendAsync("Hello TCP!");
tcpClient.OnDataReceived += (s, e) =>
Console.WriteLine($"Received: {Encoding.UTF8.GetString(e.Data)}");
UDP Client
var udpClient = agent.CreateUdpClient(new UdpClientConfig
{
Host = "192.168.1.100",
Port = 9000
});
udpClient.Start();
await udpClient.SendAsync("Hello UDP!");
SSH
var sshClient = agent.CreateSshClient(new SshClientConfig
{
Host = "192.168.1.100",
Username = "user",
Password = "pass"
});
await sshClient.ConnectAsync();
var result = await sshClient.ExecuteAsync("ls -la");
Serial Port
var serialClient = agent.CreateSerialClient(new SerialClientConfig
{
PortName = "COM3", // Windows
// PortName = "/dev/ttyUSB0" // Linux
// PortName = "/dev/tty.usbserial" // macOS
BaudRate = 9600
});
serialClient.Open();
await serialClient.SendAsync("AT\r\n");
Cross-Platform Paths
using ConductorSdk;
// Get platform-specific paths
var configPath = ConductorPaths.Config; // Config directory
var logsPath = ConductorPaths.Logs; // Logs directory
var cachePath = ConductorPaths.Cache; // Cache directory
// Check platform
if (ConductorPaths.IsWindows) { /* Windows-specific code */ }
if (ConductorPaths.IsLinux) { /* Linux-specific code */ }
if (ConductorPaths.IsMacOS) { /* macOS-specific code */ }
// Normalize paths for current platform
var path = ConductorPaths.NormalizePath("config/settings.json");
Path Locations
| Platform | AppData | Config | Logs |
|---|---|---|---|
| Windows | %APPDATA%\Conductor |
%APPDATA%\Conductor\config |
%APPDATA%\Conductor\logs |
| Linux | ~/.config/conductor |
~/.config/conductor/config |
~/.config/conductor/logs |
| macOS | ~/Library/Application Support/Conductor |
.../config |
.../logs |
Useful Commands
| Command | Description |
|---|---|
dotnet --version |
Check .NET version |
dotnet nuget list source |
List NuGet sources |
dotnet list package |
List installed packages |
dotnet restore |
Restore packages |
dotnet build |
Build project |
dotnet run |
Run project |
Troubleshooting
"Package not found"
# Verify NuGet sources
dotnet nuget list source
# Re-add local source
dotnet nuget add source ~/.nuget/local/ --name Local
"Unable to find dependencies"
Ensure you have internet connection for nuget.org dependencies:
dotnet nuget enable source nuget.org
Connection fails
- Verify server is running
- Check ServerUrl includes
/hubsuffix - Check firewall allows the port
- For remote access, ensure port forwarding is configured
Supported Platforms
- .NET 8.0
- .NET 9.0
- Windows (x64, x86)
- Linux (x64, Arm64)
- macOS (x64 Intel, Arm64 Apple Silicon)
License
MIT
| Product | Versions 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 is compatible. 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 was computed. 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.
-
net8.0
- AdvancedSharpAdbClient (>= 3.5.15)
- FirebaseAdmin (>= 3.0.0)
- Google.Cloud.Firestore (>= 3.4.0)
- HidLibrary (>= 3.3.40)
- Microsoft.AspNetCore.SignalR.Client (>= 9.0.0)
- SSH.NET (>= 2024.2.0)
- System.IO.Ports (>= 9.0.0)
- YamlDotNet (>= 16.2.1)
-
net9.0
- AdvancedSharpAdbClient (>= 3.5.15)
- FirebaseAdmin (>= 3.0.0)
- Google.Cloud.Firestore (>= 3.4.0)
- HidLibrary (>= 3.3.40)
- Microsoft.AspNetCore.SignalR.Client (>= 9.0.0)
- SSH.NET (>= 2024.2.0)
- System.IO.Ports (>= 9.0.0)
- YamlDotNet (>= 16.2.1)
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 |
|---|---|---|
| 1.0.1 | 44 | 12/22/2025 |